########################################################
#						       #		
#   Mathematical expressions parser library            #
#   Version 1.07				       #	
#                                                      #  
#   Copyright (c) 2004 Ingo Berg (ingo_berg@gmx.de)    #
#                                                      #  
########################################################

History:
--------

Rev 1.00 : July 21 2004

    * First published version.

Rev 1.01 : July 23 2004

    * Support for user defined functions have been added; new functions: AddFun(), ClearFun(), 
      InitFunctions().
    * Built in constants have been removed; the parser contained undocumented built in 
      constants pi, e. 
      There was the possibility of name conflicts with user defined variables.
    * Setting multiple variables with SetVar can now be done with a map of names and pointers as the only
      argument. For this reason, a new type Parser::varmap_type was added. The old version that took 3 
      arguments (array of names, array of pointers, and array length) is now marked as deprecated.
    * The names of logarithm functions have changed. The new names are: log2 for base 2, log10 or log for 
      base 10, and ln for base e. 

Rev 1.02 : July 30 2004

    * Support for user defined constants added; new functions: InitConst(), AddConst(), SetConst(), 
      ClearConst().
    * Single variables can now be added using AddVar(); you have now the choice of adding them either 
      one by one or all at the same time using SetVar(const varmap_type &a_vVar).
    * Internal handling of variables changed, is now similar to function handling.
    * Virtual destructor added; InitFun(), InitConst() are now virtual too thus making it possible to
      derive new parsers with a modified set of default functions and constants.
    * Support for user defined functions with 2 or 3 parameters added; bytecode format changed to hold 
      function parameter count. 

Rev 1.03 : August 10 2004

    * Support for user unary post value operators added; new functions: AddPostOp(), InitPostOp(), 
      ClearPostOp().
    * Minor changes to the bytecode parsing routine.
    * User defined functions can now have up to four parameters.
    * Performance optimized: simple formula optimization added; (precalculation of constant parts of the 
      expression).
    * Bug fixes: Multi-arg function parameters, constant name lookup, unary minus did not work correctly. 

Rev 1.04 : August 16 2004

    * Support for functions with variable number of arguments added.
    * Internal structure changed; new: ParserBase.h, ParserBase.cpp; removed: ParserException.h; 
      changed: Parser.h, Parser.cpp.
    * Bug in the bytecode calculation function fixed (affected the unary minus operator).
    * Optimizer can be deactivated; new function: EnableOptimizer(bool bStat). 

Rev 1.05 : August 20 2004

    * Variable/constant names will now be checked for invalid characters.
    * Querying the names of all variables used in an expression is now possible; new function: GetUsedVar().
    * Disabling bytecode parsing is now possible; new function: EnableByteCode(bool bStat).
    * Predefined functions with variable number of arguments added: sum, avg, min, max.
    * Unary prefix operators added; new functions: AddPrefixOp(...), ClearPrefixOp().
    * Postfix operator interface names changed; new function names: AddPostfixOp(...), ClearPostfixOp().
    * Hardcoded sign operators removed in favor of prefix operators; bytecode format changed accordingly.
    * Internal changes: static array removed in Command code calculation routine; misc. changes. 

Rev 1.06 : August 20 2004

    * Volatile functions added; All overloaded AddFun(...) functions can now take a third parameter 
      indicating that the function can not be optimized.
    * Internal changes: muParserStack.h simplified; refactorings
    * Parser is now distributed under the MIT License; all comments changed accordingly.

Rev 1.07 : September 4 2004

    * Improved portability; Changes to make life for MSVC 6 user easier, there are probably still some 
      issues left.
    * Improved portability; Changes in order to allow compiling on BCB.
    * New function; value_type Diff(value_type *a_Var, value_type a_fPos) 4th order Differentiation with
      respect to a certain variable; added in muParser.h.



