LEX(1) LEX(1) NAME lex - generator of lexical analysis programs SYNOPSIS lex [ -tvfn ] [ file ] ... DESCRIPTION _L_e_x generates programs to be used in simple lexical analyis of text. The input _f_i_l_e_s (standard input default) contain regular expressions to be searched for, and actions written in C to be executed when expres‐ sions are found. A C source program, ’lex.yy.c’ is generated, to be compiled thus: cc lex.yy.c -ll This program, when run, copies unrecognized portions of the input to the output, and executes the associated C action for each regular expression that is recognized. The options have the following meanings. -t Place the result on the standard output instead of in file "lex.yy.c". -v Print a one-line summary of statistics of the generated ana‐ lyzer. -n Opposite of -v; -n is default. -f "Faster" compilation: don’t bother to pack the resulting tables; limited to small programs. EXAMPLE lex lexcommands would draw _l_e_x instructions from the file _l_e_x_c_o_m_m_a_n_d_s_, and place the output in _l_e_x_._y_y_._c %% [A-Z] putchar(yytext[0]+´a´-´A´); [ ]+$ ; [ ]+ putchar(´ ´); is an example of a _l_e_x program that would be put into a _l_e_x command file. This program converts upper case to lower, removes blanks at the end of lines, and replaces multiple blanks by single blanks. SEE ALSO yacc(1), sed(1) M. E. Lesk and E. Schmidt, _L_E_X _- _L_e_x_i_c_a_l _A_n_a_l_y_z_e_r _G_e_n_e_r_a_t_o_r 7th Edition April 14, 1986 LEX(1)