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/expressions.cskt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 boot/tests/transpile/expressions.cskt (limited to 'boot/tests/transpile/expressions.cskt') diff --git a/boot/tests/transpile/expressions.cskt b/boot/tests/transpile/expressions.cskt new file mode 100644 index 0000000..c127b9a --- /dev/null +++ b/boot/tests/transpile/expressions.cskt @@ -0,0 +1,27 @@ +precedence-aware expression emission only inserts parentheses when the +child binds more loosely than the parent expects. + +<<< + +main = fun () { + var a int = 1 + 2 * 3 + var b int = (1 + 2) * 3 + var c int = 10 - 4 - 1 + var d int = 10 - (4 - 1) + var e int = -1 + 2 + var f bool = a == b && c != 0 || d > 0 +} + +>>> + +#include "core.c" +void catskill_main(void); +void catskill_main(void) { + integer a = 1 + 2 * 3; + integer b = (1 + 2) * 3; + integer c = 10 - 4 - 1; + integer d = 10 - (4 - 1); + integer e = -1 + 2; + bool f = a == b && c != 0 || d > 0; +} +#include "runtime.c" -- cgit 1.4.1