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();
155 + struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
156 + SAVEDESTRUCTOR(yydestruct, ysave);
157 + ysave->oldyydebug = yydebug;
158 + ysave->oldyynerrs = yynerrs;
159 + ysave->oldyyerrflag = yyerrflag;
160 + ysave->oldyychar = yychar;
161 + ysave->oldyyval = yyval;
162 + ysave->oldyylval = yylval;
165 if (yys = getenv("YYDEBUG"))
173 + ** Initialize private stacks (yyparse may be called from an action)
175 + ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
176 + ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
177 + if (!yyvs || !yyss)
184 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
185 if (!yys) yys = "illegal-symbol";
186 ! printf("yydebug: state %d, reading %d (%s)\n", yystate,
190 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
191 if (!yys) yys = "illegal-symbol";
192 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
199 ! printf("yydebug: state %d, shifting to state %d\n",
200 yystate, yytable[yyn]);
202 if (yyssp >= yyss + yystacksize - 1)
206 *++yyssp = yystate = yytable[yyn];
210 ! fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
211 yystate, yytable[yyn]);
213 if (yyssp >= yyss + yystacksize - 1)
216 ! ** reallocate and recover. Note that pointers
217 ! ** have to be reset, or bad things will happen
219 ! int yyps_index = (yyssp - yyss);
220 ! int yypv_index = (yyvsp - yyvs);
221 ! yystacksize += YYSTACKSIZE;
222 ! ysave->yyvs = yyvs =
223 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
224 ! ysave->yyss = yyss =
225 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
226 ! if (!yyvs || !yyss)
228 ! yyssp = yyss + yyps_index;
229 ! yyvsp = yyvs + yypv_index;
231 *++yyssp = yystate = yytable[yyn];
236 ! printf("yydebug: state %d, error recovery shifting\
237 ! to state %d\n", *yyssp, yytable[yyn]);
239 if (yyssp >= yyss + yystacksize - 1)
243 *++yyssp = yystate = yytable[yyn];
248 ! "yydebug: state %d, error recovery shifting to state %d\n",
249 ! *yyssp, yytable[yyn]);
251 if (yyssp >= yyss + yystacksize - 1)
254 ! ** reallocate and recover. Note that pointers
255 ! ** have to be reset, or bad things will happen
257 ! int yyps_index = (yyssp - yyss);
258 ! int yypv_index = (yyvsp - yyvs);
259 ! yystacksize += YYSTACKSIZE;
260 ! ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
261 ! yystacksize * sizeof(YYSTYPE));
262 ! ysave->yyss = yyss = (short*)realloc((char*)yyss,
263 ! yystacksize * sizeof(short));
264 ! if (!yyvs || !yyss)
266 ! yyssp = yyss + yyps_index;
267 ! yyvsp = yyvs + yypv_index;
269 *++yyssp = yystate = yytable[yyn];
274 ! printf("yydebug: error recovery discarding state %d\n",
277 if (yyssp <= yyss) goto yyabort;
282 ! "yydebug: error recovery discarding state %d\n",
285 if (yyssp <= yyss) goto yyabort;
288 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
289 if (!yys) yys = "illegal-symbol";
290 ! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
291 ! yystate, yychar, yys);
295 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
296 if (!yys) yys = "illegal-symbol";
298 ! "yydebug: state %d, error recovery discards token %d (%s)\n",
299 ! yystate, yychar, yys);
306 ! printf("yydebug: state %d, reducing by rule %d (%s)\n",
307 yystate, yyn, yyrule[yyn]);
312 ! fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
313 yystate, yyn, yyrule[yyn]);
319 ! printf("yydebug: after reduction, shifting from state 0 to\
320 ! state %d\n", YYFINAL);
327 ! "yydebug: after reduction, shifting from state 0 to state %d\n",
333 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
334 if (!yys) yys = "illegal-symbol";
335 ! printf("yydebug: state %d, reading %d (%s)\n",
336 YYFINAL, yychar, yys);
339 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
340 if (!yys) yys = "illegal-symbol";
341 ! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
342 YYFINAL, yychar, yys);
348 ! printf("yydebug: after reduction, shifting from state %d \
349 ! to state %d\n", *yyssp, yystate);
351 if (yyssp >= yyss + yystacksize - 1)
360 ! "yydebug: after reduction, shifting from state %d to state %d\n",
363 if (yyssp >= yyss + yystacksize - 1)
366 ! ** reallocate and recover. Note that pointers
367 ! ** have to be reset, or bad things will happen
369 ! int yyps_index = (yyssp - yyss);
370 ! int yypv_index = (yyvsp - yyvs);
371 ! yystacksize += YYSTACKSIZE;
372 ! ysave->yyvs = yyvs =
373 ! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
374 ! ysave->yyss = yyss =
375 ! (short*)realloc((char*)yyss,yystacksize * sizeof(short));
376 ! if (!yyvs || !yyss)
378 ! yyssp = yyss + yyps_index;
379 ! yyvsp = yyvs + yypv_index;
386 ! yyerror("yacc stack overflow");
395 ! yyerror("Out of memory for yacc stack");