Documented %prefix
This commit is contained in:
parent
db54c35c24
commit
77577f45fa
1 changed files with 23 additions and 0 deletions
|
@ -703,6 +703,25 @@ can be "#\ include"d in any file that needs the token-names.
|
||||||
The lexical analyzer must signal the end
|
The lexical analyzer must signal the end
|
||||||
of input to \fILLparse\fR
|
of input to \fILLparse\fR
|
||||||
by returning a number less than or equal to zero.
|
by returning a number less than or equal to zero.
|
||||||
|
.NH
|
||||||
|
Programs with more than one parser
|
||||||
|
.PP
|
||||||
|
\fILLgen\fR offers a simple facility for having more than one parser in
|
||||||
|
a program: in this case, the user can change the names of global procedures,
|
||||||
|
variables, etc, by giving a different prefix, like this:
|
||||||
|
.sp 1
|
||||||
|
.nf
|
||||||
|
.ft CW
|
||||||
|
%prefix XX ;
|
||||||
|
.ft R
|
||||||
|
.fi
|
||||||
|
.sp 1
|
||||||
|
The effect of this is that all global names start with XX instead of LL, for
|
||||||
|
the parser that has this prefix. This holds for the variables \fILLsymb\fP,
|
||||||
|
which now is called \fIXXsymb\fP, and also for the routine \fILLmessage\fP,
|
||||||
|
which must now be called \fIXXmessage\fP.
|
||||||
|
\fILL.output\fP is now \fIXX.output\fP, and \fILpars.c\fP and \fILpars.h\fP
|
||||||
|
are now called \fIXXpars.c\fP and \fIXXpars.h\fP.
|
||||||
.bp
|
.bp
|
||||||
.SH
|
.SH
|
||||||
References
|
References
|
||||||
|
@ -741,6 +760,7 @@ version of \fILLgen\fR is written with \fILLgen\fR.
|
||||||
%token PREFER; /* %prefer */
|
%token PREFER; /* %prefer */
|
||||||
%token DEFAULT; /* %default */
|
%token DEFAULT; /* %default */
|
||||||
%token LEXICAL; /* %lexical */
|
%token LEXICAL; /* %lexical */
|
||||||
|
%token PREFIX; /* %prefix */
|
||||||
%token ONERROR; /* %onerror */
|
%token ONERROR; /* %onerror */
|
||||||
%token FIRST; /* %first */
|
%token FIRST; /* %first */
|
||||||
|
|
||||||
|
@ -771,6 +791,9 @@ declaration
|
||||||
| LEXICAL
|
| LEXICAL
|
||||||
IDENTIFIER
|
IDENTIFIER
|
||||||
';'
|
';'
|
||||||
|
| PREFIX
|
||||||
|
IDENTIFIER
|
||||||
|
';'
|
||||||
| ONERROR
|
| ONERROR
|
||||||
IDENTIFIER
|
IDENTIFIER
|
||||||
';'
|
';'
|
||||||
|
|
Loading…
Add table
Reference in a new issue