Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
CMathParser Class Reference

Expression parser and evaluator of CSwissKnife. More...

#include <MathParser.h>

List of all members.

Classes

struct  Operation

Public Member Functions

 CMathParser (void)
const char * Parse (const char *Formula, double *result, bool ConvertUpperCase)
 ~CMathParser (void)

Public Attributes

CStrMapExtFunctions
PrmSrchFunc MoreParams
CStrMapParameters
void * ParamFuncParam

Private Types

enum  OperType_t {
  OP_SHL, OP_SHR, OP_POW, OP_LOGIC_NEQ,
  OP_LOGIC_GEQ, OP_LOGIC_LEQ, OP_LOGIC_AND, OP_LOGIC_OR,
  OP_COMSTART, OP_ASSIGN, OP_OBR, OP_ADD,
  OP_SUB, OP_MUL, OP_DIV, OP_MOD,
  OP_UNK, OP_XOR, OP_NOT, OP_AND,
  OP_OR, OP_EQU, OP_GREATER, OP_LESS,
  OP_LOGIC, OP_LOGIC_SEP, OP_CBR, OP_COMMA,
  OP_FORMULAEND, OP_FUNC_ONEARG, OP_FUNC_MULTIARG
}

Private Member Functions

const char * Calc ()
const char * CalcToObr ()
const char * ParseFormula (double *result, bool ConvertUpperCase)
const char * PrepareFormula ()

Private Attributes

std::vector< char > errbuf
CLexer Lexer
int ObrDist
std::vector< OperationOpStack
int OpTop
std::vector< double > ValStack
int ValTop
CStrMapVarParams

Static Private Attributes

static const Operation BrOp
static CStaticFuncMapDouble DoubleFunctions
static CSymTable MathSymTable
static const Operation NegOp
static const char OpPriorities [OP_FUNC_MULTIARG+1]

Detailed Description

Expression parser and evaluator of CSwissKnife.

Definition at line 51 of file MathParser.h.


Member Enumeration Documentation

enum CMathParser::OperType_t [private]
Enumerator:
OP_SHL 
OP_SHR 
OP_POW 
OP_LOGIC_NEQ 
OP_LOGIC_GEQ 
OP_LOGIC_LEQ 
OP_LOGIC_AND 
OP_LOGIC_OR 
OP_COMSTART 
OP_ASSIGN 
OP_OBR 
OP_ADD 
OP_SUB 
OP_MUL 
OP_DIV 
OP_MOD 
OP_UNK 
OP_XOR 
OP_NOT 
OP_AND 
OP_OR 
OP_EQU 
OP_GREATER 
OP_LESS 
OP_LOGIC 
OP_LOGIC_SEP 
OP_CBR 
OP_COMMA 
OP_FORMULAEND 
OP_FUNC_ONEARG 
OP_FUNC_MULTIARG 

Definition at line 52 of file MathParser.h.


Constructor & Destructor Documentation


Member Function Documentation

const char* CMathParser::Calc ( ) [private]
const char* CMathParser::CalcToObr ( ) [private]
const char* CMathParser::Parse ( const char *  Formula,
double *  result,
bool  ConvertUpperCase 
)
const char* CMathParser::ParseFormula ( double *  result,
bool  ConvertUpperCase 
) [private]
const char* CMathParser::PrepareFormula ( ) [private]

Member Data Documentation

const Operation CMathParser::BrOp [static, private]

Definition at line 73 of file MathParser.h.

Definition at line 82 of file MathParser.h.

std::vector<char> CMathParser::errbuf [private]

Definition at line 81 of file MathParser.h.

Definition at line 90 of file MathParser.h.

Definition at line 79 of file MathParser.h.

Definition at line 83 of file MathParser.h.

Definition at line 91 of file MathParser.h.

const Operation CMathParser::NegOp [static, private]

Definition at line 74 of file MathParser.h.

int CMathParser::ObrDist [private]

Definition at line 78 of file MathParser.h.

const char CMathParser::OpPriorities[OP_FUNC_MULTIARG+1] [static, private]

Definition at line 66 of file MathParser.h.

std::vector<Operation> CMathParser::OpStack [private]

Definition at line 75 of file MathParser.h.

int CMathParser::OpTop [private]

Definition at line 77 of file MathParser.h.

Definition at line 89 of file MathParser.h.

Definition at line 92 of file MathParser.h.

std::vector<double> CMathParser::ValStack [private]

Definition at line 76 of file MathParser.h.

int CMathParser::ValTop [private]

Definition at line 77 of file MathParser.h.

Definition at line 80 of file MathParser.h.


The documentation for this class was generated from the following file:


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Thu Jun 6 2019 20:43:10