Browse files

merge perly.y and madlu.y

p4raw-id: //depot/perl@29455
  • Loading branch information...
1 parent 7c34508 commit f05e27e5b9aa3dce0aa1ab50210632677c656114 Dave Mitchell committed Dec 4, 2006
Showing with 2,541 additions and 5,361 deletions.
  1. +1 −5 MANIFEST
  2. +2 −11 Makefile.SH
  3. +0 −1,514 madly.act
  4. +2 −16 madly.c
  5. +0 −194 madly.h
  6. +0 −910 madly.tab
  7. +0 −1,214 madly.y
  8. +992 −499 perly.act
  9. +28 −17 perly.c
  10. +30 −16 perly.h
  11. +750 −745 perly.tab
  12. +736 −220 perly.y
View
6 MANIFEST
@@ -2754,11 +2754,7 @@ lib/warnings.pm For "use warnings"
lib/warnings/register.pm For "use warnings::register"
lib/warnings.t See if warning controls work
locale.c locale-specific utility functions
-madly.act parser actions; derived from madly.y
-madly.c parser code (NOT derived from madly.y)
-madly.h header file for madly.c; derived from madly.y
-madly.tab parser state tables; derived from madly.y
-madly.y Yacc grammar for MAD
+madly.c parser code for MAD build
mad/nomad Converts raw XML dump to something vaguely sane
mad/p55 Perl 5 to Perl 5 translator - driver for nomad
mad/P5AST.pm Used by nomad
View
13 Makefile.SH
@@ -206,7 +206,6 @@ CLDFLAGS = $ldflags
mallocsrc = $mallocsrc
mallocobj = $mallocobj
-madlyh = $madlyh
madlysrc = $madlysrc
madlyobj = $madlyobj
LNS = $lns
@@ -362,7 +361,7 @@ h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h
h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h
h3 = pad.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h
h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
-h5 = utf8.h warnings.h $(madlyh)
+h5 = utf8.h warnings.h
h = $(h1) $(h2) $(h3) $(h4) $(h5)
c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c perl.c
@@ -927,10 +926,9 @@ install.html: all installhtml
run_byacc:
@echo "run_byacc is obsolete; try 'make regen_perly' instead"
-# this outputs perly.h, perly.act, perly.tab, madly.h, madly.act and madly.tab
+# this outputs perly.h, perly.act and perly.tab
regen_perly:
perl regen_perly.pl
- perl regen_perly.pl madly.y
# We don't want to regenerate perly.c and perly.h, but they might
# appear out-of-date after a patch is applied or a new distribution is
@@ -941,13 +939,6 @@ perly.c: perly.y
perly.h: perly.y
-@sh -c true
-# Similary for madly.
-madly.c: madly.y
- -@sh -c true
-
-madly.h: madly.y
- -@sh -c true
-
# No compat3.sym here since and including the 5.004_50.
# No interp.sym since 5.005_03.
SYM = global.sym globvar.sym perlio.sym pp.sym
View
1,514 madly.act
@@ -1,1514 +0,0 @@
-case 2:
-#line 102 "madly.y"
- { (yyval.ival) = (yyvsp[-1].ival); newPROG(block_end((yyvsp[-1].ival),(yyvsp[0].opval))); ;}
- break;
-
- case 3:
-#line 107 "madly.y"
- { if (PL_copline > (line_t)((yyvsp[-3].tkval))->tk_lval.ival)
- PL_copline = (line_t)((yyvsp[-3].tkval))->tk_lval.ival;
- (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 4:
-#line 116 "madly.y"
- { (yyval.ival) = block_start(TRUE); ;}
- break;
-
- case 5:
-#line 120 "madly.y"
- { (yyval.ival) = (I32) allocmy("$_"); ;}
- break;
-
- case 6:
-#line 124 "madly.y"
- {
- PL_expect = XSTATE; (yyval.ival) = block_start(TRUE);
- ;}
- break;
-
- case 7:
-#line 131 "madly.y"
- { if (PL_copline > (line_t)((yyvsp[-3].tkval))->tk_lval.ival)
- PL_copline = (line_t)((yyvsp[-3].tkval))->tk_lval.ival;
- (yyval.opval) = block_end((yyvsp[-2].ival), (yyvsp[-1].opval));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 8:
-#line 140 "madly.y"
- { (yyval.ival) = block_start(FALSE); ;}
- break;
-
- case 9:
-#line 144 "madly.y"
- { (yyval.ival) = PL_savestack_ix; ;}
- break;
-
- case 10:
-#line 148 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 11:
-#line 151 "madly.y"
- { (yyval.opval) = append_list(OP_LINESEQ,
- (LISTOP*)(yyvsp[-1].opval), (LISTOP*)(yyvsp[0].opval)); ;}
- break;
-
- case 12:
-#line 154 "madly.y"
- { LEAVE_SCOPE((yyvsp[-1].ival));
- (yyval.opval) = append_list(OP_LINESEQ,
- (LISTOP*)(yyvsp[-2].opval), (LISTOP*)(yyvsp[0].opval));
- PL_pad_reset_pending = TRUE;
- if ((yyvsp[-2].opval) && (yyvsp[0].opval)) PL_hints |= HINT_BLOCK_SCOPE; ;}
- break;
-
- case 13:
-#line 163 "madly.y"
- { (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
- break;
-
- case 15:
-#line 167 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 16:
-#line 169 "madly.y"
- { (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, (yyvsp[0].opval)); ;}
- break;
-
- case 17:
-#line 171 "madly.y"
- {
- if (((yyvsp[-1].tkval))->tk_lval.pval) {
- (yyval.opval) = newSTATEOP(0, ((yyvsp[-1].tkval))->tk_lval.pval, newOP(OP_NULL, 0));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'L');
- token_getmad((yyvsp[0].tkval),((LISTOP*)(yyval.opval))->op_first,';');
- }
- else {
- (yyval.opval) = newOP(OP_NULL, 0);
- PL_copline = NOLINE;
- token_free((yyvsp[-1].tkval));
- token_getmad((yyvsp[0].tkval),(yyval.opval),';');
- }
- PL_expect = XSTATE;
- ;}
- break;
-
- case 18:
-#line 186 "madly.y"
- { OP* op;
- (yyval.opval) = newSTATEOP(0, ((yyvsp[-2].tkval))->tk_lval.pval, (yyvsp[-1].opval));
- PL_expect = XSTATE;
- /* sideff might already have a nexstate */
- op = ((LISTOP*)(yyval.opval))->op_first;
- if (op) {
- while (op->op_sibling &&
- op->op_sibling->op_type == OP_NEXTSTATE)
- op = op->op_sibling;
- token_getmad((yyvsp[-2].tkval),op,'L');
- token_getmad((yyvsp[0].tkval),op,';');
- }
- ;}
- break;
-
- case 19:
-#line 203 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 20:
-#line 205 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 21:
-#line 207 "madly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[0].opval), (yyvsp[-2].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'i');
- ;}
- break;
-
- case 22:
-#line 211 "madly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[0].opval), (yyvsp[-2].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'i');
- ;}
- break;
-
- case 23:
-#line 215 "madly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((yyvsp[0].opval)), (yyvsp[-2].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'w');
- ;}
- break;
-
- case 24:
-#line 219 "madly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (yyvsp[0].opval), (yyvsp[-2].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'w');
- ;}
- break;
-
- case 25:
-#line 223 "madly.y"
- { (yyval.opval) = newFOROP(0, Nullch, (line_t)((yyvsp[-1].tkval))->tk_lval.ival,
- Nullop, (yyvsp[0].opval), (yyvsp[-2].opval), Nullop);
- token_getmad((yyvsp[-1].tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
- ;}
- break;
-
- case 26:
-#line 231 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 27:
-#line 233 "madly.y"
- { ((yyvsp[0].opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 28:
-#line 237 "madly.y"
- { PL_copline = (line_t)((yyvsp[-5].tkval))->tk_lval.ival;
- (yyval.opval) = newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval));
- PL_hints |= HINT_BLOCK_SCOPE;
- token_getmad((yyvsp[-5].tkval),(yyval.opval),'I');
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 29:
-#line 248 "madly.y"
- { PL_copline = (line_t)((yyvsp[-6].tkval))->tk_lval.ival;
- (yyval.opval) = block_end((yyvsp[-4].ival),
- newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)));
- token_getmad((yyvsp[-6].tkval),(yyval.opval),'I');
- token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 30:
-#line 256 "madly.y"
- { PL_copline = (line_t)((yyvsp[-6].tkval))->tk_lval.ival;
- (yyval.opval) = block_end((yyvsp[-4].ival),
- newCONDOP(0, (yyvsp[-3].opval), scope((yyvsp[-1].opval)), (yyvsp[0].opval)));
- token_getmad((yyvsp[-6].tkval),(yyval.opval),'I');
- token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 31:
-#line 267 "madly.y"
- { (yyval.opval) = block_end((yyvsp[-3].ival),
- newWHENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)))); ;}
- break;
-
- case 32:
-#line 270 "madly.y"
- { (yyval.opval) = newWHENOP(0, scope((yyvsp[0].opval))); ;}
- break;
-
- case 33:
-#line 275 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 34:
-#line 277 "madly.y"
- { (yyval.opval) = scope((yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 35:
-#line 284 "madly.y"
- { OP *innerop;
- PL_copline = (line_t)(yyvsp[-7].tkval);
- (yyval.opval) = block_end((yyvsp[-5].ival),
- newSTATEOP(0, ((yyvsp[-8].tkval))->tk_lval.pval,
- innerop = newWHILEOP(0, 1, (LOOP*)Nullop,
- ((yyvsp[-7].tkval))->tk_lval.ival, (yyvsp[-4].opval), (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].ival))));
- token_getmad((yyvsp[-8].tkval),innerop,'L');
- token_getmad((yyvsp[-7].tkval),innerop,'W');
- token_getmad((yyvsp[-6].tkval),innerop,'(');
- token_getmad((yyvsp[-3].tkval),innerop,')');
- ;}
- break;
-
- case 36:
-#line 297 "madly.y"
- { OP *innerop;
- PL_copline = (line_t)(yyvsp[-7].tkval);
- (yyval.opval) = block_end((yyvsp[-5].ival),
- newSTATEOP(0, ((yyvsp[-8].tkval))->tk_lval.pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- ((yyvsp[-7].tkval))->tk_lval.ival, (yyvsp[-4].opval), (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].ival))));
- token_getmad((yyvsp[-8].tkval),innerop,'L');
- token_getmad((yyvsp[-7].tkval),innerop,'W');
- token_getmad((yyvsp[-6].tkval),innerop,'(');
- token_getmad((yyvsp[-3].tkval),innerop,')');
- ;}
- break;
-
- case 37:
-#line 309 "madly.y"
- { OP *innerop;
- (yyval.opval) = block_end((yyvsp[-6].ival),
- innerop = newFOROP(0, ((yyvsp[-9].tkval))->tk_lval.pval, (line_t)((yyvsp[-8].tkval))->tk_lval.ival, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
- token_getmad((yyvsp[-9].tkval),((LISTOP*)innerop)->op_first,'L');
- token_getmad((yyvsp[-8].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
- token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first->op_sibling,'d');
- token_getmad((yyvsp[-4].tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
- token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
- ;}
- break;
-
- case 38:
-#line 319 "madly.y"
- { OP *innerop;
- (yyval.opval) = block_end((yyvsp[-4].ival),
- innerop = newFOROP(0, ((yyvsp[-8].tkval))->tk_lval.pval, (line_t)((yyvsp[-7].tkval))->tk_lval.ival, mod((yyvsp[-6].opval), OP_ENTERLOOP),
- (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
- token_getmad((yyvsp[-8].tkval),((LISTOP*)innerop)->op_first,'L');
- token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
- token_getmad((yyvsp[-5].tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
- token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
- ;}
- break;
-
- case 39:
-#line 329 "madly.y"
- { OP *innerop;
- (yyval.opval) = block_end((yyvsp[-4].ival),
- innerop = newFOROP(0, ((yyvsp[-7].tkval))->tk_lval.pval, (line_t)((yyvsp[-6].tkval))->tk_lval.ival, Nullop, (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
- token_getmad((yyvsp[-7].tkval),((LISTOP*)innerop)->op_first,'L');
- token_getmad((yyvsp[-6].tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
- token_getmad((yyvsp[-5].tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
- token_getmad((yyvsp[-2].tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
- ;}
- break;
-
- case 40:
-#line 340 "madly.y"
- { OP *forop;
- PL_copline = (line_t)((yyvsp[-10].tkval))->tk_lval.ival;
- forop = newSTATEOP(0, ((yyvsp[-11].tkval))->tk_lval.pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- ((yyvsp[-10].tkval))->tk_lval.ival, scalar((yyvsp[-5].opval)),
- (yyvsp[0].opval), (yyvsp[-2].opval), (yyvsp[-3].ival)));
- if (!(yyvsp[-7].opval))
- (yyvsp[-7].opval) = newOP(OP_NULL, 0);
- forop = newUNOP(OP_NULL, 0, append_elem(OP_LINESEQ,
- newSTATEOP(0,
- (((yyvsp[-11].tkval))->tk_lval.pval
- ?savepv(((yyvsp[-11].tkval))->tk_lval.pval):Nullch),
- (yyvsp[-7].opval)),
- forop));
-
- token_getmad((yyvsp[-10].tkval),forop,'3');
- token_getmad((yyvsp[-9].tkval),forop,'(');
- token_getmad((yyvsp[-6].tkval),forop,'1');
- token_getmad((yyvsp[-4].tkval),forop,'2');
- token_getmad((yyvsp[-1].tkval),forop,')');
- token_getmad((yyvsp[-11].tkval),forop,'L');
- (yyval.opval) = block_end((yyvsp[-8].ival), forop); ;}
- break;
-
- case 41:
-#line 363 "madly.y"
- { (yyval.opval) = newSTATEOP(0, ((yyvsp[-2].tkval))->tk_lval.pval,
- newWHILEOP(0, 1, (LOOP*)Nullop,
- NOLINE, Nullop, (yyvsp[-1].opval), (yyvsp[0].opval), 0));
- token_getmad((yyvsp[-2].tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
- break;
-
- case 42:
-#line 371 "madly.y"
- { PL_copline = (line_t) (yyvsp[-6].tkval);
- (yyval.opval) = block_end((yyvsp[-4].ival),
- newSTATEOP(0, ((yyvsp[-7].tkval))->tk_lval.pval,
- newGIVENOP((yyvsp[-2].opval), scope((yyvsp[0].opval)),
- (PADOFFSET) (yyvsp[-3].ival)) )); ;}
- break;
-
- case 43:
-#line 380 "madly.y"
- { (yyval.ival) = (PL_min_intro_pending &&
- PL_max_intro_pending >= PL_min_intro_pending);
- intro_my(); ;}
- break;
-
- case 44:
-#line 386 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 46:
-#line 392 "madly.y"
- { YYSTYPE tmplval;
- (void)scan_num("1", &tmplval);
- (yyval.opval) = tmplval.opval; ;}
- break;
-
- case 48:
-#line 400 "madly.y"
- { (yyval.opval) = invert(scalar((yyvsp[0].opval))); ;}
- break;
-
- case 49:
-#line 405 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;}
- break;
-
- case 50:
-#line 409 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;}
- break;
-
- case 51:
-#line 413 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); intro_my(); ;}
- break;
-
- case 52:
-#line 418 "madly.y"
- { YYSTYPE tmplval;
- tmplval.pval = Nullch;
- (yyval.tkval) = newTOKEN(OP_NULL, tmplval, 0); ;}
- break;
-
- case 54:
-#line 426 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 55:
-#line 428 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 56:
-#line 430 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 57:
-#line 432 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 58:
-#line 434 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 59:
-#line 436 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 60:
-#line 440 "madly.y"
- { (yyval.opval) = newOP(OP_NULL,0);
- token_getmad((yyvsp[0].tkval),(yyval.opval),'p');
- ;}
- break;
-
- case 61:
-#line 446 "madly.y"
- { SvREFCNT_inc(PL_compcv);
- (yyval.opval) = newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval));
- prepend_madprops((yyvsp[-3].tkval)->tk_mad, (yyval.opval), 'F');
- (yyvsp[-3].tkval)->tk_mad = 0;
- token_free((yyvsp[-3].tkval));
- ;}
- break;
-
- case 62:
-#line 454 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 63:
-#line 455 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 64:
-#line 460 "madly.y"
- { SvREFCNT_inc(PL_compcv);
- (yyval.opval) = newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
- ;}
- break;
-
- case 65:
-#line 468 "madly.y"
- { SvREFCNT_inc(PL_compcv);
- OP* o = newSVOP(OP_ANONCODE, 0,
- (SV*)newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
- (yyval.opval) = newOP(OP_NULL,0);
- op_getmad(o,(yyval.opval),'&');
- op_getmad((yyvsp[-3].opval),(yyval.opval),'n');
- op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
- op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
- token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
- append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 0);
- (yyvsp[0].opval)->op_madprop = 0;
- ;}
- break;
-
- case 66:
-#line 483 "madly.y"
- { (yyval.ival) = start_subparse(FALSE, 0);
- SAVEFREESV(PL_compcv); ;}
- break;
-
- case 67:
-#line 489 "madly.y"
- { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
- SAVEFREESV(PL_compcv); ;}
- break;
-
- case 68:
-#line 494 "madly.y"
- { (yyval.ival) = start_subparse(TRUE, 0);
- SAVEFREESV(PL_compcv); ;}
- break;
-
- case 69:
-#line 499 "madly.y"
- { const char *const name = SvPV_nolen_const(((SVOP*)(yyvsp[0].opval))->op_sv);
- if (strEQ(name, "BEGIN") || strEQ(name, "END")
- || strEQ(name, "INIT") || strEQ(name, "CHECK")
- || strEQ(name, "UNITCHECK"))
- CvSPECIAL_on(PL_compcv);
- (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 70:
-#line 509 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 72:
-#line 515 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 73:
-#line 517 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval);
- token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
- ;}
- break;
-
- case 74:
-#line 521 "madly.y"
- { (yyval.opval) = newOP(OP_NULL, 0);
- token_getmad((yyvsp[0].tkval),(yyval.opval),':');
- ;}
- break;
-
- case 75:
-#line 528 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval);
- token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
- ;}
- break;
-
- case 76:
-#line 532 "madly.y"
- { (yyval.opval) = newOP(OP_NULL, 0);
- token_getmad((yyvsp[0].tkval),(yyval.opval),':');
- ;}
- break;
-
- case 77:
-#line 538 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 78:
-#line 539 "madly.y"
- { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE;
- token_getmad((yyvsp[0].tkval),(yyval.opval),';');
- ;}
- break;
-
- case 79:
-#line 545 "madly.y"
- { (yyval.opval) = package((yyvsp[-1].opval));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[0].tkval),(yyval.opval),';');
- ;}
- break;
-
- case 80:
-#line 552 "madly.y"
- { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
- break;
-
- case 81:
-#line 554 "madly.y"
- { SvREFCNT_inc(PL_compcv);
- (yyval.opval) = utilize(((yyvsp[-6].tkval))->tk_lval.ival, (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval));
- token_getmad((yyvsp[-6].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[0].tkval),(yyval.opval),';');
- if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
- append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
- ;}
- break;
-
- case 82:
-#line 565 "madly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 83:
-#line 569 "madly.y"
- { (yyval.opval) = newLOGOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 84:
-#line 573 "madly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 86:
-#line 581 "madly.y"
- { OP* op = newNULLLIST();
- token_getmad((yyvsp[0].tkval),op,',');
- (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
- ;}
- break;
-
- case 87:
-#line 586 "madly.y"
- {
- (yyvsp[0].opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyvsp[0].opval),',');
- (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval));
- ;}
- break;
-
- case 89:
-#line 596 "madly.y"
- { (yyval.opval) = convert(((yyvsp[-2].tkval))->tk_lval.ival, OPf_STACKED,
- prepend_elem(OP_LIST, newGVREF(((yyvsp[-2].tkval))->tk_lval.ival,(yyvsp[-1].opval)), (yyvsp[0].opval)) );
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 90:
-#line 601 "madly.y"
- { (yyval.opval) = convert(((yyvsp[-4].tkval))->tk_lval.ival, OPf_STACKED,
- prepend_elem(OP_LIST, newGVREF(((yyvsp[-4].tkval))->tk_lval.ival,(yyvsp[-2].opval)), (yyvsp[-1].opval)) );
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 91:
-#line 608 "madly.y"
- { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)),
- newUNOP(OP_METHOD, 0, (yyvsp[-3].opval))));
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'A');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 92:
-#line 617 "madly.y"
- { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, scalar((yyvsp[-2].opval)),
- newUNOP(OP_METHOD, 0, (yyvsp[0].opval))));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'A');
- ;}
- break;
-
- case 93:
-#line 623 "madly.y"
- { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)),
- newUNOP(OP_METHOD, 0, (yyvsp[-2].opval))));
- ;}
- break;
-
- case 94:
-#line 629 "madly.y"
- { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)),
- newUNOP(OP_METHOD, 0, (yyvsp[-4].opval))));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 95:
-#line 637 "madly.y"
- { (yyval.opval) = convert(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 96:
-#line 641 "madly.y"
- { (yyval.opval) = convert(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 97:
-#line 647 "madly.y"
- { SvREFCNT_inc(PL_compcv);
- (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;}
- break;
-
- case 98:
-#line 650 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST,
- prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval)));
- ;}
- break;
-
- case 101:
-#line 665 "madly.y"
- { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval)));
- PL_expect = XOPERATOR;
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 102:
-#line 672 "madly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval)));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 103:
-#line 677 "madly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0,
- ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV),
- scalar((yyvsp[-1].opval)));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 104:
-#line 685 "madly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0,
- ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV),
- scalar((yyvsp[-1].opval)));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 105:
-#line 692 "madly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval)));
- PL_expect = XOPERATOR;
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 106:
-#line 699 "madly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0,
- ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV),
- jmaybe((yyvsp[-2].opval)));
- PL_expect = XOPERATOR;
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'a');
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 107:
-#line 709 "madly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0,
- ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV),
- jmaybe((yyvsp[-2].opval)));
- PL_expect = XOPERATOR;
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 108:
-#line 718 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar((yyvsp[-3].opval))));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'a');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 109:
-#line 725 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, (yyvsp[-1].opval),
- newCVREF(0, scalar((yyvsp[-4].opval)))));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 110:
-#line 734 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, (yyvsp[-1].opval),
- newCVREF(0, scalar((yyvsp[-3].opval)))));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 111:
-#line 741 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar((yyvsp[-2].opval))));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 112:
-#line 747 "madly.y"
- { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval));
- token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 113:
-#line 754 "madly.y"
- { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop);
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 114:
-#line 764 "madly.y"
- { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), ((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 115:
-#line 768 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 116:
-#line 772 "madly.y"
- { if (((yyvsp[-1].tkval))->tk_lval.ival != OP_REPEAT)
- scalar((yyvsp[-2].opval));
- (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 117:
-#line 778 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 118:
-#line 782 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 119:
-#line 786 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 120:
-#line 790 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 121:
-#line 794 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 122:
-#line 798 "madly.y"
- { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 123:
-#line 802 "madly.y"
- { UNOP *op;
- (yyval.opval) = newRANGE(((yyvsp[-1].tkval))->tk_lval.ival, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
- op = (UNOP*)(yyval.opval);
- op = (UNOP*)op->op_first; /* get to flop */
- op = (UNOP*)op->op_first; /* get to flip */
- op = (UNOP*)op->op_first; /* get to range */
- token_getmad((yyvsp[-1].tkval),(OP*)op,'o');
- ;}
- break;
-
- case 124:
-#line 811 "madly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 125:
-#line 815 "madly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 126:
-#line 819 "madly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 127:
-#line 823 "madly.y"
- { (yyval.opval) = bind_match(((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[-2].opval), (yyvsp[0].opval));
- if ((yyval.opval)->op_type == OP_NOT)
- token_getmad((yyvsp[-1].tkval),((UNOP*)(yyval.opval))->op_first,'~');
- else
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'~');
- ;}
- break;
-
- case 128:
-#line 833 "madly.y"
- { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 129:
-#line 837 "madly.y"
- { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'+');
- ;}
- break;
-
- case 130:
-#line 841 "madly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 131:
-#line 845 "madly.y"
- { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 132:
-#line 849 "madly.y"
- { (yyval.opval) = newUNOP(OP_POSTINC, 0,
- mod(scalar((yyvsp[-1].opval)), OP_POSTINC));
- token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 133:
-#line 854 "madly.y"
- { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
- mod(scalar((yyvsp[-1].opval)), OP_POSTDEC));
- token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 134:
-#line 859 "madly.y"
- { (yyval.opval) = newUNOP(OP_PREINC, 0,
- mod(scalar((yyvsp[0].opval)), OP_PREINC));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 135:
-#line 864 "madly.y"
- { (yyval.opval) = newUNOP(OP_PREDEC, 0,
- mod(scalar((yyvsp[0].opval)), OP_PREDEC));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 136:
-#line 873 "madly.y"
- { (yyval.opval) = newANONLIST((yyvsp[-1].opval));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 137:
-#line 878 "madly.y"
- { (yyval.opval) = newANONLIST(Nullop);
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 138:
-#line 883 "madly.y"
- { (yyval.opval) = newANONHASH((yyvsp[-2].opval));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 139:
-#line 889 "madly.y"
- { (yyval.opval) = newANONHASH(Nullop);
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 140:
-#line 895 "madly.y"
- { SvREFCNT_inc(PL_compcv);
- (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
- op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
- op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
- ;}
- break;
-
- case 141:
-#line 906 "madly.y"
- { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 142:
-#line 910 "madly.y"
- { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'D');
- ;}
- break;
-
- case 143:
-#line 914 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB,
- OPf_SPECIAL|OPf_STACKED,
- prepend_elem(OP_LIST,
- scalar(newCVREF(
- (OPpENTERSUB_AMPER<<8),
- scalar((yyvsp[-2].opval))
- )),Nullop)); dep();
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 144:
-#line 926 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB,
- OPf_SPECIAL|OPf_STACKED,
- append_elem(OP_LIST,
- (yyvsp[-1].opval),
- scalar(newCVREF(
- (OPpENTERSUB_AMPER<<8),
- scalar((yyvsp[-3].opval))
- )))); dep();
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 145:
-#line 939 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
- prepend_elem(OP_LIST,
- scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 146:
-#line 947 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
- prepend_elem(OP_LIST,
- (yyvsp[-1].opval),
- scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();
- token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 151:
-#line 963 "madly.y"
- { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'?');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
- ;}
- break;
-
- case 152:
-#line 968 "madly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 153:
-#line 972 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 154:
-#line 974 "madly.y"
- { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
- ;}
- break;
-
- case 155:
-#line 978 "madly.y"
- { (yyval.opval) = sawparens(newUNOP(OP_NULL,0,(yyvsp[-1].opval)));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 156:
-#line 983 "madly.y"
- { (yyval.opval) = sawparens(newNULLLIST());
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 157:
-#line 988 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 158:
-#line 990 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 159:
-#line 992 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 160:
-#line 994 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 161:
-#line 996 "madly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;}
- break;
-
- case 162:
-#line 998 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 163:
-#line 1000 "madly.y"
- { (yyval.opval) = prepend_elem(OP_ASLICE,
- newOP(OP_PUSHMARK, 0),
- newLISTOP(OP_ASLICE, 0,
- list((yyvsp[-1].opval)),
- ref((yyvsp[-3].opval), OP_ASLICE)));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
- token_getmad((yyvsp[0].tkval),(yyval.opval),']');
- ;}
- break;
-
- case 164:
-#line 1009 "madly.y"
- { (yyval.opval) = prepend_elem(OP_HSLICE,
- newOP(OP_PUSHMARK, 0),
- newLISTOP(OP_HSLICE, 0,
- list((yyvsp[-2].opval)),
- ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE)));
- PL_expect = XOPERATOR;
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
- token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
- ;}
- break;
-
- case 165:
-#line 1020 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 166:
-#line 1022 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;}
- break;
-
- case 167:
-#line 1024 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 168:
-#line 1029 "madly.y"
- { OP* op;
- (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval))));
- op = (yyval.opval);
- if (op->op_type == OP_CONST) { /* defeat const fold */
- op = (OP*)op->op_madprop->mad_val;
- }
- token_getmad((yyvsp[-2].tkval),op,'(');
- token_getmad((yyvsp[0].tkval),op,')');
- ;}
- break;
-
- case 169:
-#line 1040 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval))));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 170:
-#line 1045 "madly.y"
- { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, OPf_SPECIAL);
- PL_hints |= HINT_BLOCK_SCOPE;
- token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 171:
-#line 1050 "madly.y"
- { (yyval.opval) = newLOOPEX(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 172:
-#line 1054 "madly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 173:
-#line 1058 "madly.y"
- { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
- token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 174:
-#line 1062 "madly.y"
- { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 175:
-#line 1066 "madly.y"
- { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 176:
-#line 1070 "madly.y"
- { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;}
- break;
-
- case 177:
-#line 1072 "madly.y"
- { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;}
- break;
-
- case 178:
-#line 1074 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[0].opval))); ;}
- break;
-
- case 179:
-#line 1076 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
- break;
-
- case 180:
-#line 1079 "madly.y"
- { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
- token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 181:
-#line 1083 "madly.y"
- { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, 0);
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 182:
-#line 1089 "madly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- scalar((yyvsp[0].opval))); ;}
- break;
-
- case 183:
-#line 1092 "madly.y"
- { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, OPf_SPECIAL);
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 184:
-#line 1098 "madly.y"
- { (yyval.opval) = newUNOP(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
- token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 185:
-#line 1104 "madly.y"
- { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1);
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 188:
-#line 1114 "madly.y"
- { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'d');
- append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 'a');
- (yyvsp[0].opval)->op_madprop = 0;
- ;}
- break;
-
- case 189:
-#line 1120 "madly.y"
- { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
- ;}
- break;
-
- case 190:
-#line 1127 "madly.y"
- { (yyval.opval) = sawparens((yyvsp[-1].opval));
- token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 191:
-#line 1132 "madly.y"
- { (yyval.opval) = sawparens(newNULLLIST());
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
- token_getmad((yyvsp[0].tkval),(yyval.opval),')');
- ;}
- break;
-
- case 192:
-#line 1137 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 193:
-#line 1139 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 194:
-#line 1141 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 195:
-#line 1146 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 196:
-#line 1148 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 197:
-#line 1152 "madly.y"
- { (yyval.opval) = Nullop; ;}
- break;
-
- case 198:
-#line 1154 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
- case 199:
-#line 1156 "madly.y"
- { OP* op = newNULLLIST();
- token_getmad((yyvsp[0].tkval),op,',');
- (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
- ;}
- break;
-
- case 200:
-#line 1165 "madly.y"
- { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
- break;
-
- case 201:
-#line 1169 "madly.y"
- { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'&');
- ;}
- break;
-
- case 202:
-#line 1175 "madly.y"
- { (yyval.opval) = newSVREF((yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'$');
- ;}
- break;
-
- case 203:
-#line 1181 "madly.y"
- { (yyval.opval) = newAVREF((yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'@');
- ;}
- break;
-
- case 204:
-#line 1187 "madly.y"
- { (yyval.opval) = newHVREF((yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'%');
- ;}
- break;
-
- case 205:
-#line 1193 "madly.y"
- { (yyval.opval) = newAVREF((yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'l');
- ;}
- break;
-
- case 206:
-#line 1199 "madly.y"
- { (yyval.opval) = newGVREF(0,(yyvsp[0].opval));
- token_getmad((yyvsp[-1].tkval),(yyval.opval),'*');
- ;}
- break;
-
- case 207:
-#line 1206 "madly.y"
- { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
- break;
-
- case 208:
-#line 1208 "madly.y"
- { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
- break;
-
- case 209:
-#line 1210 "madly.y"
- { (yyval.opval) = scope((yyvsp[0].opval)); ;}
- break;
-
- case 210:
-#line 1213 "madly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
- break;
-
-
- default: break;
-
View
18 madly.c
@@ -5,24 +5,10 @@
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- * Note that this file was originally generated as an output from
- * GNU bison version 1.875, but now the code is statically maintained
- * and edited; the bits that are dependent on perly.y/madly.y are now
- * #included from the files perly.tab/madly.tab and perly.act/madly.act.
- *
- * Here is an important copyright statement from the original, generated
- * file:
- *
- * As a special exception, when this file is copied by Bison into a
- * Bison output file, you may use that output file without
- * restriction. This special exception was added by the Free
- * Software Foundation in version 1.24 of Bison.
- *
* Note that this file is essentially empty, and just #includes perly.c,
* to allow compilation of a second parser, Perl_madparse, that is
- * identical to Perl_yyparse, but which includes the parser tables from
- * madly.{tab,act} rather than perly.{tab,act}. This is controlled by
- * the PERL_IN_MADLY_C define.
+ * identical to Perl_yyparse, but which includes extra code for dumping
+ * the parse tree. This is controlled by the PERL_IN_MADLY_C define.
*/
#define PERL_IN_MADLY_C
View
194 madly.h
@@ -1,194 +0,0 @@
-#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.1. */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- WORD = 258,
- METHOD = 259,
- FUNCMETH = 260,
- THING = 261,
- PMFUNC = 262,
- PRIVATEREF = 263,
- FUNC0SUB = 264,
- UNIOPSUB = 265,
- LSTOPSUB = 266,
- LABEL = 267,
- FORMAT = 268,
- SUB = 269,
- ANONSUB = 270,
- PACKAGE = 271,
- USE = 272,
- WHILE = 273,
- UNTIL = 274,
- IF = 275,
- UNLESS = 276,
- ELSE = 277,
- ELSIF = 278,
- CONTINUE = 279,
- FOR = 280,
- GIVEN = 281,
- WHEN = 282,
- DEFAULT = 283,
- LOOPEX = 284,
- DOTDOT = 285,
- FUNC0 = 286,
- FUNC1 = 287,
- FUNC = 288,
- UNIOP = 289,
- LSTOP = 290,
- RELOP = 291,
- EQOP = 292,
- MULOP = 293,
- ADDOP = 294,
- DOLSHARP = 295,
- DO = 296,
- HASHBRACK = 297,
- NOAMP = 298,
- LOCAL = 299,
- MY = 300,
- MYSUB = 301,
- REQUIRE = 302,
- COLONATTR = 303,
- PREC_LOW = 304,
- DOROP = 305,
- OROP = 306,
- ANDOP = 307,
- NOTOP = 308,
- ASSIGNOP = 309,
- DORDOR = 310,
- OROR = 311,
- ANDAND = 312,
- BITOROP = 313,
- BITANDOP = 314,
- SHIFTOP = 315,
- MATCHOP = 316,
- REFGEN = 317,
- UMINUS = 318,
- POWOP = 319,
- POSTDEC = 320,
- POSTINC = 321,
- PREDEC = 322,
- PREINC = 323,
- ARROW = 324,
- PEG = 325
- };
-#endif
-/* Tokens. */
-#define WORD 258
-#define METHOD 259
-#define FUNCMETH 260
-#define THING 261
-#define PMFUNC 262
-#define PRIVATEREF 263
-#define FUNC0SUB 264
-#define UNIOPSUB 265
-#define LSTOPSUB 266
-#define LABEL 267
-#define FORMAT 268
-#define SUB 269
-#define ANONSUB 270
-#define PACKAGE 271
-#define USE 272
-#define WHILE 273
-#define UNTIL 274
-#define IF 275
-#define UNLESS 276
-#define ELSE 277
-#define ELSIF 278
-#define CONTINUE 279
-#define FOR 280
-#define GIVEN 281
-#define WHEN 282
-#define DEFAULT 283
-#define LOOPEX 284
-#define DOTDOT 285
-#define FUNC0 286
-#define FUNC1 287
-#define FUNC 288
-#define UNIOP 289
-#define LSTOP 290
-#define RELOP 291
-#define EQOP 292
-#define MULOP 293
-#define ADDOP 294
-#define DOLSHARP 295
-#define DO 296
-#define HASHBRACK 297
-#define NOAMP 298
-#define LOCAL 299
-#define MY 300
-#define MYSUB 301
-#define REQUIRE 302
-#define COLONATTR 303
-#define PREC_LOW 304
-#define DOROP 305
-#define OROP 306
-#define ANDOP 307
-#define NOTOP 308
-#define ASSIGNOP 309
-#define DORDOR 310
-#define OROR 311
-#define ANDAND 312
-#define BITOROP 313
-#define BITANDOP 314
-#define SHIFTOP 315
-#define MATCHOP 316
-#define REFGEN 317
-#define UMINUS 318
-#define POWOP 319
-#define POSTDEC 320
-#define POSTINC 321
-#define PREDEC 322
-#define PREINC 323
-#define ARROW 324
-#define PEG 325
-
-
-
-
-#endif /* PERL_CORE */
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-typedef union YYSTYPE {
- I32 ival;
- char *pval;
- TOKEN* tkval;
- OP *opval;
- GV *gvval;
-} YYSTYPE;
-/* Line 1447 of yacc.c. */
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
-
-
-
View
910 madly.tab
@@ -1,910 +0,0 @@
-#define YYFINAL 3
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2024
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 90
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 66
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 210
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 420
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 325
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const unsigned char yytranslate[] =
-{
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 77, 2, 2, 9, 11, 59, 2,
- 88, 87, 12, 8, 66, 7, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 69, 60,
- 2, 2, 2, 68, 10, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 5, 2, 6, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 2, 4, 78, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 61, 62, 63, 64, 65, 67,
- 70, 71, 72, 73, 74, 75, 76, 79, 80, 81,
- 82, 83, 84, 85, 86, 89
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const unsigned short int yyprhs[] =
-{
- 0, 0, 3, 6, 11, 12, 13, 14, 19, 20,
- 21, 22, 25, 29, 32, 34, 36, 39, 42, 46,
- 48, 50, 54, 58, 62, 66, 70, 71, 74, 81,
- 89, 97, 104, 107, 108, 111, 121, 131, 142, 152,
- 161, 174, 178, 187, 188, 189, 191, 192, 194, 196,
- 198, 200, 202, 203, 205, 207, 209, 211, 213, 215,
- 217, 219, 224, 226, 227, 234, 241, 242, 243, 244,
- 246, 247, 249, 250, 253, 255, 258, 260, 262, 264,
- 268, 269, 277, 281, 285, 289, 291, 294, 298, 300,
- 304, 310, 317, 321, 325, 331, 334, 339, 340, 346,
- 348, 350, 356, 361, 367, 372, 378, 385, 391, 396,
- 402, 407, 411, 418, 424, 428, 432, 436, 440, 444,
- 448, 452, 456, 460, 464, 468, 472, 476, 480, 483,
- 486, 489, 492, 495, 498, 501, 504, 508, 511, 516,
- 520, 526, 529, 532, 537, 543, 548, 554, 556, 558,
- 560, 562, 568, 571, 573, 576, 580, 583, 585, 587,
- 589, 591, 593, 595, 600, 606, 608, 610, 614, 619,
- 623, 625, 628, 631, 633, 636, 639, 641, 644, 646,
- 649, 651, 655, 657, 661, 666, 671, 673, 675, 679,
- 682, 686, 689, 691, 693, 695, 696, 698, 699, 701,
- 704, 706, 709, 712, 715, 718, 721, 724, 726, 728,
- 730
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const short int yyrhs[] =
-{
- 91, 0, -1, 95, 99, -1, 3, 93, 99, 4,
- -1, -1, -1, -1, 3, 97, 99, 4, -1, -1,
- -1, -1, 99, 116, -1, 99, 98, 100, -1, 115,
- 103, -1, 106, -1, 107, -1, 115, 104, -1, 115,
- 60, -1, 115, 101, 60, -1, 1, -1, 133, -1,
- 133, 30, 133, -1, 133, 31, 133, -1, 133, 28,
- 133, -1, 133, 29, 111, -1, 133, 35, 133, -1,
- -1, 32, 96, -1, 33, 88, 112, 87, 96, 102,
- -1, 30, 88, 93, 112, 87, 96, 102, -1, 31,
- 88, 93, 114, 87, 96, 102, -1, 37, 88, 93,
- 112, 87, 96, -1, 38, 92, -1, -1, 34, 92,
- -1, 115, 28, 88, 93, 110, 87, 108, 96, 105,
- -1, 115, 29, 88, 93, 111, 87, 108, 96, 105,
- -1, 115, 35, 55, 93, 148, 88, 112, 87, 96,
- 105, -1, 115, 35, 150, 88, 93, 112, 87, 96,
- 105, -1, 115, 35, 88, 93, 112, 87, 96, 105,
- -1, 115, 35, 88, 93, 113, 60, 110, 60, 108,
- 113, 87, 96, -1, 115, 92, 105, -1, 115, 36,
- 88, 93, 94, 112, 87, 96, -1, -1, -1, 101,
- -1, -1, 133, -1, 133, -1, 133, -1, 109, -1,
- 111, -1, -1, 22, -1, 118, -1, 121, -1, 120,
- -1, 130, -1, 131, -1, 117, -1, 89, -1, 23,
- 124, 119, 92, -1, 13, -1, -1, 56, 122, 125,
- 126, 127, 129, -1, 24, 122, 125, 126, 127, 129,
- -1, -1, -1, -1, 13, -1, -1, 16, -1, -1,
- 58, 16, -1, 58, -1, 58, 16, -1, 58, -1,
- 92, -1, 60, -1, 26, 13, 60, -1, -1, 27,
- 122, 132, 13, 13, 146, 60, -1, 133, 64, 133,
- -1, 133, 63, 133, -1, 133, 62, 133, -1, 134,
- -1, 134, 66, -1, 134, 66, 143, -1, 143, -1,
- 45, 155, 134, -1, 43, 88, 155, 133, 87, -1,
- 143, 86, 137, 88, 147, 87, -1, 143, 86, 137,
- -1, 14, 155, 146, -1, 15, 155, 88, 147, 87,
- -1, 45, 146, -1, 43, 88, 147, 87, -1, -1,
- 21, 123, 92, 136, 146, -1, 14, -1, 150, -1,
- 154, 3, 133, 60, 4, -1, 150, 5, 133, 6,
- -1, 143, 86, 5, 133, 6, -1, 138, 5, 133,
- 6, -1, 150, 3, 133, 60, 4, -1, 143, 86,
- 3, 133, 60, 4, -1, 138, 3, 133, 60, 4,
- -1, 143, 86, 88, 87, -1, 143, 86, 88, 133,
- 87, -1, 138, 88, 133, 87, -1, 138, 88, 87,
- -1, 88, 133, 87, 5, 133, 6, -1, 88, 87,
- 5, 133, 6, -1, 143, 67, 143, -1, 143, 81,
- 143, -1, 143, 48, 143, -1, 143, 49, 143, -1,
- 143, 75, 143, -1, 143, 46, 143, -1, 143, 47,
- 143, -1, 143, 74, 143, -1, 143, 73, 143, -1,
- 143, 40, 143, -1, 143, 72, 143, -1, 143, 71,
- 143, -1, 143, 70, 143, -1, 143, 76, 143, -1,
- 7, 143, -1, 8, 143, -1, 77, 143, -1, 78,
- 143, -1, 143, 83, -1, 143, 82, -1, 85, 143,
- -1, 84, 143, -1, 5, 133, 6, -1, 5, 6,
- -1, 52, 133, 60, 4, -1, 52, 60, 4, -1,
- 25, 123, 126, 127, 92, -1, 51, 143, -1, 51,
- 92, -1, 51, 13, 88, 87, -1, 51, 13, 88,
- 133, 87, -1, 51, 150, 88, 87, -1, 51, 150,
- 88, 133, 87, -1, 139, -1, 140, -1, 141, -1,
- 142, -1, 143, 68, 143, 69, 143, -1, 79, 143,
- -1, 144, -1, 54, 143, -1, 88, 133, 87, -1,
- 88, 87, -1, 150, -1, 154, -1, 152, -1, 151,
- -1, 153, -1, 138, -1, 151, 5, 133, 6, -1,
- 151, 3, 133, 60, 4, -1, 16, -1, 149, -1,
- 149, 88, 87, -1, 149, 88, 133, 87, -1, 53,
- 13, 146, -1, 39, -1, 39, 143, -1, 65, 134,
- -1, 44, -1, 44, 92, -1, 44, 143, -1, 57,
- -1, 57, 143, -1, 20, -1, 20, 143, -1, 41,
- -1, 41, 88, 87, -1, 19, -1, 42, 88, 87,
- -1, 42, 88, 133, 87, -1, 17, 88, 134, 87,
- -1, 13, -1, 135, -1, 55, 145, 128, -1, 55,
- 145, -1, 88, 133, 87, -1, 88, 87, -1, 150,
- -1, 152, -1, 151, -1, -1, 134, -1, -1, 133,
- -1, 133, 66, -1, 150, -1, 59, 155, -1, 9,
- 155, -1, 10, 155, -1, 11, 155, -1, 50, 155,
- -1, 12, 155, -1, 13, -1, 150, -1, 92, -1,
- 18, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const unsigned short int yyrline[] =
-{
- 0, 100, 100, 106, 116, 120, 124, 130, 140, 144,
- 148, 149, 153, 162, 165, 166, 168, 170, 185, 202,
- 204, 206, 210, 214, 218, 222, 231, 232, 236, 247,
- 255, 266, 269, 275, 276, 283, 296, 308, 318, 328,
- 337, 362, 370, 380, 386, 387, 392, 395, 399, 404,
- 408, 412, 418, 421, 425, 427, 429, 431, 433, 435,
- 439, 445, 454, 455, 459, 467, 483, 489, 494, 499,
- 509, 510, 515, 516, 520, 527, 531, 538, 539, 544,
- 552, 551, 564, 568, 572, 576, 580, 585, 591, 595,
- 600, 607, 616, 622, 628, 636, 640, 647, 646, 657,
- 658, 662, 671, 676, 684, 691, 698, 708, 717, 724,
- 733, 740, 746, 753, 763, 767, 771, 777, 781, 785,
- 789, 793, 797, 801, 810, 814, 818, 822, 832, 836,
- 840, 844, 848, 853, 858, 863, 872, 877, 882, 888,
- 894, 905, 909, 913, 925, 938, 946, 958, 959, 960,
- 961, 962, 967, 971, 973, 977, 982, 987, 989, 991,
- 993, 995, 997, 999, 1008, 1019, 1021, 1023, 1028, 1039,
- 1044, 1049, 1053, 1057, 1061, 1065, 1069, 1071, 1073, 1075,
- 1078, 1082, 1088, 1091, 1097, 1103, 1108, 1109, 1113, 1119,
- 1126, 1131, 1136, 1138, 1140, 1145, 1147, 1152, 1153, 1155,
- 1164, 1168, 1174, 1180, 1186, 1192, 1198, 1205, 1207, 1209,
- 1212
-};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "error", "$undefined", "'{'", "'}'", "'['", "']'", "'-'", "'+'",
- "'$'", "'@'", "'%'", "'*'", "WORD", "METHOD", "FUNCMETH", "THING",
- "PMFUNC", "PRIVATEREF", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "LABEL",
- "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL", "IF",
- "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT",
- "LOOPEX", "DOTDOT", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP",
- "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP",
- "LOCAL", "MY", "MYSUB", "REQUIRE", "COLONATTR", "'&'", "';'", "PREC_LOW",
- "DOROP", "OROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'",
- "DORDOR", "OROR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP",
- "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC", "POSTINC",
- "PREDEC", "PREINC", "ARROW", "')'", "'('", "PEG", "$accept", "prog",
- "block", "remember", "mydefsv", "progstart", "mblock", "mremember",
- "savescope", "lineseq", "line", "sideff", "else", "cond", "case", "cont",
- "loop", "switch", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
- "miexpr", "label", "decl", "peg", "format", "formname", "mysubrout",
- "subrout", "startsub", "startanonsub", "startformsub", "subname",
- "proto", "subattrlist", "myattrlist", "subbody", "package", "use", "@1",
- "expr", "argexpr", "listop", "@2", "method", "subscripted", "termbinop",
- "termunop", "anonymous", "termdo", "term", "myattrterm", "myterm",
- "listexpr", "listexprcom", "my_scalar", "amper", "scalar", "ary", "hsh",
- "arylen", "star", "indirob", 0
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
-static const unsigned short int yytoknum[] =
-{
- 0, 256, 257, 123, 125, 91, 93, 45, 43, 36,
- 64, 37, 42, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 38,
- 59, 304, 305, 306, 307, 308, 44, 309, 63, 58,
- 310, 311, 312, 313, 314, 315, 316, 33, 126, 317,
- 318, 319, 320, 321, 322, 323, 324, 41, 40, 325
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const unsigned char yyr1[] =
-{
- 0, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 99, 99, 100, 100, 100, 100, 100, 100, 101,
- 101, 101, 101, 101, 101, 101, 102, 102, 102, 103,
- 103, 104, 104, 105, 105, 106, 106, 106, 106, 106,
- 106, 106, 107, 108, 109, 109, 110, 110, 111, 112,
- 113, 114, 115, 115, 116, 116, 116, 116, 116, 116,
- 117, 118, 119, 119, 120, 121, 122, 123, 124, 125,
- 126, 126, 127, 127, 127, 128, 128, 129, 129, 130,
- 132, 131, 133, 133, 133, 133, 134, 134, 134, 135,
- 135, 135, 135, 135, 135, 135, 135, 136, 135, 137,
- 137, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 139, 140, 140,
- 140, 140, 140, 140, 140, 140, 141, 141, 141, 141,
- 141, 142, 142, 142, 142, 142, 142, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 144, 144,
- 145, 145, 145, 145, 145, 146, 146, 147, 147, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 155, 155,
- 155
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const unsigned char yyr2[] =
-{
- 0, 2, 2, 4, 0, 0, 0, 4, 0, 0,
- 0, 2, 3, 2, 1, 1, 2, 2, 3, 1,
- 1, 3, 3, 3, 3, 3, 0, 2, 6, 7,
- 7, 6, 2, 0, 2, 9, 9, 10, 9, 8,
- 12, 3, 8, 0, 0, 1, 0, 1, 1, 1,
- 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 1, 0, 6, 6, 0, 0, 0, 1,
- 0, 1, 0, 2, 1, 2, 1, 1, 1, 3,
- 0, 7, 3, 3, 3, 1, 2, 3, 1, 3,
- 5, 6, 3, 3, 5, 2, 4, 0, 5, 1,
- 1, 5, 4, 5, 4, 5, 6, 5, 4, 5,
- 4, 3, 6, 5, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 2, 4, 3,
- 5, 2, 2, 4, 5, 4, 5, 1, 1, 1,
- 1, 5, 2, 1, 2, 3, 2, 1, 1, 1,
- 1, 1, 1, 4, 5, 1, 1, 3, 4, 3,
- 1, 2, 2, 1, 2, 2, 1, 2, 1, 2,
- 1, 3, 1, 3, 4, 4, 1, 1, 3, 2,
- 3, 2, 1, 1, 1, 0, 1, 0, 1, 2,
- 1, 2, 2, 2, 2, 2, 2, 1, 1, 1,
- 1
-};
-
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const unsigned char yydefact[] =
-{
- 6, 0, 10, 1, 9, 68, 66, 0, 66, 66,
- 60, 52, 11, 59, 54, 56, 55, 57, 58, 63,
- 0, 0, 80, 0, 53, 12, 14, 15, 0, 62,
- 0, 69, 70, 79, 0, 70, 19, 4, 0, 0,
- 0, 0, 0, 0, 0, 186, 0, 0, 165, 0,
- 182, 178, 67, 67, 0, 0, 0, 0, 0, 0,
- 0, 0, 170, 180, 0, 0, 173, 195, 0, 0,
- 0, 0, 0, 0, 176, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 33, 0, 13, 16, 20, 85,
- 187, 162, 147, 148, 149, 150, 88, 153, 166, 157,
- 160, 159, 161, 158, 61, 71, 72, 0, 72, 10,
- 137, 0, 128, 129, 207, 210, 209, 208, 202, 203,
- 204, 206, 195, 0, 0, 179, 0, 70, 4, 4,
- 4, 4, 4, 4, 0, 4, 4, 32, 171, 0,
- 0, 197, 174, 175, 207, 196, 95, 208, 0, 205,
- 186, 142, 141, 157, 0, 0, 195, 154, 0, 189,
- 192, 194, 193, 177, 201, 172, 130, 131, 152, 135,
- 134, 156, 0, 0, 41, 18, 0, 0, 0, 0,
- 0, 0, 0, 0, 86, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 133, 132, 0, 0, 0, 0, 0,
- 0, 0, 74, 0, 195, 0, 9, 136, 93, 197,
- 0, 97, 72, 46, 0, 0, 0, 0, 0, 4,
- 5, 0, 181, 183, 0, 198, 0, 0, 89, 0,
- 0, 139, 0, 169, 191, 0, 76, 188, 0, 155,
- 34, 23, 24, 48, 21, 22, 25, 84, 83, 82,
- 87, 0, 0, 111, 0, 123, 119, 120, 116, 117,
- 114, 0, 126, 125, 124, 122, 121, 118, 127, 115,
- 0, 0, 99, 0, 92, 100, 167, 0, 0, 0,
- 0, 0, 0, 73, 78, 77, 65, 0, 64, 3,
- 0, 185, 195, 0, 0, 47, 0, 0, 49, 51,
- 0, 0, 200, 45, 50, 0, 0, 20, 0, 0,
- 0, 184, 199, 96, 0, 143, 0, 145, 0, 138,
- 190, 75, 0, 0, 0, 104, 110, 0, 0, 0,
- 108, 0, 197, 168, 0, 102, 0, 163, 0, 81,
- 94, 98, 140, 43, 43, 0, 0, 0, 0, 46,
- 0, 0, 0, 90, 144, 146, 113, 0, 107, 151,
- 0, 103, 109, 0, 105, 164, 101, 0, 0, 8,
- 26, 26, 0, 33, 0, 0, 0, 31, 112, 106,
- 91, 33, 33, 10, 0, 0, 29, 30, 0, 39,
- 43, 33, 42, 35, 36, 9, 27, 0, 33, 0,
- 38, 7, 0, 37, 0, 0, 0, 26, 40, 28
-};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const short int yydefgoto[] =
-{
- -1, 1, 116, 109, 319, 2, 380, 393, 11, 4,
- 25, 313, 396, 86, 87, 174, 26, 27, 377, 314,
- 304, 252, 307, 316, 310, 28, 12, 13, 14, 30,
- 15, 16, 20, 126, 19, 32, 106, 213, 247, 296,
- 17, 18, 34, 308, 89, 90, 302, 284, 91, 92,
- 93, 94, 95, 96, 97, 159, 146, 236, 311, 98,
- 99, 100, 101, 102, 103, 118
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -358
-static const short int yypact[] =
-{
- -358, 15, -358, -358, 6, -358, -358, 18, -358, -358,
- -358, 16, -358, -358, -358, -358, -358, -358, -358, 28,
- 40, -32, -358, 40, -358, -358, -358, -358, 308, -358,
- 88, -358, 34, -358, 95, 34, -358, -358, 870, 1706,
- 1706, 277, 277, 277, 277, -358, 277, 277, -358, 51,
- -358, 1706, -358, -358, 98, 100, 104, 105, 8, 111,
- 117, 88, 1706, 120, 131, 155, 642, 558, 277, 726,
- 952, 112, 1706, 47, 1706, 277, -358, 1706, 1706, 1706,
- 1706, 1706, 1706, 1034, 94, 185, -358, -358, 778, 196,
- -358, 46, -358, -358, -358, -358, 1877, -358, 163, 13,
- 102, -358, -358, 253, -358, -358, 207, 265, 207, -358,
- -358, 30, 41, 41, -358, -358, -358, -358, -358, -358,
- -358, -358, 1706, 203, 1706, 221, 88, 34, -358, -358,
- -358, -358, -358, -358, 206, -358, -358, -358, 1877, 197,
- 1118, 558, -358, 221, 1758, 196, -358, 787, 1706, -358,
- 213, -358, 221, 56, 288, 19, 1706, 221, 1202, 250,
- -358, -358, -358, 221, -358, 196, 41, 41, 41, 380,
- 380, 305, 23, 88, -358, -358, 1706, 1706, 1706, 1706,
- 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1286, 1706, 1706,
- 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
- 1706, 1706, 1706, -358, -358, 75, 1370, 1706, 1706, 1706,
- 1706, 1706, 316, 5, 1706, 5, 190, -358, -358, 1706,
- -53, -358, 207, 1706, 1706, 1706, 1706, 321, 390, -358,
- -358, 1706, -358, -358, 74, 314, 247, 1706, 196, 1454,
- 1538, -358, 331, -358, -358, 225, 324, -358, 1706, 336,
- -358, 160, -358, 160, 160, 160, 160, 278, 278, -358,
- 1877, 69, 108, -358, 292, 1938, 545, 627, 596, 121,
- 1877, 1833, 460, 460, 378, 506, 713, 816, 41, 41,
- 1706, 1706, -358, 1622, 260, -358, -358, 307, 113, 195,
- 354, 204, 436, -358, -358, -358, -358, 297, -358, -358,
- 279, -358, 1706, 88, 285, 160, 295, 296, 160, -358,
- 332, 276, -358, -358, -358, 335, 315, 219, 1706, 1706,
- 341, -358, -358, -358, 326, -358, 408, -358, 441, -358,
- -358, -358, 209, 1706, 404, -358, -358, 1706, 570, 212,
- -358, 457, 1706, -358, 419, -358, 432, -358, 434, -358,
- -358, -358, -358, -358, -358, 381, 381, 1706, 381, 1706,
- 352, 359, 381, -358, -358, -358, -358, 236, -358, 1894,
- 444, -358, -358, 369, -358, -358, -358, 381, 381, -358,
- 12, 12, 370, 94, 398, 381, 381, -358, -358, -358,
- -358, 94, 94, -358, 381, 377, -358, -358, 381, -358,
- -358, 94, -358, -358, -358, 237, -358, 1706, 94, 472,
- -358, -358, 389, -358, 403, 381, 381, 12, -358, -358
-};
-
-/* YYPGOTO[NTERM-NUM]. */
-static const short int yypgoto[] =
-{
- -358, -358, -26, -61, -358, -358, 1480, -358, -358, -108,
- -358, 466, -357, -358, -358, 29, -358, -358, -327, -358,
- 142, -64, -217, 93, -358, -358, -358, -358, -358, -358,
- -358, -358, 156, 459, -358, 487, -23, -101, -358, 303,
- -358, -358, -358, -28, -58, -358, -358, -358, -358, -358,
- -358, -358, -358, 37, -358, -358, -117, -216, -358, -358,
- -21, 465, 467, -358, -358, 99
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -187
-static const short int yytable[] =
-{
- 88, 216, 84, 300, 104, 218, -2, 215, 37, 145,
- 111, 315, 108, 184, 320, 3, 207, 41, 208, 165,
- 117, 117, 117, 117, 397, 117, 117, 378, 33, 5,
- 6, 21, 7, 8, 301, 137, 217, 134, 24, 243,
- 142, 29, 155, 151, 394, 395, 147, 117, 153, 185,
- 105, 186, 160, 31, 117, 172, 41, 42, 43, 207,
- 419, 208, 9, 132, 145, 294, 220, 223, 224, 225,
- 226, 227, 228, 409, 230, 231, 112, 113, 280, 242,
- 281, 181, 182, 183, 41, 181, 182, 183, 125, 282,
- 238, 37, 181, 182, 183, 10, 133, 297, 145, 138,
- 221, 360, 361, 143, 222, 209, 152, 210, 107, 157,
- 249, 163, 234, 235, 335, 166, 167, 168, 169, 170,
- 147, 303, 202, 203, 204, 156, 373, 205, 173, 334,
- 245, 181, 182, 183, 187, 158, 181, 182, 183, 124,
- 382, 119, 120, 121, 240, 122, 123, 250, 251, 253,
- 254, 255, 256, 257, 258, 259, 145, 261, 262, 264,
- 306, 321, 309, 283, 22, 23, 148, 149, 318, 191,
- 181, 182, 183, 344, 164, 181, 182, 183, 287, 288,
- 289, 290, 291, 292, 285, 351, 128, 295, 129, 295,
- 412, 235, 130, 131, 299, 305, 253, 201, 253, 135,
- 317, 345, 202, 203, 204, 136, 312, 205, 139, 324,
- 347, 326, 328, 5, 6, 366, 7, 8, 371, 140,
- 332, 260, 181, 182, 183, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 237, 411, 388, 141, 145, 175, 9, 176, 177, 178,
- 179, 206, 338, 339, 180, 341, 211, 181, 182, 183,
- 5, 6, 184, 7, 8, 212, 181, 182, 183, 191,
- 192, 181, 182, 183, 181, 182, 183, 352, 214, 10,
- 37, 181, 182, 183, 232, 405, 41, 181, 182, 183,
- 114, 219, 241, 9, 229, 115, 200, 201, 181, 182,
- 183, 239, 202, 203, 204, 367, -49, 205, 246, 36,
- 248, 37, 330, 38, 235, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 10, 50, 51, 52,
- 41, 305, 293, 53, 323, 329, 54, 55, 56, 57,
- 331, 333, 183, 58, 59, 60, 61, 62, 342, 63,
- 64, 65, 66, 67, 181, 182, 183, 349, 68, 69,
- 70, 71, 72, 73, 357, 74, 350, 75, 76, 181,
- 182, 183, 353, 77, 369, 359, 181, 182, 183, 336,
- 322, 88, 354, 355, 379, 78, 79, 80, 181, 182,
- 183, 36, 81, 82, 343, 38, 83, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 368, 50,
- 51, 52, 399, 363, 346, 53, 181, 182, 183, 356,
- 403, 404, 358, 374, 189, 190, 191, 192, 362, 62,
- 410, 63, 64, 65, 66, 67, 375, 413, 376, 385,
- 68, 69, 70, 71, 72, 73, 386, 74, 389, 75,
- -44, 198, 199, 200, 201, 77, 390, 398, 400, 202,
- 203, 204, -187, -187, 205, 407, 205, 78, 79, 80,
- 181, 182, 183, 36, 81, 82, 415, 38, 83, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 416, 50, 51, 52, 85, 364, 348, 53, 181, 182,
- 183, 384, 414, 181, 182, 183, 189, 190, 191, 192,
- 35, 62, 127, 63, 64, 65, 66, 67, 298, 181,
- 182, 183, 68, 69, 70, 71, 72, 73, 365, 74,
- 0, 75, 197, 198, 199, 200, 201, 77, 161, 0,
- 162, 202, 203, 204, 372, 0, 205, 0, 0, 78,
- 79, 80, 189, 190, 191, 192, 81, 82, 0, -44,
- 83, 37, 0, 38, 0, 39, 40, 41, 42, 43,
- 44, 144, 46, 47, 48, 49, 115, 50, 51, 52,
- 199, 200, 201, 53, 0, 0, 0, 202, 203, 204,
- 0, -187, 205, 191, 192, 0, 0, 62, 0, 63,
- 64, 65, 66, 67, 0, 0, 0, 0, 68, 69,
- 70, 71, 72, 73, 0, 74, 0, 75, 0, 0,
- 200, 201, 0, 77, 0, 0, 202, 203, 204, 0,
- 370, 205, 181, 182, 183, 78, 79, 80, 0, 0,
- 0, 0, 81, 82, 0, 37, 83, 38, 0, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 0, 50, 51, 52, 0, 0, 0, 53, 0, 0,
- 0, 0, 201, 189, -187, 191, 192, 202, 203, 204,
- 0, 62, 205, 63, 64, 65, 66, 67, 0, 0,
- 0, 0, 68, 69, 70, 71, 72, 73, 0, 74,
- 0, 75, 200, 201, 0, 0, 0, 77, 202, 203,
- 204, 0, 0, 205, 0, 0, 0, 0, 0, 78,
- 79, 80, 0, 0, 0, 0, 81, 82, 0, 37,
- 83, 38, 0, 39, 40, 41, 42, 43, 44, 150,
- 46, 47, 48, 49, 0, 50, 51, 52, 0, 0,
- 0, 53, 0, 0, 0, 0, 0, 0, 0, 189,
- 190, 191, 192, 0, 0, 62, 0, 63, 64, 65,
- 66, 67, 0, 0, 0, 0, 68, 69, 70, 71,
- 72, 73, 0, 74, 0, 75, 0, 0, 200, 201,
- 207, 77, 208, -157, 202, 203, 204, 0, 0, 205,
- 0, 0, 0, 78, 79, 80, 176, 177, 178, 179,
- 81, 82, 0, 180, 83, -157, -157, -157, -157, 0,
- 0, 0, -157, 0, 0, 0, 0, -157, 0, 0,
- 0, 0, 0, -157, -157, -157, -157, 0, 0, 0,
- 181, 182, 183, 0, 0, 0, 0, -157, 0, -157,
- -157, -157, 0, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, 191, 192, 0, 0, -157, -157,
- -157, 0, 0, -157, -157, 38, 110, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 0, 50,
- 51, 52, 201, 0, 0, 53, 0, 202, 203, 204,
- 0, 0, 205, 0, 0, 0, 0, 0, 0, 62,
- 0, 63, 64, 65, 66, 67, 0, 0, 0, 0,
- 68, 69, 70, 71, 72, 73, 0, 74, 0, 75,
- 0, 0, 0, 0, 0, 77, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 78, 79, 80,
- 0, 0, 0, 0, 81, 82, 0, 38, 83, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 0, 50, 51, 52, 0, 0, 0, 53, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 62, 0, 63, 64, 65, 66, 67, 0, 0,
- 0, 0, 68, 69, 70, 71, 72, 73, 0, 74,
- 0, 75, 154, 0, 0, 0, 0, 77, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
- 79, 80, 0, 0, 0, 0, 81, 82, 0, 38,
- 83, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 0, 50, 51, 52, 0, 0, 0, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 62, 0, 63, 64