lex analysis