diff --git a/TODO b/TODO index f335e82..ebe5a73 100644 --- a/TODO +++ b/TODO @@ -1,38 +1,18 @@ TODO -Bugs: -* something wrong with interactive mode after error handling - not clearing token buffer correctly? - -* interactive mode sometimes bombs out - eg. "printf("fred\n", zorch);" - -* parsing of statements not quite right - seems to optionally want extra tokens at end - eg. "while (1) {" then end of file - eg. "test" then end of file - 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 -* getchar()/gets() tests * new/delete heap allocation - -Also: -* Remove Var parameter from HeapPopStack() once we're certain it all works