RefToken TokenStreamBasicFilter::nextToken() { RefToken tok = input->nextToken(); while ( tok && discardMask.member(tok->getType()) ) { tok = input->nextToken(); } return tok; }
string BasePortugolParser::getTokenDescription(const RefToken& token) { string str; if(token->getType() == PortugolParserTokenTypes::T_IDENTIFICADOR) { str = "\""; str += token->getText(); str += "\""; } else if(isKeyword(token->getType())) { str = "a palavra-chave "; str += getTokenNames()[token->getType()]; } else if(token->getType() == PortugolParserTokenTypes::EOF_) { str = "fim de arquivo (EOF)"; } else { // str = getTokenNames()[token->getType()]; str = token->getText(); } return str; }
void BinaryCompArithOpAST::initialize( RefToken t ) { BasicAST::initialize(t); switch (t->getType()) { case PTokenTypes::EQ: _opType = ByteCodeNS::EQ; break; case PTokenTypes::NE: _opType = ByteCodeNS::NE; break; case PTokenTypes::OP_LT: _opType = ByteCodeNS::LT; break; case PTokenTypes::LE: _opType = ByteCodeNS::LE; break; case PTokenTypes::GT: _opType = ByteCodeNS::GT; break; case PTokenTypes::GE: _opType = ByteCodeNS::GE; break; case PTokenTypes::PLUS: _opType = ByteCodeNS::PLUS; break; case PTokenTypes::MINUS: _opType = ByteCodeNS::MINUS; break; case PTokenTypes::MUL: _opType = ByteCodeNS::MUL; break; case PTokenTypes::DIV: _opType = ByteCodeNS::DIV; break; case PTokenTypes::MOD: _opType = ByteCodeNS::MOD; break; case PTokenTypes::EXP: _opType = ByteCodeNS::EXP; break; default: assert(false); } }
void CommonAST::initialize(RefToken t) { setType(t->getType()); setText(t->getText()); }
CommonAST::CommonAST(RefToken t) : BaseAST(), ttype( t->getType() ), text( t->getText() ) { }