summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2010-10-16 22:22:57 +0100
committerFather Chrysostomos <sprout@cpan.org>2010-10-23 23:25:21 -0700
commit5f211341d665e81a03fbd4935e4e87f70d937fc3 (patch)
tree154fcb4845377ffc122e365199a98db48478c3ab
parent74401f9c0e7d7248493d3f2bb0f4fdb0b20a92aa (diff)
downloadperl-5f211341d665e81a03fbd4935e4e87f70d937fc3.tar.gz
permit labels to appear before declarations
Include <label> in productions before <decl> and <package_block>. This means that labels can now appear at the beginning of all statement-like things. There was no technical reason for the restriction of labels to substantive statements, and that restriction in any case couldn't be applied to PLUGSTMT-based plugged-in declarations.
-rw-r--r--perly.act817
-rw-r--r--perly.h2
-rw-r--r--perly.tab1309
-rw-r--r--perly.y52
-rw-r--r--t/comp/decl.t22
-rw-r--r--t/op/attrs.t2
-rw-r--r--t/op/goto.t76
7 files changed, 1178 insertions, 1102 deletions
diff --git a/perly.act b/perly.act
index 72cd3bfaa1..95817d5fc9 100644
--- a/perly.act
+++ b/perly.act
@@ -13,6 +13,7 @@ case 2:
case 4:
#line 151 "perly.y"
{
+ PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
yyunlex();
@@ -21,15 +22,16 @@ case 2:
break;
case 5:
-#line 158 "perly.y"
+#line 159 "perly.y"
{
parser->expect = XSTATE;
;}
break;
case 6:
-#line 162 "perly.y"
+#line 163 "perly.y"
{
+ PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
yyunlex();
@@ -38,14 +40,14 @@ case 2:
break;
case 7:
-#line 169 "perly.y"
+#line 171 "perly.y"
{
parser->expect = XSTATE;
;}
break;
case 8:
-#line 173 "perly.y"
+#line 175 "perly.y"
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
@@ -53,12 +55,12 @@ case 2:
break;
case 9:
-#line 182 "perly.y"
+#line 184 "perly.y"
{ (yyval.ival) = (ps[(1) - (2)].val.ival); newPROG(block_end((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval))); ;}
break;
case 10:
-#line 187 "perly.y"
+#line 189 "perly.y"
{ if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
@@ -68,24 +70,24 @@ case 2:
break;
case 11:
-#line 196 "perly.y"
+#line 198 "perly.y"
{ (yyval.ival) = block_start(TRUE); ;}
break;
case 12:
-#line 200 "perly.y"
+#line 202 "perly.y"
{ (yyval.ival) = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); ;}
break;
case 13:
-#line 204 "perly.y"
+#line 206 "perly.y"
{
PL_parser->expect = XSTATE; (yyval.ival) = block_start(TRUE);
;}
break;
case 14:
-#line 211 "perly.y"
+#line 213 "perly.y"
{ if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
@@ -95,24 +97,17 @@ case 2:
break;
case 15:
-#line 220 "perly.y"
+#line 222 "perly.y"
{ (yyval.ival) = block_start(FALSE); ;}
break;
case 16:
-#line 225 "perly.y"
+#line 227 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
case 17:
-#line 227 "perly.y"
- {
- (yyval.opval) = IF_MAD(op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval)), (ps[(1) - (2)].val.opval));
- ;}
- break;
-
- case 18:
-#line 231 "perly.y"
+#line 229 "perly.y"
{ (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
PL_pad_reset_pending = TRUE;
if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
@@ -120,37 +115,24 @@ case 2:
;}
break;
- case 19:
-#line 240 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
- break;
-
- case 20:
-#line 242 "perly.y"
- {
- PL_pad_reset_pending = TRUE;
- (yyval.opval) = (ps[(1) - (1)].val.opval);
- ;}
- break;
-
- case 21:
-#line 250 "perly.y"
+ case 18:
+#line 238 "perly.y"
{ (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
break;
- case 23:
-#line 254 "perly.y"
+ case 20:
+#line 242 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 24:
-#line 256 "perly.y"
+ case 21:
+#line 244 "perly.y"
{ (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); ;}
break;
- case 25:
-#line 258 "perly.y"
+ case 22:
+#line 246 "perly.y"
{
if (PVAL((ps[(1) - (2)].val.p_tkval))) {
(yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), newOP(OP_NULL, 0));
@@ -169,8 +151,8 @@ case 2:
;}
break;
- case 26:
-#line 275 "perly.y"
+ case 23:
+#line 263 "perly.y"
{
(yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)), (ps[(2) - (3)].val.opval));
PL_parser->expect = XSTATE;
@@ -188,84 +170,95 @@ case 2:
;}
break;
- case 27:
-#line 291 "perly.y"
- { (yyval.opval) = newSTATEOP(0, NULL,
+ case 24:
+#line 279 "perly.y"
+ { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- NOLINE, (OP*)NULL, (ps[(1) - (1)].val.opval),
+ NOLINE, (OP*)NULL, (ps[(2) - (2)].val.opval),
(OP*)NULL, 0)); ;}
break;
- case 28:
-#line 296 "perly.y"
+ case 25:
+#line 284 "perly.y"
{ (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); ;}
break;
- case 29:
-#line 301 "perly.y"
+ case 26:
+#line 286 "perly.y"
+ {
+ if (PVAL((ps[(1) - (2)].val.p_tkval))) {
+ (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
+ } else {
+ (yyval.opval) = IF_MAD((ps[(2) - (2)].val.opval) ? (ps[(2) - (2)].val.opval) : newOP(OP_NULL, 0), (ps[(2) - (2)].val.opval));
+ }
+ ;}
+ break;
+
+ case 27:
+#line 297 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 30:
-#line 303 "perly.y"
+ case 28:
+#line 299 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 31:
-#line 305 "perly.y"
+ case 29:
+#line 301 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
;}
break;
- case 32:
-#line 309 "perly.y"
+ case 30:
+#line 305 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
;}
break;
- case 33:
-#line 313 "perly.y"
+ case 31:
+#line 309 "perly.y"
{ (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
;}
break;
- case 34:
-#line 317 "perly.y"
+ case 32:
+#line 313 "perly.y"
{ (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
;}
break;
- case 35:
-#line 321 "perly.y"
+ case 33:
+#line 317 "perly.y"
{ (yyval.opval) = newFOROP(0, NULL, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)),
(OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
;}
break;
- case 36:
-#line 326 "perly.y"
+ case 34:
+#line 322 "perly.y"
{ (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), scope((ps[(1) - (3)].val.opval))); ;}
break;
- case 37:
-#line 331 "perly.y"
+ case 35:
+#line 327 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 38:
-#line 333 "perly.y"
+ case 36:
+#line 329 "perly.y"
{ ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 39:
-#line 337 "perly.y"
+ case 37:
+#line 333 "perly.y"
{ PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
(yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)), scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
PL_hints |= HINT_BLOCK_SCOPE;
@@ -275,8 +268,8 @@ case 2:
;}
break;
- case 40:
-#line 348 "perly.y"
+ case 38:
+#line 344 "perly.y"
{ PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
(yyval.opval) = block_end((ps[(3) - (7)].val.ival),
newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
@@ -286,8 +279,8 @@ case 2:
;}
break;
- case 41:
-#line 356 "perly.y"
+ case 39:
+#line 352 "perly.y"
{ PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
(yyval.opval) = block_end((ps[(3) - (7)].val.ival),
newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
@@ -297,31 +290,31 @@ case 2:
;}
break;
- case 42:
-#line 367 "perly.y"
+ case 40:
+#line 363 "perly.y"
{ (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
newWHENOP((ps[(4) - (6)].val.opval), scope((ps[(6) - (6)].val.opval)))); ;}
break;
- case 43:
-#line 370 "perly.y"
+ case 41:
+#line 366 "perly.y"
{ (yyval.opval) = newWHENOP(0, scope((ps[(2) - (2)].val.opval))); ;}
break;
- case 44:
-#line 375 "perly.y"
+ case 42:
+#line 371 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 45:
-#line 377 "perly.y"
+ case 43:
+#line 373 "perly.y"
{ (yyval.opval) = scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 46:
-#line 384 "perly.y"
+ case 44:
+#line 380 "perly.y"
{ OP *innerop;
PL_parser->copline = (line_t)IVAL((ps[(2) - (9)].val.i_tkval));
(yyval.opval) = block_end((ps[(4) - (9)].val.ival),
@@ -335,8 +328,8 @@ case 2:
;}
break;
- case 47:
-#line 397 "perly.y"
+ case 45:
+#line 393 "perly.y"
{ OP *innerop;
PL_parser->copline = (line_t)IVAL((ps[(2) - (9)].val.i_tkval));
(yyval.opval) = block_end((ps[(4) - (9)].val.ival),
@@ -350,8 +343,8 @@ case 2:
;}
break;
- case 48:
-#line 409 "perly.y"
+ case 46:
+#line 405 "perly.y"
{ OP *innerop;
(yyval.opval) = block_end((ps[(4) - (10)].val.ival),
innerop = newFOROP(0, PVAL((ps[(1) - (10)].val.p_tkval)), (line_t)IVAL((ps[(2) - (10)].val.i_tkval)),
@@ -364,8 +357,8 @@ case 2:
;}
break;
- case 49:
-#line 420 "perly.y"
+ case 47:
+#line 416 "perly.y"
{ OP *innerop;
(yyval.opval) = block_end((ps[(5) - (9)].val.ival),
innerop = newFOROP(0, PVAL((ps[(1) - (9)].val.p_tkval)), (line_t)IVAL((ps[(2) - (9)].val.i_tkval)),
@@ -377,8 +370,8 @@ case 2:
;}
break;
- case 50:
-#line 430 "perly.y"
+ case 48:
+#line 426 "perly.y"
{ OP *innerop;
(yyval.opval) = block_end((ps[(4) - (8)].val.ival),
innerop = newFOROP(0, PVAL((ps[(1) - (8)].val.p_tkval)), (line_t)IVAL((ps[(2) - (8)].val.i_tkval)),
@@ -390,8 +383,8 @@ case 2:
;}
break;
- case 51:
-#line 442 "perly.y"
+ case 49:
+#line 438 "perly.y"
{ OP *forop;
PL_parser->copline = (line_t)IVAL((ps[(2) - (12)].val.i_tkval));
forop = newSTATEOP(0, PVAL((ps[(1) - (12)].val.p_tkval)),
@@ -423,16 +416,16 @@ case 2:
(yyval.opval) = block_end((ps[(4) - (12)].val.ival), forop); ;}
break;
- case 52:
-#line 472 "perly.y"
+ case 50:
+#line 468 "perly.y"
{ (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
NOLINE, (OP*)NULL, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
break;
- case 53:
-#line 480 "perly.y"
+ case 51:
+#line 476 "perly.y"
{ PL_parser->copline = (line_t) IVAL((ps[(2) - (8)].val.i_tkval));
(yyval.opval) = block_end((ps[(4) - (8)].val.ival),
newSTATEOP(0, PVAL((ps[(1) - (8)].val.p_tkval)),
@@ -440,47 +433,47 @@ case 2:
(PADOFFSET) (ps[(5) - (8)].val.ival)) )); ;}
break;
- case 54:
-#line 489 "perly.y"
+ case 52:
+#line 485 "perly.y"
{ (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
intro_my(); ;}
break;
- case 55:
-#line 495 "perly.y"
+ case 53:
+#line 491 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 57:
-#line 501 "perly.y"
+ case 55:
+#line 497 "perly.y"
{ YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
(yyval.opval) = tmplval.opval; ;}
break;
- case 59:
-#line 509 "perly.y"
+ case 57:
+#line 505 "perly.y"
{ (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 60:
-#line 514 "perly.y"
+ case 58:
+#line 510 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
- case 61:
-#line 518 "perly.y"
+ case 59:
+#line 514 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
- case 62:
-#line 522 "perly.y"
+ case 60:
+#line 518 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
- case 63:
-#line 527 "perly.y"
+ case 61:
+#line 523 "perly.y"
{
#ifdef MAD
YYSTYPE tmplval;
@@ -492,6 +485,16 @@ case 2:
;}
break;
+ case 63:
+#line 537 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
+ case 64:
+#line 539 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
case 65:
#line 541 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
@@ -508,29 +511,19 @@ case 2:
break;
case 68:
-#line 547 "perly.y"
+#line 550 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 69:
-#line 549 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
- break;
-
- case 70:
#line 554 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
- break;
-
- case 71:
-#line 558 "perly.y"
{ (yyval.opval) = newOP(OP_NULL,0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
;}
break;
- case 72:
-#line 564 "perly.y"
+ case 70:
+#line 560 "perly.y"
{
CV *fmtcv = PL_compcv;
SvREFCNT_inc_simple_void(PL_compcv);
@@ -550,18 +543,18 @@ case 2:
;}
break;
- case 73:
-#line 583 "perly.y"
+ case 71:
+#line 579 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 74:
-#line 584 "perly.y"
+ case 72:
+#line 580 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 75:
-#line 589 "perly.y"
+ case 73:
+#line 585 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
(yyval.opval) = newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
@@ -573,8 +566,8 @@ case 2:
;}
break;
- case 76:
-#line 602 "perly.y"
+ case 74:
+#line 598 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
{
@@ -596,26 +589,26 @@ case 2:
;}
break;
- case 77:
-#line 624 "perly.y"
+ case 75:
+#line 620 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, 0);
SAVEFREESV(PL_compcv); ;}
break;
- case 78:
-#line 630 "perly.y"
+ case 76:
+#line 626 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, CVf_ANON);
SAVEFREESV(PL_compcv); ;}
break;
- case 79:
-#line 635 "perly.y"
+ case 77:
+#line 631 "perly.y"
{ (yyval.ival) = start_subparse(TRUE, 0);
SAVEFREESV(PL_compcv); ;}
break;
- case 80:
-#line 640 "perly.y"
+ case 78:
+#line 636 "perly.y"
{ const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv);
if (strEQ(name, "BEGIN") || strEQ(name, "END")
|| strEQ(name, "INIT") || strEQ(name, "CHECK")
@@ -624,25 +617,25 @@ case 2:
(yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 81:
-#line 650 "perly.y"
+ case 79:
+#line 646 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 83:
-#line 656 "perly.y"
+ case 81:
+#line 652 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 84:
-#line 658 "perly.y"
+ case 82:
+#line 654 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
;}
break;
- case 85:
-#line 662 "perly.y"
+ case 83:
+#line 658 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
(OP*)NULL
@@ -651,15 +644,15 @@ case 2:
;}
break;
- case 86:
-#line 672 "perly.y"
+ case 84:
+#line 668 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
;}
break;
- case 87:
-#line 676 "perly.y"
+ case 85:
+#line 672 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
(OP*)NULL
@@ -668,13 +661,13 @@ case 2:
;}
break;
- case 88:
-#line 685 "perly.y"
+ case 86:
+#line 681 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 89:
-#line 686 "perly.y"
+ case 87:
+#line 682 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL,0),
(OP*)NULL
@@ -684,8 +677,8 @@ case 2:
;}
break;
- case 90:
-#line 696 "perly.y"
+ case 88:
+#line 692 "perly.y"
{
#ifdef MAD
(yyval.opval) = package((ps[(3) - (4)].val.opval));
@@ -702,8 +695,8 @@ case 2:
;}
break;
- case 91:
-#line 713 "perly.y"
+ case 89:
+#line 709 "perly.y"
{
int save_3_latefree = (ps[(3) - (5)].val.opval)->op_latefree;
(ps[(3) - (5)].val.opval)->op_latefree = 1;
@@ -718,8 +711,8 @@ case 2:
;}
break;
- case 92:
-#line 726 "perly.y"
+ case 90:
+#line 722 "perly.y"
{ if (PL_parser->copline > (line_t)IVAL((ps[(4) - (8)].val.i_tkval)))
PL_parser->copline = (line_t)IVAL((ps[(4) - (8)].val.i_tkval));
(yyval.opval) = block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval));
@@ -731,13 +724,13 @@ case 2:
;}
break;
- case 93:
-#line 738 "perly.y"
+ case 91:
+#line 734 "perly.y"
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
break;
- case 94:
-#line 740 "perly.y"
+ case 92:
+#line 736 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
(yyval.opval) = utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
@@ -753,29 +746,29 @@ case 2:
;}
break;
- case 95:
-#line 757 "perly.y"
+ case 93:
+#line 753 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 96:
-#line 761 "perly.y"
+ case 94:
+#line 757 "perly.y"
{ (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 97:
-#line 765 "perly.y"
+ case 95:
+#line 761 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 99:
-#line 773 "perly.y"
+ case 97:
+#line 769 "perly.y"
{
#ifdef MAD
OP* op = newNULLLIST();
@@ -787,8 +780,8 @@ case 2:
;}
break;
- case 100:
-#line 783 "perly.y"
+ case 98:
+#line 779 "perly.y"
{
OP* term = (ps[(3) - (3)].val.opval);
DO_MAD(
@@ -799,16 +792,16 @@ case 2:
;}
break;
- case 102:
-#line 796 "perly.y"
+ case 100:
+#line 792 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 103:
-#line 801 "perly.y"
+ case 101:
+#line 797 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
@@ -817,8 +810,8 @@ case 2:
;}
break;
- case 104:
-#line 808 "perly.y"
+ case 102:
+#line 804 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
@@ -829,8 +822,8 @@ case 2:
;}
break;
- case 105:
-#line 817 "perly.y"
+ case 103:
+#line 813 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
@@ -838,8 +831,8 @@ case 2:
;}
break;
- case 106:
-#line 823 "perly.y"
+ case 104:
+#line 819 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
@@ -847,8 +840,8 @@ case 2:
;}
break;
- case 107:
-#line 829 "perly.y"
+ case 105:
+#line 825 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
@@ -858,15 +851,15 @@ case 2:
;}
break;
- case 108:
-#line 837 "perly.y"
+ case 106:
+#line 833 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 109:
-#line 841 "perly.y"
+ case 107:
+#line 837 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
@@ -874,22 +867,22 @@ case 2:
;}
break;
- case 110:
-#line 847 "perly.y"
+ case 108:
+#line 843 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
break;
- case 111:
-#line 850 "perly.y"
+ case 109:
+#line 846 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
;}
break;
- case 114:
-#line 865 "perly.y"
+ case 112:
+#line 861 "perly.y"
{ (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
PL_parser->expect = XOPERATOR;
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
@@ -898,16 +891,16 @@ case 2:
;}
break;
- case 115:
-#line 872 "perly.y"
+ case 113:
+#line 868 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
;}
break;
- case 116:
-#line 877 "perly.y"
+ case 114:
+#line 873 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
scalar((ps[(4) - (5)].val.opval)));
@@ -917,8 +910,8 @@ case 2:
;}
break;
- case 117:
-#line 885 "perly.y"
+ case 115:
+#line 881 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
scalar((ps[(3) - (4)].val.opval)));
@@ -927,8 +920,8 @@ case 2:
;}
break;
- case 118:
-#line 892 "perly.y"
+ case 116:
+#line 888 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
PL_parser->expect = XOPERATOR;
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
@@ -937,8 +930,8 @@ case 2:
;}
break;
- case 119:
-#line 899 "perly.y"
+ case 117:
+#line 895 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
jmaybe((ps[(4) - (6)].val.opval)));
@@ -950,8 +943,8 @@ case 2:
;}
break;
- case 120:
-#line 909 "perly.y"
+ case 118:
+#line 905 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
jmaybe((ps[(3) - (5)].val.opval)));
@@ -962,8 +955,8 @@ case 2:
;}
break;
- case 121:
-#line 918 "perly.y"
+ case 119:
+#line 914 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
@@ -972,8 +965,8 @@ case 2:
;}
break;
- case 122:
-#line 925 "perly.y"
+ case 120:
+#line 921 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
@@ -983,8 +976,8 @@ case 2:
;}
break;
- case 123:
-#line 934 "perly.y"
+ case 121:
+#line 930 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
@@ -993,8 +986,8 @@ case 2:
;}
break;
- case 124:
-#line 941 "perly.y"
+ case 122:
+#line 937 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
@@ -1002,8 +995,8 @@ case 2:
;}
break;
- case 125:
-#line 947 "perly.y"
+ case 123:
+#line 943 "perly.y"
{ (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
@@ -1012,16 +1005,16 @@ case 2:
;}
break;
- case 126:
-#line 954 "perly.y"
+ case 124:
+#line 950 "perly.y"
{ (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
;}
break;
- case 127:
-#line 959 "perly.y"
+ case 125:
+#line 955 "perly.y"
{ (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
@@ -1030,22 +1023,22 @@ case 2:
;}
break;
- case 128:
-#line 969 "perly.y"
+ case 126:
+#line 965 "perly.y"
{ (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 129:
-#line 973 "perly.y"
+ case 127:
+#line 969 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 130:
-#line 977 "perly.y"
+ case 128:
+#line 973 "perly.y"
{ if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
scalar((ps[(1) - (3)].val.opval));
(yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
@@ -1053,50 +1046,50 @@ case 2:
;}
break;
- case 131:
+ case 129:
+#line 979 "perly.y"
+ { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
+ TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
+ ;}
+ break;
+
+ case 130:
#line 983 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 132:
+ case 131:
#line 987 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 133:
+ case 132:
#line 991 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 134:
+ case 133:
#line 995 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 135:
+ case 134:
#line 999 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 136:
+ case 135:
#line 1003 "perly.y"
- { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
- TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
- break;
-
- case 137:
-#line 1007 "perly.y"
{
(yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
DO_MAD({
@@ -1110,29 +1103,29 @@ case 2:
;}
break;
- case 138:
-#line 1019 "perly.y"
+ case 136:
+#line 1015 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 139:
-#line 1023 "perly.y"
+ case 137:
+#line 1019 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 140:
-#line 1027 "perly.y"
+ case 138:
+#line 1023 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 141:
-#line 1031 "perly.y"
+ case 139:
+#line 1027 "perly.y"
{ (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
((yyval.opval)->op_type == OP_NOT
@@ -1141,15 +1134,15 @@ case 2:
;}
break;
- case 142:
-#line 1041 "perly.y"
+ case 140:
+#line 1037 "perly.y"
{ (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 143:
-#line 1045 "perly.y"
+ case 141:
+#line 1041 "perly.y"
{ (yyval.opval) = IF_MAD(
newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
(ps[(2) - (2)].val.opval)
@@ -1158,70 +1151,70 @@ case 2:
;}
break;
- case 144:
-#line 1052 "perly.y"
+ case 142:
+#line 1048 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 145:
-#line 1056 "perly.y"
+ case 143:
+#line 1052 "perly.y"
{ (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 146:
-#line 1060 "perly.y"
+ case 144:
+#line 1056 "perly.y"
{ (yyval.opval) = newUNOP(OP_POSTINC, 0,
mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 147:
-#line 1065 "perly.y"
+ case 145:
+#line 1061 "perly.y"
{ (yyval.opval) = newUNOP(OP_POSTDEC, 0,
mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 148:
-#line 1070 "perly.y"
+ case 146:
+#line 1066 "perly.y"
{ (yyval.opval) = newUNOP(OP_PREINC, 0,
mod(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 149:
-#line 1075 "perly.y"
+ case 147:
+#line 1071 "perly.y"
{ (yyval.opval) = newUNOP(OP_PREDEC, 0,
mod(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 150:
-#line 1084 "perly.y"
+ case 148:
+#line 1080 "perly.y"
{ (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
;}
break;
- case 151:
-#line 1089 "perly.y"
+ case 149:
+#line 1085 "perly.y"
{ (yyval.opval) = newANONLIST((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
;}
break;
- case 152:
-#line 1094 "perly.y"
+ case 150:
+#line 1090 "perly.y"
{ (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
@@ -1229,8 +1222,8 @@ case 2:
;}
break;
- case 153:
-#line 1100 "perly.y"
+ case 151:
+#line 1096 "perly.y"
{ (yyval.opval) = newANONHASH((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
@@ -1238,8 +1231,8 @@ case 2:
;}
break;
- case 154:
-#line 1106 "perly.y"
+ case 152:
+#line 1102 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
@@ -1248,22 +1241,22 @@ case 2:
;}
break;
- case 155:
-#line 1117 "perly.y"
+ case 153:
+#line 1113 "perly.y"
{ (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 156:
-#line 1121 "perly.y"
+ case 154:
+#line 1117 "perly.y"
{ (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
;}
break;
- case 157:
-#line 1125 "perly.y"
+ case 155:
+#line 1121 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
op_prepend_elem(OP_LIST,
@@ -1277,8 +1270,8 @@ case 2:
;}
break;
- case 158:
-#line 1137 "perly.y"
+ case 156:
+#line 1133 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
op_append_elem(OP_LIST,
@@ -1293,8 +1286,8 @@ case 2:
;}
break;
- case 159:
-#line 1150 "perly.y"
+ case 157:
+#line 1146 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
op_prepend_elem(OP_LIST,
scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
@@ -1304,8 +1297,8 @@ case 2:
;}
break;
- case 160:
-#line 1158 "perly.y"
+ case 158:
+#line 1154 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
op_prepend_elem(OP_LIST,
(ps[(4) - (5)].val.opval),
@@ -1316,54 +1309,64 @@ case 2:
;}
break;
- case 165:
-#line 1174 "perly.y"
+ case 163:
+#line 1170 "perly.y"
{ (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
;}
break;
- case 166:
-#line 1179 "perly.y"
+ case 164:
+#line 1175 "perly.y"
{ (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((ps[(2) - (2)].val.opval),OP_REFGEN));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 167:
-#line 1183 "perly.y"
+ case 165:
+#line 1179 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 168:
-#line 1185 "perly.y"
+ case 166:
+#line 1181 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
;}
break;
- case 169:
-#line 1189 "perly.y"
+ case 167:
+#line 1185 "perly.y"
{ (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
;}
break;
- case 170:
-#line 1194 "perly.y"
+ case 168:
+#line 1190 "perly.y"
{ (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
break;
- case 171:
-#line 1196 "perly.y"
+ case 169:
+#line 1192 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
;}
break;
+ case 170:
+#line 1197 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
+ case 171:
+#line 1199 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
case 172:
#line 1201 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
@@ -1376,7 +1379,7 @@ case 2:
case 174:
#line 1205 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
break;
case 175:
@@ -1386,16 +1389,6 @@ case 2:
case 176:
#line 1209 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
- break;
-
- case 177:
-#line 1211 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
- break;
-
- case 178:
-#line 1213 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
@@ -1406,8 +1399,8 @@ case 2:
;}
break;
- case 179:
-#line 1222 "perly.y"
+ case 177:
+#line 1218 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -1420,26 +1413,26 @@ case 2:
;}
break;
- case 180:
-#line 1233 "perly.y"
+ case 178:
+#line 1229 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 181:
-#line 1235 "perly.y"
+ case 179:
+#line 1231 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 182:
-#line 1237 "perly.y"
+ case 180:
+#line 1233 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
;}
break;
- case 183:
-#line 1242 "perly.y"
+ case 181:
+#line 1238 "perly.y"
{
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
@@ -1454,91 +1447,91 @@ case 2:
;}
break;
- case 184:
-#line 1255 "perly.y"
+ case 182:
+#line 1251 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 185:
-#line 1260 "perly.y"
+ case 183:
+#line 1256 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 186:
-#line 1265 "perly.y"
+ case 184:
+#line 1261 "perly.y"
{ (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 187:
-#line 1269 "perly.y"
+ case 185:
+#line 1265 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 188:
-#line 1273 "perly.y"
+ case 186:
+#line 1269 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 189:
-#line 1277 "perly.y"
+ case 187:
+#line 1273 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 190:
-#line 1281 "perly.y"
+ case 188:
+#line 1277 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 191:
-#line 1285 "perly.y"
+ case 189:
+#line 1281 "perly.y"
{ (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 192:
-#line 1289 "perly.y"
+ case 190:
+#line 1285 "perly.y"
{ (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 193:
-#line 1293 "perly.y"
+ case 191:
+#line 1289 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 194:
-#line 1295 "perly.y"
+ case 192:
+#line 1291 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
break;
- case 195:
-#line 1298 "perly.y"
+ case 193:
+#line 1294 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 196:
-#line 1302 "perly.y"
+ case 194:
+#line 1298 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
@@ -1546,14 +1539,14 @@ case 2:
;}
break;
- case 197:
-#line 1308 "perly.y"
+ case 195:
+#line 1304 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 198:
-#line 1311 "perly.y"
+ case 196:
+#line 1307 "perly.y"
{ (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
: newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
@@ -1564,8 +1557,8 @@ case 2:
;}
break;
- case 199:
-#line 1320 "perly.y"
+ case 197:
+#line 1316 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
@@ -1573,16 +1566,16 @@ case 2:
;}
break;
- case 200:
-#line 1326 "perly.y"
+ case 198:
+#line 1322 "perly.y"
{ (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
;}
break;
- case 203:
-#line 1333 "perly.y"
+ case 201:
+#line 1329 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
@@ -1590,8 +1583,8 @@ case 2:
;}
break;
- case 205:
-#line 1343 "perly.y"
+ case 203:
+#line 1339 "perly.y"
{ (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
DO_MAD(
token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
@@ -1601,143 +1594,143 @@ case 2:
;}
break;
- case 206:
-#line 1351 "perly.y"
+ case 204:
+#line 1347 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
;}
break;
- case 207:
-#line 1358 "perly.y"
+ case 205:
+#line 1354 "perly.y"
{ (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
;}
break;
- case 208:
-#line 1363 "perly.y"
+ case 206:
+#line 1359 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
;}
break;
+ case 207:
+#line 1364 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
+ case 208:
+#line 1366 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
case 209:
#line 1368 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 210:
-#line 1370 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1373 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 211:
-#line 1372 "perly.y"
+#line 1375 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 212:
-#line 1377 "perly.y"
+#line 1379 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
case 213:
-#line 1379 "perly.y"
+#line 1381 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 214:
-#line 1383 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+#line 1385 "perly.y"
+ { (yyval.i_tkval) = (ps[(1) - (1)].val.i_tkval); ;}
break;
case 215:
-#line 1385 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1387 "perly.y"
+ { munge_qwlist_to_paren_list((ps[(1) - (1)].val.opval)); ;}
break;
case 216:
#line 1389 "perly.y"
- { (yyval.i_tkval) = (ps[(1) - (1)].val.i_tkval); ;}
+ { (yyval.i_tkval) = (ps[(3) - (3)].val.i_tkval); ;}
break;
case 217:
-#line 1391 "perly.y"
- { munge_qwlist_to_paren_list((ps[(1) - (1)].val.opval)); ;}
+#line 1395 "perly.y"
+ { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
break;
case 218:
-#line 1393 "perly.y"
- { (yyval.i_tkval) = (ps[(3) - (3)].val.i_tkval); ;}
- break;
-
- case 219:
#line 1399 "perly.y"
- { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
- break;
-
- case 220:
-#line 1403 "perly.y"
{ (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
;}
break;
- case 221:
-#line 1409 "perly.y"
+ case 219:
+#line 1405 "perly.y"
{ (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
;}
break;
- case 222:
-#line 1415 "perly.y"
+ case 220:
+#line 1411 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
;}
break;
- case 223:
-#line 1421 "perly.y"
+ case 221:
+#line 1417 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
;}
break;
- case 224:
-#line 1427 "perly.y"
+ case 222:
+#line 1423 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
;}
break;
- case 225:
-#line 1433 "perly.y"
+ case 223:
+#line 1429 "perly.y"
{ (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
;}
break;
- case 226:
-#line 1440 "perly.y"
+ case 224:
+#line 1436 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
- case 227:
-#line 1442 "perly.y"
+ case 225:
+#line 1438 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
- case 228:
-#line 1444 "perly.y"
+ case 226:
+#line 1440 "perly.y"
{ (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
break;
- case 229:
-#line 1447 "perly.y"
+ case 227:
+#line 1443 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
diff --git a/perly.h b/perly.h
index b3a5595ac9..5c1bd951c2 100644
--- a/perly.h
+++ b/perly.h
@@ -219,7 +219,7 @@ typedef union YYSTYPE
TOKEN* tkval;
#endif
}
-/* Line 1529 of yacc.c. */
+/* Line 1489 of yacc.c. */
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/perly.tab b/perly.tab
index 6b3a73baf3..236e6814f0 100644
--- a/perly.tab
+++ b/perly.tab
@@ -1,15 +1,15 @@
#define YYFINAL 11
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2121
+#define YYLAST 2143
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 98
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 74
+#define YYNNTS 73
/* YYNRULES -- Number of rules. */
-#define YYNRULES 229
+#define YYNRULES 227
/* YYNRULES -- Number of states. */
-#define YYNSTATES 451
+#define YYNSTATES 449
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -64,27 +64,27 @@ static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 6, 7, 11, 12, 16, 17, 21,
24, 29, 30, 31, 32, 37, 38, 39, 42, 45,
- 47, 49, 52, 54, 56, 59, 62, 66, 68, 71,
- 73, 75, 79, 83, 87, 91, 95, 99, 100, 103,
- 110, 118, 126, 133, 136, 137, 140, 150, 160, 171,
- 181, 190, 203, 207, 216, 217, 218, 220, 221, 223,
- 225, 227, 229, 231, 232, 234, 236, 238, 240, 242,
- 244, 246, 248, 253, 255, 256, 263, 270, 271, 272,
- 273, 275, 276, 278, 279, 282, 284, 287, 289, 291,
- 293, 298, 299, 308, 309, 317, 321, 325, 329, 331,
- 334, 338, 340, 344, 350, 357, 361, 365, 371, 374,
- 379, 380, 386, 388, 390, 396, 401, 407, 412, 418,
- 425, 431, 436, 442, 447, 451, 458, 463, 469, 473,
- 477, 481, 485, 489, 493, 497, 501, 505, 509, 513,
- 517, 521, 525, 528, 531, 534, 537, 540, 543, 546,
- 549, 553, 556, 561, 565, 571, 574, 577, 582, 588,
- 593, 599, 601, 603, 605, 607, 613, 616, 618, 621,
- 625, 627, 630, 632, 634, 636, 638, 640, 642, 647,
- 653, 655, 657, 661, 666, 670, 672, 675, 678, 680,
- 683, 686, 688, 691, 693, 696, 698, 702, 704, 708,
- 713, 718, 720, 722, 724, 726, 730, 733, 737, 740,
- 742, 744, 746, 747, 749, 750, 752, 754, 755, 759,
- 761, 764, 767, 770, 773, 776, 779, 781, 783, 785
+ 47, 49, 52, 55, 59, 62, 65, 68, 70, 72,
+ 76, 80, 84, 88, 92, 96, 97, 100, 107, 115,
+ 123, 130, 133, 134, 137, 147, 157, 168, 178, 187,
+ 200, 204, 213, 214, 215, 217, 218, 220, 222, 224,
+ 226, 228, 229, 231, 233, 235, 237, 239, 241, 243,
+ 245, 250, 252, 253, 260, 267, 268, 269, 270, 272,
+ 273, 275, 276, 279, 281, 284, 286, 288, 290, 295,
+ 296, 305, 306, 314, 318, 322, 326, 328, 331, 335,
+ 337, 341, 347, 354, 358, 362, 368, 371, 376, 377,
+ 383, 385, 387, 393, 398, 404, 409, 415, 422, 428,
+ 433, 439, 444, 448, 455, 460, 466, 470, 474, 478,
+ 482, 486, 490, 494, 498, 502, 506, 510, 514, 518,
+ 522, 525, 528, 531, 534, 537, 540, 543, 546, 550,
+ 553, 558, 562, 568, 571, 574, 579, 585, 590, 596,
+ 598, 600, 602, 604, 610, 613, 615, 618, 622, 624,
+ 627, 629, 631, 633, 635, 637, 639, 644, 650, 652,
+ 654, 658, 663, 667, 669, 672, 675, 677, 680, 683,
+ 685, 688, 690, 693, 695, 699, 701, 705, 710, 715,
+ 717, 719, 721, 723, 727, 730, 734, 737, 739, 741,
+ 743, 744, 746, 747, 749, 751, 752, 756, 758, 761,
+ 764, 767, 770, 773, 776, 778, 780, 782
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -94,109 +94,109 @@ static const yytype_int16 yyrhs[] =
-1, -1, 5, 101, 111, -1, -1, 6, 102, 110,
-1, 107, 110, -1, 7, 105, 110, 8, -1, -1,
-1, -1, 7, 109, 110, 8, -1, -1, -1, 110,
- 128, -1, 110, 112, -1, 128, -1, 112, -1, 127,
- 115, -1, 118, -1, 119, -1, 127, 116, -1, 127,
- 18, -1, 127, 113, 18, -1, 143, -1, 127, 30,
- -1, 1, -1, 147, -1, 147, 39, 147, -1, 147,
- 40, 147, -1, 147, 37, 147, -1, 147, 38, 123,
- -1, 147, 44, 147, -1, 147, 46, 147, -1, -1,
- 41, 108, -1, 42, 162, 124, 95, 108, 114, -1,
- 39, 162, 105, 124, 95, 108, 114, -1, 40, 162,
- 105, 126, 95, 108, 114, -1, 46, 162, 105, 124,
- 95, 108, -1, 47, 104, -1, -1, 43, 104, -1,
- 127, 37, 162, 105, 122, 95, 120, 108, 117, -1,
- 127, 38, 162, 105, 123, 95, 120, 108, 117, -1,
- 127, 44, 65, 105, 164, 162, 124, 95, 108, 117,
- -1, 127, 44, 166, 162, 105, 124, 95, 108, 117,
- -1, 127, 44, 162, 105, 124, 95, 108, 117, -1,
- 127, 44, 162, 105, 125, 18, 122, 18, 120, 125,
- 95, 108, -1, 127, 104, 117, -1, 127, 45, 162,
- 105, 106, 124, 95, 108, -1, -1, -1, 113, -1,
- -1, 147, -1, 147, -1, 147, -1, 121, -1, 123,
- -1, -1, 31, -1, 130, -1, 133, -1, 132, -1,
- 142, -1, 145, -1, 129, -1, 97, -1, 32, 136,
- 131, 104, -1, 19, -1, -1, 66, 134, 137, 138,
- 139, 141, -1, 33, 134, 137, 138, 139, 141, -1,
- -1, -1, -1, 19, -1, -1, 22, -1, -1, 68,
- 22, -1, 68, -1, 68, 22, -1, 68, -1, 104,
- -1, 18, -1, 35, 19, 19, 18, -1, -1, 35,
- 19, 19, 7, 105, 144, 110, 8, -1, -1, 36,
- 134, 146, 19, 19, 160, 18, -1, 147, 72, 147,
- -1, 147, 71, 147, -1, 147, 70, 147, -1, 148,
- -1, 148, 74, -1, 148, 74, 157, -1, 157, -1,
- 55, 171, 148, -1, 53, 96, 171, 147, 95, -1,
- 157, 94, 151, 162, 161, 95, -1, 157, 94, 151,
- -1, 20, 171, 160, -1, 21, 171, 96, 161, 95,
- -1, 55, 160, -1, 53, 96, 161, 95, -1, -1,
- 28, 135, 104, 150, 160, -1, 20, -1, 166, -1,
- 170, 7, 147, 18, 8, -1, 166, 9, 147, 10,
- -1, 157, 94, 9, 147, 10, -1, 152, 9, 147,
- 10, -1, 166, 7, 147, 18, 8, -1, 157, 94,
- 7, 147, 18, 8, -1, 152, 7, 147, 18, 8,
- -1, 157, 94, 96, 95, -1, 157, 94, 96, 147,
- 95, -1, 152, 162, 147, 95, -1, 152, 162, 95,
- -1, 96, 147, 95, 9, 147, 10, -1, 25, 9,
- 147, 10, -1, 96, 95, 9, 147, 10, -1, 157,
- 75, 157, -1, 157, 89, 157, -1, 157, 58, 157,
- -1, 157, 59, 157, -1, 157, 83, 157, -1, 157,
- 56, 157, -1, 157, 57, 157, -1, 157, 82, 157,
- -1, 157, 81, 157, -1, 157, 49, 157, -1, 157,
- 80, 157, -1, 157, 79, 157, -1, 157, 78, 157,
- -1, 157, 84, 157, -1, 11, 157, -1, 12, 157,
- -1, 85, 157, -1, 86, 157, -1, 157, 91, -1,
- 157, 90, -1, 93, 157, -1, 92, 157, -1, 9,
- 147, 10, -1, 9, 10, -1, 62, 147, 18, 8,
- -1, 62, 18, 8, -1, 34, 135, 138, 139, 104,
- -1, 61, 157, -1, 61, 104, -1, 61, 19, 162,
- 95, -1, 61, 19, 162, 147, 95, -1, 61, 166,
- 162, 95, -1, 61, 166, 162, 147, 95, -1, 153,
- -1, 154, -1, 155, -1, 156, -1, 157, 76, 157,
- 77, 157, -1, 87, 157, -1, 158, -1, 64, 157,
- -1, 96, 147, 95, -1, 25, -1, 96, 95, -1,
- 166, -1, 170, -1, 168, -1, 167, -1, 169, -1,
- 152, -1, 167, 9, 147, 10, -1, 167, 7, 147,
- 18, 8, -1, 22, -1, 165, -1, 165, 162, 95,
- -1, 165, 162, 147, 95, -1, 63, 19, 160, -1,
- 48, -1, 48, 157, -1, 73, 148, -1, 54, -1,
- 54, 104, -1, 54, 157, -1, 67, -1, 67, 157,
- -1, 27, -1, 27, 157, -1, 51, -1, 51, 96,
- 95, -1, 26, -1, 52, 96, 95, -1, 52, 96,
- 147, 95, -1, 23, 96, 148, 95, -1, 19, -1,
- 149, -1, 50, -1, 29, -1, 65, 159, 140, -1,
- 65, 159, -1, 96, 147, 95, -1, 96, 95, -1,
- 166, -1, 168, -1, 167, -1, -1, 148, -1, -1,
- 147, -1, 96, -1, -1, 25, 163, 96, -1, 166,
- -1, 17, 171, -1, 13, 171, -1, 14, 171, -1,
- 15, 171, -1, 60, 171, -1, 16, 171, -1, 19,
- -1, 166, -1, 104, -1, 24, -1
+ 111, -1, 126, 114, -1, 117, -1, 118, -1, 126,
+ 115, -1, 126, 18, -1, 126, 112, 18, -1, 126,
+ 142, -1, 126, 30, -1, 126, 127, -1, 1, -1,
+ 146, -1, 146, 39, 146, -1, 146, 40, 146, -1,
+ 146, 37, 146, -1, 146, 38, 122, -1, 146, 44,
+ 146, -1, 146, 46, 146, -1, -1, 41, 108, -1,
+ 42, 161, 123, 95, 108, 113, -1, 39, 161, 105,
+ 123, 95, 108, 113, -1, 40, 161, 105, 125, 95,
+ 108, 113, -1, 46, 161, 105, 123, 95, 108, -1,
+ 47, 104, -1, -1, 43, 104, -1, 126, 37, 161,
+ 105, 121, 95, 119, 108, 116, -1, 126, 38, 161,
+ 105, 122, 95, 119, 108, 116, -1, 126, 44, 65,
+ 105, 163, 161, 123, 95, 108, 116, -1, 126, 44,
+ 165, 161, 105, 123, 95, 108, 116, -1, 126, 44,
+ 161, 105, 123, 95, 108, 116, -1, 126, 44, 161,
+ 105, 124, 18, 121, 18, 119, 124, 95, 108, -1,
+ 126, 104, 116, -1, 126, 45, 161, 105, 106, 123,
+ 95, 108, -1, -1, -1, 112, -1, -1, 146, -1,
+ 146, -1, 146, -1, 120, -1, 122, -1, -1, 31,
+ -1, 129, -1, 132, -1, 131, -1, 141, -1, 144,
+ -1, 128, -1, 97, -1, 32, 135, 130, 104, -1,
+ 19, -1, -1, 66, 133, 136, 137, 138, 140, -1,
+ 33, 133, 136, 137, 138, 140, -1, -1, -1, -1,
+ 19, -1, -1, 22, -1, -1, 68, 22, -1, 68,
+ -1, 68, 22, -1, 68, -1, 104, -1, 18, -1,
+ 35, 19, 19, 18, -1, -1, 35, 19, 19, 7,
+ 105, 143, 110, 8, -1, -1, 36, 133, 145, 19,
+ 19, 159, 18, -1, 146, 72, 146, -1, 146, 71,
+ 146, -1, 146, 70, 146, -1, 147, -1, 147, 74,
+ -1, 147, 74, 156, -1, 156, -1, 55, 170, 147,
+ -1, 53, 96, 170, 146, 95, -1, 156, 94, 150,
+ 161, 160, 95, -1, 156, 94, 150, -1, 20, 170,
+ 159, -1, 21, 170, 96, 160, 95, -1, 55, 159,
+ -1, 53, 96, 160, 95, -1, -1, 28, 134, 104,
+ 149, 159, -1, 20, -1, 165, -1, 169, 7, 146,
+ 18, 8, -1, 165, 9, 146, 10, -1, 156, 94,
+ 9, 146, 10, -1, 151, 9, 146, 10, -1, 165,
+ 7, 146, 18, 8, -1, 156, 94, 7, 146, 18,
+ 8, -1, 151, 7, 146, 18, 8, -1, 156, 94,
+ 96, 95, -1, 156, 94, 96, 146, 95, -1, 151,
+ 161, 146, 95, -1, 151, 161, 95, -1, 96, 146,
+ 95, 9, 146, 10, -1, 25, 9, 146, 10, -1,
+ 96, 95, 9, 146, 10, -1, 156, 75, 156, -1,
+ 156, 89, 156, -1, 156, 58, 156, -1, 156, 59,
+ 156, -1, 156, 83, 156, -1, 156, 56, 156, -1,
+ 156, 57, 156, -1, 156, 82, 156, -1, 156, 81,
+ 156, -1, 156, 49, 156, -1, 156, 80, 156, -1,
+ 156, 79, 156, -1, 156, 78, 156, -1, 156, 84,
+ 156, -1, 11, 156, -1, 12, 156, -1, 85, 156,
+ -1, 86, 156, -1, 156, 91, -1, 156, 90, -1,
+ 93, 156, -1, 92, 156, -1, 9, 146, 10, -1,
+ 9, 10, -1, 62, 146, 18, 8, -1, 62, 18,
+ 8, -1, 34, 134, 137, 138, 104, -1, 61, 156,
+ -1, 61, 104, -1, 61, 19, 161, 95, -1, 61,
+ 19, 161, 146, 95, -1, 61, 165, 161, 95, -1,
+ 61, 165, 161, 146, 95, -1, 152, -1, 153, -1,
+ 154, -1, 155, -1, 156, 76, 156, 77, 156, -1,
+ 87, 156, -1, 157, -1, 64, 156, -1, 96, 146,
+ 95, -1, 25, -1, 96, 95, -1, 165, -1, 169,
+ -1, 167, -1, 166, -1, 168, -1, 151, -1, 166,
+ 9, 146, 10, -1, 166, 7, 146, 18, 8, -1,
+ 22, -1, 164, -1, 164, 161, 95, -1, 164, 161,
+ 146, 95, -1, 63, 19, 159, -1, 48, -1, 48,
+ 156, -1, 73, 147, -1, 54, -1, 54, 104, -1,
+ 54, 156, -1, 67, -1, 67, 156, -1, 27, -1,
+ 27, 156, -1, 51, -1, 51, 96, 95, -1, 26,
+ -1, 52, 96, 95, -1, 52, 96, 146, 95, -1,
+ 23, 96, 147, 95, -1, 19, -1, 148, -1, 50,
+ -1, 29, -1, 65, 158, 139, -1, 65, 158, -1,
+ 96, 146, 95, -1, 96, 95, -1, 165, -1, 167,
+ -1, 166, -1, -1, 147, -1, -1, 146, -1, 96,
+ -1, -1, 25, 162, 96, -1, 165, -1, 17, 170,
+ -1, 13, 170, -1, 14, 170, -1, 15, 170, -1,
+ 60, 170, -1, 16, 170, -1, 19, -1, 165, -1,
+ 104, -1, 24, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 144, 144, 147, 146, 158, 157, 169, 168, 180,
- 186, 196, 200, 204, 210, 220, 225, 226, 230, 239,
- 241, 249, 252, 253, 255, 257, 274, 290, 295, 300,
- 302, 304, 308, 312, 316, 320, 325, 331, 332, 336,
- 347, 355, 366, 369, 375, 376, 383, 396, 408, 419,
- 429, 439, 471, 479, 489, 495, 496, 501, 504, 508,
- 513, 517, 521, 527, 536, 540, 542, 544, 546, 548,
- 553, 557, 563, 583, 584, 588, 601, 624, 630, 635,
- 640, 650, 651, 656, 657, 661, 671, 675, 685, 686,
- 695, 713, 712, 738, 737, 756, 760, 764, 768, 772,
- 782, 791, 795, 800, 807, 816, 822, 828, 836, 840,
- 847, 846, 857, 858, 862, 871, 876, 884, 891, 898,
- 908, 917, 924, 933, 940, 946, 953, 958, 968, 972,
- 976, 982, 986, 990, 994, 998, 1002, 1006, 1018, 1022,
- 1026, 1030, 1040, 1044, 1051, 1055, 1059, 1064, 1069, 1074,
- 1083, 1088, 1093, 1099, 1105, 1116, 1120, 1124, 1136, 1149,
- 1157, 1169, 1170, 1171, 1172, 1173, 1178, 1182, 1184, 1188,
- 1193, 1195, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1221,
- 1232, 1234, 1236, 1241, 1254, 1259, 1264, 1268, 1272, 1276,
- 1280, 1284, 1288, 1292, 1294, 1297, 1301, 1307, 1310, 1319,
- 1325, 1330, 1331, 1332, 1338, 1342, 1350, 1357, 1362, 1367,
- 1369, 1371, 1376, 1378, 1383, 1384, 1388, 1391, 1390, 1398,
- 1402, 1408, 1414, 1420, 1426, 1432, 1439, 1441, 1443, 1446
+ 0, 144, 144, 147, 146, 159, 158, 171, 170, 182,
+ 188, 198, 202, 206, 212, 222, 227, 228, 237, 240,
+ 241, 243, 245, 262, 278, 283, 285, 296, 298, 300,
+ 304, 308, 312, 316, 321, 327, 328, 332, 343, 351,
+ 362, 365, 371, 372, 379, 392, 404, 415, 425, 435,
+ 467, 475, 485, 491, 492, 497, 500, 504, 509, 513,
+ 517, 523, 532, 536, 538, 540, 542, 544, 549, 553,
+ 559, 579, 580, 584, 597, 620, 626, 631, 636, 646,
+ 647, 652, 653, 657, 667, 671, 681, 682, 691, 709,
+ 708, 734, 733, 752, 756, 760, 764, 768, 778, 787,
+ 791, 796, 803, 812, 818, 824, 832, 836, 843, 842,
+ 853, 854, 858, 867, 872, 880, 887, 894, 904, 913,
+ 920, 929, 936, 942, 949, 954, 964, 968, 972, 978,
+ 982, 986, 990, 994, 998, 1002, 1014, 1018, 1022, 1026,
+ 1036, 1040, 1047, 1051, 1055, 1060, 1065, 1070, 1079, 1084,
+ 1089, 1095, 1101, 1112, 1116, 1120, 1132, 1145, 1153, 1165,
+ 1166, 1167, 1168, 1169, 1174, 1178, 1180, 1184, 1189, 1191,
+ 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1217, 1228, 1230,
+ 1232, 1237, 1250, 1255, 1260, 1264, 1268, 1272, 1276, 1280,
+ 1284, 1288, 1290, 1293, 1297, 1303, 1306, 1315, 1321, 1326,
+ 1327, 1328, 1334, 1338, 1346, 1353, 1358, 1363, 1365, 1367,
+ 1372, 1374, 1379, 1380, 1384, 1387, 1386, 1394, 1398, 1404,
+ 1410, 1416, 1422, 1428, 1435, 1437, 1439, 1442
};
#endif
@@ -219,17 +219,16 @@ static const char *const yytname[] =
"BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS",
"POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('",
"PEG", "$accept", "grammar", "@1", "@2", "@3", "prog", "block",
- "remember", "mydefsv", "progstart", "mblock", "mremember", "lineseq",
- "fullstmt", "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",
- "package_block", "@4", "use", "@5", "expr", "argexpr", "listop", "@6",
- "method", "subscripted", "termbinop", "termunop", "anonymous", "termdo",
- "term", "myattrterm", "myterm", "listexpr", "listexprcom", "lpar_or_qw",
- "@7", "my_scalar", "amper", "scalar", "ary", "hsh", "arylen", "star",
- "indirob", 0
+ "remember", "mydefsv", "progstart", "mblock", "mremember", "stmtseq",
+ "fullstmt", "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", "package_block", "@4",
+ "use", "@5", "expr", "argexpr", "listop", "@6", "method", "subscripted",
+ "termbinop", "termunop", "anonymous", "termdo", "term", "myattrterm",
+ "myterm", "listexpr", "listexprcom", "lpar_or_qw", "@7", "my_scalar",
+ "amper", "scalar", "ary", "hsh", "arylen", "star", "indirob", 0
};
#endif
@@ -255,28 +254,28 @@ static const yytype_uint16 yytoknum[] =
static const yytype_uint8 yyr1[] =
{
0, 98, 99, 100, 99, 101, 99, 102, 99, 103,
- 104, 105, 106, 107, 108, 109, 110, 110, 110, 111,
- 111, 112, 112, 112, 112, 112, 112, 112, 112, 113,
- 113, 113, 113, 113, 113, 113, 113, 114, 114, 114,
- 115, 115, 116, 116, 117, 117, 118, 118, 118, 118,
- 118, 118, 118, 119, 120, 121, 121, 122, 122, 123,
- 124, 125, 126, 127, 127, 128, 128, 128, 128, 128,
- 128, 129, 130, 131, 131, 132, 133, 134, 135, 136,
- 137, 138, 138, 139, 139, 139, 140, 140, 141, 141,
- 142, 144, 143, 146, 145, 147, 147, 147, 147, 148,
- 148, 148, 149, 149, 149, 149, 149, 149, 149, 149,
- 150, 149, 151, 151, 152, 152, 152, 152, 152, 152,
- 152, 152, 152, 152, 152, 152, 152, 152, 153, 153,
- 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
- 155, 155, 155, 155, 155, 156, 156, 156, 156, 156,
- 156, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 158, 158, 159, 159, 159,
- 159, 159, 160, 160, 161, 161, 162, 163, 162, 164,
- 165, 166, 167, 168, 169, 170, 171, 171, 171, 171
+ 104, 105, 106, 107, 108, 109, 110, 110, 111, 111,
+ 111, 111, 111, 111, 111, 111, 111, 112, 112, 112,
+ 112, 112, 112, 112, 112, 113, 113, 113, 114, 114,
+ 115, 115, 116, 116, 117, 117, 117, 117, 117, 117,
+ 117, 118, 119, 120, 120, 121, 121, 122, 123, 124,
+ 125, 126, 126, 127, 127, 127, 127, 127, 127, 128,
+ 129, 130, 130, 131, 132, 133, 134, 135, 136, 137,
+ 137, 138, 138, 138, 139, 139, 140, 140, 141, 143,
+ 142, 145, 144, 146, 146, 146, 146, 147, 147, 147,
+ 148, 148, 148, 148, 148, 148, 148, 148, 149, 148,
+ 150, 150, 151, 151, 151, 151, 151, 151, 151, 151,
+ 151, 151, 151, 151, 151, 151, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 153, 153, 153, 153, 153, 153, 153, 153, 154, 154,
+ 154, 154, 154, 155, 155, 155, 155, 155, 155, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 157, 157, 158, 158, 158, 158, 158,
+ 159, 159, 160, 160, 161, 162, 161, 163, 164, 165,
+ 166, 167, 168, 169, 170, 170, 170, 170
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -284,27 +283,27 @@ static const yytype_uint8 yyr2[] =
{
0, 2, 2, 0, 3, 0, 3, 0, 3, 2,
4, 0, 0, 0, 4, 0, 0, 2, 2, 1,
- 1, 2, 1, 1, 2, 2, 3, 1, 2, 1,
- 1, 3, 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,
- 4, 0, 8, 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, 4, 5, 3, 3,
+ 1, 2, 2, 3, 2, 2, 2, 1, 1, 3,
+ 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, 4, 0,
+ 8, 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, 4, 5, 3, 3, 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,
- 1, 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, 1, 1, 3, 2, 3, 2, 1,
- 1, 1, 0, 1, 0, 1, 1, 0, 3, 1,
- 2, 2, 2, 2, 2, 2, 1, 1, 1, 1
+ 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, 1, 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, 1, 1, 3, 2, 3, 2, 1, 1, 1,
+ 0, 1, 0, 1, 1, 0, 3, 1, 2, 2,
+ 2, 2, 2, 2, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -312,490 +311,502 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 13, 3, 5, 7, 0, 2, 16, 0, 63,
- 16, 1, 63, 11, 4, 64, 79, 77, 0, 77,
- 77, 71, 6, 20, 22, 23, 0, 19, 70, 65,
- 67, 66, 68, 27, 69, 63, 18, 17, 16, 74,
- 0, 0, 93, 0, 29, 0, 0, 0, 0, 0,
- 0, 0, 0, 25, 201, 0, 0, 180, 0, 170,
- 197, 193, 78, 204, 28, 78, 0, 0, 0, 0,
- 0, 0, 0, 0, 185, 203, 195, 0, 0, 188,
- 212, 0, 0, 0, 0, 0, 0, 191, 0, 0,
- 0, 0, 0, 0, 0, 44, 0, 21, 24, 30,
- 98, 202, 177, 161, 162, 163, 164, 101, 167, 181,
- 172, 175, 174, 176, 173, 63, 73, 0, 80, 81,
- 0, 0, 81, 151, 0, 142, 143, 226, 229, 228,
- 227, 221, 222, 223, 225, 220, 212, 0, 0, 0,
- 194, 0, 81, 217, 216, 11, 11, 11, 11, 11,
- 11, 0, 11, 11, 43, 186, 0, 0, 214, 189,
- 190, 226, 213, 108, 227, 0, 224, 201, 156, 155,
- 172, 0, 0, 212, 168, 0, 206, 209, 211, 210,
- 192, 187, 144, 145, 166, 149, 148, 171, 0, 0,
- 52, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 99, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 13, 3, 5, 7, 0, 2, 16, 0, 61,
+ 16, 1, 61, 11, 4, 62, 6, 19, 20, 0,
+ 61, 17, 16, 27, 0, 0, 0, 0, 0, 0,
+ 0, 0, 22, 199, 0, 0, 178, 0, 168, 195,
+ 191, 76, 202, 25, 77, 75, 76, 0, 75, 0,
+ 0, 0, 0, 0, 0, 0, 0, 183, 201, 193,
+ 0, 0, 186, 210, 0, 0, 0, 0, 0, 0,
+ 75, 189, 0, 0, 0, 0, 0, 0, 0, 69,
+ 42, 0, 18, 21, 26, 68, 63, 65, 64, 66,
+ 24, 67, 28, 96, 200, 175, 159, 160, 161, 162,
+ 99, 165, 179, 170, 173, 172, 174, 171, 61, 149,
+ 0, 140, 141, 224, 227, 226, 225, 219, 220, 221,
+ 223, 218, 210, 0, 0, 0, 192, 0, 72, 0,
+ 79, 0, 91, 215, 214, 11, 11, 11, 11, 11,
+ 11, 0, 11, 11, 41, 184, 0, 0, 212, 187,
+ 188, 224, 211, 106, 225, 0, 222, 199, 154, 153,
+ 170, 0, 0, 210, 166, 0, 204, 207, 209, 208,
+ 0, 190, 185, 142, 143, 164, 147, 146, 169, 0,
+ 0, 50, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 147, 146, 0, 0, 0, 0, 0, 0, 0, 10,
- 72, 82, 83, 11, 90, 0, 83, 150, 106, 214,
- 0, 0, 110, 83, 0, 57, 0, 0, 0, 0,
- 0, 11, 12, 0, 196, 198, 0, 215, 0, 0,
- 102, 0, 0, 153, 0, 184, 208, 0, 87, 205,
- 0, 169, 45, 33, 34, 59, 31, 32, 35, 36,
- 97, 96, 95, 100, 0, 0, 124, 0, 137, 133,
- 134, 130, 131, 128, 0, 140, 139, 138, 136, 135,
- 132, 141, 129, 0, 0, 112, 0, 105, 113, 182,
- 0, 0, 0, 0, 0, 0, 85, 0, 91, 212,
- 0, 0, 200, 126, 212, 0, 218, 0, 58, 0,
- 0, 60, 62, 0, 0, 219, 56, 61, 0, 0,
- 30, 0, 0, 0, 199, 109, 0, 157, 0, 159,
- 0, 152, 207, 86, 0, 0, 0, 117, 123, 0,
- 0, 0, 121, 0, 214, 183, 0, 115, 0, 178,
- 0, 84, 89, 88, 76, 16, 0, 75, 107, 111,
- 154, 54, 54, 0, 0, 0, 0, 57, 0, 0,
- 0, 103, 158, 160, 127, 0, 120, 165, 0, 116,
- 122, 0, 118, 179, 114, 63, 94, 0, 0, 15,
- 37, 37, 0, 44, 0, 0, 0, 42, 125, 119,
- 104, 92, 44, 44, 16, 0, 0, 40, 41, 0,
- 50, 54, 44, 53, 46, 47, 63, 38, 0, 44,
- 0, 49, 14, 0, 48, 0, 0, 0, 37, 51,
- 39
+ 0, 145, 144, 0, 0, 0, 0, 0, 0, 0,
+ 10, 148, 104, 212, 0, 0, 108, 71, 0, 78,
+ 79, 80, 81, 0, 0, 0, 55, 0, 0, 0,
+ 0, 0, 11, 12, 0, 194, 196, 0, 213, 0,
+ 0, 100, 0, 0, 151, 0, 182, 206, 0, 85,
+ 203, 79, 0, 167, 43, 31, 32, 57, 29, 30,
+ 33, 34, 95, 94, 93, 98, 0, 0, 122, 0,
+ 135, 131, 132, 128, 129, 126, 0, 138, 137, 136,
+ 134, 133, 130, 139, 127, 0, 0, 110, 0, 103,
+ 111, 180, 0, 0, 0, 0, 0, 0, 0, 198,
+ 124, 210, 70, 81, 83, 0, 11, 88, 0, 216,
+ 0, 56, 0, 0, 58, 60, 0, 0, 217, 54,
+ 59, 0, 0, 28, 0, 0, 0, 197, 107, 0,
+ 155, 0, 157, 0, 150, 205, 84, 81, 0, 0,
+ 0, 115, 121, 0, 0, 0, 119, 0, 212, 181,
+ 0, 113, 0, 176, 0, 105, 109, 0, 82, 152,
+ 89, 210, 52, 52, 0, 0, 0, 0, 55, 0,
+ 0, 0, 101, 156, 158, 0, 125, 0, 118, 163,
+ 0, 114, 120, 0, 116, 177, 112, 87, 86, 74,
+ 16, 0, 0, 0, 15, 35, 35, 0, 42, 0,
+ 0, 0, 40, 73, 123, 117, 102, 61, 92, 42,
+ 42, 16, 0, 0, 38, 39, 0, 48, 52, 42,
+ 51, 90, 44, 45, 61, 36, 0, 42, 0, 47,
+ 14, 0, 46, 0, 0, 0, 35, 49, 37
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 5, 8, 9, 10, 6, 129, 38, 342, 7,
- 410, 424, 12, 22, 36, 336, 427, 97, 98, 190,
- 24, 25, 407, 337, 327, 274, 330, 339, 333, 26,
- 37, 28, 29, 117, 30, 31, 40, 141, 39, 119,
- 232, 317, 269, 374, 32, 33, 375, 34, 121, 331,
- 100, 101, 324, 307, 102, 103, 104, 105, 106, 107,
- 108, 176, 163, 258, 145, 244, 334, 109, 110, 111,
- 112, 113, 114, 131
+ -1, 5, 8, 9, 10, 6, 115, 22, 335, 7,
+ 405, 421, 12, 21, 329, 424, 82, 83, 181, 17,
+ 18, 402, 330, 320, 266, 323, 332, 326, 19, 84,
+ 85, 86, 228, 87, 88, 129, 127, 128, 230, 232,
+ 315, 260, 399, 89, 90, 400, 91, 234, 324, 93,
+ 94, 311, 299, 95, 96, 97, 98, 99, 100, 101,
+ 166, 153, 249, 135, 235, 327, 102, 103, 104, 105,
+ 106, 107, 117
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -397
+#define YYPACT_NINF -392
static const yytype_int16 yypact[] =
{
- 582, -397, -397, -397, -397, 16, -397, -397, 15, 508,
- -397, -397, 28, -397, -397, -397, -397, -397, 31, -397,
- -397, -397, -397, -397, -397, -397, 409, -397, -397, -397,
- -397, -397, -397, -397, -397, 53, -397, -397, -397, 37,
- 59, 63, -397, 59, -397, 911, 1787, 1787, 105, 105,
- 105, 105, 105, -397, -397, 105, 105, -397, 0, 118,
- -397, 1787, -397, -397, -397, -397, 14, 14, 14, 14,
- 58, 14, 14, 15, 1787, -397, 18, 34, 41, 675,
- 587, 105, 763, 997, 114, 1787, 11, 1787, 1787, 1787,
- 1787, 1787, 1787, 1787, 1083, 119, 189, -397, -397, 1257,
- 134, -397, 84, -397, -397, -397, -397, 1949, -397, 14,
- 65, 83, -397, -397, 203, 109, -397, 15, -397, 201,
- 62, 197, 201, -397, 169, 443, 443, -397, -397, -397,
- -397, -397, -397, -397, -397, -397, 1787, 136, 1787, 1787,
- 858, 15, 201, -397, -397, -397, -397, -397, -397, -397,
- -397, 14, -397, -397, -397, 1949, 135, 1171, 587, -397,
- 858, 1847, 134, -397, 824, 1787, -397, 14, -397, 858,
- 180, 226, 121, 1787, 858, 1259, 170, -397, -397, -397,
- 858, 134, 443, 443, 443, 155, 155, 228, 370, 15,
- -397, -397, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787,
- 1787, 1787, 1787, 1787, 1347, 1787, 1787, 1787, 1787, 1787,
- 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787,
- -397, -397, 42, 1435, 1787, 1787, 1787, 1787, 1787, -397,
- -397, -397, 184, -397, -397, 235, 184, -397, -397, 1787,
- -20, 238, -397, 184, 167, 1787, 1787, 1787, 1787, 255,
- 272, -397, -397, 1787, -397, -397, 458, 76, 174, 1787,
- 134, 1523, 1611, -397, 263, -397, -397, 484, 250, -397,
- 1787, 265, -397, 76, -397, 76, 76, 76, 76, 76,
- 207, 207, -397, 1949, 194, 246, -397, 496, 2027, 1156,
- 982, 487, 394, 1949, 1910, 663, 663, 795, 897, 1068,
- 137, 443, 443, 1787, 1787, -397, 1699, 14, -397, -397,
- 548, 233, 318, 278, 321, 284, 253, 108, -397, 1787,
- 108, 187, -397, -397, 1787, 15, -397, 212, 76, 217,
- 218, 76, -397, 220, 14, -397, -397, -397, 249, 303,
- 586, 1787, 1787, 252, -397, -397, 574, -397, 636, -397,
- 646, -397, -397, -397, 330, 1787, 322, -397, -397, 1787,
- 324, 333, -397, 724, 1787, -397, 343, -397, 344, -397,
- 345, -397, -397, -397, -397, -397, 323, -397, -397, -397,
- -397, -397, -397, 353, 353, 1787, 353, 1787, 268, 275,
- 353, -397, -397, -397, -397, 336, -397, 1988, 359, -397,
- -397, 276, -397, -397, -397, 120, -397, 353, 353, -397,
- 116, 116, 277, 119, 379, 353, 353, -397, -397, -397,
- -397, -397, 119, 119, -397, 353, 14, -397, -397, 353,
- -397, -397, 119, -397, -397, -397, 128, -397, 1787, 119,
- 497, -397, -397, 304, -397, 314, 353, 353, 116, -397,
- -397
+ 401, -392, -392, -392, -392, 14, -392, -392, 12, 27,
+ -392, -392, 48, -392, -392, -392, -392, -392, -392, 435,
+ 61, -392, -392, -392, 1031, 1907, 1907, 500, 500, 500,
+ 500, 500, -392, -392, 500, 500, -392, -25, 108, -392,
+ 1907, -392, -392, -392, -392, -392, -392, 112, -392, 4,
+ 4, 4, 4, 5, 4, 4, 12, 1907, -392, 60,
+ 89, 93, 795, 707, 500, 883, 1117, 182, 1907, 37,
+ -392, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1203, -392,
+ 80, 209, -392, -392, -392, -392, -392, -392, -392, -392,
+ -392, -392, 1115, 161, -392, 1, -392, -392, -392, -392,
+ 319, -392, 4, 200, 212, -392, -392, 229, 38, -392,
+ 32, 90, 90, -392, -392, -392, -392, -392, -392, -392,
+ -392, -392, 1907, 146, 1907, 1907, 915, 12, 230, 235,
+ 226, 237, -392, -392, -392, -392, -392, -392, -392, -392,
+ -392, 4, -392, -392, -392, 319, 168, 1291, 707, -392,
+ 915, 1967, 161, -392, 944, 1907, -392, 4, -392, 915,
+ 2, 256, 23, 1907, 915, 1379, 198, -392, -392, -392,
+ 235, 915, 161, 90, 90, 90, 150, 150, 258, 158,
+ 12, -392, -392, 1907, 1907, 1907, 1907, 1907, 1907, 1907,
+ 1907, 1907, 1907, 1907, 1907, 1467, 1907, 1907, 1907, 1907,
+ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907,
+ 1907, -392, -392, 36, 1555, 1907, 1907, 1907, 1907, 1907,
+ -392, -392, -392, 1907, -17, 43, -392, -392, 12, -392,
+ 226, -392, 202, 127, 262, 179, 1907, 1907, 1907, 1907,
+ 270, 529, -392, -392, 1907, -392, -392, 238, 88, 193,
+ 1907, 161, 1643, 1731, -392, 281, -392, -392, 344, 269,
+ -392, 226, 1907, 283, -392, 88, -392, 88, 88, 88,
+ 88, 88, 222, 222, -392, 319, 70, 77, -392, 421,
+ 2049, 780, 296, 563, 280, 319, 267, 517, 517, 478,
+ 603, 692, 978, 90, 90, 1907, 1907, -392, 1819, 4,
+ -392, -392, 434, 175, 81, 187, 116, 190, 208, -392,
+ -392, 1907, -392, 202, 289, 12, -392, -392, 293, -392,
+ 219, 88, 227, 232, 88, -392, 236, 4, -392, -392,
+ -392, 239, 299, 234, 1907, 1907, 240, -392, -392, 515,
+ -392, 578, -392, 604, -392, -392, -392, 202, 140, 1907,
+ 312, -392, -392, 1907, 214, 144, -392, 668, 1907, -392,
+ 313, -392, 324, -392, 329, -392, -392, 155, -392, -392,
+ -392, 1907, -392, -392, 333, 333, 1907, 333, 1907, 246,
+ 265, 333, -392, -392, -392, 155, -392, 167, -392, 2010,
+ 354, -392, -392, 268, -392, -392, -392, -392, -392, -392,
+ -392, 348, 333, 333, -392, 102, 102, 272, 80, 355,
+ 333, 333, -392, -392, -392, -392, -392, 65, -392, 80,
+ 80, -392, 333, 4, -392, -392, 333, -392, -392, 80,
+ -392, -392, -392, -392, 104, -392, 1907, 80, 617, -392,
+ -392, 277, -392, 286, 333, 333, 102, -392, -392
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -397, -397, -397, -397, -397, -397, -6, -48, -397, -397,
- 1549, -397, -9, -397, 389, 385, -396, -397, -397, 68,
- -397, -397, -336, -397, 25, -58, -220, -27, -397, -397,
- 408, -397, -397, -397, -397, -397, 162, 354, -397, 390,
- -95, -166, -397, 124, -397, -397, -397, -397, -397, -26,
- -57, -397, -397, -397, -397, -397, -397, -397, -397, 168,
- -397, -397, -115, -230, -64, -397, -397, -397, -38, 364,
- 365, -397, -397, -15
+ -392, -392, -392, -392, -392, -392, -2, -103, -392, -392,
+ -220, -392, -9, 373, 365, -391, -392, -392, -101, -392,
+ -392, -361, -392, 10, -175, -213, -49, -392, -392, -392,
+ -392, -392, -392, -392, -392, 68, 346, -392, 241, -125,
+ -309, -392, 11, -392, -392, -392, -392, -392, -19, -56,
+ -392, -392, -392, -392, -392, -392, -392, -392, 225, -392,
+ -392, -119, -221, -30, -392, -392, -392, 55, 349, 351,
+ -392, -392, 46
};
/* 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 -202
+#define YYTABLE_NINF -200
static const yytype_int16 yytable[] =
{
- 99, 35, 14, 146, 147, 148, 150, 152, 153, 321,
- 130, 130, 130, 130, 130, 428, 11, 130, 130, 124,
- 95, 238, 13, 162, 48, 49, 50, 236, -9, 115,
- 338, 181, 151, 343, 132, 133, 134, 135, 204, 143,
- 136, 137, 164, 130, 170, 223, 408, 243, 177, 303,
- 41, 304, 450, -8, 201, 48, 116, 172, 265, 15,
- 16, 17, 305, 18, 19, 165, 166, 154, 188, 233,
- 320, 48, 224, 159, 225, 322, 168, 325, 118, 162,
- 234, 240, 120, 143, 15, 16, 17, 251, 18, 19,
- 226, 202, 227, 203, 20, 440, 138, 245, 246, 247,
- 248, 249, 250, 261, 252, 253, 262, 175, 260, 143,
- 144, 230, 13, 241, 156, 13, 162, 229, 48, 20,
- 164, 388, 389, 149, 127, 21, 372, 139, 421, 128,
- 157, 256, 257, 173, 401, 242, 442, 158, 306, 264,
- 15, 16, 17, 259, 18, 19, 198, 199, 200, 267,
- 21, 15, 16, 17, 144, 18, 19, 425, 426, 15,
- 16, 17, 189, 18, 19, 412, 273, 275, 276, 277,
- 278, 279, 280, 281, 282, 20, 284, 285, 287, 237,
- 144, 42, 43, 272, 308, 318, 20, 224, 329, 225,
- 332, 198, 199, 200, 20, 208, 209, 310, 311, 312,
- 313, 314, 315, 341, 376, 143, 21, 191, 201, 379,
- 228, 335, 356, 257, 125, 126, 235, 21, 443, 328,
- 275, 218, 275, 231, 340, 21, 219, 220, 221, 140,
- 254, 222, 239, 346, 263, 348, 350, 270, 268, 198,
- 199, 200, 155, 364, 354, -202, -202, 160, 323, 222,
- 169, 366, 316, 174, 319, 180, 357, 182, 183, 184,
- 185, 186, 162, 326, 198, 199, 200, 162, 48, 345,
- 385, 351, 353, 44, 355, 371, 144, 360, 361, 200,
- 363, 45, 378, 46, 47, 48, 49, 50, 51, 52,
- -55, 54, 55, 56, 57, 58, 368, 59, 60, 61,
- 62, 63, 370, 198, 199, 200, 65, 381, 198, 199,
- 200, 373, 382, 383, 373, 384, 198, 199, 200, 380,
- 74, 387, 75, 76, 77, 78, 79, 80, 367, 395,
- 396, 369, 81, 82, 83, 84, 85, 86, 257, 87,
- 394, 406, 398, 399, 386, 88, 418, 390, 198, 199,
- 200, 402, 403, 404, 198, 199, 200, 89, 90, 91,
- 409, 328, 438, 415, 92, 93, 405, 419, 94, 283,
- 416, 420, 429, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 198, 199,
- 200, 198, 199, 200, 198, 199, 200, 431, 23, 446,
- 198, 199, 200, 198, 199, 200, 198, 199, 200, 447,
- 44, 96, 414, 445, 99, 436, 13, 27, 45, 142,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 122, 59, 60, 61, 62, 63, 64,
- 198, 199, 200, 65, 377, 0, 66, 67, 68, 69,
- 178, 179, 208, 70, 71, 72, 73, 74, 0, 75,
- 76, 77, 78, 79, 80, 271, 0, 0, 0, 81,
- 82, 83, 84, 85, 86, 0, 87, 0, 218, 0,
- 0, 430, 88, 219, 220, 221, 0, 0, 222, 0,
- 434, 435, 0, 0, 89, 90, 91, 0, 44, 0,
- 441, 92, 93, 0, 0, 94, 45, 444, 46, 47,
- 48, 49, 50, 51, 52, 0, 54, 55, 56, 57,
- 58, 0, 59, 60, 61, 62, 63, 397, 198, 199,
- 200, 65, 219, 220, 221, 0, 0, 222, 0, 15,
- 16, 17, 0, 18, 19, 74, 0, 75, 76, 77,
- 78, 79, 80, 344, 198, 199, 200, 81, 82, 83,
- 84, 85, 86, 0, 87, 0, 198, 199, 200, 0,
- 88, 218, 0, 0, 20, 0, 219, 220, 221, 352,
- 0, 222, 89, 90, 91, 1, 2, 3, 4, 92,
- 93, 358, -55, 94, 13, 0, 45, 0, 46, 47,
- 48, 49, 50, 51, 52, 21, 161, 55, 56, 57,
- 58, 128, 59, 60, 61, 62, 63, 0, 198, 199,
- 200, 65, 0, 192, 193, 194, 195, 0, 0, 0,
- 196, 0, 197, 0, 0, 74, 0, 75, 76, 77,
- 78, 79, 80, 365, 198, 199, 200, 81, 82, 83,
- 84, 85, 86, 0, 87, 0, 198, 199, 200, 0,
- 88, 0, 0, 0, 0, 0, 0, 0, 0, 391,
- 0, 0, 89, 90, 91, 0, 0, 0, 0, 92,
- 93, -60, 13, 94, 45, 0, 46, 47, 48, 49,
- 50, 51, 52, 0, 54, 55, 56, 57, 58, 0,
- 59, 60, 61, 62, 63, 0, 198, 199, 200, 65,
- 0, 0, 0, 0, 0, 0, 198, 199, 200, 206,
- 207, 208, 209, 74, 0, 75, 76, 77, 78, 79,
- 80, 392, 0, 0, 0, 81, 82, 83, 84, 85,
- 86, 393, 87, 214, 215, 216, 217, 218, 88, 0,
- 0, 0, 219, 220, 221, 0, 0, 222, 0, 0,
- 89, 90, 91, 0, 0, 0, 0, 92, 93, 0,
- 13, 94, 45, 0, 46, 47, 48, 49, 50, 51,
- 52, 0, 167, 55, 56, 57, 58, 0, 59, 60,
- 61, 62, 63, 0, 198, 199, 200, 65, 0, 0,
+ 92, 20, 308, 222, 367, 110, 14, 152, 193, 215,
+ 194, 216, 403, 108, 11, 425, 172, 80, 27, 13,
+ 136, 137, 138, 140, 142, 143, 133, 133, 331, 133,
+ 133, 336, 236, 237, 238, 239, 240, 241, 385, 243,
+ 244, 255, 221, 295, 256, 296, 220, 162, -9, 27,
+ 27, 28, 29, 310, 144, 448, 297, 192, 15, 179,
+ 149, -8, 322, 158, 325, 195, 152, 438, 224, 15,
+ 139, 124, 214, 431, 118, 119, 120, 121, 309, 15,
+ 122, 123, 116, 116, 116, 116, 116, 351, 350, 116,
+ 116, 361, 15, 189, 190, 191, 15, 134, 134, 251,
+ 134, 134, 189, 190, 191, 313, 225, 152, 141, 155,
+ 156, 242, 440, 189, 190, 191, 132, 125, 154, 116,
+ 160, 379, 380, 180, 167, 226, 363, 252, 247, 248,
+ 253, 131, 298, 165, 316, 15, 347, 393, 170, 334,
+ 189, 190, 191, 422, 423, 317, 258, 189, 190, 191,
+ 386, 189, 190, 191, 391, 406, 146, 408, 189, 190,
+ 191, 412, 13, 407, 265, 267, 268, 269, 270, 271,
+ 272, 273, 274, 397, 276, 277, 279, 414, 264, 210,
+ 211, 212, 419, 420, 213, 147, 189, 190, 191, 148,
+ 429, 430, 366, 360, 250, 302, 303, 304, 305, 306,
+ 307, 163, 435, 154, 248, 362, 437, 215, 364, 216,
+ 189, 190, 191, 370, 189, 190, 191, 321, 267, 217,
+ 267, 218, 333, 441, 446, 447, 312, 182, 189, 190,
+ 191, 339, 390, 341, 343, 192, 219, 189, 190, 191,
+ -200, -200, 223, 348, 213, 189, 190, 191, 231, 227,
+ 111, 112, 401, 263, 229, 152, 233, 189, 190, 191,
+ 189, 190, 191, 245, 254, 126, 259, 262, 300, 358,
+ 314, 183, 184, 185, 186, 319, 354, 355, 187, 357,
+ 188, 318, 145, 27, 189, 190, 191, 150, 338, 344,
+ 159, 346, 349, 164, 191, 328, 171, 376, 173, 174,
+ 175, 176, 177, 365, 189, 190, 191, 427, 189, 190,
+ 191, 368, 371, 369, 372, 152, 196, 378, 432, 433,
+ 388, 394, 373, 197, 198, 199, 200, 374, 439, -58,
+ 387, 375, 395, 337, 377, 381, 442, 396, 199, 248,
+ 404, 410, 201, 202, 353, 203, 204, 205, 206, 207,
+ 208, 209, 197, -200, 199, 200, 210, 211, 212, 321,
+ 411, 213, 415, 416, 209, 398, 418, 426, 196, 210,
+ 211, 212, 444, 428, 213, 197, 198, 199, 200, 208,
+ 209, 445, 16, 398, 81, 210, 211, 212, 409, 443,
+ 213, 417, 130, 436, 201, 202, 413, 203, 204, 205,
+ 206, 207, 208, 209, 1, 2, 3, 4, 210, 211,
+ 212, 261, 434, 213, 189, 190, 191, 275, 168, 92,
+ 169, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 23, 0, 0, 345,
+ 0, 0, 13, 0, 24, 0, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 0,
+ 38, 39, 40, 41, 42, 43, 0, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 0, 0, 0, 53,
+ 54, 55, 56, 57, 0, 58, 59, 60, 61, 62,
+ 63, 189, 190, 191, 0, 64, 65, 66, 67, 68,
+ 69, 70, 71, 0, 189, 190, 191, 13, 72, 0,
+ 0, 0, 0, 27, 0, 0, 352, 0, 0, 113,
+ 73, 74, 75, 0, 114, 0, 0, 76, 77, 359,
+ 23, 78, 79, 0, 197, 198, 199, 200, 24, 0,
+ 25, 26, 27, 28, 29, 30, 31, -53, 33, 34,
+ 35, 36, 37, 0, 38, 39, 40, 41, 42, 206,
+ 207, 208, 209, 46, 0, 0, 0, 210, 211, 212,
+ 0, 0, 213, 197, 198, 199, 200, 57, 389, 58,
+ 59, 60, 61, 62, 63, 189, 190, 191, 0, 64,
+ 65, 66, 67, 68, 69, 0, 71, 205, 206, 207,
+ 208, 209, 72, 0, 0, 0, 210, 211, 212, 0,
+ 382, 213, 0, 0, 73, 74, 75, 0, 23, 0,
+ 0, 76, 77, 0, 0, 78, 24, 0, 25, 26,
+ 27, 28, 29, 30, 31, 0, 33, 34, 35, 36,
+ 37, 0, 38, 39, 40, 41, 42, 209, 189, 190,
+ 191, 46, 210, 211, 212, 0, 0, 213, 0, 197,
+ 198, 199, 200, 0, 0, 57, 0, 58, 59, 60,
+ 61, 62, 63, 383, 189, 190, 191, 64, 65, 66,
+ 67, 68, 69, 0, 71, 207, 208, 209, 0, 0,
+ 72, 0, 210, 211, 212, 0, 0, 213, 0, 384,
+ 0, 0, 73, 74, 75, 0, 0, 0, 0, 76,
+ 77, 0, -53, 78, 13, 0, 24, 0, 25, 26,
+ 27, 28, 29, 30, 31, 0, 151, 34, 35, 36,
+ 37, 114, 38, 39, 40, 41, 42, 0, 189, 190,
+ 191, 46, 0, 0, 0, 0, 0, 0, 197, 198,
+ 199, 200, 0, 0, 0, 57, 0, 58, 59, 60,
+ 61, 62, 63, 392, 0, 0, 0, 64, 65, 66,
+ 67, 68, 69, 0, 71, 208, 209, 0, 0, 0,
+ 72, 210, 211, 212, 0, 0, 213, 0, 0, 0,
+ 0, 0, 73, 74, 75, 0, 0, 0, 0, 76,
+ 77, 0, 13, 78, 24, 0, 25, 26, 27, 28,
+ 29, 30, 31, 0, 33, 34, 35, 36, 37, 0,
+ 38, 39, 40, 41, 42, 0, 0, 0, 0, 46,
+ 0, 0, 0, 0, 0, 0, -200, 0, 199, 200,
+ 0, 0, 0, 57, 0, 58, 59, 60, 61, 62,
+ 63, 0, 0, 0, 0, 64, 65, 66, 67, 68,
+ 69, 0, 71, 208, 209, 0, 0, 0, 72, 210,
+ 211, 212, 0, 0, 213, 0, 0, 0, 0, 0,
+ 73, 74, 75, 0, 0, 0, 0, 76, 77, 0,
+ 13, 78, 24, 0, 25, 26, 27, 28, 29, 30,
+ 31, 0, 157, 34, 35, 36, 37, 0, 38, 39,
+ 40, 41, 42, 0, 0, 0, 0, 46, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 75, 76, 77, 78, 79, 80, 400,
- 0, 0, 0, 81, 82, 83, 84, 85, 86, 0,
- 87, 224, 0, 225, -172, 0, 88, 0, 0, 0,
- 0, 0, -172, 0, 0, 0, 0, 0, 89, 90,
- 91, 206, 207, 208, 209, 92, 93, 0, 0, 94,
- 0, -172, -172, -172, -172, 0, 0, 0, -172, 0,
- -172, 0, 0, -172, 0, 0, 215, 216, 217, 218,
- -172, -172, -172, -172, 219, 220, 221, 0, 0, 222,
- 0, 0, 0, 0, -172, -172, -172, 0, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, 0,
- 0, 0, 0, -172, -172, -172, 208, 209, -172, -172,
- 45, 123, 46, 47, 48, 49, 50, 51, 52, 0,
- 54, 55, 56, 57, 58, 0, 59, 60, 61, 62,
- 63, 217, 218, 0, 0, 65, 0, 219, 220, 221,
- 0, 0, 222, 206, 207, 208, 209, 0, 0, 74,
- 0, 75, 76, 77, 78, 79, 80, 0, 0, 0,
- 0, 81, 82, 83, 84, 85, 86, 0, 87, 216,
- 217, 218, 0, 0, 88, 0, 219, 220, 221, 0,
- 0, 222, 0, 0, 0, 0, 89, 90, 91, 0,
- 0, 0, 0, 92, 93, 0, 45, 94, 46, 47,
- 48, 49, 50, 51, 52, 171, 54, 55, 56, 57,
- 58, 0, 59, 60, 61, 62, 63, 0, 0, 0,
- 0, 65, 0, 0, 0, 0, 0, 0, 206, -202,
- 208, 209, 0, 0, 0, 74, 0, 75, 76, 77,
- 78, 79, 80, 0, 0, 0, 0, 81, 82, 83,
- 84, 85, 86, 0, 87, 217, 218, 0, 0, 0,
- 88, 219, 220, 221, 0, 0, 222, 0, 0, 0,
- 0, 0, 89, 90, 91, 0, 0, 0, 0, 92,
- 93, 0, 45, 94, 46, 47, 48, 49, 50, 51,
- 52, 0, 54, 55, 56, 57, 58, 0, 59, 60,
- 61, 62, 63, 0, 0, 0, 0, 65, 0, 0,
- 0, 0, 0, 0, 206, 207, 208, 209, 0, 0,
- 0, 74, 0, 75, 76, 77, 78, 79, 80, 0,
- 0, 0, 0, 81, 82, 83, 84, 85, 86, 0,
- 87, 217, 218, 0, 0, 0, 88, 219, 220, 221,
- 0, 0, 222, 0, 0, 0, 0, 0, 89, 90,
- 91, 0, 0, 0, 0, 92, 93, 0, 187, 94,
- 45, 0, 46, 47, 48, 49, 50, 51, 52, 0,
- 54, 55, 56, 57, 58, 0, 59, 60, 61, 62,
- 63, 0, 0, 0, 0, 65, 0, 0, 0, 0,
- 0, 0, -202, 0, 208, 209, 0, 0, 0, 74,
- 0, 75, 76, 77, 78, 79, 80, 0, 0, 0,
- 0, 81, 82, 83, 84, 85, 86, 0, 87, 217,
- 218, 0, 0, 0, 88, 219, 220, 221, 0, 0,
- 222, 0, 0, 0, 0, 0, 89, 90, 91, 0,
- 0, 0, 0, 92, 93, 0, 255, 94, 45, 0,
- 46, 47, 48, 49, 50, 51, 52, 0, 54, 55,
- 56, 57, 58, 0, 59, 60, 61, 62, 63, 0,
- 0, 0, 0, 65, 192, 193, 194, 195, 0, 0,
- 0, 196, 0, 197, 0, 0, 0, 74, 0, 75,
- 76, 77, 78, 79, 80, 0, 0, 0, 0, 81,
- 82, 83, 84, 85, 86, 0, 87, 198, 199, 200,
- 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 90, 91, 0, 0, 0,
- 0, 92, 93, 0, 266, 94, 45, 0, 46, 47,
- 48, 49, 50, 51, 52, 0, 54, 55, 56, 57,
- 58, 0, 59, 60, 61, 62, 63, 0, 0, 0,
- 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 74, 0, 75, 76, 77,
- 78, 79, 80, 0, 0, 0, 0, 81, 82, 83,
- 84, 85, 86, 0, 87, 0, 0, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 89, 90, 91, 0, 0, 0, 0, 92,
- 93, 0, 286, 94, 45, 0, 46, 47, 48, 49,
- 50, 51, 52, 0, 54, 55, 56, 57, 58, 0,
- 59, 60, 61, 62, 63, 0, 0, 0, 0, 65,
+ 0, 57, 0, 58, 59, 60, 61, 62, 63, 0,
+ 0, 0, 0, 64, 65, 66, 67, 68, 69, 0,
+ 71, 215, 0, 216, -170, 0, 72, 0, 0, 0,
+ 0, 0, -170, 0, 0, 0, 0, 0, 73, 74,
+ 75, 0, 0, 199, 200, 76, 77, 0, 0, 78,
+ 0, -170, -170, -170, -170, 0, 0, 0, -170, 0,
+ -170, 0, 0, -170, 0, 0, 0, 0, 208, 209,
+ -170, -170, -170, -170, 210, 211, 212, 0, 0, 213,
+ 0, 0, 0, 0, -170, -170, -170, 0, -170, -170,
+ -170, -170, -170, -170, -170, -170, -170, -170, -170, 0,
+ 0, 0, 0, -170, -170, -170, 199, 200, -170, -170,
+ 24, 109, 25, 26, 27, 28, 29, 30, 31, 0,
+ 33, 34, 35, 36, 37, 0, 38, 39, 40, 41,
+ 42, 0, 209, 0, 0, 46, 0, 210, 211, 212,
+ 0, 0, 213, 0, 0, 0, 0, 0, 0, 57,
+ 0, 58, 59, 60, 61, 62, 63, 0, 0, 0,
+ 0, 64, 65, 66, 67, 68, 69, 0, 71, 0,
+ 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 73, 74, 75, 0,
+ 0, 0, 0, 76, 77, 0, 24, 78, 25, 26,
+ 27, 28, 29, 30, 31, 161, 33, 34, 35, 36,
+ 37, 0, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 46, 183, 184, 185, 186, 0, 0, 0, 187,
+ 0, 188, 0, 0, 0, 57, 0, 58, 59, 60,
+ 61, 62, 63, 0, 0, 0, 0, 64, 65, 66,
+ 67, 68, 69, 0, 71, 189, 190, 191, 0, 0,
+ 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 73, 74, 75, 0, 0, 0, 0, 76,
+ 77, 0, 24, 78, 25, 26, 27, 28, 29, 30,
+ 31, 0, 33, 34, 35, 36, 37, 0, 38, 39,
+ 40, 41, 42, 0, 0, 0, 0, 46, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 74, 0, 75, 76, 77, 78, 79,
- 80, 0, 0, 0, 0, 81, 82, 83, 84, 85,
- 86, 0, 87, 0, 0, 0, 0, 0, 88, 0,
+ 0, 57, 0, 58, 59, 60, 61, 62, 63, 0,
+ 0, 0, 0, 64, 65, 66, 67, 68, 69, 0,
+ 71, 0, 0, 0, 0, 0, 72, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 74,
+ 75, 0, 0, 0, 0, 76, 77, 0, 178, 78,
+ 24, 0, 25, 26, 27, 28, 29, 30, 31, 0,
+ 33, 34, 35, 36, 37, 0, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 46, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
+ 0, 58, 59, 60, 61, 62, 63, 0, 0, 0,
+ 0, 64, 65, 66, 67, 68, 69, 0, 71, 0,
+ 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 73, 74, 75, 0,
+ 0, 0, 0, 76, 77, 0, 246, 78, 24, 0,
+ 25, 26, 27, 28, 29, 30, 31, 0, 33, 34,
+ 35, 36, 37, 0, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 57, 0, 58,
+ 59, 60, 61, 62, 63, 0, 0, 0, 0, 64,
+ 65, 66, 67, 68, 69, 0, 71, 0, 0, 0,
+ 0, 0, 72, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 73, 74, 75, 0, 0, 0,
+ 0, 76, 77, 0, 257, 78, 24, 0, 25, 26,
+ 27, 28, 29, 30, 31, 0, 33, 34, 35, 36,
+ 37, 0, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 46, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 57, 0, 58, 59, 60,
+ 61, 62, 63, 0, 0, 0, 0, 64, 65, 66,
+ 67, 68, 69, 0, 71, 0, 0, 0, 0, 0,
+ 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 73, 74, 75, 0, 0, 0, 0, 76,
+ 77, 0, 278, 78, 24, 0, 25, 26, 27, 28,
+ 29, 30, 31, 0, 33, 34, 35, 36, 37, 0,
+ 38, 39, 40, 41, 42, 0, 0, 0, 0, 46,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 90, 91, 0, 0, 0, 0, 92, 93, 0,
- 309, 94, 45, 0, 46, 47, 48, 49, 50, 51,
- 52, 0, 54, 55, 56, 57, 58, 0, 59, 60,
- 61, 62, 63, 0, 0, 0, 0, 65, 0, 0,
+ 0, 0, 0, 57, 0, 58, 59, 60, 61, 62,
+ 63, 0, 0, 0, 0, 64, 65, 66, 67, 68,
+ 69, 0, 71, 0, 0, 0, 0, 0, 72, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 75, 76, 77, 78, 79, 80, 0,
- 0, 0, 0, 81, 82, 83, 84, 85, 86, 0,
- 87, 0, 0, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89, 90,
- 91, 0, 0, 0, 0, 92, 93, 0, 347, 94,
- 45, 0, 46, 47, 48, 49, 50, 51, 52, 0,
- 54, 55, 56, 57, 58, 0, 59, 60, 61, 62,
- 63, 0, 0, 0, 0, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 75, 76, 77, 78, 79, 80, 0, 0, 0,
- 0, 81, 82, 83, 84, 85, 86, 0, 87, 0,
- 0, 0, 0, 0, 88, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 90, 91, 0,
- 0, 0, 0, 92, 93, 0, 349, 94, 45, 0,
- 46, 47, 48, 49, 50, 51, 52, 0, 54, 55,
- 56, 57, 58, 0, 59, 60, 61, 62, 63, 0,
- 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 0, 75,
- 76, 77, 78, 79, 80, 0, 0, 0, 0, 81,
- 82, 83, 84, 85, 86, 0, 87, 0, 0, 0,
- 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 90, 91, 0, 0, 0,
- 0, 92, 93, 0, 362, 94, 45, 0, 46, 47,
- 48, 49, 50, 51, 52, 0, 54, 55, 56, 57,
- 58, 0, 59, 60, 61, 62, 63, 0, 0, 0,
- 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 74, 0, 75, 76, 77,
- 78, 79, 80, 0, 0, 0, 0, 81, 82, 83,
- 84, 85, 86, 0, 87, 0, 0, -201, 0, 0,
- 88, 0, 0, 0, 0, -201, 0, 0, 0, 0,
- 0, 0, 89, 90, 91, 0, 0, 0, 0, 92,
- 93, 0, 0, 94, -201, -201, -201, -201, 0, 0,
- 0, -201, 0, -201, 0, 0, -201, 0, 0, 0,
- 0, 0, 0, -201, -201, -201, -201, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -201, -201, -201,
- 0, -201, -201, -201, -201, -201, -201, -201, -201, -201,
- -201, -201, 0, 411, 0, 413, -201, -201, -201, 417,
- 0, -201, -201, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 422, 423, 0, 205,
- 0, 0, 0, 0, 432, 433, 206, 207, 208, 209,
- 0, 0, 0, 0, 437, 0, 0, 0, 439, 0,
- 0, 0, 0, 0, 0, 210, 211, 359, 212, 213,
- 214, 215, 216, 217, 218, 448, 449, 0, 205, 219,
- 220, 221, 0, 0, 222, 206, 207, 208, 209, 0,
+ 73, 74, 75, 0, 0, 0, 0, 76, 77, 0,
+ 301, 78, 24, 0, 25, 26, 27, 28, 29, 30,
+ 31, 0, 33, 34, 35, 36, 37, 0, 38, 39,
+ 40, 41, 42, 0, 0, 0, 0, 46, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 210, 211, 0, 212, 213, 214,
- 215, 216, 217, 218, 0, 0, 0, 205, 219, 220,
- 221, 0, 0, 222, 206, 207, 208, 209, 0, 0,
+ 0, 57, 0, 58, 59, 60, 61, 62, 63, 0,
+ 0, 0, 0, 64, 65, 66, 67, 68, 69, 0,
+ 71, 0, 0, 0, 0, 0, 72, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 74,
+ 75, 0, 0, 0, 0, 76, 77, 0, 340, 78,
+ 24, 0, 25, 26, 27, 28, 29, 30, 31, 0,
+ 33, 34, 35, 36, 37, 0, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 46, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
+ 0, 58, 59, 60, 61, 62, 63, 0, 0, 0,
+ 0, 64, 65, 66, 67, 68, 69, 0, 71, 0,
+ 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 73, 74, 75, 0,
+ 0, 0, 0, 76, 77, 0, 342, 78, 24, 0,
+ 25, 26, 27, 28, 29, 30, 31, 0, 33, 34,
+ 35, 36, 37, 0, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 57, 0, 58,
+ 59, 60, 61, 62, 63, 0, 0, 0, 0, 64,
+ 65, 66, 67, 68, 69, 0, 71, 0, 0, 0,
+ 0, 0, 72, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 73, 74, 75, 0, 0, 0,
+ 0, 76, 77, 0, 356, 78, 24, 0, 25, 26,
+ 27, 28, 29, 30, 31, 0, 33, 34, 35, 36,
+ 37, 0, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 46, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 57, 0, 58, 59, 60,
+ 61, 62, 63, 0, 0, 0, 0, 64, 65, 66,
+ 67, 68, 69, 0, 71, 0, 0, -199, 0, 0,
+ 72, 0, 0, 0, 0, -199, 0, 0, 0, 0,
+ 0, 0, 73, 74, 75, 0, 0, 0, 0, 76,
+ 77, 0, 0, 78, -199, -199, -199, -199, 0, 0,
+ 0, -199, 0, -199, 0, 0, -199, 0, 0, 0,
+ 0, 0, 0, -199, -199, -199, -199, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -199, -199, -199,
+ 0, -199, -199, -199, -199, -199, -199, -199, -199, -199,
+ -199, -199, 0, 0, 0, 0, -199, -199, -199, 196,
+ 0, -199, -199, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 211, 0, 212, 213, 214, 215,
- 216, 217, 218, 0, 0, 0, -202, 219, 220, 221,
- 0, 0, 222, 206, 207, 208, 209, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 202, 0, 203, 204,
+ 205, 206, 207, 208, 209, 0, 0, 0, -200, 210,
+ 211, 212, 0, 0, 213, 197, 198, 199, 200, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 214, 215, 216,
- 217, 218, 0, 0, 0, 0, 219, 220, 221, 0,
- 0, 222
+ 0, 0, 0, 0, 0, 0, 0, 203, 204, 205,
+ 206, 207, 208, 209, 0, 0, 0, 0, 210, 211,
+ 212, 0, 0, 213
};
static const yytype_int16 yycheck[] =
{
- 26, 10, 8, 67, 68, 69, 70, 71, 72, 239,
- 48, 49, 50, 51, 52, 411, 0, 55, 56, 45,
- 26, 136, 7, 80, 13, 14, 15, 122, 0, 38,
- 250, 88, 70, 253, 49, 50, 51, 52, 102, 25,
- 55, 56, 80, 81, 82, 109, 382, 142, 86, 7,
- 19, 9, 448, 0, 74, 13, 19, 83, 173, 31,
- 32, 33, 20, 35, 36, 80, 81, 73, 94, 7,
- 236, 13, 7, 79, 9, 95, 82, 243, 19, 136,
- 18, 138, 19, 25, 31, 32, 33, 151, 35, 36,
- 7, 7, 9, 9, 66, 431, 96, 145, 146, 147,
- 148, 149, 150, 167, 152, 153, 170, 96, 165, 25,
- 96, 117, 7, 139, 96, 7, 173, 8, 13, 66,
- 158, 341, 342, 65, 19, 97, 18, 9, 8, 24,
- 96, 157, 158, 19, 364, 141, 8, 96, 96, 18,
- 31, 32, 33, 158, 35, 36, 70, 71, 72, 175,
- 97, 31, 32, 33, 96, 35, 36, 41, 42, 31,
- 32, 33, 43, 35, 36, 385, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 66, 202, 203, 204, 10,
- 96, 19, 20, 189, 222, 233, 66, 7, 246, 9,
- 248, 70, 71, 72, 66, 58, 59, 223, 224, 225,
- 226, 227, 228, 251, 319, 25, 97, 18, 74, 324,
- 7, 249, 18, 239, 46, 47, 19, 97, 438, 245,
- 246, 84, 248, 22, 250, 97, 89, 90, 91, 61,
- 95, 94, 96, 259, 8, 261, 262, 9, 68, 70,
- 71, 72, 74, 307, 270, 90, 91, 79, 10, 94,
- 82, 18, 68, 85, 19, 87, 10, 89, 90, 91,
- 92, 93, 319, 96, 70, 71, 72, 324, 13, 95,
- 334, 8, 22, 1, 9, 22, 96, 303, 304, 72,
- 306, 9, 95, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 18, 25, 26, 27,
- 28, 29, 18, 70, 71, 72, 34, 95, 70, 71,
- 72, 317, 95, 95, 320, 95, 70, 71, 72, 325,
- 48, 18, 50, 51, 52, 53, 54, 55, 10, 355,
- 8, 10, 60, 61, 62, 63, 64, 65, 364, 67,
- 10, 18, 18, 10, 95, 73, 10, 95, 70, 71,
- 72, 8, 8, 8, 70, 71, 72, 85, 86, 87,
- 7, 387, 426, 95, 92, 93, 375, 8, 96, 201,
- 95, 95, 95, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 218, 219, 70, 71,
- 72, 70, 71, 72, 70, 71, 72, 18, 9, 95,
- 70, 71, 72, 70, 71, 72, 70, 71, 72, 95,
- 1, 26, 387, 440, 440, 424, 7, 9, 9, 65,
+ 19, 10, 223, 122, 313, 24, 8, 63, 7, 7,
+ 9, 9, 373, 22, 0, 406, 72, 19, 13, 7,
+ 50, 51, 52, 53, 54, 55, 25, 25, 241, 25,
+ 25, 244, 135, 136, 137, 138, 139, 140, 347, 142,
+ 143, 18, 10, 7, 163, 9, 8, 66, 0, 13,
+ 13, 14, 15, 10, 56, 446, 20, 74, 31, 78,
+ 62, 0, 237, 65, 239, 95, 122, 428, 124, 31,
+ 65, 96, 102, 8, 28, 29, 30, 31, 95, 31,
+ 34, 35, 27, 28, 29, 30, 31, 10, 18, 34,
+ 35, 10, 31, 70, 71, 72, 31, 96, 96, 155,
+ 96, 96, 70, 71, 72, 230, 125, 163, 53, 63,
+ 64, 141, 8, 70, 71, 72, 48, 9, 63, 64,
+ 65, 334, 335, 43, 69, 127, 10, 157, 147, 148,
+ 160, 19, 96, 96, 7, 31, 261, 358, 70, 242,
+ 70, 71, 72, 41, 42, 18, 165, 70, 71, 72,
+ 10, 70, 71, 72, 10, 375, 96, 377, 70, 71,
+ 72, 381, 7, 376, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 18, 193, 194, 195, 10, 180, 89,
+ 90, 91, 402, 403, 94, 96, 70, 71, 72, 96,
+ 410, 411, 311, 18, 148, 214, 215, 216, 217, 218,
+ 219, 19, 422, 148, 223, 18, 426, 7, 18, 9,
+ 70, 71, 72, 316, 70, 71, 72, 236, 237, 7,
+ 239, 9, 241, 436, 444, 445, 228, 18, 70, 71,
+ 72, 250, 18, 252, 253, 74, 7, 70, 71, 72,
+ 90, 91, 96, 262, 94, 70, 71, 72, 22, 19,
+ 25, 26, 371, 95, 19, 311, 19, 70, 71, 72,
+ 70, 71, 72, 95, 8, 40, 68, 9, 213, 299,
+ 68, 37, 38, 39, 40, 96, 295, 296, 44, 298,
+ 46, 19, 57, 13, 70, 71, 72, 62, 95, 8,
+ 65, 22, 9, 68, 72, 240, 71, 327, 73, 74,
+ 75, 76, 77, 95, 70, 71, 72, 408, 70, 71,
+ 72, 22, 19, 315, 95, 371, 49, 18, 419, 420,
+ 8, 8, 95, 56, 57, 58, 59, 95, 429, 95,
+ 349, 95, 8, 95, 95, 95, 437, 8, 58, 358,
+ 7, 95, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 56, 57, 58, 59, 89, 90, 91, 378,
+ 95, 94, 8, 95, 84, 367, 18, 95, 49, 89,
+ 90, 91, 95, 18, 94, 56, 57, 58, 59, 83,
+ 84, 95, 9, 385, 19, 89, 90, 91, 378, 438,
+ 94, 400, 46, 423, 75, 76, 385, 78, 79, 80,
+ 81, 82, 83, 84, 3, 4, 5, 6, 89, 90,
+ 91, 170, 421, 94, 70, 71, 72, 192, 69, 438,
+ 69, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 1, -1, -1, 95,
+ -1, -1, 7, -1, 9, -1, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, -1,
+ 25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, -1, -1, -1, 44,
+ 45, 46, 47, 48, -1, 50, 51, 52, 53, 54,
+ 55, 70, 71, 72, -1, 60, 61, 62, 63, 64,
+ 65, 66, 67, -1, 70, 71, 72, 7, 73, -1,
+ -1, -1, -1, 13, -1, -1, 95, -1, -1, 19,
+ 85, 86, 87, -1, 24, -1, -1, 92, 93, 95,
+ 1, 96, 97, -1, 56, 57, 58, 59, 9, -1,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 43, 25, 26, 27, 28, 29, 30,
- 70, 71, 72, 34, 320, -1, 37, 38, 39, 40,
- 86, 86, 58, 44, 45, 46, 47, 48, -1, 50,
- 51, 52, 53, 54, 55, 95, -1, -1, -1, 60,
- 61, 62, 63, 64, 65, -1, 67, -1, 84, -1,
- -1, 413, 73, 89, 90, 91, -1, -1, 94, -1,
- 422, 423, -1, -1, 85, 86, 87, -1, 1, -1,
- 432, 92, 93, -1, -1, 96, 9, 439, 11, 12,
+ 21, 22, 23, -1, 25, 26, 27, 28, 29, 81,
+ 82, 83, 84, 34, -1, -1, -1, 89, 90, 91,
+ -1, -1, 94, 56, 57, 58, 59, 48, 353, 50,
+ 51, 52, 53, 54, 55, 70, 71, 72, -1, 60,
+ 61, 62, 63, 64, 65, -1, 67, 80, 81, 82,
+ 83, 84, 73, -1, -1, -1, 89, 90, 91, -1,
+ 95, 94, -1, -1, 85, 86, 87, -1, 1, -1,
+ -1, 92, 93, -1, -1, 96, 9, -1, 11, 12,
13, 14, 15, 16, 17, -1, 19, 20, 21, 22,
- 23, -1, 25, 26, 27, 28, 29, 359, 70, 71,
- 72, 34, 89, 90, 91, -1, -1, 94, -1, 31,
- 32, 33, -1, 35, 36, 48, -1, 50, 51, 52,
+ 23, -1, 25, 26, 27, 28, 29, 84, 70, 71,
+ 72, 34, 89, 90, 91, -1, -1, 94, -1, 56,
+ 57, 58, 59, -1, -1, 48, -1, 50, 51, 52,
53, 54, 55, 95, 70, 71, 72, 60, 61, 62,
- 63, 64, 65, -1, 67, -1, 70, 71, 72, -1,
- 73, 84, -1, -1, 66, -1, 89, 90, 91, 95,
- -1, 94, 85, 86, 87, 3, 4, 5, 6, 92,
- 93, 95, 95, 96, 7, -1, 9, -1, 11, 12,
- 13, 14, 15, 16, 17, 97, 19, 20, 21, 22,
+ 63, 64, 65, -1, 67, 82, 83, 84, -1, -1,
+ 73, -1, 89, 90, 91, -1, -1, 94, -1, 95,
+ -1, -1, 85, 86, 87, -1, -1, -1, -1, 92,
+ 93, -1, 95, 96, 7, -1, 9, -1, 11, 12,
+ 13, 14, 15, 16, 17, -1, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, -1, 70, 71,
- 72, 34, -1, 37, 38, 39, 40, -1, -1, -1,
- 44, -1, 46, -1, -1, 48, -1, 50, 51, 52,
- 53, 54, 55, 95, 70, 71, 72, 60, 61, 62,
- 63, 64, 65, -1, 67, -1, 70, 71, 72, -1,
- 73, -1, -1, -1, -1, -1, -1, -1, -1, 95,
+ 72, 34, -1, -1, -1, -1, -1, -1, 56, 57,
+ 58, 59, -1, -1, -1, 48, -1, 50, 51, 52,
+ 53, 54, 55, 95, -1, -1, -1, 60, 61, 62,
+ 63, 64, 65, -1, 67, 83, 84, -1, -1, -1,
+ 73, 89, 90, 91, -1, -1, 94, -1, -1, -1,
-1, -1, 85, 86, 87, -1, -1, -1, -1, 92,
- 93, 95, 7, 96, 9, -1, 11, 12, 13, 14,
+ 93, -1, 7, 96, 9, -1, 11, 12, 13, 14,
15, 16, 17, -1, 19, 20, 21, 22, 23, -1,
- 25, 26, 27, 28, 29, -1, 70, 71, 72, 34,
- -1, -1, -1, -1, -1, -1, 70, 71, 72, 56,
- 57, 58, 59, 48, -1, 50, 51, 52, 53, 54,
- 55, 95, -1, -1, -1, 60, 61, 62, 63, 64,
- 65, 95, 67, 80, 81, 82, 83, 84, 73, -1,
- -1, -1, 89, 90, 91, -1, -1, 94, -1, -1,
+ 25, 26, 27, 28, 29, -1, -1, -1, -1, 34,
+ -1, -1, -1, -1, -1, -1, 56, -1, 58, 59,
+ -1, -1, -1, 48, -1, 50, 51, 52, 53, 54,
+ 55, -1, -1, -1, -1, 60, 61, 62, 63, 64,
+ 65, -1, 67, 83, 84, -1, -1, -1, 73, 89,
+ 90, 91, -1, -1, 94, -1, -1, -1, -1, -1,
85, 86, 87, -1, -1, -1, -1, 92, 93, -1,
7, 96, 9, -1, 11, 12, 13, 14, 15, 16,
17, -1, 19, 20, 21, 22, 23, -1, 25, 26,
- 27, 28, 29, -1, 70, 71, 72, 34, -1, -1,
+ 27, 28, 29, -1, -1, -1, -1, 34, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 48, -1, 50, 51, 52, 53, 54, 55, 95,
+ -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
-1, -1, -1, 60, 61, 62, 63, 64, 65, -1,
67, 7, -1, 9, 10, -1, 73, -1, -1, -1,
-1, -1, 18, -1, -1, -1, -1, -1, 85, 86,
- 87, 56, 57, 58, 59, 92, 93, -1, -1, 96,
+ 87, -1, -1, 58, 59, 92, 93, -1, -1, 96,
-1, 37, 38, 39, 40, -1, -1, -1, 44, -1,
- 46, -1, -1, 49, -1, -1, 81, 82, 83, 84,
+ 46, -1, -1, 49, -1, -1, -1, -1, 83, 84,
56, 57, 58, 59, 89, 90, 91, -1, -1, 94,
-1, -1, -1, -1, 70, 71, 72, -1, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
-1, -1, -1, 89, 90, 91, 58, 59, 94, 95,
9, 10, 11, 12, 13, 14, 15, 16, 17, -1,
19, 20, 21, 22, 23, -1, 25, 26, 27, 28,
- 29, 83, 84, -1, -1, 34, -1, 89, 90, 91,
- -1, -1, 94, 56, 57, 58, 59, -1, -1, 48,
+ 29, -1, 84, -1, -1, 34, -1, 89, 90, 91,
+ -1, -1, 94, -1, -1, -1, -1, -1, -1, 48,
-1, 50, 51, 52, 53, 54, 55, -1, -1, -1,
- -1, 60, 61, 62, 63, 64, 65, -1, 67, 82,
- 83, 84, -1, -1, 73, -1, 89, 90, 91, -1,
- -1, 94, -1, -1, -1, -1, 85, 86, 87, -1,
+ -1, 60, 61, 62, 63, 64, 65, -1, 67, -1,
+ -1, -1, -1, -1, 73, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 85, 86, 87, -1,
-1, -1, -1, 92, 93, -1, 9, 96, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, -1, 25, 26, 27, 28, 29, -1, -1, -1,
- -1, 34, -1, -1, -1, -1, -1, -1, 56, 57,
- 58, 59, -1, -1, -1, 48, -1, 50, 51, 52,
+ -1, 34, 37, 38, 39, 40, -1, -1, -1, 44,
+ -1, 46, -1, -1, -1, 48, -1, 50, 51, 52,
53, 54, 55, -1, -1, -1, -1, 60, 61, 62,
- 63, 64, 65, -1, 67, 83, 84, -1, -1, -1,
- 73, 89, 90, 91, -1, -1, 94, -1, -1, -1,
+ 63, 64, 65, -1, 67, 70, 71, 72, -1, -1,
+ 73, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, 87, -1, -1, -1, -1, 92,
93, -1, 9, 96, 11, 12, 13, 14, 15, 16,
17, -1, 19, 20, 21, 22, 23, -1, 25, 26,
27, 28, 29, -1, -1, -1, -1, 34, -1, -1,
- -1, -1, -1, -1, 56, 57, 58, 59, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
-1, -1, -1, 60, 61, 62, 63, 64, 65, -1,
- 67, 83, 84, -1, -1, -1, 73, 89, 90, 91,
- -1, -1, 94, -1, -1, -1, -1, -1, 85, 86,
+ 67, -1, -1, -1, -1, -1, 73, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
87, -1, -1, -1, -1, 92, 93, -1, 95, 96,
9, -1, 11, 12, 13, 14, 15, 16, 17, -1,
19, 20, 21, 22, 23, -1, 25, 26, 27, 28,
29, -1, -1, -1, -1, 34, -1, -1, -1, -1,
- -1, -1, 56, -1, 58, 59, -1, -1, -1, 48,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
-1, 50, 51, 52, 53, 54, 55, -1, -1, -1,
- -1, 60, 61, 62, 63, 64, 65, -1, 67, 83,
- 84, -1, -1, -1, 73, 89, 90, 91, -1, -1,
- 94, -1, -1, -1, -1, -1, 85, 86, 87, -1,
+ -1, 60, 61, 62, 63, 64, 65, -1, 67, -1,
+ -1, -1, -1, -1, 73, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 85, 86, 87, -1,
-1, -1, -1, 92, 93, -1, 95, 96, 9, -1,
11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
21, 22, 23, -1, 25, 26, 27, 28, 29, -1,
- -1, -1, -1, 34, 37, 38, 39, 40, -1, -1,
- -1, 44, -1, 46, -1, -1, -1, 48, -1, 50,
+ -1, -1, -1, 34, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 48, -1, 50,
51, 52, 53, 54, 55, -1, -1, -1, -1, 60,
- 61, 62, 63, 64, 65, -1, 67, 70, 71, 72,
+ 61, 62, 63, 64, 65, -1, 67, -1, -1, -1,
-1, -1, 73, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, 87, -1, -1, -1,
-1, 92, 93, -1, 95, 96, 9, -1, 11, 12,
@@ -856,26 +867,16 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 56, 57, 58, 59, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 70, 71, 72,
-1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, -1, 384, -1, 386, 89, 90, 91, 390,
- -1, 94, 95, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 407, 408, -1, 49,
- -1, -1, -1, -1, 415, 416, 56, 57, 58, 59,
- -1, -1, -1, -1, 425, -1, -1, -1, 429, -1,
- -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 446, 447, -1, 49, 89,
- 90, 91, -1, -1, 94, 56, 57, 58, 59, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 75, 76, -1, 78, 79, 80,
- 81, 82, 83, 84, -1, -1, -1, 49, 89, 90,
- 91, -1, -1, 94, 56, 57, 58, 59, -1, -1,
+ 83, 84, -1, -1, -1, -1, 89, 90, 91, 49,
+ -1, 94, 95, -1, -1, -1, 56, 57, 58, 59,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 76, -1, 78, 79, 80, 81,
- 82, 83, 84, -1, -1, -1, 49, 89, 90, 91,
- -1, -1, 94, 56, 57, 58, 59, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 76, -1, 78, 79,
+ 80, 81, 82, 83, 84, -1, -1, -1, 49, 89,
+ 90, 91, -1, -1, 94, 56, 57, 58, 59, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 78, 79, 80, 81, 82,
- 83, 84, -1, -1, -1, -1, 89, 90, 91, -1,
- -1, 94
+ -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
+ 81, 82, 83, 84, -1, -1, -1, -1, 89, 90,
+ 91, -1, -1, 94
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -883,51 +884,50 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 3, 4, 5, 6, 99, 103, 107, 100, 101,
- 102, 0, 110, 7, 104, 31, 32, 33, 35, 36,
- 66, 97, 111, 112, 118, 119, 127, 128, 129, 130,
- 132, 133, 142, 143, 145, 110, 112, 128, 105, 136,
- 134, 19, 134, 134, 1, 9, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 25,
- 26, 27, 28, 29, 30, 34, 37, 38, 39, 40,
- 44, 45, 46, 47, 48, 50, 51, 52, 53, 54,
- 55, 60, 61, 62, 63, 64, 65, 67, 73, 85,
- 86, 87, 92, 93, 96, 104, 113, 115, 116, 147,
- 148, 149, 152, 153, 154, 155, 156, 157, 158, 165,
- 166, 167, 168, 169, 170, 110, 19, 131, 19, 137,
- 19, 146, 137, 10, 147, 157, 157, 19, 24, 104,
- 166, 171, 171, 171, 171, 171, 171, 171, 96, 9,
- 157, 135, 135, 25, 96, 162, 162, 162, 162, 65,
- 162, 166, 162, 162, 104, 157, 96, 96, 96, 104,
- 157, 19, 148, 160, 166, 171, 171, 19, 104, 157,
- 166, 18, 147, 19, 157, 96, 159, 166, 167, 168,
- 157, 148, 157, 157, 157, 157, 157, 95, 147, 43,
- 117, 18, 37, 38, 39, 40, 44, 46, 70, 71,
- 72, 74, 7, 9, 162, 49, 56, 57, 58, 59,
- 75, 76, 78, 79, 80, 81, 82, 83, 84, 89,
- 90, 91, 94, 162, 7, 9, 7, 9, 7, 8,
- 104, 22, 138, 7, 18, 19, 138, 10, 160, 96,
- 148, 147, 104, 138, 163, 105, 105, 105, 105, 105,
- 105, 162, 105, 105, 95, 95, 147, 147, 161, 171,
- 148, 162, 162, 8, 18, 160, 95, 147, 68, 140,
- 9, 95, 104, 147, 123, 147, 147, 147, 147, 147,
- 147, 147, 147, 157, 147, 147, 95, 147, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 7, 9, 20, 96, 151, 166, 95,
- 147, 147, 147, 147, 147, 147, 68, 139, 105, 19,
- 139, 161, 95, 10, 150, 139, 96, 122, 147, 123,
- 124, 147, 123, 126, 164, 166, 113, 121, 124, 125,
- 147, 105, 106, 124, 95, 95, 147, 95, 147, 95,
- 147, 8, 95, 22, 147, 9, 18, 10, 95, 77,
- 147, 147, 95, 147, 162, 95, 18, 10, 18, 10,
- 18, 22, 18, 104, 141, 144, 160, 141, 95, 160,
- 104, 95, 95, 95, 95, 162, 95, 18, 124, 124,
- 95, 95, 95, 95, 10, 147, 8, 157, 18, 10,
- 95, 161, 8, 8, 8, 110, 18, 120, 120, 7,
- 108, 108, 124, 108, 122, 95, 95, 108, 10, 8,
- 95, 8, 108, 108, 109, 41, 42, 114, 114, 95,
- 117, 18, 108, 108, 117, 117, 110, 108, 162, 108,
- 120, 117, 8, 124, 117, 125, 95, 95, 108, 108,
- 114
+ 102, 0, 110, 7, 104, 31, 111, 117, 118, 126,
+ 110, 111, 105, 1, 9, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 25, 26,
+ 27, 28, 29, 30, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 44, 45, 46, 47, 48, 50, 51,
+ 52, 53, 54, 55, 60, 61, 62, 63, 64, 65,
+ 66, 67, 73, 85, 86, 87, 92, 93, 96, 97,
+ 104, 112, 114, 115, 127, 128, 129, 131, 132, 141,
+ 142, 144, 146, 147, 148, 151, 152, 153, 154, 155,
+ 156, 157, 164, 165, 166, 167, 168, 169, 110, 10,
+ 146, 156, 156, 19, 24, 104, 165, 170, 170, 170,
+ 170, 170, 170, 170, 96, 9, 156, 134, 135, 133,
+ 134, 19, 133, 25, 96, 161, 161, 161, 161, 65,
+ 161, 165, 161, 161, 104, 156, 96, 96, 96, 104,
+ 156, 19, 147, 159, 165, 170, 170, 19, 104, 156,
+ 165, 18, 146, 19, 156, 96, 158, 165, 166, 167,
+ 133, 156, 147, 156, 156, 156, 156, 156, 95, 146,
+ 43, 116, 18, 37, 38, 39, 40, 44, 46, 70,
+ 71, 72, 74, 7, 9, 161, 49, 56, 57, 58,
+ 59, 75, 76, 78, 79, 80, 81, 82, 83, 84,
+ 89, 90, 91, 94, 161, 7, 9, 7, 9, 7,
+ 8, 10, 159, 96, 147, 146, 104, 19, 130, 19,
+ 136, 22, 137, 19, 145, 162, 105, 105, 105, 105,
+ 105, 105, 161, 105, 105, 95, 95, 146, 146, 160,
+ 170, 147, 161, 161, 8, 18, 159, 95, 146, 68,
+ 139, 136, 9, 95, 104, 146, 122, 146, 146, 146,
+ 146, 146, 146, 146, 146, 156, 146, 146, 95, 146,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 7, 9, 20, 96, 150,
+ 165, 95, 146, 146, 146, 146, 146, 146, 160, 95,
+ 10, 149, 104, 137, 68, 138, 7, 18, 19, 96,
+ 121, 146, 122, 123, 146, 122, 125, 163, 165, 112,
+ 120, 123, 124, 146, 105, 106, 123, 95, 95, 146,
+ 95, 146, 95, 146, 8, 95, 22, 137, 146, 9,
+ 18, 10, 95, 77, 146, 146, 95, 146, 161, 95,
+ 18, 10, 18, 10, 18, 95, 159, 138, 22, 104,
+ 105, 19, 95, 95, 95, 95, 161, 95, 18, 123,
+ 123, 95, 95, 95, 95, 138, 10, 146, 8, 156,
+ 18, 10, 95, 160, 8, 8, 8, 18, 104, 140,
+ 143, 159, 119, 119, 7, 108, 108, 123, 108, 121,
+ 95, 95, 108, 140, 10, 8, 95, 110, 18, 108,
+ 108, 109, 41, 42, 113, 113, 95, 116, 18, 108,
+ 108, 8, 116, 116, 110, 108, 161, 108, 119, 116,
+ 8, 123, 116, 124, 95, 95, 108, 108, 113
};
typedef enum {
@@ -953,13 +953,12 @@ static const toketypes yy_type_tab[] =
toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_ival, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_p_tkval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
+ toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_p_tkval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
+ toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_i_tkval,
- toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval
+ toketype_opval, toketype_opval, toketype_opval, toketype_i_tkval, toketype_ival, toketype_opval,
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
};
diff --git a/perly.y b/perly.y
index a70122d101..33dbb1f885 100644
--- a/perly.y
+++ b/perly.y
@@ -95,7 +95,7 @@
%type <ival> mydefsv mintro
%type <opval> fullstmt decl format subrout mysubrout package use peg
-%type <opval> block package_block mblock lineseq line loop cond else
+%type <opval> block package_block mblock stmtseq loop cond else
%type <opval> expr term subscripted scalar ary hsh arylen star amper sideff
%type <opval> argexpr nexpr texpr iexpr mexpr mnexpr miexpr
%type <opval> listexpr listexprcom indirob listop method
@@ -149,6 +149,7 @@ grammar : GRAMPROG prog
}
block
{
+ PL_pad_reset_pending = TRUE;
PL_eval_root = $3;
$$ = 0;
yyunlex();
@@ -160,6 +161,7 @@ grammar : GRAMPROG prog
}
fullstmt
{
+ PL_pad_reset_pending = TRUE;
PL_eval_root = $3;
$$ = 0;
yyunlex();
@@ -169,7 +171,7 @@ grammar : GRAMPROG prog
{
parser->expect = XSTATE;
}
- lineseq
+ stmtseq
{
PL_eval_root = $3;
$$ = 0;
@@ -178,12 +180,12 @@ grammar : GRAMPROG prog
/* The whole program */
prog : progstart
- /*CONTINUED*/ lineseq
+ /*CONTINUED*/ stmtseq
{ $$ = $1; newPROG(block_end($1,$2)); }
;
/* An ordinary block */
-block : '{' remember lineseq '}'
+block : '{' remember stmtseq '}'
{ if (PL_parser->copline > (line_t)IVAL($1))
PL_parser->copline = (line_t)IVAL($1);
$$ = block_end($2, $3);
@@ -207,7 +209,7 @@ progstart:
;
-mblock : '{' mremember lineseq '}'
+mblock : '{' mremember stmtseq '}'
{ if (PL_parser->copline > (line_t)IVAL($1))
PL_parser->copline = (line_t)IVAL($1);
$$ = block_end($2, $3);
@@ -221,13 +223,9 @@ mremember: /* NULL */ /* start a partial lexical scope */
;
/* A collection of "lines" in the program */
-lineseq : /* NULL */
+stmtseq : /* NULL */
{ $$ = (OP*)NULL; }
- | lineseq decl
- {
- $$ = IF_MAD(op_append_list(OP_LINESEQ, $1, $2), $1);
- }
- | lineseq line
+ | stmtseq fullstmt
{ $$ = op_append_list(OP_LINESEQ, $1, $2);
PL_pad_reset_pending = TRUE;
if ($1 && $2)
@@ -235,18 +233,8 @@ lineseq : /* NULL */
}
;
-/* A statement, or "line", in the program */
-fullstmt: decl
- { $$ = $1; }
- | line
- {
- PL_pad_reset_pending = TRUE;
- $$ = $1;
- }
- ;
-
-/* A non-declaration statement */
-line : label cond
+/* A statement in the program */
+fullstmt: label cond
{ $$ = newSTATEOP(0, PVAL($1), $2);
TOKEN_GETMAD($1,((LISTOP*)$$)->op_first,'L'); }
| loop /* loops add their own labels */
@@ -287,13 +275,21 @@ line : label cond
}
})
}
- | package_block
- { $$ = newSTATEOP(0, NULL,
+ | label package_block
+ { $$ = newSTATEOP(0, PVAL($1),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- NOLINE, (OP*)NULL, $1,
+ NOLINE, (OP*)NULL, $2,
(OP*)NULL, 0)); }
| label PLUGSTMT
{ $$ = newSTATEOP(0, PVAL($1), $2); }
+ | label decl
+ {
+ if (PVAL($1)) {
+ $$ = newSTATEOP(0, PVAL($1), $2);
+ } else {
+ $$ = IF_MAD($2 ? $2 : newOP(OP_NULL, 0), $2);
+ }
+ }
;
/* An expression which may have a side-effect */
@@ -438,7 +434,7 @@ loop : label WHILE lpar_or_qw remember texpr ')' mintro mblock cont
}
| label FOR lpar_or_qw remember mnexpr ';' texpr ';' mintro mnexpr ')'
mblock
- /* basically fake up an initialize-while lineseq */
+ /* basically fake up an initialize-while stmtseq */
{ OP *forop;
PL_parser->copline = (line_t)IVAL($2);
forop = newSTATEOP(0, PVAL($1),
@@ -722,7 +718,7 @@ package_block: PACKAGE WORD WORD '{' remember
$2->op_latefree = save_2_latefree;
}
}
- lineseq '}'
+ stmtseq '}'
{ if (PL_parser->copline > (line_t)IVAL($4))
PL_parser->copline = (line_t)IVAL($4);
$$ = block_end($5, $7);
diff --git a/t/comp/decl.t b/t/comp/decl.t
index 5056850f49..fb9486db98 100644
--- a/t/comp/decl.t
+++ b/t/comp/decl.t
@@ -6,10 +6,10 @@ sub one {
print "ok 1\n";
}
format one =
-ok 5
+ok 6
.
-print "1..7\n";
+print "1..9\n";
one();
two();
@@ -30,18 +30,32 @@ if ($x eq $x) {
}
four();
+five();
$~ = 'one';
write;
$~ = 'two';
-$foo = "ok 6";
+$foo = "ok 7";
write;
$~ = 'three';
write;
format three =
-ok 7
+ok 8
.
+if ($x eq $x) {
+ goto quux;
+}
+
+print "not ok 9\n";
+exit 1;
+
sub four {
print "ok 4\n";
}
+
+quux:
+sub five {
+ print "ok 5\n";
+}
+print "ok 9\n";
diff --git a/t/op/attrs.t b/t/op/attrs.t
index 7c98529617..3013893dc5 100644
--- a/t/op/attrs.t
+++ b/t/op/attrs.t
@@ -34,7 +34,7 @@ like $@, qr/^Invalid CODE attributes: ["']?plugh\(0,0\)["']? /;
eval 'sub e3 ($) : plugh(0,0 xyzzy ;';
like $@, qr/Unterminated attribute parameter in attribute list at/;
-eval 'sub e4 ($) : plugh + xyzzy ;';
+eval 'sub e4 ($) : plugh + XYZZY ;';
like $@, qr/Invalid separator character '[+]' in attribute list at/;
eval_ok 'my main $x : = 0;';
diff --git a/t/op/goto.t b/t/op/goto.t
index a98e35496d..12bade9b13 100644
--- a/t/op/goto.t
+++ b/t/op/goto.t
@@ -10,7 +10,7 @@ BEGIN {
use warnings;
use strict;
-plan tests => 68;
+plan tests => 74;
our $TODO;
my $deprecated = 0;
@@ -489,3 +489,77 @@ die "You can't get here";
wham_eth: 1 if 0;
ouch_eth: pass('labels persist even if their statement is optimised away');
+
+$foo = "(0)";
+if($foo eq $foo) {
+ goto bungo;
+}
+$foo .= "(9)";
+bungo:
+format CHOLET =
+wellington
+.
+$foo .= "(1)";
+my $cholet;
+open(CHOLET, ">", \$cholet);
+write CHOLET;
+close CHOLET;
+$foo .= "(".$cholet.")";
+is($foo, "(0)(1)(wellington\n)", "label before format decl");
+
+$foo = "(A)";
+if($foo eq $foo) {
+ goto orinoco;
+}
+$foo .= "(X)";
+orinoco:
+sub alderney { return "tobermory"; }
+$foo .= "(B)";
+$foo .= "(".alderney().")";
+is($foo, "(A)(B)(tobermory)", "label before sub decl");
+
+$foo = "[0:".__PACKAGE__."]";
+if($foo eq $foo) {
+ goto bulgaria;
+}
+$foo .= "[9]";
+bulgaria:
+package Tomsk;
+$foo .= "[1:".__PACKAGE__."]";
+$foo .= "[2:".__PACKAGE__."]";
+package main;
+$foo .= "[3:".__PACKAGE__."]";
+is($foo, "[0:main][1:Tomsk][2:Tomsk][3:main]", "label before package decl");
+
+$foo = "[A:".__PACKAGE__."]";
+if($foo eq $foo) {
+ goto adelaide;
+}
+$foo .= "[Z]";
+adelaide:
+package Cairngorm {
+ $foo .= "[B:".__PACKAGE__."]";
+}
+$foo .= "[C:".__PACKAGE__."]";
+is($foo, "[A:main][B:Cairngorm][C:main]", "label before package block");
+
+our $obidos;
+$foo = "{0}";
+if($foo eq $foo) {
+ goto shansi;
+}
+$foo .= "{9}";
+shansi:
+BEGIN { $obidos = "x"; }
+$foo .= "{1$obidos}";
+is($foo, "{0}{1x}", "label before BEGIN block");
+
+$foo = "{A:".(1.5+1.5)."}";
+if($foo eq $foo) {
+ goto stepney;
+}
+$foo .= "{Z}";
+stepney:
+use integer;
+$foo .= "{B:".(1.5+1.5)."}";
+is($foo, "{A:3}{B:2}", "label before use decl");