TODO (1184B)
1 @next 2 3 [x] variables, string first, so that we can print its content; 4 [x] conditionals (basic) 5 [x] loops (basic) 6 [x] handle for loop with `i = i + 1` and `i += 1` (see ex-for-simple2 and TODO NODE_BINARY_EXPR) 7 [x] printing `-5` crashes, I think parsing is wrong for `-`, sees as value 5 8 [x] print allow more than 1 arg 9 [x] handle return values 10 [ ] print allow format 11 [x] print anything else than a string 12 [x] call another function from main, that prints something, 13 [x] call another function that prints the passed argument 14 [x] if without { } should be an error, e.g. `if(true) break;` doesn't work 15 [x] inner blocks are ignored completely { { } } 16 [ ] type checking 17 [ ] casting 18 [ ] while loops 19 [ ] typer 20 [ ] matcher 21 22 @later 23 24 [-] implement all or most of C's into libgccjit 25 [-] ARC memory management, new keyword. 26 [ ] Instantiating anything should initialise it 27 [ ] instantiating anything in a loop should be a warning (store curr_loop in ctx) 28 [ ] when as a post-fixed of a statement 29 @cruft 30 31 [x] redo arguments as list and not linked list, handle in parse and in gen (2 places in gen?) 32 [x] get rid of count_args and search for 'argc' 33 [ ] clean up symbols table from parsing to jit time 34