def visitExpr5(self, ctx: MCParser.Expr5Context): def getOp(ctx): if (ctx.ADD()): return ctx.ADD().getText() if (ctx.SUB()): return ctx.SUB().getText() return self.visit(ctx.expr6()) if ctx.getChildCount() == 1 else BinaryOp(getOp(ctx), self.visit(ctx.expr5()), self.visit(ctx.expr6()))
def visitExpr5(self, ctx:MCParser.Expr5Context): # expr5 : expr5 (ADD | SUB) expr6 | expr6; if ctx.getChildCount() == 3: return BinaryOp(ctx.getChild(1).getText(),self.visit(ctx.expr5()),self.visit(ctx.expr6())) else: return self.visit(ctx.expr6())