def visitExpr5(self, ctx: MCParser.Expr5Context): if ctx.ADD(): op = ctx.ADD().getText() left = self.visitExpr5(ctx.expr5()) right = self.visitExpr6(ctx.expr6()) return BinaryOp(op, left, right) elif ctx.SUB(): op = ctx.SUB().getText() left = self.visitExpr5(ctx.expr5()) right = self.visitExpr6(ctx.expr6()) return BinaryOp(op, left, right) else: return self.visitExpr6(ctx.expr6())
def visitExpr5(self, ctx: MCParser.Expr5Context): if ctx.ADD(): return BinaryOp('+', self.visit(ctx.expr6()), self.visit(ctx.expr5())) elif ctx.SUBNEG(): return BinaryOp('-', self.visit(ctx.expr6()), self.visit(ctx.expr5())) else: return self.visit(ctx.expr6())