ox

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

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