plex

plex(1)                Pascal lexical analyzer generator               plex(1)



NAME
       plex - The Pascal Lex lexical analyzer generator.



USAGE
       lex [options] lex-file[.l] [output-file[.pas]]



OPTIONS
       -v     Verbose: plex generates a readable description of the generated
              lexical analyzer, written to lex-file with new extension .lst

       -o     Optimize: plex optimizes DFA tables to produce a minimal DFA.


DESCRIPTION
       plex is a program generator that is used to generate the Turbo Pascal
       source code for a lexical analyzer subroutine from the specification of
       an input language by a regular expression grammar.

       plex parses the source grammar contained in lex-file (with default
       suffix .l) and writes the constructed lexical analyzer subroutine to
       the specified output-file (with default suffix .pas); if no output file
       is specified, output goes to lex-file with new suffix .pas. If any
       errors are found during compilation, error messages are written to the
       list file (lex-file with new suffix .lst).

       The generated output file contains a lexical analyzer routine, yylex,
       implemented as:

                function yylex : Integer;

       This routine has to be called by your main program to execute the
       lexical analyzer. The return value of the yylex routine usually denotes
       the number of a token recognized by the lexical analyzer (see the
       return routine in the LexLib unit). At end-of-file the yylex routine
       normally returns 0.

       The code template for the yylex routine may be found in the yylex.cod
       file. This file is needed by TP Lex when it constructs the output file.
       It must be present either in the current directory or in the directory
       from which TP Lex was executed (TP Lex searches these directories in
       the indicated order). (NB: For the Linux/Free Pascal version, the code
       template is searched in some directory defined at compile-time instead
       of the execution path, usually /usr/lib/fpc/lexyacc.)

       The TP Lex library (LexLib) unit is required by programs using Lex-
       generated lexical analyzers; you will therefore have to put an
       appropriate uses clause into your program or unit that contains the
       lexical analyzer routine. The LexLib unit also provides various useful
       utility routines; see the file lexlib.pas for further information.



MORE INFORMATION
       For more information, see the documentation that comes with plex and
       yacc.


AUTHOR
       Albert Graeff (<ag@muwiinfa.geschichte.uni-mainz.de>, <Dr.Graef@t-
       online.de>)


SEE ALSO
       ppc386(1) pyacc(1)



Free Pascal                       10 Jan 2000                          plex(1)