Initial revision
This commit is contained in:
parent
82d5bad777
commit
58b1dd5b6d
1 changed files with 120 additions and 0 deletions
120
util/LLgen/LLgen.1
Normal file
120
util/LLgen/LLgen.1
Normal file
|
@ -0,0 +1,120 @@
|
|||
.\" $Header$
|
||||
.TH LLGEN 1
|
||||
.SH NAME
|
||||
LLgen, an extended LL(1) parser generator
|
||||
.SH SYNOPSIS
|
||||
\fBLLgen\fP
|
||||
[
|
||||
\fB\-vVxXfF\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.
|
||||
.PP
|
||||
If the
|
||||
\fB\-f\fP
|
||||
or the
|
||||
\fB\-F\fP
|
||||
flag is given,
|
||||
\fILLgen\fP generates code, that enables the C-compiler to generate jump-
|
||||
tables for switches. This option should only be used when a large address
|
||||
space is available.
|
||||
.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
|
Loading…
Reference in a new issue