.\" $Header$ .TH LLGEN 1ACK .ad .SH NAME LLgen, an extended LL(1) parser generator .SH SYNOPSIS \fBLLgen\fP [ \fB\-vVxX\fP ] file ... .SH DESCRIPTION \fILLgen\fP converts a context-free grammar into a set of functions which form a recursive descent parser with no backtrack. The grammar may be ambiguous; ambiguities can be broken by user specifications. .PP \fILLgen\fP reads each \fIfile\fP in sequence. Together, these files must constitute a context-free grammar. For each file, \fILLgen\fP generates an output file, which must be compiled by the C-compiler. In addition, it generates the files \fILpars.c\fP and \fILpars.h.\fP \fILpars.h\fP contains the \fIdefine\fP statements that associate the \fILLgen\fP-assigned `token-codes' with user declared `token-names'. This allows other source files, for instance the source file containing the lexical analyzer, to access the token-codes by using the token-names. \fILpars.c\fP contains the error recovery routines and tables. It must also be compiled by the C-compiler. .PP \fILLgen\fP will only update those output files that differ from their previous version. This allows \fILLgen\fP to be used with \fImake\fP (I) convieniently. .PP To obtain a working program, the user must also supply a lexical analyzer, as well as \fImain\fP and \fILLmessage\fP, an error reporting routine; \fILex\fP (I) is a useful program for creating lexical analysers usable by \fILLgen\fP. .PP If the \fB\-v\fP or the \fB\-V\fP flag is given, the file \fILL.output\fP is prepared, which contains a description of the conflicts that were not resolved. If it is given more than once, \fILLgen\fP will be more "verbose". If it is given three times, a complete description of the grammar will be supplied. .PP If the \fB\-x\fP or the \fB\-X\fP flag is given, the sets that are computed are extended with the nonterminal symbols and these extended sets are also included in the \fILL.output\fP file. .SH FILES LL.output verbose output file .br Lpars.c the error recovery routines .br Lpars.h defines for token names .SH "SEE ALSO" \fIlex\fP (I) .br \fImake\fP (I) .br \fILLgen, an Extended LL(1) Parser Generator\fP by C.J.H. Jacobs. .SH DIAGNOSTICS Are intended to be self-explanatory. They are reported on standard error. A more detailed report is found in the \fILL.output\fP file. .SH BUGS Because some file names are fixed, at most one \fILLgen\fP process can be active in a given directory at a time. .SH AUTHOR Ceriel J. H. Jacobs