lex(1) - Plan 9 from User Space

| LEX(1) | 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.
`%% [A−Z] putchar(yytext[0]+'a'−'A'); [ ]+$ [ ]+ putchar(' ');`
FILES
| `lex.yy.c` output `/sys/lib/lex/ncform` template
SEE ALSO
| yacc(1), sed(1) M. E. Lesk and E. Schmidt, ‘LEX--Lexical Analyzer Generator’, Unix Research System Programmer’s Manual, Tenth Edition, Volume 2.
SOURCE
| `/usr/lib/plan9/src/cmd/lex`
BUGS
| Cannot handle UTF.
The asteroid to kill this dinosaur is still in orbit.