Completed lexer