Example #1
0
 def getRelationalOperator(self):
     op = RelationalOperator
     tok = self.getNextToken()
     
     if (tok.getTokType() is TokenType.EQ_TOK):
         op = RelationalOperator.EQ_OP
     elif (tok.getTokType() is TokenType.NE_TOK):
         op = RelationalOperator.NE_OP      
     elif (tok.getTokType() is TokenType.GT_TOK):
         op = RelationalOperator.GT_OP
     elif (tok.getTokType() is TokenType.GE_TOK):
         op = RelationalOperator.GE_OP
     elif (tok.getTokType() is TokenType.LT_TOK):
         op = RelationalOperator.LT_OP
     elif (tok.getTokType() is TokenType.LE_TOK):
         op = RelationalOperator.LE_OP
     else:
         raise ParserException("relational operator expected at row " + Token.getRowNumber() + 
                               "and column " + Token.getColumnNumber())
     return op
Example #2
0
 def getStatement(self):
     tok = self.getLookaheadToken()
     if(tok.getTokType() == TokenType.ID_TOK):
         s = self.getAssignmentStatement()
     elif (tok.getTokType() == TokenType.IF_TOK):
         s = self.getIfStatement()
     elif (tok.getTokType() == TokenType.PRINT_TOK):
         s = self.getPrintStatement()
     elif (tok.getTokType() == TokenType.FROM_TOK):
         s = self.getLoopStatement()
     else:
         #raise ParserException(tok.getTokType)
         raise ParserException(str(tok.getTokType()) + " statement is expected at row " + str(Token.getRowNumber()) + "and column " + str(Token.getColumnNumber()))
     return s