예제 #1
0
 def visitOperand(self, ctx: MPParser.OperandContext):
     if ctx.ID():
         return Id(ctx.ID().getText())
     elif ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.BOOLIT():
         return BooleanLiteral(self.toBool(ctx.BOOLIT().getText()))
     else:
         return self.visit(ctx.exp())
예제 #2
0
 def visitOperand(self, ctx: MPParser.OperandContext):
     if ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.REALIT(): return FloatLiteral(float(ctx.REALIT().getText()))
     elif ctx.STRLIT(): return StringLiteral(ctx.STRLIT().getText())
     elif ctx.BOOLIT():
         return BooleanLiteral(True if (
             ctx.BOOLIT().getText().lower()) == 'true' else False)
     else:
         return Id(ctx.ID().getText())
예제 #3
0
 def visitOperand(self, ctx: MPParser.OperandContext):
     if ctx.ID():
         return Id(ctx.ID().getText())
     elif ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.STRINGLIT():
         return StringLiteral(ctx.STRINGLIT().getText())
     else:
         #return BooleanLiteral(ctx.BOOLLIT().getText())
         return BooleanLiteral(False if ctx.BOOLLIT().getText()[0] in
                               ["F", "f"] else True)