From b0acce3b858715a04fba154a23c6ea5fac083a74 Mon Sep 17 00:00:00 2001 From: Mel Date: Tue, 22 Jul 2025 19:29:21 +0200 Subject: Add option to test suite to auto-adjust expected output in definition Signed-off-by: Mel --- boot/tests/parse/loops.cskt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 boot/tests/parse/loops.cskt (limited to 'boot/tests/parse') diff --git a/boot/tests/parse/loops.cskt b/boot/tests/parse/loops.cskt new file mode 100644 index 0000000..45b1040 --- /dev/null +++ b/boot/tests/parse/loops.cskt @@ -0,0 +1,31 @@ +looping structures! + +<<< + +for i uint = 0..10 { + print(i) +} + +for x uint = 0, x < 10, x++ { + print(r) +} + +var y uint = 0 +while y < 10 { + print(y) + y++ +} + +>>> + +(loop for-each (declaration i (type name uint) (initializer (expr (binary .. (expr 0) (expr 10))))) (block + (expr (call (expr (name print)) (arg (expr (name i))))) +)) +(loop c-style (declaration x (type name uint) (initializer (expr 0))) (condition (expr (binary < (expr (name x)) (expr 10)))) (iteration (expr (increment/decrement ++ postfix (expr (name x))))) (block + (expr (call (expr (name print)) (arg (expr (name r))))) +)) +(variable (declaration y (type name uint) (initializer (expr 0)))) +(loop while (condition (expr (binary < (expr (name y)) (expr 10)))) (block + (expr (call (expr (name print)) (arg (expr (name y))))) + (expr (increment/decrement ++ postfix (expr (name y)))) +)) \ No newline at end of file -- cgit 1.4.1