ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/perly_c.diff
Revision: 1.1
Committed: Thu Jun 30 14:26:42 2005 UTC (21 years, 3 months ago) by root
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 --- perly.c.orig Thu Apr 7 10:51:31 2005
2     +++ perly.c Thu Apr 7 10:54:13 2005
3     @@ -1,5 +1,5 @@
4     #ifndef lint
5     -static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
6     +/* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
7     #endif
8     #define YYBYACC 1
9     #line 25 "perly.y"
10     @@ -9,7 +9,7 @@
11     #ifdef EBCDIC
12     #undef YYDEBUG
13     #endif
14     -#define dep() deprecate("\"do\" to call subroutines")
15     +#define dep() deprecate_old("\"do\" to call subroutines")
16    
17     /* stuff included here to make perly_c.diff apply better */
18    
19     @@ -50,70 +50,9 @@
20     #define yylex yylex_r
21     #endif
22    
23     -#line 54 "y.tab.c"
24     -#define WORD 257
25     -#define METHOD 258
26     -#define FUNCMETH 259
27     -#define THING 260
28     -#define PMFUNC 261
29     -#define PRIVATEREF 262
30     -#define FUNC0SUB 263
31     -#define UNIOPSUB 264
32     -#define LSTOPSUB 265
33     -#define LABEL 266
34     -#define FORMAT 267
35     -#define SUB 268
36     -#define ANONSUB 269
37     -#define PACKAGE 270
38     -#define USE 271
39     -#define WHILE 272
40     -#define UNTIL 273
41     -#define IF 274
42     -#define UNLESS 275
43     -#define ELSE 276
44     -#define ELSIF 277
45     -#define CONTINUE 278
46     -#define FOR 279
47     -#define LOOPEX 280
48     -#define DOTDOT 281
49     -#define FUNC0 282
50     -#define FUNC1 283
51     -#define FUNC 284
52     -#define UNIOP 285
53     -#define LSTOP 286
54     -#define RELOP 287
55     -#define EQOP 288
56     -#define MULOP 289
57     -#define ADDOP 290
58     -#define DOLSHARP 291
59     -#define DO 292
60     -#define HASHBRACK 293
61     -#define NOAMP 294
62     -#define LOCAL 295
63     -#define MY 296
64     -#define MYSUB 297
65     -#define COLONATTR 298
66     -#define PREC_LOW 299
67     -#define OROP 300
68     -#define ANDOP 301
69     -#define NOTOP 302
70     -#define ASSIGNOP 303
71     -#define OROR 304
72     -#define ANDAND 305
73     -#define BITOROP 306
74     -#define BITANDOP 307
75     -#define SHIFTOP 308
76     -#define MATCHOP 309
77     -#define UMINUS 310
78     -#define REFGEN 311
79     -#define POWOP 312
80     -#define PREINC 313
81     -#define PREDEC 314
82     -#define POSTINC 315
83     -#define POSTDEC 316
84     -#define ARROW 317
85     +#line 54 "perly.c"
86     #define YYERRCODE 256
87     -short yylhs[] = { -1,
88     +static short yylhs[] = { -1,
89     0, 9, 7, 6, 10, 8, 11, 11, 11, 12,
90     12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
91     15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
92     @@ -135,7 +74,7 @@
93     49, 34, 34, 35, 35, 35, 44, 24, 19, 20,
94     21, 22, 23, 36, 36, 36, 36,
95     };
96     -short yylen[] = { 2,
97     +static short yylen[] = { 2,
98     2, 4, 0, 0, 4, 0, 0, 2, 2, 2,
99     1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
100     0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
101     @@ -157,7 +96,7 @@
102     1, 0, 1, 0, 1, 2, 1, 2, 2, 2,
103     2, 2, 2, 1, 1, 1, 1,
104     };
105     -short yydefred[] = { 4,
106     +static short yydefred[] = { 4,
107     0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
108     46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
109     0, 70, 71, 0, 14, 3, 173, 0, 0, 154,
110     @@ -199,7 +138,7 @@
111     0, 22, 0, 0, 0, 31, 5, 0, 30, 0,
112     0, 33, 0, 23,
113     };
114     -short yydgoto[] = { 1,
115     +static short yydgoto[] = { 1,
116     10, 11, 20, 104, 19, 2, 95, 370, 98, 359,
117     3, 12, 13, 70, 375, 285, 72, 73, 74, 75,
118     76, 77, 78, 79, 291, 81, 292, 281, 283, 286,
119     @@ -207,7 +146,7 @@
120     194, 327, 156, 289, 271, 225, 14, 83, 137, 84,
121     85, 86, 87, 15, 16, 17, 18, 93, 278,
122     };
123     -short yysindex[] = { 0,
124     +static short yysindex[] = { 0,
125     0, 0, -132, 0, 0, 0, -51, 0, 0, 0,
126     0, 0, 0, 0, 650, 0, 0, 0, -239, -215,
127     5, 0, 0, -215, 0, 0, 0, -31, -31, 0,
128     @@ -249,7 +188,7 @@
129     449, 0, 2181, -150, 340, 0, 0, 355, 0, 216,
130     216, 0, -123, 0,
131     };
132     -short yyrindex[] = { 0,
133     +static short yyrindex[] = { 0,
134     0, 0, 247, 0, 0, 0, 0, 0, 0, 0,
135     0, 0, 0, 0, 0, 0, 0, 0, 274, 0,
136     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137     @@ -291,7 +230,7 @@
138     917, 0, 0, 119, 0, 0, 0, 0, 0, 0,
139     0, 0, 179, 0,
140     };
141     -short yygindex[] = { 0,
142     +static short yygindex[] = { 0,
143     0, 0, 196, 425, 0, 0, -2, 0, 37, 634,
144     -94, 0, 0, 0, -323, -15, 2445, 0, 999, 414,
145     417, 0, 0, 0, 463, -43, 0, 0, 321, -198,
146     @@ -300,7 +239,7 @@
147     0, 0, 0, 0, 0, 0, 0, 0, 0,
148     };
149     #define YYTABLESIZE 4568
150     -short yytable[] = { 71,
151     +static short yytable[] = { 71,
152     197, 65, 121, 227, 65, 111, 220, 22, 198, 293,
153     139, 296, 315, 275, 305, 102, 273, 88, 113, 228,
154     60, 113, 279, 65, 317, 60, 182, 254, 325, 101,
155     @@ -759,7 +698,7 @@
156     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157     0, 0, 0, 0, 0, 0, 77, 77,
158     };
159     -short yycheck[] = { 15,
160     +static short yycheck[] = { 15,
161     95, 36, 46, 41, 36, 40, 59, 59, 100, 208,
162     54, 41, 59, 199, 41, 40, 196, 257, 41, 93,
163     123, 44, 202, 36, 93, 59, 40, 40, 59, 29,
164     @@ -1224,7 +1163,7 @@
165     #endif
166     #define YYMAXTOKEN 317
167     #if YYDEBUG
168     -char *yyname[] = {
169     +static char *yyname[] = {
170     "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,
171     "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
172     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,
173     @@ -1241,7 +1180,7 @@
174     "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
175     "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
176     };
177     -char *yyrule[] = {
178     +static char *yyrule[] = {
179     "$accept : prog",
180     "prog : progstart lineseq",
181     "block : '{' remember lineseq '}'",
182     @@ -1456,17 +1395,6 @@
183     #define YYMAXDEPTH 500
184     #endif
185     #endif
186     -int yydebug;
187     -int yynerrs;
188     -int yyerrflag;
189     -int yychar;
190     -short *yyssp;
191     -YYSTYPE *yyvsp;
192     -YYSTYPE yyval;
193     -YYSTYPE yylval;
194     -short yyss[YYSTACKSIZE];
195     -YYSTYPE yyvs[YYSTACKSIZE];
196     -#define yystacksize YYSTACKSIZE
197     #line 804 "perly.y"
198     /* PROGRAM */
199    
200     @@ -1477,7 +1405,7 @@
201     #endif
202     #define yyparse() Perl_yyparse(pTHX)
203    
204     -#line 1481 "y.tab.c"
205     +#line 1409 "perly.c"
206     #define YYABORT goto yyabort
207     #define YYACCEPT goto yyaccept
208     #define YYERROR goto yyerrlab
209     @@ -1485,11 +1413,31 @@
210     yyparse()
211     {
212     register int yym, yyn, yystate;
213     + register short *yyssp;
214     + register YYSTYPE *yyvsp;
215     + short* yyss;
216     + YYSTYPE* yyvs;
217     + unsigned yystacksize = YYSTACKSIZE;
218     + int retval = 0;
219     #if YYDEBUG
220     register char *yys;
221     - extern char *getenv();
222     +#endif
223     +
224     + struct ysv *ysave;
225     +#ifdef USE_ITHREADS
226     + ENTER; /* force yydestruct() before we return */
227     +#endif
228     + New(73, ysave, 1, struct ysv);
229     + SAVEDESTRUCTOR_X(yydestruct, ysave);
230     + ysave->oldyydebug = yydebug;
231     + ysave->oldyynerrs = yynerrs;
232     + ysave->oldyyerrflag = yyerrflag;
233     + ysave->oldyychar = yychar;
234     + ysave->oldyyval = yyval;
235     + ysave->oldyylval = yylval;
236    
237     - if (yys = getenv("YYDEBUG"))
238     +#if YYDEBUG
239     + if ((yys = getenv("YYDEBUG")))
240     {
241     yyn = *yys;
242     if (yyn >= '0' && yyn <= '9')
243     @@ -1501,12 +1449,22 @@
244     yyerrflag = 0;
245     yychar = (-1);
246    
247     + /*
248     + ** Initialize private stacks (yyparse may be called from an action)
249     + */
250     + New(73, yyss, yystacksize, short);
251     + New(73, yyvs, yystacksize, YYSTYPE);
252     + ysave->yyss = yyss;
253     + ysave->yyvs = yyvs;
254     + if (!yyvs || !yyss)
255     + goto yyoverflow;
256     +
257     yyssp = yyss;
258     yyvsp = yyvs;
259     *yyssp = yystate = 0;
260    
261     yyloop:
262     - if (yyn = yydefred[yystate]) goto yyreduce;
263     + if ((yyn = yydefred[yystate])) goto yyreduce;
264     if (yychar < 0)
265     {
266     if ((yychar = yylex()) < 0) yychar = 0;
267     @@ -1516,7 +1474,7 @@
268     yys = 0;
269     if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
270     if (!yys) yys = "illegal-symbol";
271     - printf("yydebug: state %d, reading %d (%s)\n", yystate,
272     + PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
273     yychar, yys);
274     }
275     #endif
276     @@ -1526,12 +1484,24 @@
277     {
278     #if YYDEBUG
279     if (yydebug)
280     - printf("yydebug: state %d, shifting to state %d\n",
281     + PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
282     yystate, yytable[yyn]);
283     #endif
284     if (yyssp >= yyss + yystacksize - 1)
285     {
286     + /*
287     + ** reallocate and recover. Note that pointers
288     + ** have to be reset, or bad things will happen
289     + */
290     + int yyps_index = (yyssp - yyss);
291     + int yypv_index = (yyvsp - yyvs);
292     + yystacksize += YYSTACKSIZE;
293     + ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
294     + ysave->yyss = Renew(yyss, yystacksize, short);
295     + if (!yyvs || !yyss)
296     goto yyoverflow;
297     + yyssp = yyss + yyps_index;
298     + yyvsp = yyvs + yypv_index;
299     }
300     *++yyssp = yystate = yytable[yyn];
301     *++yyvsp = yylval;
302     @@ -1547,14 +1517,14 @@
303     }
304     if (yyerrflag) goto yyinrecovery;
305     #ifdef lint
306     - goto yynewerror;
307     +
308     #endif
309     -yynewerror:
310     +
311     yyerror("syntax error");
312     #ifdef lint
313     - goto yyerrlab;
314     +
315     #endif
316     -yyerrlab:
317     +
318     ++yynerrs;
319     yyinrecovery:
320     if (yyerrflag < 3)
321     @@ -1567,12 +1537,24 @@
322     {
323     #if YYDEBUG
324     if (yydebug)
325     - printf("yydebug: state %d, error recovery shifting\
326     + PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
327     to state %d\n", *yyssp, yytable[yyn]);
328     #endif
329     if (yyssp >= yyss + yystacksize - 1)
330     {
331     + /*
332     + ** reallocate and recover. Note that pointers
333     + ** have to be reset, or bad things will happen
334     + */
335     + int yyps_index = (yyssp - yyss);
336     + int yypv_index = (yyvsp - yyvs);
337     + yystacksize += YYSTACKSIZE;
338     + ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
339     + ysave->yyss = Renew(yyss, yystacksize, short);
340     + if (!yyvs || !yyss)
341     goto yyoverflow;
342     + yyssp = yyss + yyps_index;
343     + yyvsp = yyvs + yypv_index;
344     }
345     *++yyssp = yystate = yytable[yyn];
346     *++yyvsp = yylval;
347     @@ -1582,7 +1564,7 @@
348     {
349     #if YYDEBUG
350     if (yydebug)
351     - printf("yydebug: error recovery discarding state %d\n",
352     + PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
353     *yyssp);
354     #endif
355     if (yyssp <= yyss) goto yyabort;
356     @@ -1600,7 +1582,7 @@
357     yys = 0;
358     if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
359     if (!yys) yys = "illegal-symbol";
360     - printf("yydebug: state %d, error recovery discards token %d (%s)\n",
361     + PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
362     yystate, yychar, yys);
363     }
364     #endif
365     @@ -1610,7 +1592,7 @@
366     yyreduce:
367     #if YYDEBUG
368     if (yydebug)
369     - printf("yydebug: state %d, reducing by rule %d (%s)\n",
370     + PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
371     yystate, yyn, yyrule[yyn]);
372     #endif
373     yym = yylen[yyn];
374     @@ -2485,7 +2467,7 @@
375     {
376     #if YYDEBUG
377     if (yydebug)
378     - printf("yydebug: after reduction, shifting from state 0 to\
379     + PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
380     state %d\n", YYFINAL);
381     #endif
382     yystate = YYFINAL;
383     @@ -2500,7 +2482,7 @@
384     yys = 0;
385     if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
386     if (!yys) yys = "illegal-symbol";
387     - printf("yydebug: state %d, reading %d (%s)\n",
388     + PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
389     YYFINAL, yychar, yys);
390     }
391     #endif
392     @@ -2515,20 +2497,50 @@
393     yystate = yydgoto[yym];
394     #if YYDEBUG
395     if (yydebug)
396     - printf("yydebug: after reduction, shifting from state %d \
397     + PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
398     to state %d\n", *yyssp, yystate);
399     #endif
400     if (yyssp >= yyss + yystacksize - 1)
401     {
402     + /*
403     + ** reallocate and recover. Note that pointers
404     + ** have to be reset, or bad things will happen
405     + */
406     + int yyps_index = (yyssp - yyss);
407     + int yypv_index = (yyvsp - yyvs);
408     + yystacksize += YYSTACKSIZE;
409     + ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
410     + ysave->yyss = Renew(yyss, yystacksize, short);
411     + if (!yyvs || !yyss)
412     goto yyoverflow;
413     + yyssp = yyss + yyps_index;
414     + yyvsp = yyvs + yypv_index;
415     }
416     *++yyssp = yystate;
417     *++yyvsp = yyval;
418     goto yyloop;
419     yyoverflow:
420     - yyerror("yacc stack overflow");
421     + yyerror("Out of memory for yacc stack");
422     yyabort:
423     - return (1);
424     + retval = 1;
425     yyaccept:
426     - return (0);
427     +#ifdef USE_ITHREADS
428     + LEAVE; /* force yydestruct() before we return */
429     +#endif
430     + return retval;
431     +}
432     +
433     +static void
434     +yydestruct(pTHX_ void *ptr)
435     +{
436     + struct ysv* ysave = (struct ysv*)ptr;
437     + if (ysave->yyss) Safefree(ysave->yyss);
438     + if (ysave->yyvs) Safefree(ysave->yyvs);
439     + yydebug = ysave->oldyydebug;
440     + yynerrs = ysave->oldyynerrs;
441     + yyerrflag = ysave->oldyyerrflag;
442     + yychar = ysave->oldyychar;
443     + yyval = ysave->oldyyval;
444     + yylval = ysave->oldyylval;
445     + Safefree(ysave);
446     }