This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[inseparable changes from patch from perl5.003_19 to perl5.003_20]
[perl5.git] / perly.c.diff
index 3b3c04e..dea42d1 100644 (file)
@@ -1,82 +1,84 @@
-*** perly.c.orig       Wed Feb 14 15:29:04 1996
---- perly.c    Wed Feb 14 15:29:05 1996
+Index: perly.c
 ***************
-*** 12,82 ****
-      deprecate("\"do\" to call subroutines");
+*** 13,82 ****
   }
   
-- #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,
+--- 13,17 ----
+  }
+  
+! #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;
+*** 1301,1311 ****
   int yyerrflag;
   int yychar;
 - short *yyssp;
 - short yyss[YYSTACKSIZE];
 - YYSTYPE yyvs[YYSTACKSIZE];
 - #define yystacksize YYSTACKSIZE
-  #line 571 "perly.y"
+  #line 619 "perly.y"
    /* PROGRAM */
-  #line 1394 "y.tab.c"
---- 1316,1323 ----
+--- 1236,1241 ----
 ***************
-*** 1394,1407 ****
---- 1324,1382 ----
-  #define YYABORT goto yyabort
+*** 1314,1325 ****
+--- 1244,1300 ----
   #define YYACCEPT goto yyaccept
   #define YYERROR goto yyerrlab
 + 
       register char *yys;
       extern char *getenv();
 + #endif
-  
++ 
 +     struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
 +     SAVEDESTRUCTOR(yydestruct, ysave);
 +     ysave->oldyydebug        = yydebug;
 +     ysave->oldyychar = yychar;
 +     ysave->oldyyval  = yyval;
 +     ysave->oldyylval = yylval;
-+ 
+  
 + #if YYDEBUG
       if (yys = getenv("YYDEBUG"))
       {
-          yyn = *yys;
 ***************
-*** 1414,1419 ****
---- 1389,1402 ----
-      yyerrflag = 0;
+*** 1334,1337 ****
+--- 1309,1320 ----
       yychar = (-1);
   
 +     /*
 + 
       yyssp = yyss;
       yyvsp = yyvs;
-      *yyssp = yystate = 0;
 ***************
-*** 1429,1435 ****
-              yys = 0;
+*** 1349,1353 ****
               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;
+--- 1332,1336 ----
               if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
               if (!yys) yys = "illegal-symbol";
 !             fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
                       yychar, yys);
           }
-  #endif
 ***************
-*** 1439,1450 ****
-      {
+*** 1359,1368 ****
   #if YYDEBUG
           if (yydebug)
 !             printf("yydebug: state %d, shifting to state %d\n",
 !             goto yyoverflow;
           }
           *++yyssp = yystate = yytable[yyn];
-          *++yyvsp = yylval;
---- 1422,1447 ----
-      {
+--- 1342,1365 ----
   #if YYDEBUG
           if (yydebug)
 !             fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
 !          yyvsp = yyvs + yypv_index;
           }
           *++yyssp = yystate = yytable[yyn];
-          *++yyvsp = yylval;
 ***************
-*** 1480,1491 ****
-              {
+*** 1400,1409 ****
   #if YYDEBUG
                   if (yydebug)
 !                     printf("yydebug: state %d, error recovery shifting\
 !                     goto yyoverflow;
                   }
                   *++yyssp = yystate = yytable[yyn];
-                  *++yyvsp = yylval;
---- 1477,1503 ----
-              {
+--- 1397,1421 ----
   #if YYDEBUG
                   if (yydebug)
 !                     fprintf(stderr,
 !                  yyvsp = yyvs + yypv_index;
                   }
                   *++yyssp = yystate = yytable[yyn];
-                  *++yyvsp = yylval;
 ***************
-*** 1495,1502 ****
-              {
+*** 1415,1420 ****
   #if YYDEBUG
                   if (yydebug)
 !                     printf("yydebug: error recovery discarding state %d\n",
 !                             *yyssp);
   #endif
                   if (yyssp <= yyss) goto yyabort;
-                  --yyssp;
---- 1507,1515 ----
-              {
+--- 1427,1433 ----
   #if YYDEBUG
                   if (yydebug)
 !                     fprintf(stderr,
 !                      *yyssp);
   #endif
                   if (yyssp <= yyss) goto yyabort;
-                  --yyssp;
 ***************
-*** 1513,1520 ****
-              yys = 0;
+*** 1433,1438 ****
               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;
+--- 1446,1452 ----
               if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
               if (!yys) yys = "illegal-symbol";
 !             fprintf(stderr,
 !              yystate, yychar, yys);
           }
   #endif
-          yychar = (-1);
 ***************
-*** 1523,1529 ****
-  yyreduce:
+*** 1443,1447 ****
   #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:
+--- 1457,1461 ----
   #if YYDEBUG
       if (yydebug)
 !         fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
                   yystate, yyn, yyrule[yyn]);
   #endif
-      yym = yylen[yyn];
 ***************
-*** 2242,2249 ****
-      {
+*** 2213,2218 ****
   #if YYDEBUG
           if (yydebug)
 !             printf("yydebug: after reduction, shifting from state 0 to\
 !  state %d\n", YYFINAL);
   #endif
           yystate = YYFINAL;
-          *++yyssp = YYFINAL;
---- 2256,2264 ----
-      {
+--- 2227,2233 ----
   #if YYDEBUG
           if (yydebug)
 !             fprintf(stderr,
 !              YYFINAL);
   #endif
           yystate = YYFINAL;
-          *++yyssp = YYFINAL;
 ***************
-*** 2257,2263 ****
-                  yys = 0;
+*** 2228,2232 ****
                   if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   if (!yys) yys = "illegal-symbol";
 !                 printf("yydebug: state %d, reading %d (%s)\n",
                           YYFINAL, yychar, yys);
               }
-  #endif
---- 2272,2278 ----
-                  yys = 0;
+--- 2243,2247 ----
                   if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   if (!yys) yys = "illegal-symbol";
 !                 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
                           YYFINAL, yychar, yys);
               }
-  #endif
 ***************
-*** 2272,2291 ****
-          yystate = yydgoto[yym];
+*** 2243,2252 ****
   #if YYDEBUG
       if (yydebug)
 !         printf("yydebug: after reduction, shifting from state %d \
 !         goto yyoverflow;
       }
       *++yyssp = yystate;
-      *++yyvsp = yyval;
-      goto yyloop;
-  yyoverflow:
-!     yyerror("yacc stack overflow");
-  yyabort:
-!     return (1);
-  yyaccept:
-!     return (0);
-  }
---- 2287,2321 ----
-          yystate = yydgoto[yym];
+--- 2258,2282 ----
   #if YYDEBUG
       if (yydebug)
 !         fprintf(stderr,
 !      yyvsp = yyvs + yypv_index;
       }
       *++yyssp = yystate;
-      *++yyvsp = yyval;
+***************
+*** 2254,2261 ****
+      goto yyloop;
+  yyoverflow:
+!     yyerror("yacc stack overflow");
+  yyabort:
+!     return (1);
+  yyaccept:
+!     return (0);
+  }
+--- 2284,2291 ----
       goto yyloop;
   yyoverflow:
 !     yyerror("Out of memory for yacc stack");