lexer done