16 ! #define FUNCMETH 259
19 ! #define PRIVATEREF 262
20 ! #define FUNC0SUB 263
21 ! #define UNIOPSUB 264
22 ! #define LSTOPSUB 265
35 ! #define CONTINUE 278
48 ! #define DOLSHARP 291
50 ! #define HASHBRACK 293
57 ! #define ASSIGNOP 300
61 ! #define BITANDOP 304
88 - short yyss[YYSTACKSIZE];
89 - YYSTYPE yyvs[YYSTACKSIZE];
90 - #define yystacksize YYSTACKSIZE
96 #define YYACCEPT goto yyaccept
97 #define YYERROR goto yyerrlab
101 register int yym, yyn, yystate;
104 extern char *getenv();
106 if (yys = getenv("YYDEBUG"))
109 #define YYACCEPT goto yyaccept
110 #define YYERROR goto yyerrlab
124 + yydestruct(void *ptr)
126 + struct ysv* ysave = (struct ysv*)ptr;
127 + if (ysave->yyss) Safefree(ysave->yyss);
128 + if (ysave->yyvs) Safefree(ysave->yyvs);
129 + yydebug = ysave->oldyydebug;
130 + yynerrs = ysave->oldyynerrs;
131 + yyerrflag = ysave->oldyyerrflag;
132 + yychar = ysave->oldyychar;
133 + yyval = ysave->oldyyval;
134 + yylval = ysave->oldyylval;
141 register int yym, yyn, yystate;
142 + register short *yyssp;
143 + register YYSTYPE *yyvsp;
146 + unsigned yystacksize = YYSTACKSIZE;
150 + #ifndef __cplusplus
151 extern char *getenv();
156 + New(73, ysave, 1, struct ysv);
157 + SAVEDESTRUCTOR(yydestruct, ysave);
158 + ysave->oldyydebug = yydebug;
159 + ysave->oldyynerrs = yynerrs;
160 + ysave->oldyyerrflag = yyerrflag;
161 + ysave->oldyychar = yychar;
162 + ysave->oldyyval = yyval;
163 + ysave->oldyylval = yylval;
166 if (yys = getenv("YYDEBUG"))
174 + ** Initialize private stacks (yyparse may be called from an action)
176 + New(73, yyss, yystacksize, short);
177 + New(73, yyvs, yystacksize, YYSTYPE);
178 + ysave->yyss = yyss;
179 + ysave->yyvs = yyvs;
180 + if (!yyvs || !yyss)
187 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
188 if (!yys) yys = "illegal-symbol";
189 ! printf("yydebug: state %d, reading %d (%s)\n", yystate,
193 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
194 if (!yys) yys = "illegal-symbol";
195 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
202 ! printf("yydebug: state %d, shifting to state %d\n",
203 yystate, yytable[yyn]);
205 if (yyssp >= yyss + yystacksize - 1)
209 *++yyssp = yystate = yytable[yyn];
213 ! fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
214 yystate, yytable[yyn]);
216 if (yyssp >= yyss + yystacksize - 1)
219 ! ** reallocate and recover. Note that pointers
220 ! ** have to be reset, or bad things will happen
222 ! int yyps_index = (yyssp - yyss);
223 ! int yypv_index = (yyvsp - yyvs);
224 ! yystacksize += YYSTACKSIZE;
225 ! ysave->yyvs = yyvs =
226 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
227 ! ysave->yyss = yyss =
228 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
229 ! if (!yyvs || !yyss)
231 ! yyssp = yyss + yyps_index;
232 ! yyvsp = yyvs + yypv_index;
234 *++yyssp = yystate = yytable[yyn];
239 ! printf("yydebug: state %d, error recovery shifting\
240 ! to state %d\n", *yyssp, yytable[yyn]);
242 if (yyssp >= yyss + yystacksize - 1)
246 *++yyssp = yystate = yytable[yyn];
251 ! "yydebug: state %d, error recovery shifting to state %d\n",
252 ! *yyssp, yytable[yyn]);
254 if (yyssp >= yyss + yystacksize - 1)
257 ! ** reallocate and recover. Note that pointers
258 ! ** have to be reset, or bad things will happen
260 ! int yyps_index = (yyssp - yyss);
261 ! int yypv_index = (yyvsp - yyvs);
262 ! yystacksize += YYSTACKSIZE;
263 ! ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
264 ! yystacksize * sizeof(YYSTYPE));
265 ! ysave->yyss = yyss = (short*)realloc((char*)yyss,
266 ! yystacksize * sizeof(short));
267 ! if (!yyvs || !yyss)
269 ! yyssp = yyss + yyps_index;
270 ! yyvsp = yyvs + yypv_index;
272 *++yyssp = yystate = yytable[yyn];
277 ! printf("yydebug: error recovery discarding state %d\n",
280 if (yyssp <= yyss) goto yyabort;
285 ! "yydebug: error recovery discarding state %d\n",
288 if (yyssp <= yyss) goto yyabort;
291 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
292 if (!yys) yys = "illegal-symbol";
293 ! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
294 ! yystate, yychar, yys);
298 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
299 if (!yys) yys = "illegal-symbol";
301 ! "yydebug: state %d, error recovery discards token %d (%s)\n",
302 ! yystate, yychar, yys);
309 ! printf("yydebug: state %d, reducing by rule %d (%s)\n",
310 yystate, yyn, yyrule[yyn]);
315 ! fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
316 yystate, yyn, yyrule[yyn]);
322 ! printf("yydebug: after reduction, shifting from state 0 to\
323 ! state %d\n", YYFINAL);
330 ! "yydebug: after reduction, shifting from state 0 to state %d\n",
336 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
337 if (!yys) yys = "illegal-symbol";
338 ! printf("yydebug: state %d, reading %d (%s)\n",
339 YYFINAL, yychar, yys);
342 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
343 if (!yys) yys = "illegal-symbol";
344 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
345 YYFINAL, yychar, yys);
351 ! printf("yydebug: after reduction, shifting from state %d \
352 ! to state %d\n", *yyssp, yystate);
354 if (yyssp >= yyss + yystacksize - 1)
363 ! "yydebug: after reduction, shifting from state %d to state %d\n",
366 if (yyssp >= yyss + yystacksize - 1)
369 ! ** reallocate and recover. Note that pointers
370 ! ** have to be reset, or bad things will happen
372 ! int yyps_index = (yyssp - yyss);
373 ! int yypv_index = (yyvsp - yyvs);
374 ! yystacksize += YYSTACKSIZE;
375 ! ysave->yyvs = yyvs =
376 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
377 ! ysave->yyss = yyss =
378 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
379 ! if (!yyvs || !yyss)
381 ! yyssp = yyss + yyps_index;
382 ! yyvsp = yyvs + yypv_index;
389 ! yyerror("yacc stack overflow");
398 ! yyerror("Out of memory for yacc stack");