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, ‘LEXLexical 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.