1 *** y.tab.c.orig Thu Aug 26 22:31:26 1999
2 --- y.tab.c Thu Aug 26 22:32:22 1999
7 register int yym, yyn, yystate;
10 ! extern char *getenv();
12 if (yys = getenv("YYDEBUG"))
18 register int yym, yyn, yystate;
19 + register short *yyssp;
20 + register YYSTYPE *yyvsp;
23 + unsigned yystacksize = YYSTACKSIZE;
31 + ENTER; /* force yydestruct() before we return */
33 + New(73, ysave, 1, struct ysv);
34 + SAVEDESTRUCTOR_X(yydestruct, ysave);
35 + ysave->oldyydebug = yydebug;
36 + ysave->oldyynerrs = yynerrs;
37 + ysave->oldyyerrflag = yyerrflag;
38 + ysave->oldyychar = yychar;
39 + ysave->oldyyval = yyval;
40 + ysave->oldyylval = yylval;
43 if (yys = getenv("YYDEBUG"))
53 + ** Initialize private stacks (yyparse may be called from an action)
55 + New(73, yyss, yystacksize, short);
56 + New(73, yyvs, yystacksize, YYSTYPE);
68 if (yyssp >= yyss + yystacksize - 1)
72 *++yyssp = yystate = yytable[yyn];
76 if (yyssp >= yyss + yystacksize - 1)
79 ! ** reallocate and recover. Note that pointers
80 ! ** have to be reset, or bad things will happen
82 ! int yyps_index = (yyssp - yyss);
83 ! int yypv_index = (yyvsp - yyvs);
84 ! yystacksize += YYSTACKSIZE;
85 ! ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
86 ! ysave->yyss = Renew(yyss, yystacksize, short);
89 ! yyssp = yyss + yyps_index;
90 ! yyvsp = yyvs + yypv_index;
92 *++yyssp = yystate = yytable[yyn];
97 if (yyssp >= yyss + yystacksize - 1)
101 *++yyssp = yystate = yytable[yyn];
105 if (yyssp >= yyss + yystacksize - 1)
108 ! ** reallocate and recover. Note that pointers
109 ! ** have to be reset, or bad things will happen
111 ! int yyps_index = (yyssp - yyss);
112 ! int yypv_index = (yyvsp - yyvs);
113 ! yystacksize += YYSTACKSIZE;
114 ! ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
115 ! ysave->yyss = Renew(yyss, yystacksize, short);
116 ! if (!yyvs || !yyss)
118 ! yyssp = yyss + yyps_index;
119 ! yyvsp = yyvs + yypv_index;
121 *++yyssp = yystate = yytable[yyn];
126 if (yyssp >= yyss + yystacksize - 1)
134 ! yyerror("yacc stack overflow");
142 if (yyssp >= yyss + yystacksize - 1)
145 ! ** reallocate and recover. Note that pointers
146 ! ** have to be reset, or bad things will happen
148 ! int yyps_index = (yyssp - yyss);
149 ! int yypv_index = (yyvsp - yyvs);
150 ! yystacksize += YYSTACKSIZE;
151 ! ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
152 ! ysave->yyss = Renew(yyss, yystacksize, short);
153 ! if (!yyvs || !yyss)
155 ! yyssp = yyss + yyps_index;
156 ! yyvsp = yyvs + yypv_index;
162 ! yyerror("Out of memory for yacc stack");
166 ! #ifdef USE_ITHREADS
167 ! LEAVE; /* force yydestruct() before we return */
177 ! yydestruct(pTHXo_ void *ptr)
179 ! struct ysv* ysave = (struct ysv*)ptr;
180 ! if (ysave->yyss) Safefree(ysave->yyss);
181 ! if (ysave->yyvs) Safefree(ysave->yyvs);
182 ! yydebug = ysave->oldyydebug;
183 ! yynerrs = ysave->oldyynerrs;
184 ! yyerrflag = ysave->oldyyerrflag;
185 ! yychar = ysave->oldyychar;
186 ! yyval = ysave->oldyyval;
187 ! yylval = ysave->oldyylval;