public override int VisitAddSub([NotNull] ExprParser.AddSubContext context) { int left = Visit(context.expr(0)); int right = Visit(context.expr(1)); if (context.op.Type == ExprParser.ADD) { return(left + right); } else { Debug.Assert(context.op.Type == ExprParser.SUB); return(left - right); } }
public override Expr VisitAddSub([NotNull] ExprParser.AddSubContext context) { return(new FunctionExpr(context.op.Type == ExprParser.PLUS ? "+" : "-") { Arguments = context.expr().Select(Visit).ToArray() }); }