modify for Compiler::Lexer