shithub: riscv

ref: 2417e3f61def0443d8f75bcc5003a63e02fe880b
dir: /sys/man/1/lex/

View raw version
.TH LEX 1
.SH NAME
lex \- generator of lexical analysis programs
.SH SYNOPSIS
.B lex
[
.B -tvn9
]
[
.I file ...
]
.SH DESCRIPTION
.I Lex
generates programs to be used in simple lexical analysis of text.
The input
.I files
(standard input default)
contain regular expressions
to be searched for and actions written in C to be executed when
expressions are found.
.PP
A C source program,
.B 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.
.PP
The options have the following meanings.
.TP
.B -t
Place the result on the standard output instead of in file
.BR lex.yy.c .
.TP
.B -v
Print a one-line summary of statistics of the generated analyzer.
.TP
.B -n
Opposite of
.BR -v ;
.B -n
is default.
.TP
.B -9
Adds code to be able to compile through the native C compilers.
.SH EXAMPLES
This program converts upper case to lower,
removes blanks at the end of lines,
and replaces multiple blanks by single blanks.
.PP
.EX
%%
[A-Z]	putchar(yytext[0]+\'a\'-\'A\');
[ ]+$
[ ]+	putchar(\' \');
.EE
.SH FILES
.TF /sys/lib/lex/ncform
.TP
.B lex.yy.c
output
.TP
.B /sys/lib/lex/ncform
template
.SH "SEE ALSO"
.IR yacc (1), 
.IR sed (1)
.br
M. E. Lesk and E. Schmidt,
`LEX\(emLexical Analyzer Generator', 
.I
Unix Research System Programmer's Manual,
Tenth Edition, Volume 2.
.SH SOURCE
.B /sys/src/cmd/lex
.SH BUGS
Cannot handle
.SM UTF.
.PP
The asteroid to kill this dinosaur is still in orbit.