lexer passes tests