Index: perly.c
+*** perly.c.old Wed Jun 10 03:48:43 1998
+--- perly.c Wed Jun 10 03:55:10 1998
***************
-*** 13,82 ****
+*** 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 HASHBRACK 291
-- #define NOAMP 292
-- #define LOCAL 293
-- #define MY 294
-- #define OROP 295
-- #define ANDOP 296
-- #define NOTOP 297
-- #define LSTOP 298
-- #define ASSIGNOP 299
-- #define OROR 300
-- #define ANDAND 301
-- #define BITOROP 302
-- #define BITANDOP 303
-- #define UNIOP 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
+! #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,
---- 13,16 ----
***************
-*** 1357,1367 ****
+*** 1337,1361 ****
int yyerrflag;
int yychar;
- short *yyssp;
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #define yystacksize YYSTACKSIZE
- #line 616 "perly.y"
+ #line 635 "perly.y"
/* PROGRAM */
---- 1291,1296 ----
-***************
-*** 1370,1381 ****
---- 1299,1355 ----
+! #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
+
+ };
+
+ void
-+ yydestruct(ptr)
-+ void* ptr;
++ yydestruct(void *ptr)
+ {
+ struct ysv* ysave = (struct ysv*)ptr;
+ if (ysave->yyss) Safefree(ysave->yyss);
+ }
+
int
- yyparse()
+! yyparse(void)
{
register int yym, yyn, yystate;
+ register short *yyssp;
+ int retval = 0;
#if YYDEBUG
register char *yys;
++ #ifndef __cplusplus
extern char *getenv();
+ #endif
++ #endif
+
-+ struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
++ struct ysv *ysave;
++ New(73, ysave, 1, struct ysv);
+ SAVEDESTRUCTOR(yydestruct, ysave);
+ ysave->oldyydebug = yydebug;
+ ysave->oldyynerrs = yynerrs;
if (yys = getenv("YYDEBUG"))
{
***************
-*** 1390,1393 ****
---- 1364,1375 ----
+*** 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;
***************
-*** 1405,1409 ****
+*** 1385,1389 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, reading %d (%s)\n", yystate,
yychar, yys);
}
---- 1387,1391 ----
+--- 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);
}
***************
-*** 1415,1424 ****
+*** 1395,1404 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, shifting to state %d\n",
! goto yyoverflow;
}
*++yyssp = yystate = yytable[yyn];
---- 1397,1420 ----
+--- 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)
}
*++yyssp = yystate = yytable[yyn];
***************
-*** 1456,1465 ****
+*** 1436,1445 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, error recovery shifting\
! goto yyoverflow;
}
*++yyssp = yystate = yytable[yyn];
---- 1452,1476 ----
+--- 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
}
*++yyssp = yystate = yytable[yyn];
***************
-*** 1471,1476 ****
+*** 1451,1456 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: error recovery discarding state %d\n",
! *yyssp);
#endif
if (yyssp <= yyss) goto yyabort;
---- 1482,1488 ----
+--- 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;
***************
-*** 1489,1494 ****
+*** 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
---- 1501,1507 ----
+--- 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
***************
-*** 1499,1503 ****
+*** 1479,1483 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, reducing by rule %d (%s)\n",
yystate, yyn, yyrule[yyn]);
#endif
---- 1512,1516 ----
+--- 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
***************
-*** 2268,2273 ****
+*** 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;
---- 2281,2287 ----
+--- 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;
***************
-*** 2283,2287 ****
+*** 2288,2292 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, reading %d (%s)\n",
YYFINAL, yychar, yys);
}
---- 2297,2301 ----
+--- 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);
}
***************
-*** 2298,2307 ****
+*** 2303,2312 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: after reduction, shifting from state %d \
! goto yyoverflow;
}
*++yyssp = yystate;
---- 2312,2336 ----
+--- 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
}
*++yyssp = yystate;
***************
-*** 2309,2316 ****
+*** 2314,2321 ****
goto yyloop;
yyoverflow:
! yyerror("yacc stack overflow");
yyaccept:
! return (0);
}
---- 2338,2345 ----
+--- 2357,2364 ----
goto yyloop;
yyoverflow:
! yyerror("Out of memory for yacc stack");