refine Lexer