Beispiel #1
0
        private string ConsumeSubQuery()
        {
            StringBuilder sq = new StringBuilder();

            while (!_tq.IsEmpty)
            {
                if (_tq.Matches("("))
                {
                    sq.Append("(").Append(_tq.ChompBalanced('(', ')')).Append(")");
                }
                else if (_tq.Matches("["))
                {
                    sq.Append("[").Append(_tq.ChompBalanced('[', ']')).Append("]");
                }
                else if (_tq.MatchesAny(combinators))
                {
                    break;
                }
                else
                {
                    sq.Append(_tq.Consume());
                }
            }
            return(sq.ToString());
        }