public override string VisitOrExpression(SearchGrammarParser.OrExpressionContext context)
        {
            this.stringBuilder.AppendLine(new string(' ', this.currentDepth) + "OrExpression");
            this.currentDepth += 2;

            var result = base.VisitOrExpression(context);

            this.currentDepth -= 2;

            return(result);
        }
        public override GrammarResult VisitOrExpression(SearchGrammarParser.OrExpressionContext context)
        {
            if (context.ChildCount == 1)
            {
                return(base.VisitOrExpression(context));
            }
            else
            {
                var expression = Expression.OrElse(
                    base.Visit(context.children[0]).Expression,
                    base.Visit(context.children[context.ChildCount - 1]).Expression);

                return(new GrammarResult(expression, this.terms));
            }
        }