home | help
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 lex-
	    ical 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 dur-
     ing 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,  im-
     plemented 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 or-
     der). (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-gener-
     ated lexical analyzers; you will therefore have to put an appropriate  uses
     clause  into  your  program or unit that contains the lexical analyzer rou-
     tine. 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-on-
     line.de>)

SEE ALSO
     ppc386(1) pyacc(1)

Free Pascal			   10 Jan 2000				 plex(1)

home | help