1 *** perly.c.orig Mon Jul 26 03:27:57 1999
2 --- perly.c Mon Jul 26 02:47:03 1999
7 #define dep() deprecate("\"do\" to call subroutines")
10 ! /* I sense a Big Blue pattern here... */
11 ! #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
20 ! #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
22 ! #ifdef USE_PURE_BISON
23 ! #define YYLEX_PARAM (&yychar)
28 ! #define FUNCMETH 259
31 ! #define PRIVATEREF 262
32 ! #define FUNC0SUB 263
33 ! #define UNIOPSUB 264
34 ! #define LSTOPSUB 265
47 ! #define CONTINUE 278
60 ! #define DOLSHARP 291
62 ! #define HASHBRACK 293
66 ! #define PREC_LOW 297
70 ! #define ASSIGNOP 301
74 ! #define BITANDOP 305
86 ! short yylhs[] = { -1,
87 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
88 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
92 + #define yydebug PL_yydebug
93 + #define yynerrs PL_yynerrs
94 + #define yyerrflag PL_yyerrflag
95 + #define yychar PL_yychar
96 + #define yyval PL_yyval
97 + #define yylval PL_yylval
99 #define dep() deprecate("\"do\" to call subroutines")
101 ! static void yydestruct(pTHXo_ void *ptr);
104 #define YYERRCODE 256
105 ! static short yylhs[] = { -1,
106 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
107 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
110 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
112 ! short yylen[] = { 2,
113 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
114 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
116 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
118 ! static short yylen[] = { 2,
119 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
120 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
123 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
125 ! short yydefred[] = { 1,
126 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
127 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
129 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
131 ! static short yydefred[] = { 1,
132 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
133 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
136 5, 0, 30, 0, 0, 33, 0, 23,
138 ! short yydgoto[] = { 1,
139 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
140 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
142 5, 0, 30, 0, 0, 33, 0, 23,
144 ! static short yydgoto[] = { 1,
145 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
146 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
151 ! short yysindex[] = { 0,
152 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
153 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
157 ! static short yysindex[] = { 0,
158 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
159 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
162 0, 228, 0, 92, 92, 0, -204, 0,
164 ! short yyrindex[] = { 0,
165 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
168 0, 228, 0, 92, 92, 0, -204, 0,
170 ! static short yyrindex[] = { 0,
171 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
172 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
175 0, 0, 0, 0, 0, 0, 168, 0,
177 ! short yygindex[] = { 0,
178 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
179 -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
181 0, 0, 0, 0, 0, 0, 168, 0,
183 ! static short yygindex[] = { 0,
184 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
185 -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
189 #define YYTABLESIZE 4610
190 ! short yytable[] = { 69,
191 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
192 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
195 #define YYTABLESIZE 4610
196 ! static short yytable[] = { 69,
197 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
198 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
203 ! short yycheck[] = { 13,
204 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
205 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
209 ! static short yycheck[] = { 13,
210 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
211 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
214 #define YYMAXTOKEN 315
217 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
218 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
220 #define YYMAXTOKEN 315
222 ! static char *yyname[] = {
223 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
224 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
227 "POSTINC","POSTDEC","ARROW",
233 "POSTINC","POSTDEC","ARROW",
235 ! static char *yyrule[] = {
250 - short yyss[YYSTACKSIZE];
251 - YYSTYPE yyvs[YYSTACKSIZE];
252 - #define yystacksize YYSTACKSIZE
255 ! #line 1424 "y.tab.c"
256 #define YYABORT goto yyabort
257 #define YYACCEPT goto yyaccept
258 #define YYERROR goto yyerrlab
262 register int yym, yyn, yystate;
265 extern char *getenv();
267 if (yys = getenv("YYDEBUG"))
274 ! #line 1427 "perly.c"
275 #define YYABORT goto yyabort
276 #define YYACCEPT goto yyaccept
277 #define YYERROR goto yyerrlab
293 register int yym, yyn, yystate;
294 + register short *yyssp;
295 + register YYSTYPE *yyvsp;
298 + unsigned yystacksize = YYSTACKSIZE;
302 + #ifndef __cplusplus
303 extern char *getenv();
308 + New(73, ysave, 1, struct ysv);
309 + SAVEDESTRUCTOR(yydestruct, ysave);
310 + ysave->oldyydebug = yydebug;
311 + ysave->oldyynerrs = yynerrs;
312 + ysave->oldyyerrflag = yyerrflag;
313 + ysave->oldyychar = yychar;
314 + ysave->oldyyval = yyval;
315 + ysave->oldyylval = yylval;
318 if (yys = getenv("YYDEBUG"))
326 + ** Initialize private stacks (yyparse may be called from an action)
328 + New(73, yyss, yystacksize, short);
329 + New(73, yyvs, yystacksize, YYSTYPE);
330 + ysave->yyss = yyss;
331 + ysave->yyvs = yyvs;
332 + if (!yyvs || !yyss)
341 ! printf("yydebug: state %d, shifting to state %d\n",
342 yystate, yytable[yyn]);
344 if (yyssp >= yyss + yystacksize - 1)
348 *++yyssp = yystate = yytable[yyn];
352 ! PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
353 yystate, yytable[yyn]);
355 if (yyssp >= yyss + yystacksize - 1)
358 ! ** reallocate and recover. Note that pointers
359 ! ** have to be reset, or bad things will happen
361 ! int yyps_index = (yyssp - yyss);
362 ! int yypv_index = (yyvsp - yyvs);
363 ! yystacksize += YYSTACKSIZE;
364 ! ysave->yyvs = yyvs =
365 ! (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
366 ! ysave->yyss = yyss =
367 ! (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
368 ! if (!yyvs || !yyss)
370 ! yyssp = yyss + yyps_index;
371 ! yyvsp = yyvs + yypv_index;
373 *++yyssp = yystate = yytable[yyn];
378 ! printf("yydebug: state %d, error recovery shifting\
379 ! to state %d\n", *yyssp, yytable[yyn]);
381 if (yyssp >= yyss + yystacksize - 1)
385 *++yyssp = yystate = yytable[yyn];
389 ! PerlIO_printf(Perl_debug_log,
390 ! "yydebug: state %d, error recovery shifting to state %d\n",
391 ! *yyssp, yytable[yyn]);
393 if (yyssp >= yyss + yystacksize - 1)
396 ! ** reallocate and recover. Note that pointers
397 ! ** have to be reset, or bad things will happen
399 ! int yyps_index = (yyssp - yyss);
400 ! int yypv_index = (yyvsp - yyvs);
401 ! yystacksize += YYSTACKSIZE;
402 ! ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
403 ! yystacksize * sizeof(YYSTYPE));
404 ! ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
405 ! yystacksize * sizeof(short));
406 ! if (!yyvs || !yyss)
408 ! yyssp = yyss + yyps_index;
409 ! yyvsp = yyvs + yypv_index;
411 *++yyssp = yystate = yytable[yyn];
416 ! printf("yydebug: error recovery discarding state %d\n",
419 if (yyssp <= yyss) goto yyabort;
423 ! PerlIO_printf(Perl_debug_log,
424 ! "yydebug: error recovery discarding state %d\n",
427 if (yyssp <= yyss) goto yyabort;
430 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
431 if (!yys) yys = "illegal-symbol";
432 ! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
433 ! yystate, yychar, yys);
437 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
438 if (!yys) yys = "illegal-symbol";
439 ! PerlIO_printf(Perl_debug_log,
440 ! "yydebug: state %d, error recovery discards token %d (%s)\n",
441 ! yystate, yychar, yys);
448 ! printf("yydebug: state %d, reducing by rule %d (%s)\n",
449 yystate, yyn, yyrule[yyn]);
454 ! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
455 yystate, yyn, yyrule[yyn]);
459 { yyval.opval = yyvsp[0].opval; }
461 ! #line 2361 "y.tab.c"
465 { yyval.opval = yyvsp[0].opval; }
467 ! #line 2365 "perly.c"
474 ! printf("yydebug: after reduction, shifting from state 0 to\
475 ! state %d\n", YYFINAL);
481 ! PerlIO_printf(Perl_debug_log,
482 ! "yydebug: after reduction, shifting from state 0 to state %d\n",
488 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
489 if (!yys) yys = "illegal-symbol";
490 ! printf("yydebug: state %d, reading %d (%s)\n",
491 YYFINAL, yychar, yys);
494 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
495 if (!yys) yys = "illegal-symbol";
496 ! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
497 YYFINAL, yychar, yys);
503 ! printf("yydebug: after reduction, shifting from state %d \
504 ! to state %d\n", *yyssp, yystate);
506 if (yyssp >= yyss + yystacksize - 1)
514 ! PerlIO_printf(Perl_debug_log,
515 ! "yydebug: after reduction, shifting from state %d to state %d\n",
518 if (yyssp >= yyss + yystacksize - 1)
521 ! ** reallocate and recover. Note that pointers
522 ! ** have to be reset, or bad things will happen
524 ! int yyps_index = (yyssp - yyss);
525 ! int yypv_index = (yyvsp - yyvs);
526 ! yystacksize += YYSTACKSIZE;
527 ! ysave->yyvs = yyvs =
528 ! (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
529 ! ysave->yyss = yyss =
530 ! (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
531 ! if (!yyvs || !yyss)
533 ! yyssp = yyss + yyps_index;
534 ! yyvsp = yyvs + yypv_index;
541 ! yyerror("yacc stack overflow");
550 ! yyerror("Out of memory for yacc stack");
563 ! yydestruct(pTHXo_ void *ptr)
565 ! struct ysv* ysave = (struct ysv*)ptr;
566 ! if (ysave->yyss) Safefree(ysave->yyss);
567 ! if (ysave->yyvs) Safefree(ysave->yyvs);
568 ! yydebug = ysave->oldyydebug;
569 ! yynerrs = ysave->oldyynerrs;
570 ! yyerrflag = ysave->oldyyerrflag;
571 ! yychar = ysave->oldyychar;
572 ! yyval = ysave->oldyyval;
573 ! yylval = ysave->oldyylval;