NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
mu::ParserTokenReader Class Reference

Token reader for the ParserBase class. More...

#include <muParserTokenReader.h>

Collaboration diagram for mu::ParserTokenReader:

Public Member Functions

 ParserTokenReader (ParserBase *a_pParent)
 Constructor. More...
 
ParserTokenReaderClone (ParserBase *a_pParent) const
 Create instance of a ParserTokenReader identical with this and return its pointer. More...
 
void AddValIdent (identfun_type a_pCallback)
 
void SetVarCreator (facfun_type a_pFactory, void *pUserData)
 
void SetFormula (const string_type &a_strFormula)
 Initialize the token Reader. More...
 
void SetArgSep (char_type cArgSep)
 
int GetPos () const
 Return the current position of the token reader in the formula string. More...
 
const string_typeGetExpr () const
 Return a reference to the formula. More...
 
varmap_typeGetUsedVar ()
 Return a map containing the used variables only. More...
 
char_type GetArgSep () const
 
void IgnoreUndefVar (bool bIgnore)
 Set Flag that contronls behaviour in case of undefined variables beeing found. More...
 
void ReInit ()
 Reset the token reader to the start of the formula. More...
 
token_type ReadNextToken ()
 Read the next token from the string. More...
 

Private Types

enum  ESynCodes {
  noBO = 1 << 0 , noBC = 1 << 1 , noVAL = 1 << 2 , noVAR = 1 << 3 ,
  noARG_SEP = 1 << 4 , noFUN = 1 << 5 , noOPT = 1 << 6 , noPOSTOP = 1 << 7 ,
  noINFIXOP = 1 << 8 , noEND = 1 << 9 , noSTR = 1 << 10 , noASSIGN = 1 << 11 ,
  noIF = 1 << 12 , noELSE = 1 << 13 , sfSTART_OF_LINE = noOPT | noBC | noPOSTOP | noASSIGN | noIF | noELSE | noARG_SEP , noANY = ~0
}
 Syntax codes. More...
 
typedef ParserToken< value_type, string_typetoken_type
 

Private Member Functions

 ParserTokenReader (const ParserTokenReader &a_Reader)
 Copy constructor. More...
 
ParserTokenReaderoperator= (const ParserTokenReader &a_Reader)
 Assignement operator. More...
 
void Assign (const ParserTokenReader &a_Reader)
 Assign state of a token reader to this token reader. More...
 
void SetParent (ParserBase *a_pParent)
 
int ExtractToken (const char_type *a_szCharSet, string_type &a_strTok, int a_iPos) const
 Extract all characters that belong to a certain charset. More...
 
int ExtractOperatorToken (string_type &a_sTok, int a_iPos) const
 Check Expression for the presence of a binary operator token. More...
 
bool IsBuiltIn (token_type &a_Tok)
 Check if a built in operator or other token can be found. More...
 
bool IsArgSep (token_type &a_Tok)
 
bool IsEOF (token_type &a_Tok)
 Check for End of Formula. More...
 
bool IsInfixOpTok (token_type &a_Tok)
 Check if a string position contains a unary infix operator. More...
 
bool IsFunTok (token_type &a_Tok)
 Check whether the token at a given position is a function token. More...
 
bool IsPostOpTok (token_type &a_Tok)
 Check if a string position contains a unary post value operator. More...
 
bool IsOprt (token_type &a_Tok)
 Check if a string position contains a binary operator. More...
 
bool IsValTok (token_type &a_Tok)
 Check whether the token at a given position is a value token. More...
 
bool IsVarTok (token_type &a_Tok)
 Check wheter a token at a given position is a variable token. More...
 
bool IsStrVarTok (token_type &a_Tok)
 
bool IsUndefVarTok (token_type &a_Tok)
 Check wheter a token at a given position is an undefined variable. More...
 
bool IsString (token_type &a_Tok)
 Check wheter a token at a given position is a string. More...
 
void Error (EErrorCodes a_iErrc, int a_iPos=-1, const string_type &a_sTok=string_type()) const
 Create an error containing the parse error position. More...
 
token_typeSaveBeforeReturn (const token_type &tok)
 

Private Attributes

