Commit | Line | Data |
---|---|---|
15637ed4 | 1 | #ifndef lint |
78ed81a3 | 2 | static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; |
15637ed4 | 3 | #endif |
78ed81a3 | 4 | #define YYBYACC 1 |
5 | #define YYMAJOR 1 | |
6 | #define YYMINOR 9 | |
7 | #define yyclearin (yychar=(-1)) | |
8 | #define yyerrok (yyerrflag=0) | |
9 | #define YYRECOVERING (yyerrflag!=0) | |
10 | #define YYPREFIX "yy" | |
15637ed4 RG |
11 | #define YYERRCODE 256 |
12 | short yylhs[] = { -1, | |
13 | 0, | |
14 | }; | |
15 | short yylen[] = { 2, | |
16 | 1, | |
17 | }; | |
18 | short yydefred[] = { 0, | |
19 | 1, 0, | |
20 | }; | |
21 | short yydgoto[] = { 2, | |
22 | }; | |
23 | short yysindex[] = { -256, | |
24 | 0, 0, | |
25 | }; | |
26 | short yyrindex[] = { 0, | |
27 | 0, 0, | |
28 | }; | |
29 | short yygindex[] = { 0, | |
30 | }; | |
31 | #define YYTABLESIZE 0 | |
32 | short yytable[] = { 1, | |
33 | }; | |
34 | short yycheck[] = { 256, | |
35 | }; | |
36 | #define YYFINAL 2 | |
37 | #ifndef YYDEBUG | |
38 | #define YYDEBUG 0 | |
39 | #endif | |
40 | #define YYMAXTOKEN 0 | |
41 | #if YYDEBUG | |
42 | char *yyname[] = { | |
43 | "end-of-file", | |
44 | }; | |
45 | char *yyrule[] = { | |
46 | "$accept : S", | |
47 | "S : error", | |
48 | }; | |
49 | #endif | |
50 | #ifndef YYSTYPE | |
51 | typedef int YYSTYPE; | |
52 | #endif | |
78ed81a3 | 53 | #ifdef YYSTACKSIZE |
54 | #undef YYMAXDEPTH | |
55 | #define YYMAXDEPTH YYSTACKSIZE | |
56 | #else | |
15637ed4 RG |
57 | #ifdef YYMAXDEPTH |
58 | #define YYSTACKSIZE YYMAXDEPTH | |
59 | #else | |
78ed81a3 | 60 | #define YYSTACKSIZE 500 |
61 | #define YYMAXDEPTH 500 | |
15637ed4 RG |
62 | #endif |
63 | #endif | |
64 | int yydebug; | |
65 | int yynerrs; | |
66 | int yyerrflag; | |
67 | int yychar; | |
68 | short *yyssp; | |
69 | YYSTYPE *yyvsp; | |
70 | YYSTYPE yyval; | |
71 | YYSTYPE yylval; | |
15637ed4 RG |
72 | short yyss[YYSTACKSIZE]; |
73 | YYSTYPE yyvs[YYSTACKSIZE]; | |
78ed81a3 | 74 | #define yystacksize YYSTACKSIZE |
15637ed4 RG |
75 | #line 4 "error.y" |
76 | main(){printf("yyparse() = %d\n",yyparse());} | |
77 | yylex(){return-1;} | |
78 | yyerror(s)char*s;{printf("%s\n",s);} | |
78ed81a3 | 79 | #line 80 "error.tab.c" |
15637ed4 | 80 | #define YYABORT goto yyabort |
78ed81a3 | 81 | #define YYREJECT goto yyabort |
15637ed4 RG |
82 | #define YYACCEPT goto yyaccept |
83 | #define YYERROR goto yyerrlab | |
84 | int | |
85 | yyparse() | |
86 | { | |
87 | register int yym, yyn, yystate; | |
88 | #if YYDEBUG | |
89 | register char *yys; | |
90 | extern char *getenv(); | |
91 | ||
92 | if (yys = getenv("YYDEBUG")) | |
93 | { | |
94 | yyn = *yys; | |
78ed81a3 | 95 | if (yyn >= '0' && yyn <= '9') |
15637ed4 RG |
96 | yydebug = yyn - '0'; |
97 | } | |
98 | #endif | |
99 | ||
100 | yynerrs = 0; | |
101 | yyerrflag = 0; | |
102 | yychar = (-1); | |
103 | ||
104 | yyssp = yyss; | |
105 | yyvsp = yyvs; | |
106 | *yyssp = yystate = 0; | |
107 | ||
108 | yyloop: | |
109 | if (yyn = yydefred[yystate]) goto yyreduce; | |
110 | if (yychar < 0) | |
111 | { | |
112 | if ((yychar = yylex()) < 0) yychar = 0; | |
113 | #if YYDEBUG | |
114 | if (yydebug) | |
115 | { | |
116 | yys = 0; | |
117 | if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; | |
118 | if (!yys) yys = "illegal-symbol"; | |
78ed81a3 | 119 | printf("%sdebug: state %d, reading %d (%s)\n", |
120 | YYPREFIX, yystate, yychar, yys); | |
15637ed4 RG |
121 | } |
122 | #endif | |
123 | } | |
124 | if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && | |
125 | yyn <= YYTABLESIZE && yycheck[yyn] == yychar) | |
126 | { | |
127 | #if YYDEBUG | |
128 | if (yydebug) | |
78ed81a3 | 129 | printf("%sdebug: state %d, shifting to state %d\n", |
130 | YYPREFIX, yystate, yytable[yyn]); | |
15637ed4 RG |
131 | #endif |
132 | if (yyssp >= yyss + yystacksize - 1) | |
133 | { | |
134 | goto yyoverflow; | |
135 | } | |
136 | *++yyssp = yystate = yytable[yyn]; | |
137 | *++yyvsp = yylval; | |
138 | yychar = (-1); | |
139 | if (yyerrflag > 0) --yyerrflag; | |
140 | goto yyloop; | |
141 | } | |
142 | if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && | |
143 | yyn <= YYTABLESIZE && yycheck[yyn] == yychar) | |
144 | { | |
145 | yyn = yytable[yyn]; | |
146 | goto yyreduce; | |
147 | } | |
148 | if (yyerrflag) goto yyinrecovery; | |
149 | #ifdef lint | |
150 | goto yynewerror; | |
151 | #endif | |
152 | yynewerror: | |
153 | yyerror("syntax error"); | |
154 | #ifdef lint | |
155 | goto yyerrlab; | |
156 | #endif | |
157 | yyerrlab: | |
158 | ++yynerrs; | |
159 | yyinrecovery: | |
160 | if (yyerrflag < 3) | |
161 | { | |
162 | yyerrflag = 3; | |
163 | for (;;) | |
164 | { | |
165 | if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && | |
166 | yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) | |
167 | { | |
168 | #if YYDEBUG | |
169 | if (yydebug) | |
78ed81a3 | 170 | printf("%sdebug: state %d, error recovery shifting\ |
171 | to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); | |
15637ed4 RG |
172 | #endif |
173 | if (yyssp >= yyss + yystacksize - 1) | |
174 | { | |
175 | goto yyoverflow; | |
176 | } | |
177 | *++yyssp = yystate = yytable[yyn]; | |
178 | *++yyvsp = yylval; | |
179 | goto yyloop; | |
180 | } | |
181 | else | |
182 | { | |
183 | #if YYDEBUG | |
184 | if (yydebug) | |
78ed81a3 | 185 | printf("%sdebug: error recovery discarding state %d\n", |
186 | YYPREFIX, *yyssp); | |
15637ed4 RG |
187 | #endif |
188 | if (yyssp <= yyss) goto yyabort; | |
189 | --yyssp; | |
190 | --yyvsp; | |
191 | } | |
192 | } | |
193 | } | |
194 | else | |
195 | { | |
196 | if (yychar == 0) goto yyabort; | |
197 | #if YYDEBUG | |
198 | if (yydebug) | |
199 | { | |
200 | yys = 0; | |
201 | if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; | |
202 | if (!yys) yys = "illegal-symbol"; | |
78ed81a3 | 203 | printf("%sdebug: state %d, error recovery discards token %d (%s)\n", |
204 | YYPREFIX, yystate, yychar, yys); | |
15637ed4 RG |
205 | } |
206 | #endif | |
207 | yychar = (-1); | |
208 | goto yyloop; | |
209 | } | |
210 | yyreduce: | |
211 | #if YYDEBUG | |
212 | if (yydebug) | |
78ed81a3 | 213 | printf("%sdebug: state %d, reducing by rule %d (%s)\n", |
214 | YYPREFIX, yystate, yyn, yyrule[yyn]); | |
15637ed4 RG |
215 | #endif |
216 | yym = yylen[yyn]; | |
217 | yyval = yyvsp[1-yym]; | |
218 | switch (yyn) | |
219 | { | |
220 | } | |
221 | yyssp -= yym; | |
222 | yystate = *yyssp; | |
223 | yyvsp -= yym; | |
224 | yym = yylhs[yyn]; | |
225 | if (yystate == 0 && yym == 0) | |
226 | { | |
78ed81a3 | 227 | #if YYDEBUG |
15637ed4 | 228 | if (yydebug) |
78ed81a3 | 229 | printf("%sdebug: after reduction, shifting from state 0 to\ |
230 | state %d\n", YYPREFIX, YYFINAL); | |
15637ed4 RG |
231 | #endif |
232 | yystate = YYFINAL; | |
233 | *++yyssp = YYFINAL; | |
234 | *++yyvsp = yyval; | |
235 | if (yychar < 0) | |
236 | { | |
237 | if ((yychar = yylex()) < 0) yychar = 0; | |
238 | #if YYDEBUG | |
239 | if (yydebug) | |
240 | { | |
241 | yys = 0; | |
242 | if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; | |
243 | if (!yys) yys = "illegal-symbol"; | |
78ed81a3 | 244 | printf("%sdebug: state %d, reading %d (%s)\n", |
245 | YYPREFIX, YYFINAL, yychar, yys); | |
15637ed4 RG |
246 | } |
247 | #endif | |
248 | } | |
249 | if (yychar == 0) goto yyaccept; | |
250 | goto yyloop; | |
251 | } | |
252 | if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && | |
253 | yyn <= YYTABLESIZE && yycheck[yyn] == yystate) | |
254 | yystate = yytable[yyn]; | |
255 | else | |
256 | yystate = yydgoto[yym]; | |
78ed81a3 | 257 | #if YYDEBUG |
15637ed4 | 258 | if (yydebug) |
78ed81a3 | 259 | printf("%sdebug: after reduction, shifting from state %d \ |
260 | to state %d\n", YYPREFIX, *yyssp, yystate); | |
15637ed4 RG |
261 | #endif |
262 | if (yyssp >= yyss + yystacksize - 1) | |
263 | { | |
264 | goto yyoverflow; | |
265 | } | |
266 | *++yyssp = yystate; | |
267 | *++yyvsp = yyval; | |
268 | goto yyloop; | |
269 | yyoverflow: | |
270 | yyerror("yacc stack overflow"); | |
271 | yyabort: | |
272 | return (1); | |
273 | yyaccept: | |
274 | return (0); | |
275 | } |