summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-08-01 14:16:21 -0700
committerFather Chrysostomos <sprout@cpan.org>2012-08-01 20:38:18 -0700
commitb5a648148c71e82a615a5ed312204978f88e1def (patch)
tree74c539a5878b9b141394a6de59cfe1fe006b4218
parenta444d2d4f3777a58d916c57753c99c6bed6a1e5d (diff)
downloadperl-b5a648148c71e82a615a5ed312204978f88e1def.tar.gz
[perl #114020, #90018, #53186] Make given alias $_
This commit makes given() alias $_ to the argument, using a slot in the lexical pad if a lexical $_ is in scope, or $'_ otherwise. This makes it work very similarly to foreach, and eliminates the problem of List::Util functions not working inside given().
-rw-r--r--perly.act770
-rw-r--r--perly.h2
-rw-r--r--perly.tab1411
-rw-r--r--perly.y15
-rw-r--r--pp_ctl.c11
-rw-r--r--t/op/switch.t7
6 files changed, 1111 insertions, 1105 deletions
diff --git a/perly.act b/perly.act
index f9386f5b4f..1f21ff5dc4 100644
--- a/perly.act
+++ b/perly.act
@@ -120,11 +120,6 @@ case 2:
case 16:
#line 219 "perly.y"
- { (yyval.ival) = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); ;}
- break;
-
- case 17:
-#line 223 "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));
@@ -133,18 +128,18 @@ case 2:
;}
break;
- case 18:
-#line 232 "perly.y"
+ case 17:
+#line 228 "perly.y"
{ (yyval.ival) = block_start(FALSE); ;}
break;
- case 19:
-#line 237 "perly.y"
+ case 18:
+#line 233 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 20:
-#line 239 "perly.y"
+ case 19:
+#line 235 "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))
@@ -152,8 +147,8 @@ case 2:
;}
break;
- case 21:
-#line 248 "perly.y"
+ case 20:
+#line 244 "perly.y"
{
if((ps[(1) - (1)].val.opval)) {
(yyval.opval) = newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval));
@@ -163,13 +158,13 @@ case 2:
;}
break;
- case 22:
-#line 256 "perly.y"
+ case 21:
+#line 252 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 23:
-#line 260 "perly.y"
+ case 22:
+#line 256 "perly.y"
{
(yyval.opval) = newSTATEOP(SvUTF8(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv),
savepv(SvPVX(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv)), (ps[(2) - (2)].val.opval));
@@ -178,8 +173,8 @@ case 2:
;}
break;
- case 24:
-#line 267 "perly.y"
+ case 23:
+#line 263 "perly.y"
{
(yyval.opval) = newSTATEOP(SvUTF8(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv),
savepv(SvPVX(((SVOP*)(ps[(1) - (2)].val.p_tkval))->op_sv)), (ps[(2) - (2)].val.opval));
@@ -187,21 +182,21 @@ case 2:
;}
break;
- case 25:
-#line 276 "perly.y"
+ case 24:
+#line 272 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 26:
-#line 278 "perly.y"
+ case 25:
+#line 274 "perly.y"
{
(yyval.opval) = newOP(OP_NULL,0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
;}
break;
- case 27:
-#line 283 "perly.y"
+ case 26:
+#line 279 "perly.y"
{
CV *fmtcv = PL_compcv;
SvREFCNT_inc_simple_void(PL_compcv);
@@ -221,8 +216,8 @@ case 2:
;}
break;
- case 28:
-#line 301 "perly.y"
+ case 27:
+#line 297 "perly.y"
{
SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
@@ -245,8 +240,8 @@ case 2:
;}
break;
- case 29:
-#line 322 "perly.y"
+ case 28:
+#line 318 "perly.y"
{
/* Unimplemented "my sub foo { }" */
SvREFCNT_inc_simple_void(PL_compcv);
@@ -260,8 +255,8 @@ case 2:
;}
break;
- case 30:
-#line 334 "perly.y"
+ case 29:
+#line 330 "perly.y"
{
#ifdef MAD
(yyval.opval) = package((ps[(3) - (4)].val.opval));
@@ -278,13 +273,13 @@ case 2:
;}
break;
- case 31:
-#line 349 "perly.y"
+ case 30:
+#line 345 "perly.y"
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
break;
- case 32:
-#line 351 "perly.y"
+ case 31:
+#line 347 "perly.y"
{
SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
@@ -301,8 +296,8 @@ case 2:
;}
break;
- case 33:
-#line 366 "perly.y"
+ case 32:
+#line 362 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (7)].val.ival),
newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
@@ -313,8 +308,8 @@ case 2:
;}
break;
- case 34:
-#line 375 "perly.y"
+ case 33:
+#line 371 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (7)].val.ival),
newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
@@ -325,27 +320,32 @@ case 2:
;}
break;
- case 35:
-#line 384 "perly.y"
+ case 34:
+#line 380 "perly.y"
{
- (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
- newGIVENOP((ps[(5) - (7)].val.opval), op_scope((ps[(7) - (7)].val.opval)), (PADOFFSET)(ps[(4) - (7)].val.ival)));
- PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
+ const PADOFFSET offset = pad_findmy_pvs("$_", 0);
+ (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
+ newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)),
+ offset == NOT_IN_PAD
+ || PAD_COMPNAME_FLAGS_isOUR(offset)
+ ? 0
+ : offset));
+ PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
;}
break;
- case 36:
-#line 390 "perly.y"
+ case 35:
+#line 391 "perly.y"
{ (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;}
break;
- case 37:
-#line 392 "perly.y"
+ case 36:
+#line 393 "perly.y"
{ (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
break;
- case 38:
-#line 394 "perly.y"
+ case 37:
+#line 395 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (8)].val.ival),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -357,8 +357,8 @@ case 2:
;}
break;
- case 39:
-#line 404 "perly.y"
+ case 38:
+#line 405 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (8)].val.ival),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -370,8 +370,8 @@ case 2:
;}
break;
- case 40:
-#line 415 "perly.y"
+ case 39:
+#line 416 "perly.y"
{
OP *initop = IF_MAD((ps[(4) - (11)].val.opval) ? (ps[(4) - (11)].val.opval) : newOP(OP_NULL, 0), (ps[(4) - (11)].val.opval));
OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -393,8 +393,8 @@ case 2:
;}
break;
- case 41:
-#line 435 "perly.y"
+ case 40:
+#line 436 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
TOKEN_GETMAD((ps[(1) - (9)].val.i_tkval),(yyval.opval),'W');
@@ -405,8 +405,8 @@ case 2:
;}
break;
- case 42:
-#line 444 "perly.y"
+ case 41:
+#line 445 "perly.y"
{
(yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
@@ -417,8 +417,8 @@ case 2:
;}
break;
- case 43:
-#line 453 "perly.y"
+ case 42:
+#line 454 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (7)].val.ival),
newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
@@ -429,8 +429,8 @@ case 2:
;}
break;
- case 44:
-#line 462 "perly.y"
+ case 43:
+#line 463 "perly.y"
{
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -438,8 +438,8 @@ case 2:
;}
break;
- case 45:
-#line 468 "perly.y"
+ case 44:
+#line 469 "perly.y"
{
package((ps[(3) - (5)].val.opval));
if ((ps[(2) - (5)].val.opval)) {
@@ -448,8 +448,8 @@ case 2:
;}
break;
- case 46:
-#line 475 "perly.y"
+ case 45:
+#line 476 "perly.y"
{
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -461,8 +461,8 @@ case 2:
;}
break;
- case 47:
-#line 485 "perly.y"
+ case 46:
+#line 486 "perly.y"
{
PL_parser->expect = XSTATE;
(yyval.opval) = (ps[(1) - (2)].val.opval);
@@ -470,8 +470,8 @@ case 2:
;}
break;
- case 48:
-#line 491 "perly.y"
+ case 47:
+#line 492 "perly.y"
{
PL_parser->expect = XSTATE;
(yyval.opval) = IF_MAD(newOP(OP_NULL, 0), (OP*)NULL);
@@ -480,64 +480,64 @@ case 2:
;}
break;
- case 49:
-#line 501 "perly.y"
+ case 48:
+#line 502 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 50:
-#line 503 "perly.y"
+ case 49:
+#line 504 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 51:
-#line 505 "perly.y"
+ case 50:
+#line 506 "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 52:
-#line 509 "perly.y"
+ case 51:
+#line 510 "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 53:
-#line 513 "perly.y"
+ case 52:
+#line 514 "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 54:
-#line 517 "perly.y"
+ case 53:
+#line 518 "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 55:
-#line 521 "perly.y"
+ case 54:
+#line 522 "perly.y"
{ (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
PL_parser->copline = (line_t)IVAL((ps[(2) - (3)].val.i_tkval));
;}
break;
- case 56:
-#line 526 "perly.y"
+ case 55:
+#line 527 "perly.y"
{ (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
break;
- case 57:
-#line 531 "perly.y"
+ case 56:
+#line 532 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 58:
-#line 533 "perly.y"
+ case 57:
+#line 534 "perly.y"
{
((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
@@ -545,8 +545,8 @@ case 2:
;}
break;
- case 59:
-#line 539 "perly.y"
+ case 58:
+#line 540 "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)),
@@ -558,88 +558,88 @@ case 2:
;}
break;
- case 60:
-#line 552 "perly.y"
+ case 59:
+#line 553 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 61:
-#line 554 "perly.y"
+ case 60:
+#line 555 "perly.y"
{
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 62:
-#line 562 "perly.y"
+ case 61:
+#line 563 "perly.y"
{ (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
intro_my(); ;}
break;
- case 63:
-#line 568 "perly.y"
+ case 62:
+#line 569 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 65:
-#line 574 "perly.y"
+ case 64:
+#line 575 "perly.y"
{ YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
(yyval.opval) = tmplval.opval; ;}
break;
- case 67:
-#line 582 "perly.y"
+ case 66:
+#line 583 "perly.y"
{ (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 68:
-#line 587 "perly.y"
+ case 67:
+#line 588 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
- case 69:
-#line 591 "perly.y"
+ case 68:
+#line 592 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
- case 70:
-#line 595 "perly.y"
+ case 69:
+#line 596 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
- case 71:
-#line 598 "perly.y"
+ case 70:
+#line 599 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 72:
-#line 599 "perly.y"
+ case 71:
+#line 600 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 73:
-#line 603 "perly.y"
+ case 72:
+#line 604 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, 0);
SAVEFREESV(PL_compcv); ;}
break;
- case 74:
-#line 609 "perly.y"
+ case 73:
+#line 610 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, CVf_ANON);
SAVEFREESV(PL_compcv); ;}
break;
- case 75:
-#line 614 "perly.y"
+ case 74:
+#line 615 "perly.y"
{ (yyval.ival) = start_subparse(TRUE, 0);
SAVEFREESV(PL_compcv); ;}
break;
- case 76:
-#line 619 "perly.y"
+ case 75:
+#line 620 "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")
@@ -648,25 +648,25 @@ case 2:
(yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 77:
-#line 629 "perly.y"
+ case 76:
+#line 630 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 79:
-#line 635 "perly.y"
+ case 78:
+#line 636 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 80:
-#line 637 "perly.y"
+ case 79:
+#line 638 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
;}
break;
- case 81:
-#line 641 "perly.y"
+ case 80:
+#line 642 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
(OP*)NULL
@@ -675,15 +675,15 @@ case 2:
;}
break;
- case 82:
-#line 651 "perly.y"
+ case 81:
+#line 652 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
;}
break;
- case 83:
-#line 655 "perly.y"
+ case 82:
+#line 656 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL, 0),
(OP*)NULL
@@ -692,13 +692,13 @@ case 2:
;}
break;
- case 84:
-#line 664 "perly.y"
+ case 83:
+#line 665 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 85:
-#line 665 "perly.y"
+ case 84:
+#line 666 "perly.y"
{ (yyval.opval) = IF_MAD(
newOP(OP_NULL,0),
(OP*)NULL
@@ -708,29 +708,29 @@ case 2:
;}
break;
- case 86:
-#line 676 "perly.y"
+ case 85:
+#line 677 "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 87:
-#line 680 "perly.y"
+ case 86:
+#line 681 "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 88:
-#line 684 "perly.y"
+ case 87:
+#line 685 "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 90:
-#line 692 "perly.y"
+ case 89:
+#line 693 "perly.y"
{
#ifdef MAD
OP* op = newNULLLIST();
@@ -742,8 +742,8 @@ case 2:
;}
break;
- case 91:
-#line 702 "perly.y"
+ case 90:
+#line 703 "perly.y"
{
OP* term = (ps[(3) - (3)].val.opval);
DO_MAD(
@@ -754,16 +754,16 @@ case 2:
;}
break;
- case 93:
-#line 715 "perly.y"
+ case 92:
+#line 716 "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 94:
-#line 720 "perly.y"
+ case 93:
+#line 721 "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');
@@ -772,8 +772,8 @@ case 2:
;}
break;
- case 95:
-#line 727 "perly.y"
+ case 94:
+#line 728 "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)),
@@ -784,8 +784,8 @@ case 2:
;}
break;
- case 96:
-#line 736 "perly.y"
+ case 95:
+#line 737 "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))));
@@ -793,8 +793,8 @@ case 2:
;}
break;
- case 97:
-#line 742 "perly.y"
+ case 96:
+#line 743 "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)),
@@ -802,8 +802,8 @@ case 2:
;}
break;
- case 98:
-#line 748 "perly.y"
+ case 97:
+#line 749 "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)),
@@ -813,15 +813,15 @@ case 2:
;}
break;
- case 99:
-#line 756 "perly.y"
+ case 98:
+#line 757 "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 100:
-#line 760 "perly.y"
+ case 99:
+#line 761 "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),'(');
@@ -829,22 +829,22 @@ case 2:
;}
break;
- case 101:
-#line 766 "perly.y"
+ case 100:
+#line 767 "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 102:
-#line 769 "perly.y"
+ case 101:
+#line 770 "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 105:
-#line 784 "perly.y"
+ case 104:
+#line 785 "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),'{');
@@ -853,16 +853,16 @@ case 2:
;}
break;
- case 106:
-#line 791 "perly.y"
+ case 105:
+#line 792 "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 107:
-#line 796 "perly.y"
+ case 106:
+#line 797 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
scalar((ps[(4) - (5)].val.opval)));
@@ -872,8 +872,8 @@ case 2:
;}
break;
- case 108:
-#line 804 "perly.y"
+ case 107:
+#line 805 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
scalar((ps[(3) - (4)].val.opval)));
@@ -882,8 +882,8 @@ case 2:
;}
break;
- case 109:
-#line 811 "perly.y"
+ case 108:
+#line 812 "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),'{');
@@ -892,8 +892,8 @@ case 2:
;}
break;
- case 110:
-#line 818 "perly.y"
+ case 109:
+#line 819 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
jmaybe((ps[(4) - (6)].val.opval)));
@@ -905,8 +905,8 @@ case 2:
;}
break;
- case 111:
-#line 828 "perly.y"
+ case 110:
+#line 829 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
jmaybe((ps[(3) - (5)].val.opval)));
@@ -917,8 +917,8 @@ case 2:
;}
break;
- case 112:
-#line 837 "perly.y"
+ case 111:
+#line 838 "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');
@@ -927,8 +927,8 @@ case 2:
;}
break;
- case 113:
-#line 844 "perly.y"
+ case 112:
+#line 845 "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)))));
@@ -938,8 +938,8 @@ case 2:
;}
break;
- case 114:
-#line 853 "perly.y"
+ case 113:
+#line 854 "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)))));
@@ -948,8 +948,8 @@ case 2:
;}
break;
- case 115:
-#line 860 "perly.y"
+ case 114:
+#line 861 "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),'(');
@@ -957,8 +957,8 @@ case 2:
;}
break;
- case 116:
-#line 866 "perly.y"
+ case 115:
+#line 867 "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),')');
@@ -967,16 +967,16 @@ case 2:
;}
break;
- case 117:
-#line 873 "perly.y"
+ case 116:
+#line 874 "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 118:
-#line 878 "perly.y"
+ case 117:
+#line 879 "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),')');
@@ -985,22 +985,22 @@ case 2:
;}
break;
- case 119:
-#line 888 "perly.y"
+ case 118:
+#line 889 "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 120:
-#line 892 "perly.y"
+ case 119:
+#line 893 "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 121:
-#line 896 "perly.y"
+ case 120:
+#line 897 "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)));
@@ -1008,50 +1008,50 @@ case 2:
;}
break;
+ case 121:
+#line 903 "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 122:
-#line 902 "perly.y"
+#line 907 "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 123:
-#line 906 "perly.y"
+#line 911 "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 124:
-#line 910 "perly.y"
+#line 915 "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 125:
-#line 914 "perly.y"
+#line 919 "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 126:
-#line 918 "perly.y"
+#line 923 "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 127:
-#line 922 "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 128:
-#line 926 "perly.y"
+#line 927 "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({
@@ -1065,29 +1065,29 @@ case 2:
;}
break;
- case 129:
-#line 938 "perly.y"
+ case 128:
+#line 939 "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 130:
-#line 942 "perly.y"
+ case 129:
+#line 943 "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 131:
-#line 946 "perly.y"
+ case 130:
+#line 947 "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 132:
-#line 950 "perly.y"
+ case 131:
+#line 951 "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
@@ -1096,15 +1096,15 @@ case 2:
;}
break;
- case 133:
-#line 960 "perly.y"
+ case 132:
+#line 961 "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 134:
-#line 964 "perly.y"
+ case 133:
+#line 965 "perly.y"
{ (yyval.opval) = IF_MAD(
newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
(ps[(2) - (2)].val.opval)
@@ -1113,70 +1113,70 @@ case 2:
;}
break;
- case 135:
-#line 971 "perly.y"
+ case 134:
+#line 972 "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 136:
-#line 975 "perly.y"
+ case 135:
+#line 976 "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 137:
-#line 979 "perly.y"
+ case 136:
+#line 980 "perly.y"
{ (yyval.opval) = newUNOP(OP_POSTINC, 0,
op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 138:
-#line 984 "perly.y"
+ case 137:
+#line 985 "perly.y"
{ (yyval.opval) = newUNOP(OP_POSTDEC, 0,
op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 139:
-#line 989 "perly.y"
+ case 138:
+#line 990 "perly.y"
{ (yyval.opval) = newUNOP(OP_PREINC, 0,
op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 140:
-#line 994 "perly.y"
+ case 139:
+#line 995 "perly.y"
{ (yyval.opval) = newUNOP(OP_PREDEC, 0,
op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 141:
-#line 1003 "perly.y"
+ case 140:
+#line 1004 "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 142:
-#line 1008 "perly.y"
+ case 141:
+#line 1009 "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 143:
-#line 1013 "perly.y"
+ case 142:
+#line 1014 "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),';');
@@ -1184,8 +1184,8 @@ case 2:
;}
break;
- case 144:
-#line 1019 "perly.y"
+ case 143:
+#line 1020 "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),';');
@@ -1193,8 +1193,8 @@ case 2:
;}
break;
- case 145:
-#line 1025 "perly.y"
+ case 144:
+#line 1026 "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');
@@ -1203,22 +1203,22 @@ case 2:
;}
break;
- case 146:
-#line 1036 "perly.y"
+ case 145:
+#line 1037 "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 147:
-#line 1040 "perly.y"
+ case 146:
+#line 1041 "perly.y"
{ (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
;}
break;
- case 148:
-#line 1044 "perly.y"
+ case 147:
+#line 1045 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
op_prepend_elem(OP_LIST,
@@ -1232,8 +1232,8 @@ case 2:
;}
break;
- case 149:
-#line 1056 "perly.y"
+ case 148:
+#line 1057 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
op_append_elem(OP_LIST,
@@ -1248,8 +1248,8 @@ case 2:
;}
break;
- case 150:
-#line 1069 "perly.y"
+ case 149:
+#line 1070 "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();
@@ -1259,8 +1259,8 @@ case 2:
;}
break;
- case 151:
-#line 1077 "perly.y"
+ case 150:
+#line 1078 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
op_prepend_elem(OP_LIST,
(ps[(4) - (5)].val.opval),
@@ -1271,86 +1271,86 @@ case 2:
;}
break;
- case 156:
-#line 1093 "perly.y"
+ case 155:
+#line 1094 "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 157:
-#line 1098 "perly.y"
+ case 156:
+#line 1099 "perly.y"
{ (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
- case 158:
-#line 1102 "perly.y"
+ case 157:
+#line 1103 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 159:
-#line 1104 "perly.y"
+ case 158:
+#line 1105 "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 160:
-#line 1108 "perly.y"
+ case 159:
+#line 1109 "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 161:
-#line 1113 "perly.y"
+ case 160:
+#line 1114 "perly.y"
{ (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
break;
- case 162:
-#line 1115 "perly.y"
+ case 161:
+#line 1116 "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 162:
+#line 1121 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
case 163:
-#line 1120 "perly.y"
+#line 1123 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 164:
-#line 1122 "perly.y"
+#line 1125 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 165:
-#line 1124 "perly.y"
+#line 1127 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 166:
-#line 1126 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
- break;
-
- case 167:
-#line 1128 "perly.y"
+#line 1129 "perly.y"
{ (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
break;
- case 168:
-#line 1130 "perly.y"
+ case 167:
+#line 1131 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 169:
-#line 1132 "perly.y"
+ case 168:
+#line 1133 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
@@ -1361,8 +1361,8 @@ case 2:
;}
break;
- case 170:
-#line 1141 "perly.y"
+ case 169:
+#line 1142 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -1375,26 +1375,26 @@ case 2:
;}
break;
- case 171:
-#line 1152 "perly.y"
+ case 170:
+#line 1153 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 172:
-#line 1154 "perly.y"
+ case 171:
+#line 1155 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 173:
-#line 1156 "perly.y"
+ case 172:
+#line 1157 "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 174:
-#line 1161 "perly.y"
+ case 173:
+#line 1162 "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))));
@@ -1409,91 +1409,91 @@ case 2:
;}
break;
- case 175:
-#line 1174 "perly.y"
+ case 174:
+#line 1175 "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 176:
-#line 1179 "perly.y"
+ case 175:
+#line 1180 "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 177:
-#line 1184 "perly.y"
+ case 176:
+#line 1185 "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 178:
-#line 1188 "perly.y"
+ case 177:
+#line 1189 "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 179:
-#line 1192 "perly.y"
+ case 178:
+#line 1193 "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 180:
-#line 1196 "perly.y"
+ case 179:
+#line 1197 "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 181:
-#line 1200 "perly.y"
+ case 180:
+#line 1201 "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 182:
-#line 1204 "perly.y"
+ case 181:
+#line 1205 "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 183:
-#line 1208 "perly.y"
+ case 182:
+#line 1209 "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 184:
-#line 1212 "perly.y"
+ case 183:
+#line 1213 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 185:
-#line 1214 "perly.y"
+ case 184:
+#line 1215 "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 186:
-#line 1217 "perly.y"
+ case 185:
+#line 1218 "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 187:
-#line 1221 "perly.y"
+ case 186:
+#line 1222 "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),'(');
@@ -1501,27 +1501,27 @@ case 2:
;}
break;
- case 188:
-#line 1227 "perly.y"
+ case 187:
+#line 1228 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 189:
-#line 1229 "perly.y"
+ case 188:
+#line 1230 "perly.y"
{ (yyval.opval) = (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 190:
-#line 1234 "perly.y"
+ case 189:
+#line 1235 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 191:
-#line 1237 "perly.y"
+ case 190:
+#line 1238 "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);
@@ -1532,8 +1532,8 @@ case 2:
;}
break;
- case 192:
-#line 1246 "perly.y"
+ case 191:
+#line 1247 "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),'(');
@@ -1541,8 +1541,8 @@ case 2:
;}
break;
- case 193:
-#line 1252 "perly.y"
+ case 192:
+#line 1253 "perly.y"
{
if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
&& (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
@@ -1555,16 +1555,16 @@ case 2:
;}
break;
- case 194:
-#line 1263 "perly.y"
+ case 193:
+#line 1264 "perly.y"
{ (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
;}
break;
- case 197:
-#line 1270 "perly.y"
+ case 196:
+#line 1271 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
@@ -1572,8 +1572,8 @@ case 2:
;}
break;
- case 199:
-#line 1280 "perly.y"
+ case 198:
+#line 1281 "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');
@@ -1583,128 +1583,128 @@ case 2:
;}
break;
- case 200:
-#line 1288 "perly.y"
+ case 199:
+#line 1289 "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 201:
-#line 1295 "perly.y"
+ case 200:
+#line 1296 "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 202:
-#line 1300 "perly.y"
+ case 201:
+#line 1301 "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 203:
-#line 1305 "perly.y"
+ case 202:
+#line 1306 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 204:
-#line 1307 "perly.y"
+ case 203:
+#line 1308 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 205:
-#line 1309 "perly.y"
+ case 204:
+#line 1310 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 206:
-#line 1314 "perly.y"
+ case 205:
+#line 1315 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 207:
-#line 1316 "perly.y"
+ case 206:
+#line 1317 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 208:
-#line 1320 "perly.y"
+ case 207:
+#line 1321 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
- case 209:
-#line 1322 "perly.y"
+ case 208:
+#line 1323 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 210:
-#line 1328 "perly.y"
+ case 209:
+#line 1329 "perly.y"
{ PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
break;
- case 211:
-#line 1332 "perly.y"
+ case 210:
+#line 1333 "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 212:
-#line 1338 "perly.y"
+ case 211:
+#line 1339 "perly.y"
{ (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
;}
break;
- case 213:
-#line 1344 "perly.y"
+ case 212:
+#line 1345 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
;}
break;
- case 214:
-#line 1350 "perly.y"
+ case 213:
+#line 1351 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
;}
break;
- case 215:
-#line 1356 "perly.y"
+ case 214:
+#line 1357 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
;}
break;
- case 216:
-#line 1362 "perly.y"
+ case 215:
+#line 1363 "perly.y"
{ (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
;}
break;
- case 217:
-#line 1369 "perly.y"
+ case 216:
+#line 1370 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
- case 218:
-#line 1371 "perly.y"
+ case 217:
+#line 1372 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
- case 219:
-#line 1373 "perly.y"
+ case 218:
+#line 1374 "perly.y"
{ (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
break;
- case 220:
-#line 1376 "perly.y"
+ case 219:
+#line 1377 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
@@ -1715,6 +1715,6 @@ case 2:
/* Generated from:
- * 017d1ce591fb32d5be2885c489b8b219c35b98bec901eb4a58e82f01d7a52622 perly.y
+ * cb438129c218850b1de0e202e7ed0f84fbad4a28047160c86667ff00d8a878e3 perly.y
* 38f866dcd8341ad3c0810347587113eb2c6ac7d4f33bdab75b020efce92865be regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index ca07a50d53..b744567a04 100644
--- a/perly.h
+++ b/perly.h
@@ -242,6 +242,6 @@ typedef union YYSTYPE
/* Generated from:
- * 017d1ce591fb32d5be2885c489b8b219c35b98bec901eb4a58e82f01d7a52622 perly.y
+ * cb438129c218850b1de0e202e7ed0f84fbad4a28047160c86667ff00d8a878e3 perly.y
* 38f866dcd8341ad3c0810347587113eb2c6ac7d4f33bdab75b020efce92865be regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index 873521bb34..29816956c5 100644
--- a/perly.tab
+++ b/perly.tab
@@ -6,16 +6,16 @@
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2768
+#define YYLAST 2772
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 101
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 62
+#define YYNNTS 61
/* YYNRULES -- Number of rules. */
-#define YYNRULES 220
+#define YYNRULES 219
/* YYNRULES -- Number of states. */
-#define YYNSTATES 446
+#define YYNSTATES 445
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -69,138 +69,135 @@ static const yytype_uint8 yytranslate[] =
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 4, 9, 10, 14, 15, 19, 20,
- 24, 25, 29, 30, 34, 39, 40, 41, 46, 47,
- 48, 51, 53, 55, 58, 61, 63, 65, 70, 77,
- 84, 89, 90, 98, 106, 114, 122, 129, 132, 141,
- 150, 162, 172, 181, 189, 192, 193, 202, 205, 207,
- 209, 211, 215, 219, 223, 227, 231, 235, 236, 239,
- 246, 247, 250, 251, 252, 254, 255, 257, 259, 261,
- 263, 265, 267, 268, 269, 270, 271, 273, 274, 276,
- 277, 280, 282, 285, 287, 289, 291, 295, 299, 303,
- 305, 308, 312, 314, 318, 324, 331, 335, 339, 345,
- 348, 353, 354, 360, 362, 364, 370, 375, 381, 386,
- 392, 399, 405, 410, 416, 421, 425, 432, 437, 443,
- 447, 451, 455, 459, 463, 467, 471, 475, 479, 483,
- 487, 491, 495, 499, 502, 505, 508, 511, 514, 517,
- 520, 523, 527, 530, 535, 539, 545, 548, 551, 556,
- 562, 567, 573, 575, 577, 579, 581, 587, 590, 592,
- 595, 599, 601, 604, 606, 608, 610, 612, 614, 616,
- 621, 627, 629, 631, 635, 640, 644, 646, 649, 652,
- 654, 657, 660, 662, 665, 667, 670, 672, 676, 678,
- 682, 684, 688, 693, 694, 700, 702, 704, 706, 708,
- 712, 715, 719, 722, 724, 726, 728, 729, 731, 732,
- 734, 736, 739, 742, 745, 748, 751, 754, 756, 758,
- 760
+ 24, 25, 29, 30, 34, 39, 40, 45, 46, 47,
+ 50, 52, 54, 57, 60, 62, 64, 69, 76, 83,
+ 88, 89, 97, 105, 113, 120, 127, 130, 139, 148,
+ 160, 170, 179, 187, 190, 191, 200, 203, 205, 207,
+ 209, 213, 217, 221, 225, 229, 233, 234, 237, 244,
+ 245, 248, 249, 250, 252, 253, 255, 257, 259, 261,
+ 263, 265, 266, 267, 268, 269, 271, 272, 274, 275,
+ 278, 280, 283, 285, 287, 289, 293, 297, 301, 303,
+ 306, 310, 312, 316, 322, 329, 333, 337, 343, 346,
+ 351, 352, 358, 360, 362, 368, 373, 379, 384, 390,
+ 397, 403, 408, 414, 419, 423, 430, 435, 441, 445,
+ 449, 453, 457, 461, 465, 469, 473, 477, 481, 485,
+ 489, 493, 497, 500, 503, 506, 509, 512, 515, 518,
+ 521, 525, 528, 533, 537, 543, 546, 549, 554, 560,
+ 565, 571, 573, 575, 577, 579, 585, 588, 590, 593,
+ 597, 599, 602, 604, 606, 608, 610, 612, 614, 619,
+ 625, 627, 629, 633, 638, 642, 644, 647, 650, 652,
+ 655, 658, 660, 663, 665, 668, 670, 674, 676, 680,
+ 682, 686, 691, 692, 698, 700, 702, 704, 706, 710,
+ 713, 717, 720, 722, 724, 726, 727, 729, 730, 732,
+ 734, 737, 740, 743, 746, 749, 752, 754, 756, 758
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 102, 0, -1, -1, 3, 103, 110, 114, -1, -1,
- 4, 104, 154, -1, -1, 5, 105, 109, -1, -1,
- 6, 106, 117, -1, -1, 7, 107, 115, -1, -1,
- 8, 108, 114, -1, 9, 110, 114, 10, -1, -1,
- -1, 9, 113, 114, 10, -1, -1, -1, 114, 115,
- -1, 117, -1, 116, -1, 34, 117, -1, 34, 116,
- -1, 33, -1, 100, -1, 35, 133, 130, 109, -1,
- 36, 131, 134, 135, 136, 138, -1, 69, 131, 134,
- 135, 136, 138, -1, 38, 21, 21, 20, -1, -1,
- 39, 131, 118, 21, 21, 153, 20, -1, 42, 99,
- 110, 127, 98, 112, 121, -1, 43, 99, 110, 129,
- 98, 112, 121, -1, 48, 99, 110, 111, 127, 98,
- 112, -1, 49, 99, 110, 127, 98, 112, -1, 50,
- 109, -1, 40, 99, 110, 125, 98, 123, 112, 122,
- -1, 41, 99, 110, 126, 98, 123, 112, 122, -1,
- 47, 99, 110, 128, 20, 125, 20, 123, 128, 98,
- 112, -1, 47, 68, 110, 155, 99, 127, 98, 112,
- 122, -1, 47, 157, 99, 110, 127, 98, 112, 122,
- -1, 47, 99, 110, 127, 98, 112, 122, -1, 109,
- 122, -1, -1, 38, 21, 21, 9, 110, 119, 114,
- 10, -1, 120, 20, -1, 20, -1, 1, -1, 139,
- -1, 139, 42, 139, -1, 139, 43, 139, -1, 139,
- 40, 139, -1, 139, 41, 126, -1, 139, 47, 139,
- -1, 139, 49, 139, -1, -1, 44, 112, -1, 45,
- 99, 127, 98, 112, 121, -1, -1, 46, 109, -1,
- -1, -1, 120, -1, -1, 139, -1, 139, -1, 139,
- -1, 124, -1, 126, -1, 21, -1, -1, -1, -1,
- -1, 21, -1, -1, 24, -1, -1, 71, 24, -1,
- 71, -1, 71, 24, -1, 71, -1, 109, -1, 20,
- -1, 139, 75, 139, -1, 139, 74, 139, -1, 139,
- 73, 139, -1, 140, -1, 140, 77, -1, 140, 77,
- 149, -1, 149, -1, 58, 162, 140, -1, 56, 99,
- 162, 139, 98, -1, 149, 97, 143, 99, 154, 98,
- -1, 149, 97, 143, -1, 22, 162, 153, -1, 23,
- 162, 99, 154, 98, -1, 58, 153, -1, 56, 99,
- 154, 98, -1, -1, 31, 132, 109, 142, 153, -1,
- 22, -1, 157, -1, 161, 9, 139, 20, 10, -1,
- 157, 11, 139, 12, -1, 149, 97, 11, 139, 12,
- -1, 144, 11, 139, 12, -1, 157, 9, 139, 20,
- 10, -1, 149, 97, 9, 139, 20, 10, -1, 144,
- 9, 139, 20, 10, -1, 149, 97, 99, 98, -1,
- 149, 97, 99, 139, 98, -1, 144, 99, 139, 98,
- -1, 144, 99, 98, -1, 99, 139, 98, 11, 139,
- 12, -1, 27, 11, 139, 12, -1, 99, 98, 11,
- 139, 12, -1, 149, 78, 149, -1, 149, 92, 149,
- -1, 149, 61, 149, -1, 149, 62, 149, -1, 149,
- 86, 149, -1, 149, 59, 149, -1, 149, 60, 149,
- -1, 149, 85, 149, -1, 149, 84, 149, -1, 149,
- 52, 149, -1, 149, 83, 149, -1, 149, 82, 149,
- -1, 149, 81, 149, -1, 149, 87, 149, -1, 13,
- 149, -1, 14, 149, -1, 88, 149, -1, 89, 149,
- -1, 149, 94, -1, 149, 93, -1, 96, 149, -1,
- 95, 149, -1, 11, 139, 12, -1, 11, 12, -1,
- 65, 139, 20, 10, -1, 65, 20, 10, -1, 37,
- 132, 135, 136, 109, -1, 64, 149, -1, 64, 109,
- -1, 64, 21, 99, 98, -1, 64, 21, 99, 139,
- 98, -1, 64, 157, 99, 98, -1, 64, 157, 99,
- 139, 98, -1, 145, -1, 146, -1, 147, -1, 148,
- -1, 149, 79, 149, 80, 149, -1, 90, 149, -1,
- 151, -1, 67, 149, -1, 99, 139, 98, -1, 27,
- -1, 99, 98, -1, 157, -1, 161, -1, 159, -1,
- 158, -1, 160, -1, 144, -1, 158, 11, 139, 12,
- -1, 158, 9, 139, 20, 10, -1, 24, -1, 156,
- -1, 156, 99, 98, -1, 156, 99, 139, 98, -1,
- 66, 21, 153, -1, 51, -1, 51, 149, -1, 76,
- 140, -1, 57, -1, 57, 109, -1, 57, 149, -1,
- 70, -1, 70, 149, -1, 30, -1, 30, 149, -1,
- 54, -1, 54, 99, 98, -1, 28, -1, 28, 99,
- 98, -1, 29, -1, 55, 99, 98, -1, 55, 99,
- 139, 98, -1, -1, 25, 150, 99, 140, 98, -1,
- 21, -1, 141, -1, 53, -1, 32, -1, 68, 152,
- 137, -1, 68, 152, -1, 99, 139, 98, -1, 99,
- 98, -1, 157, -1, 159, -1, 158, -1, -1, 140,
- -1, -1, 139, -1, 157, -1, 19, 162, -1, 15,
- 162, -1, 16, 162, -1, 17, 162, -1, 63, 162,
- -1, 18, 162, -1, 21, -1, 157, -1, 109, -1,
- 26, -1
+ 102, 0, -1, -1, 3, 103, 110, 113, -1, -1,
+ 4, 104, 153, -1, -1, 5, 105, 109, -1, -1,
+ 6, 106, 116, -1, -1, 7, 107, 114, -1, -1,
+ 8, 108, 113, -1, 9, 110, 113, 10, -1, -1,
+ 9, 112, 113, 10, -1, -1, -1, 113, 114, -1,
+ 116, -1, 115, -1, 34, 116, -1, 34, 115, -1,
+ 33, -1, 100, -1, 35, 132, 129, 109, -1, 36,
+ 130, 133, 134, 135, 137, -1, 69, 130, 133, 134,
+ 135, 137, -1, 38, 21, 21, 20, -1, -1, 39,
+ 130, 117, 21, 21, 152, 20, -1, 42, 99, 110,
+ 126, 98, 111, 120, -1, 43, 99, 110, 128, 98,
+ 111, 120, -1, 48, 99, 110, 126, 98, 111, -1,
+ 49, 99, 110, 126, 98, 111, -1, 50, 109, -1,
+ 40, 99, 110, 124, 98, 122, 111, 121, -1, 41,
+ 99, 110, 125, 98, 122, 111, 121, -1, 47, 99,
+ 110, 127, 20, 124, 20, 122, 127, 98, 111, -1,
+ 47, 68, 110, 154, 99, 126, 98, 111, 121, -1,
+ 47, 156, 99, 110, 126, 98, 111, 121, -1, 47,
+ 99, 110, 126, 98, 111, 121, -1, 109, 121, -1,
+ -1, 38, 21, 21, 9, 110, 118, 113, 10, -1,
+ 119, 20, -1, 20, -1, 1, -1, 138, -1, 138,
+ 42, 138, -1, 138, 43, 138, -1, 138, 40, 138,
+ -1, 138, 41, 125, -1, 138, 47, 138, -1, 138,
+ 49, 138, -1, -1, 44, 111, -1, 45, 99, 126,
+ 98, 111, 120, -1, -1, 46, 109, -1, -1, -1,
+ 119, -1, -1, 138, -1, 138, -1, 138, -1, 123,
+ -1, 125, -1, 21, -1, -1, -1, -1, -1, 21,
+ -1, -1, 24, -1, -1, 71, 24, -1, 71, -1,
+ 71, 24, -1, 71, -1, 109, -1, 20, -1, 138,
+ 75, 138, -1, 138, 74, 138, -1, 138, 73, 138,
+ -1, 139, -1, 139, 77, -1, 139, 77, 148, -1,
+ 148, -1, 58, 161, 139, -1, 56, 99, 161, 138,
+ 98, -1, 148, 97, 142, 99, 153, 98, -1, 148,
+ 97, 142, -1, 22, 161, 152, -1, 23, 161, 99,
+ 153, 98, -1, 58, 152, -1, 56, 99, 153, 98,
+ -1, -1, 31, 131, 109, 141, 152, -1, 22, -1,
+ 156, -1, 160, 9, 138, 20, 10, -1, 156, 11,
+ 138, 12, -1, 148, 97, 11, 138, 12, -1, 143,
+ 11, 138, 12, -1, 156, 9, 138, 20, 10, -1,
+ 148, 97, 9, 138, 20, 10, -1, 143, 9, 138,
+ 20, 10, -1, 148, 97, 99, 98, -1, 148, 97,
+ 99, 138, 98, -1, 143, 99, 138, 98, -1, 143,
+ 99, 98, -1, 99, 138, 98, 11, 138, 12, -1,
+ 27, 11, 138, 12, -1, 99, 98, 11, 138, 12,
+ -1, 148, 78, 148, -1, 148, 92, 148, -1, 148,
+ 61, 148, -1, 148, 62, 148, -1, 148, 86, 148,
+ -1, 148, 59, 148, -1, 148, 60, 148, -1, 148,
+ 85, 148, -1, 148, 84, 148, -1, 148, 52, 148,
+ -1, 148, 83, 148, -1, 148, 82, 148, -1, 148,
+ 81, 148, -1, 148, 87, 148, -1, 13, 148, -1,
+ 14, 148, -1, 88, 148, -1, 89, 148, -1, 148,
+ 94, -1, 148, 93, -1, 96, 148, -1, 95, 148,
+ -1, 11, 138, 12, -1, 11, 12, -1, 65, 138,
+ 20, 10, -1, 65, 20, 10, -1, 37, 131, 134,
+ 135, 109, -1, 64, 148, -1, 64, 109, -1, 64,
+ 21, 99, 98, -1, 64, 21, 99, 138, 98, -1,
+ 64, 156, 99, 98, -1, 64, 156, 99, 138, 98,
+ -1, 144, -1, 145, -1, 146, -1, 147, -1, 148,
+ 79, 148, 80, 148, -1, 90, 148, -1, 150, -1,
+ 67, 148, -1, 99, 138, 98, -1, 27, -1, 99,
+ 98, -1, 156, -1, 160, -1, 158, -1, 157, -1,
+ 159, -1, 143, -1, 157, 11, 138, 12, -1, 157,
+ 9, 138, 20, 10, -1, 24, -1, 155, -1, 155,
+ 99, 98, -1, 155, 99, 138, 98, -1, 66, 21,
+ 152, -1, 51, -1, 51, 148, -1, 76, 139, -1,
+ 57, -1, 57, 109, -1, 57, 148, -1, 70, -1,
+ 70, 148, -1, 30, -1, 30, 148, -1, 54, -1,
+ 54, 99, 98, -1, 28, -1, 28, 99, 98, -1,
+ 29, -1, 55, 99, 98, -1, 55, 99, 138, 98,
+ -1, -1, 25, 149, 99, 139, 98, -1, 21, -1,
+ 140, -1, 53, -1, 32, -1, 68, 151, 136, -1,
+ 68, 151, -1, 99, 138, 98, -1, 99, 98, -1,
+ 156, -1, 158, -1, 157, -1, -1, 139, -1, -1,
+ 138, -1, 156, -1, 19, 161, -1, 15, 161, -1,
+ 16, 161, -1, 17, 161, -1, 63, 161, -1, 18,
+ 161, -1, 21, -1, 156, -1, 109, -1, 26, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 140, 140, 139, 149, 148, 158, 157, 170, 169,
- 182, 181, 194, 193, 205, 215, 219, 222, 232, 237,
- 238, 247, 255, 259, 266, 275, 277, 282, 300, 321,
- 333, 349, 348, 365, 374, 383, 389, 391, 393, 403,
- 413, 434, 443, 452, 461, 468, 467, 484, 490, 500,
- 502, 504, 508, 512, 516, 520, 525, 531, 532, 538,
- 552, 553, 562, 568, 569, 574, 577, 581, 586, 590,
- 594, 598, 599, 603, 609, 614, 619, 629, 630, 635,
- 636, 640, 650, 654, 664, 665, 675, 679, 683, 687,
- 691, 701, 710, 714, 719, 726, 735, 741, 747, 755,
- 759, 766, 765, 776, 777, 781, 790, 795, 803, 810,
- 817, 827, 836, 843, 852, 859, 865, 872, 877, 887,
- 891, 895, 901, 905, 909, 913, 917, 921, 925, 937,
- 941, 945, 949, 959, 963, 970, 974, 978, 983, 988,
- 993, 1002, 1007, 1012, 1018, 1024, 1035, 1039, 1043, 1055,
- 1068, 1076, 1088, 1089, 1090, 1091, 1092, 1097, 1101, 1103,
- 1107, 1112, 1114, 1119, 1121, 1123, 1125, 1127, 1129, 1131,
- 1140, 1151, 1153, 1155, 1160, 1173, 1178, 1183, 1187, 1191,
- 1195, 1199, 1203, 1207, 1211, 1213, 1216, 1220, 1226, 1228,
- 1233, 1236, 1245, 1252, 1251, 1267, 1268, 1269, 1275, 1279,
- 1287, 1294, 1299, 1304, 1306, 1308, 1313, 1315, 1320, 1321,
- 1327, 1331, 1337, 1343, 1349, 1355, 1361, 1368, 1370, 1372,
- 1375
+ 182, 181, 194, 193, 205, 215, 218, 228, 233, 234,
+ 243, 251, 255, 262, 271, 273, 278, 296, 317, 329,
+ 345, 344, 361, 370, 379, 390, 392, 394, 404, 414,
+ 435, 444, 453, 462, 469, 468, 485, 491, 501, 503,
+ 505, 509, 513, 517, 521, 526, 532, 533, 539, 553,
+ 554, 563, 569, 570, 575, 578, 582, 587, 591, 595,
+ 599, 600, 604, 610, 615, 620, 630, 631, 636, 637,
+ 641, 651, 655, 665, 666, 676, 680, 684, 688, 692,
+ 702, 711, 715, 720, 727, 736, 742, 748, 756, 760,
+ 767, 766, 777, 778, 782, 791, 796, 804, 811, 818,
+ 828, 837, 844, 853, 860, 866, 873, 878, 888, 892,
+ 896, 902, 906, 910, 914, 918, 922, 926, 938, 942,
+ 946, 950, 960, 964, 971, 975, 979, 984, 989, 994,
+ 1003, 1008, 1013, 1019, 1025, 1036, 1040, 1044, 1056, 1069,
+ 1077, 1089, 1090, 1091, 1092, 1093, 1098, 1102, 1104, 1108,
+ 1113, 1115, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1141,
+ 1152, 1154, 1156, 1161, 1174, 1179, 1184, 1188, 1192, 1196,
+ 1200, 1204, 1208, 1212, 1214, 1217, 1221, 1227, 1229, 1234,
+ 1237, 1246, 1253, 1252, 1268, 1269, 1270, 1276, 1280, 1288,
+ 1295, 1300, 1305, 1307, 1309, 1314, 1316, 1321, 1322, 1328,
+ 1332, 1338, 1344, 1350, 1356, 1362, 1369, 1371, 1373, 1376
};
#endif
@@ -224,9 +221,9 @@ static const char *const yytname[] =
"MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC",
"POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('", "PEG", "$accept",
"grammar", "@1", "@2", "@3", "@4", "@5", "@6", "block", "remember",
- "mydefsv", "mblock", "mremember", "stmtseq", "fullstmt", "labfullstmt",
- "barestmt", "@7", "@8", "sideff", "else", "cont", "mintro", "nexpr",
- "texpr", "iexpr", "mexpr", "mnexpr", "miexpr", "formname", "startsub",
+ "mblock", "mremember", "stmtseq", "fullstmt", "labfullstmt", "barestmt",
+ "@7", "@8", "sideff", "else", "cont", "mintro", "nexpr", "texpr",
+ "iexpr", "mexpr", "mnexpr", "miexpr", "formname", "startsub",
"startanonsub", "startformsub", "subname", "proto", "subattrlist",
"myattrlist", "subbody", "expr", "listexpr", "listop", "@9", "method",
"subscripted", "termbinop", "termunop", "anonymous", "termdo", "term",
@@ -258,56 +255,54 @@ static const yytype_uint16 yytoknum[] =
static const yytype_uint8 yyr1[] =
{
0, 101, 103, 102, 104, 102, 105, 102, 106, 102,
- 107, 102, 108, 102, 109, 110, 111, 112, 113, 114,
- 114, 115, 115, 116, 116, 117, 117, 117, 117, 117,
- 117, 118, 117, 117, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 119, 117, 117, 117, 120,
- 120, 120, 120, 120, 120, 120, 120, 121, 121, 121,
- 122, 122, 123, 124, 124, 125, 125, 126, 127, 128,
- 129, 130, 130, 131, 132, 133, 134, 135, 135, 136,
- 136, 136, 137, 137, 138, 138, 139, 139, 139, 139,
- 140, 140, 140, 141, 141, 141, 141, 141, 141, 141,
- 141, 142, 141, 143, 143, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 145,
- 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
- 145, 145, 145, 146, 146, 146, 146, 146, 146, 146,
- 146, 147, 147, 147, 147, 147, 148, 148, 148, 148,
- 148, 148, 149, 149, 149, 149, 149, 149, 149, 149,
- 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
- 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
- 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
- 149, 149, 149, 150, 149, 149, 149, 149, 149, 151,
- 151, 152, 152, 152, 152, 152, 153, 153, 154, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 162, 162,
- 162
+ 107, 102, 108, 102, 109, 110, 111, 112, 113, 113,
+ 114, 114, 115, 115, 116, 116, 116, 116, 116, 116,
+ 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
+ 116, 116, 116, 116, 118, 116, 116, 116, 119, 119,
+ 119, 119, 119, 119, 119, 119, 120, 120, 120, 121,
+ 121, 122, 123, 123, 124, 124, 125, 126, 127, 128,
+ 129, 129, 130, 131, 132, 133, 134, 134, 135, 135,
+ 135, 136, 136, 137, 137, 138, 138, 138, 138, 139,
+ 139, 139, 140, 140, 140, 140, 140, 140, 140, 140,
+ 141, 140, 142, 142, 143, 143, 143, 143, 143, 143,
+ 143, 143, 143, 143, 143, 143, 143, 143, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 145, 145, 145, 145, 145, 145, 145, 145,
+ 146, 146, 146, 146, 146, 147, 147, 147, 147, 147,
+ 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 149, 148, 148, 148, 148, 148, 150, 150,
+ 151, 151, 151, 151, 151, 152, 152, 153, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 161, 161, 161
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 0, 4, 0, 3, 0, 3, 0, 3,
- 0, 3, 0, 3, 4, 0, 0, 4, 0, 0,
- 2, 1, 1, 2, 2, 1, 1, 4, 6, 6,
- 4, 0, 7, 7, 7, 7, 6, 2, 8, 8,
- 11, 9, 8, 7, 2, 0, 8, 2, 1, 1,
- 1, 3, 3, 3, 3, 3, 3, 0, 2, 6,
- 0, 2, 0, 0, 1, 0, 1, 1, 1, 1,
- 1, 1, 0, 0, 0, 0, 1, 0, 1, 0,
- 2, 1, 2, 1, 1, 1, 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,
+ 0, 3, 0, 3, 4, 0, 4, 0, 0, 2,
+ 1, 1, 2, 2, 1, 1, 4, 6, 6, 4,
+ 0, 7, 7, 7, 6, 6, 2, 8, 8, 11,
+ 9, 8, 7, 2, 0, 8, 2, 1, 1, 1,
+ 3, 3, 3, 3, 3, 3, 0, 2, 6, 0,
+ 2, 0, 0, 1, 0, 1, 1, 1, 1, 1,
+ 1, 0, 0, 0, 0, 1, 0, 1, 0, 2,
+ 1, 2, 1, 1, 1, 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, 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,
- 1, 3, 4, 0, 5, 1, 1, 1, 1, 3,
- 2, 3, 2, 1, 1, 1, 0, 1, 0, 1,
- 1, 2, 2, 2, 2, 2, 2, 1, 1, 1,
- 1
+ 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, 1,
+ 3, 4, 0, 5, 1, 1, 1, 1, 3, 2,
+ 3, 2, 1, 1, 1, 0, 1, 0, 1, 1,
+ 2, 2, 2, 2, 2, 2, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -315,198 +310,226 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 2, 4, 6, 8, 10, 12, 0, 15, 208,
- 0, 0, 0, 19, 1, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 195, 0, 0, 171, 193, 161,
- 188, 190, 184, 74, 198, 74, 176, 197, 186, 0,
- 0, 179, 206, 0, 0, 0, 0, 0, 0, 182,
- 0, 0, 0, 0, 0, 0, 0, 209, 89, 196,
- 168, 152, 153, 154, 155, 92, 158, 5, 172, 163,
- 166, 165, 167, 164, 15, 7, 49, 48, 25, 75,
- 73, 0, 73, 0, 0, 0, 0, 0, 0, 0,
- 0, 73, 26, 60, 9, 0, 50, 0, 11, 22,
- 21, 0, 0, 142, 0, 133, 134, 217, 220, 219,
- 218, 212, 213, 214, 216, 211, 206, 0, 0, 0,
- 0, 185, 0, 77, 177, 0, 0, 208, 180, 181,
- 217, 207, 99, 218, 0, 215, 195, 147, 146, 163,
- 0, 0, 206, 159, 0, 200, 203, 205, 204, 183,
- 178, 135, 136, 157, 140, 139, 162, 0, 0, 0,
- 0, 90, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 4, 6, 8, 10, 12, 0, 15, 207,
+ 0, 0, 0, 18, 1, 18, 0, 0, 0, 0,
+ 0, 0, 0, 0, 194, 0, 0, 170, 192, 160,
+ 187, 189, 183, 73, 197, 73, 175, 196, 185, 0,
+ 0, 178, 205, 0, 0, 0, 0, 0, 0, 181,
+ 0, 0, 0, 0, 0, 0, 0, 208, 88, 195,
+ 167, 151, 152, 153, 154, 91, 157, 5, 171, 162,
+ 165, 164, 166, 163, 15, 7, 48, 47, 24, 74,
+ 72, 0, 72, 0, 0, 0, 0, 0, 0, 0,
+ 0, 72, 25, 59, 9, 0, 49, 0, 11, 21,
+ 20, 0, 0, 141, 0, 132, 133, 216, 219, 218,
+ 217, 211, 212, 213, 215, 210, 205, 0, 0, 0,
+ 0, 184, 0, 76, 176, 0, 0, 207, 179, 180,
+ 216, 206, 98, 217, 0, 214, 194, 146, 145, 162,
+ 0, 0, 205, 158, 0, 199, 202, 204, 203, 182,
+ 177, 134, 135, 156, 139, 138, 161, 0, 0, 0,
+ 0, 89, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 138, 137, 0, 0, 0, 0, 0, 0, 0, 19,
- 72, 0, 0, 31, 15, 15, 15, 15, 15, 15,
- 0, 15, 15, 37, 0, 0, 44, 47, 0, 0,
- 0, 0, 0, 0, 24, 23, 20, 141, 97, 208,
- 0, 0, 189, 101, 78, 79, 187, 191, 0, 0,
- 0, 93, 0, 0, 144, 0, 175, 202, 0, 83,
- 199, 0, 160, 88, 87, 86, 91, 0, 0, 115,
- 0, 128, 124, 125, 121, 122, 119, 0, 131, 130,
- 129, 127, 126, 123, 132, 120, 0, 0, 103, 0,
- 96, 104, 173, 0, 0, 0, 0, 0, 0, 0,
- 71, 0, 76, 77, 0, 0, 65, 0, 0, 0,
- 0, 0, 15, 16, 0, 77, 61, 53, 54, 67,
- 51, 52, 55, 56, 0, 0, 117, 206, 81, 0,
- 192, 100, 0, 148, 0, 150, 0, 143, 201, 82,
- 0, 0, 0, 108, 114, 0, 0, 0, 112, 0,
- 208, 174, 0, 106, 0, 169, 0, 14, 27, 79,
- 15, 30, 0, 0, 66, 0, 0, 68, 70, 0,
- 0, 210, 64, 69, 0, 0, 50, 0, 0, 0,
- 79, 98, 194, 102, 80, 145, 94, 149, 151, 118,
- 0, 111, 156, 0, 107, 113, 0, 109, 170, 105,
- 0, 45, 206, 62, 62, 0, 0, 0, 0, 65,
- 0, 0, 0, 0, 116, 110, 95, 85, 84, 28,
- 19, 0, 0, 0, 18, 57, 57, 0, 60, 0,
- 0, 0, 36, 29, 0, 32, 60, 60, 19, 0,
- 0, 33, 34, 0, 43, 62, 60, 35, 46, 38,
- 39, 0, 58, 0, 60, 0, 42, 17, 0, 41,
- 0, 0, 0, 57, 40, 59
+ 137, 136, 0, 0, 0, 0, 0, 0, 0, 18,
+ 71, 0, 0, 30, 15, 15, 15, 15, 15, 15,
+ 0, 15, 15, 36, 0, 0, 43, 46, 0, 0,
+ 0, 0, 0, 0, 23, 22, 19, 140, 96, 207,
+ 0, 0, 188, 100, 77, 78, 186, 190, 0, 0,
+ 0, 92, 0, 0, 143, 0, 174, 201, 0, 82,
+ 198, 0, 159, 87, 86, 85, 90, 0, 0, 114,
+ 0, 127, 123, 124, 120, 121, 118, 0, 130, 129,
+ 128, 126, 125, 122, 131, 119, 0, 0, 102, 0,
+ 95, 103, 172, 0, 0, 0, 0, 0, 0, 0,
+ 70, 0, 75, 76, 0, 0, 64, 0, 0, 0,
+ 0, 0, 15, 0, 0, 76, 60, 52, 53, 66,
+ 50, 51, 54, 55, 0, 0, 116, 205, 80, 0,
+ 191, 99, 0, 147, 0, 149, 0, 142, 200, 81,
+ 0, 0, 0, 107, 113, 0, 0, 0, 111, 0,
+ 207, 173, 0, 105, 0, 168, 0, 14, 26, 78,
+ 15, 29, 0, 0, 65, 0, 0, 67, 69, 0,
+ 0, 209, 63, 68, 0, 0, 49, 0, 0, 0,
+ 78, 97, 193, 101, 79, 144, 93, 148, 150, 117,
+ 0, 110, 155, 0, 106, 112, 0, 108, 169, 104,
+ 0, 44, 205, 61, 61, 0, 0, 0, 0, 64,
+ 0, 0, 0, 0, 115, 109, 94, 84, 83, 27,
+ 18, 0, 0, 0, 17, 56, 56, 0, 59, 0,
+ 0, 34, 35, 28, 0, 31, 59, 59, 18, 0,
+ 0, 32, 33, 0, 42, 61, 59, 45, 37, 38,
+ 0, 57, 0, 59, 0, 41, 16, 0, 40, 0,
+ 0, 0, 56, 39, 58
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 7, 8, 9, 10, 11, 12, 13, 109, 15,
- 358, 405, 418, 101, 216, 99, 100, 285, 400, 95,
- 421, 206, 402, 353, 343, 298, 346, 355, 349, 281,
- 191, 122, 190, 283, 225, 309, 240, 399, 96, 58,
- 59, 307, 270, 60, 61, 62, 63, 64, 65, 118,
- 66, 145, 132, 67, 350, 68, 69, 70, 71, 72,
- 73, 111
+ 405, 418, 101, 216, 99, 100, 285, 400, 95, 421,
+ 206, 402, 353, 343, 298, 346, 355, 349, 281, 191,
+ 122, 190, 283, 225, 309, 240, 399, 96, 58, 59,
+ 307, 270, 60, 61, 62, 63, 64, 65, 118, 66,
+ 145, 132, 67, 350, 68, 69, 70, 71, 72, 73,
+ 111
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -402
+#define YYPACT_NINF -387
static const yytype_int16 yypact[] =
{
- 587, -402, -402, -402, -402, -402, -402, 11, -402, 2532,
- 8, 973, 881, -402, -402, -402, 1646, 2532, 2532, 172,
- 172, 172, 172, 172, -402, 172, 172, -402, -402, 23,
- -62, -402, 2532, -402, -402, -402, 2532, -402, -33, -26,
- -18, 1468, 1379, 172, 1557, 1733, 67, 2532, 48, 2532,
- 2532, 2532, 2532, 2532, 2532, 2532, 1820, 52, 32, -402,
- 12, -402, -402, -402, -402, 2593, -402, -402, 17, 123,
- 185, -402, -402, 122, -402, -402, -402, -402, -402, -402,
- -402, 98, -402, 37, 38, 45, 49, 7, 62, 65,
- 8, -402, -402, 119, -402, 152, 1555, 881, -402, -402,
- -402, 421, 513, -402, -6, 162, 162, -402, -402, -402,
- -402, -402, -402, -402, -402, -402, 2532, 74, 90, 2532,
- 88, 1184, 8, 181, 2593, 111, 1909, 1379, -402, 1184,
- 1289, 32, -402, 1213, 2532, -402, 126, -402, 1184, 24,
- 217, 110, 2532, 1184, 1998, 157, -402, -402, -402, 1184,
- 32, 162, 162, 162, 63, 63, 218, 191, 2532, 2532,
- 2532, 2532, 2532, 2532, 2087, 2532, 2532, 2532, 2532, 2532,
- 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532,
- -402, -402, 29, 2176, 2532, 2532, 2532, 2532, 2532, -402,
- 210, 216, 219, -402, -402, -402, -402, -402, -402, -402,
- 135, -402, -402, -402, 216, 8, -402, -402, 2532, 2532,
- 2532, 2532, 2532, 2532, -402, -402, -402, -402, -402, 2532,
- 2532, -3, -402, -402, -402, 168, -402, -402, 283, 144,
- 2532, 32, 2265, 2354, -402, 234, -402, -402, 316, 229,
- -402, 2532, 257, 196, 196, -402, 2593, 143, 40, -402,
- 330, 2671, 1453, 1260, 409, -8, 2593, 2554, 315, 315,
- 1050, 247, 1364, 326, 162, 162, 2532, 2532, -402, 2443,
- 170, -402, -402, 407, 177, 47, 188, 93, 199, 605,
- -402, 8, -402, 181, 81, 254, 2532, 2532, 2532, 2532,
- 261, 1063, -402, -402, 2532, 181, -402, 52, -402, 52,
- 52, 52, 52, 52, 192, -57, -402, 2532, 267, 8,
- -402, -402, 420, -402, 425, -402, 499, -402, -402, -402,
- 96, 2532, 287, -402, -402, 2532, 213, 117, -402, 512,
- 2532, -402, 292, -402, 293, -402, 295, -402, -402, 168,
- -402, -402, 296, 215, 52, 222, 226, 52, -402, 231,
- 238, -402, -402, -402, 232, 318, 252, 2532, 2532, 245,
- 168, -402, -402, -402, -402, -402, -402, -402, -402, -402,
- 140, -402, 2632, 306, -402, -402, 248, -402, -402, -402,
- 87, -402, 2532, -402, -402, 336, 336, 2532, 336, 2532,
- 249, 253, 336, 87, -402, -402, -402, -402, -402, -402,
- -402, 332, 336, 336, -402, 53, 53, 281, 119, 363,
- 336, 336, -402, -402, 697, -402, 119, 119, -402, 336,
- 285, -402, -402, 336, -402, -402, 119, -402, -402, -402,
- -402, 789, -402, 2532, 119, 1153, -402, -402, 288, -402,
- 294, 336, 336, 53, -402, -402
+ 775, -387, -387, -387, -387, -387, -387, 73, -387, 2536,
+ 29, 977, 885, -387, -387, -387, 1650, 2536, 2536, 490,
+ 490, 490, 490, 490, -387, 490, 490, -387, -387, -5,
+ -88, -387, 2536, -387, -387, -387, 2536, -387, -36, -22,
+ -21, 1472, 1383, 490, 1561, 1737, 101, 2536, 43, 2536,
+ 2536, 2536, 2536, 2536, 2536, 2536, 1824, 33, 48, -387,
+ 10, -387, -387, -387, -387, 2597, -387, -387, 41, 136,
+ 181, -387, -387, 163, -387, -387, -387, -387, -387, -387,
+ -387, 111, -387, 64, 90, 95, 106, 1, 110, 126,
+ 29, -387, -387, 167, -387, 202, 1470, 885, -387, -387,
+ -387, 425, 517, -387, -3, 244, 244, -387, -387, -387,
+ -387, -387, -387, -387, -387, -387, 2536, 132, 145, 2536,
+ 152, 253, 29, 227, 2597, 155, 1913, 1383, -387, 253,
+ 1293, 48, -387, 1217, 2536, -387, 157, -387, 253, 13,
+ 258, 14, 2536, 253, 2002, 183, -387, -387, -387, 253,
+ 48, 244, 244, 244, 143, 143, 260, 141, 2536, 2536,
+ 2536, 2536, 2536, 2536, 2091, 2536, 2536, 2536, 2536, 2536,
+ 2536, 2536, 2536, 2536, 2536, 2536, 2536, 2536, 2536, 2536,
+ -387, -387, 42, 2180, 2536, 2536, 2536, 2536, 2536, -387,
+ 251, 255, 265, -387, -387, -387, -387, -387, -387, -387,
+ 189, -387, -387, -387, 255, 29, -387, -387, 2536, 2536,
+ 2536, 2536, 2536, 2536, -387, -387, -387, -387, -387, 2536,
+ 2536, 11, -387, -387, -387, 216, -387, -387, 154, 192,
+ 2536, 48, 2269, 2358, -387, 282, -387, -387, 283, 269,
+ -387, 2536, 290, 229, 229, -387, 2597, 46, 23, -387,
+ 317, 2675, 1368, 327, 594, 410, 2597, 2558, 315, 315,
+ 1054, 238, 1264, 172, 244, 244, 2536, 2536, -387, 2447,
+ 203, -387, -387, 330, 96, 40, 123, 53, 188, 609,
+ -387, 29, -387, 227, 70, 286, 2536, 2536, 2536, 2536,
+ 293, 1067, -387, 2536, 2536, 227, -387, 33, -387, 33,
+ 33, 33, 33, 33, 212, 3, -387, 2536, 292, 29,
+ -387, -387, 411, -387, 503, -387, 516, -387, -387, -387,
+ 56, 2536, 309, -387, -387, 2536, 200, 63, -387, 523,
+ 2536, -387, 310, -387, 318, -387, 319, -387, -387, 216,
+ -387, -387, 312, 254, 33, 256, 281, 33, -387, 285,
+ 250, -387, -387, -387, 287, 331, 144, 2536, 296, 298,
+ 216, -387, -387, -387, -387, -387, -387, -387, -387, -387,
+ 93, -387, 2636, 343, -387, -387, 299, -387, -387, -387,
+ 114, -387, 2536, -387, -387, 375, 375, 2536, 375, 2536,
+ 308, 375, 375, 114, -387, -387, -387, -387, -387, -387,
+ -387, 390, 375, 375, -387, 38, 38, 320, 167, 397,
+ 375, -387, -387, -387, 701, -387, 167, 167, -387, 375,
+ 323, -387, -387, 375, -387, -387, 167, -387, -387, -387,
+ 793, -387, 2536, 167, 1157, -387, -387, 329, -387, 332,
+ 375, 375, 38, -387, -387
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -402, -402, -402, -402, -402, -402, -402, -402, 2, -56,
- -402, -88, -402, -7, 373, 297, -10, -402, -402, -276,
- -401, -98, -345, -402, 21, -67, -275, -39, -402, -402,
- 9, 362, -402, 202, -221, -315, -402, 22, -9, -40,
- -402, -402, -402, -402, -402, -402, -402, -402, 194, -402,
- -402, -402, -112, -124, -402, -402, 6, 369, 377, -402,
- -402, 35
+ -387, -387, -387, -387, -387, -387, -387, -387, 2, -37,
+ -97, -387, -7, 417, 334, -6, -387, -387, -290, -386,
+ -99, -351, -387, 44, -106, -276, 17, -387, -387, 57,
+ 400, -387, 233, -228, -187, -387, 76, -9, -40, -387,
+ -387, -387, -387, -387, -387, -387, -387, 194, -387, -387,
+ -387, -112, -124, -387, -387, 6, 422, 429, -387, -387,
+ 19
};
/* 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 -196
+#define YYTABLE_NINF -195
static const yytype_int16 yytable[] =
{
- 57, 94, 131, 229, 218, 422, 217, 104, 102, 306,
- 150, 14, 75, 93, 93, 352, 354, 74, 189, 359,
- 161, 162, 19, 163, 380, 110, 110, 110, 110, 110,
- 236, 110, 110, 184, 119, 185, 141, 120, 266, 403,
- 267, 362, 445, 128, 19, 393, 137, 157, 133, 110,
- 139, 268, 323, 168, 146, 112, 113, 114, 115, 333,
- 116, 117, 339, 19, 20, 21, 125, 158, 159, 160,
- 158, 159, 160, 126, 360, 198, 131, 134, 135, 178,
- 435, 127, 390, 391, 179, 180, 181, 215, 142, 182,
- 340, 193, 203, 200, 231, 304, 74, 419, 420, 93,
- 204, 341, 131, 93, 93, 335, 199, 397, 369, 161,
- 221, 164, 407, 158, 159, 160, 183, 228, 57, 192,
- 158, 159, 160, 233, 223, 158, 159, 160, 269, 374,
- 235, 188, 184, 133, 185, 238, 194, 195, 286, 287,
- 288, 289, 290, 291, 196, 293, 294, 144, 197, 243,
- 244, 245, 394, 247, 248, 250, -196, -196, 438, 352,
- 182, 201, 230, 322, 202, 205, 158, 159, 160, 158,
- 159, 160, 207, 219, 273, 274, 275, 276, 277, 278,
- 305, 74, 279, 158, 159, 160, 222, 19, 271, 220,
- 158, 159, 160, 107, 186, 363, 187, 332, 108, 297,
- 299, 300, 301, 302, 303, 224, 376, 296, 334, 226,
- 57, 105, 106, 158, 159, 160, 158, 159, 160, 336,
- 345, 312, 348, 314, 316, 232, 121, 234, 239, 241,
- 124, 280, 320, 373, 292, 129, 357, 282, 138, 308,
- 284, 143, 311, 149, 317, 151, 152, 153, 154, 155,
- 158, 159, 160, 319, 179, 180, 181, 326, 327, 182,
- 329, 158, 159, 160, 158, 159, 160, 131, 321, 330,
- 401, 160, 158, 159, 160, 342, 19, 344, 299, 347,
- 299, 93, 356, 338, 381, 347, 158, 159, 160, 242,
- 361, 364, 208, 209, 210, 211, 351, 371, 406, 212,
- 408, 213, 377, 378, 412, 379, 166, 167, 168, 169,
- 424, 365, 370, 383, 416, 417, 395, 382, 429, 430,
- 384, 57, 426, 427, 385, 158, 159, 160, 436, 386,
- 388, 432, 176, 177, 178, 434, 439, 387, 389, 179,
- 180, 181, 131, 392, 182, 404, 396, 410, 347, 347,
- -68, 411, 415, 443, 444, 246, 158, 159, 160, 251,
+ 57, 352, 131, 229, 218, 94, 119, 104, 102, 217,
+ 150, 120, 75, 93, 93, 354, 19, 358, 359, 162,
+ 422, 163, 184, 306, 185, 110, 110, 110, 110, 110,
+ 236, 110, 110, 403, 235, 323, 141, 189, 74, 112,
+ 113, 114, 115, 128, 116, 117, 137, 157, 133, 110,
+ 139, 266, 333, 267, 146, 339, 444, 19, 19, 20,
+ 21, 134, 135, 125, 268, 335, 322, 360, 369, 198,
+ 158, 159, 160, 14, 434, 374, 131, 126, 127, 340,
+ 161, 390, 419, 420, 158, 159, 160, 158, 159, 160,
+ 341, 215, 203, 200, 231, 304, 158, 159, 160, 93,
+ 199, 362, 131, 93, 93, 394, 158, 159, 160, 164,
+ 221, 407, 233, 158, 159, 160, 332, 228, 57, 158,
+ 159, 160, 142, 74, 223, 161, 158, 159, 160, 158,
+ 159, 160, 192, 133, 397, 238, 158, 159, 160, 193,
+ 183, 269, 144, 334, 352, 184, 230, 185, 204, 243,
+ 244, 245, 380, 247, 248, 250, 437, 286, 287, 288,
+ 289, 290, 291, 194, 293, 294, 158, 159, 160, 158,
+ 159, 160, 188, 393, 273, 274, 275, 276, 277, 278,
+ 305, 345, 279, 348, 208, 209, 210, 211, 271, 195,
+ 186, 212, 187, 213, 196, 363, 158, 159, 160, 297,
+ 299, 300, 301, 302, 303, 197, 376, 296, 336, 201,
+ 57, 105, 106, 205, 158, 159, 160, 158, 159, 160,
+ 373, 312, 207, 314, 316, 202, 121, 158, 159, 160,
+ 124, 219, 320, 168, 169, 129, -195, -195, 138, 242,
+ 182, 143, -67, 149, 220, 151, 152, 153, 154, 155,
+ 222, 224, 310, 226, 239, 357, 232, 326, 327, 178,
+ 329, 158, 159, 160, 179, 180, 181, 131, 234, 182,
+ 401, 241, 280, 158, 159, 160, 282, 344, 299, 347,
+ 299, 93, 356, 338, 347, 347, 284, 308, 292, 406,
+ 311, 408, 317, 319, 411, 412, 351, 166, 167, 168,
+ 169, 321, 330, 381, 160, 416, 417, 342, 19, 424,
+ 361, 365, 370, 426, 168, 169, 364, 428, 429, 371,
+ 377, 57, 431, 176, 177, 178, 433, 435, 378, 379,
+ 179, 180, 181, 382, 438, 182, 179, 180, 181, 177,
+ 178, 182, 131, 442, 443, 179, 180, 181, 347, 387,
+ 182, 389, 383, 395, 384, 246, 158, 159, 160, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 166, 167, 168, 169, 347, 423,
- 344, 310, 398, 425, 433, 98, 441, 168, 169, 158,
- 159, 160, 442, 414, 214, 398, 440, 123, 174, 175,
- 176, 177, 178, 158, 159, 160, 295, 179, 180, 181,
- 409, 431, 182, 178, 318, 413, 93, 147, 179, 180,
- 181, -13, 76, 182, 347, 148, 0, 0, 324, 0,
- 74, 0, 16, 93, 17, 18, 19, 20, 21, 22,
+ 262, 263, 264, 265, 166, 167, 168, 169, 347, 385,
+ 344, 318, 398, 386, 404, 388, 166, -195, 168, 169,
+ 158, 159, 160, 414, 391, 398, 392, 396, 174, 175,
+ 176, 177, 178, 158, 159, 160, 410, 179, 180, 181,
+ 415, 430, 182, 177, 178, 324, 93, 425, 423, 179,
+ 180, 181, 432, 347, 182, -13, 76, 440, 331, 98,
+ 441, 214, 93, 409, 74, 123, 16, 295, 17, 18,
+ 19, 20, 21, 22, 23, 77, 24, 25, 26, 27,
+ 28, 439, 29, 30, 31, 32, 33, 34, 78, 97,
+ 79, 80, 35, 81, 82, 83, 84, 85, 86, 413,
+ 147, 168, 87, 88, 89, 90, 36, 148, 37, 38,
+ 39, 40, 41, 42, 158, 159, 160, 0, 43, 44,
+ 45, 46, 47, 48, 91, 49, 0, 178, 0, 74,
+ 0, 50, 179, 180, 181, 19, 0, 182, 0, 366,
+ 0, 107, 0, 51, 52, 53, 108, -3, 76, 372,
+ 54, 55, 0, 0, 56, 92, 74, 0, 16, 0,
+ 17, 18, 19, 20, 21, 22, 23, 77, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 78, 97, 79, 80, 35, 81, 82, 83, 84, 85,
+ 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
+ 37, 38, 39, 40, 41, 42, 158, 159, 160, 0,
+ 43, 44, 45, 46, 47, 48, 91, 49, 0, 158,
+ 159, 160, 0, 50, 0, 0, 158, 159, 160, 0,
+ 0, 367, 0, 0, 0, 51, 52, 53, 0, 0,
+ 76, 0, 54, 55, 368, 0, 56, 92, 74, 337,
+ 16, 375, 17, 18, 19, 20, 21, 22, 23, 77,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 78, 97, 79, 80, 35, 81, 82, 83,
+ 84, 85, 86, 0, 0, 0, 87, 88, 89, 90,
+ 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
+ 0, 0, 43, 44, 45, 46, 47, 48, 91, 49,
+ 0, 178, 0, 0, 0, 50, 179, 180, 181, 0,
+ 0, 182, 0, 0, 0, 0, 0, 51, 52, 53,
+ 0, 0, 76, 0, 54, 55, 0, 0, 56, 92,
+ 74, 427, 16, 0, 17, 18, 19, 20, 21, 22,
23, 77, 24, 25, 26, 27, 28, 0, 29, 30,
31, 32, 33, 34, 78, 97, 79, 80, 35, 81,
82, 83, 84, 85, 86, 0, 0, 0, 87, 88,
89, 90, 36, 0, 37, 38, 39, 40, 41, 42,
- 158, 159, 160, 0, 43, 44, 45, 46, 47, 48,
- 91, 49, 0, 158, 159, 160, 178, 50, 158, 159,
- 160, 179, 180, 181, 0, 331, 182, 0, 0, 51,
- 52, 53, 0, -3, 76, 0, 54, 55, 366, 372,
- 56, 92, 74, 367, 16, 0, 17, 18, 19, 20,
+ 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
+ 91, 49, 0, 0, 0, 0, 0, 50, 1, 2,
+ 3, 4, 5, 6, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 76, 0, 54, 55, 0, 0,
+ 56, 92, 74, 436, 16, 0, 17, 18, 19, 20,
21, 22, 23, 77, 24, 25, 26, 27, 28, 0,
29, 30, 31, 32, 33, 34, 78, 97, 79, 80,
35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
- 41, 42, 158, 159, 160, 0, 43, 44, 45, 46,
- 47, 48, 91, 49, 0, 158, 159, 160, 0, 50,
- 1, 2, 3, 4, 5, 6, 0, 368, 0, 0,
+ 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 91, 49, 0, 0, 0, 0, 0, 50,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
- 375, 0, 56, 92, 74, 337, 16, 0, 17, 18,
+ 0, 0, 56, 92, 74, 0, 16, 0, 17, 18,
19, 20, 21, 22, 23, 77, 24, 25, 26, 27,
28, 0, 29, 30, 31, 32, 33, 34, 78, 97,
79, 80, 35, 81, 82, 83, 84, 85, 86, 0,
@@ -515,112 +538,102 @@ static const yytype_int16 yytable[] =
45, 46, 47, 48, 91, 49, 0, 0, 0, 0,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 51, 52, 53, 0, 0, 76, 0,
- 54, 55, 0, 0, 56, 92, 74, 428, 16, 0,
+ 54, 55, 0, 0, 56, 92, 74, 0, 16, 0,
17, 18, 19, 20, 21, 22, 23, 77, 24, 25,
26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 78, 97, 79, 80, 35, 81, 82, 83, 84, 85,
+ 78, 0, 79, 80, 35, 81, 82, 83, 84, 85,
86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
43, 44, 45, 46, 47, 48, 91, 49, 0, 0,
0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 51, 52, 53, 76, 0,
+ 0, 0, 54, 55, 0, 0, 56, 92, 16, 0,
+ 17, 18, 19, 20, 21, 22, 23, -62, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 166, 167, 168, 169, 0, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 0, 49, 175, 176,
+ 177, 178, 0, 50, 0, 0, 179, 180, 181, 0,
+ 0, 182, 0, 0, 0, 51, 52, 53, 76, 0,
+ 0, 0, 54, 55, 0, 0, 56, 0, 16, 0,
+ 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, -162, 0, 0,
+ 43, 44, 45, 46, 47, 48, 184, 49, 185, -162,
+ 0, 0, 0, 50, 0, 0, 0, -162, 0, 0,
0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 76, 0, 54, 55, 0, 0, 56, 92, 74, 437,
- 16, 0, 17, 18, 19, 20, 21, 22, 23, 77,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
- 33, 34, 78, 97, 79, 80, 35, 81, 82, 83,
- 84, 85, 86, 0, 0, 0, 87, 88, 89, 90,
- 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
- 0, 0, 43, 44, 45, 46, 47, 48, 91, 49,
- 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 76, 0, 54, 55, 0, 0, 56, 92,
- 74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 77, 24, 25, 26, 27, 28, 0, 29, 30,
- 31, 32, 33, 34, 78, 97, 79, 80, 35, 81,
- 82, 83, 84, 85, 86, 0, 0, 0, 87, 88,
- 89, 90, 36, 0, 37, 38, 39, 40, 41, 42,
- 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
- 91, 49, 0, 0, 0, 0, 0, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 76, 0, 54, 55, 0, 0,
- 56, 92, 74, 0, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, 77, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 78, 0, 79, 80,
- 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
- 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
- 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 91, 49, 0, 0, 0, 0, 0, 50,
+ 0, 0, 54, 55, 0, -62, 56, -162, -162, -162,
+ -162, 0, 0, 0, -162, 0, -162, 0, 0, -162,
+ 0, 0, 0, 0, 0, 0, -162, -162, -162, -162,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 76, 0, 0, 0, 54, 55,
- 0, 0, 56, 92, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, -63, 24, 25, 26, 27, 28, 0,
+ -162, -162, -162, -194, -162, -162, -162, -162, -162, -162,
+ -162, -162, -162, -162, -162, -194, 0, 0, 0, -162,
+ -162, -162, 0, -194, -162, -162, 0, 0, 0, 0,
+ 0, 0, 0, 166, 167, 168, 169, 0, 0, 0,
+ 0, 0, 0, -194, -194, -194, -194, 0, 0, 0,
+ -194, 0, -194, 0, 0, -194, 0, 0, 0, 0,
+ 177, 178, -194, -194, -194, -194, 179, 180, 181, 0,
+ 0, 182, 0, 0, 0, 0, -194, -194, -194, 0,
+ -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
+ -194, 0, 0, 0, 0, -194, -194, -194, 0, 0,
+ -194, -194, 74, 0, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 0, 130, 25, 26, 27, 28, 108,
29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 166,
- 167, 168, 169, 0, 36, 0, 37, 38, 39, 40,
+ 35, 0, 0, 0, 0, 0, 0, -195, 0, 168,
+ 169, 0, 0, 0, 36, 0, 37, 38, 39, 40,
41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 0, 49, 175, 176, 177, 178, 0, 50,
- 0, 0, 179, 180, 181, 0, 0, 182, 0, 0,
- 0, 51, 52, 53, 76, 0, 0, 0, 54, 55,
- 0, 0, 56, 0, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 0, 37, 38, 39, 40,
- 41, 42, 0, -163, 0, 0, 43, 44, 45, 46,
- 47, 48, 184, 49, 185, -163, 0, 0, 0, 50,
- 0, 0, 0, -163, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 168, 169, 0, 54, 55,
- 0, -63, 56, -163, -163, -163, -163, 0, 0, 0,
- -163, 0, -163, 0, 0, -163, 0, 0, 0, 0,
- 177, 178, -163, -163, -163, -163, 179, 180, 181, 0,
- 0, 182, 0, 0, 0, 0, -163, -163, -163, -195,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -195, 0, 0, 0, -163, -163, -163, 0, -195,
- -163, -163, 0, 0, 0, 0, 0, 0, 0, 166,
- -196, 168, 169, 0, 0, 0, 0, 0, 0, -195,
- -195, -195, -195, 0, 0, 0, -195, 0, -195, 0,
- 0, -195, 0, 0, 0, 0, 177, 178, -195, -195,
- -195, -195, 179, 180, 181, 0, 0, 182, 0, 0,
- 0, 0, -195, -195, -195, 0, -195, -195, -195, -195,
- -195, -195, -195, -195, -195, -195, -195, 0, 0, 0,
- 0, -195, -195, -195, 0, 0, -195, -195, 74, 0,
- 16, 0, 17, 18, 19, 20, 21, 22, 23, 0,
- 130, 25, 26, 27, 28, 108, 29, 30, 31, 32,
- 33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 0, 166, 167, 168, 169, 0, 0, 0,
- 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
- 0, 0, 43, 44, 45, 46, 47, 48, 0, 49,
- 177, 178, 0, 0, 0, 50, 179, 180, 181, 0,
- 0, 182, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 74, 56, 16,
- 0, 17, 18, 19, 20, 21, 22, 23, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
- 0, 0, -196, 0, 168, 169, 0, 0, 0, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 0, 49, 177,
- 178, 0, 0, 0, 50, 179, 180, 181, 0, 0,
- 182, 0, 0, 0, 0, 0, 51, 52, 53, 0,
- 0, 0, 0, 54, 55, 0, 74, 56, 16, 0,
- 17, 18, 19, 20, 21, 22, 23, 0, 136, 25,
+ 47, 48, 0, 49, 177, 178, 0, 0, 0, 50,
+ 179, 180, 181, 0, 0, 182, 0, 0, 0, 0,
+ 0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
+ 0, 74, 56, 16, 0, 17, 18, 19, 20, 21,
+ 22, 23, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
+ 208, 209, 210, 211, 0, 0, 0, 212, 0, 213,
+ 0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
+ 48, 0, 49, 158, 159, 160, 0, 0, 50, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 51, 52, 53, 0, 0, 0, 0, 54, 55, 0,
+ 74, 56, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 0, 136, 25, 26, 27, 28, 0, 29, 30,
+ 31, 32, 33, 34, 0, 0, 0, 0, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 36, 0, 37, 38, 39, 40, 41, 42,
+ 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
+ 0, 49, 0, 0, 0, 0, 0, 50, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 0, 0, 54, 55, 0, 0,
+ 56, 16, 103, 17, 18, 19, 20, 21, 22, 23,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 43, 44, 45, 46, 47, 48, 0,
+ 49, 0, 0, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
+ 53, 0, 0, 0, 0, 54, 55, 0, 16, 56,
+ 17, 18, 19, 20, 21, 22, 23, 140, 24, 25,
26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 0, 0, 0, 0, 35, 208, 209, 210, 211, 0,
- 0, 0, 212, 0, 213, 0, 0, 0, 36, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 36, 0,
37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
- 43, 44, 45, 46, 47, 48, 0, 49, 158, 159,
- 160, 0, 0, 50, 0, 0, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 0, 49, 0, 0,
+ 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 0, 56, 16, 103, 17,
- 18, 19, 20, 21, 22, 23, 0, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
- 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 36, 0, 37,
- 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 0, 49, 0, 0, 0,
- 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
- 0, 54, 55, 0, 16, 56, 17, 18, 19, 20,
- 21, 22, 23, 140, 24, 25, 26, 27, 28, 0,
+ 0, 0, 54, 55, 0, 16, 56, 17, 18, 19,
+ 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
+ 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 36, 0, 37, 38, 39,
+ 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
+ 46, 47, 48, 0, 49, 0, 0, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 52, 53, 0, 0, 0, 0, 54,
+ 55, 0, 156, 56, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 0, 24, 25, 26, 27, 28, 0,
29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 36, 0, 37, 38, 39, 40,
@@ -628,7 +641,25 @@ static const yytype_int16 yytable[] =
47, 48, 0, 49, 0, 0, 0, 0, 0, 50,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
- 0, 16, 56, 17, 18, 19, 20, 21, 22, 23,
+ 0, 227, 56, 16, 0, 17, 18, 19, 20, 21,
+ 22, 23, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
+ 48, 0, 49, 0, 0, 0, 0, 0, 50, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 51, 52, 53, 0, 0, 0, 0, 54, 55, 0,
+ 237, 56, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 32, 33, 34, 0, 0, 0, 0, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 36, 0, 37, 38, 39, 40, 41, 42,
+ 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
+ 0, 49, 0, 0, 0, 0, 0, 50, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 0, 0, 54, 55, 0, 249,
+ 56, 16, 0, 17, 18, 19, 20, 21, 22, 23,
0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -636,7 +667,7 @@ static const yytype_int16 yytable[] =
0, 0, 0, 43, 44, 45, 46, 47, 48, 0,
49, 0, 0, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
- 53, 0, 0, 0, 0, 54, 55, 0, 156, 56,
+ 53, 0, 0, 0, 0, 54, 55, 0, 272, 56,
16, 0, 17, 18, 19, 20, 21, 22, 23, 0,
24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
@@ -645,7 +676,7 @@ static const yytype_int16 yytable[] =
0, 0, 43, 44, 45, 46, 47, 48, 0, 49,
0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 227, 56, 16,
+ 0, 0, 0, 0, 54, 55, 0, 313, 56, 16,
0, 17, 18, 19, 20, 21, 22, 23, 0, 24,
25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
@@ -654,7 +685,7 @@ static const yytype_int16 yytable[] =
0, 43, 44, 45, 46, 47, 48, 0, 49, 0,
0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
- 0, 0, 0, 54, 55, 0, 237, 56, 16, 0,
+ 0, 0, 0, 54, 55, 0, 315, 56, 16, 0,
17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
@@ -663,131 +694,124 @@ static const yytype_int16 yytable[] =
43, 44, 45, 46, 47, 48, 0, 49, 0, 0,
0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 249, 56, 16, 0, 17,
+ 0, 0, 54, 55, 0, 328, 56, 16, 0, 17,
18, 19, 20, 21, 22, 23, 0, 24, 25, 26,
27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 36, 0, 37,
38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
44, 45, 46, 47, 48, 0, 49, 0, 0, 0,
- 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
- 0, 54, 55, 0, 272, 56, 16, 0, 17, 18,
- 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
- 28, 0, 29, 30, 31, 32, 33, 34, 0, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 36, 0, 37, 38,
- 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
- 45, 46, 47, 48, 0, 49, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 313, 56, 16, 0, 17, 18, 19,
- 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 0, 49, 0, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 52, 53, 0, 0, 0, 0, 54,
- 55, 0, 315, 56, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 0, 37, 38, 39, 40,
- 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 0, 49, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
- 0, 328, 56, 16, 0, 17, 18, 19, 20, 21,
- 22, 23, 0, 24, 25, 26, 27, 28, 0, 29,
- 30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
+ 165, 0, 50, 0, 0, 0, 0, 166, 167, 168,
+ 169, 0, 0, 0, 51, 52, 53, 0, 0, 0,
+ 0, 54, 55, 0, 0, 56, 170, 171, 325, 172,
+ 173, 174, 175, 176, 177, 178, 0, 0, 0, 165,
+ 179, 180, 181, 0, 0, 182, 166, 167, 168, 169,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
- 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 0, 49, 0, 0, 0, 165, 0, 50, 0,
- 0, 0, 0, 166, 167, 168, 169, 0, 0, 0,
- 51, 52, 53, 0, 0, 0, 0, 54, 55, 0,
- 0, 56, 170, 171, 325, 172, 173, 174, 175, 176,
- 177, 178, 0, 0, 0, 165, 179, 180, 181, 0,
- 0, 182, 166, 167, 168, 169, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 170, 171, 0, 172, 173,
+ 174, 175, 176, 177, 178, 0, 0, 0, 165, 179,
+ 180, 181, 0, 0, 182, 166, 167, 168, 169, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 170, 171, 0, 172, 173, 174, 175, 176, 177,
- 178, 0, 0, 0, 165, 179, 180, 181, 0, 0,
- 182, 166, 167, 168, 169, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 171, 0, 172, 173, 174,
+ 175, 176, 177, 178, 0, 0, 0, -195, 179, 180,
+ 181, 0, 0, 182, 166, 167, 168, 169, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 171, 0, 172, 173, 174, 175, 176, 177, 178,
- 0, 0, 0, -196, 179, 180, 181, 0, 0, 182,
- 166, 167, 168, 169, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 172, 173, 174, 175, 176, 177, 178, 0,
- 0, 0, 0, 179, 180, 181, 0, 0, 182
+ 0, 0, 0, 0, 0, 0, 172, 173, 174, 175,
+ 176, 177, 178, 0, 0, 0, 0, 179, 180, 181,
+ 0, 0, 182
};
static const yytype_int16 yycheck[] =
{
- 9, 11, 42, 127, 116, 406, 12, 16, 15, 12,
- 50, 0, 10, 11, 12, 291, 291, 9, 74, 294,
- 77, 9, 15, 11, 339, 19, 20, 21, 22, 23,
- 142, 25, 26, 9, 11, 11, 45, 99, 9, 384,
- 11, 98, 443, 41, 15, 360, 44, 56, 42, 43,
- 44, 22, 12, 61, 48, 20, 21, 22, 23, 12,
- 25, 26, 283, 15, 16, 17, 99, 73, 74, 75,
- 73, 74, 75, 99, 295, 68, 116, 42, 43, 87,
- 425, 99, 357, 358, 92, 93, 94, 97, 21, 97,
- 9, 82, 90, 87, 134, 219, 9, 44, 45, 97,
- 91, 20, 142, 101, 102, 12, 99, 20, 12, 77,
- 119, 99, 387, 73, 74, 75, 99, 126, 127, 21,
- 73, 74, 75, 99, 122, 73, 74, 75, 99, 12,
- 20, 9, 9, 127, 11, 144, 99, 99, 194, 195,
- 196, 197, 198, 199, 99, 201, 202, 99, 99, 158,
- 159, 160, 12, 162, 163, 164, 93, 94, 433, 435,
- 97, 99, 127, 20, 99, 46, 73, 74, 75, 73,
- 74, 75, 20, 99, 183, 184, 185, 186, 187, 188,
- 220, 9, 189, 73, 74, 75, 98, 15, 182, 99,
- 73, 74, 75, 21, 9, 307, 11, 20, 26, 208,
- 209, 210, 211, 212, 213, 24, 330, 205, 20, 98,
- 219, 17, 18, 73, 74, 75, 73, 74, 75, 20,
- 287, 230, 289, 232, 233, 99, 32, 10, 71, 11,
- 36, 21, 241, 20, 99, 41, 292, 21, 44, 71,
- 21, 47, 98, 49, 10, 51, 52, 53, 54, 55,
- 73, 74, 75, 24, 92, 93, 94, 266, 267, 97,
- 269, 73, 74, 75, 73, 74, 75, 307, 11, 99,
- 382, 75, 73, 74, 75, 21, 15, 286, 287, 288,
- 289, 279, 291, 281, 340, 294, 73, 74, 75, 98,
- 98, 24, 40, 41, 42, 43, 290, 10, 386, 47,
- 388, 49, 10, 10, 392, 10, 59, 60, 61, 62,
- 408, 309, 321, 98, 402, 403, 10, 21, 416, 417,
- 98, 330, 410, 411, 98, 73, 74, 75, 426, 98,
- 98, 419, 85, 86, 87, 423, 434, 99, 20, 92,
- 93, 94, 382, 98, 97, 9, 98, 98, 357, 358,
- 98, 98, 20, 441, 442, 161, 73, 74, 75, 165,
+ 9, 291, 42, 127, 116, 11, 11, 16, 15, 12,
+ 50, 99, 10, 11, 12, 291, 15, 293, 294, 9,
+ 406, 11, 9, 12, 11, 19, 20, 21, 22, 23,
+ 142, 25, 26, 384, 20, 12, 45, 74, 9, 20,
+ 21, 22, 23, 41, 25, 26, 44, 56, 42, 43,
+ 44, 9, 12, 11, 48, 283, 442, 15, 15, 16,
+ 17, 42, 43, 99, 22, 12, 20, 295, 12, 68,
+ 73, 74, 75, 0, 425, 12, 116, 99, 99, 9,
+ 77, 357, 44, 45, 73, 74, 75, 73, 74, 75,
+ 20, 97, 90, 87, 134, 219, 73, 74, 75, 97,
+ 99, 98, 142, 101, 102, 12, 73, 74, 75, 99,
+ 119, 387, 99, 73, 74, 75, 20, 126, 127, 73,
+ 74, 75, 21, 9, 122, 77, 73, 74, 75, 73,
+ 74, 75, 21, 127, 20, 144, 73, 74, 75, 82,
+ 99, 99, 99, 20, 434, 9, 127, 11, 91, 158,
+ 159, 160, 339, 162, 163, 164, 432, 194, 195, 196,
+ 197, 198, 199, 99, 201, 202, 73, 74, 75, 73,
+ 74, 75, 9, 360, 183, 184, 185, 186, 187, 188,
+ 220, 287, 189, 289, 40, 41, 42, 43, 182, 99,
+ 9, 47, 11, 49, 99, 307, 73, 74, 75, 208,
+ 209, 210, 211, 212, 213, 99, 330, 205, 20, 99,
+ 219, 17, 18, 46, 73, 74, 75, 73, 74, 75,
+ 20, 230, 20, 232, 233, 99, 32, 73, 74, 75,
+ 36, 99, 241, 61, 62, 41, 93, 94, 44, 98,
+ 97, 47, 98, 49, 99, 51, 52, 53, 54, 55,
+ 98, 24, 98, 98, 71, 292, 99, 266, 267, 87,
+ 269, 73, 74, 75, 92, 93, 94, 307, 10, 97,
+ 382, 11, 21, 73, 74, 75, 21, 286, 287, 288,
+ 289, 279, 291, 281, 293, 294, 21, 71, 99, 386,
+ 98, 388, 10, 24, 391, 392, 290, 59, 60, 61,
+ 62, 11, 99, 340, 75, 402, 403, 21, 15, 408,
+ 98, 309, 321, 410, 61, 62, 24, 416, 417, 10,
+ 10, 330, 419, 85, 86, 87, 423, 426, 10, 10,
+ 92, 93, 94, 21, 433, 97, 92, 93, 94, 86,
+ 87, 97, 382, 440, 441, 92, 93, 94, 357, 99,
+ 97, 20, 98, 10, 98, 161, 73, 74, 75, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 59, 60, 61, 62, 387, 98,
- 389, 98, 380, 20, 99, 12, 98, 61, 62, 73,
- 74, 75, 98, 400, 97, 393, 435, 35, 83, 84,
- 85, 86, 87, 73, 74, 75, 204, 92, 93, 94,
- 389, 418, 97, 87, 98, 393, 414, 48, 92, 93,
- 94, 0, 1, 97, 433, 48, -1, -1, 98, -1,
- 9, -1, 11, 431, 13, 14, 15, 16, 17, 18,
+ 389, 98, 380, 98, 9, 98, 59, 60, 61, 62,
+ 73, 74, 75, 400, 98, 393, 98, 98, 83, 84,
+ 85, 86, 87, 73, 74, 75, 98, 92, 93, 94,
+ 20, 418, 97, 86, 87, 98, 414, 20, 98, 92,
+ 93, 94, 99, 432, 97, 0, 1, 98, 98, 12,
+ 98, 97, 430, 389, 9, 35, 11, 204, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 434, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 393,
+ 48, 61, 47, 48, 49, 50, 51, 48, 53, 54,
+ 55, 56, 57, 58, 73, 74, 75, -1, 63, 64,
+ 65, 66, 67, 68, 69, 70, -1, 87, -1, 9,
+ -1, 76, 92, 93, 94, 15, -1, 97, -1, 98,
+ -1, 21, -1, 88, 89, 90, 26, 0, 1, 325,
+ 95, 96, -1, -1, 99, 100, 9, -1, 11, -1,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, -1, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, -1, -1, -1, 47, 48, 49, 50, 51, -1,
+ 53, 54, 55, 56, 57, 58, 73, 74, 75, -1,
+ 63, 64, 65, 66, 67, 68, 69, 70, -1, 73,
+ 74, 75, -1, 76, -1, -1, 73, 74, 75, -1,
+ -1, 98, -1, -1, -1, 88, 89, 90, -1, -1,
+ 1, -1, 95, 96, 98, -1, 99, 100, 9, 10,
+ 11, 98, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, -1, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, -1, -1, -1, 47, 48, 49, 50,
+ 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
+ -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 87, -1, -1, -1, 76, 92, 93, 94, -1,
+ -1, 97, -1, -1, -1, -1, -1, 88, 89, 90,
+ -1, -1, 1, -1, 95, 96, -1, -1, 99, 100,
+ 9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, -1, -1, -1, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
- 73, 74, 75, -1, 63, 64, 65, 66, 67, 68,
- 69, 70, -1, 73, 74, 75, 87, 76, 73, 74,
- 75, 92, 93, 94, -1, 98, 97, -1, -1, 88,
- 89, 90, -1, 0, 1, -1, 95, 96, 98, 325,
- 99, 100, 9, 98, 11, -1, 13, 14, 15, 16,
+ -1, -1, -1, -1, 63, 64, 65, 66, 67, 68,
+ 69, 70, -1, -1, -1, -1, -1, 76, 3, 4,
+ 5, 6, 7, 8, -1, -1, -1, -1, -1, 88,
+ 89, 90, -1, -1, 1, -1, 95, 96, -1, -1,
+ 99, 100, 9, 10, 11, -1, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, -1, -1, -1,
47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
- 57, 58, 73, 74, 75, -1, 63, 64, 65, 66,
- 67, 68, 69, 70, -1, 73, 74, 75, -1, 76,
- 3, 4, 5, 6, 7, 8, -1, 98, -1, -1,
+ 57, 58, -1, -1, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 88, 89, 90, -1, -1, 1, -1, 95, 96,
- 98, -1, 99, 100, 9, 10, 11, -1, 13, 14,
+ -1, -1, 99, 100, 9, -1, 11, -1, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, -1,
@@ -796,112 +820,102 @@ static const yytype_int16 yycheck[] =
65, 66, 67, 68, 69, 70, -1, -1, -1, -1,
-1, 76, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 88, 89, 90, -1, -1, 1, -1,
- 95, 96, -1, -1, 99, 100, 9, 10, 11, -1,
+ 95, 96, -1, -1, 99, 100, 9, -1, 11, -1,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 33, -1, 35, 36, 37, 38, 39, 40, 41, 42,
43, -1, -1, -1, 47, 48, 49, 50, 51, -1,
53, 54, 55, 56, 57, 58, -1, -1, -1, -1,
63, 64, 65, 66, 67, 68, 69, 70, -1, -1,
-1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 88, 89, 90, 1, -1,
+ -1, -1, 95, 96, -1, -1, 99, 100, 11, -1,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, -1, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, 60, 61, 62, -1, 51, -1,
+ 53, 54, 55, 56, 57, 58, -1, -1, -1, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, 84, 85,
+ 86, 87, -1, 76, -1, -1, 92, 93, 94, -1,
+ -1, 97, -1, -1, -1, 88, 89, 90, 1, -1,
+ -1, -1, 95, 96, -1, -1, 99, -1, 11, -1,
+ 13, 14, 15, 16, 17, 18, 19, -1, 21, 22,
+ 23, 24, 25, -1, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 51, -1,
+ 53, 54, 55, 56, 57, 58, -1, 0, -1, -1,
+ 63, 64, 65, 66, 67, 68, 9, 70, 11, 12,
+ -1, -1, -1, 76, -1, -1, -1, 20, -1, -1,
-1, -1, -1, -1, -1, 88, 89, 90, -1, -1,
- 1, -1, 95, 96, -1, -1, 99, 100, 9, 10,
- 11, -1, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, -1, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, -1, -1, -1, 47, 48, 49, 50,
- 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
- -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
- -1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
- -1, -1, 1, -1, 95, 96, -1, -1, 99, 100,
- 9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, -1, -1, -1, 47, 48,
- 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
- -1, -1, -1, -1, 63, 64, 65, 66, 67, 68,
- 69, 70, -1, -1, -1, -1, -1, 76, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, -1, -1, 1, -1, 95, 96, -1, -1,
- 99, 100, 9, -1, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
- 27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, -1, -1, -1,
- 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
- 57, 58, -1, -1, -1, -1, 63, 64, 65, 66,
- 67, 68, 69, 70, -1, -1, -1, -1, -1, 76,
+ -1, -1, 95, 96, -1, 98, 99, 40, 41, 42,
+ 43, -1, -1, -1, 47, -1, 49, -1, -1, 52,
+ -1, -1, -1, -1, -1, -1, 59, 60, 61, 62,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, 1, -1, -1, -1, 95, 96,
- -1, -1, 99, 100, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
- 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
- 37, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- 60, 61, 62, -1, 51, -1, 53, 54, 55, 56,
- 57, 58, -1, -1, -1, -1, 63, 64, 65, 66,
- 67, 68, -1, 70, 84, 85, 86, 87, -1, 76,
- -1, -1, 92, 93, 94, -1, -1, 97, -1, -1,
- -1, 88, 89, 90, 1, -1, -1, -1, 95, 96,
- -1, -1, 99, -1, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, -1, 21, 22, 23, 24, 25, -1,
- 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
- 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 51, -1, 53, 54, 55, 56,
- 57, 58, -1, 0, -1, -1, 63, 64, 65, 66,
- 67, 68, 9, 70, 11, 12, -1, -1, -1, 76,
- -1, -1, -1, 20, -1, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, -1, 61, 62, -1, 95, 96,
- -1, 98, 99, 40, 41, 42, 43, -1, -1, -1,
+ 73, 74, 75, 0, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 12, -1, -1, -1, 92,
+ 93, 94, -1, 20, 97, 98, -1, -1, -1, -1,
+ -1, -1, -1, 59, 60, 61, 62, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, 43, -1, -1, -1,
47, -1, 49, -1, -1, 52, -1, -1, -1, -1,
86, 87, 59, 60, 61, 62, 92, 93, 94, -1,
- -1, 97, -1, -1, -1, -1, 73, 74, 75, 0,
+ -1, 97, -1, -1, -1, -1, 73, 74, 75, -1,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 12, -1, -1, -1, 92, 93, 94, -1, 20,
- 97, 98, -1, -1, -1, -1, -1, -1, -1, 59,
- 60, 61, 62, -1, -1, -1, -1, -1, -1, 40,
- 41, 42, 43, -1, -1, -1, 47, -1, 49, -1,
- -1, 52, -1, -1, -1, -1, 86, 87, 59, 60,
- 61, 62, 92, 93, 94, -1, -1, 97, -1, -1,
- -1, -1, 73, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, -1, -1, -1,
- -1, 92, 93, 94, -1, -1, 97, 98, 9, -1,
- 11, -1, 13, 14, 15, 16, 17, 18, 19, -1,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, -1, -1, -1, -1, 37, -1, -1, -1,
- -1, -1, -1, 59, 60, 61, 62, -1, -1, -1,
- 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
- -1, -1, 63, 64, 65, 66, 67, 68, -1, 70,
- 86, 87, -1, -1, -1, 76, 92, 93, 94, -1,
- -1, 97, -1, -1, -1, -1, -1, 88, 89, 90,
- -1, -1, -1, -1, 95, 96, -1, 9, 99, 11,
- -1, 13, 14, 15, 16, 17, 18, 19, -1, 21,
- 22, 23, 24, 25, -1, 27, 28, 29, 30, 31,
- 32, -1, -1, -1, -1, 37, -1, -1, -1, -1,
- -1, -1, 59, -1, 61, 62, -1, -1, -1, 51,
- -1, 53, 54, 55, 56, 57, 58, -1, -1, -1,
- -1, 63, 64, 65, 66, 67, 68, -1, 70, 86,
- 87, -1, -1, -1, 76, 92, 93, 94, -1, -1,
- 97, -1, -1, -1, -1, -1, 88, 89, 90, -1,
- -1, -1, -1, 95, 96, -1, 9, 99, 11, -1,
- 13, 14, 15, 16, 17, 18, 19, -1, 21, 22,
+ 87, -1, -1, -1, -1, 92, 93, 94, -1, -1,
+ 97, 98, 9, -1, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ 37, -1, -1, -1, -1, -1, -1, 59, -1, 61,
+ 62, -1, -1, -1, 51, -1, 53, 54, 55, 56,
+ 57, 58, -1, -1, -1, -1, 63, 64, 65, 66,
+ 67, 68, -1, 70, 86, 87, -1, -1, -1, 76,
+ 92, 93, 94, -1, -1, 97, -1, -1, -1, -1,
+ -1, 88, 89, 90, -1, -1, -1, -1, 95, 96,
+ -1, 9, 99, 11, -1, 13, 14, 15, 16, 17,
+ 18, 19, -1, 21, 22, 23, 24, 25, -1, 27,
+ 28, 29, 30, 31, 32, -1, -1, -1, -1, 37,
+ 40, 41, 42, 43, -1, -1, -1, 47, -1, 49,
+ -1, -1, -1, 51, -1, 53, 54, 55, 56, 57,
+ 58, -1, -1, -1, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 73, 74, 75, -1, -1, 76, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, -1, -1, -1, -1, 95, 96, -1,
+ 9, 99, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, -1, 21, 22, 23, 24, 25, -1, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 51, -1, 53, 54, 55, 56, 57, 58,
+ -1, -1, -1, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, -1, -1, -1, -1, -1, 76, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, -1, -1, -1, -1, 95, 96, -1, -1,
+ 99, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ -1, 21, 22, 23, 24, 25, -1, 27, 28, 29,
+ 30, 31, 32, -1, -1, -1, -1, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 51, -1, 53, 54, 55, 56, 57, 58, -1,
+ -1, -1, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, -1, -1, -1, -1, -1, 76, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
+ 90, -1, -1, -1, -1, 95, 96, -1, 11, 99,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, 30, 31, 32,
- -1, -1, -1, -1, 37, 40, 41, 42, 43, -1,
- -1, -1, 47, -1, 49, -1, -1, -1, 51, -1,
+ -1, -1, -1, -1, 37, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 51, -1,
53, 54, 55, 56, 57, 58, -1, -1, -1, -1,
- 63, 64, 65, 66, 67, 68, -1, 70, 73, 74,
- 75, -1, -1, 76, -1, -1, -1, -1, -1, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, -1, -1,
+ -1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 88, 89, 90, -1, -1,
- -1, -1, 95, 96, -1, -1, 99, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, -1, 21, 22, 23,
- 24, 25, -1, 27, 28, 29, 30, 31, 32, -1,
- -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 51, -1, 53,
- 54, 55, 56, 57, 58, -1, -1, -1, -1, 63,
- 64, 65, 66, 67, 68, -1, 70, -1, -1, -1,
- -1, -1, 76, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, -1, -1, -1,
- -1, 95, 96, -1, 11, 99, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
+ -1, -1, 95, 96, -1, 11, 99, 13, 14, 15,
+ 16, 17, 18, 19, -1, 21, 22, 23, 24, 25,
+ -1, 27, 28, 29, 30, 31, 32, -1, -1, -1,
+ -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 51, -1, 53, 54, 55,
+ 56, 57, 58, -1, -1, -1, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, -1, -1, -1, -1, -1,
+ 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 88, 89, 90, -1, -1, -1, -1, 95,
+ 96, -1, 98, 99, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, 24, 25, -1,
27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 51, -1, 53, 54, 55, 56,
@@ -909,7 +923,25 @@ static const yytype_int16 yycheck[] =
67, 68, -1, 70, -1, -1, -1, -1, -1, 76,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 88, 89, 90, -1, -1, -1, -1, 95, 96,
- -1, 11, 99, 13, 14, 15, 16, 17, 18, 19,
+ -1, 98, 99, 11, -1, 13, 14, 15, 16, 17,
+ 18, 19, -1, 21, 22, 23, 24, 25, -1, 27,
+ 28, 29, 30, 31, 32, -1, -1, -1, -1, 37,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 51, -1, 53, 54, 55, 56, 57,
+ 58, -1, -1, -1, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, -1, -1, -1, -1, -1, 76, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 88, 89, 90, -1, -1, -1, -1, 95, 96, -1,
+ 98, 99, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, -1, 21, 22, 23, 24, 25, -1, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 51, -1, 53, 54, 55, 56, 57, 58,
+ -1, -1, -1, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, -1, -1, -1, -1, -1, 76, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
+ 89, 90, -1, -1, -1, -1, 95, 96, -1, 98,
+ 99, 11, -1, 13, 14, 15, 16, 17, 18, 19,
-1, 21, 22, 23, 24, 25, -1, 27, 28, 29,
30, 31, 32, -1, -1, -1, -1, 37, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -951,58 +983,23 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, -1, -1, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, -1, -1, 63,
64, 65, 66, 67, 68, -1, 70, -1, -1, -1,
- -1, -1, 76, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, -1, -1, -1,
- -1, 95, 96, -1, 98, 99, 11, -1, 13, 14,
- 15, 16, 17, 18, 19, -1, 21, 22, 23, 24,
- 25, -1, 27, 28, 29, 30, 31, 32, -1, -1,
- -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 51, -1, 53, 54,
- 55, 56, 57, 58, -1, -1, -1, -1, 63, 64,
- 65, 66, 67, 68, -1, 70, -1, -1, -1, -1,
- -1, 76, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, -1, -1, -1, -1,
- 95, 96, -1, 98, 99, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, -1, 21, 22, 23, 24, 25,
- -1, 27, 28, 29, 30, 31, 32, -1, -1, -1,
- -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 51, -1, 53, 54, 55,
- 56, 57, 58, -1, -1, -1, -1, 63, 64, 65,
- 66, 67, 68, -1, 70, -1, -1, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, -1, -1, -1, -1, 95,
- 96, -1, 98, 99, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, -1, 21, 22, 23, 24, 25, -1,
- 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
- 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 51, -1, 53, 54, 55, 56,
- 57, 58, -1, -1, -1, -1, 63, 64, 65, 66,
- 67, 68, -1, 70, -1, -1, -1, -1, -1, 76,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, -1, -1, -1, -1, 95, 96,
- -1, 98, 99, 11, -1, 13, 14, 15, 16, 17,
- 18, 19, -1, 21, 22, 23, 24, 25, -1, 27,
- 28, 29, 30, 31, 32, -1, -1, -1, -1, 37,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 51, -1, 53, 54, 55, 56, 57,
- 58, -1, -1, -1, -1, 63, 64, 65, 66, 67,
- 68, -1, 70, -1, -1, -1, 52, -1, 76, -1,
- -1, -1, -1, 59, 60, 61, 62, -1, -1, -1,
- 88, 89, 90, -1, -1, -1, -1, 95, 96, -1,
- -1, 99, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, -1, -1, -1, 52, 92, 93, 94, -1,
- -1, 97, 59, 60, 61, 62, -1, -1, -1, -1,
+ 52, -1, 76, -1, -1, -1, -1, 59, 60, 61,
+ 62, -1, -1, -1, 88, 89, 90, -1, -1, -1,
+ -1, 95, 96, -1, -1, 99, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, -1, -1, -1, 52,
+ 92, 93, 94, -1, -1, 97, 59, 60, 61, 62,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, -1, 81, 82, 83, 84, 85, 86,
- 87, -1, -1, -1, 52, 92, 93, 94, -1, -1,
- 97, 59, 60, 61, 62, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, -1, -1, -1, 52, 92,
+ 93, 94, -1, -1, 97, 59, 60, 61, 62, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 79, -1, 81, 82, 83, 84, 85, 86, 87,
- -1, -1, -1, 52, 92, 93, 94, -1, -1, 97,
- 59, 60, 61, 62, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 79, -1, 81, 82, 83,
+ 84, 85, 86, 87, -1, -1, -1, 52, 92, 93,
+ 94, -1, -1, 97, 59, 60, 61, 62, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 81, 82, 83, 84, 85, 86, 87, -1,
- -1, -1, -1, 92, 93, 94, -1, -1, 97
+ -1, -1, -1, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, 87, -1, -1, -1, -1, 92, 93, 94,
+ -1, -1, 97
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1014,46 +1011,46 @@ static const yytype_uint8 yystos[] =
16, 17, 18, 19, 21, 22, 23, 24, 25, 27,
28, 29, 30, 31, 32, 37, 51, 53, 54, 55,
56, 57, 58, 63, 64, 65, 66, 67, 68, 70,
- 76, 88, 89, 90, 95, 96, 99, 139, 140, 141,
- 144, 145, 146, 147, 148, 149, 151, 154, 156, 157,
- 158, 159, 160, 161, 9, 109, 1, 20, 33, 35,
+ 76, 88, 89, 90, 95, 96, 99, 138, 139, 140,
+ 143, 144, 145, 146, 147, 148, 150, 153, 155, 156,
+ 157, 158, 159, 160, 9, 109, 1, 20, 33, 35,
36, 38, 39, 40, 41, 42, 43, 47, 48, 49,
- 50, 69, 100, 109, 117, 120, 139, 34, 115, 116,
- 117, 114, 114, 12, 139, 149, 149, 21, 26, 109,
- 157, 162, 162, 162, 162, 162, 162, 162, 150, 11,
- 99, 149, 132, 132, 149, 99, 99, 99, 109, 149,
- 21, 140, 153, 157, 162, 162, 21, 109, 149, 157,
- 20, 139, 21, 149, 99, 152, 157, 158, 159, 149,
- 140, 149, 149, 149, 149, 149, 98, 139, 73, 74,
+ 50, 69, 100, 109, 116, 119, 138, 34, 114, 115,
+ 116, 113, 113, 12, 138, 148, 148, 21, 26, 109,
+ 156, 161, 161, 161, 161, 161, 161, 161, 149, 11,
+ 99, 148, 131, 131, 148, 99, 99, 99, 109, 148,
+ 21, 139, 152, 156, 161, 161, 21, 109, 148, 156,
+ 20, 138, 21, 148, 99, 151, 156, 157, 158, 148,
+ 139, 148, 148, 148, 148, 148, 98, 138, 73, 74,
75, 77, 9, 11, 99, 52, 59, 60, 61, 62,
78, 79, 81, 82, 83, 84, 85, 86, 87, 92,
93, 94, 97, 99, 9, 11, 9, 11, 9, 110,
- 133, 131, 21, 131, 99, 99, 99, 99, 68, 99,
- 157, 99, 99, 109, 131, 46, 122, 20, 40, 41,
- 42, 43, 47, 49, 116, 117, 115, 12, 153, 99,
- 99, 139, 98, 109, 24, 135, 98, 98, 139, 154,
- 162, 140, 99, 99, 10, 20, 153, 98, 139, 71,
- 137, 11, 98, 139, 139, 139, 149, 139, 139, 98,
- 139, 149, 149, 149, 149, 149, 149, 149, 149, 149,
- 149, 149, 149, 149, 149, 149, 9, 11, 22, 99,
- 143, 157, 98, 139, 139, 139, 139, 139, 139, 114,
- 21, 130, 21, 134, 21, 118, 110, 110, 110, 110,
- 110, 110, 99, 110, 110, 134, 109, 139, 126, 139,
- 139, 139, 139, 139, 154, 140, 12, 142, 71, 136,
- 98, 98, 139, 98, 139, 98, 139, 10, 98, 24,
- 139, 11, 20, 12, 98, 80, 139, 139, 98, 139,
- 99, 98, 20, 12, 20, 12, 20, 10, 109, 135,
- 9, 20, 21, 125, 139, 126, 127, 139, 126, 129,
- 155, 157, 120, 124, 127, 128, 139, 110, 111, 127,
- 135, 98, 98, 153, 24, 109, 98, 98, 98, 12,
- 139, 10, 149, 20, 12, 98, 154, 10, 10, 10,
- 136, 110, 21, 98, 98, 98, 98, 99, 98, 20,
- 127, 127, 98, 136, 12, 10, 98, 20, 109, 138,
- 119, 153, 123, 123, 9, 112, 112, 127, 112, 125,
- 98, 98, 112, 138, 114, 20, 112, 112, 113, 44,
- 45, 121, 121, 98, 122, 20, 112, 112, 10, 122,
- 122, 114, 112, 99, 112, 123, 122, 10, 127, 122,
- 128, 98, 98, 112, 112, 121
+ 132, 130, 21, 130, 99, 99, 99, 99, 68, 99,
+ 156, 99, 99, 109, 130, 46, 121, 20, 40, 41,
+ 42, 43, 47, 49, 115, 116, 114, 12, 152, 99,
+ 99, 138, 98, 109, 24, 134, 98, 98, 138, 153,
+ 161, 139, 99, 99, 10, 20, 152, 98, 138, 71,
+ 136, 11, 98, 138, 138, 138, 148, 138, 138, 98,
+ 138, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 9, 11, 22, 99,
+ 142, 156, 98, 138, 138, 138, 138, 138, 138, 113,
+ 21, 129, 21, 133, 21, 117, 110, 110, 110, 110,
+ 110, 110, 99, 110, 110, 133, 109, 138, 125, 138,
+ 138, 138, 138, 138, 153, 139, 12, 141, 71, 135,
+ 98, 98, 138, 98, 138, 98, 138, 10, 98, 24,
+ 138, 11, 20, 12, 98, 80, 138, 138, 98, 138,
+ 99, 98, 20, 12, 20, 12, 20, 10, 109, 134,
+ 9, 20, 21, 124, 138, 125, 126, 138, 125, 128,
+ 154, 156, 119, 123, 126, 127, 138, 110, 126, 126,
+ 134, 98, 98, 152, 24, 109, 98, 98, 98, 12,
+ 138, 10, 148, 20, 12, 98, 153, 10, 10, 10,
+ 135, 110, 21, 98, 98, 98, 98, 99, 98, 20,
+ 126, 98, 98, 135, 12, 10, 98, 20, 109, 137,
+ 118, 152, 122, 122, 9, 111, 111, 126, 111, 124,
+ 98, 111, 111, 137, 113, 20, 111, 111, 112, 44,
+ 45, 120, 120, 98, 121, 20, 111, 10, 121, 121,
+ 113, 111, 99, 111, 122, 121, 10, 126, 121, 127,
+ 98, 98, 111, 111, 120
};
typedef enum {
@@ -1078,9 +1075,9 @@ static const toketypes yy_type_tab[] =
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_ival,
- toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_ival, 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_ival,
+ toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_ival, 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_ival,
toketype_ival, toketype_ival, 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_opval,
@@ -1089,6 +1086,6 @@ static const toketypes yy_type_tab[] =
};
/* Generated from:
- * 017d1ce591fb32d5be2885c489b8b219c35b98bec901eb4a58e82f01d7a52622 perly.y
+ * cb438129c218850b1de0e202e7ed0f84fbad4a28047160c86667ff00d8a878e3 perly.y
* 38f866dcd8341ad3c0810347587113eb2c6ac7d4f33bdab75b020efce92865be regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index b4bdb48253..eab7de2395 100644
--- a/perly.y
+++ b/perly.y
@@ -90,7 +90,7 @@
%type <ival> grammar remember mremember
%type <ival> startsub startanonsub startformsub
/* FIXME for MAD - are these two ival? */
-%type <ival> mydefsv mintro
+%type <ival> mintro
%type <opval> stmtseq fullstmt labfullstmt barestmt block mblock else
%type <opval> expr term subscripted scalar ary hsh arylen star amper sideff
@@ -215,10 +215,6 @@ remember: /* NULL */ /* start a full lexical scope */
{ $$ = block_start(TRUE); }
;
-mydefsv: /* NULL */ /* lexicalize $_ */
- { $$ = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); }
- ;
-
mblock : '{' mremember stmtseq '}'
{ if (PL_parser->copline > (line_t)IVAL($1))
PL_parser->copline = (line_t)IVAL($1);
@@ -380,10 +376,15 @@ barestmt: PLUGSTMT
TOKEN_GETMAD($5,$$,')');
PL_parser->copline = (line_t)IVAL($1);
}
- | GIVEN '(' remember mydefsv mexpr ')' mblock
+ | GIVEN '(' remember mexpr ')' mblock
{
+ const PADOFFSET offset = pad_findmy_pvs("$_", 0);
$$ = block_end($3,
- newGIVENOP($5, op_scope($7), (PADOFFSET)$4));
+ newGIVENOP($4, op_scope($6),
+ offset == NOT_IN_PAD
+ || PAD_COMPNAME_FLAGS_isOUR(offset)
+ ? 0
+ : offset));
PL_parser->copline = (line_t)IVAL($1);
}
| WHEN '(' remember mexpr ')' mblock
diff --git a/pp_ctl.c b/pp_ctl.c
index ca953ad05e..cb549fa841 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -4273,8 +4273,15 @@ PP(pp_entergiven)
ENTER_with_name("given");
SAVETMPS;
- SAVECLEARSV(PAD_SVl(PL_op->op_targ));
- sv_setsv_mg(PAD_SV(PL_op->op_targ), POPs);
+ if (PL_op->op_targ) {
+ SAVEPADSVANDMORTALIZE(PL_op->op_targ);
+ SvREFCNT_dec(PAD_SVl(PL_op->op_targ));
+ PAD_SVl(PL_op->op_targ) = SvREFCNT_inc_NN(POPs);
+ }
+ else {
+ SAVE_DEFSV;
+ DEFSV_set(POPs);
+ }
PUSHBLOCK(cx, CXt_GIVEN, SP);
PUSHGIVEN(cx);
diff --git a/t/op/switch.t b/t/op/switch.t
index 420c6aecfa..02e2cde8e0 100644
--- a/t/op/switch.t
+++ b/t/op/switch.t
@@ -52,7 +52,7 @@ given(my $x = "foo") {
$_ = "outside";
given("inside") { check_outside1() }
-sub check_outside1 { is($_, "outside", "\$_ lexically scoped") }
+sub check_outside1 { is($_, "inside", "\$_ is not lexically scoped") }
{
my $_ = "outside";
@@ -598,7 +598,7 @@ sub notfoo {"bar"}
my $f = tie my $v, "FetchCounter";
-{ my $test_name = "Only one FETCH (in given)";
+{ my $test_name = "Multiple FETCHes in given, due to aliasing";
my $ok;
given($v = 23) {
when(undef) {}
@@ -609,7 +609,7 @@ my $f = tie my $v, "FetchCounter";
when(/24/) {$ok = 0}
}
is($ok, 1, "precheck: $test_name");
- is($f->count(), 1, $test_name);
+ is($f->count(), 4, $test_name);
}
{ my $test_name = "Only one FETCH (numeric when)";
@@ -1366,6 +1366,7 @@ unreified_check(undef,"");
{
sub f1 {
+ my $_;
given(3) {
return sub { $_ } # close over lexical $_
}