void cParser::onEqual(void) { std::string name = parseVarName(); m_curVariable.clear(); m_variable.clear(); if (error()) { return; } m_pCurNode->write(name, getAStr()); }
void cParser::onReturn(void) { std::string name = parseVarName(); m_curVariable.clear(); m_variable.clear(); if (error()) { setError(0); ++m_curLine; return; } else { setVar(name); ++m_curLine; } }
void cParser::onLBraket(void) { std::string name = parseVarName(); m_curVariable.clear(); m_variable.clear(); if (error()) { return; } LZDataPtr node = new lzd(name); m_pCurNode->addChild(node); cParser parser(m_strText, node); parser.parse(); m_strText = parser.getText(); m_curLine += parser.getLines(); }
VariableList_t* PHPVariableParser::parseArray(PHPVariable* var) { int size; VariableList_t* list = new VariableList_t; QRegExp rx; rx.setPattern("a:(\\d*):\\{"); if(rx.search(m_raw, m_index) == -1) return list; size = rx.cap(1).toInt(); m_index += rx.matchedLength(); for(int i = 0; i < size; i++) { list->append(parseVarName(var)); } m_index++; //eats the '}' return list; }
VariableList_t* PHPVariableParser::parseObjectMembers(PHPVariable* parent) { //O:6:"Classe":3:{s:6:"membro";N;s:4:"mem2";N;s:4:"priv";N;} int size; VariableList_t* list = new VariableList_t; QRegExp rx; rx.setPattern("(\\d*):\\{"); if(rx.search(m_raw, m_index) == -1) return list; size = rx.cap(1).toInt(); m_index += rx.matchedLength(); for(int i = 0; i < size; i++) { list->append(parseVarName(parent)); } m_index++; //eats the '}' return list; }