In file evalfunc.hpp:

class EvalFunction

Numerical expression parser.

Documentation

Numerical expression parser. The expression is stored in reverse Polnish notation. The evaluatino tree can be filled form an external parser, see Addxxx methods.

Public Methods

[more] EvalFunction()
[more] EvalFunction(istream & aist)
parse from input stream
[more]virtual ~EvalFunction()
[more]void Parse(istream & aist)
parse from stream
[more]void DefineConstant(const char* name, double val)
define constant
[more]double Eval(const double* x) const
evaluate function
[more]void Eval(const double* x, double* y, int ydim) const
evaluate multi-value function
[more]bool IsConstant() const
is expression a constant ?
[more]void AddConstant(double val)
push constant on stack.
[more]void AddVariable(int varnum)
push variable x[varnum-1].
[more]void AddGlobVariable(const double* dp)
push pointer to global double value.
[more]void AddOperation(EVAL_TOKEN op)
push operation.
[more]void AddFunction(double (*fun) (double))
push functino call.
[more]void Print(ostream & ost) const
print expression

Protected Fields

[more]ARRAY<step> program
the evaluation sequence
[more]istream* ist
parse from stream
[more]EVAL_TOKEN token
[more]double num_value
[more]char string_value[1000]
[more]char var_num
[more]static SymbolTable<TFUNP> functions
registerd functions
[more]SymbolTable<double> constants
registerd constants

Protected Methods

[more]void ParseExpression()
parsing expression (standard parsing grammer)
[more]void ParseTerm()
parsing expression (standard parsing grammer)
[more]void ParsePrimary()
parsing expression (standard parsing grammer)
[more]typedef double (*TFUNP)(double)
[more]EVAL_TOKEN GetToken() const
returns last token
[more]double GetNumValue() const
returns num_value of last token
[more]int GetVariableNumber() const
returns variable number of last token
[more]const char* GetStringValue() const
returns identifier of last token
[more]void ReadNext()
read next token

Protected Members

class step
one step of evaluation

Private Members

[more]enum EVAL_TOKEN

oenum EVAL_TOKEN

o EvalFunction()

o EvalFunction(istream & aist)
parse from input stream

ovirtual ~EvalFunction()

ovoid Parse(istream & aist)
parse from stream

ovoid DefineConstant(const char* name, double val)
define constant

odouble Eval(const double* x) const
evaluate function

ovoid Eval(const double* x, double* y, int ydim) const
evaluate multi-value function

obool IsConstant() const
is expression a constant ?

ovoid AddConstant(double val)
push constant on stack. Used for external parser.

ovoid AddVariable(int varnum)
push variable x[varnum-1]. Used for external parser.

ovoid AddGlobVariable(const double* dp)
push pointer to global double value. Used for external parser.

ovoid AddOperation(EVAL_TOKEN op)
push operation. Used for external parser.

ovoid AddFunction(double (*fun) (double))
push functino call. Used for external parser.

ovoid Print(ostream & ost) const
print expression

oARRAY<step> program
the evaluation sequence

ovoid ParseExpression()
parsing expression (standard parsing grammer)

ovoid ParseTerm()
parsing expression (standard parsing grammer)

ovoid ParsePrimary()
parsing expression (standard parsing grammer)

oistream* ist
parse from stream

oEVAL_TOKEN token

odouble num_value

ochar string_value[1000]

ochar var_num

otypedef double (*TFUNP)(double)

ostatic SymbolTable<TFUNP> functions
registerd functions

oSymbolTable<double> constants
registerd constants

oEVAL_TOKEN GetToken() const
returns last token

odouble GetNumValue() const
returns num_value of last token

oint GetVariableNumber() const
returns variable number of last token

oconst char* GetStringValue() const
returns identifier of last token

ovoid ReadNext()
read next token


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.