4 deprecate("\"do\" to call subroutines");
17 - #define FUNCMETH 259
20 - #define PRIVATEREF 262
21 - #define FUNC0SUB 263
22 - #define UNIOPSUB 264
23 - #define LSTOPSUB 265
36 - #define CONTINUE 278
47 - #define DOLSHARP 289
49 - #define HASHBRACK 291
57 - #define ASSIGNOP 299
61 - #define BITANDOP 303
75 40, 0, 7, 5, 8, 9, 6, 10, 10, 10,
86 - short yyss[YYSTACKSIZE];
87 - YYSTYPE yyvs[YYSTACKSIZE];
88 - #define yystacksize YYSTACKSIZE
92 #define YYABORT goto yyabort
93 #define YYACCEPT goto yyaccept
94 #define YYERROR goto yyerrlab
98 register int yym, yyn, yystate;
101 extern char *getenv();
103 if (yys = getenv("YYDEBUG"))
115 #define YYABORT goto yyabort
116 #define YYACCEPT goto yyaccept
117 #define YYERROR goto yyerrlab
134 + struct ysv* ysave = (struct ysv*)ptr;
135 + if (ysave->yyss) Safefree(ysave->yyss);
136 + if (ysave->yyvs) Safefree(ysave->yyvs);
137 + yydebug = ysave->oldyydebug;
138 + yynerrs = ysave->oldyynerrs;
139 + yyerrflag = ysave->oldyyerrflag;
140 + yychar = ysave->oldyychar;
141 + yyval = ysave->oldyyval;
142 + yylval = ysave->oldyylval;
149 register int yym, yyn, yystate;
150 + register short *yyssp;
151 + register YYSTYPE *yyvsp;
154 + unsigned yystacksize = YYSTACKSIZE;
158 extern char *getenv();
161 + struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
162 + SAVEDESTRUCTOR(yydestruct, ysave);
163 + ysave->oldyydebug = yydebug;
164 + ysave->oldyynerrs = yynerrs;
165 + ysave->oldyyerrflag = yyerrflag;
166 + ysave->oldyychar = yychar;
167 + ysave->oldyyval = yyval;
168 + ysave->oldyylval = yylval;
171 if (yys = getenv("YYDEBUG"))
181 + ** Initialize private stacks (yyparse may be called from an action)
183 + ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
184 + ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
185 + if (!yyvs || !yyss)
190 *yyssp = yystate = 0;
194 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
195 if (!yys) yys = "illegal-symbol";
196 ! printf("yydebug: state %d, reading %d (%s)\n", yystate,
202 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
203 if (!yys) yys = "illegal-symbol";
204 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
213 ! printf("yydebug: state %d, shifting to state %d\n",
214 yystate, yytable[yyn]);
216 if (yyssp >= yyss + yystacksize - 1)
220 *++yyssp = yystate = yytable[yyn];
226 ! fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
227 yystate, yytable[yyn]);
229 if (yyssp >= yyss + yystacksize - 1)
232 ! ** reallocate and recover. Note that pointers
233 ! ** have to be reset, or bad things will happen
235 ! int yyps_index = (yyssp - yyss);
236 ! int yypv_index = (yyvsp - yyvs);
237 ! yystacksize += YYSTACKSIZE;
238 ! ysave->yyvs = yyvs =
239 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
240 ! ysave->yyss = yyss =
241 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
242 ! if (!yyvs || !yyss)
244 ! yyssp = yyss + yyps_index;
245 ! yyvsp = yyvs + yypv_index;
247 *++yyssp = yystate = yytable[yyn];
254 ! printf("yydebug: state %d, error recovery shifting\
255 ! to state %d\n", *yyssp, yytable[yyn]);
257 if (yyssp >= yyss + yystacksize - 1)
261 *++yyssp = yystate = yytable[yyn];
268 ! "yydebug: state %d, error recovery shifting to state %d\n",
269 ! *yyssp, yytable[yyn]);
271 if (yyssp >= yyss + yystacksize - 1)
274 ! ** reallocate and recover. Note that pointers
275 ! ** have to be reset, or bad things will happen
277 ! int yyps_index = (yyssp - yyss);
278 ! int yypv_index = (yyvsp - yyvs);
279 ! yystacksize += YYSTACKSIZE;
280 ! ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
281 ! yystacksize * sizeof(YYSTYPE));
282 ! ysave->yyss = yyss = (short*)realloc((char*)yyss,
283 ! yystacksize * sizeof(short));
284 ! if (!yyvs || !yyss)
286 ! yyssp = yyss + yyps_index;
287 ! yyvsp = yyvs + yypv_index;
289 *++yyssp = yystate = yytable[yyn];
296 ! printf("yydebug: error recovery discarding state %d\n",
299 if (yyssp <= yyss) goto yyabort;
306 ! "yydebug: error recovery discarding state %d\n",
309 if (yyssp <= yyss) goto yyabort;
314 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
315 if (!yys) yys = "illegal-symbol";
316 ! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
317 ! yystate, yychar, yys);
323 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
324 if (!yys) yys = "illegal-symbol";
326 ! "yydebug: state %d, error recovery discards token %d (%s)\n",
327 ! yystate, yychar, yys);
336 ! printf("yydebug: state %d, reducing by rule %d (%s)\n",
337 yystate, yyn, yyrule[yyn]);
344 ! fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
345 yystate, yyn, yyrule[yyn]);
353 ! printf("yydebug: after reduction, shifting from state 0 to\
354 ! state %d\n", YYFINAL);
363 ! "yydebug: after reduction, shifting from state 0 to state %d\n",
371 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
372 if (!yys) yys = "illegal-symbol";
373 ! printf("yydebug: state %d, reading %d (%s)\n",
374 YYFINAL, yychar, yys);
379 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
380 if (!yys) yys = "illegal-symbol";
381 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
382 YYFINAL, yychar, yys);
387 yystate = yydgoto[yym];
390 ! printf("yydebug: after reduction, shifting from state %d \
391 ! to state %d\n", *yyssp, yystate);
393 if (yyssp >= yyss + yystacksize - 1)
401 ! yyerror("yacc stack overflow");
408 yystate = yydgoto[yym];
412 ! "yydebug: after reduction, shifting from state %d to state %d\n",
415 if (yyssp >= yyss + yystacksize - 1)
418 ! ** reallocate and recover. Note that pointers
419 ! ** have to be reset, or bad things will happen
421 ! int yyps_index = (yyssp - yyss);
422 ! int yypv_index = (yyvsp - yyvs);
423 ! yystacksize += YYSTACKSIZE;
424 ! ysave->yyvs = yyvs =
425 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
426 ! ysave->yyss = yyss =
427 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
428 ! if (!yyvs || !yyss)
430 ! yyssp = yyss + yyps_index;
431 ! yyvsp = yyvs + yypv_index;
437 ! yyerror("Out of memory for yacc stack");