X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perly.c.diff;h=0ee7cb2d7ff238fe620651574922bf9b199a5ec0;hb=75e14d17912ce8a35d5c2b04c0c6e30b903ab97f;hp=37b1b92a70f3b1840ec74ddfb3200f510836fc18;hpb=c07a80fdfe3926b5eb0585b674aa5d1f57b32ade;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perly.c.diff b/perly.c.diff index 37b1b92..0ee7cb2 100644 --- a/perly.c.diff +++ b/perly.c.diff @@ -1,82 +1,104 @@ -*** perly.c.orig Thu Feb 1 20:47:42 1996 ---- perly.c Thu Feb 1 20:47:43 1996 +Index: perly.c +*** perly.c.old Wed Jun 10 03:48:43 1998 +--- perly.c Wed Jun 10 03:55:10 1998 +*************** +*** 7,10 **** +--- 7,18 ---- + #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,82 **** deprecate("\"do\" to call subroutines"); } -- #line 29 "perly.y" -- typedef union { -- I32 ival; -- char *pval; -- OP *opval; -- GV *gvval; -- } YYSTYPE; -- #line 23 "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 RELOP 285 -- #define EQOP 286 -- #define MULOP 287 -- #define ADDOP 288 -- #define DOLSHARP 289 -- #define DO 290 -- #define LOCAL 291 -- #define HASHBRACK 292 -- #define NOAMP 293 -- #define OROP 294 -- #define ANDOP 295 -- #define NOTOP 296 -- #define LSTOP 297 -- #define ASSIGNOP 298 -- #define OROR 299 -- #define ANDAND 300 -- #define BITOROP 301 -- #define BITANDOP 302 -- #define UNIOP 303 -- #define SHIFTOP 304 -- #define MATCHOP 305 -- #define UMINUS 306 -- #define REFGEN 307 -- #define POWOP 308 -- #define PREINC 309 -- #define PREDEC 310 -- #define POSTINC 311 -- #define POSTDEC 312 -- #define ARROW 313 +! #line 29 "perly.y" +! typedef union { +! I32 ival; +! char *pval; +! OP *opval; +! GV *gvval; +! } YYSTYPE; +! #line 23 "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 16 "perly.c" #define YYERRCODE 256 short yylhs[] = { -1, - 31, 0, 5, 3, 6, 6, 6, 7, 7, 7, ---- 12,17 ---- *************** -*** 1381,1393 **** - int yynerrs; +*** 1337,1361 **** int yyerrflag; int yychar; - short *yyssp; @@ -86,13 +108,30 @@ - short yyss[YYSTACKSIZE]; - YYSTYPE yyvs[YYSTACKSIZE]; - #define yystacksize YYSTACKSIZE - #line 572 "perly.y" + #line 635 "perly.y" /* PROGRAM */ - #line 1394 "y.tab.c" ---- 1316,1323 ---- -*************** -*** 1394,1407 **** ---- 1324,1382 ---- +! #line 1349 "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")) + { +--- 1281,1347 ---- + int yyerrflag; + int yychar; + YYSTYPE yyval; + YYSTYPE yylval; + #line 635 "perly.y" + /* PROGRAM */ +! #line 1349 "perly.c" #define YYABORT goto yyabort #define YYACCEPT goto yyaccept #define YYERROR goto yyerrlab @@ -109,8 +148,7 @@ + }; + + void -+ yydestruct(ptr) -+ void* ptr; ++ yydestruct(void *ptr) + { + struct ysv* ysave = (struct ysv*)ptr; + if (ysave->yyss) Safefree(ysave->yyss); @@ -125,7 +163,7 @@ + } + int - yyparse() +! yyparse(void) { register int yym, yyn, yystate; + register short *yyssp; @@ -136,10 +174,13 @@ + int retval = 0; #if YYDEBUG register char *yys; ++ #ifndef __cplusplus extern char *getenv(); + #endif - -+ struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv)); ++ #endif ++ ++ struct ysv *ysave; ++ New(73, ysave, 1, struct ysv); + SAVEDESTRUCTOR(yydestruct, ysave); + ysave->oldyydebug = yydebug; + ysave->oldyynerrs = yynerrs; @@ -147,48 +188,42 @@ + ysave->oldyychar = yychar; + ysave->oldyyval = yyval; + ysave->oldyylval = yylval; -+ + + #if YYDEBUG if (yys = getenv("YYDEBUG")) { - yyn = *yys; *************** -*** 1414,1419 **** ---- 1389,1402 ---- - yyerrflag = 0; +*** 1370,1373 **** +--- 1356,1369 ---- yychar = (-1); + /* + ** Initialize private stacks (yyparse may be called from an action) + */ -+ ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short)); -+ ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE)); ++ 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; - *yyssp = yystate = 0; *************** -*** 1429,1435 **** - yys = 0; +*** 1385,1389 **** if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; ! printf("yydebug: state %d, reading %d (%s)\n", yystate, yychar, yys); } - #endif ---- 1412,1418 ---- - yys = 0; +--- 1381,1385 ---- if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; -! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate, +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate, yychar, yys); } - #endif *************** -*** 1439,1450 **** - { +*** 1395,1404 **** #if YYDEBUG if (yydebug) ! printf("yydebug: state %d, shifting to state %d\n", @@ -199,12 +234,10 @@ ! goto yyoverflow; } *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; ---- 1422,1447 ---- - { +--- 1391,1414 ---- #if YYDEBUG if (yydebug) -! fprintf(stderr, "yydebug: state %d, shifting to state %d\n", +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n", yystate, yytable[yyn]); #endif if (yyssp >= yyss + yystacksize - 1) @@ -226,10 +259,8 @@ ! yyvsp = yyvs + yypv_index; } *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; *************** -*** 1480,1491 **** - { +*** 1436,1445 **** #if YYDEBUG if (yydebug) ! printf("yydebug: state %d, error recovery shifting\ @@ -240,12 +271,10 @@ ! goto yyoverflow; } *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; ---- 1477,1503 ---- - { +--- 1446,1470 ---- #if YYDEBUG if (yydebug) -! fprintf(stderr, +! PerlIO_printf(Perl_debug_log, ! "yydebug: state %d, error recovery shifting to state %d\n", ! *yyssp, yytable[yyn]); #endif @@ -268,104 +297,95 @@ ! yyvsp = yyvs + yypv_index; } *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; *************** -*** 1495,1502 **** - { +*** 1451,1456 **** #if YYDEBUG if (yydebug) ! printf("yydebug: error recovery discarding state %d\n", ! *yyssp); #endif if (yyssp <= yyss) goto yyabort; - --yyssp; ---- 1507,1515 ---- - { +--- 1476,1482 ---- #if YYDEBUG if (yydebug) -! fprintf(stderr, +! PerlIO_printf(Perl_debug_log, ! "yydebug: error recovery discarding state %d\n", ! *yyssp); #endif if (yyssp <= yyss) goto yyabort; - --yyssp; *************** -*** 1513,1520 **** - yys = 0; +*** 1469,1474 **** 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 - yychar = (-1); ---- 1526,1534 ---- - yys = 0; +--- 1495,1501 ---- if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; -! fprintf(stderr, +! PerlIO_printf(Perl_debug_log, ! "yydebug: state %d, error recovery discards token %d (%s)\n", ! yystate, yychar, yys); } #endif - yychar = (-1); *************** -*** 1523,1529 **** - yyreduce: +*** 1479,1483 **** #if YYDEBUG if (yydebug) ! printf("yydebug: state %d, reducing by rule %d (%s)\n", yystate, yyn, yyrule[yyn]); #endif - yym = yylen[yyn]; ---- 1537,1543 ---- - yyreduce: +--- 1506,1510 ---- #if YYDEBUG if (yydebug) -! fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n", +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n", yystate, yyn, yyrule[yyn]); #endif - yym = yylen[yyn]; *************** -*** 2243,2250 **** - { +*** 2263,2267 **** + { yyval.opval = yyvsp[0].opval; } + break; +! #line 2266 "y.tab.c" + } + yyssp -= yym; +--- 2290,2294 ---- + { yyval.opval = yyvsp[0].opval; } + break; +! #line 2266 "perly.c" + } + yyssp -= yym; +*************** +*** 2273,2278 **** #if YYDEBUG if (yydebug) ! printf("yydebug: after reduction, shifting from state 0 to\ ! state %d\n", YYFINAL); #endif yystate = YYFINAL; - *++yyssp = YYFINAL; ---- 2257,2265 ---- - { +--- 2300,2306 ---- #if YYDEBUG if (yydebug) -! fprintf(stderr, +! PerlIO_printf(Perl_debug_log, ! "yydebug: after reduction, shifting from state 0 to state %d\n", ! YYFINAL); #endif yystate = YYFINAL; - *++yyssp = YYFINAL; *************** -*** 2258,2264 **** - yys = 0; +*** 2288,2292 **** if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; ! printf("yydebug: state %d, reading %d (%s)\n", YYFINAL, yychar, yys); } - #endif ---- 2273,2279 ---- - yys = 0; +--- 2316,2320 ---- if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; -! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", +! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", YYFINAL, yychar, yys); } - #endif *************** -*** 2273,2292 **** - yystate = yydgoto[yym]; +*** 2303,2312 **** #if YYDEBUG if (yydebug) ! printf("yydebug: after reduction, shifting from state %d \ @@ -376,20 +396,10 @@ ! goto yyoverflow; } *++yyssp = yystate; - *++yyvsp = yyval; - goto yyloop; - yyoverflow: -! yyerror("yacc stack overflow"); - yyabort: -! return (1); - yyaccept: -! return (0); - } ---- 2288,2322 ---- - yystate = yydgoto[yym]; +--- 2331,2355 ---- #if YYDEBUG if (yydebug) -! fprintf(stderr, +! PerlIO_printf(Perl_debug_log, ! "yydebug: after reduction, shifting from state %d to state %d\n", ! *yyssp, yystate); #endif @@ -412,7 +422,17 @@ ! yyvsp = yyvs + yypv_index; } *++yyssp = yystate; - *++yyvsp = yyval; +*************** +*** 2314,2321 **** + goto yyloop; + yyoverflow: +! yyerror("yacc stack overflow"); + yyabort: +! return (1); + yyaccept: +! return (0); + } +--- 2357,2364 ---- goto yyloop; yyoverflow: ! yyerror("Out of memory for yacc stack");