qse/ase/change.log
2008-07-23 07:12:56 +00:00

123 lines
4.2 KiB
Plaintext

[0.3.4]
* enhanced the AWK interpreter to be more compatible to AWK
- no more semicolon needed to terminate a statement with ASE_AWK_NEWLINE on.
* removed the ASE_AWK_STRCONCAT option.
* added the ASE_AWK_BXOR option.
[0.3.3]
* enhanced the AWK interpreter to allow multiple BEGIN/END blocks.
* enhanced the parser to handle ("abc" ++ k) as ("abc" . ++k) when
ASE_AWK_IMPLICIT is on.
* fixed a memory leak bug in the following context.
BEGIN {
d = 90;
x[30] = d;
/* Reference count for d was not properly decremented
* when a map slot is assigned with the same value as
* the previous value. */
x[30] = d;
}
* fixed a control-flow bug in the following context.
function error() { exit (1); }
function getx()
{
if (x == 2) error();
return x++;
}
function gety() { return y++; }
BEGIN {
x = 0;
y = 0;
print getx() + gety();
print getx() + gety();
/* this following line should not have been printed as
* exit() is executed in getx(). */
print getx() + gety();
print getx() + gety();
}
* redefined the variable scope
* removed ASE_AWK_UNIQUEFN and ASE_AWK_SHADING by refining the scoping rule
* fixed a bug in handling >> when ASE_AWK_SHIFT is off
* added ASE_AWK_EVARRED
* added five operators - <<=, >>=, &=, ^=, |=
[0.3.2]
* fixed a build problem for x64 target in MSVC2005
[0.3.1]
* added to the awk interpreter the capibility to manipulate global variables
- added ase_awk_addglobal, ase_awk_delglobal (awk/parse.c)
- added Awk::addGlobal, Awk::deleteGlobal (awk/Awk.hpp, awk/Awk.cpp)
- added Awk::Run::setGlobal, Awk::Run::getGlobal (awk/Awk.hpp, awk/Awk.cpp)
- added Awk::AddGlobal, Awk::DeleteGlobal (net/Awk.hpp, net/Awk.cpp)
- added Awk::Run::SetGlobal, Awk::Run::GetGlobal (net/Awk.hpp, net/Awk.cpp)
- enhanced ase_awk_getglobalname
* added three new options - ASE_AWK_RESET, ASE_AWK_MAPTOVAR, ASE_AWK_PABLOCK
* enhanced Awk::dispatchFunction to set a more accurate error code (awk/Awk.cpp)
* enhanced the JNI binding to integrate most of the changes so far.
* fixed a bug
- memory leak if a null statement or a block with no statements are
present in an AWK program. (awk/parse.c)
- memery leak if a return value is set by an intrinsic function
but it ends up with an error. (awk/run.c - eval_call)
* changed the access modifier for the Awk::Source::Source from public
to protected.
* renamed ase_awk_addbfn & ase_awk_delbfn to ase_awk_addfunc & ase_awk_delfunc
respectively.
* started the source code documentation of awk/Awk.hpp.
* enhanded test programs.
[0.3.0]
* added ase_awk_setword to enable customization of keywords and
intrinsic function names.
* added ase_awk_seterrmsg to set the error message to be any string given
* added setWord/unsetWord method to the awk c++ class (awk/Awk.cpp)
* added setErrorString method to the awk c++ class (awk/Awk.cpp)
* added setWord/unsetWord method to the awk java class (awk/Awk.java)
* added the error code ASE_AWK_ELXDIG to indicate a wrong digit in
octal number tokenization.
* added setWord/unsetWord method to the awk com module (com/Awk.cpp)
* added the .NET interface to the awk interpreter (net/Awk.cpp net/StdAwk.cpp)
* changed the wrong macro name WIN32 to _WIN32 in utl/stdio.h
* changed test/awk/Awk.cpp to include an option(-w) to utilize
the setWord method.
* changed test/awk/AseAwk.java to include an option(-w) to utilize
the setWord method.
* enhanced awk/map.c to support automatic rehashing
[0.2.0]
* fixed bug (nextofile shown as nextfile in source output)
* fixed bug (nextofile not allowed in the BEGIN and END block)
* fixed bug (ASE_MALLOC/ASE_FREE defined wrongly causing sample programs
to crash in the debug mode when compiled with MSVC/C++.
* fixed bug (the first character of the next record lost when RS are
multiple characters)
* fixed bug (the last field of the last record lost when RS are
multiple characters)
* added awk c++ classes (awk/Awk.hpp awk/Awk.cpp awk/StdAwk.hpp awk/StdAwk.cpp)
* added c++ sample program (test/awk/Awk.cpp)
* changed test/awk/AseAwk.java to be funtionally identical to test/awk/Awk.cpp
* changed the way to invoke the main function (utl/main.h utl/main.c)
[0.1.0]
* initial release