ParserBasem_pParser
 
string_type m_strFormula
 
int m_iPos
 
int m_iSynFlags
 
bool m_bIgnoreUndefVar
 
const funmap_typem_pFunDef
 
const funmap_typem_pPostOprtDef
 
const funmap_typem_pInfixOprtDef
 
const funmap_typem_pOprtDef
 
const valmap_typem_pConstDef
 
const strmap_typem_pStrVarDef
 
varmap_typem_pVarDef
 The only non const pointer to parser internals. More...
 
facfun_type m_pFactory
 
void * m_pFactoryData
 
std::list< identfun_typem_vIdentFun
 Value token identification function. More...
 
varmap_type m_UsedVar
 
value_type m_fZero
 Dummy value of zero, referenced by undefined variables. More...
 
int m_iBrackets
 
token_type m_lastTok
 
char_type m_cArgSep
 The character used for separating function arguments. More...
 

Detailed Description

Token reader for the ParserBase class.

Definition at line 54 of file muParserTokenReader.h.

Member Typedef Documentation

◆ token_type

Member Enumeration Documentation

◆ ESynCodes

Syntax codes.

The syntax codes control the syntax check done during the first time parsing of the expression string. They are flags that indicate which tokens are allowed next if certain tokens are identified.

Enumerator
noBO 

to avoid i.e. "cos(7)("

noBC 

to avoid i.e. "sin)" or "()"

noVAL 

to avoid i.e. "tan 2" or "sin(8)3.14"

noVAR 

to avoid i.e. "sin a" or "sin(8)a"

noARG_SEP 

to avoid i.e. ",," or "+," ...

noFUN 

to avoid i.e. "sqrt cos" or "(1)sin"

noOPT 

to avoid i.e. "(+)"

noPOSTOP 

to avoid i.e. "(5!!)" "sin!"

noINFIXOP 

to avoid i.e. "++4" "!!4"

noEND 

to avoid unexpected end of formula

noSTR 

to block numeric arguments on string functions

noASSIGN 

to block assignement to constant i.e. "4=7"

noIF 
noELSE 
sfSTART_OF_LINE 
noANY 

All of he above flags set.

Definition at line 87 of file muParserTokenReader.h.

Constructor & Destructor Documentation

◆ ParserTokenReader() [1/2]

mu::ParserTokenReader::ParserTokenReader ( ParserBase a_pParent)

Constructor.

Create a Token reader and bind it to a parser object.

Precondition
[assert] a_pParser may not be NULL
Postcondition
m_pParser==a_pParser
Parameters
a_pParentParent parser object of the token reader.

Definition at line 111 of file muParserTokenReader.cpp.

References m_pParser, and SetParent().

Referenced by Clone().

Here is the call graph for this function:

◆ ParserTokenReader() [2/2]

mu::ParserTokenReader::ParserTokenReader ( const ParserTokenReader a_Reader)
private

Copy constructor.

See also
Assign
Exceptions
nothrow

Definition at line 52 of file muParserTokenReader.cpp.

References Assign().

Here is the call graph for this function:

Member Function Documentation

◆ AddValIdent()

void mu::ParserTokenReader::AddValIdent ( identfun_type  a_pCallback)

Definition at line 161 of file muParserTokenReader.cpp.

References m_vIdentFun.

◆ Assign()

void mu::ParserTokenReader::Assign ( const ParserTokenReader a_Reader)
private

Assign state of a token reader to this token reader.

Parameters
a_ReaderObject from which the state should be copied.
Exceptions
nothrow

Definition at line 79 of file muParserTokenReader.cpp.

References m_bIgnoreUndefVar, m_cArgSep, m_iBrackets, m_iPos, m_iSynFlags, m_pConstDef, m_pFactory, m_pFactoryData, m_pFunDef, m_pInfixOprtDef, m_pOprtDef, m_pParser, m_pPostOprtDef, m_pStrVarDef, m_pVarDef, m_strFormula, m_UsedVar, and m_vIdentFun.

Referenced by operator=(), and ParserTokenReader().

◆ Clone()

ParserTokenReader * mu::ParserTokenReader::Clone ( ParserBase a_pParent) const

