added lox test files

This commit is contained in:
Moritz Gmeiner 2024-08-03 02:44:12 +02:00
commit 0f3d0a15f0
268 changed files with 7497 additions and 3 deletions

View file

@ -0,0 +1,2 @@
// [line 2] Error at 'class': Expect expression.
while (true) class Foo {}

View file

@ -0,0 +1,19 @@
var f1;
var f2;
var f3;
var i = 1;
while (i < 4) {
var j = i;
fun f() { print j; }
if (j == 1) f1 = f;
else if (j == 2) f2 = f;
else f3 = f;
i = i + 1;
}
f1(); // expect: 1
f2(); // expect: 2
f3(); // expect: 3

View file

@ -0,0 +1,2 @@
// [line 2] Error at 'fun': Expect expression.
while (true) fun foo() {}

View file

@ -0,0 +1,10 @@
fun f() {
while (true) {
var i = "i";
fun g() { print i; }
return g;
}
}
var h = f();
h(); // expect: i

View file

@ -0,0 +1,9 @@
fun f() {
while (true) {
var i = "i";
return i;
}
}
print f();
// expect: i

21
lox.t/while/syntax.lox Normal file
View file

@ -0,0 +1,21 @@
// Single-expression body.
var c = 0;
while (c < 3) print c = c + 1;
// expect: 1
// expect: 2
// expect: 3
// Block body.
var a = 0;
while (a < 3) {
print a;
a = a + 1;
}
// expect: 0
// expect: 1
// expect: 2
// Statement bodies.
while (false) if (true) 1; else 2;
while (false) while (true) 1;
while (false) for (;;) 1;

View file

@ -0,0 +1,2 @@
// [line 2] Error at 'var': Expect expression.
while (true) var foo;