protected Tokenizer(string source) { this.source = source; pos = 0; Line = 1; lineStart = 0; Lookahead = Next(); }
protected Token Lex() { var prev = Lookahead; Lookahead = Next(); return prev; }
Exception OnUnexpectedError(Token token) { return new UnexpectedTokenException(Line, Column(), token); }