[Nasal-cvs] code.c code.h codegen.c debug.c iolib.c lex.c lib.c
nasal-bin.c
Andy Ross
andy at plausible.org
Wed Aug 30 08:49:44 PDT 2006
Update of /home/nasal-cvs/nasal/src
In directory purr:/tmp/cvs-serv24001/src
Modified Files:
code.c code.h codegen.c debug.c iolib.c lex.c lib.c
nasal-bin.c
Log Message:
Fix context leak in naSubContext().
Add missing "b" flags to fopen() for windows.
Fix bug where the lexer couldn't handle numbers begining with "."
Fix unary minus issue with parsing expressions like "a+-1".
Big one: just remove the whole tail call optimization. Melchior found
yet another bug related to it (a return from within a foreach() would
cause a "slip" on the operand stack). And it only existed to improve
the performance numbers in an artificial Fibonacci number benchmark.
Because Nasal lacks LISP's list structure, true tail recursive code is
actually fairly rare. Basically, it was causing too many "gotcha"
situations (like the missing parent in caller() when the function was
a tail call) to be worth the extra complexity.
More information about the nasal-cvs
mailing list