116 lines
4.0 KiB
Plaintext
116 lines
4.0 KiB
Plaintext
[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
|