modified:   lex.c