Expression evaluation library v1.0 - by lone
  --------------------------------------------
    How to use
    ~~~~~~~~~~
 
      � resetVars
      -----------
      void resetVars(void);
      Resets the variables table. It is necessary to call it prior to evaluate your first
      expression or variables contents may be random instead of zero
      � evaluate
      ----------
      double evaluate(char *expression, int *col);
      Evaluates an expression and returns the result.
      If a syntax error was encountered during the parsing of the expression, then col will
      be non-null and col-1 will be the index of the char which triggered the error.
    Limitations
    ~~~~~~~~~~~
       � you can set only up to 1024 variables.
       � only decimal and hexadecimal bases available
       � operators are limited to :
               + - / * % & | 
       � functions are limited to :
               sin, cos, tan,
               asin, acos, atan,
               atan2, sqr, sqrt,
               pow, exp, log, log10
    Some examples
    ~~~~~~~~~~~~~
      - assignments :
               pi=3.1415927
               a=atan2(cos(pi/4),2)
      - direct evaluations :
               cos(pi/4)
               sin(45)
      - base notations :
               3bh      (this is 0x3B)
               17d      (this is 17)   
               17dh     (this is 0x17D) 
    Adding new functions
    ~~~~~~~~~~~~~~~~~~~~
       The file EVAL.C contains the functions table (fnTable). Just add an entry with the name,
       the number of parameters, and a pointer to the function body. Implement the body and
       you're done. If your function ahs more than 2 parameters, you'll need to extend the grammar
       description file (CAL.Y) to add the FUNCTION3 (and eventually subsequent) token(s) and
       parsing informations.
    SCAN.L & CAL.Y
    ~~~~~~~~~~~~~~
       SCAN.L contains description for the lexical analyzer generator (LEX). Use makel.bat to rebuild
              LEXTAB.C
       CAL.Y  contains the LALR formal grammar description for the parser generator (BISON). Use makey.bat
              to rebuild CAL_TAB.C
    Compiling
    ~~~~~~~~~
       Just include all source files to your project, and include EVAL.H into your main source code.