From: Peep P. <so...@us...> - 2004-06-08 20:51:46
|
Update of /cvsroot/agd/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16908 Modified Files: ChangeLog TODO Log Message: Updates. Index: TODO =================================================================== RCS file: /cvsroot/agd/server/TODO,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- TODO 7 Jun 2004 15:50:19 -0000 1.19 +++ TODO 8 Jun 2004 20:50:40 -0000 1.20 @@ -2,36 +2,41 @@ '!' means first-priority, '?' means trivial and not really important. - - dfparse.y: remove argument variants. Use combinations of mixed type and function overloading - - dfparse.y and dfdecl.in: remove all the c-name stuff, it's always "df_" + name - ? remove all the typedefs for the structs etc? Currently it's bad style. + ! new interpreter! + + lang.y: + ! pop locals after leaving block + - do int i while(1); should either not be allowed + syntactically or should pop after it pushes + ! break, continue + ! remove all the shift/reduce conflicts + - compile.c::compile_prog() should show global vars - debug.c::print_code() should show functions' arguments - ! new interpreter! + - Do something about compile.c::pop_scope() - it's slow. + + - New configuration parser. + - Change 'errorlog' to just 'log', or change debug() to be an error + logging facility, or remove the option completely. + - Default error level option. + - For lib: option - if it doesn't end in /, add it. + + - Build system. + * make maintainer-clean + should also remove src/dfparse.output and src/lang.output + shouldn't delete src/dfparse.h and src/lang.h + ? optimize string tables - remove repetitions - ! lang.y: while, for, break, continue - fix lvalues - test operators: - && || ?: - documentation: * Small textbook about AGD's dialect of LPC * Short text describing main differences between LPC and C * Short text describing AGD and it's purposes, mainly for people coming from the AGI community. - - syntax highlighting scripts for AGD's LPC (vim, emacs) - - the famous host lookup daemon, so gethostbyaddr() won't block. Or maybe a separate thread with libpthread? - - New configuration parser. - - Change 'errorlog' to just 'log', or change debug() to be an error - logging facility, or remove the option completely. - - Default error level option. - - For lib: option - if it doesn't end in /, add it. - - Hash tables (mappings) for define_id in compile.c and the function lookup - table (prog->nametable), for O(1) instead of O(n) lookup. - allow both .c and .lpc for file extensions (/usr/bin/file could recognize LPC, and editors can turn on syntax highlighting automatically) @@ -43,10 +48,6 @@ - normal runtime - display stack trace (with line numbers and functions) when getting a runtime error - keep interactive objects in a separate linked list, and make shout act on that list - - Build system. - * make maintainer-clean - should also remove src/dfparse.output and src/lang.output - shouldn't delete src/dfparse.h and src/lang.h - LPC: ! arrays (T_ARRAY) - foreach(), switch() @@ -99,7 +100,9 @@ - binary: \0bnnnnnnnn - multiline strings -? better logging system + ? Better function lookup table (prog->nametable)? O(1) would be nice. + + ? better logging system - print time using strftime() - log using lib's facilities (master::log()?) - different prefixes have different debuglevels Index: ChangeLog =================================================================== RCS file: /cvsroot/agd/server/ChangeLog,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ChangeLog 7 Jun 2004 15:50:19 -0000 1.18 +++ ChangeLog 8 Jun 2004 20:50:40 -0000 1.19 @@ -1,5 +1,23 @@ 0.0.3: ---------------------------------------------------------------------------- +2004-06-08 + * compile.c: redeclaration is now more sane. Also fixed crasher in + redeclaration_error() - didn't allocate enough space for strcat() + * compile.c: new define_id system uses hash tables + * object.h,compile.c,debug.c: function_t's code array is now short int, + not long. + * lang.y: call_other now uses index into string table as the function + name + * dfuns.c: changed dfuns_init() to use new structure of dfdecl.h + * dfparse.y: raised version to 0.09, see ChangeLog in src/dfparse.y + * lang.y: statements like 'do write("\n") while(1);' now work (i.e. a + single statement outside a block) + * lang.y: fixed while(), do..while(), for(), lvalues + * compile.c: readded checking of complying return type - functions like + "int foo() { }" now push an empty value on the stack. + * lang.y: fixed &&, || and ?: operators + * compile.c: when an identifier goes out of scope, the corresponding + counter is now decreased. This fixes indexes of defined id's. 2004-06-04 * dfdecl.in,dfuns.c: throw() dfun * various: removed references to type_xmalloc, was a silly thing |