diff options
Diffstat (limited to 'contrib/perl5/perly_c.diff')
-rw-r--r-- | contrib/perl5/perly_c.diff | 393 |
1 files changed, 62 insertions, 331 deletions
diff --git a/contrib/perl5/perly_c.diff b/contrib/perl5/perly_c.diff index 5107901..0b73880 100644 --- a/contrib/perl5/perly_c.diff +++ b/contrib/perl5/perly_c.diff @@ -1,178 +1,19 @@ -*** perly.c.old Wed Jan 06 20:03:41 1999 ---- perly.c Wed Jan 06 18:51:20 1999 +*** y.tab.c.orig Thu Aug 26 22:31:26 1999 +--- y.tab.c Thu Aug 26 22:32:22 1999 *************** -*** 7,86 **** - #include "perl.h" - - static void - dep(void) - { - 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, ---- 7,26 ---- - #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) - { - deprecate("\"do\" to call subroutines"); - } -+ #endif - - #line 30 "perly.y" - #define YYERRCODE 256 - short yylhs[] = { -1, -*************** -*** 1337,1340 **** ---- 1277,1281 ---- - #endif - #endif -+ #ifndef PERL_OBJECT - int yydebug; - int yynerrs; -*************** -*** 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() +*** 1447,1456 **** + yyparse() { register int yym, yyn, yystate; #if YYDEBUG register char *yys; - extern char *getenv(); +! extern char *getenv(); if (yys = getenv("YYDEBUG")) { ---- 1286,1351 ---- - YYSTYPE yyval; - YYSTYPE yylval; -! #endif - #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) + yyn = *yys; +--- 1447,1473 ---- + yyparse() { register int yym, yyn, yystate; + register short *yyssp; @@ -183,27 +24,26 @@ + int retval = 0; #if YYDEBUG register char *yys; -+ #ifndef __cplusplus - extern char *getenv(); -+ #endif -+ #endif -+ +! #endif + + struct ysv *ysave; + New(73, ysave, 1, struct ysv); -+ SAVEDESTRUCTOR(yydestruct, ysave); ++ SAVEDESTRUCTOR_X(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")) { + yyn = *yys; *************** -*** 1374,1377 **** ---- 1360,1373 ---- +*** 1463,1468 **** +--- 1480,1495 ---- + yyerrflag = 0; yychar = (-1); + /* @@ -218,36 +58,17 @@ + yyssp = yyss; yyvsp = yyvs; + *yyssp = yystate = 0; *************** -*** 1389,1393 **** - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; -! printf("yydebug: state %d, reading %d (%s)\n", yystate, - yychar, yys); - } ---- 1385,1389 ---- - 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,1408 **** - #if YYDEBUG - if (yydebug) -! printf("yydebug: state %d, shifting to state %d\n", - yystate, yytable[yyn]); +*** 1493,1499 **** #endif if (yyssp >= yyss + yystacksize - 1) { ! goto yyoverflow; } *++yyssp = yystate = yytable[yyn]; ---- 1395,1418 ---- - #if YYDEBUG - if (yydebug) -! PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n", - yystate, yytable[yyn]); + *++yyvsp = yylval; +--- 1520,1538 ---- #endif if (yyssp >= yyss + yystacksize - 1) { @@ -258,34 +79,25 @@ ! int yyps_index = (yyssp - yyss); ! int yypv_index = (yyvsp - yyvs); ! yystacksize += YYSTACKSIZE; -! ysave->yyvs = yyvs = -! (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE)); -! ysave->yyss = yyss = -! (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short)); +! ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE); +! ysave->yyss = Renew(yyss, yystacksize, short); ! if (!yyvs || !yyss) ! goto yyoverflow; ! yyssp = yyss + yyps_index; ! yyvsp = yyvs + yypv_index; } *++yyssp = yystate = yytable[yyn]; + *++yyvsp = yylval; *************** -*** 1440,1449 **** - #if YYDEBUG - if (yydebug) -! printf("yydebug: state %d, error recovery shifting\ -! to state %d\n", *yyssp, yytable[yyn]); +*** 1534,1540 **** #endif if (yyssp >= yyss + yystacksize - 1) { ! goto yyoverflow; } *++yyssp = yystate = yytable[yyn]; ---- 1450,1474 ---- - #if YYDEBUG - if (yydebug) -! PerlIO_printf(Perl_debug_log, -! "yydebug: state %d, error recovery shifting to state %d\n", -! *yyssp, yytable[yyn]); + *++yyvsp = yylval; +--- 1573,1591 ---- #endif if (yyssp >= yyss + yystacksize - 1) { @@ -296,121 +108,33 @@ ! int yyps_index = (yyssp - yyss); ! int yypv_index = (yyvsp - yyvs); ! yystacksize += YYSTACKSIZE; -! ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs, -! yystacksize * sizeof(YYSTYPE)); -! ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss, -! yystacksize * sizeof(short)); +! ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE); +! ysave->yyss = Renew(yyss, yystacksize, short); ! if (!yyvs || !yyss) ! goto yyoverflow; ! yyssp = yyss + yyps_index; ! yyvsp = yyvs + yypv_index; } *++yyssp = yystate = yytable[yyn]; + *++yyvsp = yylval; *************** -*** 1455,1460 **** - #if YYDEBUG - if (yydebug) -! printf("yydebug: error recovery discarding state %d\n", -! *yyssp); - #endif - if (yyssp <= yyss) goto yyabort; ---- 1480,1486 ---- - #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 ---- 1499,1505 ---- - 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 ---- 1510,1514 ---- - #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; ---- 2294,2298 ---- - { 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; ---- 2304,2310 ---- - #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); - } ---- 2320,2324 ---- - 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); +*** 2473,2487 **** #endif if (yyssp >= yyss + yystacksize - 1) { ! goto yyoverflow; } *++yyssp = yystate; ---- 2335,2359 ---- - #if YYDEBUG - if (yydebug) -! PerlIO_printf(Perl_debug_log, -! "yydebug: after reduction, shifting from state %d to state %d\n", -! *yyssp, yystate); + *++yyvsp = yyval; + goto yyloop; + yyoverflow: +! yyerror("yacc stack overflow"); + yyabort: +! return (1); + yyaccept: +! return (0); + } +--- 2524,2569 ---- #endif if (yyssp >= yyss + yystacksize - 1) { @@ -421,27 +145,15 @@ ! int yyps_index = (yyssp - yyss); ! int yypv_index = (yyvsp - yyvs); ! yystacksize += YYSTACKSIZE; -! ysave->yyvs = yyvs = -! (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE)); -! ysave->yyss = yyss = -! (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short)); +! ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE); +! ysave->yyss = Renew(yyss, yystacksize, 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); - } ---- 2361,2368 ---- + *++yyvsp = yyval; goto yyloop; yyoverflow: ! yyerror("Out of memory for yacc stack"); @@ -449,4 +161,23 @@ ! retval = 1; yyaccept: ! return retval; +! } +! +! #ifdef PERL_OBJECT +! #include "XSUB.h" +! #endif +! +! static void +! yydestruct(pTHXo_ 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); } |