1 |
/* Output the generated parsing program for bison, |
/* Output the generated parsing program for bison, |
2 |
Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc. |
Copyright 1984, 1986, 1989, 1992, 2000, 2001 |
3 |
|
Free Software Foundation, Inc. |
4 |
|
|
5 |
This file is part of Bison, the GNU Compiler Compiler. |
This file is part of Bison, the GNU Compiler Compiler. |
6 |
|
|
20 |
02111-1307, USA. */ |
02111-1307, USA. */ |
21 |
|
|
22 |
|
|
23 |
/* The parser tables consist of these tables. |
/* The parser tables consist of these tables. Marked ones needed only |
24 |
Starred ones needed only for the semantic parser. |
for the semantic parser. Double marked are output only if switches |
25 |
Double starred are output only if switches are set. |
are set. |
26 |
|
|
27 |
yytranslate = vector mapping yylex's token numbers into bison's token |
YYTRANSLATE = vector mapping yylex's token numbers into bison's |
28 |
numbers. |
token numbers. |
29 |
|
|
30 |
** yytname = vector of string-names indexed by bison token number |
++ YYTNAME = vector of string-names indexed by bison token number. |
31 |
|
|
32 |
** yytoknum = vector of yylex token numbers corresponding to entries |
++ YYTOKNUM = vector of yylex token numbers corresponding to |
33 |
in yytname |
entries in YYTNAME. |
34 |
|
|
35 |
yyrline = vector of line-numbers of all rules. For yydebug printouts. |
YYRLINE = vector of line-numbers of all rules. For yydebug |
36 |
|
printouts. |
37 |
|
|
38 |
yyrhs = vector of items of all rules. |
YYRHS = vector of items of all rules. This is exactly what RITEMS |
39 |
This is exactly what ritems contains. For yydebug and for semantic |
contains. For yydebug and for semantic parser. |
|
parser. |
|
40 |
|
|
41 |
yyprhs[r] = index in yyrhs of first item for rule r. |
YYPRHS[R] = index in YYRHS of first item for rule R. |
42 |
|
|
43 |
yyr1[r] = symbol number of symbol that rule r derives. |
YYR1[R] = symbol number of symbol that rule R derives. |
44 |
|
|
45 |
yyr2[r] = number of symbols composing right hand side of rule r. |
YYR2[R] = number of symbols composing right hand side of rule R. |
46 |
|
|
47 |
* yystos[s] = the symbol number of the symbol that leads to state s. |
+ YYSTOS[S] = the symbol number of the symbol that leads to state |
48 |
|
S. |
49 |
|
|
50 |
yydefact[s] = default rule to reduce with in state s, |
YYDEFACT[S] = default rule to reduce with in state s, when YYTABLE |
51 |
when yytable doesn't specify something else to do. |
doesn't specify something else to do. Zero means the default is an |
52 |
Zero means the default is an error. |
error. |
53 |
|
|
54 |
yydefgoto[i] = default state to go to after a reduction of a rule that |
YYDEFGOTO[I] = default state to go to after a reduction of a rule |
55 |
generates variable ntokens + i, except when yytable |
that generates variable NTOKENS + I, except when YYTABLE specifies |
56 |
specifies something else to do. |
something else to do. |
57 |
|
|
58 |
yypact[s] = index in yytable of the portion describing state s. |
YYPACT[S] = index in YYTABLE of the portion describing state S. |
59 |
The lookahead token's type is used to index that portion |
The lookahead token's type is used to index that portion to find |
60 |
to find out what to do. |
out what to do. |
61 |
|
|
62 |
If the value in yytable is positive, |
If the value in YYTABLE is positive, we shift the token and go to |
63 |
we shift the token and go to that state. |
that state. |
64 |
|
|
65 |
If the value is negative, it is minus a rule number to reduce by. |
If the value is negative, it is minus a rule number to reduce by. |
66 |
|
|
67 |
If the value is zero, the default action from yydefact[s] is used. |
If the value is zero, the default action from YYDEFACT[S] is used. |
68 |
|
|
69 |
yypgoto[i] = the index in yytable of the portion describing |
YYPGOTO[I] = the index in YYTABLE of the portion describing what to |
70 |
what to do after reducing a rule that derives variable i + ntokens. |
do after reducing a rule that derives variable I + NTOKENS. This |
71 |
This portion is indexed by the parser state number, s, |
portion is indexed by the parser state number, S, as of before the |
72 |
as of before the text for this nonterminal was read. |
text for this nonterminal was read. The value from YYTABLE is the |
73 |
The value from yytable is the state to go to if |
state to go to if the corresponding value in YYCHECK is S. |
74 |
the corresponding value in yycheck is s. |
|
75 |
|
YYTABLE = a vector filled with portions for different uses, found |
76 |
yytable = a vector filled with portions for different uses, |
via YYPACT and YYPGOTO. |
77 |
found via yypact and yypgoto. |
|
78 |
|
YYCHECK = a vector indexed in parallel with YYTABLE. It indicates, |
79 |
yycheck = a vector indexed in parallel with yytable. |
in a roundabout way, the bounds of the portion you are trying to |
80 |
It indicates, in a roundabout way, the bounds of the |
examine. |
81 |
portion you are trying to examine. |
|
82 |
|
Suppose that the portion of yytable starts at index P and the index |
83 |
Suppose that the portion of yytable starts at index p |
to be examined within the portion is I. Then if YYCHECK[P+I] != I, |
84 |
and the index to be examined within the portion is i. |
I is outside the bounds of what is actually allocated, and the |
85 |
Then if yycheck[p+i] != i, i is outside the bounds |
default (from YYDEFACT or YYDEFGOTO) should be used. Otherwise, |
86 |
of what is actually allocated, and the default |
YYTABLE[P+I] should be used. |
87 |
(from yydefact or yydefgoto) should be used. |
|
88 |
Otherwise, yytable[p+i] should be used. |
YYFINAL = the state number of the termination state. YYFLAG = most |
89 |
|
negative short int. Used to flag ?? */ |
|
YYFINAL = the state number of the termination state. |
|
|
YYFLAG = most negative short int. Used to flag ?? |
|
|
YYNTBASE = ntokens. |
|
|
*/ |
|
90 |
|
|
91 |
#include "system.h" |
#include "system.h" |
92 |
#include "quotearg.h" |
#include "quotearg.h" |