lexer progress
lexer almost done