Lexer(String text, {this.filename, this.currentLine = 1, this.index = 0, this.endOfFile}) { input = text.codeUnits; endOfFile ??= input.length; }