summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2022-06-08 12:35:25 +0100
committerPaul Evans <leonerd@leonerd.org.uk>2022-06-13 22:07:14 +0100
commit0065df430e3145136f9718fe1a6ba3810ef9bc91 (patch)
tree025c26e7d4780f8daf0a0dce3a29a15253fb13d1
parentfecef29147d516d89233c43e3a9c9800e6c7f9f4 (diff)
downloadperl-0065df430e3145136f9718fe1a6ba3810ef9bc91.tar.gz
A better error message for `try {} catch {}` missing its (VAR)
As suggested in https://github.com/Perl/perl5/issues/19811, this now outputs the message: $ ./perl -Mexperimental=try try { A() } catch { B() } catch block requires a (VAR) at - line 2, near "catch {" Execution of - aborted due to compilation errors.
-rw-r--r--perly.act1446
-rw-r--r--perly.h247
-rw-r--r--perly.tab1906
-rw-r--r--perly.y26
-rw-r--r--pod/perldiag.pod12
-rw-r--r--t/op/try.t9
6 files changed, 1724 insertions, 1922 deletions
diff --git a/perly.act b/perly.act
index 200df18298..6e7c83652e 100644
--- a/perly.act
+++ b/perly.act
@@ -5,8 +5,8 @@
*/
case 2:
-#line 140 "perly.y"
- {
+#line 141 "perly.y"
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -14,8 +14,8 @@ case 2:
break;
case 3:
-#line 145 "perly.y"
- {
+#line 146 "perly.y"
+ {
newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval)));
PL_compiling.cop_seq = 0;
(yyval.ival) = 0;
@@ -24,8 +24,8 @@ case 2:
break;
case 4:
-#line 151 "perly.y"
- {
+#line 152 "perly.y"
+ {
parser->expect = XTERM;
(yyval.ival) = 0;
}
@@ -33,8 +33,8 @@ case 2:
break;
case 5:
-#line 156 "perly.y"
- {
+#line 157 "perly.y"
+ {
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
@@ -42,8 +42,8 @@ case 2:
break;
case 6:
-#line 161 "perly.y"
- {
+#line 162 "perly.y"
+ {
parser->expect = XBLOCK;
(yyval.ival) = 0;
}
@@ -51,8 +51,8 @@ case 2:
break;
case 7:
-#line 166 "perly.y"
- {
+#line 167 "perly.y"
+ {
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
@@ -63,8 +63,8 @@ case 2:
break;
case 8:
-#line 174 "perly.y"
- {
+#line 175 "perly.y"
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -72,8 +72,8 @@ case 2:
break;
case 9:
-#line 179 "perly.y"
- {
+#line 180 "perly.y"
+ {
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
@@ -84,8 +84,8 @@ case 2:
break;
case 10:
-#line 187 "perly.y"
- {
+#line 188 "perly.y"
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -93,8 +93,8 @@ case 2:
break;
case 11:
-#line 192 "perly.y"
- {
+#line 193 "perly.y"
+ {
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
@@ -105,8 +105,8 @@ case 2:
break;
case 12:
-#line 200 "perly.y"
- {
+#line 201 "perly.y"
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -114,8 +114,8 @@ case 2:
break;
case 13:
-#line 205 "perly.y"
- {
+#line 206 "perly.y"
+ {
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
@@ -123,8 +123,8 @@ case 2:
break;
case 14:
-#line 210 "perly.y"
- {
+#line 211 "perly.y"
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -132,8 +132,8 @@ case 2:
break;
case 15:
-#line 215 "perly.y"
- {
+#line 216 "perly.y"
+ {
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
@@ -141,8 +141,8 @@ case 2:
break;
case 16:
-#line 223 "perly.y"
- { if (parser->copline > (line_t)(ps[-3].val.ival))
+#line 224 "perly.y"
+ { if (parser->copline > (line_t)(ps[-3].val.ival))
parser->copline = (line_t)(ps[-3].val.ival);
(yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
}
@@ -150,14 +150,14 @@ case 2:
break;
case 17:
-#line 230 "perly.y"
- { (yyval.opval) = NULL; }
+#line 231 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 18:
-#line 235 "perly.y"
- { if (parser->copline > (line_t)(ps[-6].val.ival))
+#line 236 "perly.y"
+ { if (parser->copline > (line_t)(ps[-6].val.ival))
parser->copline = (line_t)(ps[-6].val.ival);
(yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval));
}
@@ -165,15 +165,15 @@ case 2:
break;
case 19:
-#line 242 "perly.y"
- { (yyval.ival) = block_start(TRUE);
+#line 243 "perly.y"
+ { (yyval.ival) = block_start(TRUE);
parser->parsed_sub = 0; }
break;
case 20:
-#line 247 "perly.y"
- { if (parser->copline > (line_t)(ps[-3].val.ival))
+#line 248 "perly.y"
+ { if (parser->copline > (line_t)(ps[-3].val.ival))
parser->copline = (line_t)(ps[-3].val.ival);
(yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
}
@@ -181,15 +181,33 @@ case 2:
break;
case 21:
-#line 254 "perly.y"
- { (yyval.ival) = block_start(FALSE);
+#line 255 "perly.y"
+ { (yyval.ival) = block_start(FALSE);
parser->parsed_sub = 0; }
break;
case 23:
-#line 262 "perly.y"
- { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
+#line 264 "perly.y"
+ { parser->in_my = 1; }
+
+ break;
+
+ case 24:
+#line 266 "perly.y"
+ { parser->in_my = 0; intro_my(); }
+
+ break;
+
+ case 25:
+#line 268 "perly.y"
+ { (yyval.opval) = (ps[-2].val.opval); }
+
+ break;
+
+ case 27:
+#line 275 "perly.y"
+ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
PL_pad_reset_pending = TRUE;
if ((ps[-1].val.opval) && (ps[0].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
@@ -197,9 +215,9 @@ case 2:
break;
- case 25:
-#line 273 "perly.y"
- { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
+ case 29:
+#line 286 "perly.y"
+ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
PL_pad_reset_pending = TRUE;
if ((ps[-1].val.opval) && (ps[0].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
@@ -207,23 +225,23 @@ case 2:
break;
- case 26:
-#line 282 "perly.y"
- {
+ case 30:
+#line 295 "perly.y"
+ {
(yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL;
}
break;
- case 27:
-#line 286 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 31:
+#line 299 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 28:
-#line 290 "perly.y"
- {
+ case 32:
+#line 303 "perly.y"
+ {
SV *label = cSVOPx_sv((ps[-1].val.opval));
(yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8,
savepv(SvPVX_const(label)), (ps[0].val.opval));
@@ -232,9 +250,9 @@ case 2:
break;
- case 29:
-#line 297 "perly.y"
- {
+ case 33:
+#line 310 "perly.y"
+ {
SV *label = cSVOPx_sv((ps[-1].val.opval));
(yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8,
savepv(SvPVX_const(label)), (ps[0].val.opval));
@@ -243,15 +261,15 @@ case 2:
break;
- case 30:
-#line 307 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 34:
+#line 320 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 31:
-#line 309 "perly.y"
- {
+ case 35:
+#line 322 "perly.y"
+ {
CV *fmtcv = PL_compcv;
newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval));
(yyval.opval) = NULL;
@@ -263,9 +281,9 @@ case 2:
break;
- case 32:
-#line 321 "perly.y"
- {
+ case 36:
+#line 334 "perly.y"
+ {
init_named_cv(PL_compcv, (ps[-1].val.opval));
parser->in_my = 0;
parser->in_my_stash = NULL;
@@ -273,9 +291,9 @@ case 2:
break;
- case 33:
-#line 327 "perly.y"
- {
+ case 37:
+#line 340 "perly.y"
+ {
SvREFCNT_inc_simple_void(PL_compcv);
(ps[-5].val.opval)->op_type == OP_CONST
? newATTRSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
@@ -288,9 +306,9 @@ case 2:
break;
- case 34:
-#line 342 "perly.y"
- {
+ case 38:
+#line 355 "perly.y"
+ {
init_named_cv(PL_compcv, (ps[-1].val.opval));
parser->in_my = 0;
parser->in_my_stash = NULL;
@@ -298,9 +316,9 @@ case 2:
break;
- case 35:
-#line 348 "perly.y"
- {
+ case 39:
+#line 361 "perly.y"
+ {
SvREFCNT_inc_simple_void(PL_compcv);
(ps[-4].val.opval)->op_type == OP_CONST
? newATTRSUB((ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), (ps[0].val.opval))
@@ -313,9 +331,9 @@ case 2:
break;
- case 36:
-#line 359 "perly.y"
- {
+ case 40:
+#line 372 "perly.y"
+ {
package((ps[-1].val.opval));
if ((ps[-2].val.opval))
package_version((ps[-2].val.opval));
@@ -324,15 +342,15 @@ case 2:
break;
- case 37:
-#line 366 "perly.y"
- { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
+ case 41:
+#line 379 "perly.y"
+ { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
break;
- case 38:
-#line 368 "perly.y"
- {
+ case 42:
+#line 381 "perly.y"
+ {
SvREFCNT_inc_simple_void(PL_compcv);
utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval));
parser->parsed_sub = 1;
@@ -341,9 +359,9 @@ case 2:
break;
- case 39:
-#line 375 "perly.y"
- {
+ case 43:
+#line 388 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival),
newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-6].val.ival);
@@ -351,9 +369,9 @@ case 2:
break;
- case 40:
-#line 381 "perly.y"
- {
+ case 44:
+#line 394 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival),
newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval))));
parser->copline = (line_t)(ps[-6].val.ival);
@@ -361,30 +379,30 @@ case 2:
break;
- case 41:
-#line 387 "perly.y"
- {
+ case 45:
+#line 400 "perly.y"
+ {
(yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0));
parser->copline = (line_t)(ps[-5].val.ival);
}
break;
- case 42:
-#line 392 "perly.y"
- { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
+ case 46:
+#line 405 "perly.y"
+ { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
break;
- case 43:
-#line 394 "perly.y"
- { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
+ case 47:
+#line 407 "perly.y"
+ { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
break;
- case 44:
-#line 396 "perly.y"
- {
+ case 48:
+#line 409 "perly.y"
+ {
(yyval.opval) = block_end((ps[-5].val.ival),
newWHILEOP(0, 1, NULL,
(ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
@@ -393,9 +411,9 @@ case 2:
break;
- case 45:
-#line 403 "perly.y"
- {
+ case 49:
+#line 416 "perly.y"
+ {
(yyval.opval) = block_end((ps[-5].val.ival),
newWHILEOP(0, 1, NULL,
(ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
@@ -404,21 +422,21 @@ case 2:
break;
- case 46:
-#line 410 "perly.y"
- { parser->expect = XTERM; }
+ case 50:
+#line 423 "perly.y"
+ { parser->expect = XTERM; }
break;
- case 47:
-#line 412 "perly.y"
- { parser->expect = XTERM; }
+ case 51:
+#line 425 "perly.y"
+ { parser->expect = XTERM; }
break;
- case 48:
-#line 415 "perly.y"
- {
+ case 52:
+#line 428 "perly.y"
+ {
OP *initop = (ps[-9].val.opval);
OP *forop = newWHILEOP(0, 1, NULL,
scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival));
@@ -435,18 +453,18 @@ case 2:
break;
- case 49:
-#line 430 "perly.y"
- {
+ case 53:
+#line 443 "perly.y"
+ {
(yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-8].val.ival);
}
break;
- case 50:
-#line 435 "perly.y"
- {
+ case 54:
+#line 448 "perly.y"
+ {
if ((ps[-6].val.opval)->op_type == OP_PADSV)
/* degenerate case of 1 var: for my ($x) ....
Flag it so it can be special-cased in newFOROP */
@@ -457,9 +475,9 @@ case 2:
break;
- case 51:
-#line 444 "perly.y"
- {
+ case 55:
+#line 457 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0,
op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-7].val.ival);
@@ -467,15 +485,15 @@ case 2:
break;
- case 52:
-#line 450 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
+ case 56:
+#line 463 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
break;
- case 53:
-#line 452 "perly.y"
- {
+ case 57:
+#line 465 "perly.y"
+ {
(yyval.opval) = block_end(
(ps[-7].val.ival),
newFOROP(0,
@@ -490,9 +508,9 @@ case 2:
break;
- case 54:
-#line 465 "perly.y"
- {
+ case 58:
+#line 478 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival), newFOROP(
0, op_lvalue(newUNOP(OP_REFGEN, 0,
(ps[-6].val.opval)),
@@ -502,9 +520,9 @@ case 2:
break;
- case 55:
-#line 473 "perly.y"
- {
+ case 59:
+#line 486 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival),
newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-6].val.ival);
@@ -512,33 +530,32 @@ case 2:
break;
- case 56:
-#line 479 "perly.y"
- { parser->in_my = 1; }
-
- break;
-
- case 57:
-#line 481 "perly.y"
- { parser->in_my = 0; intro_my(); }
+ case 60:
+#line 492 "perly.y"
+ {
+ if(!(ps[0].val.opval)) {
+ yyerror("catch block requires a (VAR)");
+ YYERROR;
+ }
+ }
break;
- case 58:
-#line 483 "perly.y"
- {
+ case 61:
+#line 499 "perly.y"
+ {
(yyval.opval) = newTRYCATCHOP(0,
- (ps[-9].val.opval), (ps[-4].val.opval), block_end((ps[-5].val.ival), op_scope((ps[-1].val.opval))));
+ (ps[-6].val.opval), (ps[-3].val.opval), block_end((ps[-4].val.ival), op_scope((ps[-1].val.opval))));
if((ps[0].val.opval))
(yyval.opval) = op_wrap_finally((yyval.opval), (ps[0].val.opval));
- parser->copline = (line_t)(ps[-10].val.ival);
+ parser->copline = (line_t)(ps[-7].val.ival);
}
break;
- case 59:
-#line 491 "perly.y"
- {
+ case 62:
+#line 507 "perly.y"
+ {
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, NULL,
NULL, (ps[-1].val.opval), (ps[0].val.opval), 0);
@@ -546,9 +563,9 @@ case 2:
break;
- case 60:
-#line 497 "perly.y"
- {
+ case 63:
+#line 513 "perly.y"
+ {
package((ps[-2].val.opval));
if ((ps[-3].val.opval)) {
package_version((ps[-3].val.opval));
@@ -557,9 +574,9 @@ case 2:
break;
- case 61:
-#line 504 "perly.y"
- {
+ case 64:
+#line 520 "perly.y"
+ {
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, NULL,
NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0);
@@ -569,43 +586,43 @@ case 2:
break;
- case 62:
-#line 512 "perly.y"
- {
+ case 65:
+#line 528 "perly.y"
+ {
(yyval.opval) = (ps[-1].val.opval);
}
break;
- case 63:
-#line 516 "perly.y"
- {
+ case 66:
+#line 532 "perly.y"
+ {
(yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval)));
}
break;
- case 64:
-#line 520 "perly.y"
- {
+ case 67:
+#line 536 "perly.y"
+ {
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
}
break;
- case 65:
-#line 525 "perly.y"
- {
+ case 68:
+#line 541 "perly.y"
+ {
(yyval.opval) = NULL;
parser->copline = NOLINE;
}
break;
- case 66:
-#line 533 "perly.y"
- { OP *list;
+ case 69:
+#line 549 "perly.y"
+ { OP *list;
if ((ps[0].val.opval)) {
OP *term = (ps[0].val.opval);
list = op_append_elem(OP_LIST, (ps[-1].val.opval), term);
@@ -622,73 +639,73 @@ case 2:
break;
- case 68:
-#line 552 "perly.y"
- { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
+ case 71:
+#line 568 "perly.y"
+ { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
break;
- case 70:
-#line 560 "perly.y"
- { (yyval.opval) = NULL; }
+ case 73:
+#line 576 "perly.y"
+ { (yyval.opval) = NULL; }
break;
- case 71:
-#line 562 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 74:
+#line 578 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 72:
-#line 564 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
+ case 75:
+#line 580 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
break;
- case 73:
-#line 566 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
+ case 76:
+#line 582 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
break;
- case 74:
-#line 568 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
+ case 77:
+#line 584 "perly.y"
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
break;
- case 75:
-#line 570 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
+ case 78:
+#line 586 "perly.y"
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
break;
- case 76:
-#line 572 "perly.y"
- { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
+ case 79:
+#line 588 "perly.y"
+ { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
parser->copline = (line_t)(ps[-1].val.ival); }
break;
- case 77:
-#line 575 "perly.y"
- { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
+ case 80:
+#line 591 "perly.y"
+ { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
break;
- case 79:
-#line 582 "perly.y"
- {
+ case 82:
+#line 598 "perly.y"
+ {
((ps[0].val.opval))->op_flags |= OPf_PARENS;
(yyval.opval) = op_scope((ps[0].val.opval));
}
break;
- case 80:
-#line 587 "perly.y"
- { parser->copline = (line_t)(ps[-5].val.ival);
+ case 83:
+#line 603 "perly.y"
+ { parser->copline = (line_t)(ps[-5].val.ival);
(yyval.opval) = newCONDOP(0,
newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)),
op_scope((ps[-1].val.opval)), (ps[0].val.opval));
@@ -697,136 +714,136 @@ case 2:
break;
- case 82:
-#line 599 "perly.y"
- { (yyval.opval) = op_scope((ps[0].val.opval)); }
+ case 85:
+#line 615 "perly.y"
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
break;
- case 83:
-#line 604 "perly.y"
- { (yyval.opval) = NULL; }
+ case 86:
+#line 620 "perly.y"
+ { (yyval.opval) = NULL; }
break;
- case 84:
-#line 606 "perly.y"
- { (yyval.opval) = op_scope((ps[0].val.opval)); }
+ case 87:
+#line 622 "perly.y"
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
break;
- case 85:
-#line 611 "perly.y"
- { (yyval.ival) = (PL_min_intro_pending &&
+ case 88:
+#line 627 "perly.y"
+ { (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
intro_my(); }
break;
- case 88:
-#line 623 "perly.y"
- { YYSTYPE tmplval;
+ case 91:
+#line 639 "perly.y"
+ { YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
(yyval.opval) = tmplval.opval; }
break;
- case 90:
-#line 631 "perly.y"
- { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
+ case 93:
+#line 647 "perly.y"
+ { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
break;
- case 91:
-#line 636 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); intro_my(); }
+ case 94:
+#line 652 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); intro_my(); }
break;
- case 92:
-#line 640 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); intro_my(); }
+ case 95:
+#line 656 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); intro_my(); }
break;
- case 93:
-#line 643 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 96:
+#line 659 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 95:
-#line 648 "perly.y"
- { (yyval.ival) = start_subparse(FALSE, 0);
+ case 98:
+#line 664 "perly.y"
+ { (yyval.ival) = start_subparse(FALSE, 0);
SAVEFREESV(PL_compcv); }
break;
- case 96:
-#line 654 "perly.y"
- { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
+ case 99:
+#line 670 "perly.y"
+ { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
SAVEFREESV(PL_compcv); }
break;
- case 97:
-#line 659 "perly.y"
- { (yyval.ival) = start_subparse(TRUE, 0);
+ case 100:
+#line 675 "perly.y"
+ { (yyval.ival) = start_subparse(TRUE, 0);
SAVEFREESV(PL_compcv); }
break;
- case 103:
-#line 678 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 106:
+#line 694 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 104:
-#line 680 "perly.y"
- { (yyval.opval) = NULL; }
+ case 107:
+#line 696 "perly.y"
+ { (yyval.opval) = NULL; }
break;
- case 105:
-#line 685 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 108:
+#line 701 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 106:
-#line 687 "perly.y"
- { (yyval.opval) = NULL; }
+ case 109:
+#line 703 "perly.y"
+ { (yyval.opval) = NULL; }
break;
- case 107:
-#line 698 "perly.y"
- { parser->in_my = 0; (yyval.opval) = NULL; }
+ case 110:
+#line 714 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = NULL; }
break;
- case 108:
-#line 700 "perly.y"
- { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
+ case 111:
+#line 716 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
break;
- case 109:
-#line 705 "perly.y"
- { (yyval.ival) = '@'; }
+ case 112:
+#line 721 "perly.y"
+ { (yyval.ival) = '@'; }
break;
- case 110:
-#line 707 "perly.y"
- { (yyval.ival) = '%'; }
+ case 113:
+#line 723 "perly.y"
+ { (yyval.ival) = '%'; }
break;
- case 111:
-#line 711 "perly.y"
- {
+ case 114:
+#line 727 "perly.y"
+ {
I32 sigil = (ps[-2].val.ival);
OP *var = (ps[-1].val.opval);
OP *defexpr = (ps[0].val.opval);
@@ -844,21 +861,21 @@ case 2:
break;
- case 113:
-#line 732 "perly.y"
- { (yyval.opval) = newOP(OP_NULL, 0); }
+ case 116:
+#line 748 "perly.y"
+ { (yyval.opval) = newOP(OP_NULL, 0); }
break;
- case 114:
-#line 734 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 117:
+#line 750 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 115:
-#line 740 "perly.y"
- {
+ case 118:
+#line 756 "perly.y"
+ {
OP *var = (ps[-1].val.opval);
OP *defexpr = (ps[0].val.opval);
@@ -921,47 +938,47 @@ case 2:
break;
- case 116:
-#line 805 "perly.y"
- { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
+ case 119:
+#line 821 "perly.y"
+ { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
break;
- case 117:
-#line 807 "perly.y"
- { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
+ case 120:
+#line 823 "perly.y"
+ { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
break;
- case 118:
-#line 813 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+ case 121:
+#line 829 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
- case 119:
-#line 815 "perly.y"
- {
+ case 122:
+#line 831 "perly.y"
+ {
(yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval));
}
break;
- case 120:
-#line 819 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 123:
+#line 835 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 125:
-#line 836 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+ case 128:
+#line 852 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
- case 126:
-#line 839 "perly.y"
- {
+ case 129:
+#line 855 "perly.y"
+ {
ENTER;
SAVEIV(parser->sig_elems);
SAVEIV(parser->sig_optelems);
@@ -974,9 +991,9 @@ case 2:
break;
- case 127:
-#line 850 "perly.y"
- {
+ case 130:
+#line 866 "perly.y"
+ {
OP *sigops = (ps[0].val.opval);
struct op_argcheck_aux *aux;
OP *check;
@@ -1031,15 +1048,15 @@ case 2:
break;
- case 129:
-#line 907 "perly.y"
- { (yyval.opval) = NULL; }
+ case 132:
+#line 923 "perly.y"
+ { (yyval.opval) = NULL; }
break;
- case 130:
-#line 913 "perly.y"
- {
+ case 133:
+#line 929 "perly.y"
+ {
if (parser->copline > (line_t)(ps[-2].val.ival))
parser->copline = (line_t)(ps[-2].val.ival);
(yyval.opval) = block_end((ps[-3].val.ival), (ps[-1].val.opval));
@@ -1047,15 +1064,15 @@ case 2:
break;
- case 132:
-#line 925 "perly.y"
- { (yyval.opval) = NULL; }
+ case 135:
+#line 941 "perly.y"
+ { (yyval.opval) = NULL; }
break;
- case 133:
-#line 930 "perly.y"
- {
+ case 136:
+#line 946 "perly.y"
+ {
if (parser->copline > (line_t)(ps[-2].val.ival))
parser->copline = (line_t)(ps[-2].val.ival);
(yyval.opval) = block_end((ps[-4].val.ival),
@@ -1064,52 +1081,52 @@ case 2:
break;
- case 134:
-#line 941 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+ case 137:
+#line 957 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
- case 135:
-#line 943 "perly.y"
- { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+ case 138:
+#line 959 "perly.y"
+ { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
- case 137:
-#line 949 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+ case 140:
+#line 965 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
- case 138:
-#line 951 "perly.y"
- {
+ case 141:
+#line 967 "perly.y"
+ {
OP* term = (ps[0].val.opval);
(yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term);
}
break;
- case 140:
-#line 960 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
+ case 143:
+#line 976 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) );
}
break;
- case 141:
-#line 964 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
+ case 144:
+#line 980 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) );
}
break;
- case 142:
-#line 968 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+ case 145:
+#line 984 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[-3].val.opval))));
@@ -1117,18 +1134,18 @@ case 2:
break;
- case 143:
-#line 974 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+ case 146:
+#line 990 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, scalar((ps[-2].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[0].val.opval))));
}
break;
- case 144:
-#line 979 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+ case 147:
+#line 995 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[-2].val.opval))));
@@ -1136,9 +1153,9 @@ case 2:
break;
- case 145:
-#line 985 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+ case 148:
+#line 1001 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[-4].val.opval))));
@@ -1146,97 +1163,97 @@ case 2:
break;
- case 146:
-#line 991 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+ case 149:
+#line 1007 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
break;
- case 147:
-#line 993 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+ case 150:
+#line 1009 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
break;
- case 148:
-#line 995 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+ case 151:
+#line 1011 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
break;
- case 149:
-#line 997 "perly.y"
- { SvREFCNT_inc_simple_void(PL_compcv);
+ case 152:
+#line 1013 "perly.y"
+ { SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); }
break;
- case 150:
-#line 1000 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ case 153:
+#line 1016 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval)));
}
break;
- case 153:
-#line 1015 "perly.y"
- { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
+ case 156:
+#line 1031 "perly.y"
+ { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
break;
- case 154:
-#line 1017 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
+ case 157:
+#line 1033 "perly.y"
+ { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
}
break;
- case 155:
-#line 1020 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0,
+ case 158:
+#line 1036 "perly.y"
+ { (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[-4].val.opval)),OP_RV2AV),
scalar((ps[-1].val.opval)));
}
break;
- case 156:
-#line 1025 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0,
+ case 159:
+#line 1041 "perly.y"
+ { (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[-3].val.opval)),OP_RV2AV),
scalar((ps[-1].val.opval)));
}
break;
- case 157:
-#line 1030 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
+ case 160:
+#line 1046 "perly.y"
+ { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
}
break;
- case 158:
-#line 1033 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0,
+ case 161:
+#line 1049 "perly.y"
+ { (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[-5].val.opval)),OP_RV2HV),
jmaybe((ps[-2].val.opval))); }
break;
- case 159:
-#line 1037 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0,
+ case 162:
+#line 1053 "perly.y"
+ { (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[-4].val.opval)),OP_RV2HV),
jmaybe((ps[-2].val.opval))); }
break;
- case 160:
-#line 1041 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ case 163:
+#line 1057 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[-3].val.opval))));
if (parser->expect == XBLOCK)
parser->expect = XOPERATOR;
@@ -1244,9 +1261,9 @@ case 2:
break;
- case 161:
-#line 1047 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ case 164:
+#line 1063 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[-1].val.opval),
newCVREF(0, scalar((ps[-4].val.opval)))));
if (parser->expect == XBLOCK)
@@ -1255,9 +1272,9 @@ case 2:
break;
- case 162:
-#line 1055 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ case 165:
+#line 1071 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[-1].val.opval),
newCVREF(0, scalar((ps[-3].val.opval)))));
if (parser->expect == XBLOCK)
@@ -1266,9 +1283,9 @@ case 2:
break;
- case 163:
-#line 1062 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ case 166:
+#line 1078 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[-2].val.opval))));
if (parser->expect == XBLOCK)
parser->expect = XOPERATOR;
@@ -1276,369 +1293,369 @@ case 2:
break;
- case 164:
-#line 1068 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
-
- break;
-
- case 165:
-#line 1070 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
-
- break;
-
- case 166:
-#line 1072 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
-
- break;
-
case 167:
-#line 1077 "perly.y"
- { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
+#line 1084 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
break;
case 168:
-#line 1079 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1086 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
break;
case 169:
-#line 1081 "perly.y"
- { if ((ps[-1].val.ival) != OP_REPEAT)
- scalar((ps[-2].val.opval));
- (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval)));
- }
+#line 1088 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
break;
case 170:
-#line 1086 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1093 "perly.y"
+ { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
break;
case 171:
-#line 1088 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1095 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 172:
-#line 1090 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1097 "perly.y"
+ { if ((ps[-1].val.ival) != OP_REPEAT)
+ scalar((ps[-2].val.opval));
+ (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval)));
+ }
break;
case 173:
-#line 1092 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1102 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 174:
-#line 1094 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1104 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 175:
-#line 1096 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1106 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 176:
-#line 1098 "perly.y"
- { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1108 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 177:
-#line 1100 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1110 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 178:
-#line 1102 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1112 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 179:
-#line 1104 "perly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1114 "perly.y"
+ { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 180:
-#line 1106 "perly.y"
- { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1116 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 181:
-#line 1110 "perly.y"
- { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
+#line 1118 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 182:
-#line 1112 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1120 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 183:
-#line 1114 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1122 "perly.y"
+ { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 184:
-#line 1116 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1126 "perly.y"
+ { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
break;
case 185:
-#line 1120 "perly.y"
- { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1128 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 186:
-#line 1122 "perly.y"
- { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1130 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 187:
-#line 1126 "perly.y"
- { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
+#line 1132 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 188:
-#line 1128 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1136 "perly.y"
+ { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 189:
-#line 1130 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1138 "perly.y"
+ { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 190:
-#line 1132 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1142 "perly.y"
+ { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
break;
case 191:
-#line 1136 "perly.y"
- { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1144 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 192:
-#line 1138 "perly.y"
- { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1146 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 193:
-#line 1143 "perly.y"
- { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
+#line 1148 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 194:
-#line 1145 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1152 "perly.y"
+ { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 195:
-#line 1148 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
+#line 1154 "perly.y"
+ { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 196:
-#line 1150 "perly.y"
- { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
+#line 1159 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
break;
case 197:
-#line 1152 "perly.y"
- { (yyval.opval) = newUNOP(OP_POSTINC, 0,
- op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
+#line 1161 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 198:
-#line 1155 "perly.y"
- { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
- op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
+#line 1164 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
break;
case 199:
-#line 1158 "perly.y"
- { (yyval.opval) = op_convert_list(OP_JOIN, 0,
- op_append_elem(
- OP_LIST,
- newSVREF(scalar(
- newSVOP(OP_CONST,0,
- newSVpvs("\""))
- )),
- (ps[-1].val.opval)
- ));
- }
+#line 1166 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
break;
case 200:
-#line 1169 "perly.y"
- { (yyval.opval) = newUNOP(OP_PREINC, 0,
- op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
+#line 1168 "perly.y"
+ { (yyval.opval) = newUNOP(OP_POSTINC, 0,
+ op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
break;
case 201:
-#line 1172 "perly.y"
- { (yyval.opval) = newUNOP(OP_PREDEC, 0,
- op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
+#line 1171 "perly.y"
+ { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
+ op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
break;
case 202:
-#line 1180 "perly.y"
- { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
+#line 1174 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_JOIN, 0,
+ op_append_elem(
+ OP_LIST,
+ newSVREF(scalar(
+ newSVOP(OP_CONST,0,
+ newSVpvs("\""))
+ )),
+ (ps[-1].val.opval)
+ ));
+ }
break;
case 203:
-#line 1182 "perly.y"
- { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
+#line 1185 "perly.y"
+ { (yyval.opval) = newUNOP(OP_PREINC, 0,
+ op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
break;
case 204:
-#line 1184 "perly.y"
- { SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
+#line 1188 "perly.y"
+ { (yyval.opval) = newUNOP(OP_PREDEC, 0,
+ op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
break;
case 205:
-#line 1187 "perly.y"
- { SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); }
+#line 1196 "perly.y"
+ { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
break;
case 206:
-#line 1193 "perly.y"
- { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
+#line 1198 "perly.y"
+ { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
break;
case 207:
-#line 1195 "perly.y"
- { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
+#line 1200 "perly.y"
+ { SvREFCNT_inc_simple_void(PL_compcv);
+ (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
break;
- case 212:
+ case 208:
#line 1203 "perly.y"
- { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
+ { SvREFCNT_inc_simple_void(PL_compcv);
+ (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); }
break;
- case 213:
-#line 1205 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
+ case 209:
+#line 1209 "perly.y"
+ { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
break;
- case 214:
-#line 1207 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 210:
+#line 1211 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
break;
case 215:
-#line 1209 "perly.y"
- { (yyval.opval) = localize((ps[0].val.opval),0); }
+#line 1219 "perly.y"
+ { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 216:
-#line 1211 "perly.y"
- { (yyval.opval) = sawparens((ps[-1].val.opval)); }
+#line 1221 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
break;
case 217:
-#line 1213 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1223 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 218:
-#line 1215 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); }
+#line 1225 "perly.y"
+ { (yyval.opval) = localize((ps[0].val.opval),0); }
break;
case 219:
-#line 1217 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1227 "perly.y"
+ { (yyval.opval) = sawparens((ps[-1].val.opval)); }
break;
case 220:
-#line 1219 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1229 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 221:
-#line 1221 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1231 "perly.y"
+ { (yyval.opval) = sawparens(newNULLLIST()); }
break;
case 222:
-#line 1223 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1233 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 223:
-#line 1225 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
+#line 1235 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 224:
-#line 1227 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1237 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 225:
-#line 1229 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_ASLICE,
+#line 1239 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
+
+ break;
+
+ case 226:
+#line 1241 "perly.y"
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
+
+ break;
+
+ case 227:
+#line 1243 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
+
+ break;
+
+ case 228:
+#line 1245 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
list((ps[-1].val.opval)),
@@ -1650,9 +1667,9 @@ case 2:
break;
- case 226:
-#line 1239 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
+ case 229:
+#line 1255 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVASLICE, 0,
list((ps[-1].val.opval)),
@@ -1664,9 +1681,9 @@ case 2:
break;
- case 227:
-#line 1249 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_HSLICE,
+ case 230:
+#line 1265 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
list((ps[-2].val.opval)),
@@ -1678,9 +1695,9 @@ case 2:
break;
- case 228:
-#line 1259 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
+ case 231:
+#line 1275 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVHSLICE, 0,
list((ps[-2].val.opval)),
@@ -1692,374 +1709,373 @@ case 2:
break;
- case 229:
-#line 1269 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 232:
+#line 1285 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 230:
-#line 1271 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
+ case 233:
+#line 1287 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
break;
- case 231:
-#line 1273 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
+ case 234:
+#line 1289 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
}
break;
- case 232:
-#line 1276 "perly.y"
- {
+ case 235:
+#line 1292 "perly.y"
+ {
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval))));
}
break;
- case 233:
-#line 1281 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ case 236:
+#line 1297 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval))));
}
break;
- case 234:
-#line 1285 "perly.y"
- { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
-
- break;
-
- case 235:
-#line 1287 "perly.y"
- { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
-
- break;
-
- case 236:
-#line 1289 "perly.y"
- { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
-
- break;
-
case 237:
-#line 1291 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
- scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
+#line 1301 "perly.y"
+ { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
break;
case 238:
-#line 1294 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
+#line 1303 "perly.y"
+ { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
break;
case 239:
-#line 1296 "perly.y"
- { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
- PL_hints |= HINT_BLOCK_SCOPE; }
+#line 1305 "perly.y"
+ { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
break;
case 240:
-#line 1299 "perly.y"
- { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
+#line 1307 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
+ scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
break;
case 241:
-#line 1301 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
+#line 1310 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
break;
case 242:
-#line 1303 "perly.y"
- { (yyval.opval) = newOP((ps[0].val.ival), 0); }
+#line 1312 "perly.y"
+ { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
+ PL_hints |= HINT_BLOCK_SCOPE; }
break;
case 243:
-#line 1305 "perly.y"
- { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+#line 1315 "perly.y"
+ { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
break;
case 244:
-#line 1307 "perly.y"
- { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+#line 1317 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
break;
case 245:
-#line 1309 "perly.y"
- { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
+#line 1319 "perly.y"
+ { (yyval.opval) = newOP((ps[0].val.ival), 0); }
break;
case 246:
-#line 1311 "perly.y"
- { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
+#line 1321 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
break;
case 247:
-#line 1313 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
+#line 1323 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
break;
case 248:
-#line 1315 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
+#line 1325 "perly.y"
+ { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
break;
case 249:
-#line 1318 "perly.y"
- { (yyval.opval) = newOP((ps[0].val.ival), 0); }
+#line 1327 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
break;
case 250:
-#line 1320 "perly.y"
- { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
+#line 1329 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
break;
case 251:
-#line 1322 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1331 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
break;
case 252:
-#line 1324 "perly.y"
- { (yyval.opval) = (ps[-2].val.opval); }
+#line 1334 "perly.y"
+ { (yyval.opval) = newOP((ps[0].val.ival), 0); }
break;
case 253:
-#line 1326 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
+#line 1336 "perly.y"
+ { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
break;
case 254:
-#line 1328 "perly.y"
- { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
- ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
- : newOP((ps[-2].val.ival), OPf_SPECIAL); }
+#line 1338 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 255:
-#line 1332 "perly.y"
- { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+#line 1340 "perly.y"
+ { (yyval.opval) = (ps[-2].val.opval); }
break;
case 256:
-#line 1334 "perly.y"
- {
- if ( (ps[0].val.opval)->op_type != OP_TRANS
- && (ps[0].val.opval)->op_type != OP_TRANSR
- && (((PMOP*)(ps[0].val.opval))->op_pmflags & PMf_HAS_CV))
- {
- (yyval.ival) = start_subparse(FALSE, CVf_ANON);
- SAVEFREESV(PL_compcv);
- } else
- (yyval.ival) = 0;
- }
+#line 1342 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
break;
case 257:
-#line 1345 "perly.y"
- { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
+#line 1344 "perly.y"
+ { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
+ ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
+ : newOP((ps[-2].val.ival), OPf_SPECIAL); }
break;
- case 261:
-#line 1354 "perly.y"
- { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
+ case 258:
+#line 1348 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
break;
- case 262:
-#line 1356 "perly.y"
- { (yyval.opval) = localize((ps[0].val.opval),1); }
+ case 259:
+#line 1350 "perly.y"
+ {
+ if ( (ps[0].val.opval)->op_type != OP_TRANS
+ && (ps[0].val.opval)->op_type != OP_TRANSR
+ && (((PMOP*)(ps[0].val.opval))->op_pmflags & PMf_HAS_CV))
+ {
+ (yyval.ival) = start_subparse(FALSE, CVf_ANON);
+ SAVEFREESV(PL_compcv);
+ } else
+ (yyval.ival) = 0;
+ }
break;
- case 263:
-#line 1358 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
+ case 260:
+#line 1361 "perly.y"
+ { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
break;
case 264:
-#line 1360 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
+#line 1370 "perly.y"
+ { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
break;
case 265:
-#line 1365 "perly.y"
- { (yyval.opval) = sawparens((ps[-1].val.opval)); }
+#line 1372 "perly.y"
+ { (yyval.opval) = localize((ps[0].val.opval),1); }
break;
case 266:
-#line 1367 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); }
+#line 1374 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
break;
case 267:
-#line 1370 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1376 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
break;
case 268:
-#line 1372 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1381 "perly.y"
+ { (yyval.opval) = sawparens((ps[-1].val.opval)); }
break;
case 269:
-#line 1374 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1383 "perly.y"
+ { (yyval.opval) = sawparens(newNULLLIST()); }
break;
- case 275:
-#line 1390 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ case 270:
+#line 1386 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 276:
-#line 1396 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
+ case 271:
+#line 1388 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 277:
-#line 1401 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+ case 272:
+#line 1390 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 278:
-#line 1403 "perly.y"
- {
- (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval));
- }
+#line 1406 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
- case 280:
-#line 1410 "perly.y"
- { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
+ case 279:
+#line 1412 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
break;
- case 288:
-#line 1427 "perly.y"
- { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
+ case 280:
+#line 1417 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
- case 289:
-#line 1431 "perly.y"
- { (yyval.opval) = newSVREF((ps[0].val.opval)); }
+ case 281:
+#line 1419 "perly.y"
+ {
+ (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval));
+ }
break;
- case 290:
-#line 1435 "perly.y"
- { (yyval.opval) = newAVREF((ps[0].val.opval));
- if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
- }
+ case 283:
+#line 1426 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
break;
case 291:
-#line 1441 "perly.y"
- { (yyval.opval) = newHVREF((ps[0].val.opval));
- if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
- }
+#line 1443 "perly.y"
+ { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
break;
case 292:
#line 1447 "perly.y"
- { (yyval.opval) = newAVREF((ps[0].val.opval)); }
+ { (yyval.opval) = newSVREF((ps[0].val.opval)); }
break;
case 293:
-#line 1449 "perly.y"
- { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
+#line 1451 "perly.y"
+ { (yyval.opval) = newAVREF((ps[0].val.opval));
+ if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
+ }
break;
case 294:
-#line 1453 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
+#line 1457 "perly.y"
+ { (yyval.opval) = newHVREF((ps[0].val.opval));
+ if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
+ }
break;
- case 296:
-#line 1458 "perly.y"
- { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
+ case 295:
+#line 1463 "perly.y"
+ { (yyval.opval) = newAVREF((ps[0].val.opval)); }
break;
- case 298:
-#line 1463 "perly.y"
- { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
+ case 296:
+#line 1465 "perly.y"
+ { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
break;
- case 300:
-#line 1468 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
+ case 297:
+#line 1469 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
break;
- case 301:
-#line 1473 "perly.y"
- { (yyval.opval) = scalar((ps[0].val.opval)); }
+ case 299:
+#line 1474 "perly.y"
+ { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
break;
- case 302:
-#line 1475 "perly.y"
- { (yyval.opval) = scalar((ps[0].val.opval)); }
+ case 301:
+#line 1479 "perly.y"
+ { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
break;
case 303:
-#line 1477 "perly.y"
- { (yyval.opval) = op_scope((ps[0].val.opval)); }
+#line 1484 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
break;
case 304:
-#line 1480 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1489 "perly.y"
+ { (yyval.opval) = scalar((ps[0].val.opval)); }
+
+ break;
+
+ case 305:
+#line 1491 "perly.y"
+ { (yyval.opval) = scalar((ps[0].val.opval)); }
break;
+ case 306:
+#line 1493 "perly.y"
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
+
+ break;
+
+ case 307:
+#line 1496 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
+
+ break;
@@ -2067,6 +2083,6 @@ case 2:
/* Generated from:
- * 0caf1eb1cc4750131dc71e3a22ead383ed9a123dec61ccd23408ff13441fafde perly.y
+ * f6f4ca1df1f28e285f644b160b176887b111ca03c1fd20e3b4868c27a2c93623 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index d5a45b2a9c..590f52a0a1 100644
--- a/perly.h
+++ b/perly.h
@@ -4,14 +4,14 @@
Any changes made here will be lost!
*/
-#define PERL_BISON_VERSION 30006
+#define PERL_BISON_VERSION 30003
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 3.6.4. */
+/* A Bison parser, made by GNU Bison 3.3. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -40,9 +40,8 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
- especially those whose name start with YY_ or yy_. They are
- private implementation details that can be changed or removed. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
/* Debug traces. */
#ifndef YYDEBUG
@@ -52,129 +51,124 @@
extern int yydebug;
#endif
-/* Token kinds. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
- YYEMPTY = -2,
- YYEOF = 0, /* "end of file" */
- YYerror = 256, /* error */
- YYUNDEF = 257, /* "invalid token" */
- GRAMPROG = 258, /* GRAMPROG */
- GRAMEXPR = 259, /* GRAMEXPR */
- GRAMBLOCK = 260, /* GRAMBLOCK */
- GRAMBARESTMT = 261, /* GRAMBARESTMT */
- GRAMFULLSTMT = 262, /* GRAMFULLSTMT */
- GRAMSTMTSEQ = 263, /* GRAMSTMTSEQ */
- GRAMSUBSIGNATURE = 264, /* GRAMSUBSIGNATURE */
- PERLY_AMPERSAND = 265, /* PERLY_AMPERSAND */
- PERLY_BRACE_OPEN = 266, /* PERLY_BRACE_OPEN */
- PERLY_BRACE_CLOSE = 267, /* PERLY_BRACE_CLOSE */
- PERLY_BRACKET_OPEN = 268, /* PERLY_BRACKET_OPEN */
- PERLY_BRACKET_CLOSE = 269, /* PERLY_BRACKET_CLOSE */
- PERLY_COMMA = 270, /* PERLY_COMMA */
- PERLY_DOLLAR = 271, /* PERLY_DOLLAR */
- PERLY_DOT = 272, /* PERLY_DOT */
- PERLY_EQUAL_SIGN = 273, /* PERLY_EQUAL_SIGN */
- PERLY_MINUS = 274, /* PERLY_MINUS */
- PERLY_PERCENT_SIGN = 275, /* PERLY_PERCENT_SIGN */
- PERLY_PLUS = 276, /* PERLY_PLUS */
- PERLY_SEMICOLON = 277, /* PERLY_SEMICOLON */
- PERLY_SLASH = 278, /* PERLY_SLASH */
- PERLY_SNAIL = 279, /* PERLY_SNAIL */
- PERLY_STAR = 280, /* PERLY_STAR */
- BAREWORD = 281, /* BAREWORD */
- METHOD = 282, /* METHOD */
- FUNCMETH = 283, /* FUNCMETH */
- THING = 284, /* THING */
- PMFUNC = 285, /* PMFUNC */
- PRIVATEREF = 286, /* PRIVATEREF */
- QWLIST = 287, /* QWLIST */
- FUNC0OP = 288, /* FUNC0OP */
- FUNC0SUB = 289, /* FUNC0SUB */
- UNIOPSUB = 290, /* UNIOPSUB */
- LSTOPSUB = 291, /* LSTOPSUB */
- PLUGEXPR = 292, /* PLUGEXPR */
- PLUGSTMT = 293, /* PLUGSTMT */
- LABEL = 294, /* LABEL */
- FORMAT = 295, /* FORMAT */
- SUB = 296, /* SUB */
- SIGSUB = 297, /* SIGSUB */
- ANONSUB = 298, /* ANONSUB */
- ANON_SIGSUB = 299, /* ANON_SIGSUB */
- PACKAGE = 300, /* PACKAGE */
- USE = 301, /* USE */
- WHILE = 302, /* WHILE */
- UNTIL = 303, /* UNTIL */
- IF = 304, /* IF */
- UNLESS = 305, /* UNLESS */
- ELSE = 306, /* ELSE */
- ELSIF = 307, /* ELSIF */
- CONTINUE = 308, /* CONTINUE */
- FOR = 309, /* FOR */
- GIVEN = 310, /* GIVEN */
- WHEN = 311, /* WHEN */
- DEFAULT = 312, /* DEFAULT */
- TRY = 313, /* TRY */
- CATCH = 314, /* CATCH */
- FINALLY = 315, /* FINALLY */
- LOOPEX = 316, /* LOOPEX */
- DOTDOT = 317, /* DOTDOT */
- YADAYADA = 318, /* YADAYADA */
- FUNC0 = 319, /* FUNC0 */
- FUNC1 = 320, /* FUNC1 */
- FUNC = 321, /* FUNC */
- UNIOP = 322, /* UNIOP */
- LSTOP = 323, /* LSTOP */
- MULOP = 324, /* MULOP */
- ADDOP = 325, /* ADDOP */
- DOLSHARP = 326, /* DOLSHARP */
- DO = 327, /* DO */
- HASHBRACK = 328, /* HASHBRACK */
- NOAMP = 329, /* NOAMP */
- LOCAL = 330, /* LOCAL */
- MY = 331, /* MY */
- REQUIRE = 332, /* REQUIRE */
- COLONATTR = 333, /* COLONATTR */
- FORMLBRACK = 334, /* FORMLBRACK */
- FORMRBRACK = 335, /* FORMRBRACK */
- SUBLEXSTART = 336, /* SUBLEXSTART */
- SUBLEXEND = 337, /* SUBLEXEND */
- DEFER = 338, /* DEFER */
- PREC_LOW = 339, /* PREC_LOW */
- OROP = 340, /* OROP */
- ANDOP = 341, /* ANDOP */
- NOTOP = 342, /* NOTOP */
- ASSIGNOP = 343, /* ASSIGNOP */
- PERLY_QUESTION_MARK = 344, /* PERLY_QUESTION_MARK */
- PERLY_COLON = 345, /* PERLY_COLON */
- OROR = 346, /* OROR */
- DORDOR = 347, /* DORDOR */
- ANDAND = 348, /* ANDAND */
- BITOROP = 349, /* BITOROP */
- BITANDOP = 350, /* BITANDOP */
- CHEQOP = 351, /* CHEQOP */
- NCEQOP = 352, /* NCEQOP */
- CHRELOP = 353, /* CHRELOP */
- NCRELOP = 354, /* NCRELOP */
- SHIFTOP = 355, /* SHIFTOP */
- MATCHOP = 356, /* MATCHOP */
- PERLY_EXCLAMATION_MARK = 357, /* PERLY_EXCLAMATION_MARK */
- PERLY_TILDE = 358, /* PERLY_TILDE */
- UMINUS = 359, /* UMINUS */
- REFGEN = 360, /* REFGEN */
- POWOP = 361, /* POWOP */
- PREINC = 362, /* PREINC */
- PREDEC = 363, /* PREDEC */
- POSTINC = 364, /* POSTINC */
- POSTDEC = 365, /* POSTDEC */
- POSTJOIN = 366, /* POSTJOIN */
- ARROW = 367, /* ARROW */
- PERLY_PAREN_CLOSE = 368, /* PERLY_PAREN_CLOSE */
- PERLY_PAREN_OPEN = 369 /* PERLY_PAREN_OPEN */
+ GRAMPROG = 258,
+ GRAMEXPR = 259,
+ GRAMBLOCK = 260,
+ GRAMBARESTMT = 261,
+ GRAMFULLSTMT = 262,
+ GRAMSTMTSEQ = 263,
+ GRAMSUBSIGNATURE = 264,
+ PERLY_AMPERSAND = 265,
+ PERLY_BRACE_OPEN = 266,
+ PERLY_BRACE_CLOSE = 267,
+ PERLY_BRACKET_OPEN = 268,
+ PERLY_BRACKET_CLOSE = 269,
+ PERLY_COMMA = 270,
+ PERLY_DOLLAR = 271,
+ PERLY_DOT = 272,
+ PERLY_EQUAL_SIGN = 273,
+ PERLY_MINUS = 274,
+ PERLY_PERCENT_SIGN = 275,
+ PERLY_PLUS = 276,
+ PERLY_SEMICOLON = 277,
+ PERLY_SLASH = 278,
+ PERLY_SNAIL = 279,
+ PERLY_STAR = 280,
+ BAREWORD = 281,
+ METHOD = 282,
+ FUNCMETH = 283,
+ THING = 284,
+ PMFUNC = 285,
+ PRIVATEREF = 286,
+ QWLIST = 287,
+ FUNC0OP = 288,
+ FUNC0SUB = 289,
+ UNIOPSUB = 290,
+ LSTOPSUB = 291,
+ PLUGEXPR = 292,
+ PLUGSTMT = 293,
+ LABEL = 294,
+ FORMAT = 295,
+ SUB = 296,
+ SIGSUB = 297,
+ ANONSUB = 298,
+ ANON_SIGSUB = 299,
+ PACKAGE = 300,
+ USE = 301,
+ WHILE = 302,
+ UNTIL = 303,
+ IF = 304,
+ UNLESS = 305,
+ ELSE = 306,
+ ELSIF = 307,
+ CONTINUE = 308,
+ FOR = 309,
+ GIVEN = 310,
+ WHEN = 311,
+ DEFAULT = 312,
+ TRY = 313,
+ CATCH = 314,
+ FINALLY = 315,
+ LOOPEX = 316,
+ DOTDOT = 317,
+ YADAYADA = 318,
+ FUNC0 = 319,
+ FUNC1 = 320,
+ FUNC = 321,
+ UNIOP = 322,
+ LSTOP = 323,
+ MULOP = 324,
+ ADDOP = 325,
+ DOLSHARP = 326,
+ DO = 327,
+ HASHBRACK = 328,
+ NOAMP = 329,
+ LOCAL = 330,
+ MY = 331,
+ REQUIRE = 332,
+ COLONATTR = 333,
+ FORMLBRACK = 334,
+ FORMRBRACK = 335,
+ SUBLEXSTART = 336,
+ SUBLEXEND = 337,
+ DEFER = 338,
+ PREC_LOW = 339,
+ OROP = 340,
+ ANDOP = 341,
+ NOTOP = 342,
+ ASSIGNOP = 343,
+ PERLY_QUESTION_MARK = 344,
+ PERLY_COLON = 345,
+ OROR = 346,
+ DORDOR = 347,
+ ANDAND = 348,
+ BITOROP = 349,
+ BITANDOP = 350,
+ CHEQOP = 351,
+ NCEQOP = 352,
+ CHRELOP = 353,
+ NCRELOP = 354,
+ SHIFTOP = 355,
+ MATCHOP = 356,
+ PERLY_EXCLAMATION_MARK = 357,
+ PERLY_TILDE = 358,
+ UMINUS = 359,
+ REFGEN = 360,
+ POWOP = 361,
+ PREINC = 362,
+ PREDEC = 363,
+ POSTINC = 364,
+ POSTDEC = 365,
+ POSTJOIN = 366,
+ ARROW = 367,
+ PERLY_PAREN_CLOSE = 368,
+ PERLY_PAREN_OPEN = 369
};
- typedef enum yytokentype yytoken_kind_t;
#endif
/* Value type. */
@@ -203,6 +197,7 @@ S_is_opval_token(int type) {
#endif /* PERL_IN_TOKE_C */
#endif /* PERL_CORE */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
union YYSTYPE
{
@@ -212,8 +207,8 @@ union YYSTYPE
OP *opval;
GV *gvval;
-
};
+
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -225,6 +220,6 @@ int yyparse (void);
/* Generated from:
- * 0caf1eb1cc4750131dc71e3a22ead383ed9a123dec61ccd23408ff13441fafde perly.y
+ * f6f4ca1df1f28e285f644b160b176887b111ca03c1fd20e3b4868c27a2c93623 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index 5312210c79..ad3df3c62d 100644
--- a/perly.tab
+++ b/perly.tab
@@ -4,260 +4,30 @@
Any changes made here will be lost!
*/
-/* Symbol kind. */
-enum yysymbol_kind_t
-{
- YYSYMBOL_YYEMPTY = -2,
- YYSYMBOL_YYEOF = 0, /* "end of file" */
- YYSYMBOL_YYerror = 1, /* error */
- YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
- YYSYMBOL_GRAMPROG = 3, /* GRAMPROG */
- YYSYMBOL_GRAMEXPR = 4, /* GRAMEXPR */
- YYSYMBOL_GRAMBLOCK = 5, /* GRAMBLOCK */
- YYSYMBOL_GRAMBARESTMT = 6, /* GRAMBARESTMT */
- YYSYMBOL_GRAMFULLSTMT = 7, /* GRAMFULLSTMT */
- YYSYMBOL_GRAMSTMTSEQ = 8, /* GRAMSTMTSEQ */
- YYSYMBOL_GRAMSUBSIGNATURE = 9, /* GRAMSUBSIGNATURE */
- YYSYMBOL_PERLY_AMPERSAND = 10, /* PERLY_AMPERSAND */
- YYSYMBOL_PERLY_BRACE_OPEN = 11, /* PERLY_BRACE_OPEN */
- YYSYMBOL_PERLY_BRACE_CLOSE = 12, /* PERLY_BRACE_CLOSE */
- YYSYMBOL_PERLY_BRACKET_OPEN = 13, /* PERLY_BRACKET_OPEN */
- YYSYMBOL_PERLY_BRACKET_CLOSE = 14, /* PERLY_BRACKET_CLOSE */
- YYSYMBOL_PERLY_COMMA = 15, /* PERLY_COMMA */
- YYSYMBOL_PERLY_DOLLAR = 16, /* PERLY_DOLLAR */
- YYSYMBOL_PERLY_DOT = 17, /* PERLY_DOT */
- YYSYMBOL_PERLY_EQUAL_SIGN = 18, /* PERLY_EQUAL_SIGN */
- YYSYMBOL_PERLY_MINUS = 19, /* PERLY_MINUS */
- YYSYMBOL_PERLY_PERCENT_SIGN = 20, /* PERLY_PERCENT_SIGN */
- YYSYMBOL_PERLY_PLUS = 21, /* PERLY_PLUS */
- YYSYMBOL_PERLY_SEMICOLON = 22, /* PERLY_SEMICOLON */
- YYSYMBOL_PERLY_SLASH = 23, /* PERLY_SLASH */
- YYSYMBOL_PERLY_SNAIL = 24, /* PERLY_SNAIL */
- YYSYMBOL_PERLY_STAR = 25, /* PERLY_STAR */
- YYSYMBOL_BAREWORD = 26, /* BAREWORD */
- YYSYMBOL_METHOD = 27, /* METHOD */
- YYSYMBOL_FUNCMETH = 28, /* FUNCMETH */
- YYSYMBOL_THING = 29, /* THING */
- YYSYMBOL_PMFUNC = 30, /* PMFUNC */
- YYSYMBOL_PRIVATEREF = 31, /* PRIVATEREF */
- YYSYMBOL_QWLIST = 32, /* QWLIST */
- YYSYMBOL_FUNC0OP = 33, /* FUNC0OP */
- YYSYMBOL_FUNC0SUB = 34, /* FUNC0SUB */
- YYSYMBOL_UNIOPSUB = 35, /* UNIOPSUB */
- YYSYMBOL_LSTOPSUB = 36, /* LSTOPSUB */
- YYSYMBOL_PLUGEXPR = 37, /* PLUGEXPR */
- YYSYMBOL_PLUGSTMT = 38, /* PLUGSTMT */
- YYSYMBOL_LABEL = 39, /* LABEL */
- YYSYMBOL_FORMAT = 40, /* FORMAT */
- YYSYMBOL_SUB = 41, /* SUB */
- YYSYMBOL_SIGSUB = 42, /* SIGSUB */
- YYSYMBOL_ANONSUB = 43, /* ANONSUB */
- YYSYMBOL_ANON_SIGSUB = 44, /* ANON_SIGSUB */
- YYSYMBOL_PACKAGE = 45, /* PACKAGE */
- YYSYMBOL_USE = 46, /* USE */
- YYSYMBOL_WHILE = 47, /* WHILE */
- YYSYMBOL_UNTIL = 48, /* UNTIL */
- YYSYMBOL_IF = 49, /* IF */
- YYSYMBOL_UNLESS = 50, /* UNLESS */
- YYSYMBOL_ELSE = 51, /* ELSE */
- YYSYMBOL_ELSIF = 52, /* ELSIF */
- YYSYMBOL_CONTINUE = 53, /* CONTINUE */
- YYSYMBOL_FOR = 54, /* FOR */
- YYSYMBOL_GIVEN = 55, /* GIVEN */
- YYSYMBOL_WHEN = 56, /* WHEN */
- YYSYMBOL_DEFAULT = 57, /* DEFAULT */
- YYSYMBOL_TRY = 58, /* TRY */
- YYSYMBOL_CATCH = 59, /* CATCH */
- YYSYMBOL_FINALLY = 60, /* FINALLY */
- YYSYMBOL_LOOPEX = 61, /* LOOPEX */
- YYSYMBOL_DOTDOT = 62, /* DOTDOT */
- YYSYMBOL_YADAYADA = 63, /* YADAYADA */
- YYSYMBOL_FUNC0 = 64, /* FUNC0 */
- YYSYMBOL_FUNC1 = 65, /* FUNC1 */
- YYSYMBOL_FUNC = 66, /* FUNC */
- YYSYMBOL_UNIOP = 67, /* UNIOP */
- YYSYMBOL_LSTOP = 68, /* LSTOP */
- YYSYMBOL_MULOP = 69, /* MULOP */
- YYSYMBOL_ADDOP = 70, /* ADDOP */
- YYSYMBOL_DOLSHARP = 71, /* DOLSHARP */
- YYSYMBOL_DO = 72, /* DO */
- YYSYMBOL_HASHBRACK = 73, /* HASHBRACK */
- YYSYMBOL_NOAMP = 74, /* NOAMP */
- YYSYMBOL_LOCAL = 75, /* LOCAL */
- YYSYMBOL_MY = 76, /* MY */
- YYSYMBOL_REQUIRE = 77, /* REQUIRE */
- YYSYMBOL_COLONATTR = 78, /* COLONATTR */
- YYSYMBOL_FORMLBRACK = 79, /* FORMLBRACK */
- YYSYMBOL_FORMRBRACK = 80, /* FORMRBRACK */
- YYSYMBOL_SUBLEXSTART = 81, /* SUBLEXSTART */
- YYSYMBOL_SUBLEXEND = 82, /* SUBLEXEND */
- YYSYMBOL_DEFER = 83, /* DEFER */
- YYSYMBOL_PREC_LOW = 84, /* PREC_LOW */
- YYSYMBOL_OROP = 85, /* OROP */
- YYSYMBOL_ANDOP = 86, /* ANDOP */
- YYSYMBOL_NOTOP = 87, /* NOTOP */
- YYSYMBOL_ASSIGNOP = 88, /* ASSIGNOP */
- YYSYMBOL_PERLY_QUESTION_MARK = 89, /* PERLY_QUESTION_MARK */
- YYSYMBOL_PERLY_COLON = 90, /* PERLY_COLON */
- YYSYMBOL_OROR = 91, /* OROR */
- YYSYMBOL_DORDOR = 92, /* DORDOR */
- YYSYMBOL_ANDAND = 93, /* ANDAND */
- YYSYMBOL_BITOROP = 94, /* BITOROP */
- YYSYMBOL_BITANDOP = 95, /* BITANDOP */
- YYSYMBOL_CHEQOP = 96, /* CHEQOP */
- YYSYMBOL_NCEQOP = 97, /* NCEQOP */
- YYSYMBOL_CHRELOP = 98, /* CHRELOP */
- YYSYMBOL_NCRELOP = 99, /* NCRELOP */
- YYSYMBOL_SHIFTOP = 100, /* SHIFTOP */
- YYSYMBOL_MATCHOP = 101, /* MATCHOP */
- YYSYMBOL_PERLY_EXCLAMATION_MARK = 102, /* PERLY_EXCLAMATION_MARK */
- YYSYMBOL_PERLY_TILDE = 103, /* PERLY_TILDE */
- YYSYMBOL_UMINUS = 104, /* UMINUS */
- YYSYMBOL_REFGEN = 105, /* REFGEN */
- YYSYMBOL_POWOP = 106, /* POWOP */
- YYSYMBOL_PREINC = 107, /* PREINC */
- YYSYMBOL_PREDEC = 108, /* PREDEC */
- YYSYMBOL_POSTINC = 109, /* POSTINC */
- YYSYMBOL_POSTDEC = 110, /* POSTDEC */
- YYSYMBOL_POSTJOIN = 111, /* POSTJOIN */
- YYSYMBOL_ARROW = 112, /* ARROW */
- YYSYMBOL_PERLY_PAREN_CLOSE = 113, /* PERLY_PAREN_CLOSE */
- YYSYMBOL_PERLY_PAREN_OPEN = 114, /* PERLY_PAREN_OPEN */
- YYSYMBOL_YYACCEPT = 115, /* $accept */
- YYSYMBOL_grammar = 116, /* grammar */
- YYSYMBOL_117_1 = 117, /* @1 */
- YYSYMBOL_118_2 = 118, /* @2 */
- YYSYMBOL_119_3 = 119, /* @3 */
- YYSYMBOL_120_4 = 120, /* @4 */
- YYSYMBOL_121_5 = 121, /* @5 */
- YYSYMBOL_122_6 = 122, /* @6 */
- YYSYMBOL_123_7 = 123, /* @7 */
- YYSYMBOL_block = 124, /* block */
- YYSYMBOL_empty = 125, /* empty */
- YYSYMBOL_formblock = 126, /* formblock */
- YYSYMBOL_remember = 127, /* remember */
- YYSYMBOL_mblock = 128, /* mblock */
- YYSYMBOL_mremember = 129, /* mremember */
- YYSYMBOL_stmtseq = 130, /* stmtseq */
- YYSYMBOL_formstmtseq = 131, /* formstmtseq */
- YYSYMBOL_fullstmt = 132, /* fullstmt */
- YYSYMBOL_labfullstmt = 133, /* labfullstmt */
- YYSYMBOL_barestmt = 134, /* barestmt */
- YYSYMBOL_135_8 = 135, /* $@8 */
- YYSYMBOL_136_9 = 136, /* $@9 */
- YYSYMBOL_137_10 = 137, /* $@10 */
- YYSYMBOL_138_11 = 138, /* $@11 */
- YYSYMBOL_139_12 = 139, /* $@12 */
- YYSYMBOL_140_13 = 140, /* @13 */
- YYSYMBOL_141_14 = 141, /* $@14 */
- YYSYMBOL_142_15 = 142, /* $@15 */
- YYSYMBOL_143_16 = 143, /* $@16 */
- YYSYMBOL_formline = 144, /* formline */
- YYSYMBOL_formarg = 145, /* formarg */
- YYSYMBOL_condition = 146, /* condition */
- YYSYMBOL_sideff = 147, /* sideff */
- YYSYMBOL_else = 148, /* else */
- YYSYMBOL_cont = 149, /* cont */
- YYSYMBOL_finally = 150, /* finally */
- YYSYMBOL_mintro = 151, /* mintro */
- YYSYMBOL_nexpr = 152, /* nexpr */
- YYSYMBOL_texpr = 153, /* texpr */
- YYSYMBOL_iexpr = 154, /* iexpr */
- YYSYMBOL_mexpr = 155, /* mexpr */
- YYSYMBOL_mnexpr = 156, /* mnexpr */
- YYSYMBOL_formname = 157, /* formname */
- YYSYMBOL_startsub = 158, /* startsub */
- YYSYMBOL_startanonsub = 159, /* startanonsub */
- YYSYMBOL_startformsub = 160, /* startformsub */
- YYSYMBOL_subname = 161, /* subname */
- YYSYMBOL_proto = 162, /* proto */
- YYSYMBOL_subattrlist = 163, /* subattrlist */
- YYSYMBOL_myattrlist = 164, /* myattrlist */
- YYSYMBOL_sigvarname = 165, /* sigvarname */
- YYSYMBOL_sigslurpsigil = 166, /* sigslurpsigil */
- YYSYMBOL_sigslurpelem = 167, /* sigslurpelem */
- YYSYMBOL_sigdefault = 168, /* sigdefault */
- YYSYMBOL_sigscalarelem = 169, /* sigscalarelem */
- YYSYMBOL_sigelem = 170, /* sigelem */
- YYSYMBOL_siglist = 171, /* siglist */
- YYSYMBOL_optsiglist = 172, /* optsiglist */
- YYSYMBOL_optsubsignature = 173, /* optsubsignature */
- YYSYMBOL_subsignature = 174, /* subsignature */
- YYSYMBOL_subsigguts = 175, /* subsigguts */
- YYSYMBOL_176_17 = 176, /* $@17 */
- YYSYMBOL_optsubbody = 177, /* optsubbody */
- YYSYMBOL_subbody = 178, /* subbody */
- YYSYMBOL_optsigsubbody = 179, /* optsigsubbody */
- YYSYMBOL_sigsubbody = 180, /* sigsubbody */
- YYSYMBOL_expr = 181, /* expr */
- YYSYMBOL_listexpr = 182, /* listexpr */
- YYSYMBOL_listop = 183, /* listop */
- YYSYMBOL_184_18 = 184, /* @18 */
- YYSYMBOL_method = 185, /* method */
- YYSYMBOL_subscripted = 186, /* subscripted */
- YYSYMBOL_termbinop = 187, /* termbinop */
- YYSYMBOL_termrelop = 188, /* termrelop */
- YYSYMBOL_relopchain = 189, /* relopchain */
- YYSYMBOL_termeqop = 190, /* termeqop */
- YYSYMBOL_eqopchain = 191, /* eqopchain */
- YYSYMBOL_termunop = 192, /* termunop */
- YYSYMBOL_anonymous = 193, /* anonymous */
- YYSYMBOL_termdo = 194, /* termdo */
- YYSYMBOL_term = 195, /* term */
- YYSYMBOL_196_19 = 196, /* @19 */
- YYSYMBOL_myattrterm = 197, /* myattrterm */
- YYSYMBOL_myterm = 198, /* myterm */
- YYSYMBOL_optlistexpr = 199, /* optlistexpr */
- YYSYMBOL_optexpr = 200, /* optexpr */
- YYSYMBOL_optrepl = 201, /* optrepl */
- YYSYMBOL_my_scalar = 202, /* my_scalar */
- YYSYMBOL_list_of_scalars = 203, /* list_of_scalars */
- YYSYMBOL_my_list_of_scalars = 204, /* my_list_of_scalars */
- YYSYMBOL_my_var = 205, /* my_var */
- YYSYMBOL_refgen_topic = 206, /* refgen_topic */
- YYSYMBOL_my_refgen = 207, /* my_refgen */
- YYSYMBOL_amper = 208, /* amper */
- YYSYMBOL_scalar = 209, /* scalar */
- YYSYMBOL_ary = 210, /* ary */
- YYSYMBOL_hsh = 211, /* hsh */
- YYSYMBOL_arylen = 212, /* arylen */
- YYSYMBOL_star = 213, /* star */
- YYSYMBOL_sliceme = 214, /* sliceme */
- YYSYMBOL_kvslice = 215, /* kvslice */
- YYSYMBOL_gelem = 216, /* gelem */
- YYSYMBOL_indirob = 217 /* indirob */
-};
-typedef enum yysymbol_kind_t yysymbol_kind_t;
-
-
-
-
#define YYFINAL 16
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 3293
+#define YYLAST 3264
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 115
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 103
+#define YYNNTS 105
/* YYNRULES -- Number of rules. */
-#define YYNRULES 304
+#define YYNRULES 307
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 610
+#define YYNSTATES 613
+#define YYUNDEFTOK 2
#define YYMAXUTOK 369
-
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
-#define YYTRANSLATE(YYX) \
- (0 <= (YYX) && (YYX) <= YYMAXUTOK \
- ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
- : YYSYMBOL_YYUNDEF)
+#define YYTRANSLATE(YYX) \
+ ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
-static const yytype_int8 yytranslate[] =
+static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -300,105 +70,92 @@ static const yytype_int8 yytranslate[] =
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_int16 yyrline[] =
+static const yytype_uint16 yyrline[] =
{
- 0, 140, 140, 139, 151, 150, 161, 160, 174, 173,
- 187, 186, 200, 199, 210, 209, 222, 230, 234, 241,
- 246, 253, 260, 261, 271, 272, 281, 285, 289, 296,
- 306, 308, 321, 318, 342, 337, 358, 366, 365, 374,
- 380, 386, 391, 393, 395, 402, 410, 412, 409, 429,
- 434, 443, 450, 449, 464, 472, 479, 481, 478, 490,
- 497, 496, 511, 515, 519, 524, 532, 550, 551, 555,
- 559, 561, 563, 565, 567, 569, 571, 574, 580, 581,
- 586, 597, 598, 603, 605, 610, 617, 618, 622, 626,
- 630, 635, 639, 643, 644, 647, 653, 658, 664, 665,
- 670, 671, 676, 677, 679, 684, 686, 697, 699, 704,
- 706, 710, 730, 731, 733, 739, 804, 806, 812, 814,
- 818, 824, 825, 830, 831, 835, 839, 839, 906, 907,
- 912, 924, 925, 929, 940, 942, 944, 948, 950, 955,
- 959, 963, 967, 973, 978, 984, 990, 992, 994, 997,
- 996, 1007, 1008, 1012, 1016, 1019, 1024, 1029, 1032, 1036,
- 1040, 1046, 1054, 1061, 1067, 1069, 1071, 1076, 1078, 1080,
- 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103,
- 1105, 1109, 1111, 1113, 1115, 1119, 1121, 1125, 1127, 1129,
- 1131, 1135, 1137, 1142, 1144, 1147, 1149, 1151, 1154, 1157,
- 1168, 1171, 1179, 1181, 1183, 1186, 1192, 1194, 1198, 1199,
- 1200, 1201, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216,
- 1218, 1220, 1222, 1224, 1226, 1228, 1238, 1248, 1258, 1268,
- 1270, 1272, 1275, 1280, 1284, 1286, 1288, 1290, 1293, 1295,
- 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1317,
- 1319, 1321, 1323, 1325, 1327, 1331, 1334, 1333, 1346, 1347,
- 1348, 1353, 1355, 1357, 1359, 1364, 1366, 1369, 1371, 1373,
- 1379, 1380, 1384, 1385, 1389, 1390, 1395, 1400, 1402, 1406,
- 1409, 1413, 1414, 1415, 1418, 1419, 1422, 1423, 1426, 1430,
- 1434, 1440, 1446, 1448, 1452, 1456, 1457, 1461, 1462, 1466,
- 1467, 1472, 1474, 1476, 1479
+ 0, 141, 141, 140, 152, 151, 162, 161, 175, 174,
+ 188, 187, 201, 200, 211, 210, 223, 231, 235, 242,
+ 247, 254, 260, 264, 266, 263, 273, 274, 284, 285,
+ 294, 298, 302, 309, 319, 321, 334, 331, 355, 350,
+ 371, 379, 378, 387, 393, 399, 404, 406, 408, 415,
+ 423, 425, 422, 442, 447, 456, 463, 462, 477, 485,
+ 492, 491, 506, 513, 512, 527, 531, 535, 540, 548,
+ 566, 567, 571, 575, 577, 579, 581, 583, 585, 587,
+ 590, 596, 597, 602, 613, 614, 619, 621, 626, 633,
+ 634, 638, 642, 646, 651, 655, 659, 660, 663, 669,
+ 674, 680, 681, 686, 687, 692, 693, 695, 700, 702,
+ 713, 715, 720, 722, 726, 746, 747, 749, 755, 820,
+ 822, 828, 830, 834, 840, 841, 846, 847, 851, 855,
+ 855, 922, 923, 928, 940, 941, 945, 956, 958, 960,
+ 964, 966, 971, 975, 979, 983, 989, 994, 1000, 1006,
+ 1008, 1010, 1013, 1012, 1023, 1024, 1028, 1032, 1035, 1040,
+ 1045, 1048, 1052, 1056, 1062, 1070, 1077, 1083, 1085, 1087,
+ 1092, 1094, 1096, 1101, 1103, 1105, 1107, 1109, 1111, 1113,
+ 1115, 1117, 1119, 1121, 1125, 1127, 1129, 1131, 1135, 1137,
+ 1141, 1143, 1145, 1147, 1151, 1153, 1158, 1160, 1163, 1165,
+ 1167, 1170, 1173, 1184, 1187, 1195, 1197, 1199, 1202, 1208,
+ 1210, 1214, 1215, 1216, 1217, 1218, 1220, 1222, 1224, 1226,
+ 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1254,
+ 1264, 1274, 1284, 1286, 1288, 1291, 1296, 1300, 1302, 1304,
+ 1306, 1309, 1311, 1314, 1316, 1318, 1320, 1322, 1324, 1326,
+ 1328, 1330, 1333, 1335, 1337, 1339, 1341, 1343, 1347, 1350,
+ 1349, 1362, 1363, 1364, 1369, 1371, 1373, 1375, 1380, 1382,
+ 1385, 1387, 1389, 1395, 1396, 1400, 1401, 1405, 1406, 1411,
+ 1416, 1418, 1422, 1425, 1429, 1430, 1431, 1434, 1435, 1438,
+ 1439, 1442, 1446, 1450, 1456, 1462, 1464, 1468, 1472, 1473,
+ 1477, 1478, 1482, 1483, 1488, 1490, 1492, 1495
};
#endif
-/** Accessing symbol of state STATE. */
-#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
-
-#if YYDEBUG || 0
-/* The user-facing name of the symbol whose (internal) number is
- YYSYMBOL. No bounds checking. */
-static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
-
+#if YYDEBUG || YYERROR_VERBOSE || 0
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "\"end of file\"", "error", "\"invalid token\"", "GRAMPROG", "GRAMEXPR",
- "GRAMBLOCK", "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ",
- "GRAMSUBSIGNATURE", "PERLY_AMPERSAND", "PERLY_BRACE_OPEN",
- "PERLY_BRACE_CLOSE", "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE",
- "PERLY_COMMA", "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN",
- "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON",
- "PERLY_SLASH", "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHOD",
- "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP",
- "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL",
- "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE",
- "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR",
- "GIVEN", "WHEN", "DEFAULT", "TRY", "CATCH", "FINALLY", "LOOPEX",
- "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP",
- "MULOP", "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY",
- "REQUIRE", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART",
- "SUBLEXEND", "DEFER", "PREC_LOW", "OROP", "ANDOP", "NOTOP", "ASSIGNOP",
- "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR", "ANDAND",
- "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP",
- "SHIFTOP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS",
- "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN",
- "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar",
- "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block", "empty", "formblock",
- "remember", "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
- "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11", "$@12", "@13",
- "$@14", "$@15", "$@16", "formline", "formarg", "condition", "sideff",
- "else", "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", "mexpr",
- "mnexpr", "formname", "startsub", "startanonsub", "startformsub",
- "subname", "proto", "subattrlist", "myattrlist", "sigvarname",
- "sigslurpsigil", "sigslurpelem", "sigdefault", "sigscalarelem",
- "sigelem", "siglist", "optsiglist", "optsubsignature", "subsignature",
- "subsigguts", "$@17", "optsubbody", "subbody", "optsigsubbody",
- "sigsubbody", "expr", "listexpr", "listop", "@18", "method",
- "subscripted", "termbinop", "termrelop", "relopchain", "termeqop",
- "eqopchain", "termunop", "anonymous", "termdo", "term", "@19",
- "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl", "my_scalar",
- "list_of_scalars", "my_list_of_scalars", "my_var", "refgen_topic",
- "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", "star",
- "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
+ "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
+ "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE",
+ "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE",
+ "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA",
+ "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS",
+ "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH",
+ "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHOD", "FUNCMETH", "THING",
+ "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB",
+ "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "FORMAT", "SUB", "SIGSUB",
+ "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", "WHILE", "UNTIL", "IF",
+ "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT",
+ "TRY", "CATCH", "FINALLY", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
+ "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
+ "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
+ "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "DEFER",
+ "PREC_LOW", "OROP", "ANDOP", "NOTOP", "ASSIGNOP", "PERLY_QUESTION_MARK",
+ "PERLY_COLON", "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP",
+ "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP", "SHIFTOP", "MATCHOP",
+ "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS", "REFGEN", "POWOP",
+ "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "ARROW",
+ "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar", "@1",
+ "@2", "@3", "@4", "@5", "@6", "@7", "block", "empty", "formblock",
+ "remember", "mblock", "mremember", "catch_paren", "$@8", "$@9",
+ "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@10",
+ "$@11", "$@12", "$@13", "$@14", "@15", "$@16", "$@17", "formline",
+ "formarg", "condition", "sideff", "else", "cont", "finally", "mintro",
+ "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub",
+ "startanonsub", "startformsub", "subname", "proto", "subattrlist",
+ "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem",
+ "sigdefault", "sigscalarelem", "sigelem", "siglist", "optsiglist",
+ "optsubsignature", "subsignature", "subsigguts", "$@18", "optsubbody",
+ "subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop",
+ "@19", "method", "subscripted", "termbinop", "termrelop", "relopchain",
+ "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term",
+ "@20", "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl",
+ "my_scalar", "list_of_scalars", "my_list_of_scalars", "my_var",
+ "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen",
+ "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
};
-
-static const char *
-yysymbol_name (yysymbol_kind_t yysymbol)
-{
- return yytname[yysymbol];
-}
#endif
-#ifdef YYPRINT
+# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
-static const yytype_int16 yytoknum[] =
+static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
@@ -413,183 +170,185 @@ static const yytype_int16 yytoknum[] =
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369
};
-#endif
+# endif
-#define YYPACT_NINF (-498)
+#define YYPACT_NINF -522
-#define yypact_value_is_default(Yyn) \
- ((Yyn) == YYPACT_NINF)
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-522)))
-#define YYTABLE_NINF (-300)
+#define YYTABLE_NINF -303
-#define yytable_value_is_error(Yyn) \
- ((Yyn) == YYTABLE_NINF)
+#define yytable_value_is_error(Yytable_value) \
+ (!!((Yytable_value) == (-303)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 477, -498, -498, -498, -498, -498, -498, -498, 37, -498,
- 2923, 16, 1589, 1490, -498, -498, -498, -498, 214, 2923,
- 214, 2923, 214, 2923, 214, 214, -498, 214, 214, -498,
- -498, 33, -64, -498, 2923, -498, -498, -498, -498, 2923,
- -49, -46, -37, 2155, 2056, 214, 2155, 2923, 155, 2923,
- 50, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2251, -498,
- 2, 57, -498, 10, -498, 120, -14, 176, 1, -498,
- -498, -498, 3091, -498, -498, -5, 171, 189, 194, -498,
- 94, 220, 224, 111, -498, -498, -498, -498, -498, -498,
- 155, 155, 125, -498, 26, 69, 99, 112, 9, 133,
- 136, 16, 244, 165, 244, 208, -498, 243, 512, 1490,
- -498, -498, -498, -498, 630, -498, 35, 774, -498, -498,
- -498, -498, -498, 260, -498, 400, -498, 400, -498, -498,
- 2923, 177, 229, 2923, 201, 223, 16, 292, 248, 3091,
- 230, 2347, 2923, 2056, -498, 223, 1952, -498, 57, -498,
- 1850, 2923, -498, -498, 223, 323, -498, -498, 2923, 223,
- 3019, 2443, 268, -498, -498, -498, 223, 57, 400, 400,
- 400, 253, 253, 354, 59, 2923, 2923, 2923, 2923, 2923,
- 2539, -498, -498, 2923, -498, -498, 2923, 2923, 2923, 2923,
- 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923,
- 2923, 2923, 2923, 2923, -498, -498, -498, 149, 2635, 2923,
- 2923, 2923, 2923, 2923, 2923, 2923, -498, 331, -498, -498,
- 348, -498, -498, -498, -498, -498, 283, 188, -498, -498,
- 265, -498, -498, -498, -498, 333, -498, -498, 16, -498,
- -498, -498, 2923, 2923, 2923, 2923, 2923, 2923, -498, -498,
- -498, 359, -498, -498, -498, 359, -498, -498, -498, 378,
- -498, -498, -498, 2923, 2923, 22, -498, -498, -498, -498,
- 248, 375, -498, -498, -498, -498, 156, 334, 314, 2923,
- 57, 393, -498, 2731, 400, 268, 78, 117, 139, -498,
- 181, 392, -498, 2923, 415, 343, -498, 3091, 72, 25,
- -498, 185, 223, 361, 3181, 344, 238, 3091, 3046, 1884,
- 1884, 1669, 444, 301, 361, 361, 223, 223, 308, 400,
- 400, 407, 2923, 2923, 622, 408, 416, 418, -498, 421,
- 2827, 337, -498, -498, 191, 82, 27, 124, 31, 153,
- 53, 158, 879, -498, -498, 429, -498, -498, 20, 426,
- 2923, 2923, 2923, 2923, -498, -12, -498, -498, 349, -498,
- -498, -498, -498, 1685, 356, -498, 2923, 2923, -498, 351,
- -498, -498, 2, -498, 2, -498, -498, -498, -498, -498,
- 369, 369, 35, 353, 114, -498, 2923, -498, -498, 360,
- -498, -498, -498, -498, 242, -498, 15, 256, -498, -498,
- -498, 68, 2923, 464, -498, -498, 2923, -498, 174, 85,
- -498, -498, -498, -498, -498, -498, 274, 2923, -498, 465,
- -498, 466, -498, 475, -498, 476, -498, -498, -498, 292,
- 248, -498, -498, 463, 380, 2, 384, 386, 2, 387,
- 487, 391, -498, -498, -498, -498, -498, 402, 495, 143,
- -498, 2923, 406, 409, 995, -498, 2923, -498, -498, -498,
- -498, -498, 2923, -498, 441, -498, 514, -498, -498, -498,
- 515, -498, -498, 49, -498, 92, -498, 3136, 517, -498,
- -498, 417, -498, -498, -498, -498, 524, 248, 526, -498,
- 2923, -498, -498, 244, 244, 519, 423, -498, 2923, 2923,
- 244, -498, 435, 424, 244, 244, -498, -498, 3091, 2,
- -498, -498, 439, -498, -498, -498, -498, 478, 535, -498,
- -498, -498, -498, 541, 244, 244, 228, 228, 487, 450,
- 452, 454, 208, 2923, 2923, 244, -498, -498, 487, 1094,
- -498, 1193, -498, -498, -498, -498, 1292, -498, 208, 208,
- 244, 455, -498, -498, -498, -498, 2923, 244, 244, -498,
- 548, 460, 208, -498, -498, -498, -498, 18, -498, -498,
- -498, -498, 2923, 461, 208, 208, -498, 244, -498, 462,
- 560, 499, -498, 467, 244, -498, -498, -498, 208, 244,
- -498, -498, -498, -498, 244, 208, 1781, -498, 521, 1391,
- 228, -498, 469, 16, -498, -498, -498, 244, -498, -498
+ 648, -522, -522, -522, -522, -522, -522, -522, 62, -522,
+ 2942, 21, 1608, 1509, -522, -522, -522, -522, 298, 2942,
+ 298, 2942, 298, 2942, 298, 298, -522, 298, 298, -522,
+ -522, 36, -46, -522, 2942, -522, -522, -522, -522, 2942,
+ -30, -24, -50, 2174, 2075, 298, 2174, 2942, 139, 2942,
+ 9, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2270, -522,
+ 58, 79, -522, 15, -522, -63, 10, 71, 44, -522,
+ -522, -522, 3062, -522, -522, -2, 185, 188, 191, -522,
+ 140, 210, 280, 148, -522, -522, -522, -522, -522, -522,
+ 139, 139, 167, -522, 96, 101, 110, 116, 31, 126,
+ 135, 21, 178, 230, 178, 204, -522, 241, 612, 1509,
+ -522, -522, -522, -522, 694, -522, 53, 803, -522, -522,
+ -522, -522, -522, 256, -522, 377, -522, 377, -522, -522,
+ 2942, 160, 201, 2942, 179, 363, 21, 257, 219, 3062,
+ 182, 2366, 2942, 2075, -522, 363, 1971, -522, 79, -522,
+ 1869, 2942, -522, -522, 363, 286, -522, -522, 2942, 363,
+ 3038, 2462, 232, -522, -522, -522, 363, 79, 377, 377,
+ 377, 312, 312, 300, -20, 2942, 2942, 2942, 2942, 2942,
+ 2558, -522, -522, 2942, -522, -522, 2942, 2942, 2942, 2942,
+ 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942,
+ 2942, 2942, 2942, 2942, -522, -522, -522, 274, 2654, 2942,
+ 2942, 2942, 2942, 2942, 2942, 2942, -522, 289, -522, -522,
+ 292, -522, -522, -522, -522, -522, 216, 163, -522, -522,
+ 213, -522, -522, -522, -522, 272, -522, -522, 21, -522,
+ -522, -522, 2942, 2942, 2942, 2942, 2942, 2942, -522, -522,
+ -522, 315, -522, -522, -522, 315, -522, -522, -522, 336,
+ -522, -522, -522, 2942, 2942, 16, -522, -522, -522, -522,
+ 219, 325, -522, -522, -522, -522, 64, 285, 260, 2942,
+ 79, 357, -522, 2750, 377, 232, 46, 47, 84, -522,
+ 105, 348, -522, 2942, 367, 295, -522, 3062, 131, 49,
+ -522, 237, 363, 501, 3152, 346, 231, 3062, 528, 1903,
+ 1903, 1688, 2058, 452, 501, 501, 363, 363, 535, 377,
+ 377, 366, 2942, 2942, 386, 368, 373, 378, -522, 379,
+ 2846, 268, -522, -522, 253, 134, 61, 170, 69, 173,
+ 72, 183, 915, -522, -522, 390, -522, -522, 45, 384,
+ 2942, 2942, 2942, 2942, -522, 8, -522, -522, 299, -522,
+ -522, -522, -522, 1704, 162, -522, 2942, 2942, -522, -522,
+ -522, -522, 58, -522, 58, -522, -522, -522, -522, -522,
+ 326, 326, 53, 302, 88, -522, 2942, -522, -522, 311,
+ -522, -522, -522, -522, 262, -522, 32, 276, -522, -522,
+ -522, 75, 2942, 414, -522, -522, 2942, -522, 250, 78,
+ -522, -522, -522, -522, -522, -522, 279, 2942, -522, 417,
+ -522, 419, -522, 424, -522, 425, -522, -522, -522, 257,
+ 219, -522, -522, 413, 327, 58, 328, 330, 58, 331,
+ 433, 337, -522, -522, -522, -522, -522, 340, 437, 217,
+ -522, 2942, 347, 358, 1014, 356, 2942, -522, -522, -522,
+ -522, -522, 2942, -522, 394, -522, 467, -522, -522, -522,
+ 468, -522, -522, 48, -522, 86, -522, 3107, 469, -522,
+ -522, 372, -522, -522, -522, -522, 470, 219, 471, -522,
+ 2942, -522, -522, 178, 178, 475, 383, -522, 2942, 2942,
+ 178, -522, 387, 385, 178, 178, -522, -522, -522, -522,
+ 3062, 58, -522, -522, 391, -522, -522, -522, -522, 420,
+ 484, -522, -522, -522, -522, 485, 178, 178, 133, 133,
+ 433, 395, 397, 402, 204, 2942, 2942, 178, -522, -522,
+ 433, 178, 1113, -522, 1212, -522, -522, -522, -522, 1311,
+ -522, 204, 204, 178, 403, -522, -522, -522, -522, 2942,
+ 178, 178, -522, 494, 407, 204, -522, 465, -522, -522,
+ -522, 108, -522, -522, -522, -522, 2942, 415, 204, 204,
+ -522, 178, -522, 421, 21, -522, 509, 448, -522, 427,
+ 178, -522, -522, -522, 204, -522, -522, -522, -522, -522,
+ -522, 178, 204, 1800, -522, 1410, 133, -522, 429, -522,
+ -522, 178, -522
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
-static const yytype_int16 yydefact[] =
+static const yytype_uint16 yydefact[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 0, 19,
- 17, 0, 0, 0, 17, 126, 1, 17, 0, 17,
- 0, 0, 0, 0, 0, 0, 258, 0, 0, 229,
- 256, 217, 251, 253, 247, 96, 260, 96, 96, 239,
- 249, 0, 0, 242, 17, 0, 0, 17, 0, 0,
- 0, 245, 0, 0, 0, 0, 0, 0, 0, 272,
- 273, 136, 259, 224, 208, 172, 181, 173, 187, 209,
- 210, 211, 139, 214, 5, 230, 219, 222, 221, 223,
- 220, 0, 0, 0, 19, 7, 70, 65, 30, 97,
- 0, 0, 0, 95, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 9, 0, 71, 0,
- 11, 27, 26, 22, 0, 15, 17, 0, 301, 304,
- 303, 302, 288, 0, 289, 193, 291, 194, 290, 294,
- 17, 0, 0, 0, 0, 248, 0, 17, 17, 240,
- 0, 0, 17, 17, 243, 244, 301, 270, 271, 146,
- 302, 0, 292, 207, 206, 0, 98, 99, 17, 215,
- 0, 0, 262, 267, 269, 268, 246, 241, 195, 196,
- 213, 200, 201, 218, 0, 0, 0, 137, 0, 0,
- 0, 184, 183, 0, 190, 189, 0, 0, 0, 0,
+ 17, 0, 0, 0, 17, 129, 1, 17, 0, 17,
+ 0, 0, 0, 0, 0, 0, 261, 0, 0, 232,
+ 259, 220, 254, 256, 250, 99, 263, 99, 99, 242,
+ 252, 0, 0, 245, 17, 0, 0, 17, 0, 0,
+ 0, 248, 0, 0, 0, 0, 0, 0, 0, 275,
+ 276, 139, 262, 227, 211, 175, 184, 176, 190, 212,
+ 213, 214, 142, 217, 5, 233, 222, 225, 224, 226,
+ 223, 0, 0, 0, 19, 7, 73, 68, 34, 100,
+ 0, 0, 0, 98, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 9, 0, 74, 0,
+ 11, 31, 30, 26, 0, 15, 17, 0, 304, 307,
+ 306, 305, 291, 0, 292, 196, 294, 197, 293, 297,
+ 17, 0, 0, 0, 0, 251, 0, 17, 17, 243,
+ 0, 0, 17, 17, 246, 247, 304, 273, 274, 149,
+ 305, 0, 295, 210, 209, 0, 101, 102, 17, 218,
+ 0, 0, 265, 270, 272, 271, 249, 244, 198, 199,
+ 216, 203, 204, 221, 0, 0, 0, 140, 0, 0,
+ 0, 187, 186, 0, 193, 192, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 197, 198, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 17, 17, 95, 95,
- 0, 37, 19, 19, 19, 19, 19, 0, 19, 19,
- 0, 19, 19, 43, 21, 0, 64, 63, 0, 81,
- 59, 62, 0, 0, 0, 0, 0, 0, 29, 28,
- 23, 107, 110, 109, 121, 107, 117, 116, 120, 122,
- 127, 202, 144, 17, 0, 0, 252, 149, 101, 100,
- 17, 104, 102, 19, 250, 254, 0, 0, 0, 0,
- 140, 0, 233, 0, 264, 0, 219, 222, 221, 266,
- 0, 106, 261, 0, 216, 135, 134, 138, 0, 0,
- 163, 0, 186, 192, 176, 169, 170, 167, 0, 178,
- 179, 177, 175, 174, 191, 188, 185, 182, 171, 180,
- 168, 0, 0, 0, 0, 298, 296, 300, 151, 0,
- 0, 143, 152, 231, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 93, 94, 0, 32, 34, 0, 0,
- 88, 0, 0, 0, 286, 0, 287, 284, 0, 285,
- 281, 282, 283, 0, 0, 19, 0, 0, 17, 0,
- 82, 74, 69, 75, 90, 72, 73, 76, 77, 108,
- 17, 17, 118, 0, 17, 165, 17, 19, 103, 17,
- 205, 255, 148, 147, 0, 203, 218, 0, 263, 265,
- 105, 0, 0, 0, 156, 162, 0, 237, 0, 0,
- 234, 236, 235, 238, 293, 160, 0, 17, 232, 0,
- 154, 0, 225, 0, 226, 0, 16, 19, 31, 17,
- 17, 19, 36, 0, 0, 89, 0, 0, 91, 0,
- 0, 0, 276, 19, 86, 87, 92, 0, 0, 71,
- 52, 0, 0, 0, 0, 56, 113, 112, 115, 111,
- 119, 145, 0, 274, 0, 150, 0, 204, 126, 123,
- 0, 124, 141, 216, 166, 0, 159, 212, 0, 155,
- 161, 0, 157, 227, 228, 153, 0, 17, 19, 60,
- 17, 85, 85, 0, 0, 280, 0, 279, 0, 0,
- 0, 46, 0, 0, 0, 0, 20, 19, 114, 275,
- 257, 17, 0, 17, 164, 158, 142, 0, 19, 132,
- 35, 131, 17, 0, 0, 0, 17, 17, 277, 0,
- 0, 0, 17, 88, 0, 0, 41, 42, 0, 0,
- 125, 0, 17, 129, 33, 128, 0, 38, 17, 17,
- 0, 0, 78, 39, 40, 278, 0, 0, 0, 55,
- 0, 0, 17, 57, 130, 133, 24, 0, 61, 44,
- 45, 79, 0, 0, 17, 17, 47, 0, 51, 0,
- 0, 17, 25, 0, 0, 49, 54, 85, 17, 0,
- 18, 17, 67, 66, 0, 17, 0, 53, 83, 0,
- 17, 50, 0, 0, 58, 68, 80, 0, 84, 48
+ 0, 0, 0, 0, 200, 201, 202, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 17, 17, 98, 98,
+ 0, 41, 19, 19, 19, 19, 19, 0, 19, 19,
+ 0, 19, 19, 47, 21, 0, 67, 66, 0, 84,
+ 62, 65, 0, 0, 0, 0, 0, 0, 33, 32,
+ 27, 110, 113, 112, 124, 110, 120, 119, 123, 125,
+ 130, 205, 147, 17, 0, 0, 255, 152, 104, 103,
+ 17, 107, 105, 19, 253, 257, 0, 0, 0, 0,
+ 143, 0, 236, 0, 267, 0, 222, 225, 224, 269,
+ 0, 109, 264, 0, 219, 138, 137, 141, 0, 0,
+ 166, 0, 189, 195, 179, 172, 173, 170, 0, 181,
+ 182, 180, 178, 177, 194, 191, 188, 185, 174, 183,
+ 171, 0, 0, 0, 0, 301, 299, 303, 154, 0,
+ 0, 146, 155, 234, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 96, 97, 0, 36, 38, 0, 0,
+ 91, 0, 0, 0, 289, 0, 290, 287, 0, 288,
+ 284, 285, 286, 0, 0, 19, 0, 0, 17, 19,
+ 85, 77, 72, 78, 93, 75, 76, 79, 80, 111,
+ 17, 17, 121, 0, 17, 168, 17, 19, 106, 17,
+ 208, 258, 151, 150, 0, 206, 221, 0, 266, 268,
+ 108, 0, 0, 0, 159, 165, 0, 240, 0, 0,
+ 237, 239, 238, 241, 296, 163, 0, 17, 235, 0,
+ 157, 0, 228, 0, 229, 0, 16, 19, 35, 17,
+ 17, 19, 40, 0, 0, 92, 0, 0, 94, 0,
+ 0, 0, 279, 19, 89, 90, 95, 0, 0, 74,
+ 56, 0, 0, 0, 0, 17, 116, 115, 118, 114,
+ 122, 148, 0, 277, 0, 153, 0, 207, 129, 126,
+ 0, 127, 144, 219, 169, 0, 162, 215, 0, 158,
+ 164, 0, 160, 230, 231, 156, 0, 17, 19, 63,
+ 17, 88, 88, 0, 0, 283, 0, 282, 0, 0,
+ 0, 50, 0, 0, 0, 0, 20, 23, 22, 60,
+ 117, 278, 260, 17, 0, 17, 167, 161, 145, 0,
+ 19, 135, 39, 134, 17, 0, 0, 0, 17, 17,
+ 280, 0, 0, 0, 17, 91, 0, 0, 45, 46,
+ 0, 0, 0, 128, 0, 17, 132, 37, 131, 0,
+ 42, 17, 17, 0, 0, 81, 43, 44, 281, 0,
+ 0, 0, 59, 0, 0, 17, 24, 86, 133, 136,
+ 28, 0, 64, 48, 49, 82, 0, 0, 17, 17,
+ 51, 0, 55, 0, 0, 61, 0, 17, 29, 0,
+ 0, 53, 58, 88, 17, 25, 87, 18, 17, 70,
+ 69, 0, 17, 0, 57, 0, 17, 54, 0, 71,
+ 83, 0, 52
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -498, -498, -498, -498, -498, -498, -498, -498, -498, -11,
- 5, -498, 77, -56, -498, -15, -498, 572, 474, 6,
- -498, -498, -498, -498, -498, -498, -498, -498, -498, -498,
- -498, 137, -360, -497, -237, -498, -487, -498, 54, 237,
- -310, -6, -498, 71, 259, -498, 240, 170, -264, 309,
- 345, -498, -498, 221, -498, 226, -498, -498, -498, -498,
- 135, -498, -498, 93, -498, 122, 73, -32, -498, -498,
- -498, -498, -498, -498, -498, -498, -498, -498, -498, -498,
- 570, -498, -498, 457, -129, -9, -498, -498, -498, -498,
- 250, -498, -498, 385, 51, -42, -24, -498, -498, -498,
- -498, -498, 36
+ -522, -522, -522, -522, -522, -522, -522, -522, -522, -5,
+ -10, -522, 3, -99, -522, -522, -522, -522, -16, -522,
+ 517, 428, 30, -522, -522, -522, -522, -522, -522, -522,
+ -522, -522, -522, 221, -349, -521, -245, -522, -476, -522,
+ 19, 187, -248, -48, -522, 18, 267, -522, 269, 127,
+ -249, 275, 304, -522, -522, 176, -522, 184, -522, -522,
+ -522, -522, 97, -522, -522, 52, -522, 85, 33, -42,
+ -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
+ -522, -522, 490, -522, -522, 416, -103, -1, -522, -522,
+ -522, -522, 203, -522, -522, 351, 54, -47, -39, -522,
+ -522, -522, -522, -522, 26
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 8, 9, 10, 11, 12, 13, 14, 15, 105,
- 239, 428, 389, 235, 368, 114, 567, 250, 111, 112,
- 429, 430, 349, 533, 587, 502, 507, 579, 522, 582,
- 593, 371, 107, 553, 240, 604, 524, 446, 434, 373,
- 437, 448, 345, 221, 136, 217, 158, 270, 273, 292,
- 380, 255, 256, 458, 257, 258, 259, 260, 470, 471,
- 115, 116, 544, 467, 520, 390, 108, 61, 62, 386,
- 331, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 132, 73, 162, 149, 74, 464, 441, 495, 496,
- 357, 358, 229, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 124
+ 239, 428, 389, 235, 368, 509, 540, 583, 114, 571,
+ 250, 111, 112, 429, 430, 349, 535, 593, 502, 541,
+ 524, 588, 600, 371, 107, 556, 240, 585, 526, 446,
+ 434, 373, 437, 448, 345, 221, 136, 217, 158, 270,
+ 273, 292, 380, 255, 256, 458, 257, 258, 259, 260,
+ 470, 471, 115, 116, 547, 467, 522, 390, 108, 61,
+ 62, 386, 331, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 132, 73, 162, 149, 74, 464, 441,
+ 495, 496, 357, 358, 229, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 124
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -597,84 +356,76 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 85, 262, 117, 445, 20, 525, 387, 120, 164, 120,
- 123, 120, 148, 120, 120, 59, 120, 120, 106, 113,
- 167, 178, 113, 179, 59, 20, 165, 84, 293, 282,
- 554, 431, 144, 120, 120, 153, 385, 16, 155, 404,
- 580, 420, 432, 439, 142, 422, 133, 581, 237, 147,
- 134, 251, 59, 447, 122, 252, 452, 453, 126, 253,
- 128, 129, 402, 130, 131, 140, 20, 424, 141, 121,
- 22, 121, 177, 121, 24, 121, 121, 143, 121, 121,
- 151, 152, 474, 60, 183, 226, 17, 175, 176, 209,
- 233, 210, 60, -266, 403, 150, 121, 186, 148, 479,
- 596, 163, 440, 606, 419, -299, 514, 175, 176, 208,
- 175, 176, 175, 176, 227, 249, 175, 176, 287, 280,
- 60, 254, 215, 228, 180, 267, 148, -265, -295, 177,
- -295, 174, 120, 277, 278, 147, 288, 462, 175, 176,
- 222, 503, 269, 272, 175, 176, 421, 59, 59, 230,
- -297, 220, -297, 175, 176, 160, -267, 175, 176, 321,
- 322, 216, 323, 147, 161, 324, 488, 175, 176, 325,
- 175, 176, 294, 326, 327, 423, 328, 175, 176, 279,
- 425, 156, 209, 223, 210, 361, 157, 236, 530, 531,
- 242, 243, 244, 245, 150, -269, 478, 246, 18, 247,
- -295, 342, -295, 362, 20, -297, 265, -297, 22, 175,
- 176, 286, 24, 224, 276, 60, 60, -268, 181, 182,
- 329, 113, 344, 518, 561, 84, 225, 370, 175, 176,
- 20, 211, 384, 212, 290, 213, 445, 214, 175, 176,
- 118, 175, 176, 175, 176, 119, 573, 231, 295, 296,
- 232, 298, 299, 301, 383, 234, -91, 465, 332, 175,
- 176, 238, 583, 330, 356, 241, 175, 176, 59, 391,
- 175, 176, 184, 185, 261, 272, 175, 176, 360, 550,
- 551, 334, 335, 336, 337, 338, 339, 340, 341, 346,
- 347, 263, 188, 189, 399, 559, 137, 138, 405, 350,
- 351, 352, 353, 355, 418, 363, 364, 188, 366, 367,
- 264, 569, 570, 120, 266, 372, 374, 372, 372, 372,
- 372, 268, 361, 201, 202, 578, 271, 175, 176, 203,
- 218, 219, 204, 205, 206, 207, 60, 585, 586, 202,
- 362, 175, 176, 274, 203, 281, 291, 204, 205, 206,
- 207, 597, 394, 454, 148, 472, 397, 343, 601, 175,
- 176, 523, -300, -300, -300, 207, 401, 293, 444, 473,
- 188, 189, 20, 113, 348, 121, 22, 188, 189, 365,
- 24, 375, 376, 377, 378, 457, 457, 480, 354, 463,
- 379, 147, 369, 382, 469, 408, 409, 197, 198, 199,
- 200, 201, 202, 416, 388, 395, 442, 203, 481, 202,
- 204, 205, 206, 207, 203, 360, 392, 204, 205, 206,
- 207, 400, 59, 435, 374, 438, 438, 393, 402, 176,
- 188, 189, 407, 411, 269, 272, 449, 526, 527, 438,
- 438, 412, 451, 413, 532, 202, 414, 427, 536, 537,
- 203, 417, 433, 204, 205, 206, 207, 456, 148, 199,
- 200, 201, 202, 443, 466, 455, 461, 203, 548, 549,
- 204, 205, 206, 207, 468, 475, 476, 482, 483, 562,
- 1, 2, 3, 4, 5, 6, 7, 484, 485, 490,
- 60, 497, 272, 491, 571, 147, 539, 492, 541, 493,
- 494, 574, 575, 20, 486, 498, 203, 546, 489, 204,
- 205, 206, 207, 188, 189, 500, 113, 501, 113, 504,
- 499, 588, 505, 510, 438, 511, 513, 113, 595, 515,
- 516, 552, 552, 598, 528, 509, 529, 535, 600, 196,
- 197, 198, 199, 200, 201, 202, 517, 566, 519, 534,
- 203, 609, 540, 204, 205, 206, 207, 543, 542, 242,
- 243, 244, 245, 547, 556, 557, 246, 558, 247, 572,
- 576, 438, 438, 577, 584, 589, 599, 590, 591, 555,
- 594, 603, 607, 248, 538, 110, 592, 560, 436, 563,
- 602, 125, 608, 127, 398, 466, 113, 175, 176, 487,
- 381, 444, 459, 512, 135, 552, 435, 438, 460, 139,
- 521, 545, 359, 145, 450, 0, 154, 285, 0, 159,
- 0, 166, 0, 168, 169, 170, 171, 172, 0, 438,
- -13, 86, 0, 84, 0, 0, 0, 0, 20, 0,
- 18, 84, 0, 19, 0, 438, 20, 410, 118, 21,
- 22, 23, 87, 119, 24, 25, 26, 27, 28, 29,
- 30, 0, 31, 32, 33, 34, 35, 36, 88, 109,
- 89, 90, 91, 37, 38, 92, 93, 94, 95, 96,
- 97, 0, 0, 0, 98, 99, 100, 101, 102, 0,
- 0, 39, 0, 103, 40, 41, 42, 43, 44, 0,
- 0, 45, 46, 47, 48, 49, 50, 51, 0, 0,
- 0, 0, 0, 104, 0, 0, 0, 52, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 284, 0, 53, 54, 0, 55, 0, 56, 57, 0,
- 0, 0, 0, 0, 58, 0, 0, 297, 0, 0,
+ 59, 117, 148, 164, 113, 237, 85, 113, 557, 59,
+ 167, 165, 17, 120, 445, 120, 527, 120, 123, 120,
+ 120, 387, 120, 120, 20, 20, 178, 262, 179, 22,
+ 385, 142, 84, 24, 147, 181, 182, 59, 144, 120,
+ 120, 153, 106, 60, 122, 293, 155, 20, 126, 133,
+ 128, 129, 60, 130, 131, 282, 431, 209, -298, 210,
+ -298, 402, 16, 404, 143, 175, 176, 432, 134, 251,
+ 151, 152, 121, 252, 121, 420, 121, 253, 121, 121,
+ 60, 121, 121, 422, 140, 610, 424, 216, 148, 474,
+ 141, 174, 479, 294, 177, -300, 233, -300, 150, 121,
+ 516, 175, 176, 177, 163, 439, 254, 226, 183, 280,
+ -269, 462, 208, 287, 160, 447, 148, 603, 452, 453,
+ 147, 288, 440, 161, -270, -272, -268, 269, 272, 180,
+ 586, 267, 59, 59, 175, 176, 227, 587, 120, 249,
+ 186, 277, 278, 175, 176, 228, 175, 176, 147, 175,
+ 176, -302, 230, 403, 175, 176, 419, 175, 176, 215,
+ 175, 176, -271, 175, 176, 156, 265, 184, 185, 279,
+ 157, 175, 176, 18, 276, 60, 60, 391, 20, 20,
+ 361, 488, 22, 22, 553, 554, 24, 24, 362, 234,
+ 175, 176, 421, 220, 290, 423, 209, 150, 210, -298,
+ 342, -298, -300, 503, -300, 425, 113, 344, 295, 296,
+ 222, 298, 299, 301, 286, 223, 175, 176, 399, 175,
+ 176, 211, 384, 212, 224, 350, 351, 352, 353, 355,
+ 225, 363, 364, 370, 366, 367, 346, 347, 520, 356,
+ 231, 334, 335, 336, 337, 338, 339, 340, 341, 232,
+ 532, 533, 236, 59, 445, 175, 176, 238, 175, 176,
+ 272, 332, 383, 241, 242, 243, 244, 245, 175, 176,
+ 261, 246, 478, 247, 263, 372, 374, 372, 372, 372,
+ 372, 360, 264, 465, 321, 322, 268, 323, 564, 562,
+ 324, 213, 266, 214, 325, 274, 60, 271, 326, 327,
+ 188, 328, 175, 176, 137, 138, 573, 574, 281, 84,
+ 291, 577, 394, 293, 20, 343, 397, 361, 348, 120,
+ 582, 354, 175, 176, 118, 362, 401, 365, 589, 119,
+ -94, 369, 202, 591, 592, 175, 176, 203, 175, 176,
+ 204, 205, 206, 207, 148, 329, 379, 175, 176, 604,
+ 405, 382, 454, 444, 388, 408, 409, 607, 113, 218,
+ 219, 175, 176, 416, 175, 176, 418, 392, 451, 395,
+ 457, 457, 455, 393, 463, 472, 147, 400, 121, 469,
+ 402, 176, 417, 435, 374, 438, 438, 525, 330, 473,
+ 466, 407, 480, 411, 528, 529, 449, 84, 412, 438,
+ 438, 534, 20, 413, 414, 538, 539, 59, 427, 442,
+ 433, 410, 118, 443, 456, 461, 481, 119, 360, 269,
+ 272, -303, -303, -303, 207, 468, 476, 551, 552, 482,
+ 486, 483, 188, 189, 489, 475, 484, 485, 565, 490,
+ 491, 492, 567, 493, 494, 508, 499, 202, 148, 20,
+ 60, 498, 203, 500, 575, 204, 205, 206, 207, 501,
+ 504, 578, 579, 201, 202, 375, 376, 377, 378, 203,
+ 507, 505, 204, 205, 206, 207, 512, 272, 513, 515,
+ 147, 517, 594, 203, 438, 518, 204, 205, 206, 207,
+ 530, 602, 519, 521, 497, 511, 531, 542, 537, 544,
+ 545, 536, 606, 113, 543, 113, 546, 550, 549, 559,
+ 560, 125, 612, 127, 113, 561, 580, 576, 555, 555,
+ 581, 188, 189, 466, 135, 584, 597, 598, 590, 139,
+ 110, 438, 438, 145, 595, 570, 154, 248, 436, 159,
+ 601, 166, 611, 168, 169, 170, 171, 172, 197, 198,
+ 199, 200, 201, 202, 563, 608, 487, 459, 203, 381,
+ 398, 204, 205, 206, 207, 514, 460, 450, 435, 438,
+ 188, 189, 548, 523, 0, 0, 285, 599, 359, 596,
+ 0, 0, 605, 0, 558, 0, 0, 0, 113, 0,
+ 187, 0, 438, 444, 566, 0, 555, 188, 189, 199,
+ 200, 201, 202, 0, 188, 189, 0, 203, 0, 438,
+ 204, 205, 206, 207, 0, 0, 190, 191, 406, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 0, 0, 0, 0, 203, 0, 202, 204, 205, 206,
+ 207, 203, 0, 0, 204, 205, 206, 207, 0, 0,
+ 284, 1, 2, 3, 4, 5, 6, 7, 0, 242,
+ 243, 244, 245, 0, 0, 0, 246, 297, 247, 0,
0, 0, 0, 302, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, -3, 86, 0, 0, 0, 0,
+ 317, 318, 319, 320, -13, 86, 0, 175, 176, 0,
0, 0, 0, 0, 18, 84, 0, 19, 0, 0,
20, 0, 0, 21, 22, 23, 87, 0, 24, 25,
26, 27, 28, 29, 30, 0, 31, 32, 33, 34,
@@ -685,21 +436,21 @@ static const yytype_int16 yytable[] =
50, 51, 0, 0, 0, 0, 0, 104, 0, 0,
0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 53, 54, 0, 55,
- 86, 56, 57, 0, 0, 0, 0, 0, 58, 18,
- 84, 426, 19, 0, 0, 20, 0, 0, 21, 22,
- 23, 87, 0, 24, 25, 26, 27, 28, 29, 30,
- 0, 31, 32, 33, 34, 35, 36, 88, 109, 89,
- 90, 91, 37, 38, 92, 93, 94, 95, 96, 97,
- 0, 0, 0, 98, 99, 100, 101, 102, 0, 0,
- 39, 0, 103, 40, 41, 42, 43, 44, 0, 0,
- 45, 46, 47, 48, 49, 50, 51, 0, 0, 0,
- 0, 0, 104, 0, 0, 0, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 477, 0, 0, 0,
- 0, 53, 54, 0, 55, 0, 56, 57, 0, 0,
- 0, 0, 0, 58, 0, 0, 86, 0, 0, 0,
- 0, 0, 0, 0, 0, 18, 84, 506, 19, 0,
+ 0, 56, 57, -3, 86, 0, 0, 0, 58, 0,
+ 0, 0, 0, 18, 84, 0, 19, 0, 0, 20,
+ 0, 0, 21, 22, 23, 87, 0, 24, 25, 26,
+ 27, 28, 29, 30, 0, 31, 32, 33, 34, 35,
+ 36, 88, 109, 89, 90, 91, 37, 38, 92, 93,
+ 94, 95, 96, 97, 0, 0, 0, 98, 99, 100,
+ 101, 102, 0, 0, 39, 0, 103, 40, 41, 42,
+ 43, 44, 0, 0, 45, 46, 47, 48, 49, 50,
+ 51, 0, 0, 0, 0, 0, 104, 0, 0, 0,
+ 52, 0, 0, 0, 0, 0, 477, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 54, 0, 55, 0,
+ 56, 57, 0, 0, 0, 0, 86, 58, 0, 0,
+ 0, 0, 0, 0, 0, 18, 84, 426, 19, 0,
0, 20, 0, 0, 21, 22, 23, 87, 0, 24,
- 25, 26, 27, 28, 29, 30, 508, 31, 32, 33,
+ 25, 26, 27, 28, 29, 30, 510, 31, 32, 33,
34, 35, 36, 88, 109, 89, 90, 91, 37, 38,
92, 93, 94, 95, 96, 97, 0, 0, 0, 98,
99, 100, 101, 102, 0, 0, 39, 0, 103, 40,
@@ -707,7 +458,7 @@ static const yytype_int16 yytable[] =
49, 50, 51, 0, 0, 0, 0, 0, 104, 0,
0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 86, 0, 53, 54, 0,
- 55, 0, 56, 57, 18, 84, 564, 19, 0, 58,
+ 55, 0, 56, 57, 18, 84, 506, 19, 0, 58,
20, 0, 0, 21, 22, 23, 87, 0, 24, 25,
26, 27, 28, 29, 30, 0, 31, 32, 33, 34,
35, 36, 88, 109, 89, 90, 91, 37, 38, 92,
@@ -717,7 +468,7 @@ static const yytype_int16 yytable[] =
50, 51, 0, 0, 0, 0, 0, 104, 0, 0,
0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 86, 0, 53, 54, 0, 55,
- 0, 56, 57, 18, 84, 565, 19, 0, 58, 20,
+ 0, 56, 57, 18, 84, 568, 19, 0, 58, 20,
0, 0, 21, 22, 23, 87, 0, 24, 25, 26,
27, 28, 29, 30, 0, 31, 32, 33, 34, 35,
36, 88, 109, 89, 90, 91, 37, 38, 92, 93,
@@ -727,7 +478,7 @@ static const yytype_int16 yytable[] =
51, 0, 0, 0, 0, 0, 104, 0, 0, 0,
52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 86, 0, 53, 54, 0, 55, 0,
- 56, 57, 18, 84, 568, 19, 0, 58, 20, 0,
+ 56, 57, 18, 84, 569, 19, 0, 58, 20, 0,
0, 21, 22, 23, 87, 0, 24, 25, 26, 27,
28, 29, 30, 0, 31, 32, 33, 34, 35, 36,
88, 109, 89, 90, 91, 37, 38, 92, 93, 94,
@@ -737,14 +488,14 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 0, 104, 0, 0, 0, 52,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 86, 0, 53, 54, 0, 55, 0, 56,
- 57, 18, 84, 0, 19, 0, 58, 20, 0, 0,
+ 57, 18, 84, 572, 19, 0, 58, 20, 0, 0,
21, 22, 23, 87, 0, 24, 25, 26, 27, 28,
29, 30, 0, 31, 32, 33, 34, 35, 36, 88,
109, 89, 90, 91, 37, 38, 92, 93, 94, 95,
96, 97, 0, 0, 0, 98, 99, 100, 101, 102,
0, 0, 39, 0, 103, 40, 41, 42, 43, 44,
0, 0, 45, 46, 47, 48, 49, 50, 51, 0,
- 0, 605, 0, 0, 104, 0, 0, 0, 52, 0,
+ 0, 0, 0, 0, 104, 0, 0, 0, 52, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 86, 0, 53, 54, 0, 55, 0, 56, 57,
18, 84, 0, 19, 0, 58, 20, 0, 0, 21,
@@ -754,58 +505,97 @@ static const yytype_int16 yytable[] =
97, 0, 0, 0, 98, 99, 100, 101, 102, 0,
0, 39, 0, 103, 40, 41, 42, 43, 44, 0,
0, 45, 46, 47, 48, 49, 50, 51, 0, 0,
- 0, 0, 0, 104, 0, 0, 0, 52, 0, 0,
+ 609, 0, 0, 104, 0, 0, 0, 52, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86, 0, 53, 54, 0, 55, 0, 56, 57, 18,
84, 0, 19, 0, 58, 20, 0, 0, 21, 22,
23, 87, 0, 24, 25, 26, 27, 28, 29, 30,
- 0, 31, 32, 33, 34, 35, 36, 88, 0, 89,
+ 0, 31, 32, 33, 34, 35, 36, 88, 109, 89,
90, 91, 37, 38, 92, 93, 94, 95, 96, 97,
0, 0, 0, 98, 99, 100, 101, 102, 0, 0,
39, 0, 103, 40, 41, 42, 43, 44, 0, 0,
45, 46, 47, 48, 49, 50, 51, 0, 0, 0,
0, 0, 104, 0, 0, 0, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 86, 0, 0, 0,
- 0, 53, 54, 0, 55, 18, 56, 57, 19, 0,
- 0, 20, 0, 58, 21, 22, 23, -17, 0, 24,
- 25, 26, 27, 28, 29, 30, 0, 31, 32, 33,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
+ 0, 53, 54, 0, 55, 0, 56, 57, 18, 84,
+ 0, 19, 0, 58, 20, 0, 0, 21, 22, 23,
+ 87, 0, 24, 25, 26, 27, 28, 29, 30, 0,
+ 31, 32, 33, 34, 35, 36, 88, 0, 89, 90,
+ 91, 37, 38, 92, 93, 94, 95, 96, 97, 0,
+ 0, 0, 98, 99, 100, 101, 102, 0, 0, 39,
+ 0, 103, 40, 41, 42, 43, 44, 0, 0, 45,
+ 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
+ 0, 104, 0, 0, 0, 52, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
+ 53, 54, 0, 55, 18, 56, 57, 19, 0, 0,
+ 20, 0, 58, 21, 22, 23, -17, 0, 24, 25,
+ 26, 27, 28, 29, 30, 0, 31, 32, 33, 34,
+ 35, 36, 0, 0, 0, 0, 0, 37, 38, 0,
+ 0, 0, 0, 0, 0, 0, 0, 188, 189, 0,
+ 0, 0, 0, 0, 0, 39, 0, 0, 40, 41,
+ 42, 43, 44, 0, 0, 45, 46, 47, 48, 49,
+ 50, 51, 195, 196, 197, 198, 199, 200, 201, 202,
+ 0, 52, 0, 0, 203, 0, 0, 204, 205, 206,
+ 207, 86, 0, 0, 0, 0, 53, 54, 0, 55,
+ 18, 56, 57, 19, 0, 0, 20, 0, 58, 21,
+ 22, 23, 0, 0, 24, 25, 26, 27, 28, 29,
+ 30, 0, 31, 32, 33, 34, 35, 36, 0, 0,
+ 0, 0, 0, 37, 38, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 39, 0, 0, 40, 41, 42, 43, 44, -222,
+ 0, 45, 46, 47, 48, 49, 50, 51, 0, 0,
+ 209, 0, 210, -222, -222, 0, 0, 52, 0, 0,
+ 0, -222, -222, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 53, 54, 0, 55, 0, 56, 57, 0,
+ 0, 0, 0, -17, 58, 0, -222, -222, -222, -222,
+ 0, 0, 0, -222, 0, -222, 0, 0, 0, 0,
+ 0, -222, 0, 0, 0, 0, 0, 0, -222, -222,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -222, 0, 0, -222, -222, 0, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -261, 188, 189, 0, -222, 0, 0, -222, -222,
+ -222, -222, -222, 0, 0, -261, -261, 0, 0, 0,
+ 0, 0, 0, -261, -261, 0, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 0, 0, 0, 0, 203,
+ 0, 0, 204, 205, 206, 207, 0, 0, -261, -261,
+ -261, -261, 0, 0, 0, -261, 0, -261, 0, 0,
+ 0, 0, 0, -261, 0, 0, 0, 0, 0, 0,
+ -261, -261, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -261, 0, 0, -261, -261, 0, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, 0, 0, 0, 0, -261, 0, 0,
+ -261, -261, -261, -261, -261, 18, 84, 0, 19, 0,
+ 0, 20, 0, 0, 21, 22, 23, 0, 0, 24,
+ 25, 146, 27, 28, 29, 30, 119, 31, 32, 33,
34, 35, 36, 0, 0, 0, 0, 0, 37, 38,
- 0, 0, 0, 0, 0, 0, 0, 0, 188, 189,
+ 0, 0, 0, 0, 0, 0, 0, 188, 189, 0,
0, 0, 0, 0, 0, 0, 39, 0, 0, 40,
41, 42, 43, 44, 0, 0, 45, 46, 47, 48,
- 49, 50, 51, 195, 196, 197, 198, 199, 200, 201,
- 202, 0, 52, 0, 0, 203, 0, 0, 204, 205,
- 206, 207, 86, 0, 0, 0, 0, 53, 54, 0,
- 55, 18, 56, 57, 19, 0, 0, 20, 0, 58,
- 21, 22, 23, 0, 0, 24, 25, 26, 27, 28,
- 29, 30, 0, 31, 32, 33, 34, 35, 36, 0,
- 0, 0, 0, 0, 37, 38, 0, 0, 0, 0,
+ 49, 50, 51, 196, 197, 198, 199, 200, 201, 202,
+ 0, 0, 52, 0, 203, 0, 0, 204, 205, 206,
+ 207, 0, 0, 0, 0, 0, 0, 53, 54, 0,
+ 55, 0, 56, 57, 18, 84, 0, 19, 0, 58,
+ 20, 0, 0, 21, 22, 23, 0, 0, 24, 25,
+ 26, 27, 28, 29, 30, 0, 31, 32, 33, 34,
+ 35, 36, 0, 0, 0, 0, 0, 37, 38, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 39, 0, 0, 40, 41,
+ 42, 43, 44, 0, 0, 45, 46, 47, 48, 49,
+ 50, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 54, 0, 55,
+ 18, 56, 57, 19, 0, 0, 20, 0, 58, 21,
+ 22, 23, 0, 0, 24, 25, 26, 27, 28, 29,
+ 30, 0, 31, 32, 33, 34, 35, 36, 0, 0,
+ 0, 0, 0, 37, 38, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 39, 0, 0, 40, 41, 42, 43, 44, 0,
+ 0, 45, 46, 47, 48, 49, 50, 51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 52, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 0, 0, 40, 41, 42, 43, 44,
- -219, 0, 45, 46, 47, 48, 49, 50, 51, 0,
- 0, 209, 0, 210, -219, -219, 0, 0, 52, 0,
- 0, 0, -219, -219, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 53, 54, 0, 55, 0, 56, 57,
- 0, 0, 0, 0, -17, 58, 0, -219, -219, -219,
- -219, 0, 0, 0, -219, 0, -219, 0, 0, 0,
- 0, 0, -219, 0, 0, 0, 0, 0, 0, -219,
- -219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, -219, 0, 0, -219, -219, 0, -219, -219,
- -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
- -219, -219, -258, 188, 189, 0, -219, 0, 0, -219,
- -219, -219, -219, -219, 0, 0, -258, -258, 0, 0,
- 0, 0, 0, 0, -258, -258, 0, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 0, 0, 0, 0,
- 203, 0, 0, 204, 205, 206, 207, 0, 0, -258,
- -258, -258, -258, 0, 0, 0, -258, 0, -258, 0,
- 0, 0, 0, 0, -258, 0, 0, 0, 0, 0,
- 0, -258, -258, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -258, 0, 0, -258, -258, 0,
- -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
- -258, -258, -258, -258, 0, 0, 0, 0, -258, 0,
- 0, -258, -258, -258, -258, -258, 18, 84, 0, 19,
- 0, 0, 20, 0, 0, 21, 22, 23, 0, 0,
- 24, 25, 146, 27, 28, 29, 30, 119, 31, 32,
+ 0, 0, 53, 54, 0, 55, 18, 56, 57, 19,
+ 0, 0, 20, 173, 58, 21, 22, 23, 0, 0,
+ 24, 25, 26, 27, 28, 29, 30, 0, 31, 32,
33, 34, 35, 36, 0, 0, 0, 0, 0, 37,
38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 39, 0, 0,
@@ -813,202 +603,160 @@ static const yytype_int16 yytable[] =
48, 49, 50, 51, 0, 0, 0, 0, 0, 0,
0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 53, 54,
- 0, 55, 0, 56, 57, 18, 84, 0, 19, 0,
- 58, 20, 0, 0, 21, 22, 23, 0, 0, 24,
- 25, 26, 27, 28, 29, 30, 0, 31, 32, 33,
- 34, 35, 36, 0, 0, 0, 0, 0, 37, 38,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 39, 0, 0, 40,
- 41, 42, 43, 44, 0, 0, 45, 46, 47, 48,
- 49, 50, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 53, 54, 0,
- 55, 18, 56, 57, 19, 0, 0, 20, 0, 58,
- 21, 22, 23, 0, 0, 24, 25, 26, 27, 28,
- 29, 30, 0, 31, 32, 33, 34, 35, 36, 0,
- 0, 0, 0, 0, 37, 38, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 0, 0, 40, 41, 42, 43, 44,
- 0, 0, 45, 46, 47, 48, 49, 50, 51, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 52, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 53, 54, 0, 55, 18, 56, 57,
- 19, 0, 0, 20, 173, 58, 21, 22, 23, 0,
- 0, 24, 25, 26, 27, 28, 29, 30, 0, 31,
- 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 39, 0,
- 0, 40, 41, 42, 43, 44, 0, 0, 45, 46,
- 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 52, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
- 54, 0, 55, 18, 56, 57, 19, 0, 0, 20,
- 275, 58, 21, 22, 23, 0, 0, 24, 25, 26,
- 27, 28, 29, 30, 0, 31, 32, 33, 34, 35,
- 36, 0, 0, 0, 0, 0, 37, 38, 0, 0,
+ 0, 55, 18, 56, 57, 19, 0, 0, 20, 275,
+ 58, 21, 22, 23, 0, 0, 24, 25, 26, 27,
+ 28, 29, 30, 0, 31, 32, 33, 34, 35, 36,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 39, 0, 0, 40, 41, 42,
- 43, 44, 0, 0, 45, 46, 47, 48, 49, 50,
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 53, 54, 0, 55, 18,
- 56, 57, 19, 0, 0, 20, 289, 58, 21, 22,
- 23, 0, 0, 24, 25, 26, 27, 28, 29, 30,
- 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
- 0, 0, 37, 38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 39, 0, 0, 40, 41, 42, 43,
+ 44, 0, 0, 45, 46, 47, 48, 49, 50, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 39, 0, 0, 40, 41, 42, 43, 44, 0, 0,
- 45, 46, 47, 48, 49, 50, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
+ 0, 0, 0, 0, 53, 54, 0, 55, 18, 56,
+ 57, 19, 0, 0, 20, 289, 58, 21, 22, 23,
+ 0, 0, 24, 25, 26, 27, 28, 29, 30, 0,
+ 31, 32, 33, 34, 35, 36, 0, 0, 0, 0,
+ 0, 37, 38, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
+ 0, 0, 40, 41, 42, 43, 44, 0, 0, 45,
+ 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 52, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 53, 54, 0, 55, 18, 56, 57, 19, 0,
- 0, 20, 300, 58, 21, 22, 23, 0, 0, 24,
- 25, 26, 27, 28, 29, 30, 0, 31, 32, 33,
- 34, 35, 36, 0, 0, 0, 0, 0, 37, 38,
+ 53, 54, 0, 55, 18, 56, 57, 19, 0, 0,
+ 20, 300, 58, 21, 22, 23, 0, 0, 24, 25,
+ 26, 27, 28, 29, 30, 0, 31, 32, 33, 34,
+ 35, 36, 0, 0, 0, 0, 0, 37, 38, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 39, 0, 0, 40,
- 41, 42, 43, 44, 0, 0, 45, 46, 47, 48,
- 49, 50, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 53, 54, 0,
- 55, 18, 56, 57, 19, 0, 0, 20, 333, 58,
- 21, 22, 23, 0, 0, 24, 25, 26, 27, 28,
- 29, 30, 0, 31, 32, 33, 34, 35, 36, 0,
- 0, 0, 0, 0, 37, 38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 39, 0, 0, 40, 41,
+ 42, 43, 44, 0, 0, 45, 46, 47, 48, 49,
+ 50, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 54, 0, 55,
+ 18, 56, 57, 19, 0, 0, 20, 333, 58, 21,
+ 22, 23, 0, 0, 24, 25, 26, 27, 28, 29,
+ 30, 0, 31, 32, 33, 34, 35, 36, 0, 0,
+ 0, 0, 0, 37, 38, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 0, 0, 40, 41, 42, 43, 44,
- 0, 0, 45, 46, 47, 48, 49, 50, 51, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 52, 0,
+ 0, 39, 0, 0, 40, 41, 42, 43, 44, 0,
+ 0, 45, 46, 47, 48, 49, 50, 51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 52, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 53, 54, 0, 55, 18, 56, 57,
- 19, 0, 0, 20, 396, 58, 21, 22, 23, 0,
- 0, 24, 25, 26, 27, 28, 29, 30, 0, 31,
- 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 39, 0,
- 0, 40, 41, 42, 43, 44, 0, 0, 45, 46,
- 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 52, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
- 54, 0, 55, 18, 56, 57, 19, 0, 0, 20,
- 415, 58, 21, 22, 23, 0, 0, 24, 25, 26,
- 27, 28, 29, 30, 0, 31, 32, 33, 34, 35,
- 36, 0, 0, 0, 0, 0, 37, 38, 0, 0,
+ 0, 0, 53, 54, 0, 55, 18, 56, 57, 19,
+ 0, 0, 20, 396, 58, 21, 22, 23, 0, 0,
+ 24, 25, 26, 27, 28, 29, 30, 0, 31, 32,
+ 33, 34, 35, 36, 0, 0, 0, 0, 0, 37,
+ 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 39, 0, 0,
+ 40, 41, 42, 43, 44, 0, 0, 45, 46, 47,
+ 48, 49, 50, 51, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 53, 54,
+ 0, 55, 18, 56, 57, 19, 0, 0, 20, 415,
+ 58, 21, 22, 23, 0, 0, 24, 25, 26, 27,
+ 28, 29, 30, 0, 31, 32, 33, 34, 35, 36,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 39, 0, 0, 40, 41, 42,
- 43, 44, 0, 0, 45, 46, 47, 48, 49, 50,
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 53, 54, 0, 55, 18,
- 56, 57, 19, 0, 0, 20, 0, 58, 21, 22,
- 23, 0, 0, 24, 25, 26, 27, 28, 29, 30,
- 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
- 0, 0, 37, 38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 39, 0, 0, 40, 41, 42, 43,
+ 44, 0, 0, 45, 46, 47, 48, 49, 50, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 39, 0, 0, 40, 41, 42, 43, 44, 0, 0,
- 45, 46, 47, 48, 49, 50, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 52, 0, 187, 0,
- 0, 0, 0, 0, 0, 188, 189, 0, 0, 0,
- 0, 53, 54, 0, 55, 0, 56, 57, 0, 0,
- 0, 0, 0, 283, 190, 191, 406, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 0, 0,
- 0, 0, 203, 187, 0, 204, 205, 206, 207, 0,
- 188, 189, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 0, 0, 0, 0, 203, 187, 0,
- 204, 205, 206, 207, 0, 188, 189, 0, 0, 0,
+ 0, 0, 0, 0, 53, 54, 0, 55, 18, 56,
+ 57, 19, 0, 0, 20, 0, 58, 21, 22, 23,
+ 0, 0, 24, 25, 26, 27, 28, 29, 30, 0,
+ 31, 32, 33, 34, 35, 36, 0, 0, 0, 0,
+ 0, 37, 38, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
+ 0, 0, 40, 41, 42, 43, 44, 0, 0, 45,
+ 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 187, 52, 0, 0, 0, 0,
+ 0, 188, 189, 0, 0, 0, 0, 0, 0, 0,
+ 53, 54, 0, 55, 0, 56, 57, 0, 0, 0,
+ 190, 191, 283, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 0, 0, 0, 0, 203, 187,
+ 0, 204, 205, 206, 207, 0, 188, 189, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 191, 0, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 0, 0,
- 0, 0, 203, -300, 0, 204, 205, 206, 207, 0,
- 188, 189, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 191, 0, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 0,
+ 0, 0, 0, 203, -303, 0, 204, 205, 206, 207,
+ 0, 188, 189, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 0, 0, 0, 0, 203, 0, 0,
- 204, 205, 206, 207
+ 0, 0, 0, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 0, 0, 0, 0, 203, 0,
+ 0, 204, 205, 206, 207
};
static const yytype_int16 yycheck[] =
{
- 11, 130, 17, 363, 16, 492, 270, 18, 50, 20,
- 19, 22, 44, 24, 25, 10, 27, 28, 12, 14,
- 52, 11, 17, 13, 19, 16, 50, 11, 13, 158,
- 527, 11, 43, 44, 45, 46, 14, 0, 47, 14,
- 22, 14, 22, 353, 81, 14, 13, 29, 104, 44,
- 114, 16, 47, 363, 18, 20, 366, 367, 22, 24,
- 24, 25, 13, 27, 28, 114, 16, 14, 114, 18,
- 20, 20, 15, 22, 24, 24, 25, 114, 27, 28,
- 44, 45, 14, 10, 98, 76, 9, 85, 86, 11,
- 101, 13, 19, 78, 22, 44, 45, 96, 130, 14,
- 587, 50, 114, 600, 22, 11, 14, 85, 86, 114,
- 85, 86, 85, 86, 105, 109, 85, 86, 160, 151,
- 47, 116, 11, 114, 114, 136, 158, 78, 11, 15,
- 13, 58, 143, 142, 143, 130, 160, 23, 85, 86,
- 114, 451, 137, 138, 85, 86, 22, 142, 143, 98,
- 11, 26, 13, 85, 86, 105, 78, 85, 86, 10,
- 11, 84, 13, 158, 114, 16, 430, 85, 86, 20,
- 85, 86, 113, 24, 25, 22, 27, 85, 86, 143,
- 22, 26, 11, 114, 13, 227, 31, 22, 498, 499,
- 47, 48, 49, 50, 143, 78, 22, 54, 10, 56,
- 11, 216, 13, 227, 16, 11, 133, 13, 20, 85,
- 86, 160, 24, 114, 141, 142, 143, 78, 98, 99,
- 71, 216, 217, 487, 534, 11, 114, 238, 85, 86,
- 16, 11, 264, 13, 161, 11, 596, 13, 85, 86,
- 26, 85, 86, 85, 86, 31, 556, 114, 175, 176,
- 114, 178, 179, 180, 263, 11, 113, 386, 207, 85,
- 86, 53, 572, 114, 76, 22, 85, 86, 263, 113,
- 85, 86, 96, 97, 14, 270, 85, 86, 227, 51,
- 52, 208, 209, 210, 211, 212, 213, 214, 215, 218,
- 219, 114, 69, 70, 113, 532, 37, 38, 113, 222,
- 223, 224, 225, 226, 113, 228, 229, 69, 231, 232,
- 81, 548, 549, 324, 113, 242, 243, 244, 245, 246,
- 247, 29, 364, 100, 101, 562, 78, 85, 86, 106,
- 90, 91, 109, 110, 111, 112, 263, 574, 575, 101,
- 364, 85, 86, 113, 106, 22, 78, 109, 110, 111,
- 112, 588, 279, 368, 386, 113, 283, 26, 595, 85,
- 86, 490, 109, 110, 111, 112, 293, 13, 363, 113,
- 69, 70, 16, 368, 26, 324, 20, 69, 70, 114,
- 24, 244, 245, 246, 247, 380, 381, 113, 105, 384,
- 31, 386, 59, 15, 389, 322, 323, 96, 97, 98,
- 99, 100, 101, 330, 29, 12, 355, 106, 417, 101,
- 109, 110, 111, 112, 106, 364, 82, 109, 110, 111,
- 112, 29, 417, 350, 351, 352, 353, 113, 13, 86,
- 69, 70, 25, 25, 429, 430, 363, 493, 494, 366,
- 367, 25, 365, 25, 500, 101, 25, 18, 504, 505,
- 106, 114, 26, 109, 110, 111, 112, 88, 490, 98,
- 99, 100, 101, 114, 387, 114, 113, 106, 524, 525,
- 109, 110, 111, 112, 114, 402, 12, 12, 12, 535,
- 3, 4, 5, 6, 7, 8, 9, 12, 12, 26,
- 417, 440, 487, 113, 550, 490, 511, 113, 513, 113,
- 113, 557, 558, 16, 427, 114, 106, 522, 431, 109,
- 110, 111, 112, 69, 70, 113, 511, 22, 513, 113,
- 443, 577, 113, 82, 451, 11, 11, 522, 584, 12,
- 113, 526, 527, 589, 15, 462, 113, 113, 594, 95,
- 96, 97, 98, 99, 100, 101, 22, 542, 22, 114,
- 106, 607, 113, 109, 110, 111, 112, 22, 80, 47,
- 48, 49, 50, 22, 114, 113, 54, 113, 56, 114,
- 22, 498, 499, 113, 113, 113, 591, 17, 79, 528,
- 113, 60, 113, 109, 507, 13, 581, 533, 351, 538,
- 596, 21, 603, 23, 285, 518, 591, 85, 86, 429,
- 255, 596, 381, 468, 34, 600, 533, 534, 382, 39,
- 488, 518, 227, 43, 364, -1, 46, 160, -1, 49,
- -1, 51, -1, 53, 54, 55, 56, 57, -1, 556,
- 0, 1, -1, 11, -1, -1, -1, -1, 16, -1,
- 10, 11, -1, 13, -1, 572, 16, 25, 26, 19,
- 20, 21, 22, 31, 24, 25, 26, 27, 28, 29,
- 30, -1, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, -1, -1, -1, 54, 55, 56, 57, 58, -1,
- -1, 61, -1, 63, 64, 65, 66, 67, 68, -1,
- -1, 71, 72, 73, 74, 75, 76, 77, -1, -1,
- -1, -1, -1, 83, -1, -1, -1, 87, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 160, -1, 102, 103, -1, 105, -1, 107, 108, -1,
- -1, -1, -1, -1, 114, -1, -1, 177, -1, -1,
+ 10, 17, 44, 50, 14, 104, 11, 17, 529, 19,
+ 52, 50, 9, 18, 363, 20, 492, 22, 19, 24,
+ 25, 270, 27, 28, 16, 16, 11, 130, 13, 20,
+ 14, 81, 11, 24, 44, 98, 99, 47, 43, 44,
+ 45, 46, 12, 10, 18, 13, 47, 16, 22, 13,
+ 24, 25, 19, 27, 28, 158, 11, 11, 11, 13,
+ 13, 13, 0, 14, 114, 85, 86, 22, 114, 16,
+ 44, 45, 18, 20, 20, 14, 22, 24, 24, 25,
+ 47, 27, 28, 14, 114, 606, 14, 84, 130, 14,
+ 114, 58, 14, 113, 15, 11, 101, 13, 44, 45,
+ 14, 85, 86, 15, 50, 353, 116, 76, 98, 151,
+ 78, 23, 114, 160, 105, 363, 158, 593, 366, 367,
+ 130, 160, 114, 114, 78, 78, 78, 137, 138, 114,
+ 22, 136, 142, 143, 85, 86, 105, 29, 143, 109,
+ 96, 142, 143, 85, 86, 114, 85, 86, 158, 85,
+ 86, 11, 98, 22, 85, 86, 22, 85, 86, 11,
+ 85, 86, 78, 85, 86, 26, 133, 96, 97, 143,
+ 31, 85, 86, 10, 141, 142, 143, 113, 16, 16,
+ 227, 430, 20, 20, 51, 52, 24, 24, 227, 11,
+ 85, 86, 22, 26, 161, 22, 11, 143, 13, 11,
+ 216, 13, 11, 451, 13, 22, 216, 217, 175, 176,
+ 114, 178, 179, 180, 160, 114, 85, 86, 113, 85,
+ 86, 11, 264, 13, 114, 222, 223, 224, 225, 226,
+ 114, 228, 229, 238, 231, 232, 218, 219, 487, 76,
+ 114, 208, 209, 210, 211, 212, 213, 214, 215, 114,
+ 498, 499, 22, 263, 603, 85, 86, 53, 85, 86,
+ 270, 207, 263, 22, 47, 48, 49, 50, 85, 86,
+ 14, 54, 22, 56, 114, 242, 243, 244, 245, 246,
+ 247, 227, 81, 386, 10, 11, 29, 13, 536, 534,
+ 16, 11, 113, 13, 20, 113, 263, 78, 24, 25,
+ 69, 27, 85, 86, 37, 38, 551, 552, 22, 11,
+ 78, 559, 279, 13, 16, 26, 283, 364, 26, 324,
+ 565, 105, 85, 86, 26, 364, 293, 114, 576, 31,
+ 113, 59, 101, 578, 579, 85, 86, 106, 85, 86,
+ 109, 110, 111, 112, 386, 71, 31, 85, 86, 594,
+ 113, 15, 368, 363, 29, 322, 323, 602, 368, 90,
+ 91, 85, 86, 330, 85, 86, 113, 82, 365, 12,
+ 380, 381, 369, 113, 384, 113, 386, 29, 324, 389,
+ 13, 86, 114, 350, 351, 352, 353, 490, 114, 113,
+ 387, 25, 113, 25, 493, 494, 363, 11, 25, 366,
+ 367, 500, 16, 25, 25, 504, 505, 417, 18, 355,
+ 26, 25, 26, 114, 88, 113, 417, 31, 364, 429,
+ 430, 109, 110, 111, 112, 114, 12, 526, 527, 12,
+ 427, 12, 69, 70, 431, 402, 12, 12, 537, 26,
+ 113, 113, 541, 113, 113, 455, 443, 101, 490, 16,
+ 417, 114, 106, 113, 553, 109, 110, 111, 112, 22,
+ 113, 560, 561, 100, 101, 244, 245, 246, 247, 106,
+ 114, 113, 109, 110, 111, 112, 82, 487, 11, 11,
+ 490, 12, 581, 106, 451, 113, 109, 110, 111, 112,
+ 15, 590, 22, 22, 440, 462, 113, 513, 113, 515,
+ 80, 114, 601, 513, 113, 515, 22, 22, 524, 114,
+ 113, 21, 611, 23, 524, 113, 22, 114, 528, 529,
+ 113, 69, 70, 520, 34, 60, 17, 79, 113, 39,
+ 13, 498, 499, 43, 113, 545, 46, 109, 351, 49,
+ 113, 51, 113, 53, 54, 55, 56, 57, 96, 97,
+ 98, 99, 100, 101, 535, 603, 429, 381, 106, 255,
+ 285, 109, 110, 111, 112, 468, 382, 364, 535, 536,
+ 69, 70, 520, 488, -1, -1, 160, 587, 227, 584,
+ -1, -1, 598, -1, 530, -1, -1, -1, 598, -1,
+ 62, -1, 559, 603, 540, -1, 606, 69, 70, 98,
+ 99, 100, 101, -1, 69, 70, -1, 106, -1, 576,
+ 109, 110, 111, 112, -1, -1, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ -1, -1, -1, -1, 106, -1, 101, 109, 110, 111,
+ 112, 106, -1, -1, 109, 110, 111, 112, -1, -1,
+ 160, 3, 4, 5, 6, 7, 8, 9, -1, 47,
+ 48, 49, 50, -1, -1, -1, 54, 177, 56, -1,
-1, -1, -1, 183, -1, -1, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 0, 1, -1, -1, -1, -1,
+ 200, 201, 202, 203, 0, 1, -1, 85, 86, -1,
-1, -1, -1, -1, 10, 11, -1, 13, -1, -1,
16, -1, -1, 19, 20, 21, 22, -1, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, 35,
@@ -1019,18 +767,18 @@ static const yytype_int16 yycheck[] =
76, 77, -1, -1, -1, -1, -1, 83, -1, -1,
-1, 87, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 102, 103, -1, 105,
- 1, 107, 108, -1, -1, -1, -1, -1, 114, 10,
- 11, 12, 13, -1, -1, 16, -1, -1, 19, 20,
- 21, 22, -1, 24, 25, 26, 27, 28, 29, 30,
- -1, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- -1, -1, -1, 54, 55, 56, 57, 58, -1, -1,
- 61, -1, 63, 64, 65, 66, 67, 68, -1, -1,
- 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
- -1, -1, 83, -1, -1, -1, 87, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 406, -1, -1, -1,
- -1, 102, 103, -1, 105, -1, 107, 108, -1, -1,
- -1, -1, -1, 114, -1, -1, 1, -1, -1, -1,
+ -1, 107, 108, 0, 1, -1, -1, -1, 114, -1,
+ -1, -1, -1, 10, 11, -1, 13, -1, -1, 16,
+ -1, -1, 19, 20, 21, 22, -1, 24, 25, 26,
+ 27, 28, 29, 30, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, -1, -1, -1, 54, 55, 56,
+ 57, 58, -1, -1, 61, -1, 63, 64, 65, 66,
+ 67, 68, -1, -1, 71, 72, 73, 74, 75, 76,
+ 77, -1, -1, -1, -1, -1, 83, -1, -1, -1,
+ 87, -1, -1, -1, -1, -1, 406, -1, -1, -1,
+ -1, -1, -1, -1, -1, 102, 103, -1, 105, -1,
+ 107, 108, -1, -1, -1, -1, 1, 114, -1, -1,
-1, -1, -1, -1, -1, 10, 11, 12, 13, -1,
-1, 16, -1, -1, 19, 20, 21, 22, -1, 24,
25, 26, 27, 28, 29, 30, 456, 32, 33, 34,
@@ -1071,14 +819,14 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, 83, -1, -1, -1, 87,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1, -1, 102, 103, -1, 105, -1, 107,
- 108, 10, 11, -1, 13, -1, 114, 16, -1, -1,
+ 108, 10, 11, 12, 13, -1, 114, 16, -1, -1,
19, 20, 21, 22, -1, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, -1, -1, 54, 55, 56, 57, 58,
-1, -1, 61, -1, 63, 64, 65, 66, 67, 68,
-1, -1, 71, 72, 73, 74, 75, 76, 77, -1,
- -1, 80, -1, -1, 83, -1, -1, -1, 87, -1,
+ -1, -1, -1, -1, 83, -1, -1, -1, 87, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1, -1, 102, 103, -1, 105, -1, 107, 108,
10, 11, -1, 13, -1, 114, 16, -1, -1, 19,
@@ -1088,58 +836,97 @@ static const yytype_int16 yycheck[] =
50, -1, -1, -1, 54, 55, 56, 57, 58, -1,
-1, 61, -1, 63, 64, 65, 66, 67, 68, -1,
-1, 71, 72, 73, 74, 75, 76, 77, -1, -1,
- -1, -1, -1, 83, -1, -1, -1, 87, -1, -1,
+ 80, -1, -1, 83, -1, -1, -1, 87, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1, -1, 102, 103, -1, 105, -1, 107, 108, 10,
11, -1, 13, -1, 114, 16, -1, -1, 19, 20,
21, 22, -1, 24, 25, 26, 27, 28, 29, 30,
- -1, 32, 33, 34, 35, 36, 37, 38, -1, 40,
+ -1, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, -1, -1, 54, 55, 56, 57, 58, -1, -1,
61, -1, 63, 64, 65, 66, 67, 68, -1, -1,
71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
-1, -1, 83, -1, -1, -1, 87, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1, -1, -1, -1,
- -1, 102, 103, -1, 105, 10, 107, 108, 13, -1,
- -1, 16, -1, 114, 19, 20, 21, 22, -1, 24,
- 25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
+ -1, 102, 103, -1, 105, -1, 107, 108, 10, 11,
+ -1, 13, -1, 114, 16, -1, -1, 19, 20, 21,
+ 22, -1, 24, 25, 26, 27, 28, 29, 30, -1,
+ 32, 33, 34, 35, 36, 37, 38, -1, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
+ -1, -1, 54, 55, 56, 57, 58, -1, -1, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, -1, 71,
+ 72, 73, 74, 75, 76, 77, -1, -1, -1, -1,
+ -1, 83, -1, -1, -1, 87, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1, -1, -1, -1, -1,
+ 102, 103, -1, 105, 10, 107, 108, 13, -1, -1,
+ 16, -1, 114, 19, 20, 21, 22, -1, 24, 25,
+ 26, 27, 28, 29, 30, -1, 32, 33, 34, 35,
+ 36, 37, -1, -1, -1, -1, -1, 43, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, 69, 70, -1,
+ -1, -1, -1, -1, -1, 61, -1, -1, 64, 65,
+ 66, 67, 68, -1, -1, 71, 72, 73, 74, 75,
+ 76, 77, 94, 95, 96, 97, 98, 99, 100, 101,
+ -1, 87, -1, -1, 106, -1, -1, 109, 110, 111,
+ 112, 1, -1, -1, -1, -1, 102, 103, -1, 105,
+ 10, 107, 108, 13, -1, -1, 16, -1, 114, 19,
+ 20, 21, -1, -1, 24, 25, 26, 27, 28, 29,
+ 30, -1, 32, 33, 34, 35, 36, 37, -1, -1,
+ -1, -1, -1, 43, 44, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 61, -1, -1, 64, 65, 66, 67, 68, 0,
+ -1, 71, 72, 73, 74, 75, 76, 77, -1, -1,
+ 11, -1, 13, 14, 15, -1, -1, 87, -1, -1,
+ -1, 22, 23, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 102, 103, -1, 105, -1, 107, 108, -1,
+ -1, -1, -1, 113, 114, -1, 47, 48, 49, 50,
+ -1, -1, -1, 54, -1, 56, -1, -1, -1, -1,
+ -1, 62, -1, -1, -1, -1, -1, -1, 69, 70,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, -1, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 0, 69, 70, -1, 106, -1, -1, 109, 110,
+ 111, 112, 113, -1, -1, 14, 15, -1, -1, -1,
+ -1, -1, -1, 22, 23, -1, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, -1, -1, -1, -1, 106,
+ -1, -1, 109, 110, 111, 112, -1, -1, 47, 48,
+ 49, 50, -1, -1, -1, 54, -1, 56, -1, -1,
+ -1, -1, -1, 62, -1, -1, -1, -1, -1, -1,
+ 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 82, -1, -1, 85, 86, -1, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, -1, -1, -1, -1, 106, -1, -1,
+ 109, 110, 111, 112, 113, 10, 11, -1, 13, -1,
+ -1, 16, -1, -1, 19, 20, 21, -1, -1, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, -1, -1, -1, -1, -1, 43, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, 69, 70,
+ -1, -1, -1, -1, -1, -1, -1, 69, 70, -1,
-1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
65, 66, 67, 68, -1, -1, 71, 72, 73, 74,
- 75, 76, 77, 94, 95, 96, 97, 98, 99, 100,
- 101, -1, 87, -1, -1, 106, -1, -1, 109, 110,
- 111, 112, 1, -1, -1, -1, -1, 102, 103, -1,
- 105, 10, 107, 108, 13, -1, -1, 16, -1, 114,
- 19, 20, 21, -1, -1, 24, 25, 26, 27, 28,
- 29, 30, -1, 32, 33, 34, 35, 36, 37, -1,
- -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
+ 75, 76, 77, 95, 96, 97, 98, 99, 100, 101,
+ -1, -1, 87, -1, 106, -1, -1, 109, 110, 111,
+ 112, -1, -1, -1, -1, -1, -1, 102, 103, -1,
+ 105, -1, 107, 108, 10, 11, -1, 13, -1, 114,
+ 16, -1, -1, 19, 20, 21, -1, -1, 24, 25,
+ 26, 27, 28, 29, 30, -1, 32, 33, 34, 35,
+ 36, 37, -1, -1, -1, -1, -1, 43, 44, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 61, -1, -1, 64, 65, 66, 67, 68,
- 0, -1, 71, 72, 73, 74, 75, 76, 77, -1,
- -1, 11, -1, 13, 14, 15, -1, -1, 87, -1,
- -1, -1, 22, 23, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 102, 103, -1, 105, -1, 107, 108,
- -1, -1, -1, -1, 113, 114, -1, 47, 48, 49,
- 50, -1, -1, -1, 54, -1, 56, -1, -1, -1,
- -1, -1, 62, -1, -1, -1, -1, -1, -1, 69,
- 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 82, -1, -1, 85, 86, -1, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 0, 69, 70, -1, 106, -1, -1, 109,
- 110, 111, 112, 113, -1, -1, 14, 15, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
- 106, -1, -1, 109, 110, 111, 112, -1, -1, 47,
- 48, 49, 50, -1, -1, -1, 54, -1, 56, -1,
- -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
- -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, -1,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, -1, -1, -1, -1, 106, -1,
- -1, 109, 110, 111, 112, 113, 10, 11, -1, 13,
- -1, -1, 16, -1, -1, 19, 20, 21, -1, -1,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ -1, -1, -1, -1, -1, 61, -1, -1, 64, 65,
+ 66, 67, 68, -1, -1, 71, 72, 73, 74, 75,
+ 76, 77, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 87, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 102, 103, -1, 105,
+ 10, 107, 108, 13, -1, -1, 16, -1, 114, 19,
+ 20, 21, -1, -1, 24, 25, 26, 27, 28, 29,
+ 30, -1, 32, 33, 34, 35, 36, 37, -1, -1,
+ -1, -1, -1, 43, 44, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 61, -1, -1, 64, 65, 66, 67, 68, -1,
+ -1, 71, 72, 73, 74, 75, 76, 77, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 87, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 102, 103, -1, 105, 10, 107, 108, 13,
+ -1, -1, 16, 113, 114, 19, 20, 21, -1, -1,
+ 24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, 35, 36, 37, -1, -1, -1, -1, -1, 43,
44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 61, -1, -1,
@@ -1147,120 +934,86 @@ static const yytype_int16 yycheck[] =
74, 75, 76, 77, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 87, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 102, 103,
- -1, 105, -1, 107, 108, 10, 11, -1, 13, -1,
- 114, 16, -1, -1, 19, 20, 21, -1, -1, 24,
- 25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
- 35, 36, 37, -1, -1, -1, -1, -1, 43, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
- 65, 66, 67, 68, -1, -1, 71, 72, 73, 74,
- 75, 76, 77, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 87, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 102, 103, -1,
- 105, 10, 107, 108, 13, -1, -1, 16, -1, 114,
- 19, 20, 21, -1, -1, 24, 25, 26, 27, 28,
- 29, 30, -1, 32, 33, 34, 35, 36, 37, -1,
- -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 61, -1, -1, 64, 65, 66, 67, 68,
- -1, -1, 71, 72, 73, 74, 75, 76, 77, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 87, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 102, 103, -1, 105, 10, 107, 108,
- 13, -1, -1, 16, 113, 114, 19, 20, 21, -1,
- -1, 24, 25, 26, 27, 28, 29, 30, -1, 32,
- 33, 34, 35, 36, 37, -1, -1, -1, -1, -1,
- 43, 44, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 61, -1,
- -1, 64, 65, 66, 67, 68, -1, -1, 71, 72,
- 73, 74, 75, 76, 77, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 87, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 102,
- 103, -1, 105, 10, 107, 108, 13, -1, -1, 16,
- 113, 114, 19, 20, 21, -1, -1, 24, 25, 26,
- 27, 28, 29, 30, -1, 32, 33, 34, 35, 36,
- 37, -1, -1, -1, -1, -1, 43, 44, -1, -1,
+ -1, 105, 10, 107, 108, 13, -1, -1, 16, 113,
+ 114, 19, 20, 21, -1, -1, 24, 25, 26, 27,
+ 28, 29, 30, -1, 32, 33, 34, 35, 36, 37,
+ -1, -1, -1, -1, -1, 43, 44, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 61, -1, -1, 64, 65, 66,
- 67, 68, -1, -1, 71, 72, 73, 74, 75, 76,
- 77, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 102, 103, -1, 105, 10,
- 107, 108, 13, -1, -1, 16, 113, 114, 19, 20,
- 21, -1, -1, 24, 25, 26, 27, 28, 29, 30,
- -1, 32, 33, 34, 35, 36, 37, -1, -1, -1,
- -1, -1, 43, 44, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 61, -1, -1, 64, 65, 66, 67,
+ 68, -1, -1, 71, 72, 73, 74, 75, 76, 77,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 61, -1, -1, 64, 65, 66, 67, 68, -1, -1,
- 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 87, -1, -1, -1,
+ -1, -1, -1, -1, 102, 103, -1, 105, 10, 107,
+ 108, 13, -1, -1, 16, 113, 114, 19, 20, 21,
+ -1, -1, 24, 25, 26, 27, 28, 29, 30, -1,
+ 32, 33, 34, 35, 36, 37, -1, -1, -1, -1,
+ -1, 43, 44, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
+ -1, -1, 64, 65, 66, 67, 68, -1, -1, 71,
+ 72, 73, 74, 75, 76, 77, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 87, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 102, 103, -1, 105, 10, 107, 108, 13, -1,
- -1, 16, 113, 114, 19, 20, 21, -1, -1, 24,
- 25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
- 35, 36, 37, -1, -1, -1, -1, -1, 43, 44,
+ 102, 103, -1, 105, 10, 107, 108, 13, -1, -1,
+ 16, 113, 114, 19, 20, 21, -1, -1, 24, 25,
+ 26, 27, 28, 29, 30, -1, 32, 33, 34, 35,
+ 36, 37, -1, -1, -1, -1, -1, 43, 44, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
- 65, 66, 67, 68, -1, -1, 71, 72, 73, 74,
- 75, 76, 77, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 87, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 102, 103, -1,
- 105, 10, 107, 108, 13, -1, -1, 16, 113, 114,
- 19, 20, 21, -1, -1, 24, 25, 26, 27, 28,
- 29, 30, -1, 32, 33, 34, 35, 36, 37, -1,
- -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 61, -1, -1, 64, 65,
+ 66, 67, 68, -1, -1, 71, 72, 73, 74, 75,
+ 76, 77, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 87, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 102, 103, -1, 105,
+ 10, 107, 108, 13, -1, -1, 16, 113, 114, 19,
+ 20, 21, -1, -1, 24, 25, 26, 27, 28, 29,
+ 30, -1, 32, 33, 34, 35, 36, 37, -1, -1,
+ -1, -1, -1, 43, 44, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 61, -1, -1, 64, 65, 66, 67, 68,
- -1, -1, 71, 72, 73, 74, 75, 76, 77, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 87, -1,
+ -1, 61, -1, -1, 64, 65, 66, 67, 68, -1,
+ -1, 71, 72, 73, 74, 75, 76, 77, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 87, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 102, 103, -1, 105, 10, 107, 108,
- 13, -1, -1, 16, 113, 114, 19, 20, 21, -1,
- -1, 24, 25, 26, 27, 28, 29, 30, -1, 32,
- 33, 34, 35, 36, 37, -1, -1, -1, -1, -1,
- 43, 44, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 61, -1,
- -1, 64, 65, 66, 67, 68, -1, -1, 71, 72,
- 73, 74, 75, 76, 77, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 87, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 102,
- 103, -1, 105, 10, 107, 108, 13, -1, -1, 16,
- 113, 114, 19, 20, 21, -1, -1, 24, 25, 26,
- 27, 28, 29, 30, -1, 32, 33, 34, 35, 36,
- 37, -1, -1, -1, -1, -1, 43, 44, -1, -1,
+ -1, -1, 102, 103, -1, 105, 10, 107, 108, 13,
+ -1, -1, 16, 113, 114, 19, 20, 21, -1, -1,
+ 24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
+ 34, 35, 36, 37, -1, -1, -1, -1, -1, 43,
+ 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 61, -1, -1,
+ 64, 65, 66, 67, 68, -1, -1, 71, 72, 73,
+ 74, 75, 76, 77, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 87, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 102, 103,
+ -1, 105, 10, 107, 108, 13, -1, -1, 16, 113,
+ 114, 19, 20, 21, -1, -1, 24, 25, 26, 27,
+ 28, 29, 30, -1, 32, 33, 34, 35, 36, 37,
+ -1, -1, -1, -1, -1, 43, 44, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 61, -1, -1, 64, 65, 66,
- 67, 68, -1, -1, 71, 72, 73, 74, 75, 76,
- 77, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 102, 103, -1, 105, 10,
- 107, 108, 13, -1, -1, 16, -1, 114, 19, 20,
- 21, -1, -1, 24, 25, 26, 27, 28, 29, 30,
- -1, 32, 33, 34, 35, 36, 37, -1, -1, -1,
- -1, -1, 43, 44, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 61, -1, -1, 64, 65, 66, 67,
+ 68, -1, -1, 71, 72, 73, 74, 75, 76, 77,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 61, -1, -1, 64, 65, 66, 67, 68, -1, -1,
- 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 87, -1, 62, -1,
- -1, -1, -1, -1, -1, 69, 70, -1, -1, -1,
- -1, 102, 103, -1, 105, -1, 107, 108, -1, -1,
- -1, -1, -1, 114, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, -1, -1,
- -1, -1, 106, 62, -1, 109, 110, 111, 112, -1,
- 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, -1, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, -1, -1, -1, -1, 106, 62, -1,
- 109, 110, 111, 112, -1, 69, 70, -1, -1, -1,
+ -1, -1, -1, -1, 102, 103, -1, 105, 10, 107,
+ 108, 13, -1, -1, 16, -1, 114, 19, 20, 21,
+ -1, -1, 24, 25, 26, 27, 28, 29, 30, -1,
+ 32, 33, 34, 35, 36, 37, -1, -1, -1, -1,
+ -1, 43, 44, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
+ -1, -1, 64, 65, 66, 67, 68, -1, -1, 71,
+ 72, 73, 74, 75, 76, 77, -1, -1, -1, -1,
+ -1, -1, -1, -1, 62, 87, -1, -1, -1, -1,
+ -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
+ 102, 103, -1, 105, -1, 107, 108, -1, -1, -1,
+ 88, 89, 114, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, -1, -1, -1, -1, 106, 62,
+ -1, 109, 110, 111, 112, -1, 69, 70, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 89, -1, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, -1, -1,
- -1, -1, 106, 62, -1, 109, 110, 111, 112, -1,
- 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 89, -1, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, -1,
+ -1, -1, -1, 106, 62, -1, 109, 110, 111, 112,
+ -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, -1, -1, -1, -1, 106, -1, -1,
- 109, 110, 111, 112
+ -1, -1, -1, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, -1, -1, -1, -1, 106, -1,
+ -1, 109, 110, 111, 112
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1273,61 +1026,62 @@ static const yytype_uint8 yystos[] =
30, 32, 33, 34, 35, 36, 37, 43, 44, 61,
64, 65, 66, 67, 68, 71, 72, 73, 74, 75,
76, 77, 87, 102, 103, 105, 107, 108, 114, 125,
- 181, 182, 183, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 197, 200, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 11, 124, 1, 22, 38, 40,
+ 183, 184, 185, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 199, 202, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 11, 124, 1, 22, 38, 40,
41, 42, 45, 46, 47, 48, 49, 50, 54, 55,
- 56, 57, 58, 63, 83, 124, 134, 147, 181, 39,
- 132, 133, 134, 125, 130, 175, 176, 130, 26, 31,
- 124, 209, 217, 200, 217, 195, 217, 195, 217, 217,
- 217, 217, 196, 13, 114, 195, 159, 159, 159, 195,
- 114, 114, 81, 114, 124, 195, 26, 125, 182, 199,
- 209, 217, 217, 124, 195, 200, 26, 31, 161, 195,
- 105, 114, 198, 209, 210, 211, 195, 182, 195, 195,
- 195, 195, 195, 113, 181, 85, 86, 15, 11, 13,
+ 56, 57, 58, 63, 83, 124, 137, 149, 183, 39,
+ 135, 136, 137, 125, 133, 177, 178, 133, 26, 31,
+ 124, 211, 219, 202, 219, 197, 219, 197, 219, 219,
+ 219, 219, 198, 13, 114, 197, 161, 161, 161, 197,
+ 114, 114, 81, 114, 124, 197, 26, 125, 184, 201,
+ 211, 219, 219, 124, 197, 202, 26, 31, 163, 197,
+ 105, 114, 200, 211, 212, 213, 197, 184, 197, 197,
+ 197, 197, 197, 113, 183, 85, 86, 15, 11, 13,
114, 98, 99, 98, 96, 97, 96, 62, 69, 70,
88, 89, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 106, 109, 110, 111, 112, 114, 11,
- 13, 11, 13, 11, 13, 11, 127, 160, 161, 161,
- 26, 158, 114, 114, 114, 114, 76, 105, 114, 207,
- 209, 114, 114, 124, 11, 128, 22, 128, 53, 125,
- 149, 22, 47, 48, 49, 50, 54, 56, 133, 134,
- 132, 16, 20, 24, 125, 166, 167, 169, 170, 171,
- 172, 14, 199, 114, 81, 181, 113, 124, 29, 125,
- 162, 78, 125, 163, 113, 113, 181, 200, 200, 217,
- 182, 22, 199, 114, 195, 198, 209, 210, 211, 113,
- 181, 78, 164, 13, 113, 181, 181, 195, 181, 181,
- 113, 181, 195, 195, 195, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
- 195, 10, 11, 13, 16, 20, 24, 25, 27, 71,
- 114, 185, 209, 113, 181, 181, 181, 181, 181, 181,
- 181, 181, 130, 26, 125, 157, 158, 158, 26, 137,
- 127, 127, 127, 127, 105, 127, 76, 205, 206, 208,
- 209, 210, 211, 127, 127, 114, 127, 127, 129, 59,
- 124, 146, 181, 154, 181, 146, 146, 146, 146, 31,
- 165, 165, 15, 200, 182, 14, 184, 163, 29, 127,
- 180, 113, 82, 113, 181, 12, 113, 181, 164, 113,
- 29, 181, 13, 22, 14, 113, 90, 25, 181, 181,
- 25, 25, 25, 25, 25, 113, 181, 114, 113, 22,
- 14, 22, 14, 22, 14, 22, 12, 18, 126, 135,
- 136, 11, 22, 26, 153, 181, 154, 155, 181, 155,
- 114, 202, 209, 114, 125, 147, 152, 155, 156, 181,
- 205, 127, 155, 155, 130, 114, 88, 125, 168, 168,
- 170, 113, 23, 125, 201, 199, 127, 178, 114, 125,
- 173, 174, 113, 113, 14, 181, 12, 195, 22, 14,
- 113, 200, 12, 12, 12, 12, 127, 162, 163, 127,
- 26, 113, 113, 113, 113, 203, 204, 209, 114, 127,
- 113, 22, 140, 155, 113, 113, 12, 141, 195, 181,
- 82, 11, 175, 11, 14, 12, 113, 22, 163, 22,
- 179, 180, 143, 199, 151, 151, 128, 128, 15, 113,
- 155, 155, 128, 138, 114, 113, 128, 128, 127, 130,
- 113, 130, 80, 22, 177, 178, 130, 22, 128, 128,
- 51, 52, 125, 148, 148, 209, 114, 113, 113, 149,
- 153, 155, 128, 209, 12, 12, 125, 131, 12, 149,
- 149, 128, 114, 155, 128, 128, 22, 113, 149, 142,
- 22, 29, 144, 155, 113, 149, 149, 139, 128, 113,
- 17, 79, 125, 145, 113, 128, 151, 149, 128, 130,
- 128, 149, 156, 60, 150, 80, 148, 113, 124, 128
+ 13, 11, 13, 11, 13, 11, 127, 162, 163, 163,
+ 26, 160, 114, 114, 114, 114, 76, 105, 114, 209,
+ 211, 114, 114, 124, 11, 128, 22, 128, 53, 125,
+ 151, 22, 47, 48, 49, 50, 54, 56, 136, 137,
+ 135, 16, 20, 24, 125, 168, 169, 171, 172, 173,
+ 174, 14, 201, 114, 81, 183, 113, 124, 29, 125,
+ 164, 78, 125, 165, 113, 113, 183, 202, 202, 219,
+ 184, 22, 201, 114, 197, 200, 211, 212, 213, 113,
+ 183, 78, 166, 13, 113, 183, 183, 197, 183, 183,
+ 113, 183, 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 10, 11, 13, 16, 20, 24, 25, 27, 71,
+ 114, 187, 211, 113, 183, 183, 183, 183, 183, 183,
+ 183, 183, 133, 26, 125, 159, 160, 160, 26, 140,
+ 127, 127, 127, 127, 105, 127, 76, 207, 208, 210,
+ 211, 212, 213, 127, 127, 114, 127, 127, 129, 59,
+ 124, 148, 183, 156, 183, 148, 148, 148, 148, 31,
+ 167, 167, 15, 202, 184, 14, 186, 165, 29, 127,
+ 182, 113, 82, 113, 183, 12, 113, 183, 166, 113,
+ 29, 183, 13, 22, 14, 113, 90, 25, 183, 183,
+ 25, 25, 25, 25, 25, 113, 183, 114, 113, 22,
+ 14, 22, 14, 22, 14, 22, 12, 18, 126, 138,
+ 139, 11, 22, 26, 155, 183, 156, 157, 183, 157,
+ 114, 204, 211, 114, 125, 149, 154, 157, 158, 183,
+ 207, 127, 157, 157, 133, 127, 88, 125, 170, 170,
+ 172, 113, 23, 125, 203, 201, 127, 180, 114, 125,
+ 175, 176, 113, 113, 14, 183, 12, 197, 22, 14,
+ 113, 202, 12, 12, 12, 12, 127, 164, 165, 127,
+ 26, 113, 113, 113, 113, 205, 206, 211, 114, 127,
+ 113, 22, 143, 157, 113, 113, 12, 114, 125, 130,
+ 197, 183, 82, 11, 177, 11, 14, 12, 113, 22,
+ 165, 22, 181, 182, 145, 201, 153, 153, 128, 128,
+ 15, 113, 157, 157, 128, 141, 114, 113, 128, 128,
+ 131, 144, 133, 113, 133, 80, 22, 179, 180, 133,
+ 22, 128, 128, 51, 52, 125, 150, 150, 211, 114,
+ 113, 113, 151, 155, 157, 128, 211, 128, 12, 12,
+ 125, 134, 12, 151, 151, 128, 114, 157, 128, 128,
+ 22, 113, 151, 132, 60, 152, 22, 29, 146, 157,
+ 113, 151, 151, 142, 128, 113, 124, 17, 79, 125,
+ 147, 113, 128, 153, 151, 133, 128, 151, 158, 80,
+ 150, 113, 128
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1335,71 +1089,71 @@ static const yytype_uint8 yyr1[] =
{
0, 115, 117, 116, 118, 116, 119, 116, 120, 116,
121, 116, 122, 116, 123, 116, 124, 125, 126, 127,
- 128, 129, 130, 130, 131, 131, 132, 132, 133, 133,
- 134, 134, 135, 134, 136, 134, 134, 137, 134, 134,
- 134, 134, 134, 134, 134, 134, 138, 139, 134, 134,
- 134, 134, 140, 134, 134, 134, 141, 142, 134, 134,
- 143, 134, 134, 134, 134, 134, 144, 145, 145, 146,
- 147, 147, 147, 147, 147, 147, 147, 147, 148, 148,
- 148, 149, 149, 150, 150, 151, 152, 152, 153, 153,
- 154, 155, 156, 157, 157, 158, 159, 160, 161, 161,
- 162, 162, 163, 163, 163, 164, 164, 165, 165, 166,
- 166, 167, 168, 168, 168, 169, 170, 170, 171, 171,
- 171, 172, 172, 173, 173, 174, 176, 175, 177, 177,
- 178, 179, 179, 180, 181, 181, 181, 182, 182, 182,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 184,
- 183, 185, 185, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 187, 187, 187,
- 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
- 187, 188, 188, 188, 188, 189, 189, 190, 190, 190,
- 190, 191, 191, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 193, 193, 193, 193, 194, 194, 195, 195,
- 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 196, 195, 195, 195,
- 195, 197, 197, 197, 197, 198, 198, 198, 198, 198,
- 199, 199, 200, 200, 201, 201, 202, 203, 203, 203,
- 204, 205, 205, 205, 206, 206, 207, 207, 208, 209,
- 210, 211, 212, 212, 213, 214, 214, 215, 215, 216,
- 216, 217, 217, 217, 217
+ 128, 129, 130, 131, 132, 130, 133, 133, 134, 134,
+ 135, 135, 136, 136, 137, 137, 138, 137, 139, 137,
+ 137, 140, 137, 137, 137, 137, 137, 137, 137, 137,
+ 141, 142, 137, 137, 137, 137, 143, 137, 137, 137,
+ 144, 137, 137, 145, 137, 137, 137, 137, 137, 146,
+ 147, 147, 148, 149, 149, 149, 149, 149, 149, 149,
+ 149, 150, 150, 150, 151, 151, 152, 152, 153, 154,
+ 154, 155, 155, 156, 157, 158, 159, 159, 160, 161,
+ 162, 163, 163, 164, 164, 165, 165, 165, 166, 166,
+ 167, 167, 168, 168, 169, 170, 170, 170, 171, 172,
+ 172, 173, 173, 173, 174, 174, 175, 175, 176, 178,
+ 177, 179, 179, 180, 181, 181, 182, 183, 183, 183,
+ 184, 184, 184, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 186, 185, 187, 187, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 190, 190, 190, 190, 191, 191,
+ 192, 192, 192, 192, 193, 193, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 195, 195, 195, 195, 196,
+ 196, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197, 197, 198,
+ 197, 197, 197, 197, 199, 199, 199, 199, 200, 200,
+ 200, 200, 200, 201, 201, 202, 202, 203, 203, 204,
+ 205, 205, 205, 206, 207, 207, 207, 208, 208, 209,
+ 209, 210, 211, 212, 213, 214, 214, 215, 216, 216,
+ 217, 217, 218, 218, 219, 219, 219, 219
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_int8 yyr2[] =
+static const yytype_uint8 yyr2[] =
{
0, 2, 0, 4, 0, 3, 0, 3, 0, 3,
0, 3, 0, 3, 0, 3, 4, 0, 7, 0,
- 4, 0, 1, 2, 1, 2, 1, 1, 2, 2,
- 1, 4, 0, 7, 0, 6, 4, 0, 7, 7,
- 7, 6, 6, 2, 8, 8, 0, 0, 13, 9,
- 11, 8, 0, 10, 9, 7, 0, 0, 11, 2,
- 0, 8, 2, 2, 2, 1, 2, 1, 3, 1,
- 1, 1, 3, 3, 3, 3, 3, 3, 1, 2,
- 6, 1, 2, 0, 2, 0, 1, 1, 0, 1,
- 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
- 1, 1, 1, 2, 1, 2, 1, 0, 1, 1,
- 1, 3, 1, 1, 2, 3, 1, 1, 2, 3,
- 1, 1, 1, 1, 1, 3, 0, 2, 1, 1,
- 4, 1, 1, 5, 3, 3, 1, 2, 3, 1,
- 3, 5, 6, 3, 3, 5, 2, 4, 4, 0,
- 5, 1, 1, 5, 4, 5, 4, 5, 6, 5,
- 4, 5, 4, 3, 6, 4, 5, 3, 3, 3,
- 3, 3, 1, 1, 3, 3, 3, 3, 3, 3,
- 3, 1, 3, 2, 2, 3, 3, 1, 3, 2,
- 2, 3, 3, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 3, 4, 5, 4, 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, 6, 1, 1,
- 1, 3, 2, 4, 3, 3, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 1, 2, 3, 1,
- 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
- 2, 2, 2, 4, 2, 1, 3, 1, 3, 1,
- 3, 1, 1, 1, 1
+ 4, 0, 1, 0, 0, 5, 1, 2, 1, 2,
+ 1, 1, 2, 2, 1, 4, 0, 7, 0, 6,
+ 4, 0, 7, 7, 7, 6, 6, 2, 8, 8,
+ 0, 0, 13, 9, 11, 8, 0, 10, 9, 7,
+ 0, 8, 2, 0, 8, 2, 2, 2, 1, 2,
+ 1, 3, 1, 1, 1, 3, 3, 3, 3, 3,
+ 3, 1, 2, 6, 1, 2, 0, 2, 0, 1,
+ 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
+ 0, 1, 1, 1, 1, 1, 2, 1, 2, 1,
+ 0, 1, 1, 1, 3, 1, 1, 2, 3, 1,
+ 1, 2, 3, 1, 1, 1, 1, 1, 3, 0,
+ 2, 1, 1, 4, 1, 1, 5, 3, 3, 1,
+ 2, 3, 1, 3, 5, 6, 3, 3, 5, 2,
+ 4, 4, 0, 5, 1, 1, 5, 4, 5, 4,
+ 5, 6, 5, 4, 5, 4, 3, 6, 4, 5,
+ 3, 3, 3, 3, 3, 1, 1, 3, 3, 3,
+ 3, 3, 3, 3, 1, 3, 2, 2, 3, 3,
+ 1, 3, 2, 2, 3, 3, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 3, 4, 5, 4, 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,
+ 6, 1, 1, 1, 3, 2, 4, 3, 3, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
+ 2, 3, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 4, 2, 1, 3,
+ 1, 3, 1, 3, 1, 1, 1, 1
};
typedef enum {
@@ -1409,47 +1163,47 @@ typedef enum {
/* type of each token/terminal */
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_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_ival, 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_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_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_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_ival, toketype_ival,
- toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, 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_ival,
- toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_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_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_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
+ toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival,
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
+ toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
+ toketype_opval, toketype_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_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_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_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
};
/* Generated from:
- * 0caf1eb1cc4750131dc71e3a22ead383ed9a123dec61ccd23408ff13441fafde perly.y
+ * f6f4ca1df1f28e285f644b160b176887b111ca03c1fd20e3b4868c27a2c93623 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index 55321fa41e..db1daf7747 100644
--- a/perly.y
+++ b/perly.y
@@ -87,6 +87,7 @@
%type <opval> stmtseq fullstmt labfullstmt barestmt block mblock else finally
%type <opval> expr term subscripted scalar ary hsh arylen star amper sideff
%type <opval> condition
+%type <opval> catch_paren
%type <opval> empty
%type <opval> sliceme kvslice gelem
%type <opval> listexpr nexpr texpr iexpr mexpr mnexpr
@@ -255,6 +256,18 @@ mremember: %empty /* start a partial lexical scope */
parser->parsed_sub = 0; }
;
+/* The parenthesized variable of a catch block */
+catch_paren: empty
+ /* not really valid grammar but we detect it in the
+ * action block to throw a nicer error message */
+ | PERLY_PAREN_OPEN
+ { parser->in_my = 1; }
+ scalar
+ { parser->in_my = 0; intro_my(); }
+ PERLY_PAREN_CLOSE
+ { $$ = $scalar; }
+ ;
+
/* A sequence of statements in the program */
stmtseq
: empty
@@ -475,11 +488,14 @@ barestmt: PLUGSTMT
newFOROP(0, NULL, $mexpr, $mblock, $cont));
parser->copline = (line_t)$FOR;
}
- | TRY mblock[try] CATCH PERLY_PAREN_OPEN
- { parser->in_my = 1; }
- remember scalar
- { parser->in_my = 0; intro_my(); }
- PERLY_PAREN_CLOSE mblock[catch] finally
+ | TRY mblock[try] CATCH remember catch_paren[scalar]
+ {
+ if(!$scalar) {
+ yyerror("catch block requires a (VAR)");
+ YYERROR;
+ }
+ }
+ mblock[catch] finally
{
$$ = newTRYCATCHOP(0,
$try, $scalar, block_end($remember, op_scope($catch)));
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 1eab59d644..a90e6b359f 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1574,6 +1574,18 @@ or if you use an explicit C<continue>.)
with an assignment operator, which implies modifying the value itself.
Perhaps you need to copy the value to a temporary, and repeat that.
+=item catch block requires a (VAR)
+
+(F) You tried to use the C<try> and C<catch> syntax of C<use feature 'try'>
+but did not include the error variable in the C<catch> block. The
+parenthesized variable name is not optional, unlike in some other forms of
+syntax you may be familiar with from CPAN modules or other languages.
+
+The required syntax is
+
+ try { ... }
+ catch ($var) { ... }
+
=item Character following "\c" must be printable ASCII
(F) In C<\cI<X>>, I<X> must be a printable (non-control) ASCII character.
diff --git a/t/op/try.t b/t/op/try.t
index a5a45428f8..97f9a0b8f0 100644
--- a/t/op/try.t
+++ b/t/op/try.t
@@ -352,4 +352,13 @@ no warnings 'experimental::try';
'Cannot last out of finally block');
}
+# Nicer compiletime errors
+{
+ my $e;
+
+ $e = defined eval 'try { A() } catch { B() }; 1;' ? undef : $@;
+ like($e, qr/^catch block requires a \(VAR\) at /,
+ 'Parse error for catch without (VAR)');
+}
+
done_testing;