#include <ExpressionParser.h>
Inheritance diagram for stx::BasicSymbolTable:

| Public Types | |
| typedef AnyScalar(*) | functionptr_type (const paramlist_type ¶mlist) | 
| Signature of a function used in the symbol table. | |
| Public Member Functions | |
| BasicSymbolTable () | |
| Fills in the functionmap with the standard functions. | |
| virtual | ~BasicSymbolTable () | 
| Required for virtual functions. | |
| virtual AnyScalar | lookupVariable (const std::string &varname) const | 
| Return the (constant) value of a variable. | |
| virtual AnyScalar | processFunction (const std::string &funcname, const paramlist_type ¶mlist) const | 
| Called when a program-defined function needs to be evaluated within an expression. | |
| void | setVariable (const std::string &varname, const AnyScalar &value) | 
| Add or replace a variable to the symbol table. | |
| void | setFunction (const std::string &funcname, int arguments, functionptr_type funcptr) | 
| Add or replace a function to the symbol table. | |
| void | clearVariables () | 
| Clear variables table. | |
| void | clearFunctions () | 
| Clear function table. | |
| void | addStandardFunctions () | 
| Add set of standard mathematic functions. | |
| Protected Types | |
| typedef std::map< std::string, AnyScalar > | variablemap_type | 
| Container used to save a map of variable names. | |
| typedef std::map< std::string, struct FunctionInfo > | functionmap_type | 
| Container used to save a map of function names. | |
| Static Protected Member Functions | |
| static AnyScalar | funcPI (const paramlist_type ¶mlist) | 
| Return the value of PI as a double AnyScalar. | |
| static AnyScalar | funcSIN (const paramlist_type ¶mlist) | 
| Return the value of sin(x) as a double AnyScalar. | |
| static AnyScalar | funcCOS (const paramlist_type ¶mlist) | 
| Return the value of cos(x) as a double AnyScalar. | |
| static AnyScalar | funcTAN (const paramlist_type ¶mlist) | 
| Return the value of tan(x) as a double AnyScalar. | |
| static AnyScalar | funcABS (const paramlist_type ¶mlist) | 
| Return the value of abs(x) or fabs(f). | |
| static AnyScalar | funcEXP (const paramlist_type ¶mlist) | 
| Return the value of exp(x) as a double AnyScalar. | |
| static AnyScalar | funcLOGN (const paramlist_type ¶mlist) | 
| Return the value of log(x) as a double AnyScalar. | |
| static AnyScalar | funcPOW (const paramlist_type ¶mlist) | 
| Return the value of pow(x,y) as a double AnyScalar. | |
| static AnyScalar | funcSQRT (const paramlist_type ¶mlist) | 
| Return the value of sqrt(x) as a double AnyScalar. | |
| Private Attributes | |
| variablemap_type | variablemap | 
| Variable map which can be filled by the user-application. | |
| functionmap_type | functionmap | 
| Function map used to lookup standard or user-added function. | |
| Classes | |
| struct | FunctionInfo | 
| Extra info about a function: the valid arguments.  More... | |
This base class contain two tables of variables and functions. Variables may be filled into the STL map by the program. The class also contains a set of basic mathematic functions.
Definition at line 163 of file ExpressionParser.h.
| AnyScalar stx::BasicSymbolTable::lookupVariable | ( | const std::string & | varname | ) | const  [virtual] | 
Return the (constant) value of a variable.
In this basic implementation no variables are defined, it always throws an UnknownSymbolException.
Implements stx::SymbolTable.
Definition at line 1532 of file ExpressionParser.cc.
References variablemap.
| AnyScalar stx::BasicSymbolTable::processFunction | ( | const std::string & | funcname, | |
| const paramlist_type & | paramlist | |||
| ) | const  [virtual] | 
Called when a program-defined function needs to be evaluated within an expression.
Implements stx::SymbolTable.
Definition at line 1547 of file ExpressionParser.cc.
References functionmap.
 1.5.2
 1.5.2