Unix |
Unix v7 |
|
![]() |
lex(1) |
![]() |
lex − generator of lexical analysis programs
lex [ −tvfn ] [ file ] ...
Lex generates programs to be used in simple lexical analyis of text. The input files (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 following lex program converts upper case to lower, removes blanks at the end of lines, and replaces multiple blanks by single blanks.
%% |
[A−Z] | ||
putchar(yytext[0]+´a´−´A´); |
[ ]+$
[ ]+ | ||
putchar(´ ´); |
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 resulting tables; limited to small programs. |
yacc(1)
M. E. Lesk and E. Schmidt, LEX − Lexical Analyzer
Generator
![]() |
lex(1) | ![]() |