public Parser(string text) { var tokens = new List <SyntaxToken>(); var lexer = new Lexer(text); SyntaxToken token; do { token = lexer.NextToken(); if (token.Kind != SyntaxKind.WhitespaceToken && token.Kind != SyntaxKind.BadToken) { tokens.Add(token); } } while (token.Kind != SyntaxKind.EndOfFileToken); _tokens = tokens.ToArray(); }