


LEX(1)		    UNIX Programmer's Manual		   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 expressions 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
	  analyzer.

     -n   Opposite of -v; -n is default.

     -f   "Faster" compilation: don't bother to pack the result-
	  ing 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.





Printed 11/26/99	 April 14, 1986                         1






LEX(1)		    UNIX Programmer's Manual		   LEX(1)



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




















































Printed 11/26/99	 April 14, 1986                         2



