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
97 #define YYACCEPT goto yyaccept
98 #define YYERROR goto yyerrlab
115 + struct ysv* ysave = (struct ysv*)ptr;
116 + if (ysave->yyss) Safefree(ysave->yyss);
117 + if (ysave->yyvs) Safefree(ysave->yyvs);
118 + yydebug = ysave->oldyydebug;
119 + yynerrs = ysave->oldyynerrs;
120 + yyerrflag = ysave->oldyyerrflag;
121 + yychar = ysave->oldyychar;
122 + yyval = ysave->oldyyval;
123 + yylval = ysave->oldyylval;
130 register int yym, yyn, yystate;
131 + register short *yyssp;
132 + register YYSTYPE *yyvsp;
135 + unsigned yystacksize = YYSTACKSIZE;
139 extern char *getenv();
142 + struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
143 + SAVEDESTRUCTOR(yydestruct, ysave);
144 + ysave->oldyydebug = yydebug;
145 + ysave->oldyynerrs = yynerrs;
146 + ysave->oldyyerrflag = yyerrflag;
147 + ysave->oldyychar = yychar;
148 + ysave->oldyyval = yyval;
149 + ysave->oldyylval = yylval;
152 if (yys = getenv("YYDEBUG"))
160 + ** Initialize private stacks (yyparse may be called from an action)
162 + ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
163 + ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
164 + if (!yyvs || !yyss)
171 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
172 if (!yys) yys = "illegal-symbol";
173 ! printf("yydebug: state %d, reading %d (%s)\n", yystate,
177 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
178 if (!yys) yys = "illegal-symbol";
179 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
186 ! printf("yydebug: state %d, shifting to state %d\n",
187 yystate, yytable[yyn]);
189 if (yyssp >= yyss + yystacksize - 1)
193 *++yyssp = yystate = yytable[yyn];
197 ! fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
198 yystate, yytable[yyn]);
200 if (yyssp >= yyss + yystacksize - 1)
203 ! ** reallocate and recover. Note that pointers
204 ! ** have to be reset, or bad things will happen
206 ! int yyps_index = (yyssp - yyss);
207 ! int yypv_index = (yyvsp - yyvs);
208 ! yystacksize += YYSTACKSIZE;
209 ! ysave->yyvs = yyvs =
210 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
211 ! ysave->yyss = yyss =
212 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
213 ! if (!yyvs || !yyss)
215 ! yyssp = yyss + yyps_index;
216 ! yyvsp = yyvs + yypv_index;
218 *++yyssp = yystate = yytable[yyn];
223 ! printf("yydebug: state %d, error recovery shifting\
224 ! to state %d\n", *yyssp, yytable[yyn]);
226 if (yyssp >= yyss + yystacksize - 1)
230 *++yyssp = yystate = yytable[yyn];
235 ! "yydebug: state %d, error recovery shifting to state %d\n",
236 ! *yyssp, yytable[yyn]);
238 if (yyssp >= yyss + yystacksize - 1)
241 ! ** reallocate and recover. Note that pointers
242 ! ** have to be reset, or bad things will happen
244 ! int yyps_index = (yyssp - yyss);
245 ! int yypv_index = (yyvsp - yyvs);
246 ! yystacksize += YYSTACKSIZE;
247 ! ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
248 ! yystacksize * sizeof(YYSTYPE));
249 ! ysave->yyss = yyss = (short*)realloc((char*)yyss,
250 ! yystacksize * sizeof(short));
251 ! if (!yyvs || !yyss)
253 ! yyssp = yyss + yyps_index;
254 ! yyvsp = yyvs + yypv_index;
256 *++yyssp = yystate = yytable[yyn];
261 ! printf("yydebug: error recovery discarding state %d\n",
264 if (yyssp <= yyss) goto yyabort;
269 ! "yydebug: error recovery discarding state %d\n",
272 if (yyssp <= yyss) goto yyabort;
275 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
276 if (!yys) yys = "illegal-symbol";
277 ! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
278 ! yystate, yychar, yys);
282 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
283 if (!yys) yys = "illegal-symbol";
285 ! "yydebug: state %d, error recovery discards token %d (%s)\n",
286 ! yystate, yychar, yys);
293 ! printf("yydebug: state %d, reducing by rule %d (%s)\n",
294 yystate, yyn, yyrule[yyn]);
299 ! fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
300 yystate, yyn, yyrule[yyn]);
306 ! printf("yydebug: after reduction, shifting from state 0 to\
307 ! state %d\n", YYFINAL);
314 ! "yydebug: after reduction, shifting from state 0 to state %d\n",
320 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
321 if (!yys) yys = "illegal-symbol";
322 ! printf("yydebug: state %d, reading %d (%s)\n",
323 YYFINAL, yychar, yys);
326 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
327 if (!yys) yys = "illegal-symbol";
328 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
329 YYFINAL, yychar, yys);
335 ! printf("yydebug: after reduction, shifting from state %d \
336 ! to state %d\n", *yyssp, yystate);
338 if (yyssp >= yyss + yystacksize - 1)
347 ! "yydebug: after reduction, shifting from state %d to state %d\n",
350 if (yyssp >= yyss + yystacksize - 1)
353 ! ** reallocate and recover. Note that pointers
354 ! ** have to be reset, or bad things will happen
356 ! int yyps_index = (yyssp - yyss);
357 ! int yypv_index = (yyvsp - yyvs);
358 ! yystacksize += YYSTACKSIZE;
359 ! ysave->yyvs = yyvs =
360 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
361 ! ysave->yyss = yyss =
362 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
363 ! if (!yyvs || !yyss)
365 ! yyssp = yyss + yyps_index;
366 ! yyvsp = yyvs + yypv_index;
373 ! yyerror("yacc stack overflow");
382 ! yyerror("Out of memory for yacc stack");