TODO Bugs: * int fact(int i) { if (i < 2) { return i; } return (i * fact(i - 1)); } * something wrong with interactive mode after error handling - not clearing token buffer correctly? * parsing of statements not quite right - seems to optionally want extra tokens at end Implement: * operator precedence * pointer arithmetic * casts * char access/char array access/char * access Improvements: * #define with arguments * pointers to array elements and struct elements * test character array pointers and dereferencing * make printf() honour memory constraints * fix type comparison to take into account array size * fix return of array types * expression and auto-cast support for all types * change heap to use a single consistent freelist node struct * periodic heap cleanup * octal/hex character constants * see if we can use ParserCopyPos() in other places rather than copying everything Need test/debug: * all break/continue variations Also: * Remove Var parameter from HeapPopStack() once we're certain it all works