Create instance of a ParserTokenReader identical with this and return its pointer.

This is a factory method the calling function must take care of the object destruction.

Returns
A new ParserTokenReader object.
Exceptions
nothrow

Definition at line 146 of file muParserTokenReader.cpp.

References ParserTokenReader().

Here is the call graph for this function:

◆ Error()

void mu::ParserTokenReader::Error ( EErrorCodes  a_iErrc,
int  a_iPos = -1,
const string_type a_sTok = string_type() 
) const
private

Create an error containing the parse error position.

This function will create an Parser Exception object containing the error text and its position.

Parameters
a_iErrc[in] The error code of type EErrorCodes.
a_iPos[in] The position where the error was detected.
a_strTok[in] The token string representation associated with the error.
Exceptions
ParserExceptionalways throws thats the only purpose of this function.

Definition at line 958 of file muParserTokenReader.cpp.

References mu::ParserBase::Error(), and m_pParser.

Referenced by IsArgSep(), IsBuiltIn(), IsEOF(), IsFunTok(), IsInfixOpTok(), IsString(), IsStrVarTok(), IsUndefVarTok(), IsValTok(), IsVarTok(), and ReadNextToken().

Here is the call graph for this function:

◆ ExtractOperatorToken()

int mu::ParserTokenReader::ExtractOperatorToken ( string_type a_sTok,
int  a_iPos 
) const
private

Check Expression for the presence of a binary operator token.

Userdefined binary operator "++" gives inconsistent parsing result for the equations "a++b" and "a ++ b" if alphabetic characters are allowed in operator tokens. To avoid this this function checks specifically for operator tokens.

Definition at line 359 of file muParserTokenReader.cpp.

References ExtractToken(), m_pParser, m_strFormula, MUP_CHARS, and mu::ParserBase::ValidInfixOprtChars().

Referenced by IsOprt().

Here is the call graph for this function:

◆ ExtractToken()

int mu::ParserTokenReader::ExtractToken ( const char_type a_szCharSet,
string_type a_sTok,
int  a_iPos 
) const
private

Extract all characters that belong to a certain charset.

Parameters
a_szCharSet[in] Const char array of the characters allowed in the token.
a_strTok[out] The string that consists entirely of characters listed in a_szCharSet.
a_iPos[in] Position in the string from where to start reading.
Returns
The Position of the first character not listed in a_szCharSet.
Exceptions
nothrow

Definition at line 335 of file muParserTokenReader.cpp.

References m_strFormula.

Referenced by ExtractOperatorToken(), IsFunTok(), IsInfixOpTok(), IsPostOpTok(), IsStrVarTok(), IsUndefVarTok(), IsValTok(), IsVarTok(), and ReadNextToken().

◆ GetArgSep()

char_type mu::ParserTokenReader::GetArgSep ( ) const

Definition at line 972 of file muParserTokenReader.cpp.

References m_cArgSep.

◆ GetExpr()

const string_type & mu::ParserTokenReader::GetExpr ( ) const

Return a reference to the formula.

Returns
m_strFormula
Exceptions
nothrow

Definition at line 196 of file muParserTokenReader.cpp.

References m_strFormula.

◆ GetPos()

int mu::ParserTokenReader::GetPos ( ) const

Return the current position of the token reader in the formula string.

Returns
m_iPos
Exceptions
nothrow

Definition at line 185 of file muParserTokenReader.cpp.

References m_iPos.

◆ GetUsedVar()

varmap_type & mu::ParserTokenReader::GetUsedVar ( )

Return a map containing the used variables only.

Definition at line 203 of file muParserTokenReader.cpp.

References m_UsedVar.

◆ IgnoreUndefVar()

void mu::ParserTokenReader::IgnoreUndefVar ( bool  bIgnore)

Set Flag that contronls behaviour in case of undefined variables beeing found.

If true, the parser does not throw an exception if an undefined variable is found. otherwise it does. This variable is used internally only! It supresses a "undefined variable" exception in GetUsedVar(). Those function should return a complete list of variables including those the are not defined by the time of it's call.

Definition at line 229 of file muParserTokenReader.cpp.

References m_bIgnoreUndefVar.

