def visitExpr(self, ctx: MCParser.ExprContext): if (ctx.getChildCount() == 3): op = ctx.getChild(1).getText() left = self.visit(ctx.expr1()) right = self.visit(ctx.expr()) return BinaryOp(op, left, right) else: return self.visit(ctx.expr1())
def visitExpr(self, ctx: MCParser.ExprContext): if ctx.ASSIGN(): return BinaryOp('=', self.visit(ctx.expr()), self.visit(ctx.expr1())) else: return self.visit(ctx.expr1())
def visitExpr(self, ctx: MCParser.ExprContext): return self.visit(ctx.expr1()) if ctx.getChildCount() == 1 else BinaryOp(ctx.ASSIGN().getText(), self.visit(ctx.expr1()), self.visit(ctx.expr()))
def visitExpr(self, ctx:MCParser.ExprContext): # expr : expr1 ASSIGN expr | expr1; return BinaryOp(ctx.ASSIGN().getText(),self.visit(ctx.expr1()),self.visit(ctx.expr())) if ctx.getChildCount() == 3 else self.visit(ctx.expr1())