feat: improved parsing and regression test suite

This commit is contained in:
Brett Broadhurst 2026-02-27 18:07:02 -07:00
parent 4ebdd3c66e
commit 619eb3b338
Failed to generate hash of commit
39 changed files with 1116 additions and 339 deletions

View file

@ -0,0 +1,27 @@
// RUN: %ink-compiler --stdin --compile-only --dump-ast < %s | FileCheck %s
// CHECK: File "<STDIN>"
// CHECK-NEXT: `--BlockStmt <line:23, line:27>
// CHECK-NEXT: |--TempDecl <line:23, col:3:13>
// CHECK-NEXT: | |--Identifier `x` <col:8, col:9>
// CHECK-NEXT: | `--NumberLiteral `2` <col:12, col:13>
// CHECK-NEXT: `--ContentStmt <line:25, col:1:48>
// CHECK-NEXT: `--Content <col:1, col:48>
// CHECK-NEXT: `--IfStmt <line:25, line:27>
// CHECK-NEXT: |--LogicalAndExpr <col:2, col:20>
// CHECK-NEXT: | |--LogicalGreaterThanOrEqualExpr <col:2, col:8>
// CHECK-NEXT: | | |--Identifier `x` <col:2, col:3>
// CHECK-NEXT: | | `--NumberLiteral `1` <col:7, col:8>
// CHECK-NEXT: | `--LogicalLesserThanOrEqualExpr <col:13, col:20>
// CHECK-NEXT: | |--Identifier `x` <col:13, col:14>
// CHECK-NEXT: | `--NumberLiteral `10` <col:18, col:20>
// CHECK-NEXT: `--BlockStmt <line:26, line:26>
// CHECK-NEXT: `--ContentStmt <line:26, col:5:25>
// CHECK-NEXT: `--Content <col:5, col:25>
// CHECK-NEXT: `--StringLiteral `Between one and ten!` <col:5, col:25>
~ temp x = 2
{x >= 1 and x <= 10:
Between one and ten!
}