ox

The Ox programming language, compiler and tools (WIP)
Log | Files | Refs | README | LICENSE

TODO (1184B)



@next

[x] variables, string first, so that we can print its content;
[x] conditionals (basic)
[x] loops (basic)
[x] handle for loop with `i = i + 1` and `i += 1` (see ex-for-simple2 and TODO NODE_BINARY_EXPR)
[x] printing `-5` crashes, I think parsing is wrong for `-`, sees as value 5
[x] print allow more than 1 arg
[x] handle return values
[ ] print allow format
[x] print anything else than a string
[x] call another function from main, that prints something,
[x] call another function that prints the passed argument
[x] if without { } should be an error, e.g. `if(true) break;` doesn't work
[x] inner blocks are ignored completely { { } }
[ ] type checking
[ ] casting
[ ] while loops
[ ] typer
[ ] matcher

@later

[-] implement all or most of C's into libgccjit
[-] ARC memory management, new keyword.
[ ] Instantiating anything should initialise it
[ ] instantiating anything in a loop should be a warning (store curr_loop in ctx)
[ ] when as a post-fixed of a statement
@cruft

[x] redo arguments as list and not linked list, handle in parse and in gen (2 places in gen?)
[x] get rid of count_args and search for 'argc'
[ ] clean up symbols table from parsing to jit time