win32 tweaks
[p5sagit/p5-mst-13.2.git] / perly_c.diff
index 0ee7cb2..463df80 100644 (file)
@@ -1,34 +1,28 @@
-Index: perly.c
-*** perly.c.old        Wed Jun 10 03:48:43 1998
---- perly.c    Wed Jun 10 03:55:10 1998
+*** perly.c.orig       Mon Jul 26 03:27:57 1999
+--- perly.c    Mon Jul 26 02:47:03 1999
 ***************
-*** 7,10 ****
---- 7,18 ----
+*** 8,91 ****
   #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");
-  }
+  #define dep() deprecate("\"do\" to call subroutines")
   
-! #line 29 "perly.y"
+! #line 27 "perly.y"
+! /* I sense a Big Blue pattern here... */
+! #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
+! #line 31 "perly.y"
 ! typedef union {
 !     I32      ival;
 !     char *pval;
 !     OP *opval;
 !     GV *gvval;
 ! } YYSTYPE;
-! #line 23 "y.tab.c"
+! #line 39 "perly.y"
+! #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
+  
+! #ifdef USE_PURE_BISON
+! #define YYLEX_PARAM (&yychar)
+! #endif
+! #line 29 "y.tab.c"
 ! #define WORD 257
 ! #define METHOD 258
 ! #define FUNCMETH 259
@@ -69,48 +63,196 @@ Index: perly.c
 ! #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 PREC_LOW 297
+! #define OROP 298
+! #define ANDOP 299
+! #define NOTOP 300
+! #define ASSIGNOP 301
+! #define OROR 302
+! #define ANDAND 303
+! #define BITOROP 304
+! #define BITANDOP 305
+! #define SHIFTOP 306
+! #define MATCHOP 307
+! #define UMINUS 308
+! #define REFGEN 309
+! #define POWOP 310
+! #define PREINC 311
+! #define PREDEC 312
+! #define POSTINC 313
+! #define POSTDEC 314
+! #define ARROW 315
   #define YYERRCODE 256
