Esempio n. 1
0
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;
}
Esempio n. 3
0
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() )
{
}