Lexer refactoring.