Пример #1
0
        public Token[] PopNextStatement()
        {
            if (this.lastTokens != null)
            {
                Token[] tmp = this.lastTokens;
                this.lastTokens = null;
                return(tmp);
            }

            this.line++;
            Token t = this.DequeueToken();

            while (t.IsSymbol("\n"))
            {
                this.line++;
                t = this.DequeueToken();
            }

            if (this.storedTokens.Count == 0)
            {
                return(new Token[0]);
            }

            this.getNextStatementTokens.Clear();
            while (t.type != TokenType.Null && !t.IsSymbol("\n"))
            {
                this.getNextStatementTokens.Add(t);
                t = this.DequeueToken();
            }

            return(this.getNextStatementTokens.ToArray());
        }