diff options
Diffstat (limited to 'contrib/perl5/perly_c.diff')
-rw-r--r-- | contrib/perl5/perly_c.diff | 444 |
1 files changed, 444 insertions, 0 deletions
diff --git a/contrib/perl5/perly_c.diff b/contrib/perl5/perly_c.diff new file mode 100644 index 000000000000..aa0555b034d3 --- /dev/null +++ b/contrib/perl5/perly_c.diff @@ -0,0 +1,444 @@ +*** perly.c.orig Tue Jul 28 15:02:41 1998 +--- perly.c Tue Jul 28 15:14:54 1998 +*************** +*** 7,11 **** +--- 7,19 ---- + #include "perl.h" + ++ #ifdef PERL_OBJECT + static void ++ Dep(CPerlObj *pPerl) ++ { ++ pPerl->deprecate("\"do\" to call subroutines"); ++ } ++ #define dep() Dep(this) ++ #else ++ static void + dep(void) + { +*************** +*** 12,86 **** + deprecate("\"do\" to call subroutines"); + } + + #line 30 "perly.y" +- #ifndef OEMVS +- #line 33 "perly.y" +- typedef union { +- I32 ival; +- char *pval; +- OP *opval; +- GV *gvval; +- } YYSTYPE; +- #line 41 "perly.y" +- #endif /* OEMVS */ +- #line 27 "y.tab.c" +- #define WORD 257 +- #define METHOD 258 +- #define FUNCMETH 259 +- #define THING 260 +- #define PMFUNC 261 +- #define PRIVATEREF 262 +- #define FUNC0SUB 263 +- #define UNIOPSUB 264 +- #define LSTOPSUB 265 +- #define LABEL 266 +- #define FORMAT 267 +- #define SUB 268 +- #define ANONSUB 269 +- #define PACKAGE 270 +- #define USE 271 +- #define WHILE 272 +- #define UNTIL 273 +- #define IF 274 +- #define UNLESS 275 +- #define ELSE 276 +- #define ELSIF 277 +- #define CONTINUE 278 +- #define FOR 279 +- #define LOOPEX 280 +- #define DOTDOT 281 +- #define FUNC0 282 +- #define FUNC1 283 +- #define FUNC 284 +- #define UNIOP 285 +- #define LSTOP 286 +- #define RELOP 287 +- #define EQOP 288 +- #define MULOP 289 +- #define ADDOP 290 +- #define DOLSHARP 291 +- #define DO 292 +- #define HASHBRACK 293 +- #define NOAMP 294 +- #define LOCAL 295 +- #define MY 296 +- #define OROP 297 +- #define ANDOP 298 +- #define NOTOP 299 +- #define ASSIGNOP 300 +- #define OROR 301 +- #define ANDAND 302 +- #define BITOROP 303 +- #define BITANDOP 304 +- #define SHIFTOP 305 +- #define MATCHOP 306 +- #define UMINUS 307 +- #define REFGEN 308 +- #define POWOP 309 +- #define PREINC 310 +- #define PREDEC 311 +- #define POSTINC 312 +- #define POSTDEC 313 +- #define ARROW 314 + #define YYERRCODE 256 + short yylhs[] = { -1, +--- 20,26 ---- + deprecate("\"do\" to call subroutines"); + } ++ #endif + + #line 30 "perly.y" + #define YYERRCODE 256 + short yylhs[] = { -1, +*************** +*** 1345,1365 **** + YYSTYPE yyval; + YYSTYPE yylval; +- short yyss[YYSTACKSIZE]; +- YYSTYPE yyvs[YYSTACKSIZE]; +- #define yystacksize YYSTACKSIZE + #line 643 "perly.y" + /* PROGRAM */ +! #line 1353 "y.tab.c" + #define YYABORT goto yyabort + #define YYACCEPT goto yyaccept + #define YYERROR goto yyerrlab + int +! yyparse() + { + register int yym, yyn, yystate; + #if YYDEBUG + register char *yys; + extern char *getenv(); + + if (yys = getenv("YYDEBUG")) + { +--- 1285,1349 ---- + YYSTYPE yyval; + YYSTYPE yylval; + #line 643 "perly.y" + /* PROGRAM */ +! #line 1353 "perly.c" + #define YYABORT goto yyabort + #define YYACCEPT goto yyaccept + #define YYERROR goto yyerrlab ++ ++ struct ysv { ++ short* yyss; ++ YYSTYPE* yyvs; ++ int oldyydebug; ++ int oldyynerrs; ++ int oldyyerrflag; ++ int oldyychar; ++ YYSTYPE oldyyval; ++ YYSTYPE oldyylval; ++ }; ++ ++ void ++ yydestruct(void *ptr) ++ { ++ struct ysv* ysave = (struct ysv*)ptr; ++ if (ysave->yyss) Safefree(ysave->yyss); ++ if (ysave->yyvs) Safefree(ysave->yyvs); ++ yydebug = ysave->oldyydebug; ++ yynerrs = ysave->oldyynerrs; ++ yyerrflag = ysave->oldyyerrflag; ++ yychar = ysave->oldyychar; ++ yyval = ysave->oldyyval; ++ yylval = ysave->oldyylval; ++ Safefree(ysave); ++ } ++ + int +! yyparse(void) + { + register int yym, yyn, yystate; ++ register short *yyssp; ++ register YYSTYPE *yyvsp; ++ short* yyss; ++ YYSTYPE* yyvs; ++ unsigned yystacksize = YYSTACKSIZE; ++ int retval = 0; + #if YYDEBUG + register char *yys; ++ #ifndef __cplusplus + extern char *getenv(); ++ #endif ++ #endif + ++ struct ysv *ysave; ++ New(73, ysave, 1, struct ysv); ++ SAVEDESTRUCTOR(yydestruct, ysave); ++ ysave->oldyydebug = yydebug; ++ ysave->oldyynerrs = yynerrs; ++ ysave->oldyyerrflag = yyerrflag; ++ ysave->oldyychar = yychar; ++ ysave->oldyyval = yyval; ++ ysave->oldyylval = yylval; ++ ++ #if YYDEBUG + if (yys = getenv("YYDEBUG")) + { +*************** +*** 1374,1377 **** +--- 1358,1371 ---- + yychar = (-1); + ++ /* ++ ** Initialize private stacks (yyparse may be called from an action) ++ */ ++ New(73, yyss, yystacksize, short); ++ New(73, yyvs, yystacksize, YYSTYPE); ++ ysave->yyss = yyss; ++ ysave->yyvs = yyvs; ++ if (!yyvs || !yyss) ++ goto yyoverflow; ++ + yyssp = yyss; + yyvsp = yyvs; +*************** +*** 1389,1393 **** + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; +! printf("yydebug: state %d, reading %d (%s)\n", yystate, + yychar, yys); + } +--- 1383,1387 ---- + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate, + yychar, yys); + } +*************** +*** 1399,1403 **** + #if YYDEBUG + if (yydebug) +! printf("yydebug: state %d, shifting to state %d\n", + yystate, yytable[yyn]); + #endif +--- 1393,1397 ---- + #if YYDEBUG + if (yydebug) +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n", + yystate, yytable[yyn]); + #endif +*************** +*** 1404,1408 **** + if (yyssp >= yyss + yystacksize - 1) + { +! goto yyoverflow; + } + *++yyssp = yystate = yytable[yyn]; +--- 1398,1416 ---- + if (yyssp >= yyss + yystacksize - 1) + { +! /* +! ** reallocate and recover. Note that pointers +! ** have to be reset, or bad things will happen +! */ +! int yyps_index = (yyssp - yyss); +! int yypv_index = (yyvsp - yyvs); +! yystacksize += YYSTACKSIZE; +! ysave->yyvs = yyvs = +! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE)); +! ysave->yyss = yyss = +! (short*)realloc((char*)yyss,yystacksize * sizeof(short)); +! if (!yyvs || !yyss) +! goto yyoverflow; +! yyssp = yyss + yyps_index; +! yyvsp = yyvs + yypv_index; + } + *++yyssp = yystate = yytable[yyn]; +*************** +*** 1440,1449 **** + #if YYDEBUG + if (yydebug) +! printf("yydebug: state %d, error recovery shifting\ +! to state %d\n", *yyssp, yytable[yyn]); + #endif + if (yyssp >= yyss + yystacksize - 1) + { +! goto yyoverflow; + } + *++yyssp = yystate = yytable[yyn]; +--- 1448,1472 ---- + #if YYDEBUG + if (yydebug) +! PerlIO_printf(Perl_debug_log, +! "yydebug: state %d, error recovery shifting to state %d\n", +! *yyssp, yytable[yyn]); + #endif + if (yyssp >= yyss + yystacksize - 1) + { +! /* +! ** reallocate and recover. Note that pointers +! ** have to be reset, or bad things will happen +! */ +! int yyps_index = (yyssp - yyss); +! int yypv_index = (yyvsp - yyvs); +! yystacksize += YYSTACKSIZE; +! ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs, +! yystacksize * sizeof(YYSTYPE)); +! ysave->yyss = yyss = (short*)realloc((char*)yyss, +! yystacksize * sizeof(short)); +! if (!yyvs || !yyss) +! goto yyoverflow; +! yyssp = yyss + yyps_index; +! yyvsp = yyvs + yypv_index; + } + *++yyssp = yystate = yytable[yyn]; +*************** +*** 1455,1460 **** + #if YYDEBUG + if (yydebug) +! printf("yydebug: error recovery discarding state %d\n", +! *yyssp); + #endif + if (yyssp <= yyss) goto yyabort; +--- 1478,1484 ---- + #if YYDEBUG + if (yydebug) +! PerlIO_printf(Perl_debug_log, +! "yydebug: error recovery discarding state %d\n", +! *yyssp); + #endif + if (yyssp <= yyss) goto yyabort; +*************** +*** 1473,1478 **** + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; +! printf("yydebug: state %d, error recovery discards token %d (%s)\n", +! yystate, yychar, yys); + } + #endif +--- 1497,1503 ---- + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; +! PerlIO_printf(Perl_debug_log, +! "yydebug: state %d, error recovery discards token %d (%s)\n", +! yystate, yychar, yys); + } + #endif +*************** +*** 1483,1487 **** + #if YYDEBUG + if (yydebug) +! printf("yydebug: state %d, reducing by rule %d (%s)\n", + yystate, yyn, yyrule[yyn]); + #endif +--- 1508,1512 ---- + #if YYDEBUG + if (yydebug) +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n", + yystate, yyn, yyrule[yyn]); + #endif +*************** +*** 2267,2271 **** + { yyval.opval = yyvsp[0].opval; } + break; +! #line 2270 "y.tab.c" + } + yyssp -= yym; +--- 2292,2296 ---- + { yyval.opval = yyvsp[0].opval; } + break; +! #line 2270 "perly.c" + } + yyssp -= yym; +*************** +*** 2277,2282 **** + #if YYDEBUG + if (yydebug) +! printf("yydebug: after reduction, shifting from state 0 to\ +! state %d\n", YYFINAL); + #endif + yystate = YYFINAL; +--- 2302,2308 ---- + #if YYDEBUG + if (yydebug) +! PerlIO_printf(Perl_debug_log, +! "yydebug: after reduction, shifting from state 0 to state %d\n", +! YYFINAL); + #endif + yystate = YYFINAL; +*************** +*** 2292,2296 **** + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; +! printf("yydebug: state %d, reading %d (%s)\n", + YYFINAL, yychar, yys); + } +--- 2318,2322 ---- + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", + YYFINAL, yychar, yys); + } +*************** +*** 2307,2316 **** + #if YYDEBUG + if (yydebug) +! printf("yydebug: after reduction, shifting from state %d \ +! to state %d\n", *yyssp, yystate); + #endif + if (yyssp >= yyss + yystacksize - 1) + { +! goto yyoverflow; + } + *++yyssp = yystate; +--- 2333,2357 ---- + #if YYDEBUG + if (yydebug) +! PerlIO_printf(Perl_debug_log, +! "yydebug: after reduction, shifting from state %d to state %d\n", +! *yyssp, yystate); + #endif + if (yyssp >= yyss + yystacksize - 1) + { +! /* +! ** reallocate and recover. Note that pointers +! ** have to be reset, or bad things will happen +! */ +! int yyps_index = (yyssp - yyss); +! int yypv_index = (yyvsp - yyvs); +! yystacksize += YYSTACKSIZE; +! ysave->yyvs = yyvs = +! (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE)); +! ysave->yyss = yyss = +! (short*)realloc((char*)yyss,yystacksize * sizeof(short)); +! if (!yyvs || !yyss) +! goto yyoverflow; +! yyssp = yyss + yyps_index; +! yyvsp = yyvs + yypv_index; + } + *++yyssp = yystate; +*************** +*** 2318,2325 **** + goto yyloop; + yyoverflow: +! yyerror("yacc stack overflow"); + yyabort: +! return (1); + yyaccept: +! return (0); + } +--- 2359,2366 ---- + goto yyloop; + yyoverflow: +! yyerror("Out of memory for yacc stack"); + yyabort: +! retval = 1; + yyaccept: +! return retval; + } |