/// <remarks> It is an error to access the current TokenType until <see cref="NextToken"/> has been called. </remarks> public Lexer(string input) { _tokenizer = new Tokenizer(input); for (int i = 0; i < LookAheadCount; i++) _tokens[i] = new LexerToken(); for (int i = 0; i < (LookAheadCount - 1); i++) if (!ReadNext(i)) break; }