understanding lex spec