From: Peep P. <so...@us...> - 2004-03-28 18:20:10
|
Update of /cvsroot/agd/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1649 Modified Files: AUTHORS BUGS ChangeLog Ideas NEWS README TODO Log Message: Updates for 0.0.2-3. Index: README =================================================================== RCS file: /cvsroot/agd/server/README,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- README 20 Mar 2004 20:30:18 -0000 1.5 +++ README 28 Mar 2004 18:08:51 -0000 1.6 @@ -1,6 +1,6 @@ -------------------------------------- Adventure Game Driver - 0.0.2-2, March 20, 2004 + 0.0.2-3, March 23, 2004 http://agd.sf.net Peep Pullerits <so...@es...> -------------------------------------- Index: ChangeLog =================================================================== RCS file: /cvsroot/agd/server/ChangeLog,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- ChangeLog 21 Mar 2004 18:32:33 -0000 1.15 +++ ChangeLog 28 Mar 2004 18:08:51 -0000 1.16 @@ -1,5 +1,34 @@ 0.0.2-3: ---------------------------------------------------------------------------- +2004-03-28 + * some fixed for string ranges + * renamed F_SUBSCR to F_INDEX, F_RANGE to F_SLICE + * fix crasher in df_strlen(): check for fp->u.s. +2004-03-23 + * initial string ranges (s[m..n]) + * fixed initializing strings, now + string s; + if(s) + write("s is not empty!\n"); + works as expected. + * fixed crasher in free_fun() + * load_object() now tries to update the object's code + if that object already exists. + * changed much of the static buffers ('char buf[256]') + to dynamic. +2004-03-22 + * added type checking for init-time assign, so stuff like + string s; int i = s; + errors now. + * runtime() now correctly empties the stack + * New dfuns: read_file(), atoi() + * removed typecasts (temporarily), there's no real need for it + * configure.ac: added --enable-optimization=x, --disable-debug, + --enable-profiling + * load_object() moved to object.c; program loading done by + compile_prog() in compile.c + * unref_prog() doesn't return an int anymore, but takes + a pointer to pointer and changes it if necessary. 2004-03-21 * for() statement * added break; and continue; Index: NEWS =================================================================== RCS file: /cvsroot/agd/server/NEWS,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- NEWS 21 Mar 2004 18:32:33 -0000 1.9 +++ NEWS 28 Mar 2004 18:08:51 -0000 1.10 @@ -1,9 +1,10 @@ New things in this version (0.0.2-3) that you might find useful: + * Real string ranges like string[0..4] * for() * break; and continue; statements * New operators: **, **= * New dfuns: query_ip, query_hostname (use with caution, may block for quite a while), - asctime, strftime. + asctime, strftime, read_file, atoi. time() was changed to return seconds since Epoch. * k, m, K and M integer constants 1k = 1000, 1m = 1000000, 1K = 1024, 1M = 1048576 (1024*1024) Index: AUTHORS =================================================================== RCS file: /cvsroot/agd/server/AUTHORS,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- AUTHORS 21 Mar 2004 11:01:58 -0000 1.3 +++ AUTHORS 28 Mar 2004 18:08:51 -0000 1.4 @@ -4,6 +4,8 @@ QWhite <qw...@ho...> * the original graphics editor, some of the older client code +The original author of LPMUD and the creator of LPC: Lars Pensjö + Thanks to: Lawless and elver <ker...@ho...>, for inspiration and suggestions X-G and roots, for portability testing Index: TODO =================================================================== RCS file: /cvsroot/agd/server/TODO,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- TODO 21 Mar 2004 18:32:33 -0000 1.16 +++ TODO 28 Mar 2004 18:08:51 -0000 1.17 @@ -17,13 +17,14 @@ ! all of the operators (/doc/lpc/operators) - ',' - this takes some serious grammar-hacking - mixed type - ! string ranges (str[0..1,2..3]) + ! string slices (ranges) + !! assigning to slices (F_SLICE_LVALUE etc.) * m.. * ..n - * m..n + * m..< + * < + * m..n,m..n * !n - Need an intelligent parser for this. - - allow to define locals inside statements like: create() { write("\n"); int i; i = 1; int j; j = 2; } And maybe disable this with #pragma traditional-lpc ? @@ -33,25 +34,35 @@ definitions and if anything is found, it opens up another buffer (pushes it on flex's stack), containing the macro replacement, which will then get parsed again. if no macros match, REJECT() is called and flex tries to match with next available rule - - predefined names: - #define __AGD__ 1 - #define __VERSION__ PACKAGE_VERSION - Also possible: - #define __AGD_MAJOR__ 0 - #define __AGD_MINOR__ 0 - #define __AGD_SUBMINOR__ 2 - #define __AGD_PATCHLEVEL__ 3 - But these are quite pointless at this time. - #define __ARCH__ PLATFORM - #define __HOST__ the return value of gethostname() - #define __AUTHORS__ ? :) + - #pragma + warnings + low-warnings + no-warnings + - #define name value + - #define name(x) value x + - #include, #ifdef, #else, #endif + - #if + - defined() + - have_dfun() + - !, &&, || + - #elsif + - predefined names: + #define __AGD__ 1 + #define __VERSION__ PACKAGE_VERSION + Also possible: + #define __AGD_MAJOR__ 0 + #define __AGD_MINOR__ 0 + #define __AGD_SUBMINOR__ 2 + #define __AGD_PATCHLEVEL__ 3 + But these are quite pointless at this time. + #define __ARCH__ PLATFORM + #define __HOST__ the return value of gethostname() + #define __AUTHORS__ ? :) - character encoding inside strings: - decimal: \nnn - octal: \0onnn - hexadecimal: \0xnn - binary: \0bnnnnnnnn - - mudlib: - /update command - better logging system - print time using strftime() - log using lib's facilities (master::log()?) @@ -72,16 +83,27 @@ int foo(int i, int j = 1); - string table for each program, and F_PUSH_STRING takes index into the table - clean up includes, not everything needs everything in std.h and lpc_incl.h, etc. - - make maintainer-clean should also remove src/dfparse.output and src/lang.output + - make maintainer-clean: + should also remove src/dfparse.output and src/lang.output + shouldn't delete src/dfparse.h and src/lang.h - compile-time eval for < > <= >= == != ! - lang.y: compare_args(): 0 should be any valid type (shout("a", 0) should be ok) - or maybe use NULL or nil - if we crash while running apply(master::crash), then we should rerun with debugging on - - define DEBUG and set CFLAGS to -g with "./configure --enable-debug" - IPv6 support? - realloc wrapper - - make maintainer-clean shouldn't delete src/dfparse.h and src/lang.h - some terminals don't support \t, find out if it is possible to check for it, and then print out 8 spaces instead. - on 64-bit, increase cp as a void* type. + - destruct() - take object from all_objects and move to list_t *dested_objects; + then destruct_all() in net.c has less objects to traverse + - rename interactivep() to either + 1) isinteractive() + 2) isia() + 3) interactive() + - in the variable_t struct, + char inited should be or'ed to the type (T_INITED | T_INT) + remove string_type and add types T_STRINGD, T_STRINGST (dynamic and static, later T_STRINGSH, shared.) + - configure.ac: set YFLAGS to "--debug" or "-t" with ./configure --enable-bison-debug + - display stack trace (with line numbers and functions) when getting a runtime error Index: Ideas =================================================================== RCS file: /cvsroot/agd/server/Ideas,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Ideas 21 Mar 2004 08:56:42 -0000 1.5 +++ Ideas 28 Mar 2004 18:08:51 -0000 1.6 @@ -1,4 +1,4 @@ -This file contains features that are not necessary, but would be cool to have. +This file contains features that will be or will be not in AGD in the future. lpc: * if(x == 1 || == 2 && != 3) * Argument type grouping @@ -9,10 +9,10 @@ For example: unlimited { int i; - while(+i < 100k); + while(i++ < 100k); } This would go over normal eval_cost. - Unlimited allow for longer execution, and stopping + Unlimited allows for longer execution, stopping only when going after hard eval_cost. hard eval_cost should be like 10 times bigger than soft eval_cost. This statement should be privileged to system Index: BUGS =================================================================== RCS file: /cvsroot/agd/server/BUGS,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- BUGS 21 Mar 2004 16:37:06 -0000 1.9 +++ BUGS 28 Mar 2004 18:08:51 -0000 1.10 @@ -35,5 +35,8 @@ - crashes on Solaris/SPARC with a SIGSEGV somewhere between lines 190 and 199 in net.c (don't have gdb on that host). - + - on 64-bit, the interpreter fails miserably - I think the code pointer (int *cp) is + incremented by 4 bytes, when it should be incremented by 8. + - main problem - leaks memory in quite some places. + - continue from here.. |