Esempio n. 1
0
        public TSQLOptionClause Parse(ITSQLTokenizer tokenizer)
        {
            TSQLOptionClause option = new TSQLOptionClause();

            if (!tokenizer.Current.IsKeyword(TSQLKeywords.OPTION))
            {
                throw new InvalidOperationException("OPTION expected.");
            }

            option.Tokens.Add(tokenizer.Current);

            while (
                tokenizer.MoveNext() &&
                !tokenizer.Current.IsCharacter(TSQLCharacters.OpenParentheses))
            {
                option.Tokens.Add(tokenizer.Current);
            }

            do
            {
                if (tokenizer.Current != null)
                {
                    option.Tokens.Add(tokenizer.Current);
                }
            } while (
                tokenizer.MoveNext() &&
                !tokenizer.Current.IsCharacter(TSQLCharacters.CloseParentheses));

            if (tokenizer.Current != null)
            {
                option.Tokens.Add(tokenizer.Current);
                tokenizer.MoveNext();
            }

            TSQLTokenParserHelper.ReadCommentsAndWhitespace(
                tokenizer,
                option);

            return(option);
        }
Esempio n. 2
0
        public TSQLOptionClause Parse(ITSQLTokenizer tokenizer)
        {
            TSQLOptionClause option = new TSQLOptionClause();

            if (!tokenizer.Current.IsKeyword(TSQLKeywords.OPTION))
            {
                throw new ApplicationException("OPTION expected.");
            }

            option.Tokens.Add(tokenizer.Current);

            while (
                tokenizer.MoveNext() &&
                !tokenizer.Current.IsCharacter(TSQLCharacters.OpenParentheses))
            {
                option.Tokens.Add(tokenizer.Current);
            }

            do
            {
                if (tokenizer.Current != null)
                {
                    option.Tokens.Add(tokenizer.Current);
                }
            } while (
                tokenizer.MoveNext() &&
                !tokenizer.Current.IsCharacter(TSQLCharacters.CloseParentheses));

            if (tokenizer.Current != null)
            {
                option.Tokens.Add(tokenizer.Current);
                tokenizer.MoveNext();
            }

            return(option);
        }