48 lines
919 B
Text
48 lines
919 B
Text
// #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";
|
|
// }
|