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()); }