def visitExp3(self, ctx: MPParser.Exp3Context): op = "" if ctx.DIVOP(): op = ctx.DIVOP().getText() elif ctx.MULOP(): op = ctx.MULOP().getText() elif ctx.DIV(): op = ctx.DIV().getText() elif ctx.MOD(): op = ctx.MOD().getText() elif ctx.AND(): op = ctx.AND().getText() else: return self.visit(ctx.exp4()) return BinaryOp(op, self.visit(ctx.exp3()), self.visit(ctx.exp4()))
def visitExp3(self, ctx: MPParser.Exp3Context): if ctx.exp3(): if ctx.DIVISION(): return BinaryOp(ctx.DIVISION().getText(), self.visit(ctx.exp3()), self.visit(ctx.exp4())) elif ctx.MUL(): return BinaryOp(ctx.MUL().getText(), self.visit(ctx.exp3()), self.visit(ctx.exp4())) elif ctx.DIV(): return BinaryOp(ctx.DIV().getText(), self.visit(ctx.exp3()), self.visit(ctx.exp4())) elif ctx.AND(): return BinaryOp(ctx.AND().getText(), self.visit(ctx.exp3()), self.visit(ctx.exp4())) elif ctx.MOD(): return BinaryOp(ctx.MOD().getText(), self.visit(ctx.exp3()), self.visit(ctx.exp4())) else: return BinaryOp("Unknown", self.visit(ctx.exp3()), self.visit(ctx.exp4())) else: return self.visit(ctx.exp4())