def visitOperand(self, ctx: MCParser.OperandContext): if 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()) elif ctx.BOOLEANLIT(): return BooleanLiteral(True if ctx.BOOLEANLIT().getText() == "true" else False) elif ctx.ID(): return Id(ctx.ID().getText()) else: return self.visitCalfunc(ctx.calfunc())
def visitOperand(self, ctx: MCParser.OperandContext): #operand: INTLIT | FLOATLIT | BOOLEANLIT | STRINGLIT | funcall | ID ; if ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) if ctx.FLOATLIT(): return FloatLiteral(float(ctx.FLOATLIT().getText())) if ctx.BOOLEANLIT(): return BooleanLiteral(ctx.BOOLEANLIT().getText()) if ctx.STRINGLIT(): return StringLiteral(ctx.STRINGLIT().getText()) if ctx.funcall(): return self.visit(ctx.funcall()) if ctx.ID(): return Id(ctx.ID().getText())