private Maybe<Result> VisitOp(QueryParser.Bool_exprContext context) { var left = new BasicExprVisitor(_zmi, _env).Visit(context.basic_expr()[0]); var right = new BasicExprVisitor(_zmi, _env).Visit(context.basic_expr()[1]); return left.Zip(right) .Bind(tuple => new RelOpVisitor((tuple.Item1, tuple.Item2)).Visit(context.rel_op())); }
public override Maybe<Result> VisitBool_expr(QueryParser.Bool_exprContext context) { if (context.rel_op() != null) return VisitOp(context); if (context.REGEXP() != null) return VisitRegExp(context); return VisitBasic(context); }