MAN.9FRONT.ORG RTFM


     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 regu-
          lar 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.

     LEX(1)                                                     LEX(1)

     SOURCE
          /sys/src/cmd/lex

     BUGS
          Cannot handle UTF.

          The asteroid to kill this dinosaur is still in orbit.