◆ IsArgSep()

bool mu::ParserTokenReader::IsArgSep ( token_type a_Tok)
private

Definition at line 490 of file muParserTokenReader.cpp.

References mu::cmARG_SEP, mu::ecUNEXPECTED_ARG_SEP, Error(), m_cArgSep, m_iPos, m_iSynFlags, m_strFormula, noARG_SEP, noASSIGN, noBC, noEND, noOPT, noPOSTOP, and mu::ParserToken< TBase, TString >::Set().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsBuiltIn()

bool mu::ParserTokenReader::IsBuiltIn ( token_type a_Tok)
private

Check if a built in operator or other token can be found.

Parameters
a_Tok[out] Operator token if one is found. This can either be a binary operator or an infix operator token.
Returns
true if an operator token has been found.

Definition at line 385 of file muParserTokenReader.cpp.

References mu::cmADD, mu::cmASSIGN, mu::cmBC, mu::cmBO, mu::cmDIV, mu::cmELSE, mu::cmEND, mu::cmEQ, mu::cmFUNC, mu::cmGE, mu::cmGT, mu::cmIF, mu::cmLAND, mu::cmLE, mu::cmLOR, mu::cmLT, mu::cmMUL, mu::cmNEQ, mu::cmPOW, mu::cmSUB, mu::ecINTERNAL_ERROR, mu::ecUNEXPECTED_CONDITIONAL, mu::ecUNEXPECTED_OPERATOR, mu::ecUNEXPECTED_PARENS, Error(), mu::ParserToken< TBase, TString >::GetCode(), mu::ParserBase::GetOprtDef(), mu::ParserBase::HasBuiltInOprt(), IsInfixOpTok(), m_iBrackets, m_iPos, m_iSynFlags, m_lastTok, m_pParser, m_strFormula, noARG_SEP, noASSIGN, noBC, noBO, noELSE, noEND, noFUN, noIF, noINFIXOP, noOPT, noPOSTOP, noSTR, noVAL, noVAR, and mu::ParserToken< TBase, TString >::Set().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsEOF()

bool mu::ParserTokenReader::IsEOF ( token_type a_Tok)
private

Check for End of Formula.

Returns
true if an end of formula is found false otherwise.
Parameters
a_Tok[out] If an eof is found the corresponding token will be stored there.
Exceptions
nothrow
See also
IsOprt, IsFunTok, IsStrFunTok, IsValTok, IsVarTok, IsString, IsInfixOpTok, IsPostOpTok

Definition at line 521 of file muParserTokenReader.cpp.

References _nrT, mu::cmEND, mu::ecMISSING_PARENS, mu::ecUNEXPECTED_EOF, Error(), m_iBrackets, m_iPos, m_iSynFlags, m_strFormula, noEND, and mu::ParserToken< TBase, TString >::Set().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsFunTok()

bool mu::ParserTokenReader::IsFunTok ( token_type a_Tok)
private

Check whether the token at a given position is a function token.

Parameters
a_Tok[out] If a value token is found it will be placed here.
Exceptions
ParserExceptionif Syntaxflags do not allow a function at a_iPos
Returns
true if a function token has been found false otherwise.
Precondition
[assert] m_pParser!=0

Definition at line 594 of file muParserTokenReader.cpp.

References mu::ecUNEXPECTED_FUN, Error(), ExtractToken(), mu::ParserToken< TBase, TString >::GetAsString(), m_iPos, m_iSynFlags, m_pFunDef, m_pParser, m_strFormula, noANY, noBO, noFUN, mu::ParserToken< TBase, TString >::Set(), and mu::ParserBase::ValidNameChars().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsInfixOpTok()

bool mu::ParserTokenReader::IsInfixOpTok ( token_type a_Tok)
private

Check if a string position contains a unary infix operator.

Returns
true if a function token has been found false otherwise.

Definition at line 546 of file muParserTokenReader.cpp.

