public Token[] PopNextStatement() { if (lastTokens != null) { Token[] tmp = lastTokens; lastTokens = null; return(tmp); } line++; Token t = DequeueToken(); while (t.IsSymbol("\n")) { line++; t = DequeueToken(); } if (storedTokens.Count == 0) { return(new Token[0]); } getNextStatementTokens.Clear(); while (t.type != TokenType.Null && !t.IsSymbol("\n")) { getNextStatementTokens.Add(t); t = DequeueToken(); } return(getNextStatementTokens.ToArray()); }