Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (1) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

yacc(1)

sed(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

­/sys/src/cmd/lex

BUGS

Cannot handle UTF. 

The asteroid to kill this dinosaur is still in orbit. 

Plan 9  —  April 17, 2005

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026