114 :m_pParser(a_pParent)
118 ,m_bIgnoreUndefVar(false)
120 ,m_pPostOprtDef(NULL)
121 ,m_pInfixOprtDef(NULL)
127 ,m_pFactoryData(NULL)
151 ptr->SetParent(a_pParent);
152 return ptr.release();
328 int iEnd = (int)
m_strFormula.find_first_not_of(a_szCharSet, a_iPos);
330 if (iEnd==(
int)string_type::npos)
353 if (iEnd==(
int)string_type::npos)
382 for (
int i=0; pOprtDef[i]; i++)
384 std::size_t len( std::char_traits<char_type>::length(pOprtDef[i]) );
545 if (sTok.find(it->first)!=0)
548 a_Tok.
Set(it->second, it->first);
549 m_iPos += (int)it->first.length();
586 funmap_type::const_iterator item =
m_pFunDef->find(strTok);
592 if (szFormula[iEnd]!=
'(')
595 a_Tok.
Set(item->second, strTok);
633 funmap_type::const_reverse_iterator it =
m_pOprtDef->rbegin();
639 a_Tok.
Set(it->second, strTok);
659 m_iPos += (int)sID.length();
698 funmap_type::const_reverse_iterator it =
m_pPostOprtDef->rbegin();
701 if (sTok.find(it->first)!=0)
704 a_Tok.
Set(it->second, sTok);
705 m_iPos += (int)it->first.length();
736 valmap_type::const_iterator item =
m_pConstDef->find(strTok);
740 a_Tok.
SetVal(item->second, strTok);
752 std::list<identfun_type>::const_iterator item =
m_vIdentFun.begin();
764 a_Tok.
SetVal(fVal, strTok);
788 varmap_type::const_iterator item =
m_pVarDef->find(strTok);
798 a_Tok.
SetVar(item->second, strTok);
819 strmap_type::const_iterator item =
m_pStrVarDef->find(strTok);
864 a_Tok.
SetVar(fVar, strTok );
872 (*m_pVarDef)[strTok] = fVar;
902 std::size_t iEnd(0), iSkip(0);
905 for(iEnd=(
int)strBuf.find(
_T(
'\"') ); iEnd!=0 && iEnd!=string_type::npos; iEnd=(int)strBuf.find(
_T(
'\"'), iEnd))
907 if (strBuf[iEnd-1]!=
'\\')
break;
908 strBuf.replace(iEnd-1, 2,
_T(
"\"") );
912 if (iEnd==string_type::npos)
915 string_type strTok(strBuf.begin(), strBuf.begin()+iEnd);
923 m_iPos += (int)strTok.length() + 2 + (int)iSkip;