References mu::cmBC, mu::cmVAL, mu::cmVAR, mu::ecUNEXPECTED_OPERATOR, Error(), ExtractToken(), mu::ParserToken< TBase, TString >::GetAsString(), mu::ParserToken< TBase, TString >::GetCode(), m_iPos, m_iSynFlags, m_lastTok, m_pInfixOprtDef, m_pParser, noASSIGN, noBC, noINFIXOP, noOPT, noPOSTOP, noSTR, mu::ParserToken< TBase, TString >::Set(), and mu::ParserBase::ValidInfixOprtChars().

Referenced by IsBuiltIn(), IsOprt(), and ReadNextToken().

Here is the call graph for this function:

◆ IsOprt()

bool mu::ParserTokenReader::IsOprt ( token_type a_Tok)
private

Check if a string position contains a binary operator.

Parameters
a_Tok[out] Operator token if one is found. This can either be a binary operator or an infix operator token.
Returns
true if an operator token has been found.

Definition at line 625 of file muParserTokenReader.cpp.

References ExtractOperatorToken(), mu::ParserBase::GetOprtDef(), mu::ParserBase::HasBuiltInOprt(), IsInfixOpTok(), m_iPos, m_iSynFlags, m_pOprtDef, m_pParser, m_strFormula, noARG_SEP, noASSIGN, noBC, noEND, noOPT, noPOSTOP, and mu::ParserToken< TBase, TString >::Set().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsPostOpTok()

bool mu::ParserTokenReader::IsPostOpTok ( token_type a_Tok)
private

Check if a string position contains a unary post value operator.

Definition at line 685 of file muParserTokenReader.cpp.

References ExtractToken(), m_iPos, m_iSynFlags, m_pParser, m_pPostOprtDef, noASSIGN, noBO, noFUN, noPOSTOP, noSTR, noVAL, noVAR, mu::ParserToken< TBase, TString >::Set(), and mu::ParserBase::ValidOprtChars().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsString()

bool mu::ParserTokenReader::IsString ( token_type a_Tok)
private

Check wheter a token at a given position is a string.

Parameters
a_Tok[out] If a variable token has been found it will be placed here.
Returns
true if a string token has been found.
See also
IsOprt, IsFunTok, IsStrFunTok, IsValTok, IsVarTok, IsEOF, IsInfixOpTok, IsPostOpTok
Exceptions
nothrow

Definition at line 914 of file muParserTokenReader.cpp.

References _nrT, mu::ecUNEXPECTED_STR, mu::ecUNTERMINATED_STRING, Error(), m_iPos, m_iSynFlags, m_pParser, m_strFormula, mu::ParserBase::m_vStringBuf, noANY, noARG_SEP, noBC, noEND, noOPT, noSTR, and mu::ParserToken< TBase, TString >::SetString().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsStrVarTok()

bool mu::ParserTokenReader::IsStrVarTok ( token_type a_Tok)
private

Definition at line 827 of file muParserTokenReader.cpp.

References mu::ecINTERNAL_ERROR, mu::ecUNEXPECTED_VAR, Error(), ExtractToken(), m_iPos, m_iSynFlags, m_pParser, m_pStrVarDef, mu::ParserBase::m_vStringVarBuf, noANY, noARG_SEP, noBC, noEND, noOPT, noSTR, mu::ParserToken< TBase, TString >::SetString(), and mu::ParserBase::ValidNameChars().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsUndefVarTok()

bool mu::ParserTokenReader::IsUndefVarTok ( token_type a_Tok)
private

Check wheter a token at a given position is an undefined variable.

Parameters
a_Tok[out] If a variable tom_pParser->m_vStringBufken has been found it will be placed here.
Returns
true if a variable token has been found.
Exceptions
nothrow

Definition at line 862 of file muParserTokenReader.cpp.

References mu::ecUNEXPECTED_VAR, Error(), ExtractToken(), mu::ParserToken< TBase, TString >::GetAsString(), m_fZero, m_iPos, m_iSynFlags, m_pFactory, m_pFactoryData, m_pParser, m_UsedVar, noBO, noFUN, noINFIXOP, noPOSTOP, noSTR, noVAL, noVAR, mu::ParserToken< TBase, TString >::SetVar(), and mu::ParserBase::ValidNameChars().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsValTok()

bool mu::ParserTokenReader::IsValTok ( token_type a_Tok)
private