-  short yylhs[] = {                                        -1,
---- 20,26 ----
-      deprecate("\"do\" to call subroutines");
-  }
-+ #endif
+! short yylhs[] = {                                        -1,
+     46,    0,    9,    7,   10,    8,   11,   11,   11,   12,
+     12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
+--- 8,25 ----
+  #include "perl.h"
+  
++ #define yydebug          PL_yydebug
++ #define yynerrs          PL_yynerrs
++ #define yyerrflag   PL_yyerrflag
++ #define yychar           PL_yychar
++ #define yyval            PL_yyval
++ #define yylval           PL_yylval
++ 
+  #define dep() deprecate("\"do\" to call subroutines")
+  
+! static void yydestruct(pTHXo_ void *ptr);
   
-! #line 16 "perly.c"
+! #line 27 "perly.y"
   #define YYERRCODE 256
-  short yylhs[] = {                                        -1,
+! static short yylhs[] = {                                 -1,
+     46,    0,    9,    7,   10,    8,   11,   11,   11,   12,
+     12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
+***************
+*** 107,111 ****
+     24,   19,   20,   21,   22,   23,   36,   36,   36,   36,
+  };
+! short yylen[] = {                                         2,
+      0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
+      1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
+--- 41,45 ----
+     24,   19,   20,   21,   22,   23,   36,   36,   36,   36,
+  };
+! static short yylen[] = {                                  2,
+      0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
+      1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
+***************
+*** 127,131 ****
+      2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
+  };
+! short yydefred[] = {                                      1,
+      0,    7,    0,   45,   56,   54,    0,   54,    8,   46,
+      9,   11,    0,   47,   48,   49,    0,    0,    0,   63,
+--- 61,65 ----
+      2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
+  };
+! static short yydefred[] = {                               1,
+      0,    7,    0,   45,   56,   54,    0,   54,    8,   46,
+      9,   11,    0,   47,   48,   49,    0,    0,    0,   63,
+***************
+*** 166,170 ****
+      5,    0,   30,    0,    0,   33,    0,   23,
+  };
+! short yydgoto[] = {                                       1,
+      9,   66,   10,   18,   96,   17,   87,  344,   90,  333,
+      3,   11,   12,   68,  349,  267,   70,   71,   72,   73,
+--- 100,104 ----
+      5,    0,   30,    0,    0,   33,    0,   23,
+  };
+! static short yydgoto[] = {                                1,
+      9,   66,   10,   18,   96,   17,   87,  344,   90,  333,
+      3,   11,   12,   68,  349,  267,   70,   71,   72,   73,
+***************
+*** 174,178 ****
+    260,
+  };
+! short yysindex[] = {                                      0,
+      0,    0,  142,    0,    0,    0,  -57,    0,    0,    0,
+      0,    0,  622,    0,    0,    0, -239, -229,  -10,    0,
+--- 108,112 ----
+    260,
+  };
+! static short yysindex[] = {                               0,
+      0,    0,  142,    0,    0,    0,  -57,    0,    0,    0,
+      0,    0,  622,    0,    0,    0, -239, -229,  -10,    0,
+***************
+*** 213,217 ****
+      0,  228,    0,   92,   92,    0, -204,    0,
+  };
+! short yyrindex[] = {                                      0,
+      0,    0,  225,    0,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
+--- 147,151 ----
+      0,  228,    0,   92,   92,    0, -204,    0,
+  };
+! static short yyrindex[] = {                               0,
+      0,    0,  225,    0,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
+***************
+*** 252,256 ****
+      0,    0,    0,    0,    0,    0,  168,    0,
+  };
+! short yygindex[] = {                                      0,
+      0,    0,    0,  339,  320,    0,  -11,    0,  913,  360,
+    -78,    0,    0,    0, -320,  -13, 4321,    0, 1367,    0,
+--- 186,190 ----
+      0,    0,    0,    0,    0,    0,  168,    0,
+  };
+! static short yygindex[] = {                               0,
+      0,    0,    0,  339,  320,    0,  -11,    0,  913,  360,
+    -78,    0,    0,    0, -320,  -13, 4321,    0, 1367,    0,
+***************
+*** 261,265 ****
+  };
+  #define YYTABLESIZE 4610
+! short yytable[] = {                                      69,
+    206,   20,  295,   62,  113,  257,  184,  103,  183,  298,
+    172,   62,  125,  104,  252,  350,  104,   81,  209,  169,
+--- 195,199 ----
+  };
+  #define YYTABLESIZE 4610
+! static short yytable[] = {                               69,
+    206,   20,  295,   62,  113,  257,  184,  103,  183,  298,
+    172,   62,  125,  104,  252,  350,  104,   81,  209,  169,
+***************
+*** 724,728 ****
+      0,    0,    0,    0,    0,    0,    0,    0,    0,  321,
+  };
+! short yycheck[] = {                                      13,
+     59,   59,   59,   36,   43,  185,   92,   40,   87,   59,
+     91,   36,   51,   41,   59,  336,   44,  257,   41,   40,
+--- 658,662 ----
+      0,    0,    0,    0,    0,    0,    0,    0,    0,  321,
+  };
+! static short yycheck[] = {                               13,
+     59,   59,   59,   36,   43,  185,   92,   40,   87,   59,
+     91,   36,   51,   41,   59,  336,   44,  257,   41,   40,
 ***************
-*** 1337,1361 ****
-  int yyerrflag;
-  int yychar;
+*** 1193,1197 ****
+  #define YYMAXTOKEN 315
+  #if YYDEBUG
+! char *yyname[] = {
+  "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,
+  "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
+--- 1127,1131 ----
+  #define YYMAXTOKEN 315
+  #if YYDEBUG
+! static char *yyname[] = {
+  "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,
+  "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
+***************
+*** 1210,1214 ****
+  "POSTINC","POSTDEC","ARROW",
+  };
+! char *yyrule[] = {
+  "$accept : prog",
+  "$$1 :",
+--- 1144,1148 ----
+  "POSTINC","POSTDEC","ARROW",
+  };
+! static char *yyrule[] = {
+  "$accept : prog",
+  "$$1 :",
+***************
+*** 1408,1436 ****
+  #endif
+  #endif
+- int yydebug;
+- int yynerrs;
+- int yyerrflag;
+- int yychar;
 - short *yyssp;
 - YYSTYPE *yyvsp;
-  YYSTYPE yyval;
-  YYSTYPE yylval;
+- YYSTYPE yyval;
+- YYSTYPE yylval;
 - short yyss[YYSTACKSIZE];
 - YYSTYPE yyvs[YYSTACKSIZE];
 - #define yystacksize YYSTACKSIZE
-  #line 635 "perly.y"
+  #line 666 "perly.y"
    /* PROGRAM */
-! #line 1349 "y.tab.c"
+! #line 1424 "y.tab.c"
   #define YYABORT goto yyabort
   #define YYACCEPT goto yyaccept
   #define YYERROR goto yyerrlab
@@ -124,14 +266,12 @@ Index: perly.c
   
       if (yys = getenv("YYDEBUG"))
       {
---- 1281,1347 ----
-  int yyerrflag;
-  int yychar;
-  YYSTYPE yyval;
-  YYSTYPE yylval;
-  #line 635 "perly.y"
+--- 1342,1391 ----
+  #endif
+  #endif
+  #line 666 "perly.y"
    /* PROGRAM */
-! #line 1349 "perly.c"
+! #line 1427 "perly.c"
   #define YYABORT goto yyabort
   #define YYACCEPT goto yyaccept
   #define YYERROR goto yyerrlab
@@ -147,23 +287,8 @@ Index: perly.c
 +     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)
+! Perl_yyparse(pTHX)
   {
       register int yym, yyn, yystate;
 +     register short *yyssp;
@@ -193,8 +318,8 @@ Index: perly.c
       if (yys = getenv("YYDEBUG"))
       {
 ***************
-*** 1370,1373 ****
---- 1356,1369 ----
+*** 1445,1448 ****
+--- 1400,1413 ----
       yychar = (-1);
   
 +     /*
@@ -210,20 +335,7 @@ Index: perly.c
       yyssp = yyss;
       yyvsp = yyvs;
 ***************
-*** 1385,1389 ****
-              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-              if (!yys) yys = "illegal-symbol";
-!             printf("yydebug: state %d, reading %d (%s)\n", yystate,
-                      yychar, yys);
-          }
---- 1381,1385 ----
-              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);
-          }
-***************
-*** 1395,1404 ****
+*** 1470,1479 ****
   #if YYDEBUG
           if (yydebug)
 !             printf("yydebug: state %d, shifting to state %d\n",
@@ -234,7 +346,7 @@ Index: perly.c
 !             goto yyoverflow;
           }
           *++yyssp = yystate = yytable[yyn];
---- 1391,1414 ----
+--- 1435,1458 ----
   #if YYDEBUG
           if (yydebug)
 !             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
@@ -250,9 +362,9 @@ Index: perly.c
 !          int yypv_index = (yyvsp - yyvs);
 !          yystacksize += YYSTACKSIZE;
 !          ysave->yyvs = yyvs =
-!              (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
+!              (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
 !          ysave->yyss = yyss =
-!              (short*)realloc((char*)yyss,yystacksize * sizeof(short));
+!              (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
 !          if (!yyvs || !yyss)
 !              goto yyoverflow;
 !          yyssp = yyss + yyps_index;
@@ -260,7 +372,7 @@ Index: perly.c
           }
           *++yyssp = yystate = yytable[yyn];
 ***************
-*** 1436,1445 ****
+*** 1511,1520 ****
   #if YYDEBUG
                   if (yydebug)
 !                     printf("yydebug: state %d, error recovery shifting\
@@ -271,7 +383,7 @@ Index: perly.c
 !                     goto yyoverflow;
                   }
                   *++yyssp = yystate = yytable[yyn];
---- 1446,1470 ----
+--- 1490,1514 ----
   #if YYDEBUG
                   if (yydebug)
 !                     PerlIO_printf(Perl_debug_log,
@@ -287,9 +399,9 @@ Index: perly.c
 !                  int yyps_index = (yyssp - yyss);
 !                  int yypv_index = (yyvsp - yyvs);
 !                  yystacksize += YYSTACKSIZE;
-!                  ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
+!                  ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
 !                      yystacksize * sizeof(YYSTYPE));
-!                  ysave->yyss = yyss = (short*)realloc((char*)yyss,
+!                  ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
 !                      yystacksize * sizeof(short));
 !                  if (!yyvs || !yyss)
 !                      goto yyoverflow;
@@ -298,14 +410,14 @@ Index: perly.c
                   }
                   *++yyssp = yystate = yytable[yyn];
 ***************
-*** 1451,1456 ****
+*** 1526,1531 ****
   #if YYDEBUG
                   if (yydebug)
 !                     printf("yydebug: error recovery discarding state %d\n",
 !                             *yyssp);
   #endif
                   if (yyssp <= yyss) goto yyabort;
---- 1476,1482 ----
+--- 1520,1526 ----
   #if YYDEBUG
                   if (yydebug)
 !                     PerlIO_printf(Perl_debug_log,
@@ -314,14 +426,14 @@ Index: perly.c
   #endif
                   if (yyssp <= yyss) goto yyabort;
 ***************
-*** 1469,1474 ****
+*** 1544,1549 ****
               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
---- 1495,1501 ----
+--- 1539,1545 ----
               if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
               if (!yys) yys = "illegal-symbol";
 !             PerlIO_printf(Perl_debug_log,
@@ -330,40 +442,40 @@ Index: perly.c
           }
   #endif
 ***************
-*** 1479,1483 ****
+*** 1554,1558 ****
   #if YYDEBUG
       if (yydebug)
 !         printf("yydebug: state %d, reducing by rule %d (%s)\n",
                   yystate, yyn, yyrule[yyn]);
   #endif
---- 1506,1510 ----
+--- 1550,1554 ----
   #if YYDEBUG
       if (yydebug)
 !         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
                   yystate, yyn, yyrule[yyn]);
   #endif
 ***************
-*** 2263,2267 ****
+*** 2358,2362 ****
   { yyval.opval = yyvsp[0].opval; }
   break;
-! #line 2266 "y.tab.c"
+! #line 2361 "y.tab.c"
       }
       yyssp -= yym;
---- 2290,2294 ----
+--- 2354,2358 ----
   { yyval.opval = yyvsp[0].opval; }
   break;
-! #line 2266 "perly.c"
+! #line 2365 "perly.c"
       }
       yyssp -= yym;
 ***************
-*** 2273,2278 ****
+*** 2368,2373 ****
   #if YYDEBUG
           if (yydebug)
 !             printf("yydebug: after reduction, shifting from state 0 to\
 !  state %d\n", YYFINAL);
   #endif
           yystate = YYFINAL;
---- 2300,2306 ----
+--- 2364,2370 ----
   #if YYDEBUG
           if (yydebug)
 !             PerlIO_printf(Perl_debug_log,
@@ -372,20 +484,20 @@ Index: perly.c
   #endif
           yystate = YYFINAL;
 ***************
-*** 2288,2292 ****
+*** 2383,2387 ****
                   if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   if (!yys) yys = "illegal-symbol";
 !                 printf("yydebug: state %d, reading %d (%s)\n",
                           YYFINAL, yychar, yys);
               }
---- 2316,2320 ----
+--- 2380,2384 ----
                   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);
               }
 ***************
-*** 2303,2312 ****
+*** 2398,2407 ****
   #if YYDEBUG
       if (yydebug)
 !         printf("yydebug: after reduction, shifting from state %d \
@@ -396,7 +508,7 @@ Index: perly.c
 !         goto yyoverflow;
       }
       *++yyssp = yystate;
---- 2331,2355 ----
+--- 2395,2419 ----
   #if YYDEBUG
       if (yydebug)
 !         PerlIO_printf(Perl_debug_log,
@@ -413,9 +525,9 @@ Index: perly.c
 !      int yypv_index = (yyvsp - yyvs);
 !      yystacksize += YYSTACKSIZE;
 !      ysave->yyvs = yyvs =
-!          (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
+!          (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
 !      ysave->yyss = yyss =
-!          (short*)realloc((char*)yyss,yystacksize * sizeof(short));
+!          (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
 !      if (!yyvs || !yyss)
 !          goto yyoverflow;
 !      yyssp = yyss + yyps_index;
@@ -423,7 +535,7 @@ Index: perly.c
       }
       *++yyssp = yystate;
 ***************
-*** 2314,2321 ****
+*** 2409,2416 ****
       goto yyloop;
   yyoverflow:
 !     yyerror("yacc stack overflow");
@@ -432,7 +544,7 @@ Index: perly.c
   yyaccept:
 !     return (0);
   }
---- 2357,2364 ----
+--- 2421,2448 ----
       goto yyloop;
   yyoverflow:
 !     yyerror("Out of memory for yacc stack");
@@ -440,4 +552,24 @@ Index: perly.c
 !     retval = 1;
   yyaccept:
 !     return retval;
+! }
+! 
+! #ifdef PERL_OBJECT
+! #define NO_XSLOCKS
+! #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);
   }