From ac696b22b3f03ae9670a9d1d154ce7ff848b5e55 Mon Sep 17 00:00:00 2001 From: Mel Date: Wed, 6 May 2026 18:48:56 +0200 Subject: Tests for new IR transpiler Signed-off-by: Mel --- boot/tests/transpile/loops.cskt | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 boot/tests/transpile/loops.cskt (limited to 'boot/tests/transpile/loops.cskt') diff --git a/boot/tests/transpile/loops.cskt b/boot/tests/transpile/loops.cskt new file mode 100644 index 0000000..d6493d9 --- /dev/null +++ b/boot/tests/transpile/loops.cskt @@ -0,0 +1,43 @@ +while loops are 1:1; c-style and range for-each both desugar to +a `{ var; while { body; iter; } }` block. + +<<< + +main = fun () { + var i int = 0 + while i < 10 { + i++ + } + for j int = 0, j < 5, j++ { + var k int = j + } + for r int = 0..3 { + var s int = r + } +} + +>>> + +#include "core.c" +void catskill_main(void); +void catskill_main(void) { + integer i = 0; + while (i < 10) { + i = i + 1; + } + { + integer j = 0; + while (j < 5) { + integer k = j; + j = j + 1; + } + } + { + integer r = 0; + while (r < 3) { + integer s = r; + r = r + 1; + } + } +} +#include "runtime.c" -- cgit 1.4.1