From: Peep P. <so...@us...> - 2004-06-20 14:05:26
|
Update of /cvsroot/agd/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1867 Modified Files: TODO ChangeLog Log Message: Changes. What can I say? Index: TODO =================================================================== RCS file: /cvsroot/agd/server/TODO,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- TODO 12 Jun 2004 20:13:12 -0000 1.22 +++ TODO 20 Jun 2004 14:05:16 -0000 1.23 @@ -1,22 +1,25 @@ Not necessarily in order of importance. '!' means first-priority, '?' means trivial and not really important. +'<' means low priority + + - allow 'string foo; foo[0]="a";' + - sprintf and printf - Interpreter. - - F_PUSH_NUM_INT <constant> <number> - - F_POP_N <number> - pops <number> elements off the stack - - runtime() for dfuns (doesn't display line numbers) - - display stack trace (with line numbers and functions) when getting a runtime error + ? F_PUSH_NUM_INT <constant> <number> + ? F_POP_N <number> - pops <number> elements off the stack + < runtime() for dfuns (doesn't display line numbers) + < display stack trace (with line numbers and functions) when getting a runtime error lang.y: - - do int i while(1); should either not be allowed - syntactically or should pop after it pushes ! break, continue + ! fix L_SLICE_LVALUE - - compile.c::compile_prog() should show global vars - - debug.c::print_code() should show functions' arguments + < compile.c::compile_prog() should show global vars + < debug.c::print_code() should show functions' arguments - - Do something about compile.c::pop_scope() - it's slow. + - Do something about compile.c::pop_scope() - it's slow (well, algorithmically speaking, at least). - New configuration parser. - Change 'errorlog' to just 'log', or change debug() to be an error @@ -50,7 +53,7 @@ - all of the operators (/doc/lpc/operators) - ',' - this takes some serious grammar-hacking, because comma as a function call argument is a separator for expressions. - ? mixed type + - mixed type - string slices (ranges) ! assigning to slices (F_SLICE_LVALUE etc.) - Check if assigning too long a string. @@ -91,22 +94,22 @@ #define __AUTHORS__ ? :) - character encoding inside strings: - decimal: \nnn - - octal: \0onnn + - octal: \0nnn - hexadecimal: \0xnn - - binary: \0bnnnnnnnn + - binary: \nnnnnnnnb - multiline strings ? Better function lookup table (prog->nametable)? O(1) would be nice. - ? better logging system + - better logging system - print time using strftime() - log using lib's facilities (master::log()?) - different prefixes have different debuglevels - save to different files ? only report undeclared identifiers once (this is generally a Bad Thing) - ? warn about unused variables - ? initialization of global variables - ? dfun overrides, :: operator + - warn about unused variables + - initialization of global variables + - dfun overrides, :: operator ? check for lib root and folder of debug log with access() and exit gracefully if it fails. ? if we crash while running apply(master::crash), then we should rerun with debugging on Index: ChangeLog =================================================================== RCS file: /cvsroot/agd/server/ChangeLog,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- ChangeLog 12 Jun 2004 20:13:12 -0000 1.20 +++ ChangeLog 20 Jun 2004 14:05:16 -0000 1.21 @@ -1,5 +1,16 @@ 0.0.3: ---------------------------------------------------------------------------- +2004-06-15 + * interpret.c: TAKE_SLICE is now a function instead of a macro + GET_ARGS changed: arg[0] is now the FIRST argument and + arg[1] is the SECOND, not vice versa. sanity! +2004-06-14 + * dfuns.c: input_to now checks for this_player - fixes crash + * interpret.c,lang.y: F_INDEX and F_INDEX_LVALUE work again. + * various: removed xfree - useless. + * lex.l: __VERSION__ and __ARCH__ now stringdup the strings before + returning - the strings could go into a program's string table, where + they get freed. 2004-06-12 * lang.y: lvalues work again * lang.y: removed the hacky rules to have statements without semicolons; |