Version Log
Version 2.23: (released 2002/08/03)
- 2002/07/01: Started adding Number support to JEP class and functions
- 2002/07/08: Fixed string concatenation bug
- 2002/07/10: Added NumberFactory class and DoubleNumberFactory (with
option for custom NumberFactory in JEP constuctor)
- 2002/08/02: Added website documents to distribution
Version 2.22: (released 2002/07/04)
- 2002/06/06: Removed symbol table information from ASTVarNode (making
AST nodes into pure data structure elements)
- 2002/06/20: Fixed sum() issue (functions with variable number of
parameters)
- 2002/06/24: Rearranged function class structure by letting PostfixMathCommand
implement PostfixMathCommandI (no changes to functionality)
- 2002/06/25: Added multiple thread testing classes
- 2002/06/26: Made EvaluatorVisitor non-singleton (was doing more
harm than good)
- 2002/06/28: Added Unicode character support for variable names
VERSION
2.21: (released 2002/06/04)
- 2002/06/03: Fixed 1.1 compatibility issue in JEP.java (was using
add() and clear() which are not included in the 1.1.8 VM).
VERSION
2.20: (released 2002/05/31)
- 2002/01/20: Combined multiplication and division to the same precedence
level
- 2002/03/10: Added implicit multiplication, allowing expressions
like "3x == 3*x"
- 2002/03/14: Improved evaluation performance through creating only
one stack for evaluation
- 2002/03/19: Changes to operator precedence (more like C and Java)
- 2002/03/19: Now using JavaCC 2.1
- 2002/03/24: Added a console application to the org.nfunk.jepexamples
package
- 2002/03/28: Implemented evaluation using the Visitor design pattern
- 2002/04/13: Added setAllowUndeclared() and setImplicitMul() for
control of undeclared variables, and implicit multiplication options
- 2002/04/15: Added getSymbolTable() for obtaining list of variables
in the symbol table (e.g. after parsing an expression with allowUndeclared=true)
- 2002/04/17: Prepared directory structure for building with ant
- 2002/04/19: Full transition of build environment to ant
- 2002/04/20: Finally was persuaded to add the sqrt() function to
the set of built-ins
- 2002/04/27: Cleaned up error reporting using an error list in the
JEP class
- 2002/05/27: New documentation
- 2002/05/30: Modifications to the sample applets
|
|
VERSION 2.12: (released 2002/02/01)
- 2001/08/31: Made a change to the Complex power function Complex.pow(to
avoid problems with applets run in Internet Explorer (Math.exp(-Infinity)
was not producing 0.0)
- 2001/09/10: Started working on array type
- 2001/09/20: Allowed variable number of arguments in functions
- 2001/09/20: Fixed undetected syntax error bug involving a comma
before a list of function parameters
- 2001/10/17: Changed order of precedence for power and unary signs.
Now power is of higher order than unary plus or minus
- 2001/11/10: Tweaked complex power functions
- 2001/11/10: Added error reporting for exceptions that occur while
evaluating
- 2001/11/17: Edited the parser class to work without static function
and symbol tables
- 2001/12/21: Completed the JEPTester class for verifying correct
evaluation
- 2002/01/06: Replaced some Vector operations that relied on AbstractList
with Java 1.1 compliant code
VERSION
2.11:
- 2001/08/26: Substituted the Netlib complex number class with a custom
class
VERSION
2.10:
- 2001/07/07: Finished adding complex numbers, and incorporated complex
numbers in nearly all built in functions
- 2001/07/08: Added string handling with concatenation with the +
operator and comparison with ==
- 2001/07/16: Renamed the package to org.nfunk.jep
- 2001/08/24: Bugfix - subtraction of complex numbers was not working
properly
VERSION
2.05:
- 2001/03/21: Fixed PostfixMathCommand class to allow inheritance
to classes in other packages
- 2001/04/10: Added some error reporting functions to main interface
class (Error name and position)
- 2001/06/01: Finished adding hyperbolic trigonometric functions and
packaging.
VERSION
2.04:
- 2001/03/01: Fixed EOF problem (included EOF in grammar)
- 2001/03/16: Removed a few redundant exception classes
VERSION
2.03:
- 2001/02/17: Corrected order of precedence for logical operators
- 2001/02/17: Added '&&', '||', and '!' operators to extend
the logical functionality of the parser
- 2001/02/07: Disabled the default command line ouput. For debugging
purposes, you may want to try to use setTraverse(true)
VERSION
2.0:
- 2000/10/16: Started rebuilding the whole parser with JavaCC (http://www.webgain.com/products/java_cc/)
- 2000/10/27: Completed restructuring main background parser functions
in JavaCC
- 2000/11/17: Created a simple interface class for intuitive interaction
- 2000/12/10: Added a few logical operators
- 2001/01/06: Released the freshly rebuilt parser
VERSION
1.1:
- 2000/11/30: Changed order of precedence so division occurs before
multiplication
- 2000/10/01: Added exponential notation (i.e. 1.23e-3)
- 2000/10/16: Tweaked code here and there
- 2000/10/21: Finished new sample applet
- 2000/10/21: Repackaged and reorganized all source code and classes
VERSION
1.0:
- 2000/07/03: Added more documentation
- 2000/07/10: Removed all operator nodes such as MulNode or PlusNode,
and replaced them by using FunNode nodes with PostfixMathCommands
- 2000/08/07: Considering using JavaCC to recreate the Parser
- 2000/09/01: Fixed multiple subtraction problem. Now 1-2-3 = (1-2)-3
instead of 1-(2-3)
VERSION
0.3:
- 2000/06/01: Created Web page and posted it
- 2000/06/02: Edited Web page, added one variable field just for integers
- 2000/06/06: Started adding internal code documentation
- 2000/06/09: Figured out how to create objects at run-time with the
reflection package. Probably useful for future use of user defined
functions
- 2000/06/10: Finished adding capability of parsing standard functions
as well as user defined functions (thanks to Ross Bagely)
VERSION
0.2:
- 2000/06/18: Added SharedConstants class for the parser package
- 2000/06/18: Added InvalidExpressionException class which is thrown
inside Parser
- 2000/06/19: Tweaked the error report of Parser
- 2000/06/27: Simplified process of adding user defined functions
by adding a parent class PostfixMathCommand, that contains a function
for checking the stack passed to the command
- 2000/06/27: Extended the FunNode class to be able to handle functions
with multiple arguments, needs to be implemented in the parser yet
- 2000/07/01: Completed expanding parser to handle functions with
multiple arguments. Implemented angle function to return the angle
whose tangent is equal to the ratio of the arguments x/y (using the
Math.atan2 method).
|