lex(1) General Commands Manual lex(1)
Name
lex - generate lexical analyzer
Syntax
lex [-tvfn] file...
Description
The command generates programs to be used in simple lexical analysis 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. It is compiled using the following command line:
cc lex.yy.c -ll
This program copies unrecognized portions of the input to the output, and executes the associated C action for each regular expression that
is recognized.
Options
-f Runs a faster compilation (does not pack resulting tables). This is limited to small programs.
-n Prints no summary information (default option).
-t Writes to standard output instead of to file
-v Prints one-line summary of generated statistics.
Examples
In the following example, the command
lex lexcommands
draws instructions from the file lexcommands, and places the output in lex.yy.c. The command
%%
[A-Z] putchar(yytext[0]+'a'-'A');
[ ]+$
[ ]+ putchar(' ');
is an example of a program that would be put into a 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
sed(1), yacc(1)
"LEX - Lexical Analyzer Generator", Supplementary Documents, Volume 2: Programmer
lex(1)