my foo = 1; if 1 { say foo; } say 1 + 1; #my foo = [1 2 3]; # Prints num of elements in foo #assert "TT_INTEGER" == type say integer foo; #my bar = [1 2 3]; # Prints num of elements in bar #assert "TT_DOUBLE" == type say double bar; #my baz = [1 2 3]; # Prints num of elements in baz #assert "TT_STRING" == type say string baz; # Prints "1 3 5 6\n" #say [1 3 5 6]; #my foo = 2 * 3 + 1.2; Token (org=1, id=00000, line=00002, pos=0003, type=TT_MY, val=my, ival=0, dval=0.000000, refs=1) Token (org=1, id=00001, line=00002, pos=0007, type=TT_IDENT, val=foo, ival=0, dval=0.000000, refs=1) Token (org=1, id=00002, line=00002, pos=0009, type=TT_ASSIGN, val==, ival=0, dval=0.000000, refs=1) Token (org=1, id=00003, line=00002, pos=0011, type=TT_INTEGER, val=1, ival=1, dval=0.000000, refs=1) Token (org=1, id=00004, line=00002, pos=0012, type=TT_SEMICOLON, val=;, ival=0, dval=0.000000, refs=1) Token (org=1, id=00005, line=00004, pos=0003, type=TT_IF, val=if, ival=0, dval=0.000000, refs=1) Token (org=1, id=00006, line=00004, pos=0005, type=TT_INTEGER, val=1, ival=1, dval=0.000000, refs=1) Token (org=1, id=00007, line=00004, pos=0007, type=TT_PARANT_CL, val={, ival=0, dval=0.000000, refs=1) Token (org=1, id=00008, line=00005, pos=0005, type=TT_IDENT, val=say, ival=0, dval=0.000000, refs=1) Token (org=1, id=00009, line=00005, pos=0009, type=TT_IDENT, val=foo, ival=0, dval=0.000000, refs=1) Token (org=1, id=00010, line=00005, pos=0010, type=TT_SEMICOLON, val=;, ival=0, dval=0.000000, refs=1) Token (org=1, id=00011, line=00006, pos=0002, type=TT_PARANT_CR, val=}, ival=0, dval=0.000000, refs=1) Token (org=1, id=00012, line=00008, pos=0004, type=TT_IDENT, val=say, ival=0, dval=0.000000, refs=1) Token (org=1, id=00013, line=00008, pos=0006, type=TT_INTEGER, val=1, ival=1, dval=0.000000, refs=1) Token (org=1, id=00014, line=00008, pos=0008, type=TT_ADD, val=+, ival=0, dval=0.000000, refs=1) Token (org=1, id=00015, line=00008, pos=0010, type=TT_INTEGER, val=1, ival=1, dval=0.000000, refs=1) Token (org=1, id=00016, line=00008, pos=0011, type=TT_SEMICOLON, val=;, ival=0, dval=0.000000, refs=1) DEBUG(Track: ./src/core/interpret.c:_program:166) DEBUG(Token: my) DEBUG(Track: ./src/core/interpret.c:_statement:448) DEBUG(Token: my) DEBUG(Track: ./src/core/interpret.c:_proc_decl:380) DEBUG(Token: my) DEBUG(Track: ./src/core/interpret.c:_func_decl:414) DEBUG(Token: my) DEBUG(Track: ./src/core/interpret.c:_var_decl:181) DEBUG(Token: my) DEBUG(Track: ./src/core/interpret.c:_var_assign:216) DEBUG(Token: foo) DEBUG(Track: ./src/core/interpret.c:_compare:640) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_sum:691) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_product:742) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_product2:780) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_term:814) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_var_list:260) DEBUG(Token: ;) DEBUG(Track: ./src/core/interpret.c:_statement:448) DEBUG(Token: if) DEBUG(Track: ./src/core/interpret.c:_proc_decl:380) DEBUG(Token: if) DEBUG(Track: ./src/core/interpret.c:_func_decl:414) DEBUG(Token: if) DEBUG(Track: ./src/core/interpret.c:_var_decl:181) DEBUG(Token: if) DEBUG(Track: ./src/core/interpret.c:_control:507) DEBUG(Token: if) DEBUG(Track: ./src/core/interpret.c:_compare:640) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_sum:691) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_product:742) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_product2:780) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_term:814) DEBUG(Token: 1) DEBUG(Track: ./src/core/interpret.c:_program:166) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_statement:448) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_proc_decl:380) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_func_decl:414) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_var_decl:181) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_control:507) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_expression:483) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_compare:640) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_sum:691) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_product:742) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_product2:780) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_term:814) DEBUG(Token: say) DEBUG(Track: ./src/core/interpret.c:_compare:640) DEBUG(Token: foo) DEBUG(Track: ./src/core/