def visitExp2(self, ctx: MPParser.Exp2Context): op = "" if ctx.ADDOP(): op = ctx.ADDOP().getText() elif ctx.SUBOP(): op = ctx.SUBOP().getText() elif ctx.OR(): op = ctx.OR().getText() else: return self.visit(ctx.exp3()) return BinaryOp(op, self.visit(ctx.exp2()), self.visit(ctx.exp3()))
def visitExp2(self, ctx: MPParser.Exp2Context): if ctx.ADDOP(): return BinaryOp('+', self.visit(ctx.exp2()), self.visit(ctx.exp3())) elif ctx.SUBOP(): return BinaryOp('-', self.visit(ctx.exp2()), self.visit(ctx.exp3())) elif ctx.OROP(): return BinaryOp(ctx.OROP().getText(), self.visit(ctx.exp2()), self.visit(ctx.exp3())) else: return self.visit(ctx.exp3())