unify/optimize ascii/asciiz/byte/halfword/word into BIN directives also lex strings to binary strings, why not more useful string escapes e.g. \x ;pseudo-instr for offsets not within 0x8000 range? addiu at, t0, 0x7FFF sb t1, 0x62FE(at) ;versus sb t1, r0+0xE2FD(t0) directive aliases, are these right? DB = 'BYTE', DH = 'HALFWORD', DW = 'WORD', add basic command-line interface (patch.lua) add a gameshark writer improve writer performance (just copypaste what you did in patch.lua) allow generation of shared object files (zelda overlays specifically) -> http://wiki.cloudmodding.com/oot/Overlays#Relocation_Entry_Format macros: add 'em implement push/pop/jpop as macros be able to point to specific args of push/pop using variables procrastinating the heck over: lex expressions in Lexer instead of its own separate lexer write tests for everything (try to focus on code paths and edge cases) make breaking changes to syntax for the sake of macros, expressions etc. (and keep a branch with the old syntax for good measure, feature-frozen) low priority: improve parser terminology add delay slot warnings externally document more stuff like syntax add file-reading directives (e.g. for automatic hook injection macros)