Search Toolkit Book for CExprParser
#include <corelib/expr.hpp>
Definition at line 267 of file expr.hpp.
◆ TParserFlags ◆ anonymous enum Enumerator hash_table_sizeDefinition at line 354 of file expr.hpp.
◆ anonymous enum Enumerator max_stack_sizeDefinition at line 357 of file expr.hpp.
◆ anonymous enum Enumerator max_expression_lengthDefinition at line 358 of file expr.hpp.
◆ EAutoVarParser flags.
Enumerator fAllowAutoVar fDenyAutoVar fLogicalOnly eAllowAutoVar eDenyAutoVarDefinition at line 271 of file expr.hpp.
◆ EOperator Enumerator eBEGIN eOPERAND eERROR eEND eLPAR eRPAR eFUNC ePOSTINC ePOSTDEC ePREINC ePREDEC ePLUS eMINUS eNOT eCOM ePOW eMUL eDIV eMOD eADD eSUB eASL eASR eLSR eGT eGE eLT eLE eEQ eNE eAND eXOR eOR eSET eSETADD eSETSUB eSETMUL eSETDIV eSETMOD eSETASL eSETASR eSETLSR eSETAND eSETXOR eSETOR eSETPOW eCOMMA eTERMINALSDefinition at line 302 of file expr.hpp.
◆ CExprParser() ◆ ~CExprParser() CExprParser::~CExprParser ( void ) ◆ AddSymbol() ◆ Assign() bool CExprParser::Assign ( void ) private ◆ AutoCreateVariable() ◆ GetResult() ◆ GetSymbol() ◆ IfChar() ◆ IfElseChar() ◆ IfLongest2ElseChar() ◆ LogicalOnly() bool CExprParser::LogicalOnly ( void ) const inlineprivate ◆ Parse() void CExprParser::Parse ( const char * str )Definition at line 738 of file expr.cpp.
References Assign(), BINARY, CExprValue::bval, eADD, eAND, eASL, eASR, eBEGIN, CExprSymbol::eBFUNC1, CExprSymbol::eBFUNC2, CExprValue::eBOOL, eCOM, eCOMMA, eDIV, eEND, eEQ, eERROR, CExprSymbol::eFFUNC1, CExprSymbol::eFFUNC2, CExprValue::eFLOAT, eFUNC, eGE, eGT, CExprSymbol::eIFUNC1, CExprSymbol::eIFUNC2, CExprValue::eINT, eLE, eLPAR, eLSR, eLT, eMINUS, eMOD, eMUL, eNE, eNOT, eOPERAND, eOR, ePLUS, ePOSTDEC, ePOSTINC, ePOW, ePREDEC, ePREINC, eRPAR, eSET, eSETADD, eSETAND, eSETASL, eSETASR, eSETDIV, eSETLSR, eSETMOD, eSETMUL, eSETOR, eSETPOW, eSETSUB, eSETXOR, CExprSymbol::eSFUNC1, CExprValue::eSTRING, eSUB, eXOR, CExprValue::fval, CExprValue::GetBool(), CExprValue::GetDouble(), CExprValue::GetInt(), CExprValue::GetString(), CExprValue::GetType(), int, CExprValue::ival, CExprSymbol::m_BoolFunc1, CExprSymbol::m_BoolFunc2, m_Buf, CExprSymbol::m_FloatFunc1, CExprSymbol::m_FloatFunc2, CExprSymbol::m_IntFunc1, CExprSymbol::m_IntFunc2, m_o_sp, m_OStack, m_Pos, CExprSymbol::m_StringFunc1, CExprValue::m_sval, CExprSymbol::m_Tag, m_v_sp, CExprSymbol::m_Val, CExprValue::m_Var, m_VStack, max_stack_size, NULL, ReportError(), Scan(), CExprValue::SetType(), sm_lpr, sm_rpr, and str().
Referenced by CProjBulderApp::IsAllowedProjectTag(), and CNcbiTestApplication::x_CalcConfigValue().
◆ ReportError() [1/2] void CExprParser::ReportError ( const string & msg ) const inlineprivate ◆ ReportError() [2/2] ◆ Scan()Definition at line 511 of file expr.cpp.
References AddSymbol(), AutoCreateVariable(), CExprValue::bval, eADD, eAllowAutoVar, eAND, eASL, eASR, CExprValue::eBOOL, eCOM, eCOMMA, eDIV, eEND, eEQ, eERROR, CExprValue::eFLOAT, eFUNC, eGE, eGT, CExprValue::eINT, eLE, eLPAR, eLSR, eLT, eMINUS, eMOD, eMUL, eNE, eNOT, eOPERAND, eOR, ePLUS, ePOSTDEC, ePOSTINC, ePOW, ePREDEC, ePREINC, eRPAR, eSET, eSETADD, eSETAND, eSETASL, eSETASR, eSETDIV, eSETLSR, eSETMOD, eSETMUL, eSETOR, eSETPOW, eSETSUB, eSETXOR, CExprValue::eSTRING, eSUB, CExprSymbol::eVARIABLE, eXOR, CExprValue::fval, GetSymbol(), IfChar(), IfElseChar(), IfLongest2ElseChar(), int, isalnum(), isspace(), CExprValue::ival, LogicalOnly(), m_Buf, CExprValue::m_Pos, m_Pos, CExprValue::m_sval, CExprSymbol::m_Tag, m_v_sp, CExprSymbol::m_Val, CExprValue::m_Var, m_VStack, max_expression_length, max_stack_size, n, NULL, ReportError(), CExprValue::SetType(), and util::strcmp().
Referenced by Parse().
◆ hash_table ◆ m_Buf const char* CExprParser::m_Buf private ◆ m_o_sp ◆ m_OStack ◆ m_ParserFlags ◆ m_Pos ◆ m_v_sp ◆ m_VStack ◆ sm_lpr Initial value:= {
2, 0, 0, 0,
4, 4,
5, 98, 98,
98, 98, 98, 98, 98, 98,
90,
80, 80, 80,
70, 70,
60, 60, 60,
50, 50, 50, 50,
40, 40,
38,
36,
34,
20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20,
10
}
Definition at line 360 of file expr.hpp.
Referenced by Parse().
◆ sm_rpr Initial value:= {
0, 0, 0, 1,
110, 3,
120, 99, 99,
99, 99, 99, 99, 99, 99,
95,
80, 80, 80,
70, 70,
60, 60, 60,
50, 50, 50, 50,
40, 40,
38,
36,
34,
25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25,
15
}
Definition at line 361 of file expr.hpp.
Referenced by Parse().
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4