summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-10-02 22:38:27 -0700
committerFather Chrysostomos <sprout@cpan.org>2014-10-11 00:10:15 -0700
commitd39c26a657753cddffc8cb3dbd2aaa929b2c78fe (patch)
treee3061d7ad6cb247565e7ce16a74db2eddc5a07e7
parent5a36b2c090849e18b86c1759887c5bcebd598113 (diff)
downloadperl-d39c26a657753cddffc8cb3dbd2aaa929b2c78fe.tar.gz
foreach \$var
Some passing tests are still marked to-do. We need more tests still.
-rw-r--r--cop.h5
-rw-r--r--mg.c9
-rw-r--r--mg.h1
-rw-r--r--op.c8
-rw-r--r--perly.act1209
-rw-r--r--perly.h64
-rw-r--r--perly.tab1592
-rw-r--r--perly.y37
-rw-r--r--pp.c2
-rw-r--r--pp_ctl.c12
-rw-r--r--pp_hot.c5
11 files changed, 1522 insertions, 1422 deletions
diff --git a/cop.h b/cop.h
index 37980f04bd..9c25555d95 100644
--- a/cop.h
+++ b/cop.h
@@ -761,7 +761,9 @@ struct block_loop {
((c)->blk_loop.itervar_u.oldcomppad \
? (CxPADLOOP(c) \
? CxITERVAR_PADSV(c) \
- : &GvSV((c)->blk_loop.itervar_u.gv)) \
+ : isGV((c)->blk_loop.itervar_u.gv) \
+ ? &GvSV((c)->blk_loop.itervar_u.gv) \
+ : (SV **)&(c)->blk_loop.itervar_u.gv) \
: (SV**)NULL)
#define CxLABEL(c) (0 + CopLABEL((c)->blk_oldcop))
@@ -980,6 +982,7 @@ struct context {
/* private flags for CXt_LOOP */
#define CXp_FOR_DEF 0x10 /* foreach using $_ */
+#define CXp_FOR_LVREF 0x20 /* foreach using \$var */
#define CxPADLOOP(c) ((c)->blk_loop.my_op->op_targ)
/* private flags for CXt_SUBST */
diff --git a/mg.c b/mg.c
index 2b310e3272..bf98374be0 100644
--- a/mg.c
+++ b/mg.c
@@ -2507,7 +2507,14 @@ Perl_magic_setlvref(pTHX_ SV *sv, MAGIC *mg)
hv_store_ent((HV *)mg->mg_obj, (SV *)mg->mg_ptr,
SvREFCNT_inc_simple_NN(SvRV(sv)), 0);
}
- sv_unmagic(sv, PERL_MAGIC_lvref);
+ if (mg->mg_flags & MGf_PERSIST)
+ NOOP; /* This sv is in use as an iterator var and will be reused,
+ so we must leave the magic. */
+ else
+ /* This sv could be returned by the assignment op, so clear the
+ magic, as lvrefs are an implementation detail that must not be
+ leaked to the user. */
+ sv_unmagic(sv, PERL_MAGIC_lvref);
return 0;
}
diff --git a/mg.h b/mg.h
index 0f2fa292fb..3aa2401faa 100644
--- a/mg.h
+++ b/mg.h
@@ -40,6 +40,7 @@ struct magic {
#define MGf_DUP 0x10 /* has an svt_dup MGVTBL entry */
#define MGf_LOCAL 0x20 /* has an svt_local MGVTBL entry */
#define MGf_BYTES 0x40 /* PERL_MAGIC_regex_global only */
+#define MGf_PERSIST 0x80 /* PERL_MAGIC_lvref only */
#define MgTAINTEDDIR(mg) (mg->mg_flags & MGf_TAINTEDDIR)
#define MgTAINTEDDIR_on(mg) (mg->mg_flags |= MGf_TAINTEDDIR)
diff --git a/op.c b/op.c
index 0d727c08e8..6a36fa1efb 100644
--- a/op.c
+++ b/op.c
@@ -2450,6 +2450,8 @@ S_lvref(pTHX_ OP *o, I32 type)
o->op_type = OP_LVREF;
o->op_ppaddr = PL_ppaddr[OP_LVREF];
o->op_private &= OPpLVAL_INTRO|OPpLVREF_ELEM|OPpLVREF_TYPE;
+ if (type == OP_ENTERLOOP)
+ o->op_private |= OPpLVREF_ITER;
}
OP *
@@ -2747,7 +2749,9 @@ Perl_op_lvalue_flags(pTHX_ OP *o, I32 type, U32 flags)
goto nomod;
case OP_SREFGEN:
- if (type != OP_AASSIGN && type != OP_SASSIGN) goto nomod;
+ if (type != OP_AASSIGN && type != OP_SASSIGN
+ && type != OP_ENTERLOOP)
+ goto nomod;
/* Don’t bother applying lvalue context to the ex-list. */
kid = cUNOPx(cUNOPo->op_first)->op_first;
assert (!OP_HAS_SIBLING(kid));
@@ -6932,6 +6936,8 @@ Perl_newFOROP(pTHX_ I32 flags, OP *sv, OP *expr, OP *block, OP *cont)
op_free(sv);
sv = NULL;
}
+ else if (sv->op_type == OP_NULL && sv->op_targ == OP_SREFGEN)
+ NOOP;
else
Perl_croak(aTHX_ "Can't use %s for loop variable", PL_op_desc[sv->op_type]);
if (padoff) {
diff --git a/perly.act b/perly.act
index 97784c9d7d..d92fbbb038 100644
--- a/perly.act
+++ b/perly.act
@@ -5,199 +5,199 @@
*/
case 2:
-#line 114 "perly.y"
+#line 115 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 3:
-#line 118 "perly.y"
+#line 119 "perly.y"
{
newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
(yyval.ival) = 0;
- }
+ ;}
break;
case 4:
-#line 123 "perly.y"
+#line 124 "perly.y"
{
parser->expect = XTERM;
- }
+ ;}
break;
case 5:
-#line 127 "perly.y"
+#line 128 "perly.y"
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
- }
+ ;}
break;
case 6:
-#line 132 "perly.y"
+#line 133 "perly.y"
{
parser->expect = XBLOCK;
- }
+ ;}
break;
case 7:
-#line 136 "perly.y"
+#line 137 "perly.y"
{
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- }
+ ;}
break;
case 8:
-#line 144 "perly.y"
+#line 145 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 9:
-#line 148 "perly.y"
+#line 149 "perly.y"
{
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- }
+ ;}
break;
case 10:
-#line 156 "perly.y"
+#line 157 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 11:
-#line 160 "perly.y"
+#line 161 "perly.y"
{
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- }
+ ;}
break;
case 12:
-#line 168 "perly.y"
+#line 169 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 13:
-#line 172 "perly.y"
+#line 173 "perly.y"
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
- }
+ ;}
break;
case 14:
-#line 180 "perly.y"
+#line 181 "perly.y"
{ if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
parser->copline = (line_t)(ps[(1) - (4)].val.ival);
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
- }
+ ;}
break;
case 15:
-#line 188 "perly.y"
+#line 189 "perly.y"
{ if (parser->copline > (line_t)(ps[(1) - (7)].val.ival))
parser->copline = (line_t)(ps[(1) - (7)].val.ival);
(yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
- }
+ ;}
break;
case 16:
-#line 195 "perly.y"
- { (yyval.ival) = block_start(TRUE); }
+#line 196 "perly.y"
+ { (yyval.ival) = block_start(TRUE); ;}
break;
case 17:
-#line 199 "perly.y"
+#line 200 "perly.y"
{ if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
parser->copline = (line_t)(ps[(1) - (4)].val.ival);
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
- }
+ ;}
break;
case 18:
-#line 206 "perly.y"
- { (yyval.ival) = block_start(FALSE); }
+#line 207 "perly.y"
+ { (yyval.ival) = block_start(FALSE); ;}
break;
case 19:
-#line 211 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 212 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 20:
-#line 213 "perly.y"
+#line 214 "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))
PL_hints |= HINT_BLOCK_SCOPE;
- }
+ ;}
break;
case 21:
-#line 222 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 223 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 22:
-#line 224 "perly.y"
+#line 225 "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))
PL_hints |= HINT_BLOCK_SCOPE;
- }
+ ;}
break;
case 23:
-#line 233 "perly.y"
+#line 234 "perly.y"
{
(yyval.opval) = (ps[(1) - (1)].val.opval) ? newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval)) : NULL;
- }
+ ;}
break;
case 24:
-#line 237 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 238 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 25:
-#line 241 "perly.y"
+#line 242 "perly.y"
{
(yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
- }
+ ;}
break;
case 26:
-#line 245 "perly.y"
+#line 246 "perly.y"
{
(yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
- }
+ ;}
break;
case 27:
-#line 252 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 253 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 28:
-#line 254 "perly.y"
+#line 255 "perly.y"
{
CV *fmtcv = PL_compcv;
newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
@@ -206,11 +206,11 @@ case 2:
SvREFCNT_inc_simple_void(fmtcv);
pad_add_anon(fmtcv, OP_NULL);
}
- }
+ ;}
break;
case 29:
-#line 264 "perly.y"
+#line 265 "perly.y"
{
if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
const char *const name =
@@ -231,11 +231,11 @@ case 2:
CvCLONE_on(PL_compcv);
parser->in_my = 0;
parser->in_my_stash = NULL;
- }
+ ;}
break;
case 30:
-#line 286 "perly.y"
+#line 287 "perly.y"
{
SvREFCNT_inc_simple_void(PL_compcv);
(ps[(2) - (7)].val.opval)->op_type == OP_CONST
@@ -244,53 +244,53 @@ case 2:
;
(yyval.opval) = (OP*)NULL;
intro_my();
- }
+ ;}
break;
case 31:
-#line 296 "perly.y"
+#line 297 "perly.y"
{
package((ps[(3) - (4)].val.opval));
if ((ps[(2) - (4)].val.opval))
package_version((ps[(2) - (4)].val.opval));
(yyval.opval) = (OP*)NULL;
- }
+ ;}
break;
case 32:
-#line 303 "perly.y"
- { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
+#line 304 "perly.y"
+ { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
break;
case 33:
-#line 305 "perly.y"
+#line 306 "perly.y"
{
SvREFCNT_inc_simple_void(PL_compcv);
utilize((ps[(1) - (7)].val.ival), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
(yyval.opval) = (OP*)NULL;
- }
+ ;}
break;
case 34:
-#line 311 "perly.y"
+#line 312 "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)));
parser->copline = (line_t)(ps[(1) - (7)].val.ival);
- }
+ ;}
break;
case 35:
-#line 317 "perly.y"
+#line 318 "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)));
parser->copline = (line_t)(ps[(1) - (7)].val.ival);
- }
+ ;}
break;
case 36:
-#line 323 "perly.y"
+#line 324 "perly.y"
{
const PADOFFSET offset = pad_findmy_pvs("$_", 0);
(yyval.opval) = block_end((ps[(3) - (6)].val.ival),
@@ -300,51 +300,51 @@ case 2:
? 0
: offset));
parser->copline = (line_t)(ps[(1) - (6)].val.ival);
- }
+ ;}
break;
case 37:
-#line 334 "perly.y"
- { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
+#line 335 "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 38:
-#line 336 "perly.y"
- { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
+#line 337 "perly.y"
+ { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
break;
case 39:
-#line 338 "perly.y"
+#line 339 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (8)].val.ival),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
parser->copline = (line_t)(ps[(1) - (8)].val.ival);
- }
+ ;}
break;
case 40:
-#line 345 "perly.y"
+#line 346 "perly.y"
{
(yyval.opval) = block_end((ps[(3) - (8)].val.ival),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
parser->copline = (line_t)(ps[(1) - (8)].val.ival);
- }
+ ;}
break;
case 41:
-#line 352 "perly.y"
- { parser->expect = XTERM; }
+#line 353 "perly.y"
+ { parser->expect = XTERM; ;}
break;
case 42:
-#line 354 "perly.y"
- { parser->expect = XTERM; }
+#line 355 "perly.y"
+ { parser->expect = XTERM; ;}
break;
case 43:
-#line 357 "perly.y"
+#line 358 "perly.y"
{
OP *initop = (ps[(4) - (13)].val.opval);
OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -357,82 +357,116 @@ case 2:
}
(yyval.opval) = block_end((ps[(3) - (13)].val.ival), forop);
parser->copline = (line_t)(ps[(1) - (13)].val.ival);
- }
+ ;}
break;
case 44:
-#line 371 "perly.y"
+#line 372 "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)));
parser->copline = (line_t)(ps[(1) - (9)].val.ival);
- }
+ ;}
break;
case 45:
-#line 376 "perly.y"
+#line 377 "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)));
parser->copline = (line_t)(ps[(1) - (8)].val.ival);
- }
+ ;}
break;
case 46:
-#line 382 "perly.y"
+#line 383 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = my((ps[(5) - (5)].val.opval)); ;}
+ break;
+
+ case 47:
+#line 385 "perly.y"
+ {
+ (yyval.opval) = block_end(
+ (ps[(4) - (11)].val.ival),
+ newFOROP(0,
+ op_lvalue(
+ newUNOP(OP_REFGEN, 0,
+ op_lvalue((ps[(6) - (11)].val.opval),
+ OP_REFGEN)),
+ OP_ENTERLOOP),
+ (ps[(8) - (11)].val.opval), (ps[(10) - (11)].val.opval), (ps[(11) - (11)].val.opval))
+ );
+ parser->copline = (line_t)(ps[(1) - (11)].val.ival);
+ ;}
+ break;
+
+ case 48:
+#line 399 "perly.y"
+ {
+ (yyval.opval) = block_end((ps[(5) - (9)].val.ival), newFOROP(
+ 0, op_lvalue(newUNOP(OP_REFGEN, 0,
+ op_lvalue((ps[(3) - (9)].val.opval),
+ OP_REFGEN)),
+ OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
+ parser->copline = (line_t)(ps[(1) - (9)].val.ival);
+ ;}
+ break;
+
+ case 49:
+#line 408 "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)));
parser->copline = (line_t)(ps[(1) - (7)].val.ival);
- }
+ ;}
break;
- case 47:
-#line 388 "perly.y"
+ case 50:
+#line 414 "perly.y"
{
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
- }
+ ;}
break;
- case 48:
-#line 394 "perly.y"
+ case 51:
+#line 420 "perly.y"
{
package((ps[(3) - (5)].val.opval));
if ((ps[(2) - (5)].val.opval)) {
package_version((ps[(2) - (5)].val.opval));
}
- }
+ ;}
break;
- case 49:
-#line 401 "perly.y"
+ case 52:
+#line 427 "perly.y"
{
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
if (parser->copline > (line_t)(ps[(4) - (8)].val.ival))
parser->copline = (line_t)(ps[(4) - (8)].val.ival);
- }
+ ;}
break;
- case 50:
-#line 409 "perly.y"
+ case 53:
+#line 435 "perly.y"
{
(yyval.opval) = (ps[(1) - (2)].val.opval);
- }
+ ;}
break;
- case 51:
-#line 413 "perly.y"
+ case 54:
+#line 439 "perly.y"
{
(yyval.opval) = (OP*)NULL;
parser->copline = NOLINE;
- }
+ ;}
break;
- case 52:
-#line 421 "perly.y"
+ case 55:
+#line 447 "perly.y"
{ OP *list;
if ((ps[(2) - (2)].val.opval)) {
OP *term = (ps[(2) - (2)].val.opval);
@@ -446,197 +480,197 @@ case 2:
else parser->copline--;
(yyval.opval) = newSTATEOP(0, NULL,
convert(OP_FORMLINE, 0, list));
- }
- break;
-
- case 53:
-#line 438 "perly.y"
- { (yyval.opval) = NULL; }
- break;
-
- case 54:
-#line 440 "perly.y"
- { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
- break;
-
- case 55:
-#line 445 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ ;}
break;
case 56:
-#line 447 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 464 "perly.y"
+ { (yyval.opval) = NULL; ;}
break;
case 57:
-#line 449 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
+#line 466 "perly.y"
+ { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); ;}
break;
case 58:
-#line 451 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
+#line 471 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 59:
-#line 453 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); }
+#line 473 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 60:
-#line 455 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
+#line 475 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); ;}
break;
case 61:
-#line 457 "perly.y"
- { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
- parser->copline = (line_t)(ps[(2) - (3)].val.ival); }
+#line 477 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); ;}
break;
case 62:
-#line 460 "perly.y"
- { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
+#line 479 "perly.y"
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); ;}
break;
case 63:
-#line 465 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 481 "perly.y"
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); ;}
break;
case 64:
-#line 467 "perly.y"
+#line 483 "perly.y"
+ { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
+ parser->copline = (line_t)(ps[(2) - (3)].val.ival); ;}
+ break;
+
+ case 65:
+#line 486 "perly.y"
+ { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
+ break;
+
+ case 66:
+#line 491 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
+ break;
+
+ case 67:
+#line 493 "perly.y"
{
((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
- }
+ ;}
break;
- case 65:
-#line 472 "perly.y"
+ case 68:
+#line 498 "perly.y"
{ parser->copline = (line_t)(ps[(1) - (6)].val.ival);
(yyval.opval) = newCONDOP(0,
newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)),
op_scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
PL_hints |= HINT_BLOCK_SCOPE;
- }
+ ;}
break;
- case 66:
-#line 482 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ case 69:
+#line 508 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
- case 67:
-#line 484 "perly.y"
- { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); }
+ case 70:
+#line 510 "perly.y"
+ { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); ;}
break;
- case 68:
-#line 489 "perly.y"
+ case 71:
+#line 515 "perly.y"
{ (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
- intro_my(); }
+ intro_my(); ;}
break;
- case 69:
-#line 495 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ case 72:
+#line 521 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
- case 71:
-#line 501 "perly.y"
+ case 74:
+#line 527 "perly.y"
{ YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
- (yyval.opval) = tmplval.opval; }
- break;
-
- case 73:
-#line 509 "perly.y"
- { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
- break;
-
- case 74:
-#line 514 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
- break;
-
- case 75:
-#line 518 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+ (yyval.opval) = tmplval.opval; ;}
break;
case 76:
-#line 522 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+#line 535 "perly.y"
+ { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 77:
-#line 525 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 540 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
case 78:
-#line 526 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 544 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
case 79:
-#line 530 "perly.y"
- { (yyval.ival) = start_subparse(FALSE, 0);
- SAVEFREESV(PL_compcv); }
+#line 548 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
case 80:
-#line 536 "perly.y"
- { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
- SAVEFREESV(PL_compcv); }
+#line 551 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 81:
-#line 541 "perly.y"
- { (yyval.ival) = start_subparse(TRUE, 0);
- SAVEFREESV(PL_compcv); }
+#line 552 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
- case 84:
-#line 552 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ case 82:
+#line 556 "perly.y"
+ { (yyval.ival) = start_subparse(FALSE, 0);
+ SAVEFREESV(PL_compcv); ;}
break;
- case 86:
-#line 558 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ case 83:
+#line 562 "perly.y"
+ { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
+ SAVEFREESV(PL_compcv); ;}
break;
- case 87:
-#line 560 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+ case 84:
+#line 567 "perly.y"
+ { (yyval.ival) = start_subparse(TRUE, 0);
+ SAVEFREESV(PL_compcv); ;}
break;
- case 88:
-#line 562 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ case 87:
+#line 578 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 89:
-#line 567 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+#line 584 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 90:
-#line 569 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 586 "perly.y"
+ { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
break;
case 91:
-#line 573 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 588 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 92:
-#line 575 "perly.y"
+#line 593 "perly.y"
+ { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
+ break;
+
+ case 93:
+#line 595 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
+ break;
+
+ case 94:
+#line 599 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
+ break;
+
+ case 95:
+#line 601 "perly.y"
{
if (!FEATURE_SIGNATURES_IS_ENABLED)
Perl_croak(aTHX_ "Experimental "
@@ -645,461 +679,461 @@ case 2:
packWARN(WARN_EXPERIMENTAL__SIGNATURES),
"The signatures feature is experimental");
(yyval.opval) = parse_subsignature();
- }
+ ;}
break;
- case 93:
-#line 585 "perly.y"
+ case 96:
+#line 611 "perly.y"
{
(yyval.opval) = op_append_list(OP_LINESEQ, (ps[(2) - (3)].val.opval),
newSTATEOP(0, NULL, sawparens(newNULLLIST())));
parser->expect = XBLOCK;
- }
+ ;}
break;
- case 94:
-#line 594 "perly.y"
+ case 97:
+#line 620 "perly.y"
{
if (parser->copline > (line_t)(ps[(3) - (5)].val.ival))
parser->copline = (line_t)(ps[(3) - (5)].val.ival);
(yyval.opval) = block_end((ps[(1) - (5)].val.ival),
op_append_list(OP_LINESEQ, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)));
- }
+ ;}
break;
- case 95:
-#line 603 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ case 98:
+#line 629 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 96:
-#line 604 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ case 99:
+#line 630 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
- case 97:
-#line 609 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+ case 100:
+#line 635 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
- case 98:
-#line 611 "perly.y"
- { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+ case 101:
+#line 637 "perly.y"
+ { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
- case 99:
-#line 613 "perly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+ case 102:
+#line 639 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
- case 101:
-#line 619 "perly.y"
- { (yyval.opval) = (ps[(1) - (2)].val.opval); }
+ case 104:
+#line 645 "perly.y"
+ { (yyval.opval) = (ps[(1) - (2)].val.opval); ;}
break;
- case 102:
-#line 621 "perly.y"
+ case 105:
+#line 647 "perly.y"
{
OP* term = (ps[(3) - (3)].val.opval);
(yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
- }
+ ;}
break;
- case 104:
-#line 630 "perly.y"
+ case 107:
+#line 656 "perly.y"
{ (yyval.opval) = convert((ps[(1) - (3)].val.ival), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (3)].val.ival),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
- }
+ ;}
break;
- case 105:
-#line 634 "perly.y"
+ case 108:
+#line 660 "perly.y"
{ (yyval.opval) = convert((ps[(1) - (5)].val.ival), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (5)].val.ival),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
- }
+ ;}
break;
- case 106:
-#line 638 "perly.y"
+ case 109:
+#line 664 "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)),
newMETHOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
- }
+ ;}
break;
- case 107:
-#line 644 "perly.y"
+ case 110:
+#line 670 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
- }
+ ;}
break;
- case 108:
-#line 649 "perly.y"
+ case 111:
+#line 675 "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)),
newMETHOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
- }
+ ;}
break;
- case 109:
-#line 655 "perly.y"
+ case 112:
+#line 681 "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)),
newMETHOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
- }
+ ;}
break;
- case 110:
-#line 661 "perly.y"
- { (yyval.opval) = convert((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
+ case 113:
+#line 687 "perly.y"
+ { (yyval.opval) = convert((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
break;
- case 111:
-#line 663 "perly.y"
- { (yyval.opval) = convert((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
+ case 114:
+#line 689 "perly.y"
+ { (yyval.opval) = convert((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); ;}
break;
- case 112:
-#line 665 "perly.y"
+ case 115:
+#line 691 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
+ (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
break;
- case 113:
-#line 668 "perly.y"
+ case 116:
+#line 694 "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 116:
-#line 683 "perly.y"
- { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); }
+ case 119:
+#line 709 "perly.y"
+ { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); ;}
break;
- case 117:
-#line 685 "perly.y"
+ case 120:
+#line 711 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
- }
+ ;}
break;
- case 118:
-#line 688 "perly.y"
+ case 121:
+#line 714 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
scalar((ps[(4) - (5)].val.opval)));
- }
+ ;}
break;
- case 119:
-#line 693 "perly.y"
+ case 122:
+#line 719 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
scalar((ps[(3) - (4)].val.opval)));
- }
+ ;}
break;
- case 120:
-#line 698 "perly.y"
+ case 123:
+#line 724 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
- }
+ ;}
break;
- case 121:
-#line 701 "perly.y"
+ case 124:
+#line 727 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
- jmaybe((ps[(4) - (6)].val.opval))); }
+ jmaybe((ps[(4) - (6)].val.opval))); ;}
break;
- case 122:
-#line 705 "perly.y"
+ case 125:
+#line 731 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
- jmaybe((ps[(3) - (5)].val.opval))); }
+ jmaybe((ps[(3) - (5)].val.opval))); ;}
break;
- case 123:
-#line 709 "perly.y"
+ case 126:
+#line 735 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); }
+ newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); ;}
break;
- case 124:
-#line 712 "perly.y"
+ case 127:
+#line 738 "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))))); }
+ newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); ;}
break;
- case 125:
-#line 717 "perly.y"
+ case 128:
+#line 743 "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))))); }
- break;
-
- case 126:
-#line 721 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); }
- break;
-
- case 127:
-#line 724 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); }
- break;
-
- case 128:
-#line 726 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); }
+ newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); ;}
break;
case 129:
-#line 728 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); }
+#line 747 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); ;}
break;
case 130:
-#line 733 "perly.y"
- { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); }
+#line 750 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); ;}
break;
case 131:
-#line 735 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 752 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); ;}
break;
case 132:
-#line 737 "perly.y"
- { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
- scalar((ps[(1) - (3)].val.opval));
- (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
- }
+#line 754 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); ;}
break;
case 133:
-#line 742 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 759 "perly.y"
+ { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); ;}
break;
case 134:
-#line 744 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 761 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 135:
-#line 746 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 763 "perly.y"
+ { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
+ scalar((ps[(1) - (3)].val.opval));
+ (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
+ ;}
break;
case 136:
-#line 748 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 768 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 137:
-#line 750 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 770 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 138:
-#line 752 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 772 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 139:
-#line 754 "perly.y"
- { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 774 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 140:
-#line 756 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 776 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 141:
-#line 758 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 778 "perly.y"
+ { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 142:
-#line 760 "perly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 780 "perly.y"
+ { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); ;}
break;
case 143:
-#line 762 "perly.y"
- { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 782 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
case 144:
-#line 767 "perly.y"
- { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 784 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
case 145:
-#line 769 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+#line 786 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
case 146:
-#line 772 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 788 "perly.y"
+ { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); ;}
break;
case 147:
-#line 774 "perly.y"
- { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 793 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); ;}
break;
case 148:
-#line 776 "perly.y"
- { (yyval.opval) = newUNOP(OP_POSTINC, 0,
- op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); }
+#line 795 "perly.y"
+ { (yyval.opval) = (ps[(2) - (2)].val.opval); ;}
break;
case 149:
-#line 779 "perly.y"
- { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
- op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));}
+#line 798 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
break;
case 150:
-#line 782 "perly.y"
- { (yyval.opval) = convert(OP_JOIN, 0,
- op_append_elem(
- OP_LIST,
- newSVREF(scalar(
- newSVOP(OP_CONST,0,
- newSVpvs("\""))
- )),
- (ps[(1) - (2)].val.opval)
- ));
- }
+#line 800 "perly.y"
+ { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
break;
case 151:
-#line 793 "perly.y"
- { (yyval.opval) = newUNOP(OP_PREINC, 0,
- op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); }
+#line 802 "perly.y"
+ { (yyval.opval) = newUNOP(OP_POSTINC, 0,
+ op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); ;}
break;
case 152:
-#line 796 "perly.y"
- { (yyval.opval) = newUNOP(OP_PREDEC, 0,
- op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); }
+#line 805 "perly.y"
+ { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
+ op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));;}
break;
case 153:
-#line 803 "perly.y"
- { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); }
+#line 808 "perly.y"
+ { (yyval.opval) = convert(OP_JOIN, 0,
+ op_append_elem(
+ OP_LIST,
+ newSVREF(scalar(
+ newSVOP(OP_CONST,0,
+ newSVpvs("\""))
+ )),
+ (ps[(1) - (2)].val.opval)
+ ));
+ ;}
break;
case 154:
-#line 805 "perly.y"
- { (yyval.opval) = newANONLIST((OP*)NULL);}
+#line 819 "perly.y"
+ { (yyval.opval) = newUNOP(OP_PREINC, 0,
+ op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); ;}
break;
case 155:
-#line 807 "perly.y"
- { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); }
+#line 822 "perly.y"
+ { (yyval.opval) = newUNOP(OP_PREDEC, 0,
+ op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); ;}
break;
case 156:
-#line 809 "perly.y"
- { (yyval.opval) = newANONHASH((OP*)NULL); }
+#line 829 "perly.y"
+ { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); ;}
break;
case 157:
-#line 811 "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)); }
+#line 831 "perly.y"
+ { (yyval.opval) = newANONLIST((OP*)NULL);;}
break;
case 158:
-#line 818 "perly.y"
- { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));}
+#line 833 "perly.y"
+ { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); ;}
break;
case 159:
-#line 820 "perly.y"
- { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));}
+#line 835 "perly.y"
+ { (yyval.opval) = newANONHASH((OP*)NULL); ;}
break;
- case 164:
-#line 828 "perly.y"
- { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
+ case 160:
+#line 837 "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)); ;}
break;
- case 165:
-#line 830 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN)); }
+ case 161:
+#line 844 "perly.y"
+ { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));;}
break;
- case 166:
-#line 832 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ case 162:
+#line 846 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));;}
break;
case 167:
-#line 834 "perly.y"
- { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
+#line 854 "perly.y"
+ { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); ;}
break;
case 168:
-#line 836 "perly.y"
- { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
+#line 856 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN)); ;}
break;
case 169:
-#line 838 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 858 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 170:
-#line 840 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); }
+#line 860 "perly.y"
+ { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); ;}
break;
case 171:
-#line 842 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 862 "perly.y"
+ { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); ;}
break;
case 172:
-#line 844 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 864 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 173:
-#line 846 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 866 "perly.y"
+ { (yyval.opval) = sawparens(newNULLLIST()); ;}
break;
case 174:
-#line 848 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 868 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 175:
-#line 850 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
+#line 870 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 176:
-#line 852 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 872 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 177:
-#line 854 "perly.y"
+#line 874 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
+ case 178:
+#line 876 "perly.y"
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
+ break;
+
+ case 179:
+#line 878 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ break;
+
+ case 180:
+#line 880 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
@@ -1108,11 +1142,11 @@ case 2:
if ((yyval.opval) && (ps[(1) - (4)].val.opval))
(yyval.opval)->op_private |=
(ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
- }
+ ;}
break;
- case 178:
-#line 864 "perly.y"
+ case 181:
+#line 890 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_KVASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVASLICE, 0,
@@ -1121,11 +1155,11 @@ case 2:
if ((yyval.opval) && (ps[(1) - (4)].val.opval))
(yyval.opval)->op_private |=
(ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
- }
+ ;}
break;
- case 179:
-#line 874 "perly.y"
+ case 182:
+#line 900 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -1134,11 +1168,11 @@ case 2:
if ((yyval.opval) && (ps[(1) - (5)].val.opval))
(yyval.opval)->op_private |=
(ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
- }
+ ;}
break;
- case 180:
-#line 884 "perly.y"
+ case 183:
+#line 910 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVHSLICE, 0,
@@ -1147,157 +1181,157 @@ case 2:
if ((yyval.opval) && (ps[(1) - (5)].val.opval))
(yyval.opval)->op_private |=
(ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
- }
+ ;}
break;
- case 181:
-#line 894 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ case 184:
+#line 920 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
- case 182:
-#line 896 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
+ case 185:
+#line 922 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
break;
- case 183:
-#line 898 "perly.y"
+ case 186:
+#line 924 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
- }
+ ;}
break;
- case 184:
-#line 901 "perly.y"
+ case 187:
+#line 927 "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))));
- }
+ ;}
break;
- case 185:
-#line 906 "perly.y"
+ case 188:
+#line 932 "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))));
- }
- break;
-
- case 186:
-#line 910 "perly.y"
- { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); }
- break;
-
- case 187:
-#line 912 "perly.y"
- { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
- break;
-
- case 188:
-#line 914 "perly.y"
- { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); }
+ ;}
break;
case 189:
-#line 916 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
- scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); }
+#line 936 "perly.y"
+ { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); ;}
break;
case 190:
-#line 919 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); }
+#line 938 "perly.y"
+ { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); ;}
break;
case 191:
-#line 921 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
- PL_hints |= HINT_BLOCK_SCOPE; }
+#line 940 "perly.y"
+ { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); ;}
break;
case 192:
-#line 924 "perly.y"
- { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
+#line 942 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
+ scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); ;}
break;
case 193:
-#line 926 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 945 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); ;}
break;
case 194:
-#line 928 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
+#line 947 "perly.y"
+ { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
+ PL_hints |= HINT_BLOCK_SCOPE; ;}
break;
case 195:
-#line 930 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
+#line 950 "perly.y"
+ { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); ;}
break;
case 196:
-#line 932 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
+#line 952 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); ;}
break;
case 197:
-#line 934 "perly.y"
- { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); }
+#line 954 "perly.y"
+ { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); ;}
break;
case 198:
-#line 936 "perly.y"
- { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); }
+#line 956 "perly.y"
+ { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
break;
case 199:
-#line 938 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
+#line 958 "perly.y"
+ { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); ;}
break;
case 200:
-#line 940 "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)))); }
+#line 960 "perly.y"
+ { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); ;}
break;
case 201:
-#line 943 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
+#line 962 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); ;}
break;
case 202:
-#line 945 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);}
+#line 964 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 203:
-#line 947 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 966 "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 204:
-#line 949 "perly.y"
- { (yyval.opval) = (ps[(1) - (3)].val.opval); }
+#line 969 "perly.y"
+ { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); ;}
break;
case 205:
-#line 951 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
+#line 971 "perly.y"
+ { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);;}
break;
case 206:
-#line 953 "perly.y"
- { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
- ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
- : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); }
+#line 973 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 207:
-#line 957 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
+#line 975 "perly.y"
+ { (yyval.opval) = (ps[(1) - (3)].val.opval); ;}
break;
case 208:
-#line 959 "perly.y"
+#line 977 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
+ break;
+
+ case 209:
+#line 979 "perly.y"
+ { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
+ ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
+ : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); ;}
+ break;
+
+ case 210:
+#line 983 "perly.y"
+ { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); ;}
+ break;
+
+ case 211:
+#line 985 "perly.y"
{
if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
&& (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
@@ -1307,160 +1341,163 @@ case 2:
SAVEFREESV(PL_compcv);
} else
(yyval.ival) = 0;
- }
+ ;}
break;
- case 209:
-#line 970 "perly.y"
- { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival)); }
+ case 212:
+#line 996 "perly.y"
+ { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival)); ;}
break;
- case 212:
-#line 974 "perly.y"
+ case 215:
+#line 1000 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
- }
- break;
-
- case 214:
-#line 983 "perly.y"
- { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); }
- break;
-
- case 215:
-#line 985 "perly.y"
- { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
- break;
-
- case 216:
-#line 990 "perly.y"
- { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
+ ;}
break;
case 217:
-#line 992 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); }
+#line 1009 "perly.y"
+ { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); ;}
break;
case 218:
-#line 995 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1011 "perly.y"
+ { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); ;}
break;
case 219:
-#line 997 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1016 "perly.y"
+ { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); ;}
break;
case 220:
-#line 999 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1018 "perly.y"
+ { (yyval.opval) = sawparens(newNULLLIST()); ;}
break;
case 221:
-#line 1004 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 1021 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 222:
-#line 1006 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1023 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 223:
-#line 1010 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 1025 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 224:
-#line 1012 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1030 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 225:
-#line 1018 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
+#line 1032 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 226:
-#line 1022 "perly.y"
- { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
+#line 1036 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 227:
-#line 1026 "perly.y"
- { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); }
+#line 1038 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 228:
-#line 1030 "perly.y"
+#line 1044 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
+ break;
+
+ case 234:
+#line 1057 "perly.y"
+ { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); ;}
+ break;
+
+ case 235:
+#line 1061 "perly.y"
+ { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); ;}
+ break;
+
+ case 236:
+#line 1065 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
- }
+ ;}
break;
- case 229:
-#line 1036 "perly.y"
+ case 237:
+#line 1071 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
- }
+ ;}
break;
- case 230:
-#line 1042 "perly.y"
- { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); }
+ case 238:
+#line 1077 "perly.y"
+ { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); ;}
break;
- case 231:
-#line 1044 "perly.y"
- { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
+ case 239:
+#line 1079 "perly.y"
+ { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); ;}
break;
- case 232:
-#line 1048 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); }
+ case 240:
+#line 1083 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); ;}
break;
- case 234:
-#line 1053 "perly.y"
- { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); }
+ case 242:
+#line 1088 "perly.y"
+ { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); ;}
break;
- case 236:
-#line 1058 "perly.y"
- { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); }
+ case 244:
+#line 1093 "perly.y"
+ { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); ;}
break;
- case 238:
-#line 1063 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); }
+ case 246:
+#line 1098 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); ;}
break;
- case 239:
-#line 1068 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
+ case 247:
+#line 1103 "perly.y"
+ { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
- case 240:
-#line 1070 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
+ case 248:
+#line 1105 "perly.y"
+ { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
- case 241:
-#line 1072 "perly.y"
- { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
+ case 249:
+#line 1107 "perly.y"
+ { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
break;
- case 242:
-#line 1075 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ case 250:
+#line 1110 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
+
+/* Line 1267 of yacc.c. */
+
default: break;
/* Generated from:
- * 3a61f8d977f9bf0c587556e88cbbdbb0e347178ba03f85de232e25817751ee3c perly.y
+ * e00865c409632c145afdedc53ed48cbd223351eb895754d2775ff66a5aae8533 perly.y
* d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index 424f0028e1..35833aa07d 100644
--- a/perly.h
+++ b/perly.h
@@ -5,24 +5,27 @@
*/
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.7.12-4996. */
+/* A Bison parser, made by GNU Bison 2.3. */
-/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -33,18 +36,10 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-#if YYDEBUG
-extern int yydebug;
-#endif
-
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -133,7 +128,6 @@ extern int yydebug;
ARROW = 337
};
#endif
-
/* Tokens. */
#define GRAMPROG 258
#define GRAMEXPR 259
@@ -217,6 +211,8 @@ extern int yydebug;
#define ARROW 337
+
+
#ifdef PERL_IN_TOKE_C
static bool
S_is_opval_token(int type) {
@@ -243,39 +239,23 @@ S_is_opval_token(int type) {
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 2053 of yacc.c */
-
I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
must always be 1st union member) */
char *pval;
OP *opval;
GV *gvval;
-
-
-/* Line 2053 of yacc.c */
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
+}
+/* Line 1529 of yacc.c. */
+ YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
/* Generated from:
- * 3a61f8d977f9bf0c587556e88cbbdbb0e347178ba03f85de232e25817751ee3c perly.y
+ * e00865c409632c145afdedc53ed48cbd223351eb895754d2775ff66a5aae8533 perly.y
* d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index 39c448baf7..f09cefc350 100644
--- a/perly.tab
+++ b/perly.tab
@@ -6,16 +6,16 @@
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2763
+#define YYLAST 2784
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 104
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 74
+#define YYNNTS 77
/* YYNRULES -- Number of rules. */
-#define YYNRULES 242
+#define YYNRULES 250
/* YYNRULES -- Number of states. */
-#define YYNSTATES 476
+#define YYNSTATES 498
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -72,150 +72,155 @@ static const yytype_uint16 yyprhs[] =
24, 25, 29, 30, 34, 39, 47, 48, 53, 54,
55, 58, 59, 62, 64, 66, 69, 72, 74, 79,
80, 88, 93, 94, 102, 110, 118, 125, 132, 135,
- 144, 153, 154, 155, 169, 179, 188, 196, 199, 200,
- 209, 212, 214, 217, 218, 222, 224, 226, 230, 234,
- 238, 242, 246, 250, 251, 254, 261, 262, 265, 266,
- 267, 269, 270, 272, 274, 276, 278, 280, 282, 283,
- 284, 285, 286, 288, 290, 291, 293, 294, 297, 299,
- 302, 304, 305, 306, 310, 316, 318, 320, 324, 328,
- 332, 334, 337, 341, 343, 347, 353, 360, 364, 368,
- 374, 377, 382, 383, 389, 391, 393, 399, 404, 410,
- 415, 421, 428, 434, 439, 445, 450, 454, 461, 466,
- 472, 476, 480, 484, 488, 492, 496, 500, 504, 508,
- 512, 516, 520, 524, 528, 531, 534, 537, 540, 543,
- 546, 549, 552, 555, 559, 562, 567, 571, 577, 580,
- 583, 585, 587, 589, 591, 597, 600, 602, 605, 609,
- 611, 614, 616, 618, 620, 622, 624, 626, 631, 636,
- 642, 648, 650, 652, 656, 661, 665, 670, 675, 680,
- 685, 690, 692, 695, 698, 700, 703, 706, 708, 711,
- 713, 716, 718, 722, 724, 728, 730, 734, 739, 740,
- 746, 748, 750, 752, 754, 758, 761, 765, 768, 770,
- 772, 774, 775, 777, 778, 780, 782, 785, 788, 791,
- 794, 797, 802, 805, 807, 811, 813, 817, 819, 823,
- 825, 827, 829
+ 144, 153, 154, 155, 169, 179, 188, 189, 201, 211,
+ 219, 222, 223, 232, 235, 237, 240, 241, 245, 247,
+ 249, 253, 257, 261, 265, 269, 273, 274, 277, 284,
+ 285, 288, 289, 290, 292, 293, 295, 297, 299, 301,
+ 303, 305, 306, 307, 308, 309, 311, 313, 314, 316,
+ 317, 320, 322, 325, 327, 328, 329, 333, 339, 341,
+ 343, 347, 351, 355, 357, 360, 364, 366, 370, 376,
+ 383, 387, 391, 397, 400, 405, 406, 412, 414, 416,
+ 422, 427, 433, 438, 444, 451, 457, 462, 468, 473,
+ 477, 484, 489, 495, 499, 503, 507, 511, 515, 519,
+ 523, 527, 531, 535, 539, 543, 547, 551, 554, 557,
+ 560, 563, 566, 569, 572, 575, 578, 582, 585, 590,
+ 594, 600, 603, 606, 608, 610, 612, 614, 620, 623,
+ 625, 628, 632, 634, 637, 639, 641, 643, 645, 647,
+ 649, 654, 659, 665, 671, 673, 675, 679, 684, 688,
+ 693, 698, 703, 708, 713, 715, 718, 721, 723, 726,
+ 729, 731, 734, 736, 739, 741, 745, 747, 751, 753,
+ 757, 762, 763, 769, 771, 773, 775, 777, 781, 784,
+ 788, 791, 793, 795, 797, 798, 800, 801, 803, 805,
+ 807, 809, 811, 813, 815, 818, 821, 824, 827, 830,
+ 835, 838, 840, 844, 846, 850, 852, 856, 858, 860,
+ 862
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
105, 0, -1, -1, 3, 106, 114, 117, -1, -1,
- 4, 107, 166, -1, -1, 5, 108, 112, -1, -1,
+ 4, 107, 167, -1, -1, 5, 108, 112, -1, -1,
6, 109, 121, -1, -1, 7, 110, 119, -1, -1,
8, 111, 117, -1, 9, 114, 117, 10, -1, 21,
114, 20, 74, 118, 20, 22, -1, -1, 9, 116,
117, 10, -1, -1, -1, 117, 119, -1, -1, 118,
- 127, -1, 121, -1, 120, -1, 36, 121, -1, 36,
- 120, -1, 35, -1, 37, 142, 139, 113, -1, -1,
- 38, 143, 140, 122, 144, 145, 150, -1, 40, 23,
- 23, 20, -1, -1, 41, 140, 123, 23, 23, 165,
- 20, -1, 44, 103, 114, 136, 102, 115, 130, -1,
- 45, 103, 114, 138, 102, 115, 130, -1, 50, 103,
- 114, 136, 102, 115, -1, 51, 103, 114, 136, 102,
- 115, -1, 52, 112, -1, 42, 103, 114, 134, 102,
- 132, 115, 131, -1, 43, 103, 114, 135, 102, 132,
- 115, 131, -1, -1, -1, 49, 103, 114, 137, 20,
- 124, 134, 20, 125, 132, 137, 102, 115, -1, 49,
- 70, 114, 167, 103, 136, 102, 115, 131, -1, 49,
- 169, 103, 114, 136, 102, 115, 131, -1, 49, 103,
- 114, 136, 102, 115, 131, -1, 112, 131, -1, -1,
- 40, 23, 23, 9, 114, 126, 117, 10, -1, 129,
- 20, -1, 20, -1, 26, 128, -1, -1, 73, 117,
- 74, -1, 1, -1, 151, -1, 151, 44, 151, -1,
- 151, 45, 151, -1, 151, 42, 151, -1, 151, 43,
- 135, -1, 151, 49, 151, -1, 151, 51, 151, -1,
- -1, 46, 115, -1, 47, 103, 136, 102, 115, 130,
- -1, -1, 48, 112, -1, -1, -1, 129, -1, -1,
- 151, -1, 151, -1, 151, -1, 133, -1, 135, -1,
- 23, -1, -1, -1, -1, -1, 23, -1, 28, -1,
- -1, 26, -1, -1, 72, 26, -1, 72, -1, 72,
- 26, -1, 72, -1, -1, -1, 103, 148, 102, -1,
- 114, 147, 9, 117, 10, -1, 149, -1, 20, -1,
- 151, 78, 151, -1, 151, 77, 151, -1, 151, 76,
- 151, -1, 152, -1, 152, 80, -1, 152, 80, 161,
- -1, 161, -1, 60, 177, 152, -1, 58, 103, 177,
- 151, 102, -1, 161, 101, 155, 103, 166, 102, -1,
- 161, 101, 155, -1, 24, 177, 165, -1, 25, 177,
- 103, 166, 102, -1, 60, 165, -1, 58, 103, 166,
- 102, -1, -1, 33, 141, 112, 154, 165, -1, 24,
- -1, 169, -1, 176, 9, 151, 20, 10, -1, 169,
- 11, 151, 12, -1, 161, 101, 11, 151, 12, -1,
- 156, 11, 151, 12, -1, 169, 9, 151, 20, 10,
- -1, 161, 101, 9, 151, 20, 10, -1, 156, 9,
- 151, 20, 10, -1, 161, 101, 103, 102, -1, 161,
- 101, 103, 151, 102, -1, 156, 103, 151, 102, -1,
- 156, 103, 102, -1, 103, 151, 102, 11, 151, 12,
- -1, 29, 11, 151, 12, -1, 103, 102, 11, 151,
- 12, -1, 161, 81, 161, -1, 161, 95, 161, -1,
- 161, 63, 161, -1, 161, 64, 161, -1, 161, 89,
- 161, -1, 161, 61, 161, -1, 161, 62, 161, -1,
- 161, 88, 161, -1, 161, 87, 161, -1, 161, 54,
- 161, -1, 161, 86, 161, -1, 161, 85, 161, -1,
- 161, 84, 161, -1, 161, 90, 161, -1, 13, 161,
- -1, 14, 161, -1, 91, 161, -1, 92, 161, -1,
- 161, 98, -1, 161, 97, -1, 161, 96, -1, 100,
- 161, -1, 99, 161, -1, 11, 151, 12, -1, 11,
- 12, -1, 67, 151, 20, 10, -1, 67, 20, 10,
- -1, 39, 141, 144, 145, 149, -1, 66, 161, -1,
- 66, 112, -1, 157, -1, 158, -1, 159, -1, 160,
- -1, 161, 82, 161, 83, 161, -1, 93, 161, -1,
- 163, -1, 69, 161, -1, 103, 151, 102, -1, 29,
- -1, 103, 102, -1, 169, -1, 173, -1, 171, -1,
- 170, -1, 172, -1, 156, -1, 174, 11, 151, 12,
- -1, 175, 11, 151, 12, -1, 174, 9, 151, 20,
- 10, -1, 175, 9, 151, 20, 10, -1, 26, -1,
- 168, -1, 168, 103, 102, -1, 168, 103, 151, 102,
- -1, 68, 143, 165, -1, 161, 101, 15, 18, -1,
- 161, 101, 16, 18, -1, 161, 101, 17, 18, -1,
- 161, 101, 19, 18, -1, 161, 101, 18, 18, -1,
- 53, -1, 53, 161, -1, 79, 152, -1, 59, -1,
- 59, 112, -1, 59, 161, -1, 71, -1, 71, 161,
- -1, 32, -1, 32, 161, -1, 56, -1, 56, 103,
- 102, -1, 30, -1, 30, 103, 102, -1, 31, -1,
- 57, 103, 102, -1, 57, 103, 151, 102, -1, -1,
- 27, 162, 103, 152, 102, -1, 23, -1, 153, -1,
- 55, -1, 34, -1, 70, 164, 146, -1, 70, 164,
- -1, 103, 151, 102, -1, 103, 102, -1, 169, -1,
- 171, -1, 170, -1, -1, 152, -1, -1, 151, -1,
- 169, -1, 19, 177, -1, 15, 177, -1, 16, 177,
- -1, 17, 177, -1, 65, 177, -1, 161, 101, 65,
- 18, -1, 18, 177, -1, 170, -1, 161, 101, 16,
- -1, 171, -1, 161, 101, 17, -1, 173, -1, 161,
- 101, 18, -1, 23, -1, 169, -1, 112, -1, 28,
- -1
+ 128, -1, 121, -1, 120, -1, 36, 121, -1, 36,
+ 120, -1, 35, -1, 37, 143, 140, 113, -1, -1,
+ 38, 144, 141, 122, 145, 146, 151, -1, 40, 23,
+ 23, 20, -1, -1, 41, 141, 123, 23, 23, 166,
+ 20, -1, 44, 103, 114, 137, 102, 115, 131, -1,
+ 45, 103, 114, 139, 102, 115, 131, -1, 50, 103,
+ 114, 137, 102, 115, -1, 51, 103, 114, 137, 102,
+ 115, -1, 52, 112, -1, 42, 103, 114, 135, 102,
+ 133, 115, 132, -1, 43, 103, 114, 136, 102, 133,
+ 115, 132, -1, -1, -1, 49, 103, 114, 138, 20,
+ 124, 135, 20, 125, 133, 138, 102, 115, -1, 49,
+ 70, 114, 168, 103, 137, 102, 115, 132, -1, 49,
+ 172, 103, 114, 137, 102, 115, 132, -1, -1, 49,
+ 93, 70, 114, 169, 126, 103, 137, 102, 115, 132,
+ -1, 49, 93, 170, 103, 114, 137, 102, 115, 132,
+ -1, 49, 103, 114, 137, 102, 115, 132, -1, 112,
+ 132, -1, -1, 40, 23, 23, 9, 114, 127, 117,
+ 10, -1, 130, 20, -1, 20, -1, 26, 129, -1,
+ -1, 73, 117, 74, -1, 1, -1, 152, -1, 152,
+ 44, 152, -1, 152, 45, 152, -1, 152, 42, 152,
+ -1, 152, 43, 136, -1, 152, 49, 152, -1, 152,
+ 51, 152, -1, -1, 46, 115, -1, 47, 103, 137,
+ 102, 115, 131, -1, -1, 48, 112, -1, -1, -1,
+ 130, -1, -1, 152, -1, 152, -1, 152, -1, 134,
+ -1, 136, -1, 23, -1, -1, -1, -1, -1, 23,
+ -1, 28, -1, -1, 26, -1, -1, 72, 26, -1,
+ 72, -1, 72, 26, -1, 72, -1, -1, -1, 103,
+ 149, 102, -1, 114, 148, 9, 117, 10, -1, 150,
+ -1, 20, -1, 152, 78, 152, -1, 152, 77, 152,
+ -1, 152, 76, 152, -1, 153, -1, 153, 80, -1,
+ 153, 80, 162, -1, 162, -1, 60, 180, 153, -1,
+ 58, 103, 180, 152, 102, -1, 162, 101, 156, 103,
+ 167, 102, -1, 162, 101, 156, -1, 24, 180, 166,
+ -1, 25, 180, 103, 167, 102, -1, 60, 166, -1,
+ 58, 103, 167, 102, -1, -1, 33, 142, 112, 155,
+ 166, -1, 24, -1, 172, -1, 179, 9, 152, 20,
+ 10, -1, 172, 11, 152, 12, -1, 162, 101, 11,
+ 152, 12, -1, 157, 11, 152, 12, -1, 172, 9,
+ 152, 20, 10, -1, 162, 101, 9, 152, 20, 10,
+ -1, 157, 9, 152, 20, 10, -1, 162, 101, 103,
+ 102, -1, 162, 101, 103, 152, 102, -1, 157, 103,
+ 152, 102, -1, 157, 103, 102, -1, 103, 152, 102,
+ 11, 152, 12, -1, 29, 11, 152, 12, -1, 103,
+ 102, 11, 152, 12, -1, 162, 81, 162, -1, 162,
+ 95, 162, -1, 162, 63, 162, -1, 162, 64, 162,
+ -1, 162, 89, 162, -1, 162, 61, 162, -1, 162,
+ 62, 162, -1, 162, 88, 162, -1, 162, 87, 162,
+ -1, 162, 54, 162, -1, 162, 86, 162, -1, 162,
+ 85, 162, -1, 162, 84, 162, -1, 162, 90, 162,
+ -1, 13, 162, -1, 14, 162, -1, 91, 162, -1,
+ 92, 162, -1, 162, 98, -1, 162, 97, -1, 162,
+ 96, -1, 100, 162, -1, 99, 162, -1, 11, 152,
+ 12, -1, 11, 12, -1, 67, 152, 20, 10, -1,
+ 67, 20, 10, -1, 39, 142, 145, 146, 150, -1,
+ 66, 162, -1, 66, 112, -1, 158, -1, 159, -1,
+ 160, -1, 161, -1, 162, 82, 162, 83, 162, -1,
+ 93, 162, -1, 164, -1, 69, 162, -1, 103, 152,
+ 102, -1, 29, -1, 103, 102, -1, 172, -1, 176,
+ -1, 174, -1, 173, -1, 175, -1, 157, -1, 177,
+ 11, 152, 12, -1, 178, 11, 152, 12, -1, 177,
+ 9, 152, 20, 10, -1, 178, 9, 152, 20, 10,
+ -1, 26, -1, 171, -1, 171, 103, 102, -1, 171,
+ 103, 152, 102, -1, 68, 144, 166, -1, 162, 101,
+ 15, 18, -1, 162, 101, 16, 18, -1, 162, 101,
+ 17, 18, -1, 162, 101, 19, 18, -1, 162, 101,
+ 18, 18, -1, 53, -1, 53, 162, -1, 79, 153,
+ -1, 59, -1, 59, 112, -1, 59, 162, -1, 71,
+ -1, 71, 162, -1, 32, -1, 32, 162, -1, 56,
+ -1, 56, 103, 102, -1, 30, -1, 30, 103, 102,
+ -1, 31, -1, 57, 103, 102, -1, 57, 103, 152,
+ 102, -1, -1, 27, 163, 103, 153, 102, -1, 23,
+ -1, 154, -1, 55, -1, 34, -1, 70, 165, 147,
+ -1, 70, 165, -1, 103, 152, 102, -1, 103, 102,
+ -1, 172, -1, 174, -1, 173, -1, -1, 153, -1,
+ -1, 152, -1, 172, -1, 172, -1, 173, -1, 174,
+ -1, 169, -1, 171, -1, 19, 180, -1, 15, 180,
+ -1, 16, 180, -1, 17, 180, -1, 65, 180, -1,
+ 162, 101, 65, 18, -1, 18, 180, -1, 173, -1,
+ 162, 101, 16, -1, 174, -1, 162, 101, 17, -1,
+ 176, -1, 162, 101, 18, -1, 23, -1, 172, -1,
+ 112, -1, 28, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 114, 114, 113, 123, 122, 132, 131, 144, 143,
- 156, 155, 168, 167, 179, 187, 195, 198, 206, 211,
- 212, 222, 223, 232, 236, 240, 244, 251, 253, 264,
- 263, 295, 303, 302, 310, 316, 322, 333, 335, 337,
- 344, 352, 354, 351, 370, 375, 381, 387, 394, 393,
- 408, 412, 420, 438, 439, 444, 446, 448, 450, 452,
- 454, 456, 459, 465, 466, 471, 482, 483, 489, 495,
- 496, 501, 504, 508, 513, 517, 521, 525, 526, 530,
- 536, 541, 546, 547, 552, 553, 558, 559, 561, 566,
- 568, 573, 575, 574, 593, 603, 604, 608, 610, 612,
- 614, 618, 620, 625, 629, 633, 637, 643, 648, 654,
- 660, 662, 665, 664, 675, 676, 680, 684, 687, 692,
- 697, 700, 704, 708, 711, 716, 720, 723, 725, 727,
- 732, 734, 736, 741, 743, 745, 747, 749, 751, 753,
- 755, 757, 759, 761, 766, 768, 771, 773, 775, 778,
- 781, 792, 795, 802, 804, 806, 808, 810, 817, 819,
- 823, 824, 825, 826, 827, 829, 831, 833, 835, 837,
- 839, 841, 843, 845, 847, 849, 851, 853, 863, 873,
- 883, 893, 895, 897, 900, 905, 909, 911, 913, 915,
- 918, 920, 923, 925, 927, 929, 931, 933, 935, 937,
- 939, 942, 944, 946, 948, 950, 952, 956, 959, 958,
- 971, 972, 973, 978, 982, 984, 989, 991, 994, 996,
- 998, 1003, 1005, 1010, 1011, 1017, 1021, 1025, 1029, 1035,
- 1041, 1043, 1047, 1051, 1052, 1056, 1057, 1061, 1062, 1067,
- 1069, 1071, 1074
+ 0, 115, 115, 114, 124, 123, 133, 132, 145, 144,
+ 157, 156, 169, 168, 180, 188, 196, 199, 207, 212,
+ 213, 223, 224, 233, 237, 241, 245, 252, 254, 265,
+ 264, 296, 304, 303, 311, 317, 323, 334, 336, 338,
+ 345, 353, 355, 352, 371, 376, 383, 382, 398, 407,
+ 413, 420, 419, 434, 438, 446, 464, 465, 470, 472,
+ 474, 476, 478, 480, 482, 485, 491, 492, 497, 508,
+ 509, 515, 521, 522, 527, 530, 534, 539, 543, 547,
+ 551, 552, 556, 562, 567, 572, 573, 578, 579, 584,
+ 585, 587, 592, 594, 599, 601, 600, 619, 629, 630,
+ 634, 636, 638, 640, 644, 646, 651, 655, 659, 663,
+ 669, 674, 680, 686, 688, 691, 690, 701, 702, 706,
+ 710, 713, 718, 723, 726, 730, 734, 737, 742, 746,
+ 749, 751, 753, 758, 760, 762, 767, 769, 771, 773,
+ 775, 777, 779, 781, 783, 785, 787, 792, 794, 797,
+ 799, 801, 804, 807, 818, 821, 828, 830, 832, 834,
+ 836, 843, 845, 849, 850, 851, 852, 853, 855, 857,
+ 859, 861, 863, 865, 867, 869, 871, 873, 875, 877,
+ 879, 889, 899, 909, 919, 921, 923, 926, 931, 935,
+ 937, 939, 941, 944, 946, 949, 951, 953, 955, 957,
+ 959, 961, 963, 965, 968, 970, 972, 974, 976, 978,
+ 982, 985, 984, 997, 998, 999, 1004, 1008, 1010, 1015,
+ 1017, 1020, 1022, 1024, 1029, 1031, 1036, 1037, 1043, 1047,
+ 1048, 1049, 1052, 1053, 1056, 1060, 1064, 1070, 1076, 1078,
+ 1082, 1086, 1087, 1091, 1092, 1096, 1097, 1102, 1104, 1106,
+ 1109
};
#endif
-#if YYDEBUG || YYERROR_VERBOSE || 0
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
@@ -234,18 +239,19 @@ static const char *const yytname[] =
"ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR",
"ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'",
"REFGEN", "UMINUS", "POWOP", "POSTJOIN", "POSTDEC", "POSTINC", "PREDEC",
- "PREINC", "ARROW", "')'", "'('", "$accept", "grammar", "$@1", "$@2",
- "$@3", "$@4", "$@5", "$@6", "block", "formblock", "remember", "mblock",
+ "PREINC", "ARROW", "')'", "'('", "$accept", "grammar", "@1", "@2", "@3",
+ "@4", "@5", "@6", "block", "formblock", "remember", "mblock",
"mremember", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt",
- "barestmt", "$@7", "$@8", "$@9", "$@10", "$@11", "formline", "formarg",
+ "barestmt", "@7", "@8", "@9", "@10", "@11", "@12", "formline", "formarg",
"sideff", "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr",
"mnexpr", "miexpr", "formname", "startsub", "startanonsub",
"startformsub", "subname", "proto", "subattrlist", "myattrlist",
- "subsignature", "@12", "realsubbody", "optsubbody", "expr", "listexpr",
- "listop", "@13", "method", "subscripted", "termbinop", "termunop",
- "anonymous", "termdo", "term", "@14", "myattrterm", "myterm",
- "optlistexpr", "optexpr", "my_scalar", "amper", "scalar", "ary", "hsh",
- "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULL
+ "subsignature", "@13", "realsubbody", "optsubbody", "expr", "listexpr",
+ "listop", "@14", "method", "subscripted", "termbinop", "termunop",
+ "anonymous", "termdo", "term", "@15", "myattrterm", "myterm",
+ "optlistexpr", "optexpr", "my_scalar", "my_var", "refgen_topic", "amper",
+ "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem",
+ "indirob", 0
};
#endif
@@ -275,27 +281,28 @@ static const yytype_uint8 yyr1[] =
110, 105, 111, 105, 112, 113, 114, 115, 116, 117,
117, 118, 118, 119, 119, 120, 120, 121, 121, 122,
121, 121, 123, 121, 121, 121, 121, 121, 121, 121,
- 121, 124, 125, 121, 121, 121, 121, 121, 126, 121,
- 121, 121, 127, 128, 128, 129, 129, 129, 129, 129,
- 129, 129, 129, 130, 130, 130, 131, 131, 132, 133,
- 133, 134, 134, 135, 136, 137, 138, 139, 139, 140,
- 141, 142, 143, 143, 144, 144, 145, 145, 145, 146,
- 146, 147, 148, 147, 149, 150, 150, 151, 151, 151,
- 151, 152, 152, 152, 153, 153, 153, 153, 153, 153,
- 153, 153, 154, 153, 155, 155, 156, 156, 156, 156,
- 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 121, 124, 125, 121, 121, 121, 126, 121, 121, 121,
+ 121, 127, 121, 121, 121, 128, 129, 129, 130, 130,
+ 130, 130, 130, 130, 130, 130, 131, 131, 131, 132,
+ 132, 133, 134, 134, 135, 135, 136, 137, 138, 139,
+ 140, 140, 141, 142, 143, 144, 144, 145, 145, 146,
+ 146, 146, 147, 147, 148, 149, 148, 150, 151, 151,
+ 152, 152, 152, 152, 153, 153, 153, 154, 154, 154,
+ 154, 154, 154, 154, 154, 155, 154, 156, 156, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 159, 159, 159, 159, 159, 160, 160,
- 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161, 162, 161,
- 161, 161, 161, 161, 163, 163, 164, 164, 164, 164,
- 164, 165, 165, 166, 166, 167, 168, 169, 170, 171,
- 172, 172, 173, 174, 174, 175, 175, 176, 176, 177,
- 177, 177, 177
+ 157, 157, 157, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 159, 159, 159,
+ 159, 159, 159, 159, 159, 159, 160, 160, 160, 160,
+ 160, 161, 161, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 163, 162, 162, 162, 162, 162, 164, 164, 165,
+ 165, 165, 165, 165, 166, 166, 167, 167, 168, 169,
+ 169, 169, 170, 170, 171, 172, 173, 174, 175, 175,
+ 176, 177, 177, 178, 178, 179, 179, 180, 180, 180,
+ 180
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -305,372 +312,408 @@ static const yytype_uint8 yyr2[] =
0, 3, 0, 3, 4, 7, 0, 4, 0, 0,
2, 0, 2, 1, 1, 2, 2, 1, 4, 0,
7, 4, 0, 7, 7, 7, 6, 6, 2, 8,
- 8, 0, 0, 13, 9, 8, 7, 2, 0, 8,
- 2, 1, 2, 0, 3, 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, 1, 0, 1, 0, 2, 1, 2,
- 1, 0, 0, 3, 5, 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, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 2, 4, 3, 5, 2, 2,
- 1, 1, 1, 1, 5, 2, 1, 2, 3, 1,
- 2, 1, 1, 1, 1, 1, 1, 4, 4, 5,
- 5, 1, 1, 3, 4, 3, 4, 4, 4, 4,
- 4, 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, 4, 2, 1, 3, 1, 3, 1, 3, 1,
- 1, 1, 1
+ 8, 0, 0, 13, 9, 8, 0, 11, 9, 7,
+ 2, 0, 8, 2, 1, 2, 0, 3, 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, 1, 0, 1, 0,
+ 2, 1, 2, 1, 0, 0, 3, 5, 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, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 3, 2, 4, 3,
+ 5, 2, 2, 1, 1, 1, 1, 5, 2, 1,
+ 2, 3, 1, 2, 1, 1, 1, 1, 1, 1,
+ 4, 4, 5, 5, 1, 1, 3, 4, 3, 4,
+ 4, 4, 4, 4, 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, 1,
+ 1, 1, 1, 1, 2, 2, 2, 2, 2, 4,
+ 2, 1, 3, 1, 3, 1, 3, 1, 1, 1,
+ 1
};
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 2, 4, 6, 8, 10, 12, 0, 16, 223,
+ 0, 2, 4, 6, 8, 10, 12, 0, 16, 226,
0, 0, 0, 19, 1, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 210, 0, 0, 181, 208, 169,
- 203, 205, 199, 80, 213, 80, 191, 212, 201, 0,
- 0, 194, 221, 0, 0, 0, 0, 0, 0, 197,
- 0, 0, 0, 0, 0, 0, 0, 224, 100, 211,
- 176, 160, 161, 162, 163, 103, 166, 5, 182, 171,
- 174, 173, 175, 172, 0, 0, 0, 16, 7, 55,
- 51, 27, 81, 0, 0, 79, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 9, 0, 56, 0, 11,
- 24, 23, 0, 0, 154, 0, 144, 145, 239, 242,
- 241, 240, 227, 228, 229, 232, 226, 221, 0, 0,
- 0, 0, 200, 0, 84, 192, 0, 0, 223, 195,
- 196, 239, 222, 110, 240, 0, 230, 159, 158, 0,
- 0, 82, 83, 221, 167, 0, 215, 218, 220, 219,
- 198, 193, 146, 147, 165, 152, 151, 170, 0, 0,
- 0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 213, 0, 0, 184, 211, 172,
+ 206, 208, 202, 83, 216, 83, 194, 215, 204, 0,
+ 0, 197, 224, 0, 0, 0, 0, 0, 0, 200,
+ 0, 0, 0, 0, 0, 0, 0, 227, 103, 214,
+ 179, 163, 164, 165, 166, 106, 169, 5, 185, 174,
+ 177, 176, 178, 175, 0, 0, 0, 16, 7, 58,
+ 54, 27, 84, 0, 0, 82, 0, 0, 0, 0,
+ 0, 0, 0, 0, 69, 9, 0, 59, 0, 11,
+ 24, 23, 0, 0, 157, 0, 147, 148, 247, 250,
+ 249, 248, 235, 236, 237, 240, 234, 224, 0, 0,
+ 0, 0, 203, 0, 87, 195, 0, 0, 226, 198,
+ 199, 247, 225, 113, 248, 0, 238, 162, 161, 0,
+ 0, 85, 86, 224, 170, 0, 218, 221, 223, 222,
+ 201, 196, 149, 150, 168, 155, 154, 173, 0, 0,
+ 0, 0, 104, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 150, 149, 148, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 19, 78, 79, 0, 32, 16, 16,
- 16, 16, 16, 16, 0, 16, 16, 38, 0, 47,
- 50, 0, 0, 0, 0, 0, 0, 26, 25, 20,
- 153, 108, 223, 0, 0, 204, 112, 85, 86, 202,
- 206, 0, 0, 0, 104, 156, 0, 185, 217, 0,
- 90, 214, 0, 168, 99, 98, 97, 102, 0, 0,
- 126, 0, 139, 135, 136, 132, 133, 130, 0, 142,
- 141, 140, 138, 137, 134, 143, 131, 0, 0, 0,
- 234, 236, 238, 0, 114, 0, 0, 107, 115, 183,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
- 0, 29, 0, 0, 71, 0, 0, 0, 0, 0,
- 16, 0, 0, 67, 59, 60, 73, 57, 58, 61,
- 62, 0, 0, 128, 221, 88, 16, 207, 111, 0,
- 155, 216, 89, 0, 0, 0, 119, 125, 0, 0,
- 0, 186, 187, 188, 190, 189, 231, 123, 0, 223,
- 184, 0, 117, 0, 177, 0, 178, 0, 14, 16,
- 28, 84, 16, 31, 0, 0, 72, 0, 0, 74,
- 76, 0, 0, 225, 70, 75, 0, 0, 56, 0,
- 0, 0, 109, 209, 113, 87, 91, 157, 105, 129,
- 0, 122, 164, 0, 118, 124, 0, 120, 179, 180,
- 116, 0, 86, 48, 221, 68, 68, 0, 0, 0,
- 0, 41, 0, 0, 0, 92, 0, 127, 121, 106,
- 0, 16, 19, 0, 0, 0, 18, 63, 63, 0,
- 66, 71, 0, 36, 37, 0, 19, 21, 96, 95,
- 30, 0, 33, 66, 66, 19, 0, 0, 34, 35,
- 0, 46, 0, 66, 93, 0, 0, 49, 39, 40,
- 0, 64, 0, 66, 42, 45, 94, 0, 53, 22,
- 17, 0, 44, 68, 15, 19, 52, 0, 0, 0,
- 63, 0, 54, 65, 0, 43
+ 0, 153, 152, 151, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 19, 81, 82, 0, 32, 16, 16,
+ 16, 16, 16, 0, 16, 0, 16, 16, 38, 0,
+ 50, 53, 0, 0, 0, 0, 0, 0, 26, 25,
+ 20, 156, 111, 226, 0, 0, 207, 115, 88, 89,
+ 205, 209, 0, 0, 0, 107, 159, 0, 188, 220,
+ 0, 93, 217, 0, 171, 102, 101, 100, 105, 0,
+ 0, 129, 0, 142, 138, 139, 135, 136, 133, 0,
+ 145, 144, 143, 141, 140, 137, 146, 134, 0, 0,
+ 0, 242, 244, 246, 0, 117, 0, 0, 110, 118,
+ 186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80, 0, 29, 0, 0, 74, 0, 0, 0, 0,
+ 16, 232, 0, 233, 229, 230, 231, 0, 16, 0,
+ 0, 70, 62, 63, 76, 60, 61, 64, 65, 0,
+ 0, 131, 224, 91, 16, 210, 114, 0, 158, 219,
+ 92, 0, 0, 0, 122, 128, 0, 0, 0, 189,
+ 190, 191, 193, 192, 239, 126, 0, 226, 187, 0,
+ 120, 0, 180, 0, 181, 0, 14, 16, 28, 87,
+ 16, 31, 0, 0, 75, 0, 0, 77, 79, 0,
+ 0, 228, 0, 16, 73, 78, 0, 0, 59, 0,
+ 0, 0, 112, 212, 116, 90, 94, 160, 108, 132,
+ 0, 125, 167, 0, 121, 127, 0, 123, 182, 183,
+ 119, 0, 89, 51, 224, 71, 71, 0, 0, 0,
+ 46, 0, 0, 41, 0, 0, 0, 95, 0, 130,
+ 124, 109, 0, 16, 19, 0, 0, 0, 18, 66,
+ 66, 0, 0, 0, 69, 74, 0, 36, 37, 0,
+ 19, 21, 99, 98, 30, 0, 33, 69, 69, 19,
+ 0, 0, 34, 35, 0, 0, 0, 49, 0, 69,
+ 96, 0, 0, 52, 39, 40, 0, 67, 0, 69,
+ 0, 69, 42, 45, 97, 0, 56, 22, 17, 0,
+ 44, 0, 48, 71, 15, 19, 55, 0, 69, 0,
+ 0, 66, 47, 0, 57, 68, 0, 43
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 7, 8, 9, 10, 11, 12, 13, 110, 350,
- 376, 417, 435, 102, 446, 219, 100, 101, 351, 293,
- 421, 463, 412, 459, 466, 96, 438, 209, 414, 365,
- 355, 305, 358, 367, 361, 290, 197, 123, 194, 143,
- 228, 316, 241, 406, 425, 377, 430, 97, 58, 59,
- 314, 277, 60, 61, 62, 63, 64, 65, 119, 66,
- 146, 133, 67, 362, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 112
+ -1, 7, 8, 9, 10, 11, 12, 13, 110, 358,
+ 386, 429, 449, 102, 462, 220, 100, 101, 359, 294,
+ 435, 483, 432, 424, 477, 486, 96, 452, 210, 426,
+ 375, 363, 313, 366, 377, 369, 291, 197, 123, 194,
+ 143, 229, 324, 242, 418, 439, 387, 444, 97, 58,
+ 59, 322, 278, 60, 61, 62, 63, 64, 65, 119,
+ 66, 146, 133, 67, 370, 301, 302, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 112
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -409
+#define YYPACT_NINF -416
static const yytype_int16 yypact[] =
{
- 706, -409, -409, -409, -409, -409, -409, 19, -409, 2549,
- 2, 1201, 1108, -409, -409, -409, 1809, 2549, 2549, 50,
- 50, 50, 50, 50, -409, 50, 50, -409, -409, 52,
- -74, -409, 2549, -409, -409, -409, 2549, -409, -67, -54,
- -9, 1716, 1623, 50, 1716, 1900, 46, 2549, 40, 2549,
- 2549, 2549, 2549, 2549, 2549, 2549, 1991, 274, 20, -409,
- 11, -409, -409, -409, -409, 2617, -409, -409, -8, 98,
- 107, 220, -409, 61, 229, 263, 92, -409, -409, -409,
- -409, -409, -409, 46, 106, -409, 37, 41, 47, 63,
- 1, 100, 111, 2, 73, -409, 135, 368, 1108, -409,
- -409, -409, 447, 542, -409, 9, 432, 432, -409, -409,
- -409, -409, -409, -409, -409, -409, -409, 2549, 130, 134,
- 2549, 124, 280, 2, 137, 2617, 141, 2084, 1623, -409,
- 280, 1529, 20, -409, 1450, 2549, -409, -409, 280, 184,
- 3, -409, -409, 2549, 280, 2177, 170, -409, -409, -409,
- 280, 20, 432, 432, 432, 296, 296, 251, -50, 2549,
- 2549, 2549, 2549, 2549, 2549, 2270, 2549, 2549, 2549, 2549,
- 2549, 2549, 2549, 2549, 2549, 2549, 2549, 2549, 2549, 2549,
- 2549, -409, -409, -409, 252, 2363, 2549, 2549, 2549, 2549,
- 2549, 2549, 2549, -409, 243, -409, 256, -409, -409, -409,
- -409, -409, -409, -409, 172, -409, -409, -409, 2, -409,
- -409, 2549, 2549, 2549, 2549, 2549, 2549, -409, -409, -409,
- -409, -409, 2549, 2549, 13, -409, -409, -409, 210, -409,
- -409, 71, 181, 2549, 20, -409, 275, -409, -409, 158,
- 260, -409, 2549, 293, 228, 228, -409, 2617, 99, 60,
- -409, 261, 341, 1794, 1608, 527, 217, 2617, 2572, 1280,
- 1280, 1420, 1499, 1701, 290, 432, 432, 2549, 2549, 136,
- 292, 310, 311, 313, -409, 322, 2456, 208, -409, -409,
- 271, 102, 91, 119, 94, 212, 115, 224, 637, -409,
- 321, -409, 15, 323, 2549, 2549, 2549, 2549, 345, 1294,
- -409, 2549, 2549, -409, 274, -409, 274, 274, 274, 274,
- 274, 254, -48, -409, 2549, 336, -409, -409, -409, 417,
- -409, -409, -409, 123, 2549, 354, -409, -409, 2549, 257,
- 129, -409, -409, -409, -409, -409, -409, -409, 433, 2549,
- -409, 355, -409, 357, -409, 358, -409, 372, -409, -409,
- -409, 137, -409, -409, 361, 287, 274, 288, 297, 274,
- -409, 299, 295, -409, -409, -409, 304, 388, 281, 2549,
- 307, 314, -409, -409, -409, -409, 312, -409, -409, -409,
- 140, -409, 2662, 410, -409, -409, 320, -409, -409, -409,
- -409, 404, 210, -409, 2549, -409, -409, 423, 423, 2549,
- 423, -409, 331, 423, 423, -409, 425, -409, -409, -409,
- 367, 430, -409, 431, 423, 423, -409, 30, 30, 350,
- 73, 2549, 423, -409, -409, 352, -409, -409, -409, -409,
- -409, 732, -409, 73, 73, -409, 423, 340, -409, -409,
- 423, -409, 435, 73, -409, 827, 38, -409, -409, -409,
- 922, -409, 2549, 73, -409, -409, -409, 446, 384, -409,
- -409, 373, -409, -409, -409, -409, -409, 423, 1387, 1015,
- 30, 399, -409, -409, 423, -409
+ 546, -416, -416, -416, -416, -416, -416, 24, -416, 2570,
+ 68, 1222, 1129, -416, -416, -416, 1830, 2570, 2570, 303,
+ 303, 303, 303, 303, -416, 303, 303, -416, -416, 60,
+ -25, -416, 2570, -416, -416, -416, 2570, -416, -2, 12,
+ 29, 1737, 1644, 303, 1737, 1921, 7, 2570, 4, 2570,
+ 2570, 2570, 2570, 2570, 2570, 2570, 2012, 272, 42, -416,
+ 3, -416, -416, -416, -416, 2638, -416, -416, 51, 32,
+ 45, 138, -416, 132, 156, 258, 146, -416, -416, -416,
+ -416, -416, -416, 7, 104, -416, 61, 76, 77, 87,
+ -8, 94, 95, 68, 123, -416, 183, 2010, 1129, -416,
+ -416, -416, 468, 563, -416, 20, 447, 447, -416, -416,
+ -416, -416, -416, -416, -416, -416, -416, 2570, 101, 129,
+ 2570, 131, 1906, 68, 213, 2638, 144, 2105, 1644, -416,
+ 1906, 1550, 42, -416, 1471, 2570, -416, -416, 1906, 237,
+ 130, -416, -416, 2570, 1906, 2198, 192, -416, -416, -416,
+ 1906, 42, 447, 447, 447, 539, 539, 259, -50, 2570,
+ 2570, 2570, 2570, 2570, 2570, 2291, 2570, 2570, 2570, 2570,
+ 2570, 2570, 2570, 2570, 2570, 2570, 2570, 2570, 2570, 2570,
+ 2570, -416, -416, -416, 219, 2384, 2570, 2570, 2570, 2570,
+ 2570, 2570, 2570, -416, 250, -416, 255, -416, -416, -416,
+ -416, -416, -416, 21, -416, 185, -416, -416, -416, 68,
+ -416, -416, 2570, 2570, 2570, 2570, 2570, 2570, -416, -416,
+ -416, -416, -416, 2570, 2570, 43, -416, -416, -416, 239,
+ -416, -416, -27, 189, 2570, 42, -416, 305, -416, -416,
+ 124, 287, -416, 2570, 312, 246, 246, -416, 2638, 205,
+ 62, -416, 318, 1303, 1815, 1629, 365, 329, 2638, 2593,
+ 352, 352, 1441, 1520, 1722, 288, 447, 447, 2570, 2570,
+ 262, 309, 320, 321, 325, -416, 328, 2477, 227, -416,
+ -416, 327, 222, 67, 225, 75, 243, 92, 277, 658,
+ -416, 336, -416, 9, 337, 2570, 2570, 2570, 2570, 357,
+ -416, -416, 270, -416, -416, -416, -416, 1315, -416, 2570,
+ 2570, -416, 272, -416, 272, 272, 272, 272, 272, 273,
+ -57, -416, 2570, 353, -416, -416, -416, 368, -416, -416,
+ -416, 96, 2570, 371, -416, -416, 2570, 285, 100, -416,
+ -416, -416, -416, -416, -416, -416, 438, 2570, -416, 377,
+ -416, 378, -416, 381, -416, 387, -416, -416, -416, 213,
+ -416, -416, 375, 298, 272, 299, 300, 272, -416, 307,
+ 304, -416, 349, -416, -416, -416, 315, 391, 291, 2570,
+ 319, 331, -416, -416, -416, -416, 333, -416, -416, -416,
+ 118, -416, 2683, 412, -416, -416, 332, -416, -416, -416,
+ -416, 403, 239, -416, 2570, -416, -416, 422, 422, 2570,
+ -416, 2570, 422, -416, 341, 422, 422, -416, 445, -416,
+ -416, -416, 383, 439, -416, 444, 422, 422, -416, 19,
+ 19, 356, 364, 369, 123, 2570, 422, -416, -416, 370,
+ -416, -416, -416, -416, -416, 753, -416, 123, 123, -416,
+ 422, 372, -416, -416, 422, 2570, 422, -416, 454, 123,
+ -416, 848, 13, -416, -416, -416, 943, -416, 2570, 123,
+ 374, 123, -416, -416, -416, 456, 416, -416, -416, 388,
+ -416, 422, -416, -416, -416, -416, -416, 422, 123, 1408,
+ 1036, 19, -416, 394, -416, -416, 422, -416
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -409, -409, -409, -409, -409, -409, -409, -409, -10, -409,
- 22, -95, -409, -12, -409, 457, 422, 7, -409, -409,
- -409, -409, -409, -409, -409, -294, -408, 88, -388, -409,
- 103, 0, -287, 55, -409, -409, 330, 497, -409, 451,
- 185, 145, -409, -409, -409, 133, -409, -3, -33, -409,
- -409, -409, -409, -409, -409, -409, -409, 79, -409, -409,
- -409, -110, -124, -409, -409, 18, 500, 501, -409, -409,
- -409, -409, -409, 25
+ -416, -416, -416, -416, -416, -416, -416, -416, -10, -416,
+ 17, -140, -416, -12, -416, 510, 431, 5, -416, -416,
+ -416, -416, -416, -416, -416, -416, -296, -415, -89, -401,
+ -416, 97, -187, -263, 41, -416, -416, 346, 496, -416,
+ 463, 196, 154, -416, -416, -416, 134, -416, -3, -33,
+ -416, -416, -416, -416, -416, -416, -416, -416, 82, -416,
+ -416, -416, -95, -118, -416, 186, -416, 359, 38, -44,
+ -40, -416, -416, -416, -416, -416, 47
};
/* 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 YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -238
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -246
static const yytype_int16 yytable[] =
{
- 78, 94, 94, 103, 232, 364, 57, 221, 415, 132,
- 439, 77, 366, 105, 370, 371, 19, 151, 95, 14,
- 163, 220, 164, 236, 352, 313, 159, 160, 161, 121,
- 15, 129, 162, 237, 137, 353, 126, 111, 111, 111,
- 111, 111, 140, 111, 111, 113, 114, 115, 116, 127,
- 117, 118, 243, 158, 373, 19, 20, 21, 457, 77,
- 134, 111, 473, 120, 458, 19, 147, 135, 136, 141,
- -237, 202, 326, 108, 142, 468, 436, 437, 109, 159,
- 160, 161, 402, 207, 132, 159, 160, 161, 94, 159,
- 160, 161, 94, 94, 128, 185, 106, 107, 311, 193,
- 162, 192, 234, 342, 203, 218, 344, 186, 204, 187,
- 132, 122, 419, 226, 165, 125, -233, 224, -233, 325,
- 130, 208, 341, 138, 231, 57, 144, 346, 150, 196,
- 152, 153, 154, 155, 156, 379, 159, 160, 161, 343,
- 198, 384, 239, 145, 199, 77, 134, 159, 160, 161,
- 200, 19, 407, 233, 331, 210, 244, 245, 246, 108,
- 248, 249, 251, 227, 109, 461, 201, 159, 160, 161,
- 159, 160, 161, 317, 364, 159, 160, 161, 159, 160,
- 161, 288, 280, 281, 282, 283, 284, 285, 286, 287,
- 312, 159, 160, 161, 235, 159, 160, 161, 303, 159,
- 160, 161, 278, 205, 374, 159, 160, 161, 304, 306,
- 307, 308, 309, 310, 206, 386, 159, 160, 161, 57,
- 294, 295, 296, 297, 298, 299, 225, 301, 302, -235,
- 319, -235, 345, 222, 159, 160, 161, 223, 188, 323,
- 189, 247, 240, 229, 347, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 321, 267, 242, 268, 329, 330, 289, 269, 270, 271,
- 272, 273, 190, 338, 191, 300, 274, 383, 94, 292,
- 169, 132, 315, 318, 413, 320, 322, 111, 159, 160,
- 161, 356, 306, 359, 306, 357, 368, 360, 359, 359,
- 159, 160, 161, 418, 324, 420, 161, 179, 423, 424,
- 332, 339, 180, 181, 182, 183, 363, 275, 184, 433,
- 434, 380, 369, 211, 212, 213, 214, 443, 333, 334,
- 215, 335, 216, 159, 160, 161, 57, 159, 160, 161,
- 336, 451, 349, 169, 170, 453, 354, 159, 160, 161,
- 159, 160, 161, 169, 170, 276, 372, 159, 160, 161,
- 19, 132, 375, 327, 381, 387, 359, 388, 389, 178,
- 179, 391, 470, 340, 393, 180, 181, 182, 183, 475,
- 179, 184, 390, -74, 394, 180, 181, 182, 183, 395,
- 396, 184, -238, -238, -238, -238, 359, 184, 399, 397,
- 431, 398, 167, 168, 169, 170, 400, 382, 401, 403,
- 211, 212, 213, 214, 445, 405, 404, 215, 356, 216,
- 408, 94, 409, 450, 410, 173, 174, 175, 176, 177,
- 178, 179, 416, 422, 426, 94, 180, 181, 182, 183,
- 94, 427, 184, 452, 159, 160, 161, -13, 79, 359,
- 428, 432, 440, 469, 444, 454, 77, 465, 16, 94,
- 17, 18, 19, 20, 21, 22, 23, 80, 464, 99,
- 24, 25, 26, 27, 28, 467, 29, 30, 31, 32,
- 33, 34, 81, 98, 82, 83, 35, 84, 85, 86,
- 87, 88, 89, 159, 160, 161, 90, 91, 92, 93,
- 36, 474, 37, 38, 39, 40, 41, 42, 441, 159,
- 160, 161, 43, 44, 45, 46, 47, 48, 49, 378,
- 217, 448, 449, 471, 442, 291, 50, 180, 181, 182,
- 183, 455, 124, 184, 195, 385, 392, 411, 51, 52,
- 53, 462, -3, 79, 429, 0, 54, 55, 148, 149,
- 56, 77, 0, 16, 0, 17, 18, 19, 20, 21,
- 22, 23, 80, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 81, 98, 82,
- 83, 35, 84, 85, 86, 87, 88, 89, 0, 0,
- 0, 90, 91, 92, 93, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 0, 0, 179, 0, 0,
- 0, 50, 180, 181, 182, 183, 0, 0, 184, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 79, 0,
- 0, 54, 55, 0, 0, 56, 77, 348, 16, 0,
- 17, 18, 19, 20, 21, 22, 23, 80, 0, 0,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
- 33, 34, 81, 98, 82, 83, 35, 84, 85, 86,
- 87, 88, 89, 0, 0, 0, 90, 91, 92, 93,
- 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
- 0, 0, 43, 44, 45, 46, 47, 48, 49, 1,
- 2, 3, 4, 5, 6, 0, 50, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
- 53, 0, 0, 79, 0, 0, 54, 55, 0, 0,
- 56, 77, 447, 16, 0, 17, 18, 19, 20, 21,
- 22, 23, 80, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 81, 98, 82,
- 83, 35, 84, 85, 86, 87, 88, 89, 0, 0,
- 0, 90, 91, 92, 93, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 79, 0,
- 0, 54, 55, 0, 0, 56, 77, 456, 16, 0,
- 17, 18, 19, 20, 21, 22, 23, 80, 0, 0,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
- 33, 34, 81, 98, 82, 83, 35, 84, 85, 86,
- 87, 88, 89, 0, 0, 0, 90, 91, 92, 93,
- 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
- 0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
- 53, 0, 0, 79, 0, 0, 54, 55, 0, 0,
- 56, 77, 460, 16, 0, 17, 18, 19, 20, 21,
+ 78, 94, 94, 103, 148, 427, 57, 19, 149, 132,
+ 233, 374, 163, 105, 164, 453, 95, 151, 360, 19,
+ 20, 21, 222, 162, 14, 15, 159, 160, 161, 361,
+ 141, 129, 221, 475, 137, 142, 19, 20, 21, 476,
+ 23, 186, 140, 187, 376, 383, 380, 381, 238, 159,
+ 160, 161, 244, 158, -241, 321, -241, 111, 111, 111,
+ 111, 111, 202, 111, 111, 450, 451, 113, 114, 115,
+ 116, 120, 117, 118, 334, 325, 495, 77, 121, 350,
+ 134, 111, 489, 208, 132, 203, 147, 352, 94, 135,
+ 136, 300, 94, 94, 193, 204, 159, 160, 161, 106,
+ 107, 126, 235, 219, 354, 319, 165, 145, 389, 365,
+ 132, 368, 394, 227, 122, 127, 414, 225, 125, 159,
+ 160, 161, 162, 130, 232, 57, 138, 196, 205, 144,
+ 419, 150, 128, 152, 153, 154, 155, 156, 159, 160,
+ 161, -245, 240, 159, 160, 161, 431, -243, 433, -243,
+ 237, 159, 160, 161, 185, 192, 245, 246, 247, 305,
+ 249, 250, 252, 306, 198, 188, 134, 189, 159, 160,
+ 161, 209, 159, 160, 161, 234, 159, 160, 161, 199,
+ 200, 289, 281, 282, 283, 284, 285, 286, 287, 288,
+ 201, 320, 470, 374, 159, 160, 161, 206, 207, 311,
+ 159, 160, 161, 211, 223, 479, 159, 160, 161, 312,
+ 314, 315, 316, 317, 318, 295, 296, 297, 298, 299,
+ 57, 307, 279, 309, 310, 333, 329, 384, 268, 396,
+ 269, 327, 224, 226, 270, 271, 272, 273, 274, 228,
+ 331, 304, 349, 275, 248, 351, 230, 236, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 353, 241, 337, 338, 190, 430, 191,
+ 243, 77, 434, 290, 346, 437, 438, 19, 293, 94,
+ 339, 159, 160, 161, 276, 108, 447, 448, 308, 132,
+ 109, 326, 364, 314, 367, 314, 459, 355, 159, 160,
+ 161, 159, 160, 161, 378, 393, 367, 367, 111, 425,
+ 467, 323, 77, 330, 469, 328, 471, 372, 19, 159,
+ 160, 161, 277, 332, 161, 379, 108, 340, 305, 390,
+ 347, 109, 306, 212, 213, 214, 215, 371, 341, 342,
+ 216, 488, 217, 343, 57, 457, 344, 491, 159, 160,
+ 161, 169, 170, 159, 160, 161, 497, 357, 464, 465,
+ 362, 159, 160, 161, 19, 20, 21, 159, 160, 161,
+ 473, 132, 19, 373, 401, 382, 367, 403, 179, 385,
+ 480, 391, 482, 180, 181, 182, 183, 397, 398, 184,
+ 411, 399, 169, -77, 159, 160, 161, 400, 404, 492,
+ 405, 406, 407, 159, 160, 161, 367, 409, 367, 408,
+ 304, 413, 445, 167, 168, 169, 170, 412, 392, 179,
+ 335, 415, 420, 422, 180, 181, 182, 183, 461, 348,
+ 184, 428, 364, 416, 421, 94, 417, 466, 175, 176,
+ 177, 178, 179, 436, 159, 160, 161, 180, 181, 182,
+ 183, 94, 367, 184, 440, 179, 94, 441, 454, 442,
+ 180, 181, 182, 183, 446, 367, 184, 455, -13, 79,
+ 388, 456, 460, 490, 472, 468, 481, 77, 484, 16,
+ 94, 17, 18, 19, 20, 21, 22, 23, 80, 485,
+ 487, 24, 25, 26, 27, 28, 496, 29, 30, 31,
+ 32, 33, 34, 81, 98, 82, 83, 35, 84, 85,
+ 86, 87, 88, 89, 159, 160, 161, 90, 91, 92,
+ 93, 36, 99, 37, 38, 39, 40, 41, 42, 218,
+ 493, 124, 458, 43, 44, 45, 46, 47, 48, 49,
+ 395, 292, 180, 181, 182, 183, 195, 50, 184, 1,
+ 2, 3, 4, 5, 6, 402, 423, 443, 410, 51,
+ 52, 53, 303, -3, 79, 0, 0, 54, 55, 0,
+ 0, 56, 77, 0, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 80, 0, 0, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 81, 98,
+ 82, 83, 35, 84, 85, 86, 87, 88, 89, 0,
+ 0, 0, 90, 91, 92, 93, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, -246, -246, -246, 0, 0,
+ 184, 0, 50, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 51, 52, 53, 0, 0, 79,
+ 0, 0, 54, 55, 0, 0, 56, 77, 356, 16,
+ 0, 17, 18, 19, 20, 21, 22, 23, 80, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 81, 98, 82, 83, 35, 84, 85,
+ 86, 87, 88, 89, 0, 0, 0, 90, 91, 92,
+ 93, 36, 0, 37, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
+ 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 79, 0, 0, 54, 55, 0,
+ 0, 56, 77, 463, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 80, 0, 0, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 81, 98,
+ 82, 83, 35, 84, 85, 86, 87, 88, 89, 0,
+ 0, 0, 90, 91, 92, 93, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 51, 52, 53, 0, 0, 79,
+ 0, 0, 54, 55, 0, 0, 56, 77, 474, 16,
+ 0, 17, 18, 19, 20, 21, 22, 23, 80, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 81, 98, 82, 83, 35, 84, 85,
+ 86, 87, 88, 89, 0, 0, 0, 90, 91, 92,
+ 93, 36, 0, 37, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
+ 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 79, 0, 0, 54, 55, 0,
+ 0, 56, 77, 478, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 80, 0, 0, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 81, 98,
+ 82, 83, 35, 84, 85, 86, 87, 88, 89, 0,
+ 0, 0, 90, 91, 92, 93, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 51, 52, 53, 79, 0, 0,
+ 0, 0, 54, 55, 0, 77, 56, 16, 0, 17,
+ 18, 19, 20, 21, 22, 23, 80, 0, 0, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
+ 34, 81, 98, 82, 83, 35, 84, 85, 86, 87,
+ 88, 89, 0, 0, 0, 90, 91, 92, 93, 36,
+ 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
+ 494, 0, 0, 0, 0, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
+ 79, 0, 0, 0, 0, 54, 55, 0, 77, 56,
+ 16, 0, 17, 18, 19, 20, 21, 22, 23, 80,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 32, 33, 34, 81, 98, 82, 83, 35, 84,
+ 85, 86, 87, 88, 89, 0, 0, 0, 90, 91,
+ 92, 93, 36, 0, 37, 38, 39, 40, 41, 42,
+ 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 50, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 51, 52, 53, 79, 0, 0, 0, 0, 54, 55,
+ 0, 77, 56, 16, 0, 17, 18, 19, 20, 21,
22, 23, 80, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 81, 98, 82,
+ 0, 29, 30, 31, 32, 33, 34, 81, 0, 82,
83, 35, 84, 85, 86, 87, 88, 89, 0, 0,
0, 90, 91, 92, 93, 36, 0, 37, 38, 39,
40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 51, 52, 53, 79, 0, 0, 0,
- 0, 54, 55, 0, 77, 56, 16, 0, 17, 18,
- 19, 20, 21, 22, 23, 80, 0, 0, 24, 25,
+ 0, 54, 55, 0, 0, 56, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, -72, 0, 0, 24, 25,
26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 81, 98, 82, 83, 35, 84, 85, 86, 87, 88,
- 89, 0, 0, 0, 90, 91, 92, 93, 36, 0,
+ 0, 0, 0, 0, 35, 0, 0, -246, 0, 0,
+ 0, 0, 0, 0, 167, 168, 169, 170, 36, 0,
37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
- 43, 44, 45, 46, 47, 48, 49, 0, 0, 472,
- 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 52, 53, 79,
- 0, 0, 0, 0, 54, 55, 0, 77, 56, 16,
- 0, 17, 18, 19, 20, 21, 22, 23, 80, 0,
+ 43, 44, 45, 46, 47, 48, 49, 173, 174, 175,
+ 176, 177, 178, 179, 50, 0, 0, 0, 180, 181,
+ 182, 183, 0, 0, 184, 0, 51, 52, 53, 79,
+ 0, 0, 0, 0, 54, 55, 0, 0, 56, 16,
+ 0, 17, 18, 19, 20, 21, 22, 23, 0, 0,
0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 81, 98, 82, 83, 35, 84, 85,
- 86, 87, 88, 89, 0, 0, 0, 90, 91, 92,
- 93, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 52, 53, 79, 0, 0, 0, 0, 54, 55, 0,
- 77, 56, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 80, 0, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 81, 0, 82, 83,
- 35, 84, 85, 86, 87, 88, 89, 0, 0, 0,
- 90, 91, 92, 93, 36, 0, 37, 38, 39, 40,
- 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 52, 53, 79, 0, 0, 0, 0,
- 54, 55, 0, 0, 56, 16, 0, 17, 18, 19,
- 20, 21, 22, 23, -69, 0, 0, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
+ 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, -174, 0, 43, 44, 45, 46, 47, 48, 49,
+ 186, 0, 187, -174, 0, 0, 0, 50, 0, 0,
+ 0, -174, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 167, 168, 169, 170, 0, 54, 55, 0,
+ -72, 56, 0, -174, -174, -174, -174, 0, 0, 0,
+ -174, 0, -174, 0, 0, -174, 0, 0, 176, 177,
+ 178, 179, -174, -174, -174, -174, 180, 181, 182, 183,
+ 0, 0, 184, 0, 0, 0, 0, -174, -174, -174,
+ -213, -174, -174, -174, -174, -174, -174, -174, -174, -174,
+ -174, -174, -213, 0, 0, 0, -174, -174, -174, -174,
+ -213, 0, -174, -174, 0, 0, 0, 0, 0, 0,
+ 0, 167, 168, 169, 170, 0, 0, 0, 0, 0,
+ 0, 0, -213, -213, -213, -213, 0, 0, 0, -213,
+ 0, -213, 0, 0, -213, 0, 0, 0, 177, 178,
+ 179, -213, -213, -213, -213, 180, 181, 182, 183, 0,
+ 0, 184, 0, 0, 0, 0, -213, -213, -213, 0,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, 0, 0, 0, 0, -213, -213, -213, -213, 0,
+ 0, -213, -213, 77, 0, 16, 0, 17, 18, 19,
+ 20, 21, 22, 23, 0, 0, 0, 131, 25, 26,
+ 27, 28, 109, 29, 30, 31, 32, 33, 34, 0,
0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
- 0, 167, 168, 169, 170, 0, 0, 36, 0, 37,
+ 167, -246, 169, 170, 0, 0, 0, 36, 0, 37,
38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 49, 175, 176, 177, 178,
- 179, 0, 0, 50, 0, 180, 181, 182, 183, 0,
- 0, 184, 0, 0, 0, 51, 52, 53, 79, 0,
- 0, 0, 0, 54, 55, 0, 0, 56, 16, 0,
+ 44, 45, 46, 47, 48, 49, 0, 0, 178, 179,
+ 0, 0, 0, 50, 180, 181, 182, 183, 0, 0,
+ 184, 0, 0, 0, 0, 51, 52, 53, 0, 0,
+ 0, 0, 0, 54, 55, 0, 77, 56, 16, 0,
17, 18, 19, 20, 21, 22, 23, 0, 0, 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,
+ 0, 0, 0, 167, 168, 169, 170, 0, 0, 0,
36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
- -171, 0, 43, 44, 45, 46, 47, 48, 49, 186,
- 0, 187, -171, 0, 0, 0, 50, 0, 0, 0,
- -171, 0, 0, 0, 0, 0, 0, 0, 51, 52,
- 53, 167, 168, 169, 170, 0, 54, 55, 0, -69,
- 56, 0, -171, -171, -171, -171, 0, 0, 0, -171,
- 0, -171, 0, 0, -171, 0, 0, 176, 177, 178,
- 179, -171, -171, -171, -171, 180, 181, 182, 183, 0,
- 0, 184, 0, 0, 0, 0, -171, -171, -171, -210,
- -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
- -171, -210, 0, 0, 0, -171, -171, -171, -171, -210,
- 0, -171, -171, 0, 0, 0, 0, 0, 0, 0,
- 167, 168, 169, 170, 0, 0, 0, 0, 0, 0,
- 0, -210, -210, -210, -210, 0, 0, 0, -210, 0,
- -210, 0, 0, -210, 0, 0, 0, 177, 178, 179,
- -210, -210, -210, -210, 180, 181, 182, 183, 0, 0,
- 184, 0, 0, 0, 0, -210, -210, -210, 0, -210,
- -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
- 0, 0, 0, 0, -210, -210, -210, -210, 0, 0,
- -210, -210, 77, 0, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, 0, 0, 0, 131, 25, 26, 27,
- 28, 109, 29, 30, 31, 32, 33, 34, 0, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 0, 167,
- -238, 169, 170, 0, 0, 0, 36, 0, 37, 38,
- 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
- 45, 46, 47, 48, 49, 0, 0, 178, 179, 0,
- 0, 0, 50, 180, 181, 182, 183, 0, 0, 184,
- 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
- 0, 0, 54, 55, 0, 77, 56, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
- 0, 0, 167, 168, 169, 170, 0, 0, 0, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 178, 179, 0, 0, 0, 50, 180, 181, 182, 183,
- 0, 0, 184, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 0, 54, 55, 0, 0, 56,
- 16, 104, 17, 18, 19, 20, 21, 22, 23, 0,
- 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
- 31, 32, 33, 34, 0, 0, 0, 0, 35, 0,
- 0, 0, 0, 0, 0, -238, 0, 169, 170, 0,
- 0, 0, 36, 0, 37, 38, 39, 40, 41, 42,
- 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
- 49, 0, 0, 178, 179, 0, 0, 0, 50, 180,
- 181, 182, 183, 0, 0, 184, 0, 0, 0, 0,
- 51, 52, 53, 0, 0, 0, 0, 0, 54, 55,
- 0, 16, 56, 17, 18, 19, 20, 21, 22, 23,
- 139, 0, 0, 24, 25, 26, 27, 28, 0, 29,
+ 0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
+ 0, 178, 179, 0, 0, 0, 50, 180, 181, 182,
+ 183, 0, 0, 184, 0, 0, 0, 0, 51, 52,
+ 53, 0, 0, 0, 0, 0, 54, 55, 0, 0,
+ 56, 16, 104, 17, 18, 19, 20, 21, 22, 23,
+ 0, 0, 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, 0, 0, 0, -246, 0, 169, 170,
0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48, 49, 0, 0, 178, 179, 0, 0, 0, 50,
+ 180, 181, 182, 183, 0, 0, 184, 0, 0, 0,
0, 51, 52, 53, 0, 0, 0, 0, 0, 54,
55, 0, 16, 56, 17, 18, 19, 20, 21, 22,
+ 23, 139, 0, 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, 169,
+ 170, 0, 0, 0, 36, 0, 37, 38, 39, 40,
+ 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 49, 0, 0, 178, 179, 0, 0, 0,
+ 50, 180, 181, 182, 183, 0, 0, 184, 0, 0,
+ 0, 0, 51, 52, 53, 0, 0, 0, 0, 0,
+ 54, 55, 0, 16, 56, 17, 18, 19, 20, 21,
+ 22, 23, 0, 0, 0, 24, 25, 26, 27, 28,
+ 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
+ 0, 35, 212, 213, 214, 215, 0, 0, 0, 216,
+ 0, 217, 0, 0, 0, 36, 0, 37, 38, 39,
+ 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
+ 46, 47, 48, 49, 0, 0, 159, 160, 161, 0,
+ 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
+ 0, 54, 55, 0, 157, 56, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, 0, 0, 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, 49, 0, 0, 0,
+ 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
+ 0, 0, 0, 0, 54, 55, 0, 231, 56, 16,
+ 0, 17, 18, 19, 20, 21, 22, 23, 0, 0,
+ 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, 49,
+ 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 0, 0, 0, 54, 55, 0,
+ 239, 56, 16, 0, 17, 18, 19, 20, 21, 22,
23, 0, 0, 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,
@@ -679,7 +722,7 @@ static const yytype_int16 yytable[] =
47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 51, 52, 53, 0, 0, 0, 0, 0,
- 54, 55, 0, 157, 56, 16, 0, 17, 18, 19,
+ 54, 55, 0, 251, 56, 16, 0, 17, 18, 19,
20, 21, 22, 23, 0, 0, 0, 24, 25, 26,
27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
@@ -688,7 +731,7 @@ static const yytype_int16 yytable[] =
44, 45, 46, 47, 48, 49, 0, 0, 0, 0,
0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 0, 54, 55, 0, 230, 56, 16, 0,
+ 0, 0, 0, 54, 55, 0, 280, 56, 16, 0,
17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
@@ -697,267 +740,263 @@ static const yytype_int16 yytable[] =
0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
- 53, 0, 0, 0, 0, 0, 54, 55, 0, 238,
+ 53, 0, 0, 0, 0, 0, 54, 55, 0, 345,
56, 16, 0, 17, 18, 19, 20, 21, 22, 23,
0, 0, 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, 49, 0, 0, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48, 49, 0, 0, 0, 0, 0, 166, 0, 50,
+ 0, 0, 0, 0, 167, 168, 169, 170, 0, 0,
0, 51, 52, 53, 0, 0, 0, 0, 0, 54,
- 55, 0, 250, 56, 16, 0, 17, 18, 19, 20,
- 21, 22, 23, 0, 0, 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, 49, 0, 0, 0, 0, 0,
- 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
- 0, 0, 54, 55, 0, 279, 56, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 0, 0, 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, 49, 0, 0,
- 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 0, 54, 55, 0, 337, 56,
- 16, 0, 17, 18, 19, 20, 21, 22, 23, 0,
- 0, 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,
- 49, 0, 0, 0, 0, 0, 166, 0, 50, 0,
- 0, 0, 0, 167, 168, 169, 170, 0, 0, 0,
- 51, 52, 53, 0, 0, 0, 0, 0, 54, 55,
- 0, 0, 56, 171, 172, 328, 173, 174, 175, 176,
- 177, 178, 179, 0, 0, 0, 0, 180, 181, 182,
- 183, 166, 0, 184, 0, 0, 0, 0, 167, 168,
- 169, 170, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 171, 172,
- 0, 173, 174, 175, 176, 177, 178, 179, 0, 0,
- 0, 0, 180, 181, 182, 183, 166, 0, 184, 0,
- 0, 0, 0, 167, 168, 169, 170, 0, 0, 0,
+ 55, 0, 0, 56, 171, 172, 336, 173, 174, 175,
+ 176, 177, 178, 179, 0, 0, 0, 0, 180, 181,
+ 182, 183, 166, 0, 184, 0, 0, 0, 0, 167,
+ 168, 169, 170, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 171,
+ 172, 0, 173, 174, 175, 176, 177, 178, 179, 0,
+ 0, 0, 0, 180, 181, 182, 183, 166, 0, 184,
+ 0, 0, 0, 0, 167, 168, 169, 170, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 172, 0, 173, 174, 175, 176,
- 177, 178, 179, 0, 0, 0, 0, 180, 181, 182,
- 183, 0, 0, 184
+ 0, 0, 0, 0, 0, 172, 0, 173, 174, 175,
+ 176, 177, 178, 179, 0, 0, 0, 0, 180, 181,
+ 182, 183, 0, 0, 184
};
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-409)))
-
-#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-238)))
-
static const yytype_int16 yycheck[] =
{
- 10, 11, 12, 15, 128, 299, 9, 117, 396, 42,
- 418, 9, 299, 16, 301, 302, 15, 50, 11, 0,
- 9, 12, 11, 20, 9, 12, 76, 77, 78, 103,
- 8, 41, 80, 143, 44, 20, 103, 19, 20, 21,
- 22, 23, 45, 25, 26, 20, 21, 22, 23, 103,
- 25, 26, 102, 56, 102, 15, 16, 17, 20, 9,
- 42, 43, 470, 11, 26, 15, 48, 42, 43, 23,
- 9, 70, 12, 23, 28, 463, 46, 47, 28, 76,
- 77, 78, 369, 93, 117, 76, 77, 78, 98, 76,
- 77, 78, 102, 103, 103, 103, 17, 18, 222, 77,
- 80, 9, 135, 12, 103, 98, 12, 9, 90, 11,
- 143, 32, 399, 123, 103, 36, 9, 120, 11, 20,
- 41, 48, 20, 44, 127, 128, 47, 12, 49, 23,
- 51, 52, 53, 54, 55, 12, 76, 77, 78, 20,
- 103, 12, 145, 103, 103, 9, 128, 76, 77, 78,
- 103, 15, 12, 128, 18, 20, 159, 160, 161, 23,
- 163, 164, 165, 26, 28, 452, 103, 76, 77, 78,
- 76, 77, 78, 102, 468, 76, 77, 78, 76, 77,
- 78, 193, 185, 186, 187, 188, 189, 190, 191, 192,
- 223, 76, 77, 78, 10, 76, 77, 78, 208, 76,
- 77, 78, 184, 103, 314, 76, 77, 78, 211, 212,
- 213, 214, 215, 216, 103, 339, 76, 77, 78, 222,
- 198, 199, 200, 201, 202, 203, 102, 205, 206, 9,
- 233, 11, 20, 103, 76, 77, 78, 103, 9, 242,
- 11, 162, 72, 102, 20, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 102, 9, 11, 11, 267, 268, 23, 15, 16, 17,
- 18, 19, 9, 276, 11, 103, 24, 20, 288, 23,
- 63, 314, 72, 102, 394, 10, 26, 269, 76, 77,
- 78, 294, 295, 296, 297, 295, 299, 297, 301, 302,
- 76, 77, 78, 398, 11, 400, 78, 90, 403, 404,
- 18, 103, 95, 96, 97, 98, 298, 65, 101, 414,
- 415, 324, 300, 42, 43, 44, 45, 422, 18, 18,
- 49, 18, 51, 76, 77, 78, 339, 76, 77, 78,
- 18, 436, 21, 63, 64, 440, 23, 76, 77, 78,
- 76, 77, 78, 63, 64, 103, 102, 76, 77, 78,
- 15, 394, 26, 102, 10, 10, 369, 10, 10, 89,
- 90, 349, 467, 102, 352, 95, 96, 97, 98, 474,
- 90, 101, 10, 102, 23, 95, 96, 97, 98, 102,
- 102, 101, 96, 97, 98, 54, 399, 101, 103, 102,
- 412, 102, 61, 62, 63, 64, 102, 328, 20, 102,
- 42, 43, 44, 45, 426, 103, 102, 49, 421, 51,
- 10, 431, 102, 435, 20, 84, 85, 86, 87, 88,
- 89, 90, 9, 102, 9, 445, 95, 96, 97, 98,
- 450, 74, 101, 103, 76, 77, 78, 0, 1, 452,
- 20, 20, 102, 465, 102, 20, 9, 73, 11, 469,
- 13, 14, 15, 16, 17, 18, 19, 20, 22, 12,
- 23, 24, 25, 26, 27, 102, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 76, 77, 78, 49, 50, 51, 52,
- 53, 102, 55, 56, 57, 58, 59, 60, 420, 76,
- 77, 78, 65, 66, 67, 68, 69, 70, 71, 102,
- 98, 433, 434, 468, 421, 195, 79, 95, 96, 97,
- 98, 443, 35, 101, 83, 102, 351, 392, 91, 92,
- 93, 453, 0, 1, 411, -1, 99, 100, 48, 48,
- 103, 9, -1, 11, -1, 13, 14, 15, 16, 17,
- 18, 19, 20, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, -1, -1, 90, -1, -1,
- -1, 79, 95, 96, 97, 98, -1, -1, 101, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, 1, -1,
- -1, 99, 100, -1, -1, 103, 9, 10, 11, -1,
- 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
- 23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, -1, -1, -1, 49, 50, 51, 52,
- 53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
- -1, -1, 65, 66, 67, 68, 69, 70, 71, 3,
- 4, 5, 6, 7, 8, -1, 79, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
- 93, -1, -1, 1, -1, -1, 99, 100, -1, -1,
- 103, 9, 10, 11, -1, 13, 14, 15, 16, 17,
- 18, 19, 20, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, 1, -1,
- -1, 99, 100, -1, -1, 103, 9, 10, 11, -1,
- 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
- 23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, -1, -1, -1, 49, 50, 51, 52,
- 53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
- -1, -1, 65, 66, 67, 68, 69, 70, 71, -1,
- -1, -1, -1, -1, -1, -1, 79, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
- 93, -1, -1, 1, -1, -1, 99, 100, -1, -1,
- 103, 9, 10, 11, -1, 13, 14, 15, 16, 17,
+ 10, 11, 12, 15, 48, 406, 9, 15, 48, 42,
+ 128, 307, 9, 16, 11, 430, 11, 50, 9, 15,
+ 16, 17, 117, 80, 0, 8, 76, 77, 78, 20,
+ 23, 41, 12, 20, 44, 28, 15, 16, 17, 26,
+ 19, 9, 45, 11, 307, 102, 309, 310, 143, 76,
+ 77, 78, 102, 56, 9, 12, 11, 19, 20, 21,
+ 22, 23, 70, 25, 26, 46, 47, 20, 21, 22,
+ 23, 11, 25, 26, 12, 102, 491, 9, 103, 12,
+ 42, 43, 483, 93, 117, 93, 48, 12, 98, 42,
+ 43, 70, 102, 103, 77, 103, 76, 77, 78, 17,
+ 18, 103, 135, 98, 12, 223, 103, 103, 12, 296,
+ 143, 298, 12, 123, 32, 103, 379, 120, 36, 76,
+ 77, 78, 80, 41, 127, 128, 44, 23, 90, 47,
+ 12, 49, 103, 51, 52, 53, 54, 55, 76, 77,
+ 78, 9, 145, 76, 77, 78, 409, 9, 411, 11,
+ 20, 76, 77, 78, 103, 9, 159, 160, 161, 203,
+ 163, 164, 165, 203, 103, 9, 128, 11, 76, 77,
+ 78, 48, 76, 77, 78, 128, 76, 77, 78, 103,
+ 103, 193, 185, 186, 187, 188, 189, 190, 191, 192,
+ 103, 224, 455, 489, 76, 77, 78, 103, 103, 209,
+ 76, 77, 78, 20, 103, 468, 76, 77, 78, 212,
+ 213, 214, 215, 216, 217, 198, 199, 200, 201, 202,
+ 223, 204, 184, 206, 207, 20, 102, 322, 9, 347,
+ 11, 234, 103, 102, 15, 16, 17, 18, 19, 26,
+ 243, 203, 20, 24, 162, 20, 102, 10, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 20, 72, 268, 269, 9, 408, 11,
+ 11, 9, 412, 23, 277, 415, 416, 15, 23, 289,
+ 18, 76, 77, 78, 65, 23, 426, 427, 103, 322,
+ 28, 102, 295, 296, 297, 298, 436, 20, 76, 77,
+ 78, 76, 77, 78, 307, 20, 309, 310, 270, 404,
+ 450, 72, 9, 26, 454, 10, 456, 300, 15, 76,
+ 77, 78, 103, 11, 78, 308, 23, 18, 372, 332,
+ 103, 28, 372, 42, 43, 44, 45, 299, 18, 18,
+ 49, 481, 51, 18, 347, 434, 18, 487, 76, 77,
+ 78, 63, 64, 76, 77, 78, 496, 21, 447, 448,
+ 23, 76, 77, 78, 15, 16, 17, 76, 77, 78,
+ 459, 404, 15, 103, 357, 102, 379, 360, 90, 26,
+ 469, 10, 471, 95, 96, 97, 98, 10, 10, 101,
+ 373, 10, 63, 102, 76, 77, 78, 10, 23, 488,
+ 102, 102, 102, 76, 77, 78, 409, 103, 411, 102,
+ 372, 20, 424, 61, 62, 63, 64, 102, 336, 90,
+ 102, 102, 10, 20, 95, 96, 97, 98, 440, 102,
+ 101, 9, 435, 102, 102, 445, 103, 449, 86, 87,
+ 88, 89, 90, 102, 76, 77, 78, 95, 96, 97,
+ 98, 461, 455, 101, 9, 90, 466, 74, 102, 20,
+ 95, 96, 97, 98, 20, 468, 101, 103, 0, 1,
+ 102, 102, 102, 485, 20, 103, 102, 9, 22, 11,
+ 490, 13, 14, 15, 16, 17, 18, 19, 20, 73,
+ 102, 23, 24, 25, 26, 27, 102, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 76, 77, 78, 49, 50, 51,
+ 52, 53, 12, 55, 56, 57, 58, 59, 60, 98,
+ 489, 35, 435, 65, 66, 67, 68, 69, 70, 71,
+ 102, 195, 95, 96, 97, 98, 83, 79, 101, 3,
+ 4, 5, 6, 7, 8, 359, 402, 423, 372, 91,
+ 92, 93, 203, 0, 1, -1, -1, 99, 100, -1,
+ -1, 103, 9, -1, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, 20, -1, -1, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
+ -1, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, 96, 97, 98, -1, -1,
+ 101, -1, 79, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, 93, -1, -1, 1,
+ -1, -1, 99, 100, -1, -1, 103, 9, 10, 11,
+ -1, 13, 14, 15, 16, 17, 18, 19, 20, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
+ -1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ 92, 93, -1, -1, 1, -1, -1, 99, 100, -1,
+ -1, 103, 9, 10, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, 20, -1, -1, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
+ -1, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
+ -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, 93, -1, -1, 1,
+ -1, -1, 99, 100, -1, -1, 103, 9, 10, 11,
+ -1, 13, 14, 15, 16, 17, 18, 19, 20, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
+ -1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ 92, 93, -1, -1, 1, -1, -1, 99, 100, -1,
+ -1, 103, 9, 10, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, 20, -1, -1, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
+ -1, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
+ -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, 93, 1, -1, -1,
+ -1, -1, 99, 100, -1, 9, 103, 11, -1, 13,
+ 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
+ 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
+ -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
+ 74, -1, -1, -1, -1, 79, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
+ 1, -1, -1, -1, -1, 99, 100, -1, 9, 103,
+ 11, -1, 13, 14, 15, 16, 17, 18, 19, 20,
+ -1, -1, 23, 24, 25, 26, 27, -1, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, -1, -1, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, 57, 58, 59, 60,
+ -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
+ 71, -1, -1, -1, -1, -1, -1, -1, 79, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 91, 92, 93, 1, -1, -1, -1, -1, 99, 100,
+ -1, 9, 103, 11, -1, 13, 14, 15, 16, 17,
18, 19, 20, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ -1, 29, 30, 31, 32, 33, 34, 35, -1, 37,
38, 39, 40, 41, 42, 43, 44, 45, -1, -1,
-1, 49, 50, 51, 52, 53, -1, 55, 56, 57,
58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
-1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 91, 92, 93, 1, -1, -1, -1,
- -1, 99, 100, -1, 9, 103, 11, -1, 13, 14,
+ -1, 99, 100, -1, -1, 103, 11, -1, 13, 14,
15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
+ -1, -1, -1, -1, 39, -1, -1, 54, -1, -1,
+ -1, -1, -1, -1, 61, 62, 63, 64, 53, -1,
55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
- 65, 66, 67, 68, 69, 70, 71, -1, -1, 74,
- -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, 93, 1,
- -1, -1, -1, -1, 99, 100, -1, 9, 103, 11,
- -1, 13, 14, 15, 16, 17, 18, 19, 20, -1,
+ 65, 66, 67, 68, 69, 70, 71, 84, 85, 86,
+ 87, 88, 89, 90, 79, -1, -1, -1, 95, 96,
+ 97, 98, -1, -1, 101, -1, 91, 92, 93, 1,
+ -1, -1, -1, -1, 99, 100, -1, -1, 103, 11,
+ -1, 13, 14, 15, 16, 17, 18, 19, -1, -1,
-1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, -1, -1, -1, 49, 50, 51,
- 52, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- -1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
- 92, 93, 1, -1, -1, -1, -1, 99, 100, -1,
- 9, 103, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, 32, 33, 34, 35, -1, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
- 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
- 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 93, 1, -1, -1, -1, -1,
- 99, 100, -1, -1, 103, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, 20, -1, -1, 23, 24, 25,
- 26, 27, -1, 29, 30, 31, 32, 33, 34, -1,
+ 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, 0, -1, 65, 66, 67, 68, 69, 70, 71,
+ 9, -1, 11, 12, -1, -1, -1, 79, -1, -1,
+ -1, 20, -1, -1, -1, -1, -1, -1, -1, 91,
+ 92, 93, 61, 62, 63, 64, -1, 99, 100, -1,
+ 102, 103, -1, 42, 43, 44, 45, -1, -1, -1,
+ 49, -1, 51, -1, -1, 54, -1, -1, 87, 88,
+ 89, 90, 61, 62, 63, 64, 95, 96, 97, 98,
+ -1, -1, 101, -1, -1, -1, -1, 76, 77, 78,
+ 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 12, -1, -1, -1, 95, 96, 97, 98,
+ 20, -1, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 61, 62, 63, 64, -1, -1, -1, -1, -1,
+ -1, -1, 42, 43, 44, 45, -1, -1, -1, 49,
+ -1, 51, -1, -1, 54, -1, -1, -1, 88, 89,
+ 90, 61, 62, 63, 64, 95, 96, 97, 98, -1,
+ -1, 101, -1, -1, -1, -1, 76, 77, 78, -1,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, -1, -1, -1, 95, 96, 97, 98, -1,
+ -1, 101, 102, 9, -1, 11, -1, 13, 14, 15,
+ 16, 17, 18, 19, -1, -1, -1, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
-1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
- -1, 61, 62, 63, 64, -1, -1, 53, -1, 55,
+ 61, 62, 63, 64, -1, -1, -1, 53, -1, 55,
56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
- 66, 67, 68, 69, 70, 71, 86, 87, 88, 89,
- 90, -1, -1, 79, -1, 95, 96, 97, 98, -1,
- -1, 101, -1, -1, -1, 91, 92, 93, 1, -1,
- -1, -1, -1, 99, 100, -1, -1, 103, 11, -1,
+ 66, 67, 68, 69, 70, 71, -1, -1, 89, 90,
+ -1, -1, -1, 79, 95, 96, 97, 98, -1, -1,
+ 101, -1, -1, -1, -1, 91, 92, 93, -1, -1,
+ -1, -1, -1, 99, 100, -1, 9, 103, 11, -1,
13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
33, 34, -1, -1, -1, -1, 39, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 61, 62, 63, 64, -1, -1, -1,
53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
- 0, -1, 65, 66, 67, 68, 69, 70, 71, 9,
- -1, 11, 12, -1, -1, -1, 79, -1, -1, -1,
- 20, -1, -1, -1, -1, -1, -1, -1, 91, 92,
- 93, 61, 62, 63, 64, -1, 99, 100, -1, 102,
- 103, -1, 42, 43, 44, 45, -1, -1, -1, 49,
- -1, 51, -1, -1, 54, -1, -1, 87, 88, 89,
- 90, 61, 62, 63, 64, 95, 96, 97, 98, -1,
- -1, 101, -1, -1, -1, -1, 76, 77, 78, 0,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 12, -1, -1, -1, 95, 96, 97, 98, 20,
- -1, 101, 102, -1, -1, -1, -1, -1, -1, -1,
- 61, 62, 63, 64, -1, -1, -1, -1, -1, -1,
- -1, 42, 43, 44, 45, -1, -1, -1, 49, -1,
- 51, -1, -1, 54, -1, -1, -1, 88, 89, 90,
- 61, 62, 63, 64, 95, 96, 97, 98, -1, -1,
- 101, -1, -1, -1, -1, 76, 77, 78, -1, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- -1, -1, -1, -1, 95, 96, 97, 98, -1, -1,
- 101, 102, 9, -1, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, -1, -1, -1, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, -1, -1,
- -1, -1, 39, -1, -1, -1, -1, -1, -1, 61,
- 62, 63, 64, -1, -1, -1, 53, -1, 55, 56,
- 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
- 67, 68, 69, 70, 71, -1, -1, 89, 90, -1,
- -1, -1, 79, 95, 96, 97, 98, -1, -1, 101,
- -1, -1, -1, -1, 91, 92, 93, -1, -1, -1,
- -1, -1, 99, 100, -1, 9, 103, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
- -1, -1, 61, 62, 63, 64, -1, -1, -1, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- 89, 90, -1, -1, -1, 79, 95, 96, 97, 98,
- -1, -1, 101, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, -1, 99, 100, -1, -1, 103,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, -1,
- -1, -1, 23, 24, 25, 26, 27, -1, 29, 30,
- 31, 32, 33, 34, -1, -1, -1, -1, 39, -1,
- -1, -1, -1, -1, -1, 61, -1, 63, 64, -1,
- -1, -1, 53, -1, 55, 56, 57, 58, 59, 60,
- -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
- 71, -1, -1, 89, 90, -1, -1, -1, 79, 95,
- 96, 97, 98, -1, -1, 101, -1, -1, -1, -1,
- 91, 92, 93, -1, -1, -1, -1, -1, 99, 100,
- -1, 11, 103, 13, 14, 15, 16, 17, 18, 19,
- 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
+ -1, -1, 65, 66, 67, 68, 69, 70, 71, -1,
+ -1, 89, 90, -1, -1, -1, 79, 95, 96, 97,
+ 98, -1, -1, 101, -1, -1, -1, -1, 91, 92,
+ 93, -1, -1, -1, -1, -1, 99, 100, -1, -1,
+ 103, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ -1, -1, -1, 23, 24, 25, 26, 27, -1, 29,
30, 31, 32, 33, 34, -1, -1, -1, -1, 39,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 61, -1, 63, 64,
-1, -1, -1, 53, -1, 55, 56, 57, 58, 59,
60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 70, 71, -1, -1, 89, 90, -1, -1, -1, 79,
+ 95, 96, 97, 98, -1, -1, 101, -1, -1, -1,
-1, 91, 92, 93, -1, -1, -1, -1, -1, 99,
100, -1, 11, 103, 13, 14, 15, 16, 17, 18,
+ 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
+ 39, -1, -1, -1, -1, -1, -1, -1, -1, 63,
+ 64, -1, -1, -1, 53, -1, 55, 56, 57, 58,
+ 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
+ 69, 70, 71, -1, -1, 89, 90, -1, -1, -1,
+ 79, 95, 96, 97, 98, -1, -1, 101, -1, -1,
+ -1, -1, 91, 92, 93, -1, -1, -1, -1, -1,
+ 99, 100, -1, 11, 103, 13, 14, 15, 16, 17,
+ 18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
+ -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
+ -1, 39, 42, 43, 44, 45, -1, -1, -1, 49,
+ -1, 51, -1, -1, -1, 53, -1, 55, 56, 57,
+ 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
+ 68, 69, 70, 71, -1, -1, 76, 77, 78, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
+ -1, 99, 100, -1, 102, 103, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, -1, -1, -1, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
+ -1, -1, -1, -1, 39, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 53, -1,
+ 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
+ -1, -1, -1, -1, 99, 100, -1, 102, 103, 11,
+ -1, 13, 14, 15, 16, 17, 18, 19, -1, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
+ 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
+ -1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ 92, 93, -1, -1, -1, -1, -1, 99, 100, -1,
+ 102, 103, 11, -1, 13, 14, 15, 16, 17, 18,
19, -1, -1, -1, 23, 24, 25, 26, 27, -1,
29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
39, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -991,49 +1030,21 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 53, -1, 55, 56, 57, 58, 59,
60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 70, 71, -1, -1, -1, -1, -1, 54, -1, 79,
+ -1, -1, -1, -1, 61, 62, 63, 64, -1, -1,
-1, 91, 92, 93, -1, -1, -1, -1, -1, 99,
- 100, -1, 102, 103, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, -1, -1, -1, 23, 24, 25, 26,
- 27, -1, 29, 30, 31, 32, 33, 34, -1, -1,
- -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 53, -1, 55, 56,
- 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
- 67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 91, 92, 93, -1, -1, -1,
- -1, -1, 99, 100, -1, 102, 103, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, -1, 99, 100, -1, 102, 103,
- 11, -1, 13, 14, 15, 16, 17, 18, 19, -1,
- -1, -1, 23, 24, 25, 26, 27, -1, 29, 30,
- 31, 32, 33, 34, -1, -1, -1, -1, 39, -1,
+ 100, -1, -1, 103, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, -1, -1, -1, 95, 96,
+ 97, 98, 54, -1, 101, -1, -1, -1, -1, 61,
+ 62, 63, 64, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
+ 82, -1, 84, 85, 86, 87, 88, 89, 90, -1,
+ -1, -1, -1, 95, 96, 97, 98, 54, -1, 101,
+ -1, -1, -1, -1, 61, 62, 63, 64, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 53, -1, 55, 56, 57, 58, 59, 60,
- -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
- 71, -1, -1, -1, -1, -1, 54, -1, 79, -1,
- -1, -1, -1, 61, 62, 63, 64, -1, -1, -1,
- 91, 92, 93, -1, -1, -1, -1, -1, 99, 100,
- -1, -1, 103, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, -1, -1, -1, -1, 95, 96, 97,
- 98, 54, -1, 101, -1, -1, -1, -1, 61, 62,
- 63, 64, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, -1, -1,
- -1, -1, 95, 96, 97, 98, 54, -1, 101, -1,
- -1, -1, -1, 61, 62, 63, 64, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, 84, 85, 86, 87,
- 88, 89, 90, -1, -1, -1, -1, 95, 96, 97,
- 98, -1, -1, 101
+ -1, -1, -1, -1, -1, 82, -1, 84, 85, 86,
+ 87, 88, 89, 90, -1, -1, -1, -1, 95, 96,
+ 97, 98, -1, -1, 101
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1045,49 +1056,51 @@ static const yytype_uint8 yystos[] =
16, 17, 18, 19, 23, 24, 25, 26, 27, 29,
30, 31, 32, 33, 34, 39, 53, 55, 56, 57,
58, 59, 60, 65, 66, 67, 68, 69, 70, 71,
- 79, 91, 92, 93, 99, 100, 103, 151, 152, 153,
- 156, 157, 158, 159, 160, 161, 163, 166, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 9, 112, 1,
+ 79, 91, 92, 93, 99, 100, 103, 152, 153, 154,
+ 157, 158, 159, 160, 161, 162, 164, 167, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 9, 112, 1,
20, 35, 37, 38, 40, 41, 42, 43, 44, 45,
- 49, 50, 51, 52, 112, 121, 129, 151, 36, 119,
- 120, 121, 117, 117, 12, 151, 161, 161, 23, 28,
- 112, 169, 177, 177, 177, 177, 177, 177, 177, 162,
- 11, 103, 161, 141, 141, 161, 103, 103, 103, 112,
- 161, 23, 152, 165, 169, 177, 177, 112, 161, 20,
- 151, 23, 28, 143, 161, 103, 164, 169, 170, 171,
- 161, 152, 161, 161, 161, 161, 161, 102, 151, 76,
+ 49, 50, 51, 52, 112, 121, 130, 152, 36, 119,
+ 120, 121, 117, 117, 12, 152, 162, 162, 23, 28,
+ 112, 172, 180, 180, 180, 180, 180, 180, 180, 163,
+ 11, 103, 162, 142, 142, 162, 103, 103, 103, 112,
+ 162, 23, 153, 166, 172, 180, 180, 112, 162, 20,
+ 152, 23, 28, 144, 162, 103, 165, 172, 173, 174,
+ 162, 153, 162, 162, 162, 162, 162, 102, 152, 76,
77, 78, 80, 9, 11, 103, 54, 61, 62, 63,
64, 81, 82, 84, 85, 86, 87, 88, 89, 90,
95, 96, 97, 98, 101, 103, 9, 11, 9, 11,
- 9, 11, 9, 114, 142, 143, 23, 140, 103, 103,
- 103, 103, 70, 103, 169, 103, 103, 112, 48, 131,
- 20, 42, 43, 44, 45, 49, 51, 120, 121, 119,
- 12, 165, 103, 103, 151, 102, 112, 26, 144, 102,
- 102, 151, 166, 177, 152, 10, 20, 165, 102, 151,
- 72, 146, 11, 102, 151, 151, 151, 161, 151, 151,
- 102, 151, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 9, 11, 15,
- 16, 17, 18, 19, 24, 65, 103, 155, 169, 102,
- 151, 151, 151, 151, 151, 151, 151, 151, 117, 23,
- 139, 140, 23, 123, 114, 114, 114, 114, 114, 114,
- 103, 114, 114, 112, 151, 135, 151, 151, 151, 151,
- 151, 166, 152, 12, 154, 72, 145, 102, 102, 151,
- 10, 102, 26, 151, 11, 20, 12, 102, 83, 151,
- 151, 18, 18, 18, 18, 18, 18, 102, 151, 103,
- 102, 20, 12, 20, 12, 20, 12, 20, 10, 21,
- 113, 122, 9, 20, 23, 134, 151, 135, 136, 151,
- 135, 138, 167, 169, 129, 133, 136, 137, 151, 114,
- 136, 136, 102, 102, 165, 26, 114, 149, 102, 12,
- 151, 10, 161, 20, 12, 102, 166, 10, 10, 10,
- 10, 114, 144, 114, 23, 102, 102, 102, 102, 103,
- 102, 20, 136, 102, 102, 103, 147, 12, 10, 102,
- 20, 145, 126, 165, 132, 132, 9, 115, 115, 136,
- 115, 124, 102, 115, 115, 148, 9, 74, 20, 149,
- 150, 117, 20, 115, 115, 116, 46, 47, 130, 130,
- 102, 131, 134, 115, 102, 117, 118, 10, 131, 131,
- 117, 115, 103, 115, 20, 131, 10, 20, 26, 127,
- 10, 136, 131, 125, 22, 73, 128, 102, 132, 117,
- 115, 137, 74, 130, 102, 115
+ 9, 11, 9, 114, 143, 144, 23, 141, 103, 103,
+ 103, 103, 70, 93, 103, 172, 103, 103, 112, 48,
+ 132, 20, 42, 43, 44, 45, 49, 51, 120, 121,
+ 119, 12, 166, 103, 103, 152, 102, 112, 26, 145,
+ 102, 102, 152, 167, 180, 153, 10, 20, 166, 102,
+ 152, 72, 147, 11, 102, 152, 152, 152, 162, 152,
+ 152, 102, 152, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 9, 11,
+ 15, 16, 17, 18, 19, 24, 65, 103, 156, 172,
+ 102, 152, 152, 152, 152, 152, 152, 152, 152, 117,
+ 23, 140, 141, 23, 123, 114, 114, 114, 114, 114,
+ 70, 169, 170, 171, 172, 173, 174, 114, 103, 114,
+ 114, 112, 152, 136, 152, 152, 152, 152, 152, 167,
+ 153, 12, 155, 72, 146, 102, 102, 152, 10, 102,
+ 26, 152, 11, 20, 12, 102, 83, 152, 152, 18,
+ 18, 18, 18, 18, 18, 102, 152, 103, 102, 20,
+ 12, 20, 12, 20, 12, 20, 10, 21, 113, 122,
+ 9, 20, 23, 135, 152, 136, 137, 152, 136, 139,
+ 168, 172, 114, 103, 130, 134, 137, 138, 152, 114,
+ 137, 137, 102, 102, 166, 26, 114, 150, 102, 12,
+ 152, 10, 162, 20, 12, 102, 167, 10, 10, 10,
+ 10, 114, 145, 114, 23, 102, 102, 102, 102, 103,
+ 169, 114, 102, 20, 137, 102, 102, 103, 148, 12,
+ 10, 102, 20, 146, 127, 166, 133, 133, 9, 115,
+ 115, 137, 126, 137, 115, 124, 102, 115, 115, 149,
+ 9, 74, 20, 150, 151, 117, 20, 115, 115, 116,
+ 46, 47, 131, 131, 102, 103, 102, 132, 135, 115,
+ 102, 117, 118, 10, 132, 132, 117, 115, 103, 115,
+ 137, 115, 20, 132, 10, 20, 26, 128, 10, 137,
+ 132, 102, 132, 125, 22, 73, 129, 102, 115, 133,
+ 117, 115, 132, 138, 74, 131, 102, 115
};
typedef enum {
@@ -1111,21 +1124,22 @@ 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_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_ival, toketype_ival, toketype_ival, toketype_ival,
- toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
+ 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_opval, toketype_opval, toketype_ival, toketype_opval,
toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
+ toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, 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, toketype_ival, toketype_ival,
toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
toketype_opval, toketype_ival, 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, toketype_ival, toketype_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_opval
};
/* Generated from:
- * 3a61f8d977f9bf0c587556e88cbbdbb0e347178ba03f85de232e25817751ee3c perly.y
+ * e00865c409632c145afdedc53ed48cbd223351eb895754d2775ff66a5aae8533 perly.y
* d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index fcb9ec0aa7..a90943611c 100644
--- a/perly.y
+++ b/perly.y
@@ -71,7 +71,8 @@
%type <opval> sliceme kvslice gelem
%type <opval> listexpr nexpr texpr iexpr mexpr mnexpr miexpr
%type <opval> optlistexpr optexpr indirob listop method
-%type <opval> formname subname proto optsubbody cont my_scalar formblock
+%type <opval> formname subname proto optsubbody cont my_scalar my_var
+%type <opval> refgen_topic formblock
%type <opval> subattrlist myattrlist myattrterm myterm
%type <opval> realsubbody subsignature termbinop termunop anonymous termdo
%type <opval> formstmtseq formline formarg
@@ -378,6 +379,31 @@ barestmt: PLUGSTMT
op_lvalue($2, OP_ENTERLOOP), $5, $7, $8));
parser->copline = (line_t)$1;
}
+ | FOR REFGEN MY remember my_var
+ { parser->in_my = 0; $<opval>$ = my($5); }
+ '(' mexpr ')' mblock cont
+ {
+ $$ = block_end(
+ $4,
+ newFOROP(0,
+ op_lvalue(
+ newUNOP(OP_REFGEN, 0,
+ op_lvalue($<opval>6,
+ OP_REFGEN)),
+ OP_ENTERLOOP),
+ $8, $10, $11)
+ );
+ parser->copline = (line_t)$1;
+ }
+ | FOR REFGEN refgen_topic '(' remember mexpr ')' mblock cont
+ {
+ $$ = block_end($5, newFOROP(
+ 0, op_lvalue(newUNOP(OP_REFGEN, 0,
+ op_lvalue($3,
+ OP_REFGEN)),
+ OP_ENTERLOOP), $6, $8, $9));
+ parser->copline = (line_t)$1;
+ }
| FOR '(' remember mexpr ')' mblock cont
{
$$ = block_end($3,
@@ -1018,6 +1044,15 @@ my_scalar: scalar
{ parser->in_my = 0; $$ = my($1); }
;
+my_var : scalar
+ | ary
+ | hsh
+ ;
+
+refgen_topic: my_var
+ | amper
+ ;
+
amper : '&' indirob
{ $$ = newCVREF($1,$2); }
;
diff --git a/pp.c b/pp.c
index 3ca98ccf9f..8ee7f05c06 100644
--- a/pp.c
+++ b/pp.c
@@ -6288,6 +6288,8 @@ PP(pp_lvref)
&PL_vtbl_lvref, (char *)elem,
elem ? HEf_SVKEY : ARGTARG);
mg->mg_private = PL_op->op_private;
+ if (PL_op->op_private & OPpLVREF_ITER)
+ mg->mg_flags |= MGf_PERSIST;
if (UNLIKELY(PL_op->op_private & OPpLVAL_INTRO)) {
if (elem) {
MAGIC *mg;
diff --git a/pp_ctl.c b/pp_ctl.c
index 4f5fd9a038..212c226a92 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2112,7 +2112,7 @@ PP(pp_enteriter)
itervar = &PAD_SVl(PL_op->op_targ);
#endif
}
- else { /* symbol table variable */
+ else if (LIKELY(isGV(TOPs))) { /* symbol table variable */
GV * const gv = MUTABLE_GV(POPs);
SV** svp = &GvSV(gv);
save_pushptrptr(gv, SvREFCNT_inc(*svp), SAVEt_GVSV);
@@ -2120,6 +2120,14 @@ PP(pp_enteriter)
itervar = (void *)gv;
save_aliased_sv(gv);
}
+ else {
+ SV * const sv = POPs;
+ assert(SvTYPE(sv) == SVt_PVMG);
+ assert(SvMAGIC(sv));
+ assert(SvMAGIC(sv)->mg_type == PERL_MAGIC_lvref);
+ itervar = (void *)sv;
+ cxtype |= CXp_FOR_LVREF;
+ }
if (PL_op->op_private & OPpITER_DEF)
cxtype |= CXp_FOR_DEF;
@@ -2133,6 +2141,8 @@ PP(pp_enteriter)
if (SvTYPE(maybe_ary) != SVt_PVAV) {
dPOPss;
SV * const right = maybe_ary;
+ if (UNLIKELY(cxtype & CXp_FOR_LVREF))
+ DIE(aTHX_ "Assigned value is not a reference");
SvGETMAGIC(sv);
SvGETMAGIC(right);
if (RANGE_IS_NUMERIC(sv,right)) {
diff --git a/pp_hot.c b/pp_hot.c
index 84e934e47a..2ff3de3400 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1963,6 +1963,11 @@ PP(pp_iter)
sv = AvARRAY(av)[ix];
}
+ if (UNLIKELY(cx->cx_type & CXp_FOR_LVREF)) {
+ SvSetMagicSV(*itersvp, sv);
+ break;
+ }
+
if (LIKELY(sv)) {
if (UNLIKELY(SvIS_FREED(sv))) {
*itersvp = NULL;