// #module_parameters(RUN_TESTS := false); #load "parser.jai"; #load "interp.jai"; #scope_module; // exported to the entire module since we want these everywhere mem :: #import "jc/memory"; array :: #import "jc/array"; kv :: #import "jc/kv"; basic :: #import "Basic"; // @future strings :: #import "String"; // @future #scope_file; #run { parser: Parser; init(*parser, context.allocator); ok := parse_string(*parser, #string END fn add(x, y) do return x + y end fn sub(x, y) do return x - y end var x = 11.0 var y = 22.0 var z = x + y * 2.0 / 3.0 var w = add(x, y) print x // 10 print y // 20 print z // 23.3 print w // 30 // print z END); interp: Interp; interp.toplevel = parser.toplevel; init(*interp, context.allocator); interp_program(*interp); } // #if RUN_TESTS { // test :: #import "jc/test"; // }