Check whether the token at a given position is a value token.

Value tokens are either values or constants.

Parameters
a_Tok[out] If a value token is found it will be placed here.
Returns
true if a value token has been found.

Definition at line 737 of file muParserTokenReader.cpp.

References mu::ecUNEXPECTED_VAL, Error(), ExtractToken(), m_iPos, m_iSynFlags, m_pConstDef, m_pParser, m_strFormula, m_vIdentFun, noASSIGN, noBO, noFUN, noINFIXOP, noSTR, noVAL, noVAR, mu::ParserToken< TBase, TString >::SetVal(), and mu::ParserBase::ValidNameChars().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ IsVarTok()

bool mu::ParserTokenReader::IsVarTok ( token_type a_Tok)
private

Check wheter a token at a given position is a variable token.

Parameters
a_Tok[out] If a variable token has been found it will be placed here.
Returns
true if a variable token has been found.

Definition at line 791 of file muParserTokenReader.cpp.

References mu::ecUNEXPECTED_VAR, Error(), ExtractToken(), m_iPos, m_iSynFlags, m_pParser, m_pPostOprtDef, m_pVarDef, m_strFormula, m_UsedVar, noBO, noFUN, noINFIXOP, noSTR, noVAL, noVAR, mu::ParserBase::OnDetectVar(), mu::ParserToken< TBase, TString >::SetVar(), and mu::ParserBase::ValidNameChars().

Referenced by ReadNextToken().

Here is the call graph for this function:

◆ operator=()

ParserTokenReader & mu::ParserTokenReader::operator= ( const ParserTokenReader a_Reader)
private

Assignement operator.

Self assignement will be suppressed otherwise Assign is called.

Parameters
a_ReaderObject to copy to this token reader.
Exceptions
nothrow

Definition at line 65 of file muParserTokenReader.cpp.

References Assign().

Here is the call graph for this function:

◆ ReadNextToken()

ParserTokenReader::token_type mu::ParserTokenReader::ReadNextToken ( )

Read the next token from the string.

Definition at line 254 of file muParserTokenReader.cpp.

References mu::ecUNASSIGNABLE_TOKEN, Error(), ExtractToken(), mu::ParserToken< TBase, TString >::GetCode(), IsArgSep(), IsBuiltIn(), IsEOF(), IsFunTok(), IsInfixOpTok(), IsOprt(), IsPostOpTok(), IsString(), IsStrVarTok(), IsUndefVarTok(), IsValTok(), IsVarTok(), m_bIgnoreUndefVar, m_iPos, m_lastTok, m_pFactory, m_pParser, m_strFormula, SaveBeforeReturn(), and mu::ParserBase::ValidNameChars().

Here is the call graph for this function:

◆ ReInit()

void mu::ParserTokenReader::ReInit ( )

Reset the token reader to the start of the formula.

The syntax flags will be reset to a value appropriate for the start of a formula.

Postcondition
m_iPos==0, m_iSynFlags = noOPT | noBC | noPOSTOP | noSTR
Exceptions
nothrow
See also
ESynCodes

Definition at line 243 of file muParserTokenReader.cpp.

References m_iBrackets, m_iPos, m_iSynFlags, m_lastTok, m_UsedVar, and sfSTART_OF_LINE.

Referenced by SetFormula().

◆ SaveBeforeReturn()

ParserTokenReader::token_type & mu::ParserTokenReader::SaveBeforeReturn ( const token_type tok)
private

Definition at line 154 of file muParserTokenReader.cpp.

References m_lastTok.

Referenced by ReadNextToken().

◆ SetArgSep()

void mu::ParserTokenReader::SetArgSep ( char_type  cArgSep)

Definition at line 966 of file muParserTokenReader.cpp.

References m_cArgSep.

◆ SetFormula()

void mu::ParserTokenReader::SetFormula ( const string_type a_strFormula)

Initialize the token Reader.

Sets the formula position index to zero and set Syntax flags to default for initial formula parsing.

Precondition
[assert] triggered if a_szFormula==0

Definition at line 214 of file muParserTokenReader.cpp.

References m_strFormula, and ReInit().

Here is the call graph for this function:

◆ SetParent()

