LEX (1)

NAME

lex - generator of lexical analysis programs

CONTENTS

Synopsis
Description
See Also

SYNOPSIS

lex [-ctvnVew] [-Q(y|n)] [-Y directory] [files ...]

DESCRIPTION

Lex generates programs to be used in simple lexical analyis 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, to be compiled thus:
cc lex.yy.c -ll
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 following lex 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(' ');
The options have the following meanings.
-c Generate output in the 'C' language. This is the default.
-e Generates output that can handle multibyte characters, with yytext[] being of type unsigned char[]. This option is an extension.
-n Opposite of -v; -n is default.
-Q(y|n) With -Qy, a version identification variable is put into lex.yy.c. With -Qn (the default), no such variable is generated.
-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.
-V Causes version information for lex to be printed.
-w Generates output that can handle multibyte characters, with yytext[] being of type wchar_t[]. This option is an extension.
-Y directory
  Use 'directory' to locate driver files, instead of the default '/usr/ccs/lib/lex'. This option is an extension.

SEE ALSO

yacc(1)
M. E. Lesk and E. Schmidt, LEX - Lexical Analyzer Generator


Heirloom Development Tools LEX (1) 11/27/05
Generated by a modified version of manServer 1.07 from heirloom-devtools-070527/lex/lex.1 using man macros.