xref: /plan9/sys/man/1/lex (revision 4f28177105e14bc5c70ae9ec986773133c757004)
LEX 1
NAME
lex - generator of lexical analysis programs
SYNOPSIS
lex [ -tvn9 ] [ file ... ]
DESCRIPTION
Lex 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. 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.

-9 Adds code to be able to compile through the native C compilers.

EXAMPLES
This program converts upper case to lower, removes blanks at the end of lines, and replaces multiple blanks by single blanks.

.EX %% [A-Z] putchar(yytext[0]+\'a\'-\'A\'); [ ]+$ [ ]+ putchar(\' \');

FILES
.TF /sys/lib/lex/ncform

lex.yy.c output

/sys/lib/lex/ncform template

"SEE ALSO"
yacc (1), sed (1)

M. E. Lesk and E. Schmidt, `LEX\(emLexical Analyzer Generator', Unix Research System Programmer's Manual, Tenth Edition, Volume 2.

SOURCE
/sys/src/cmd/lex
BUGS
Cannot handle UTF.

The asteroid to kill this dinosaur is still in orbit.