◆ SetVarCreator()

void mu::ParserTokenReader::SetVarCreator ( facfun_type  a_pFactory,
void *  pUserData 
)

Definition at line 173 of file muParserTokenReader.cpp.

References m_pFactory, and m_pFactoryData.

Member Data Documentation

◆ m_bIgnoreUndefVar

bool mu::ParserTokenReader::m_bIgnoreUndefVar
private

Definition at line 139 of file muParserTokenReader.h.

Referenced by Assign(), IgnoreUndefVar(), and ReadNextToken().

◆ m_cArgSep

char_type mu::ParserTokenReader::m_cArgSep
private

The character used for separating function arguments.

Definition at line 155 of file muParserTokenReader.h.

Referenced by Assign(), GetArgSep(), IsArgSep(), and SetArgSep().

◆ m_fZero

value_type mu::ParserTokenReader::m_fZero
private

Dummy value of zero, referenced by undefined variables.

Definition at line 152 of file muParserTokenReader.h.

Referenced by IsUndefVarTok().

◆ m_iBrackets

int mu::ParserTokenReader::m_iBrackets
private

Definition at line 153 of file muParserTokenReader.h.

Referenced by Assign(), IsBuiltIn(), IsEOF(), and ReInit().

◆ m_iPos

◆ m_iSynFlags

int mu::ParserTokenReader::m_iSynFlags
private

◆ m_lastTok

token_type mu::ParserTokenReader::m_lastTok
private

◆ m_pConstDef

const valmap_type* mu::ParserTokenReader::m_pConstDef
private

Definition at line 145 of file muParserTokenReader.h.

Referenced by Assign(), IsValTok(), and SetParent().

◆ m_pFactory

facfun_type mu::ParserTokenReader::m_pFactory
private

Definition at line 148 of file muParserTokenReader.h.

Referenced by Assign(), IsUndefVarTok(), ReadNextToken(), and SetVarCreator().

◆ m_pFactoryData

void* mu::ParserTokenReader::m_pFactoryData
private

Definition at line 149 of file muParserTokenReader.h.

Referenced by Assign(), IsUndefVarTok(), and SetVarCreator().

◆ m_pFunDef

const funmap_type* mu::ParserTokenReader::m_pFunDef
private

Definition at line 141 of file muParserTokenReader.h.

Referenced by Assign(), IsFunTok(), and SetParent().

◆ m_pInfixOprtDef

const funmap_type* mu::ParserTokenReader::m_pInfixOprtDef
private

Definition at line 143 of file muParserTokenReader.h.

Referenced by Assign(), IsInfixOpTok(), and SetParent().

◆ m_pOprtDef

const funmap_type* mu::ParserTokenReader::m_pOprtDef
private

Definition at line 144 of file muParserTokenReader.h.

Referenced by Assign(), IsOprt(), and SetParent().

◆ m_pParser

◆ m_pPostOprtDef

const funmap_type* mu::ParserTokenReader::m_pPostOprtDef
private

Definition at line 142 of file muParserTokenReader.h.

Referenced by Assign(), IsPostOpTok(), IsVarTok(), and SetParent().

◆ m_pStrVarDef

const strmap_type* mu::ParserTokenReader::m_pStrVarDef
private

Definition at line 146 of file muParserTokenReader.h.

Referenced by Assign(), IsStrVarTok(), and SetParent().

◆ m_pVarDef

varmap_type* mu::ParserTokenReader::m_pVarDef
private

The only non const pointer to parser internals.

Definition at line 147 of file muParserTokenReader.h.

Referenced by Assign(), IsVarTok(), and SetParent().

◆ m_strFormula

◆ m_UsedVar

varmap_type mu::ParserTokenReader::m_UsedVar
private

Definition at line 151 of file muParserTokenReader.h.

Referenced by Assign(), GetUsedVar(), IsUndefVarTok(), IsVarTok(), and ReInit().

◆ m_vIdentFun

std::list<identfun_type> mu::ParserTokenReader::m_vIdentFun
private

Value token identification function.

Definition at line 150 of file muParserTokenReader.h.

Referenced by AddValIdent(), Assign(), and IsValTok().


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