NAME
lex - generator of lexical analysis programs
SYNOPSIS
lex [ -tvfn ] [ file ] ...
DESCRIPTION
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 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.
EXAMPLE
lex lexcommands
would draw lex instructions from
the file lexcommands, and place
the output in lex.yy.c
%%
[A-Z] putchar(yytext[0]+’a’-’A’);
[ ]+$ ;
[ ]+ putchar(’ ’);
is an example of a lex program
that would be put into a lex 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, LEX - Lexical Analyzer Generator
(included in the MachTen Programmer’s Guide).