public override int VisitMulDiv([NotNull] ExprParser.MulDivContext context) { int left = Visit(context.expr(0)); int right = Visit(context.expr(1)); if (context.op.Type == ExprParser.MUL) { return(left * right); } else { Debug.Assert(context.op.Type == ExprParser.DIV); return(left / right); } }
public override Expr VisitMulDiv([NotNull] ExprParser.MulDivContext context) { return(new FunctionExpr(context.op.Type == ExprParser.MUL ? "*" : "/") { Arguments = context.expr().Select(Visit).ToArray() }); }