perl/SOURCES/perl-5.24.3-fix-parsing-of-braced-subscript-after-parens.patch
2021-09-10 13:25:44 +00:00

4392 lines
188 KiB
Diff

From 1d1ce7c6bc5cc90b78e8231319dab65f969e7682 Mon Sep 17 00:00:00 2001
From: Zefram <zefram@fysh.org>
Date: Tue, 16 Jan 2018 08:04:08 +0000
Subject: [PATCH] fix parsing of braced subscript after parens
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Where an arrow is omitted between subscripts, if a parenthesised
subscript is followed by a braced one, PL_expect was getting set to
XBLOCK due to code intended for "foreach (...) {...}". This broke
bareword autoquotation, and the parsing of operators following the
braced subscript. Alter PL_expect from XBLOCK to XOPERATOR following
a parenthesised subscript. Fixes [perl #8045].
Petr Písař: Ported to 5.24.3.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
perly.act | 1256 ++++++++++++++++++++++++++++-------------------
perly.h | 297 ++++-------
perly.tab | 1352 +++++++++++++++++++++++----------------------------
perly.y | 20 +-
t/op/postfixderef.t | 25 +-
5 files changed, 1502 insertions(+), 1448 deletions(-)
diff --git a/perly.act b/perly.act
index 0d1d5fc..b1457f8 100644
--- a/perly.act
+++ b/perly.act
@@ -1,223 +1,250 @@
/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by regen_perly.pl from perly.y.
+ This file is built by ./regen_perly.pl from perly.y.
Any changes made here will be lost!
*/
case 2:
-#line 115 "perly.y"
+#line 115 "perly.y" /* yacc.c:1646 */
{
parser->expect = XSTATE;
}
+
break;
case 3:
-#line 119 "perly.y"
+#line 119 "perly.y" /* yacc.c:1646 */
{
- newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
+ newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval)));
PL_compiling.cop_seq = 0;
(yyval.ival) = 0;
}
+
break;
case 4:
-#line 125 "perly.y"
+#line 125 "perly.y" /* yacc.c:1646 */
{
parser->expect = XTERM;
}
+
break;
case 5:
-#line 129 "perly.y"
+#line 129 "perly.y" /* yacc.c:1646 */
{
- PL_eval_root = (ps[(3) - (3)].val.opval);
+ PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
+
break;
case 6:
-#line 134 "perly.y"
+#line 134 "perly.y" /* yacc.c:1646 */
{
parser->expect = XBLOCK;
}
+
break;
case 7:
-#line 138 "perly.y"
+#line 138 "perly.y" /* yacc.c:1646 */
{
PL_pad_reset_pending = TRUE;
- PL_eval_root = (ps[(3) - (3)].val.opval);
+ PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
}
+
break;
case 8:
-#line 146 "perly.y"
+#line 146 "perly.y" /* yacc.c:1646 */
{
parser->expect = XSTATE;
}
+
break;
case 9:
-#line 150 "perly.y"
+#line 150 "perly.y" /* yacc.c:1646 */
{
PL_pad_reset_pending = TRUE;
- PL_eval_root = (ps[(3) - (3)].val.opval);
+ PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
}
+
break;
case 10:
-#line 158 "perly.y"
+#line 158 "perly.y" /* yacc.c:1646 */
{
parser->expect = XSTATE;
}
+
break;
case 11:
-#line 162 "perly.y"
+#line 162 "perly.y" /* yacc.c:1646 */
{
PL_pad_reset_pending = TRUE;
- PL_eval_root = (ps[(3) - (3)].val.opval);
+ PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
}
+
break;
case 12:
-#line 170 "perly.y"
+#line 170 "perly.y" /* yacc.c:1646 */
{
parser->expect = XSTATE;
}
+
break;
case 13:
-#line 174 "perly.y"
+#line 174 "perly.y" /* yacc.c:1646 */
{
- PL_eval_root = (ps[(3) - (3)].val.opval);
+ PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
+
break;
case 14:
-#line 182 "perly.y"
- { if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
- parser->copline = (line_t)(ps[(1) - (4)].val.ival);
- (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
+#line 182 "perly.y" /* yacc.c:1646 */
+ { 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));
}
+
break;
case 15:
-#line 190 "perly.y"
- { if (parser->copline > (line_t)(ps[(1) - (7)].val.ival))
- parser->copline = (line_t)(ps[(1) - (7)].val.ival);
- (yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
+#line 190 "perly.y" /* yacc.c:1646 */
+ { 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));
}
+
break;
case 16:
-#line 197 "perly.y"
+#line 197 "perly.y" /* yacc.c:1646 */
{ (yyval.ival) = block_start(TRUE);
parser->parsed_sub = 0; }
+
break;
case 17:
-#line 202 "perly.y"
- { if (parser->copline > (line_t)(ps[(1) - (4)].val.ival))
- parser->copline = (line_t)(ps[(1) - (4)].val.ival);
- (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
+#line 202 "perly.y" /* yacc.c:1646 */
+ { 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));
}
+
break;
case 18:
-#line 209 "perly.y"
+#line 209 "perly.y" /* yacc.c:1646 */
{ (yyval.ival) = block_start(FALSE);
parser->parsed_sub = 0; }
+
break;
case 19:
-#line 215 "perly.y"
+#line 215 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 20:
-#line 217 "perly.y"
- { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
+#line 217 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
PL_pad_reset_pending = TRUE;
- if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
+ if ((ps[-1].val.opval) && (ps[0].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
}
+
break;
case 21:
-#line 226 "perly.y"
+#line 226 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 22:
-#line 228 "perly.y"
- { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
+#line 228 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
PL_pad_reset_pending = TRUE;
- if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
+ if ((ps[-1].val.opval) && (ps[0].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
}
+
break;
case 23:
-#line 237 "perly.y"
+#line 237 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = (ps[(1) - (1)].val.opval) ? newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval)) : NULL;
+ (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL;
}
+
break;
case 24:
-#line 241 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 241 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 25:
-#line 245 "perly.y"
+#line 245 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
+ (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[-1].val.pval)[strlen((ps[-1].val.pval))+1], (ps[-1].val.pval), (ps[0].val.opval));
}
+
break;
case 26:
-#line 249 "perly.y"
+#line 249 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
+ (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[-1].val.pval)[strlen((ps[-1].val.pval))+1], (ps[-1].val.pval), (ps[0].val.opval));
}
+
break;
case 27:
-#line 256 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 256 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 28:
-#line 258 "perly.y"
+#line 258 "perly.y" /* yacc.c:1646 */
{
CV *fmtcv = PL_compcv;
- newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
+ newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval));
(yyval.opval) = (OP*)NULL;
if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
pad_add_weakref(fmtcv);
}
parser->parsed_sub = 1;
}
+
break;
case 29:
-#line 268 "perly.y"
+#line 268 "perly.y" /* yacc.c:1646 */
{
- if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
+ if ((ps[-1].val.opval)->op_type == OP_CONST) {
const char *const name =
- SvPV_nolen_const(((SVOP*)(ps[(2) - (3)].val.opval))->op_sv);
+ SvPV_nolen_const(((SVOP*)(ps[-1].val.opval))->op_sv);
if (strEQ(name, "BEGIN") || strEQ(name, "END")
|| strEQ(name, "INIT") || strEQ(name, "CHECK")
|| strEQ(name, "UNITCHECK"))
@@ -230,33 +257,35 @@ case 2:
|| CvCLONE(CvOUTSIDE(PL_compcv))
|| !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
CvOUTSIDE(PL_compcv)
- ))[(ps[(2) - (3)].val.opval)->op_targ]))
+ ))[(ps[-1].val.opval)->op_targ]))
CvCLONE_on(PL_compcv);
parser->in_my = 0;
parser->in_my_stash = NULL;
}
+
break;
case 30:
-#line 290 "perly.y"
+#line 290 "perly.y" /* yacc.c:1646 */
{
SvREFCNT_inc_simple_void(PL_compcv);
- (ps[(2) - (7)].val.opval)->op_type == OP_CONST
- ? newATTRSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
- : newMYSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
+ (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))
+ : newMYSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
;
(yyval.opval) = (OP*)NULL;
intro_my();
parser->parsed_sub = 1;
}
+
break;
case 31:
-#line 301 "perly.y"
+#line 301 "perly.y" /* yacc.c:1646 */
{
- if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
+ if ((ps[-1].val.opval)->op_type == OP_CONST) {
const char *const name =
- SvPV_nolen_const(((SVOP*)(ps[(2) - (3)].val.opval))->op_sv);
+ SvPV_nolen_const(((SVOP*)(ps[-1].val.opval))->op_sv);
if (strEQ(name, "BEGIN") || strEQ(name, "END")
|| strEQ(name, "INIT") || strEQ(name, "CHECK")
|| strEQ(name, "UNITCHECK"))
@@ -269,130 +298,144 @@ case 2:
|| CvCLONE(CvOUTSIDE(PL_compcv))
|| !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
CvOUTSIDE(PL_compcv)
- ))[(ps[(2) - (3)].val.opval)->op_targ]))
+ ))[(ps[-1].val.opval)->op_targ]))
CvCLONE_on(PL_compcv);
parser->in_my = 0;
parser->in_my_stash = NULL;
}
+
break;
case 32:
-#line 323 "perly.y"
+#line 323 "perly.y" /* yacc.c:1646 */
{
OP *body;
- if (parser->copline > (line_t)(ps[(8) - (10)].val.ival))
- parser->copline = (line_t)(ps[(8) - (10)].val.ival);
- body = block_end((ps[(5) - (10)].val.ival),
- op_append_list(OP_LINESEQ, (ps[(6) - (10)].val.opval), (ps[(9) - (10)].val.opval)));
+ if (parser->copline > (line_t)(ps[-2].val.ival))
+ parser->copline = (line_t)(ps[-2].val.ival);
+ body = block_end((ps[-5].val.ival),
+ op_append_list(OP_LINESEQ, (ps[-4].val.opval), (ps[-1].val.opval)));
SvREFCNT_inc_simple_void(PL_compcv);
- (ps[(2) - (10)].val.opval)->op_type == OP_CONST
- ? newATTRSUB((ps[(3) - (10)].val.ival), (ps[(2) - (10)].val.opval), NULL, (ps[(7) - (10)].val.opval), body)
- : newMYSUB((ps[(3) - (10)].val.ival), (ps[(2) - (10)].val.opval), NULL, (ps[(7) - (10)].val.opval), body)
+ (ps[-8].val.opval)->op_type == OP_CONST
+ ? newATTRSUB((ps[-7].val.ival), (ps[-8].val.opval), NULL, (ps[-3].val.opval), body)
+ : newMYSUB((ps[-7].val.ival), (ps[-8].val.opval), NULL, (ps[-3].val.opval), body)
;
(yyval.opval) = (OP*)NULL;
intro_my();
parser->parsed_sub = 1;
}
+
break;
case 33:
-#line 340 "perly.y"
+#line 340 "perly.y" /* yacc.c:1646 */
{
- package((ps[(3) - (4)].val.opval));
- if ((ps[(2) - (4)].val.opval))
- package_version((ps[(2) - (4)].val.opval));
+ package((ps[-1].val.opval));
+ if ((ps[-2].val.opval))
+ package_version((ps[-2].val.opval));
(yyval.opval) = (OP*)NULL;
}
+
break;
case 34:
-#line 347 "perly.y"
+#line 347 "perly.y" /* yacc.c:1646 */
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
+
break;
case 35:
-#line 349 "perly.y"
+#line 349 "perly.y" /* yacc.c:1646 */
{
SvREFCNT_inc_simple_void(PL_compcv);
- utilize((ps[(1) - (7)].val.ival), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
+ 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;
(yyval.opval) = (OP*)NULL;
}
+
break;
case 36:
-#line 356 "perly.y"
+#line 356 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
- newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
- parser->copline = (line_t)(ps[(1) - (7)].val.ival);
+ (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);
}
+
break;
case 37:
-#line 362 "perly.y"
+#line 362 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
- newCONDOP(0, (ps[(4) - (7)].val.opval), (ps[(7) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval))));
- parser->copline = (line_t)(ps[(1) - (7)].val.ival);
+ (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);
}
+
break;
case 38:
-#line 368 "perly.y"
+#line 368 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)), 0));
- parser->copline = (line_t)(ps[(1) - (6)].val.ival);
+ (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 39:
-#line 373 "perly.y"
- { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
+#line 373 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
+
break;
case 40:
-#line 375 "perly.y"
- { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
+#line 375 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
+
break;
case 41:
-#line 377 "perly.y"
+#line 377 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
+ (yyval.opval) = block_end((ps[-5].val.ival),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
- parser->copline = (line_t)(ps[(1) - (8)].val.ival);
+ (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
+ parser->copline = (line_t)(ps[-7].val.ival);
}
+
break;
case 42:
-#line 384 "perly.y"
+#line 384 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
+ (yyval.opval) = block_end((ps[-5].val.ival),
newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
- parser->copline = (line_t)(ps[(1) - (8)].val.ival);
+ (ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
+ parser->copline = (line_t)(ps[-7].val.ival);
}
+
break;
case 43:
-#line 391 "perly.y"
+#line 391 "perly.y" /* yacc.c:1646 */
{ parser->expect = XTERM; }
+
break;
case 44:
-#line 393 "perly.y"
+#line 393 "perly.y" /* yacc.c:1646 */
{ parser->expect = XTERM; }
+
break;
case 45:
-#line 396 "perly.y"
+#line 396 "perly.y" /* yacc.c:1646 */
{
- OP *initop = (ps[(4) - (13)].val.opval);
+ OP *initop = (ps[-9].val.opval);
OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- scalar((ps[(7) - (13)].val.opval)), (ps[(13) - (13)].val.opval), (ps[(11) - (13)].val.opval), (ps[(10) - (13)].val.ival));
+ scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival));
if (initop) {
forop = op_prepend_elem(OP_LINESEQ, initop,
op_append_elem(OP_LINESEQ,
@@ -400,123 +443,135 @@ case 2:
forop));
}
PL_hints |= HINT_BLOCK_SCOPE;
- (yyval.opval) = block_end((ps[(3) - (13)].val.ival), forop);
- parser->copline = (line_t)(ps[(1) - (13)].val.ival);
+ (yyval.opval) = block_end((ps[-10].val.ival), forop);
+ parser->copline = (line_t)(ps[-12].val.ival);
}
+
break;
case 46:
-#line 411 "perly.y"
+#line 411 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
- parser->copline = (line_t)(ps[(1) - (9)].val.ival);
+ (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 47:
-#line 416 "perly.y"
+#line 416 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
- op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
- parser->copline = (line_t)(ps[(1) - (8)].val.ival);
+ (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);
}
+
break;
case 48:
-#line 422 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[(5) - (5)].val.opval)); }
+#line 422 "perly.y" /* yacc.c:1646 */
+ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
+
break;
case 49:
-#line 424 "perly.y"
+#line 424 "perly.y" /* yacc.c:1646 */
{
(yyval.opval) = block_end(
- (ps[(4) - (11)].val.ival),
+ (ps[-7].val.ival),
newFOROP(0,
op_lvalue(
newUNOP(OP_REFGEN, 0,
- (ps[(6) - (11)].val.opval)),
+ (ps[-5].val.opval)),
OP_ENTERLOOP),
- (ps[(8) - (11)].val.opval), (ps[(10) - (11)].val.opval), (ps[(11) - (11)].val.opval))
+ (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
);
- parser->copline = (line_t)(ps[(1) - (11)].val.ival);
+ parser->copline = (line_t)(ps[-10].val.ival);
}
+
break;
case 50:
-#line 437 "perly.y"
+#line 437 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(5) - (9)].val.ival), newFOROP(
+ (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(
0, op_lvalue(newUNOP(OP_REFGEN, 0,
- (ps[(3) - (9)].val.opval)),
- OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
- parser->copline = (line_t)(ps[(1) - (9)].val.ival);
+ (ps[-6].val.opval)),
+ OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
+ parser->copline = (line_t)(ps[-8].val.ival);
}
+
break;
case 51:
-#line 445 "perly.y"
+#line 445 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
- newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
- parser->copline = (line_t)(ps[(1) - (7)].val.ival);
+ (yyval.opval) = block_end((ps[-4].val.ival),
+ newFOROP(0, (OP*)NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
+ parser->copline = (line_t)(ps[-6].val.ival);
}
+
break;
case 52:
-#line 451 "perly.y"
+#line 451 "perly.y" /* yacc.c:1646 */
{
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- (OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
+ (OP*)NULL, (ps[-1].val.opval), (ps[0].val.opval), 0);
}
+
break;
case 53:
-#line 457 "perly.y"
+#line 457 "perly.y" /* yacc.c:1646 */
{
- package((ps[(3) - (5)].val.opval));
- if ((ps[(2) - (5)].val.opval)) {
- package_version((ps[(2) - (5)].val.opval));
+ package((ps[-2].val.opval));
+ if ((ps[-3].val.opval)) {
+ package_version((ps[-3].val.opval));
}
}
+
break;
case 54:
-#line 464 "perly.y"
+#line 464 "perly.y" /* yacc.c:1646 */
{
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
- (OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
- if (parser->copline > (line_t)(ps[(4) - (8)].val.ival))
- parser->copline = (line_t)(ps[(4) - (8)].val.ival);
+ (OP*)NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), (OP*)NULL, 0);
+ if (parser->copline > (line_t)(ps[-4].val.ival))
+ parser->copline = (line_t)(ps[-4].val.ival);
}
+
break;
case 55:
-#line 472 "perly.y"
+#line 472 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = (ps[(1) - (2)].val.opval);
+ (yyval.opval) = (ps[-1].val.opval);
}
+
break;
case 56:
-#line 476 "perly.y"
+#line 476 "perly.y" /* yacc.c:1646 */
{
(yyval.opval) = (OP*)NULL;
parser->copline = NOLINE;
}
+
break;
case 57:
-#line 484 "perly.y"
+#line 484 "perly.y" /* yacc.c:1646 */
{ OP *list;
- if ((ps[(2) - (2)].val.opval)) {
- OP *term = (ps[(2) - (2)].val.opval);
- list = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), term);
+ if ((ps[0].val.opval)) {
+ OP *term = (ps[0].val.opval);
+ list = op_append_elem(OP_LIST, (ps[-1].val.opval), term);
}
else {
- list = (ps[(1) - (2)].val.opval);
+ list = (ps[-1].val.opval);
}
if (parser->copline == NOLINE)
parser->copline = CopLINE(PL_curcop)-1;
@@ -524,186 +579,219 @@ case 2:
(yyval.opval) = newSTATEOP(0, NULL,
op_convert_list(OP_FORMLINE, 0, list));
}
+
break;
case 58:
-#line 501 "perly.y"
+#line 501 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = NULL; }
+
break;
case 59:
-#line 503 "perly.y"
- { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
+#line 503 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
+
break;
case 60:
-#line 508 "perly.y"
+#line 508 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 61:
-#line 510 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 510 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 62:
-#line 512 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
+#line 512 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
+
break;
case 63:
-#line 514 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
+#line 514 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
+
break;
case 64:
-#line 516 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); }
+#line 516 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
+
break;
case 65:
-#line 518 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
+#line 518 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
+
break;
case 66:
-#line 520 "perly.y"
- { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
- parser->copline = (line_t)(ps[(2) - (3)].val.ival); }
+#line 520 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[0].val.opval), (ps[-2].val.opval), (OP*)NULL);
+ parser->copline = (line_t)(ps[-1].val.ival); }
+
break;
case 67:
-#line 523 "perly.y"
- { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
+#line 523 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
+
break;
case 68:
-#line 528 "perly.y"
+#line 528 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 69:
-#line 530 "perly.y"
+#line 530 "perly.y" /* yacc.c:1646 */
{
- ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
- (yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
+ ((ps[0].val.opval))->op_flags |= OPf_PARENS;
+ (yyval.opval) = op_scope((ps[0].val.opval));
}
+
break;
case 70:
-#line 535 "perly.y"
- { parser->copline = (line_t)(ps[(1) - (6)].val.ival);
+#line 535 "perly.y" /* yacc.c:1646 */
+ { parser->copline = (line_t)(ps[-5].val.ival);
(yyval.opval) = newCONDOP(0,
- newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)),
- op_scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
+ newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)),
+ op_scope((ps[-1].val.opval)), (ps[0].val.opval));
PL_hints |= HINT_BLOCK_SCOPE;
}
+
break;
case 71:
-#line 545 "perly.y"
+#line 545 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 72:
-#line 547 "perly.y"
- { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); }
+#line 547 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
+
break;
case 73:
-#line 552 "perly.y"
+#line 552 "perly.y" /* yacc.c:1646 */
{ (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
intro_my(); }
+
break;
case 74:
-#line 558 "perly.y"
+#line 558 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 76:
-#line 564 "perly.y"
+#line 564 "perly.y" /* yacc.c:1646 */
{ YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
(yyval.opval) = tmplval.opval; }
+
break;
case 78:
-#line 572 "perly.y"
- { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
+#line 572 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
+
break;
case 79:
-#line 577 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+#line 577 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); intro_my(); }
+
break;
case 80:
-#line 581 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+#line 581 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); intro_my(); }
+
break;
case 81:
-#line 584 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 584 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 82:
-#line 585 "perly.y"
+#line 585 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 83:
-#line 589 "perly.y"
+#line 589 "perly.y" /* yacc.c:1646 */
{ (yyval.ival) = start_subparse(FALSE, 0);
SAVEFREESV(PL_compcv); }
+
break;
case 84:
-#line 595 "perly.y"
+#line 595 "perly.y" /* yacc.c:1646 */
{ (yyval.ival) = start_subparse(FALSE, CVf_ANON);
SAVEFREESV(PL_compcv); }
+
break;
case 85:
-#line 600 "perly.y"
+#line 600 "perly.y" /* yacc.c:1646 */
{ (yyval.ival) = start_subparse(TRUE, 0);
SAVEFREESV(PL_compcv); }
+
break;
case 88:
-#line 611 "perly.y"
+#line 611 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 90:
-#line 617 "perly.y"
+#line 617 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 91:
-#line 619 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+#line 619 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 92:
-#line 621 "perly.y"
+#line 621 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 93:
-#line 626 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+#line 626 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 94:
-#line 628 "perly.y"
+#line 628 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 95:
-#line 633 "perly.y"
+#line 633 "perly.y" /* yacc.c:1646 */
{
/* We shouldn't get here otherwise */
assert(FEATURE_SIGNATURES_IS_ENABLED);
@@ -713,318 +801,382 @@ case 2:
"The signatures feature is experimental");
(yyval.opval) = parse_subsignature();
}
+
break;
case 96:
-#line 643 "perly.y"
+#line 643 "perly.y" /* yacc.c:1646 */
{
- (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(2) - (3)].val.opval),
+ (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval),
newSTATEOP(0, NULL, sawparens(newNULLLIST())));
parser->expect = XATTRBLOCK;
}
+
break;
case 98:
-#line 652 "perly.y"
+#line 652 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 99:
-#line 657 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 657 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 100:
-#line 659 "perly.y"
- { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 659 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 101:
-#line 661 "perly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 661 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 103:
-#line 667 "perly.y"
- { (yyval.opval) = (ps[(1) - (2)].val.opval); }
+#line 667 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[-1].val.opval); }
+
break;
case 104:
-#line 669 "perly.y"
+#line 669 "perly.y" /* yacc.c:1646 */
{
- OP* term = (ps[(3) - (3)].val.opval);
- (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
+ OP* term = (ps[0].val.opval);
+ (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term);
}
+
break;
case 106:
-#line 678 "perly.y"
- { (yyval.opval) = op_convert_list((ps[(1) - (3)].val.ival), OPf_STACKED,
- op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (3)].val.ival),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
+#line 678 "perly.y" /* yacc.c:1646 */
+ { (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 107:
-#line 682 "perly.y"
- { (yyval.opval) = op_convert_list((ps[(1) - (5)].val.ival), OPf_STACKED,
- op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (5)].val.ival),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
+#line 682 "perly.y" /* yacc.c:1646 */
+ { (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 108:
-#line 686 "perly.y"
+#line 686 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
- op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
- newMETHOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
+ op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)),
+ newMETHOP(OP_METHOD, 0, (ps[-3].val.opval))));
}
+
break;
case 109:
-#line 692 "perly.y"
+#line 692 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
- newMETHOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
+ op_append_elem(OP_LIST, scalar((ps[-2].val.opval)),
+ newMETHOP(OP_METHOD, 0, (ps[0].val.opval))));
}
+
break;
case 110:
-#line 697 "perly.y"
+#line 697 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
- op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
- newMETHOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
+ op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)),
+ newMETHOP(OP_METHOD, 0, (ps[-2].val.opval))));
}
+
break;
case 111:
-#line 703 "perly.y"
+#line 703 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
- op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
- newMETHOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
+ op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)),
+ newMETHOP(OP_METHOD, 0, (ps[-4].val.opval))));
}
+
break;
case 112:
-#line 709 "perly.y"
- { (yyval.opval) = op_convert_list((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
+#line 709 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+
break;
case 113:
-#line 711 "perly.y"
- { (yyval.opval) = op_convert_list((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
+#line 711 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+
break;
case 114:
-#line 713 "perly.y"
+#line 713 "perly.y" /* yacc.c:1646 */
{ SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
+ (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, (OP*)NULL, (ps[0].val.opval)); }
+
break;
case 115:
-#line 716 "perly.y"
+#line 716 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
- op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
+ op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval)));
}
+
break;
case 118:
-#line 731 "perly.y"
- { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval))); }
+#line 731 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
+
break;
case 119:
-#line 733 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
+#line 733 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
}
+
break;
case 120:
-#line 736 "perly.y"
+#line 736 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
- ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
- scalar((ps[(4) - (5)].val.opval)));
+ ref(newAVREF((ps[-4].val.opval)),OP_RV2AV),
+ scalar((ps[-1].val.opval)));
}
+
break;
case 121:
-#line 741 "perly.y"
+#line 741 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
- ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
- scalar((ps[(3) - (4)].val.opval)));
+ ref(newAVREF((ps[-3].val.opval)),OP_RV2AV),
+ scalar((ps[-1].val.opval)));
}
+
break;
case 122:
-#line 746 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
+#line 746 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
}
+
break;
case 123:
-#line 749 "perly.y"
+#line 749 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
- ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
- jmaybe((ps[(4) - (6)].val.opval))); }
+ ref(newHVREF((ps[-5].val.opval)),OP_RV2HV),
+ jmaybe((ps[-2].val.opval))); }
+
break;
case 124:
-#line 753 "perly.y"
+#line 753 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
- ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
- jmaybe((ps[(3) - (5)].val.opval))); }
+ ref(newHVREF((ps[-4].val.opval)),OP_RV2HV),
+ jmaybe((ps[-2].val.opval))); }
+
break;
case 125:
-#line 757 "perly.y"
+#line 757 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); }
+ newCVREF(0, scalar((ps[-3].val.opval))));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
+
break;
case 126:
-#line 760 "perly.y"
+#line 763 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
- newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); }
+ op_append_elem(OP_LIST, (ps[-1].val.opval),
+ newCVREF(0, scalar((ps[-4].val.opval)))));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
+
break;
case 127:
-#line 765 "perly.y"
+#line 771 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
- newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); }
+ op_append_elem(OP_LIST, (ps[-1].val.opval),
+ newCVREF(0, scalar((ps[-3].val.opval)))));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
+
break;
case 128:
-#line 769 "perly.y"
+#line 778 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); }
+ newCVREF(0, scalar((ps[-2].val.opval))));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
+
break;
case 129:
-#line 772 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); }
+#line 784 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
+
break;
case 130:
-#line 774 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); }
+#line 786 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
+
break;
case 131:
-#line 776 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); }
+#line 788 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (OP*)NULL); }
+
break;
case 132:
-#line 781 "perly.y"
- { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); }
+#line 793 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
+
break;
case 133:
-#line 783 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 795 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 134:
-#line 785 "perly.y"
- { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
- scalar((ps[(1) - (3)].val.opval));
- (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
+#line 797 "perly.y" /* yacc.c:1646 */
+ { 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 135:
-#line 790 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 802 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 136:
-#line 792 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 804 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 137:
-#line 794 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 806 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 138:
-#line 796 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 808 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 139:
-#line 798 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 810 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 140:
-#line 800 "perly.y"
- { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 812 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 141:
-#line 802 "perly.y"
- { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
+#line 814 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+
break;
case 142:
-#line 804 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 816 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 143:
-#line 806 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 818 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 144:
-#line 808 "perly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 820 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 145:
-#line 810 "perly.y"
- { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
+#line 822 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 146:
-#line 815 "perly.y"
- { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 827 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
+
break;
case 147:
-#line 817 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+#line 829 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 148:
-#line 820 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 832 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
+
break;
case 149:
-#line 822 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 834 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
+
break;
case 150:
-#line 824 "perly.y"
+#line 836 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_POSTINC, 0,
- op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); }
+ op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
+
break;
case 151:
-#line 827 "perly.y"
+#line 839 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_POSTDEC, 0,
- op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));}
+ op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
+
break;
case 152:
-#line 830 "perly.y"
+#line 842 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_convert_list(OP_JOIN, 0,
op_append_elem(
OP_LIST,
@@ -1032,510 +1184,598 @@ case 2:
newSVOP(OP_CONST,0,
newSVpvs("\""))
)),
- (ps[(1) - (2)].val.opval)
+ (ps[-1].val.opval)
));
}
+
break;
case 153:
-#line 841 "perly.y"
+#line 853 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_PREINC, 0,
- op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); }
+ op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
+
break;
case 154:
-#line 844 "perly.y"
+#line 856 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_PREDEC, 0,
- op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); }
+ op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
+
break;
case 155:
-#line 851 "perly.y"
- { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); }
+#line 863 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
+
break;
case 156:
-#line 853 "perly.y"
+#line 865 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newANONLIST((OP*)NULL);}
+
break;
case 157:
-#line 855 "perly.y"
- { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); }
+#line 867 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
+
break;
case 158:
-#line 857 "perly.y"
+#line 869 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newANONHASH((OP*)NULL); }
+
break;
case 159:
-#line 859 "perly.y"
+#line 871 "perly.y" /* yacc.c:1646 */
{ SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
+ (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
+
break;
case 160:
-#line 862 "perly.y"
+#line 874 "perly.y" /* yacc.c:1646 */
{
OP *body;
- if (parser->copline > (line_t)(ps[(6) - (8)].val.ival))
- parser->copline = (line_t)(ps[(6) - (8)].val.ival);
- body = block_end((ps[(3) - (8)].val.ival),
- op_append_list(OP_LINESEQ, (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval)));
+ if (parser->copline > (line_t)(ps[-2].val.ival))
+ parser->copline = (line_t)(ps[-2].val.ival);
+ body = block_end((ps[-5].val.ival),
+ op_append_list(OP_LINESEQ, (ps[-4].val.opval), (ps[-1].val.opval)));
SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (8)].val.ival), NULL, (ps[(5) - (8)].val.opval), body);
+ (yyval.opval) = newANONATTRSUB((ps[-6].val.ival), NULL, (ps[-3].val.opval), body);
}
+
break;
case 161:
-#line 876 "perly.y"
- { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));}
+#line 888 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
+
break;
case 162:
-#line 878 "perly.y"
- { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));}
+#line 890 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
+
break;
case 167:
-#line 886 "perly.y"
- { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
+#line 898 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
+
break;
case 168:
-#line 888 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[(2) - (2)].val.opval)); }
+#line 900 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
+
break;
case 169:
-#line 890 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 902 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 170:
-#line 892 "perly.y"
- { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
+#line 904 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = localize((ps[0].val.opval),(ps[-1].val.ival)); }
+
break;
case 171:
-#line 894 "perly.y"
- { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
+#line 906 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = sawparens((ps[-1].val.opval)); }
+
break;
case 172:
-#line 896 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 908 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 173:
-#line 898 "perly.y"
+#line 910 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = sawparens(newNULLLIST()); }
+
break;
case 174:
-#line 900 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 912 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 175:
-#line 902 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 914 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 176:
-#line 904 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 916 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 177:
-#line 906 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 918 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 178:
-#line 908 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
+#line 920 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
+
break;
case 179:
-#line 910 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 922 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 180:
-#line 912 "perly.y"
+#line 924 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
- list((ps[(3) - (4)].val.opval)),
- ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
- if ((yyval.opval) && (ps[(1) - (4)].val.opval))
+ list((ps[-1].val.opval)),
+ ref((ps[-3].val.opval), OP_ASLICE)));
+ if ((yyval.opval) && (ps[-3].val.opval))
(yyval.opval)->op_private |=
- (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
+ (ps[-3].val.opval)->op_private & OPpSLICEWARNING;
}
+
break;
case 181:
-#line 922 "perly.y"
+#line 934 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_prepend_elem(OP_KVASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVASLICE, 0,
- list((ps[(3) - (4)].val.opval)),
- ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
- if ((yyval.opval) && (ps[(1) - (4)].val.opval))
+ list((ps[-1].val.opval)),
+ ref(oopsAV((ps[-3].val.opval)), OP_KVASLICE)));
+ if ((yyval.opval) && (ps[-3].val.opval))
(yyval.opval)->op_private |=
- (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
+ (ps[-3].val.opval)->op_private & OPpSLICEWARNING;
}
+
break;
case 182:
-#line 932 "perly.y"
+#line 944 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
- list((ps[(3) - (5)].val.opval)),
- ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
- if ((yyval.opval) && (ps[(1) - (5)].val.opval))
+ list((ps[-2].val.opval)),
+ ref(oopsHV((ps[-4].val.opval)), OP_HSLICE)));
+ if ((yyval.opval) && (ps[-4].val.opval))
(yyval.opval)->op_private |=
- (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
+ (ps[-4].val.opval)->op_private & OPpSLICEWARNING;
}
+
break;
case 183:
-#line 942 "perly.y"
+#line 954 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVHSLICE, 0,
- list((ps[(3) - (5)].val.opval)),
- ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
- if ((yyval.opval) && (ps[(1) - (5)].val.opval))
+ list((ps[-2].val.opval)),
+ ref((ps[-4].val.opval), OP_KVHSLICE)));
+ if ((yyval.opval) && (ps[-4].val.opval))
(yyval.opval)->op_private |=
- (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
+ (ps[-4].val.opval)->op_private & OPpSLICEWARNING;
}
+
break;
case 184:
-#line 952 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 964 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 185:
-#line 954 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
+#line 966 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
+
break;
case 186:
-#line 956 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
+#line 968 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
}
+
break;
case 187:
-#line 959 "perly.y"
+#line 971 "perly.y" /* yacc.c:1646 */
{
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
+ op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval))));
}
+
break;
case 188:
-#line 964 "perly.y"
+#line 976 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
+ op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval))));
}
+
break;
case 189:
-#line 968 "perly.y"
- { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); }
+#line 980 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
+
break;
case 190:
-#line 970 "perly.y"
- { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
+#line 982 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
+
break;
case 191:
-#line 972 "perly.y"
- { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); }
+#line 984 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
+
break;
case 192:
-#line 974 "perly.y"
+#line 986 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
- scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); }
+ scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
+
break;
case 193:
-#line 977 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); }
+#line 989 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
+
break;
case 194:
-#line 979 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
+#line 991 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE; }
+
break;
case 195:
-#line 982 "perly.y"
- { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
+#line 994 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
+
break;
case 196:
-#line 984 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
+#line 996 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
+
break;
case 197:
-#line 986 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
+#line 998 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newOP((ps[0].val.ival), 0); }
+
break;
case 198:
-#line 988 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
+#line 1000 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+
break;
case 199:
-#line 990 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
+#line 1002 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+
break;
case 200:
-#line 992 "perly.y"
- { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); }
+#line 1004 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
+
break;
case 201:
-#line 994 "perly.y"
- { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); }
+#line 1006 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
+
break;
case 202:
-#line 996 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
+#line 1008 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
+
break;
case 203:
-#line 998 "perly.y"
+#line 1010 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
+ op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
+
break;
case 204:
-#line 1001 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
+#line 1013 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newOP((ps[0].val.ival), 0); }
+
break;
case 205:
-#line 1003 "perly.y"
- { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);}
+#line 1015 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
+
break;
case 206:
-#line 1005 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1017 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 207:
-#line 1007 "perly.y"
- { (yyval.opval) = (ps[(1) - (3)].val.opval); }
+#line 1019 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[-2].val.opval); }
+
break;
case 208:
-#line 1009 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
+#line 1021 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
+
break;
case 209:
-#line 1011 "perly.y"
- { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
- ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
- : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); }
+#line 1023 "perly.y" /* yacc.c:1646 */
+ { (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 210:
-#line 1015 "perly.y"
- { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
+#line 1027 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+
break;
case 211:
-#line 1017 "perly.y"
+#line 1029 "perly.y" /* yacc.c:1646 */
{
- if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
- && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
- && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
+ 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 212:
-#line 1028 "perly.y"
- { (yyval.opval) = pmruntime((ps[(1) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), 1, (ps[(2) - (6)].val.ival)); }
+#line 1040 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
+
break;
case 215:
-#line 1032 "perly.y"
+#line 1044 "perly.y" /* yacc.c:1646 */
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
}
+
break;
case 217:
-#line 1041 "perly.y"
- { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); }
+#line 1053 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
+
break;
case 218:
-#line 1043 "perly.y"
- { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
+#line 1055 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = localize((ps[0].val.opval),(ps[-1].val.ival)); }
+
break;
case 219:
-#line 1048 "perly.y"
- { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
+#line 1060 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = sawparens((ps[-1].val.opval)); }
+
break;
case 220:
-#line 1050 "perly.y"
+#line 1062 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = sawparens(newNULLLIST()); }
+
break;
case 221:
-#line 1053 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1065 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 222:
-#line 1055 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1067 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 223:
-#line 1057 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1069 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 224:
-#line 1062 "perly.y"
+#line 1074 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 225:
-#line 1064 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1076 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 226:
-#line 1068 "perly.y"
+#line 1080 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 227:
-#line 1070 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1082 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 228:
-#line 1074 "perly.y"
+#line 1086 "perly.y" /* yacc.c:1646 */
{ (yyval.opval) = (OP*)NULL; }
+
break;
case 229:
-#line 1076 "perly.y"
- { (yyval.opval) = (ps[(2) - (2)].val.opval); }
+#line 1088 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
case 230:
-#line 1082 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
+#line 1094 "perly.y" /* yacc.c:1646 */
+ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
+
break;
case 236:
-#line 1095 "perly.y"
- { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
+#line 1107 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
+
break;
case 237:
-#line 1099 "perly.y"
- { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); }
+#line 1111 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newSVREF((ps[0].val.opval)); }
+
break;
case 238:
-#line 1103 "perly.y"
- { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
- if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
+#line 1115 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newAVREF((ps[0].val.opval));
+ if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
}
+
break;
case 239:
-#line 1109 "perly.y"
- { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
- if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
+#line 1121 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newHVREF((ps[0].val.opval));
+ if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
}
+
break;
case 240:
-#line 1115 "perly.y"
- { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); }
+#line 1127 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newAVREF((ps[0].val.opval)); }
+
break;
case 241:
-#line 1117 "perly.y"
- { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
+#line 1129 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
+
break;
case 242:
-#line 1121 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); }
+#line 1133 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
+
break;
case 244:
-#line 1126 "perly.y"
- { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); }
+#line 1138 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
+
break;
case 246:
-#line 1131 "perly.y"
- { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); }
+#line 1143 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
+
break;
case 248:
-#line 1136 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); }
+#line 1148 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
+
break;
case 249:
-#line 1141 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
+#line 1153 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = scalar((ps[0].val.opval)); }
+
break;
case 250:
-#line 1143 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
+#line 1155 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = scalar((ps[0].val.opval)); }
+
break;
case 251:
-#line 1145 "perly.y"
- { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
+#line 1157 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
+
break;
case 252:
-#line 1148 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1160 "perly.y" /* yacc.c:1646 */
+ { (yyval.opval) = (ps[0].val.opval); }
+
break;
+
+
default: break;
/* Generated from:
- * 703ebd267cf8ca45f9dee9bc0f4b21511117a0c1dca1c8bc9438ce91950217ae perly.y
+ * 4fd37fdbff6285ba6e9096c2229255ecc6264d2f26835e535cf1c38f387ceae6 perly.y
* a4923588f219644801577c514014847e1e5240f49413fa3b89d3306fa4874d07 regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index acbdaae..4ecd16e 100644
--- a/perly.h
+++ b/perly.h
@@ -1,28 +1,28 @@
/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by regen_perly.pl from perly.y.
+ This file is built by ./regen_perly.pl from perly.y.
Any changes made here will be lost!
*/
-#define PERL_BISON_VERSION 20007
+#define PERL_BISON_VERSION 30000
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -35,11 +35,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -47,178 +47,95 @@
extern int yydebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- GRAMPROG = 258,
- GRAMEXPR = 259,
- GRAMBLOCK = 260,
- GRAMBARESTMT = 261,
- GRAMFULLSTMT = 262,
- GRAMSTMTSEQ = 263,
- WORD = 264,
- METHOD = 265,
- FUNCMETH = 266,
- THING = 267,
- PMFUNC = 268,
- PRIVATEREF = 269,
- QWLIST = 270,
- FUNC0OP = 271,
- FUNC0SUB = 272,
- UNIOPSUB = 273,
- LSTOPSUB = 274,
- PLUGEXPR = 275,
- PLUGSTMT = 276,
- LABEL = 277,
- FORMAT = 278,
- SUB = 279,
- ANONSUB = 280,
- PACKAGE = 281,
- USE = 282,
- WHILE = 283,
- UNTIL = 284,
- IF = 285,
- UNLESS = 286,
- ELSE = 287,
- ELSIF = 288,
- CONTINUE = 289,
- FOR = 290,
- GIVEN = 291,
- WHEN = 292,
- DEFAULT = 293,
- LOOPEX = 294,
- DOTDOT = 295,
- YADAYADA = 296,
- FUNC0 = 297,
- FUNC1 = 298,
- FUNC = 299,
- UNIOP = 300,
- LSTOP = 301,
- RELOP = 302,
- EQOP = 303,
- MULOP = 304,
- ADDOP = 305,
- DOLSHARP = 306,
- DO = 307,
- HASHBRACK = 308,
- NOAMP = 309,
- LOCAL = 310,
- MY = 311,
- REQUIRE = 312,
- COLONATTR = 313,
- FORMLBRACK = 314,
- FORMRBRACK = 315,
- PREC_LOW = 316,
- DOROP = 317,
- OROP = 318,
- ANDOP = 319,
- NOTOP = 320,
- ASSIGNOP = 321,
- DORDOR = 322,
- OROR = 323,
- ANDAND = 324,
- BITOROP = 325,
- BITANDOP = 326,
- SHIFTOP = 327,
- MATCHOP = 328,
- REFGEN = 329,
- UMINUS = 330,
- POWOP = 331,
- POSTJOIN = 332,
- POSTDEC = 333,
- POSTINC = 334,
- PREDEC = 335,
- PREINC = 336,
- ARROW = 337
- };
+ enum yytokentype
+ {
+ GRAMPROG = 258,
+ GRAMEXPR = 259,
+ GRAMBLOCK = 260,
+ GRAMBARESTMT = 261,
+ GRAMFULLSTMT = 262,
+ GRAMSTMTSEQ = 263,
+ WORD = 264,
+ METHOD = 265,
+ FUNCMETH = 266,
+ THING = 267,
+ PMFUNC = 268,
+ PRIVATEREF = 269,
+ QWLIST = 270,
+ FUNC0OP = 271,
+ FUNC0SUB = 272,
+ UNIOPSUB = 273,
+ LSTOPSUB = 274,
+ PLUGEXPR = 275,
+ PLUGSTMT = 276,
+ LABEL = 277,
+ FORMAT = 278,
+ SUB = 279,
+ ANONSUB = 280,
+ PACKAGE = 281,
+ USE = 282,
+ WHILE = 283,
+ UNTIL = 284,
+ IF = 285,
+ UNLESS = 286,
+ ELSE = 287,
+ ELSIF = 288,
+ CONTINUE = 289,
+ FOR = 290,
+ GIVEN = 291,
+ WHEN = 292,
+ DEFAULT = 293,
+ LOOPEX = 294,
+ DOTDOT = 295,
+ YADAYADA = 296,
+ FUNC0 = 297,
+ FUNC1 = 298,
+ FUNC = 299,
+ UNIOP = 300,
+ LSTOP = 301,
+ RELOP = 302,
+ EQOP = 303,
+ MULOP = 304,
+ ADDOP = 305,
+ DOLSHARP = 306,
+ DO = 307,
+ HASHBRACK = 308,
+ NOAMP = 309,
+ LOCAL = 310,
+ MY = 311,
+ REQUIRE = 312,
+ COLONATTR = 313,
+ FORMLBRACK = 314,
+ FORMRBRACK = 315,
+ PREC_LOW = 316,
+ OROP = 317,
+ DOROP = 318,
+ ANDOP = 319,
+ NOTOP = 320,
+ ASSIGNOP = 321,
+ OROR = 322,
+ DORDOR = 323,
+ ANDAND = 324,
+ BITOROP = 325,
+ BITANDOP = 326,
+ SHIFTOP = 327,
+ MATCHOP = 328,
+ UMINUS = 329,
+ REFGEN = 330,
+ POWOP = 331,
+ PREINC = 332,
+ PREDEC = 333,
+ POSTINC = 334,
+ POSTDEC = 335,
+ POSTJOIN = 336,
+ ARROW = 337
+ };
#endif
-/* Tokens. */
-#define GRAMPROG 258
-#define GRAMEXPR 259
-#define GRAMBLOCK 260
-#define GRAMBARESTMT 261
-#define GRAMFULLSTMT 262
-#define GRAMSTMTSEQ 263
-#define WORD 264
-#define METHOD 265
-#define FUNCMETH 266
-#define THING 267
-#define PMFUNC 268
-#define PRIVATEREF 269
-#define QWLIST 270
-#define FUNC0OP 271
-#define FUNC0SUB 272
-#define UNIOPSUB 273
-#define LSTOPSUB 274
-#define PLUGEXPR 275
-#define PLUGSTMT 276
-#define LABEL 277
-#define FORMAT 278
-#define SUB 279
-#define ANONSUB 280
-#define PACKAGE 281
-#define USE 282
-#define WHILE 283
-#define UNTIL 284
-#define IF 285
-#define UNLESS 286
-#define ELSE 287
-#define ELSIF 288
-#define CONTINUE 289
-#define FOR 290
-#define GIVEN 291
-#define WHEN 292
-#define DEFAULT 293
-#define LOOPEX 294
-#define DOTDOT 295
-#define YADAYADA 296
-#define FUNC0 297
-#define FUNC1 298
-#define FUNC 299
-#define UNIOP 300
-#define LSTOP 301
-#define RELOP 302
-#define EQOP 303
-#define MULOP 304
-#define ADDOP 305
-#define DOLSHARP 306
-#define DO 307
-#define HASHBRACK 308
-#define NOAMP 309
-#define LOCAL 310
-#define MY 311
-#define REQUIRE 312
-#define COLONATTR 313
-#define FORMLBRACK 314
-#define FORMRBRACK 315
-#define PREC_LOW 316
-#define DOROP 317
-#define OROP 318
-#define ANDOP 319
-#define NOTOP 320
-#define ASSIGNOP 321
-#define DORDOR 322
-#define OROR 323
-#define ANDAND 324
-#define BITOROP 325
-#define BITANDOP 326
-#define SHIFTOP 327
-#define MATCHOP 328
-#define REFGEN 329
-#define UMINUS 330
-#define POWOP 331
-#define POSTJOIN 332
-#define POSTDEC 333
-#define POSTINC 334
-#define PREDEC 335
-#define PREINC 336
-#define ARROW 337
-
-
+/* Value type. */
#ifdef PERL_IN_TOKE_C
static bool
S_is_opval_token(int type) {
@@ -243,9 +160,9 @@ S_is_opval_token(int type) {
#endif /* PERL_IN_TOKE_C */
#endif /* PERL_CORE */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
{
-/* Line 2058 of yacc.c */
I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
must always be 1st union member) */
@@ -253,31 +170,19 @@ typedef union YYSTYPE
OP *opval;
GV *gvval;
+};
-/* Line 2058 of yacc.c */
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
/* Generated from:
- * 703ebd267cf8ca45f9dee9bc0f4b21511117a0c1dca1c8bc9438ce91950217ae perly.y
+ * 4fd37fdbff6285ba6e9096c2229255ecc6264d2f26835e535cf1c38f387ceae6 perly.y
* a4923588f219644801577c514014847e1e5240f49413fa3b89d3306fa4874d07 regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index f5a9580..ac88c85 100644
--- a/perly.tab
+++ b/perly.tab
@@ -1,12 +1,12 @@
/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by regen_perly.pl from perly.y.
+ This file is built by ./regen_perly.pl from perly.y.
Any changes made here will be lost!
*/
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2913
+#define YYLAST 2896
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 105
@@ -14,17 +14,19 @@
#define YYNNTS 77
/* YYNRULES -- Number of rules. */
#define YYNRULES 252
-/* YYNRULES -- Number of states. */
+/* YYNSTATES -- Number of states. */
#define YYNSTATES 508
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 337
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -64,133 +66,7 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint16 yyprhs[] =
-{
- 0, 0, 3, 4, 9, 10, 14, 15, 19, 20,
- 24, 25, 29, 30, 34, 39, 47, 48, 53, 54,
- 55, 58, 59, 62, 64, 66, 69, 72, 74, 79,
- 80, 88, 89, 100, 105, 106, 114, 122, 130, 137,
- 144, 147, 156, 165, 166, 167, 181, 191, 200, 201,
- 213, 223, 231, 234, 235, 244, 247, 249, 252, 253,
- 257, 259, 261, 265, 269, 273, 277, 281, 285, 286,
- 289, 296, 297, 300, 301, 302, 304, 305, 307, 309,
- 311, 313, 315, 316, 317, 318, 319, 321, 323, 324,
- 326, 327, 330, 332, 335, 337, 338, 342, 344, 346,
- 350, 354, 358, 360, 363, 367, 369, 373, 379, 386,
- 390, 394, 400, 403, 408, 409, 415, 417, 419, 425,
- 430, 436, 441, 447, 454, 460, 465, 471, 476, 480,
- 487, 492, 498, 502, 506, 510, 514, 518, 522, 526,
- 530, 534, 538, 542, 546, 550, 554, 557, 560, 563,
- 566, 569, 572, 575, 578, 581, 585, 588, 593, 597,
- 603, 612, 615, 618, 620, 622, 624, 626, 632, 635,
- 637, 640, 644, 646, 649, 651, 653, 655, 657, 659,
- 661, 666, 671, 677, 683, 685, 687, 691, 696, 700,
- 705, 710, 715, 720, 725, 727, 730, 733, 735, 738,
- 741, 743, 746, 748, 751, 753, 757, 759, 763, 765,
- 769, 774, 775, 782, 784, 786, 788, 790, 794, 797,
- 801, 804, 806, 808, 810, 811, 813, 814, 816, 817,
- 820, 822, 824, 826, 828, 830, 832, 835, 838, 841,
- 844, 847, 852, 855, 857, 861, 863, 867, 869, 873,
- 875, 877, 879
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int16 yyrhs[] =
-{
- 106, 0, -1, -1, 3, 107, 115, 118, -1, -1,
- 4, 108, 167, -1, -1, 5, 109, 113, -1, -1,
- 6, 110, 122, -1, -1, 7, 111, 120, -1, -1,
- 8, 112, 118, -1, 9, 115, 118, 10, -1, 18,
- 115, 101, 71, 119, 101, 19, -1, -1, 9, 117,
- 118, 10, -1, -1, -1, 118, 120, -1, -1, 119,
- 130, -1, 122, -1, 121, -1, 33, 122, -1, 33,
- 121, -1, 32, -1, 34, 144, 141, 114, -1, -1,
- 35, 145, 142, 123, 146, 147, 151, -1, -1, 35,
- 145, 142, 124, 115, 149, 147, 9, 118, 10, -1,
- 37, 20, 20, 101, -1, -1, 38, 142, 125, 20,
- 20, 166, 101, -1, 41, 100, 115, 139, 99, 116,
- 133, -1, 42, 100, 115, 139, 99, 116, 133, -1,
- 47, 100, 115, 139, 99, 116, -1, 48, 100, 115,
- 139, 99, 116, -1, 49, 113, -1, 39, 100, 115,
- 137, 99, 135, 116, 134, -1, 40, 100, 115, 138,
- 99, 135, 116, 134, -1, -1, -1, 46, 100, 115,
- 140, 101, 126, 137, 101, 127, 135, 140, 99, 116,
- -1, 46, 67, 115, 169, 100, 139, 99, 116, 134,
- -1, 46, 173, 100, 115, 139, 99, 116, 134, -1,
- -1, 46, 90, 67, 115, 170, 128, 100, 139, 99,
- 116, 134, -1, 46, 90, 171, 100, 115, 139, 99,
- 116, 134, -1, 46, 100, 115, 139, 99, 116, 134,
- -1, 113, 134, -1, -1, 37, 20, 20, 9, 115,
- 129, 118, 10, -1, 132, 101, -1, 101, -1, 23,
- 131, -1, -1, 70, 118, 71, -1, 1, -1, 152,
- -1, 152, 41, 152, -1, 152, 42, 152, -1, 152,
- 39, 152, -1, 152, 40, 138, -1, 152, 46, 152,
- -1, 152, 48, 152, -1, -1, 43, 116, -1, 44,
- 100, 139, 99, 116, 133, -1, -1, 45, 113, -1,
- -1, -1, 132, -1, -1, 152, -1, 152, -1, 152,
- -1, 136, -1, 20, -1, -1, -1, -1, -1, 20,
- -1, 25, -1, -1, 23, -1, -1, 69, 23, -1,
- 69, -1, 69, 23, -1, 69, -1, -1, 100, 150,
- 99, -1, 113, -1, 101, -1, 152, 75, 152, -1,
- 152, 74, 152, -1, 152, 73, 152, -1, 153, -1,
- 153, 77, -1, 153, 77, 162, -1, 162, -1, 57,
- 181, 153, -1, 55, 100, 181, 152, 99, -1, 162,
- 98, 156, 100, 167, 99, -1, 162, 98, 156, -1,
- 21, 181, 166, -1, 22, 181, 100, 167, 99, -1,
- 57, 166, -1, 55, 100, 167, 99, -1, -1, 30,
- 143, 113, 155, 166, -1, 21, -1, 173, -1, 180,
- 9, 152, 101, 10, -1, 173, 11, 152, 12, -1,
- 162, 98, 11, 152, 12, -1, 157, 11, 152, 12,
- -1, 173, 9, 152, 101, 10, -1, 162, 98, 9,
- 152, 101, 10, -1, 157, 9, 152, 101, 10, -1,
- 162, 98, 100, 99, -1, 162, 98, 100, 152, 99,
- -1, 157, 100, 152, 99, -1, 157, 100, 99, -1,
- 100, 152, 99, 11, 152, 12, -1, 26, 11, 152,
- 12, -1, 100, 99, 11, 152, 12, -1, 162, 78,
- 162, -1, 162, 92, 162, -1, 162, 60, 162, -1,
- 162, 61, 162, -1, 162, 86, 162, -1, 162, 58,
- 162, -1, 162, 59, 162, -1, 162, 85, 162, -1,
- 162, 84, 162, -1, 162, 51, 162, -1, 162, 83,
- 162, -1, 162, 82, 162, -1, 162, 81, 162, -1,
- 162, 87, 162, -1, 13, 162, -1, 14, 162, -1,
- 88, 162, -1, 89, 162, -1, 162, 95, -1, 162,
- 94, -1, 162, 93, -1, 97, 162, -1, 96, 162,
- -1, 11, 152, 12, -1, 11, 12, -1, 64, 152,
- 101, 10, -1, 64, 101, 10, -1, 36, 143, 146,
- 147, 113, -1, 36, 143, 115, 149, 147, 9, 118,
- 10, -1, 63, 162, -1, 63, 113, -1, 158, -1,
- 159, -1, 160, -1, 161, -1, 162, 79, 162, 80,
- 162, -1, 90, 162, -1, 164, -1, 66, 162, -1,
- 100, 152, 99, -1, 26, -1, 100, 99, -1, 173,
- -1, 177, -1, 175, -1, 174, -1, 176, -1, 157,
- -1, 178, 11, 152, 12, -1, 179, 11, 152, 12,
- -1, 178, 9, 152, 101, 10, -1, 179, 9, 152,
- 101, 10, -1, 23, -1, 172, -1, 172, 100, 99,
- -1, 172, 100, 152, 99, -1, 65, 145, 166, -1,
- 162, 98, 102, 103, -1, 162, 98, 15, 103, -1,
- 162, 98, 16, 103, -1, 162, 98, 17, 103, -1,
- 162, 98, 103, 103, -1, 50, -1, 50, 162, -1,
- 76, 153, -1, 56, -1, 56, 113, -1, 56, 162,
- -1, 68, -1, 68, 162, -1, 29, -1, 29, 162,
- -1, 53, -1, 53, 100, 99, -1, 27, -1, 27,
- 100, 99, -1, 28, -1, 54, 100, 99, -1, 54,
- 100, 152, 99, -1, -1, 24, 163, 100, 153, 168,
- 99, -1, 20, -1, 154, -1, 52, -1, 31, -1,
- 67, 165, 148, -1, 67, 165, -1, 100, 152, 99,
- -1, 100, 99, -1, 173, -1, 175, -1, 174, -1,
- -1, 153, -1, -1, 152, -1, -1, 104, 152, -1,
- 173, -1, 173, -1, 174, -1, 175, -1, 170, -1,
- 172, -1, 17, 181, -1, 102, 181, -1, 15, 181,
- -1, 16, 181, -1, 62, 181, -1, 162, 98, 62,
- 103, -1, 103, 181, -1, 174, -1, 162, 98, 15,
- -1, 175, -1, 162, 98, 16, -1, 177, -1, 162,
- 98, 103, -1, 20, -1, 173, -1, 113, -1, 25,
- -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 115, 115, 114, 125, 124, 134, 133, 146, 145,
@@ -205,20 +81,20 @@ static const yytype_uint16 yyrline[] =
617, 618, 620, 625, 627, 633, 632, 651, 652, 656,
658, 660, 662, 666, 668, 673, 677, 681, 685, 691,
696, 702, 708, 710, 713, 712, 723, 724, 728, 732,
- 735, 740, 745, 748, 752, 756, 759, 764, 768, 771,
- 773, 775, 780, 782, 784, 789, 791, 793, 795, 797,
- 799, 801, 803, 805, 807, 809, 814, 816, 819, 821,
- 823, 826, 829, 840, 843, 850, 852, 854, 856, 858,
- 861, 875, 877, 881, 882, 883, 884, 885, 887, 889,
- 891, 893, 895, 897, 899, 901, 903, 905, 907, 909,
- 911, 921, 931, 941, 951, 953, 955, 958, 963, 967,
- 969, 971, 973, 976, 978, 981, 983, 985, 987, 989,
- 991, 993, 995, 997, 1000, 1002, 1004, 1006, 1008, 1010,
- 1014, 1017, 1016, 1029, 1030, 1031, 1036, 1040, 1042, 1047,
- 1049, 1052, 1054, 1056, 1061, 1063, 1068, 1069, 1074, 1075,
- 1081, 1085, 1086, 1087, 1090, 1091, 1094, 1098, 1102, 1108,
- 1114, 1116, 1120, 1124, 1125, 1129, 1130, 1134, 1135, 1140,
- 1142, 1144, 1147
+ 735, 740, 745, 748, 752, 756, 762, 770, 777, 783,
+ 785, 787, 792, 794, 796, 801, 803, 805, 807, 809,
+ 811, 813, 815, 817, 819, 821, 826, 828, 831, 833,
+ 835, 838, 841, 852, 855, 862, 864, 866, 868, 870,
+ 873, 887, 889, 893, 894, 895, 896, 897, 899, 901,
+ 903, 905, 907, 909, 911, 913, 915, 917, 919, 921,
+ 923, 933, 943, 953, 963, 965, 967, 970, 975, 979,
+ 981, 983, 985, 988, 990, 993, 995, 997, 999, 1001,
+ 1003, 1005, 1007, 1009, 1012, 1014, 1016, 1018, 1020, 1022,
+ 1026, 1029, 1028, 1041, 1042, 1043, 1048, 1052, 1054, 1059,
+ 1061, 1064, 1066, 1068, 1073, 1075, 1080, 1081, 1086, 1087,
+ 1093, 1097, 1098, 1099, 1102, 1103, 1106, 1110, 1114, 1120,
+ 1126, 1128, 1132, 1136, 1137, 1141, 1142, 1146, 1147, 1152,
+ 1154, 1156, 1159
};
#endif
@@ -237,10 +113,10 @@ static const char *const yytname[] =
"LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP",
"LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
"HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
- "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "DOROP", "OROP", "ANDOP",
- "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND",
- "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN",
- "UMINUS", "POWOP", "POSTJOIN", "POSTDEC", "POSTINC", "PREDEC", "PREINC",
+ "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "OROP", "DOROP", "ANDOP",
+ "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "OROR", "DORDOR", "ANDAND",
+ "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "UMINUS",
+ "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN",
"ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'", "$accept", "grammar",
"$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "block", "formblock",
"remember", "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
@@ -253,13 +129,13 @@ static const char *const yytname[] =
"anonymous", "termdo", "term", "@16", "myattrterm", "myterm",
"optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var",
"refgen_topic", "amper", "scalar", "ary", "hsh", "arylen", "star",
- "sliceme", "kvslice", "gelem", "indirob", YY_NULL
+ "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 123,
@@ -276,71 +152,76 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 105, 107, 106, 108, 106, 109, 106, 110, 106,
- 111, 106, 112, 106, 113, 114, 115, 116, 117, 118,
- 118, 119, 119, 120, 120, 121, 121, 122, 122, 123,
- 122, 124, 122, 122, 125, 122, 122, 122, 122, 122,
- 122, 122, 122, 126, 127, 122, 122, 122, 128, 122,
- 122, 122, 122, 129, 122, 122, 122, 130, 131, 131,
- 132, 132, 132, 132, 132, 132, 132, 132, 133, 133,
- 133, 134, 134, 135, 136, 136, 137, 137, 138, 139,
- 140, 141, 141, 142, 143, 144, 145, 145, 146, 146,
- 147, 147, 147, 148, 148, 150, 149, 151, 151, 152,
- 152, 152, 152, 153, 153, 153, 154, 154, 154, 154,
- 154, 154, 154, 154, 155, 154, 156, 156, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 160, 160, 160, 160, 160,
- 160, 161, 161, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 163, 162, 162, 162, 162, 162, 164, 164, 165,
- 165, 165, 165, 165, 166, 166, 167, 167, 168, 168,
- 169, 170, 170, 170, 171, 171, 172, 173, 174, 175,
- 176, 176, 177, 178, 178, 179, 179, 180, 180, 181,
- 181, 181, 181
-};
+#define YYPACT_NINF -400
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-400)))
+
+#define YYTABLE_NINF -248
+
+#define yytable_value_is_error(Yytable_value) \
+ (!!((Yytable_value) == (-248)))
+
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const yytype_int16 yypact[] =
{
- 0, 2, 0, 4, 0, 3, 0, 3, 0, 3,
- 0, 3, 0, 3, 4, 7, 0, 4, 0, 0,
- 2, 0, 2, 1, 1, 2, 2, 1, 4, 0,
- 7, 0, 10, 4, 0, 7, 7, 7, 6, 6,
- 2, 8, 8, 0, 0, 13, 9, 8, 0, 11,
- 9, 7, 2, 0, 8, 2, 1, 2, 0, 3,
- 1, 1, 3, 3, 3, 3, 3, 3, 0, 2,
- 6, 0, 2, 0, 0, 1, 0, 1, 1, 1,
- 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
- 0, 2, 1, 2, 1, 0, 3, 1, 1, 3,
- 3, 3, 1, 2, 3, 1, 3, 5, 6, 3,
- 3, 5, 2, 4, 0, 5, 1, 1, 5, 4,
- 5, 4, 5, 6, 5, 4, 5, 4, 3, 6,
- 4, 5, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 3, 2, 4, 3, 5,
- 8, 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, 1, 3, 2, 3,
- 2, 1, 1, 1, 0, 1, 0, 1, 0, 2,
- 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
- 2, 4, 2, 1, 3, 1, 3, 1, 3, 1,
- 1, 1, 1
+ 365, -400, -400, -400, -400, -400, -400, 73, -400, 2688,
+ 78, 1473, 1378, -400, -400, -400, 1944, 2688, 2688, 49,
+ 49, 49, -400, 49, 49, -400, -400, 68, -8, -400,
+ 2688, -400, -400, -400, 2688, -400, -3, 8, 11, 1851,
+ 1756, 49, 1851, 2037, 22, 2688, 1, 2688, 2688, 2688,
+ 2688, 2688, 2688, 2688, 2130, 49, 49, -19, 14, -400,
+ 9, -400, -400, -400, -400, 2756, -400, -400, 24, 67,
+ 72, 106, -400, 105, 118, 165, 109, -400, -400, -400,
+ -400, -400, 22, 111, -400, 39, 50, 62, 65, -14,
+ 69, 77, 78, -400, 87, -400, 48, 506, 1378, -400,
+ -400, -400, 618, 713, -400, 70, 398, 398, -400, -400,
+ -400, -400, -400, -400, -400, 2688, 95, 96, 2688, 102,
+ 368, 78, 16, 2756, 107, 2223, 1756, -400, 368, 516,
+ 14, -400, 440, 2688, -400, -400, 368, 195, 93, -400,
+ -400, 2688, 368, 2316, 150, -400, -400, -400, 368, 14,
+ 398, 398, 398, 414, 414, 210, 152, -400, -400, 2688,
+ 2688, 2688, 2688, 2688, 2688, 2409, 2688, 2688, 2688, 2688,
+ 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
+ 2688, -400, -400, -400, 131, 2502, 2688, 2688, 2688, 2688,
+ 2688, 2688, 2688, -400, 200, -400, 223, -400, -400, -400,
+ -400, -400, -400, 55, -400, 146, -400, -400, -400, 78,
+ -400, -400, 2688, 2688, 2688, 2688, 2688, 2688, -400, -400,
+ -400, -400, -400, 2688, 2688, 98, -400, -400, -400, 148,
+ 160, -400, -400, 163, 151, 2688, 14, -400, 239, -400,
+ -400, 292, 232, -400, 2688, 245, 192, 192, -400, 2756,
+ 209, 125, -400, 531, 1555, 473, 1927, 349, 203, 2756,
+ 2714, 1647, 1647, 1741, 1836, 2020, 410, 398, 398, 2688,
+ 2688, 170, 172, 182, -400, 183, 2595, 32, 184, 168,
+ -400, -400, 588, 249, 129, 273, 141, 278, 149, 357,
+ 808, -400, 252, 189, -6, 276, 2688, 2688, 2688, 2688,
+ 205, -400, -400, 197, -400, -400, -400, -400, 1567, -400,
+ 2688, 2688, -400, -19, -400, -19, -19, -19, -19, -19,
+ 217, -29, -400, 2688, -400, 160, 279, 78, -400, -400,
+ 603, -400, -400, -400, 167, 2688, 298, -400, -400, 2688,
+ 509, 179, -400, -400, -400, -400, -400, 616, -400, -400,
+ 2688, -400, 299, -400, 308, -400, 319, -400, 328, -400,
+ -400, -400, 316, -400, -400, -400, 322, 244, -19, 250,
+ 257, -19, 258, 262, -400, 21, -400, -400, -400, 259,
+ 275, 286, 2688, 264, 281, -400, 2688, 284, -400, 287,
+ 378, -400, -400, -400, -400, 185, -400, 2798, 380, -400,
+ -400, 289, -400, -400, -400, -400, 291, 160, 148, -400,
+ 2688, -400, -400, 399, 399, 2688, -400, 2688, 399, -400,
+ 318, 399, 399, -19, -400, -400, -400, -400, -400, -400,
+ 344, 6, 160, -400, 320, 399, 399, -400, 18, 18,
+ 321, 323, 325, 87, 2688, 399, -400, -400, 903, -400,
+ -400, -400, -400, 424, 998, -400, 87, 87, -400, 399,
+ 334, -400, -400, 399, 2688, 399, -400, 336, 87, -400,
+ 3, -400, -400, -400, -400, 1093, -400, 2688, 87, 343,
+ 87, -400, -400, 383, 438, -400, 1188, -400, 362, -400,
+ 399, -400, -400, -400, -400, -400, -400, 399, 87, 1661,
+ 1283, 18, -400, 363, -400, -400, 399, -400
};
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
+ /* 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_uint8 yydefact[] =
{
0, 2, 4, 6, 8, 10, 12, 0, 16, 226,
@@ -358,18 +239,18 @@ static const yytype_uint8 yydefact[] =
203, 0, 88, 195, 0, 0, 226, 198, 199, 249,
225, 112, 250, 0, 240, 162, 161, 0, 0, 86,
87, 224, 170, 0, 218, 221, 223, 222, 201, 196,
- 148, 149, 168, 154, 153, 173, 0, 237, 242, 0,
+ 148, 149, 168, 153, 154, 173, 0, 237, 242, 0,
0, 0, 103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 152, 151, 150, 0, 0, 0, 0, 0, 0,
+ 0, 150, 151, 152, 0, 0, 0, 0, 0, 0,
0, 0, 0, 19, 82, 83, 0, 34, 16, 16,
16, 16, 16, 0, 16, 0, 16, 16, 40, 0,
52, 55, 0, 0, 0, 0, 0, 0, 26, 25,
20, 155, 110, 226, 0, 0, 207, 114, 89, 0,
90, 205, 209, 0, 0, 0, 106, 158, 0, 188,
- 220, 0, 94, 217, 0, 171, 101, 100, 99, 104,
+ 220, 0, 94, 217, 0, 171, 100, 101, 99, 104,
0, 0, 128, 0, 141, 137, 138, 134, 135, 132,
- 0, 144, 143, 142, 140, 139, 136, 145, 133, 0,
+ 0, 143, 144, 142, 140, 139, 136, 145, 133, 0,
0, 244, 246, 0, 116, 0, 0, 0, 248, 109,
117, 186, 0, 0, 0, 0, 0, 0, 0, 0,
0, 81, 0, 29, 0, 0, 76, 0, 0, 0,
@@ -396,7 +277,20 @@ static const yytype_uint8 yydefact[] =
0, 68, 49, 0, 59, 70, 0, 45
};
-/* YYDEFGOTO[NTERM-NUM]. */
+ /* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -400, -400, -400, -400, -400, -400, -400, -400, 4, -400,
+ 113, -81, -400, -15, -400, 455, 371, -9, -400, -400,
+ -400, -400, -400, -400, -400, -400, -400, -307, -399, -30,
+ -380, -400, 30, 178, -289, -16, -400, 290, 451, -400,
+ 405, 130, -313, -400, 121, -400, -400, -5, -35, -400,
+ -400, -400, -400, -400, -400, -400, -400, 227, -400, -400,
+ -400, -106, -118, -400, -400, 128, -400, 301, 44, -40,
+ -39, -400, -400, -400, -400, -400, 10
+};
+
+ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 7, 8, 9, 10, 11, 12, 13, 94, 361,
@@ -409,81 +303,9 @@ static const yytype_int16 yydefgoto[] =
71, 72, 73, 74, 75, 76, 157
};
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -400
-static const yytype_int16 yypact[] =
-{
- 565, -400, -400, -400, -400, -400, -400, 73, -400, 2699,
- 69, 1486, 1389, -400, -400, -400, 1955, 2699, 2699, 49,
- 49, 49, -400, 49, 49, -400, -400, 76, -8, -400,
- 2699, -400, -400, -400, 2699, -400, -3, 8, 11, 1862,
- 1767, 49, 1862, 2048, 22, 2699, 1, 2699, 2699, 2699,
- 2699, 2699, 2699, 2699, 2141, 49, 49, -19, 14, -400,
- 9, -400, -400, -400, -400, 2770, -400, -400, 24, 68,
- 72, 106, -400, 105, 118, 165, 109, -400, -400, -400,
- -400, -400, 22, 111, -400, 39, 50, 62, 65, -14,
- 77, 95, 69, -400, 87, -400, 48, 506, 1389, -400,
- -400, -400, 612, 710, -400, 70, 490, 490, -400, -400,
- -400, -400, -400, -400, -400, 2699, 96, 101, 2699, 107,
- 410, 69, 16, 2770, 120, 2234, 1767, -400, 410, 516,
- 14, -400, 440, 2699, -400, -400, 410, 159, 93, -400,
- -400, 2699, 410, 2327, 136, -400, -400, -400, 410, 14,
- 490, 490, 490, 258, 258, 210, 152, -400, -400, 2699,
- 2699, 2699, 2699, 2699, 2699, 2420, 2699, 2699, 2699, 2699,
- 2699, 2699, 2699, 2699, 2699, 2699, 2699, 2699, 2699, 2699,
- 2699, -400, -400, -400, 131, 2513, 2699, 2699, 2699, 2699,
- 2699, 2699, 2699, -400, 200, -400, 223, -400, -400, -400,
- -400, -400, -400, 55, -400, 146, -400, -400, -400, 69,
- -400, -400, 2699, 2699, 2699, 2699, 2699, 2699, -400, -400,
- -400, -400, -400, 2699, 2699, 98, -400, -400, -400, 148,
- 160, -400, -400, 163, 150, 2699, 14, -400, 240, -400,
- -400, 293, 232, -400, 2699, 245, 192, 192, -400, 2770,
- 209, 125, -400, 531, 1567, 2033, 371, 695, 203, 2770,
- 2725, 1658, 1658, 1752, 1847, 1940, 278, 490, 490, 2699,
- 2699, 170, 172, 182, -400, 183, 2606, 32, 184, 168,
- -400, -400, 597, 249, 129, 273, 141, 436, 149, 486,
- 807, -400, 252, 189, -6, 279, 2699, 2699, 2699, 2699,
- 198, -400, -400, 202, -400, -400, -400, -400, 1579, -400,
- 2699, 2699, -400, -19, -400, -19, -19, -19, -19, -19,
- 208, -29, -400, 2699, -400, 160, 285, 69, -400, -400,
- 617, -400, -400, -400, 167, 2699, 299, -400, -400, 2699,
- 582, 179, -400, -400, -400, -400, -400, 630, -400, -400,
- 2699, -400, 306, -400, 308, -400, 319, -400, 332, -400,
- -400, -400, 320, -400, -400, -400, 329, 259, -19, 263,
- 264, -19, 270, 257, -400, 21, -400, -400, -400, 280,
- 282, 286, 2699, 281, 287, -400, 2699, 288, -400, 289,
- 381, -400, -400, -400, -400, 185, -400, 2815, 398, -400,
- -400, 292, -400, -400, -400, -400, 314, 160, 148, -400,
- 2699, -400, -400, 408, 408, 2699, -400, 2699, 408, -400,
- 321, 408, 408, -19, -400, -400, -400, -400, -400, -400,
- 350, 6, 160, -400, 322, 408, 408, -400, 18, 18,
- 325, 328, 334, 87, 2699, 408, -400, -400, 904, -400,
- -400, -400, -400, 425, 1001, -400, 87, 87, -400, 408,
- 336, -400, -400, 408, 2699, 408, -400, 340, 87, -400,
- 3, -400, -400, -400, -400, 1098, -400, 2699, 87, 338,
- 87, -400, -400, 372, 426, -400, 1195, -400, 345, -400,
- 408, -400, -400, -400, -400, -400, -400, 408, 87, 1672,
- 1292, 18, -400, 347, -400, -400, 408, -400
-};
-
-/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
-{
- -400, -400, -400, -400, -400, -400, -400, -400, 4, -400,
- 113, -81, -400, -15, -400, 435, 355, -9, -400, -400,
- -400, -400, -400, -400, -400, -400, -400, -307, -399, -30,
- -380, -400, 17, 157, -289, -44, -400, 265, 429, -400,
- 385, 112, -313, -400, 67, -400, -400, -5, -35, -400,
- -400, -400, -400, -400, -400, -400, -400, 227, -400, -400,
- -400, -106, -118, -400, -400, 108, -400, 284, 44, -40,
- -39, -400, -400, -400, -400, -400, 10
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -248
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
103, 377, 95, 364, 57, 130, 146, 147, 234, 222,
@@ -493,8 +315,8 @@ static const yytype_int16 yytable[] =
462, 77, 139, 127, 110, 110, 135, 140, 162, 156,
133, 134, 108, 202, 159, 160, 161, 109, 77, 110,
110, 459, 460, 111, 111, 111, 158, 111, 111, 108,
- 19, 20, 21, 14, 109, 386, 203, 186, 77, 187,
- 130, -243, 221, -243, 132, 111, 204, 118, 55, 219,
+ 19, 20, 21, 14, 109, 386, 186, 203, 187, 118,
+ 130, -243, 221, -243, 132, 111, 204, 77, 55, 219,
145, 162, 119, 420, 431, 365, 208, 124, 236, 111,
111, 143, 505, 55, 484, 320, 130, 450, 125, 165,
322, 126, 499, 225, -247, -245, -16, -245, 192, 453,
@@ -502,101 +324,72 @@ static const yytype_int16 yytable[] =
110, 196, 209, 205, 55, 348, 235, 337, 241, 198,
269, 353, 270, 159, 160, 161, 271, 272, 273, 211,
199, 55, 274, 355, 246, 247, 248, 55, 250, 251,
- 253, 357, 200, 306, 307, 201, 159, 160, 161, 237,
- 132, 159, 160, 161, 190, 479, 191, 206, 290, 394,
+ 253, 357, 200, 306, 307, 201, 159, 160, 161, 206,
+ 132, 159, 160, 161, 190, 479, 191, 207, 290, 394,
282, 283, 284, 285, 286, 287, 288, 289, 488, 321,
- 193, 399, 377, 275, 238, 207, 223, 427, 159, 160,
- 161, 224, 159, 160, 161, 242, 226, 313, 315, 316,
- 317, 318, 319, 312, 159, 160, 161, 388, 57, 231,
+ 193, 399, 377, 275, 238, 223, 224, 427, 159, 160,
+ 161, 226, 159, 160, 161, 237, 231, 313, 315, 316,
+ 317, 318, 319, 312, 159, 160, 161, 388, 57, 242,
291, 244, 159, 160, 161, 159, 160, 161, 280, 326,
330, 276, 401, 277, 278, 229, 159, 160, 161, 334,
- 159, 160, 161, 294, 106, 107, 309, 305, 324, 329,
- 331, 245, 159, 160, 161, 333, 335, 120, 159, 160,
+ 159, 160, 161, 294, 106, 107, 309, 305, 324, 331,
+ 329, 245, 159, 160, 161, 333, 335, 120, 159, 160,
161, 123, 328, 169, 340, 341, 128, 161, 350, 136,
360, 347, 142, 342, 148, 343, 150, 151, 152, 153,
154, 110, 159, 160, 161, 344, 345, 349, 130, -31,
- 179, 368, 315, 371, 371, 180, 181, 182, 183, 366,
- 55, 184, 376, 381, 434, 371, 371, 385, 391, 396,
- 336, 296, 297, 298, 299, 300, 402, 308, 403, 310,
+ 179, 368, 315, 371, 371, 180, 366, 376, 181, 182,
+ 183, 184, 391, 381, 434, 371, 371, 55, 396, 402,
+ 336, 296, 297, 298, 299, 300, 385, 308, 403, 310,
311, 111, 159, 160, 161, 212, 213, 214, 215, 404,
- 395, 392, 216, 439, 217, 306, 307, 443, 169, 170,
- 446, 447, 405, 228, 374, 57, 159, 160, 161, 410,
- 352, -248, -248, -248, 456, 457, 184, 415, 411, 159,
- 160, 161, 412, 413, 468, 179, 159, 160, 161, 414,
- 180, 181, 182, 183, 354, 130, 184, 371, 476, 418,
- 421, 423, 478, 419, 480, -79, 422, 424, 425, 249,
- 426, 429, 332, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 428, 498,
- 371, 448, 371, 466, 375, 430, 501, 437, 454, 305,
- 445, 449, 382, 455, 463, 507, 473, 474, 464, 167,
- -248, 169, 170, 465, 471, 451, 477, 490, 482, 368,
- -174, 481, 493, 475, 497, 495, 506, 99, 489, 186,
- 491, 187, -174, 218, 369, 503, 486, 178, 179, 371,
- 293, 467, 122, 180, 181, 182, 183, 195, 502, 184,
- 169, 170, 371, 406, 407, 432, 408, 409, 500, -174,
- -174, -174, -174, 416, 0, 0, -174, 304, -174, 417,
- 0, -174, 0, 0, 0, 0, 178, 179, -174, -174,
- -174, -174, 180, 181, 182, 183, 0, 0, 184, 159,
- 160, 161, 0, -174, -174, -174, -213, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -213, 0,
- 0, 0, -174, -174, -174, -174, 0, 356, -174, -174,
+ 395, 392, 216, 439, 217, 306, 307, 443, 405, 228,
+ 446, 447, 410, 411, 374, 57, 159, 160, 161, 412,
+ 352, 159, 160, 161, 456, 457, 413, 414, 418, 159,
+ 160, 161, 415, 421, 468, 159, 160, 161, 1, 2,
+ 3, 4, 5, 6, 354, 130, 419, 371, 476, 356,
+ 422, 423, 478, 424, 480, -79, 425, 426, 429, 249,
+ 428, 332, 430, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 437, 498,
+ 371, 448, 371, 466, 375, 449, 501, 445, 454, 305,
+ 463, 455, 382, 464, 465, 507, 473, 474, 169, 170,
+ 159, 160, 161, 471, 477, 451, 179, 481, 482, 368,
+ -174, 180, 490, 475, 181, 182, 183, 184, 489, 186,
+ 491, 187, -174, 493, 178, 179, 486, 495, 358, 371,
+ 180, 497, 506, 181, 182, 183, 184, 99, 502, 218,
+ 169, 170, 371, 406, 467, 369, 408, 409, 500, -174,
+ -174, -174, -174, 503, 122, 293, -174, 195, -174, 417,
+ 180, -174, 407, 181, 182, 183, 184, 179, -174, -174,
+ -174, -174, 180, 416, 304, 181, 182, 183, 184, -248,
+ -248, -248, 184, -174, -174, -174, -213, -174, -174, -174,
+ -174, -174, -174, -174, -174, -174, -174, -174, -213, 432,
+ 0, -248, -174, 169, 170, -174, -174, -174, -174, -174,
0, -174, 0, 0, -174, 212, 213, 214, 215, 0,
- 0, 0, 216, 0, 217, -213, -213, -213, -213, 159,
- 160, 161, -213, 0, -213, 0, 397, -213, 1, 2,
- 3, 4, 5, 6, -213, -213, -213, -213, 0, 159,
- 160, 161, 180, 181, 182, 183, 0, 358, 184, -213,
+ 0, 0, 216, 0, 217, -213, -213, -213, -213, 178,
+ 179, 0, -213, 0, -213, 180, 397, -213, 181, 182,
+ 183, 184, 0, 0, -213, -213, -213, -213, 0, 159,
+ 160, 161, 159, 160, 161, 0, 0, 0, 0, -213,
-213, -213, 0, -213, -213, -213, -213, -213, -213, -213,
- -213, -213, -213, -213, 159, 160, 161, 0, -213, -213,
- -213, -213, -13, 79, -213, -213, 0, -213, 0, 0,
- -213, 77, 0, 16, 0, 17, 18, 19, 20, 21,
- 338, 0, 22, 23, 24, 25, 26, 0, 27, 28,
- 29, 30, 31, 32, 80, 98, 81, 82, 33, 83,
- 84, 85, 86, 87, 88, 159, 160, 161, 89, 90,
- 91, 92, 34, 0, 35, 36, 37, 38, 39, 40,
- 159, 160, 161, 0, 41, 42, 43, 44, 45, 46,
- 47, 0, 0, 398, 0, 0, 0, 0, 48, 0,
- 159, 160, 161, 0, 0, 0, 351, 0, 0, 0,
- 49, 50, 51, 159, 160, 161, 0, 0, 52, 53,
- -3, 79, 54, 93, 55, 56, 393, 0, 0, 77,
- 0, 16, 0, 17, 18, 19, 20, 21, 0, 400,
- 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
- 31, 32, 80, 98, 81, 82, 33, 83, 84, 85,
- 86, 87, 88, 0, 0, 0, 89, 90, 91, 92,
- 34, 0, 35, 36, 37, 38, 39, 40, 0, 0,
- 0, 0, 41, 42, 43, 44, 45, 46, 47, 0,
- 0, 0, 179, 0, 0, 0, 48, 180, 181, 182,
- 183, 0, 0, 184, 0, 0, 0, 0, 49, 50,
- 51, 0, 0, 0, 0, 0, 52, 53, 79, 0,
- 54, 93, 55, 56, 0, 0, 77, 359, 16, 0,
- 17, 18, 19, 20, 21, 0, 0, 22, 23, 24,
- 25, 26, 0, 27, 28, 29, 30, 31, 32, 80,
- 98, 81, 82, 33, 83, 84, 85, 86, 87, 88,
- 0, 0, 0, 89, 90, 91, 92, 34, 0, 35,
- 36, 37, 38, 39, 40, 0, 0, 0, 0, 41,
- 42, 43, 44, 45, 46, 47, 0, 0, 0, 0,
- 0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 49, 50, 51, 0, 0,
- 0, 0, 0, 52, 53, 79, 0, 54, 93, 55,
- 56, 0, 0, 77, 469, 16, 0, 17, 18, 19,
- 20, 21, 0, 0, 22, 23, 24, 25, 26, 0,
- 27, 28, 29, 30, 31, 32, 80, 98, 81, 82,
- 33, 83, 84, 85, 86, 87, 88, 0, 0, 0,
- 89, 90, 91, 92, 34, 0, 35, 36, 37, 38,
- 39, 40, 0, 0, 0, 0, 41, 42, 43, 44,
- 45, 46, 47, 0, 0, 0, 0, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 49, 50, 51, 0, 0, 0, 0, 0,
- 52, 53, 79, 0, 54, 93, 55, 56, 0, 0,
- 77, 472, 16, 0, 17, 18, 19, 20, 21, 0,
- 0, 22, 23, 24, 25, 26, 0, 27, 28, 29,
- 30, 31, 32, 80, 98, 81, 82, 33, 83, 84,
- 85, 86, 87, 88, 0, 0, 0, 89, 90, 91,
- 92, 34, 0, 35, 36, 37, 38, 39, 40, 0,
- 0, 0, 0, 41, 42, 43, 44, 45, 46, 47,
- 0, 0, 0, 0, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
- 50, 51, 0, 0, 0, 0, 0, 52, 53, 79,
- 0, 54, 93, 55, 56, 0, 0, 77, 487, 16,
+ -213, -213, -213, -213, 159, 160, 161, 0, -213, 0,
+ 398, -213, -213, -213, -213, -213, 0, -213, -13, 79,
+ -213, 0, 0, 0, 0, 0, 0, 77, 0, 16,
+ 338, 17, 18, 19, 20, 21, 0, 0, 22, 23,
+ 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
+ 80, 98, 81, 82, 33, 83, 84, 85, 86, 87,
+ 88, 159, 160, 161, 89, 90, 91, 92, 34, 0,
+ 35, 36, 37, 38, 39, 40, 159, 160, 161, 0,
+ 41, 42, 43, 44, 45, 46, 47, 351, 0, 159,
+ 160, 161, 0, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 393, 0, 0, 0, 49, 50, 0, 51,
+ 0, 52, 53, -3, 79, 400, 0, 0, 54, 93,
+ 55, 56, 77, 0, 16, 0, 17, 18, 19, 20,
+ 21, 0, 0, 22, 23, 24, 25, 26, 0, 27,
+ 28, 29, 30, 31, 32, 80, 98, 81, 82, 33,
+ 83, 84, 85, 86, 87, 88, 0, 0, 0, 89,
+ 90, 91, 92, 34, 0, 35, 36, 37, 38, 39,
+ 40, 0, 0, 0, 0, 41, 42, 43, 44, 45,
+ 46, 47, 0, 0, 0, 0, 0, 0, 0, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 50, 0, 51, 0, 52, 53, 0, 79,
+ 0, 0, 0, 54, 93, 55, 56, 77, 359, 16,
0, 17, 18, 19, 20, 21, 0, 0, 22, 23,
24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
80, 98, 81, 82, 33, 83, 84, 85, 86, 87,
@@ -604,131 +397,131 @@ static const yytype_int16 yytable[] =
35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
41, 42, 43, 44, 45, 46, 47, 0, 0, 0,
0, 0, 0, 0, 48, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 49, 50, 51, 0,
- 0, 0, 0, 0, 52, 53, 79, 0, 54, 93,
- 55, 56, 0, 0, 77, 496, 16, 0, 17, 18,
- 19, 20, 21, 0, 0, 22, 23, 24, 25, 26,
- 0, 27, 28, 29, 30, 31, 32, 80, 98, 81,
- 82, 33, 83, 84, 85, 86, 87, 88, 0, 0,
- 0, 89, 90, 91, 92, 34, 0, 35, 36, 37,
- 38, 39, 40, 0, 0, 0, 0, 41, 42, 43,
- 44, 45, 46, 47, 0, 0, 0, 0, 0, 0,
- 0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 49, 50, 51, 0, 0, 0, 0,
- 0, 52, 53, 79, 0, 54, 93, 55, 56, 0,
- 0, 77, 0, 16, 0, 17, 18, 19, 20, 21,
- 0, 0, 22, 23, 24, 25, 26, 0, 27, 28,
- 29, 30, 31, 32, 80, 98, 81, 82, 33, 83,
- 84, 85, 86, 87, 88, 0, 0, 0, 89, 90,
- 91, 92, 34, 0, 35, 36, 37, 38, 39, 40,
- 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
- 47, 0, 0, 504, 0, 0, 0, 0, 48, 0,
+ 0, 0, 0, 0, 0, 0, 49, 50, 0, 51,
+ 0, 52, 53, 0, 79, 0, 0, 0, 54, 93,
+ 55, 56, 77, 469, 16, 0, 17, 18, 19, 20,
+ 21, 0, 0, 22, 23, 24, 25, 26, 0, 27,
+ 28, 29, 30, 31, 32, 80, 98, 81, 82, 33,
+ 83, 84, 85, 86, 87, 88, 0, 0, 0, 89,
+ 90, 91, 92, 34, 0, 35, 36, 37, 38, 39,
+ 40, 0, 0, 0, 0, 41, 42, 43, 44, 45,
+ 46, 47, 0, 0, 0, 0, 0, 0, 0, 48,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 50, 51, 0, 0, 0, 0, 0, 52, 53,
- 79, 0, 54, 93, 55, 56, 0, 0, 77, 0,
- 16, 0, 17, 18, 19, 20, 21, 0, 0, 22,
- 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
- 32, 80, 98, 81, 82, 33, 83, 84, 85, 86,
- 87, 88, 0, 0, 0, 89, 90, 91, 92, 34,
- 0, 35, 36, 37, 38, 39, 40, 0, 0, 0,
- 0, 41, 42, 43, 44, 45, 46, 47, 0, 0,
- 0, 0, 0, 0, 0, 48, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 49, 50, 51,
- 0, 0, 0, 0, 0, 52, 53, 79, 0, 54,
- 93, 55, 56, 0, 0, 77, 0, 16, 0, 17,
- 18, 19, 20, 21, 0, 0, 22, 23, 24, 25,
- 26, 0, 27, 28, 29, 30, 31, 32, 80, 0,
- 81, 82, 33, 83, 84, 85, 86, 87, 88, 0,
- 0, 0, 89, 90, 91, 92, 34, 0, 35, 36,
- 37, 38, 39, 40, 0, 0, 0, 0, 41, 42,
- 43, 44, 45, 46, 47, 0, 0, 0, 0, 0,
- 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 50, 51, 0, 0, 0,
- 79, 0, 52, 53, 0, 0, 54, 93, 55, 56,
- 16, 0, 17, 18, 19, 20, 21, 0, 0, 22,
- 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
- 32, 0, 0, 0, 0, 33, 0, 0, -248, 0,
- 0, 0, 0, 0, 0, 167, 168, 169, 170, 34,
- 0, 35, 36, 37, 38, 39, 40, 0, 0, 0,
- 0, 41, 42, 43, 44, 45, 46, 47, 173, 174,
- 175, 176, 177, 178, 179, 48, 0, 0, 0, 180,
- 181, 182, 183, 0, 0, 184, 0, 49, 50, 51,
- 0, 0, 0, 79, 0, 52, 53, 0, 0, 54,
- -74, 55, 56, 16, 0, 17, 18, 19, 20, 21,
- 0, 0, 22, 23, 24, 25, 26, 0, 27, 28,
- 29, 30, 31, 32, 0, 0, 0, 0, 33, 0,
- 0, 0, 0, 0, 0, 0, 167, 168, 169, 170,
- 0, 0, 34, 0, 35, 36, 37, 38, 39, 40,
- 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
- 47, 175, 176, 177, 178, 179, 0, 0, 48, 0,
- 180, 181, 182, 183, 0, 0, 184, 0, 0, 0,
- 49, 50, 51, 0, 0, 0, 0, 0, 52, 53,
- 0, -74, 54, 0, 55, 56, 77, 0, 16, 0,
- 17, 18, 19, 20, 21, 0, 0, 129, 23, 24,
- 25, 26, 109, 27, 28, 29, 30, 31, 32, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
- 167, 168, 169, 170, 0, 0, 0, 34, 0, 35,
- 36, 37, 38, 39, 40, 0, 0, 0, 0, 41,
- 42, 43, 44, 45, 46, 47, 176, 177, 178, 179,
- 0, 0, 0, 48, 180, 181, 182, 183, 0, 0,
- 184, 0, 0, 0, 0, 49, 50, 51, 0, 0,
- 0, 0, 0, 52, 53, 0, 0, 54, 0, 55,
- 56, 77, 0, 16, 0, 17, 18, 19, 20, 21,
- 0, 0, 22, 23, 24, 25, 26, 0, 27, 28,
- 29, 30, 31, 32, 0, 0, 0, 0, 33, 0,
- 0, 0, 0, 0, 0, 167, 168, 169, 170, 0,
- 0, 0, 34, 0, 35, 36, 37, 38, 39, 40,
- 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
- 47, 0, 177, 178, 179, 0, 0, 0, 48, 180,
- 181, 182, 183, 0, 0, 184, 0, 0, 0, 0,
- 49, 50, 51, 0, 0, 0, 0, 0, 52, 53,
- 0, 0, 54, 0, 55, 56, 16, 104, 17, 18,
- 19, 20, 21, 0, 0, 22, 23, 24, 25, 26,
- 0, 27, 28, 29, 30, 31, 32, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 167, 168,
- 169, 170, 0, 0, 0, 34, 0, 35, 36, 37,
- 38, 39, 40, 0, 0, 0, 0, 41, 42, 43,
- 44, 45, 46, 47, 0, 0, 178, 179, 0, 0,
- 0, 48, 180, 181, 182, 183, 0, 0, 184, 0,
- 0, 0, 0, 49, 50, 51, 0, 0, 0, 0,
- 0, 52, 53, 0, 0, 54, 0, 55, 56, 16,
+ 0, 49, 50, 0, 51, 0, 52, 53, 0, 79,
+ 0, 0, 0, 54, 93, 55, 56, 77, 472, 16,
0, 17, 18, 19, 20, 21, 0, 0, 22, 23,
24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
- 0, -248, 0, 169, 170, 0, 0, 0, 34, 0,
+ 80, 98, 81, 82, 33, 83, 84, 85, 86, 87,
+ 88, 0, 0, 0, 89, 90, 91, 92, 34, 0,
+ 35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
+ 41, 42, 43, 44, 45, 46, 47, 0, 0, 0,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 49, 50, 0, 51,
+ 0, 52, 53, 0, 79, 0, 0, 0, 54, 93,
+ 55, 56, 77, 487, 16, 0, 17, 18, 19, 20,
+ 21, 0, 0, 22, 23, 24, 25, 26, 0, 27,
+ 28, 29, 30, 31, 32, 80, 98, 81, 82, 33,
+ 83, 84, 85, 86, 87, 88, 0, 0, 0, 89,
+ 90, 91, 92, 34, 0, 35, 36, 37, 38, 39,
+ 40, 0, 0, 0, 0, 41, 42, 43, 44, 45,
+ 46, 47, 0, 0, 0, 0, 0, 0, 0, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 50, 0, 51, 0, 52, 53, 0, 79,
+ 0, 0, 0, 54, 93, 55, 56, 77, 496, 16,
+ 0, 17, 18, 19, 20, 21, 0, 0, 22, 23,
+ 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
+ 80, 98, 81, 82, 33, 83, 84, 85, 86, 87,
+ 88, 0, 0, 0, 89, 90, 91, 92, 34, 0,
35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
- 41, 42, 43, 44, 45, 46, 47, 0, 0, 178,
- 179, 0, 0, 0, 48, 180, 181, 182, 183, 0,
- 0, 184, 0, 0, 0, 0, 49, 50, 51, 0,
- 0, 0, 0, 0, 52, 53, 0, 0, 54, 137,
- 55, 56, 16, 0, 17, 18, 19, 20, 21, 0,
+ 41, 42, 43, 44, 45, 46, 47, 0, 0, 0,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 49, 50, 0, 51,
+ 0, 52, 53, 0, 79, 0, 0, 0, 54, 93,
+ 55, 56, 77, 0, 16, 0, 17, 18, 19, 20,
+ 21, 0, 0, 22, 23, 24, 25, 26, 0, 27,
+ 28, 29, 30, 31, 32, 80, 98, 81, 82, 33,
+ 83, 84, 85, 86, 87, 88, 0, 0, 0, 89,
+ 90, 91, 92, 34, 0, 35, 36, 37, 38, 39,
+ 40, 0, 0, 0, 0, 41, 42, 43, 44, 45,
+ 46, 47, 0, 0, 504, 0, 0, 0, 0, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 50, 0, 51, 0, 52, 53, 0, 79,
+ 0, 0, 0, 54, 93, 55, 56, 77, 0, 16,
+ 0, 17, 18, 19, 20, 21, 0, 0, 22, 23,
+ 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
+ 80, 98, 81, 82, 33, 83, 84, 85, 86, 87,
+ 88, 0, 0, 0, 89, 90, 91, 92, 34, 0,
+ 35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
+ 41, 42, 43, 44, 45, 46, 47, 0, 0, 0,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 49, 50, 0, 51,
+ 0, 52, 53, 0, 79, 0, 0, 0, 54, 93,
+ 55, 56, 77, 0, 16, 0, 17, 18, 19, 20,
+ 21, 0, 0, 22, 23, 24, 25, 26, 0, 27,
+ 28, 29, 30, 31, 32, 80, 0, 81, 82, 33,
+ 83, 84, 85, 86, 87, 88, 0, 0, 0, 89,
+ 90, 91, 92, 34, 0, 35, 36, 37, 38, 39,
+ 40, 0, 0, 0, 0, 41, 42, 43, 44, 45,
+ 46, 47, 0, 0, 0, 0, 0, 0, 0, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 50, 0, 51, 0, 52, 53, 79, 0,
+ 0, 0, 0, 54, 93, 55, 56, 0, 16, 0,
+ 17, 18, 19, 20, 21, 0, 0, 22, 23, 24,
+ 25, 26, 0, 27, 28, 29, 30, 31, 32, 0,
+ 0, 0, 0, 33, 0, 0, -248, 0, 0, 0,
+ 0, 0, 0, 167, 168, 169, 170, 34, 0, 35,
+ 36, 37, 38, 39, 40, 0, 0, 0, 0, 41,
+ 42, 43, 44, 45, 46, 47, 173, 174, 175, 176,
+ 177, 178, 179, 48, 0, 0, 0, 180, 0, 0,
+ 181, 182, 183, 184, 0, 49, 50, 0, 51, 0,
+ 52, 53, 79, 0, 0, 0, 0, 54, -74, 55,
+ 56, 0, 16, 0, 17, 18, 19, 20, 21, 0,
0, 22, 23, 24, 25, 26, 0, 27, 28, 29,
30, 31, 32, 0, 0, 0, 0, 33, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 167, 168, 169, 170, 0,
0, 34, 0, 35, 36, 37, 38, 39, 40, 0,
0, 0, 0, 41, 42, 43, 44, 45, 46, 47,
- 0, 0, 0, 0, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
- 50, 51, 0, 0, 0, 0, 0, 52, 53, 0,
- 155, 54, 0, 55, 56, 16, 0, 17, 18, 19,
+ 175, 176, 177, 178, 179, 0, 0, 48, 0, 180,
+ 0, 0, 181, 182, 183, 184, 0, 0, 0, 49,
+ 50, 0, 51, 0, 52, 53, 0, 0, 0, 0,
+ -74, 54, 0, 55, 56, 77, 0, 16, 0, 17,
+ 18, 19, 20, 21, 0, 0, 129, 23, 24, 25,
+ 26, 109, 27, 28, 29, 30, 31, 32, 0, 0,
+ 0, 0, 33, 0, 0, 0, 0, 0, 0, 167,
+ 168, 169, 170, 0, 0, 0, 34, 0, 35, 36,
+ 37, 38, 39, 40, 0, 0, 0, 0, 41, 42,
+ 43, 44, 45, 46, 47, 176, 177, 178, 179, 0,
+ 0, 0, 48, 180, 0, 0, 181, 182, 183, 184,
+ 0, 0, 0, 0, 49, 50, 0, 51, 0, 52,
+ 53, 0, 0, 0, 0, 0, 54, 0, 55, 56,
+ 77, 0, 16, 0, 17, 18, 19, 20, 21, 0,
+ 0, 22, 23, 24, 25, 26, 0, 27, 28, 29,
+ 30, 31, 32, 0, 0, 0, 0, 33, 0, 0,
+ 0, 0, 0, 0, 167, 168, 169, 170, 0, 0,
+ 0, 34, 0, 35, 36, 37, 38, 39, 40, 0,
+ 0, 0, 0, 41, 42, 43, 44, 45, 46, 47,
+ 0, 177, 178, 179, 0, 0, 0, 48, 180, 0,
+ 0, 181, 182, 183, 184, 0, 0, 0, 0, 49,
+ 50, 0, 51, 0, 52, 53, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 16, 104, 17, 18, 19,
20, 21, 0, 0, 22, 23, 24, 25, 26, 0,
27, 28, 29, 30, 31, 32, 0, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 167, -248, 169, 170, 0,
0, 0, 0, 0, 34, 0, 35, 36, 37, 38,
39, 40, 0, 0, 0, 0, 41, 42, 43, 44,
- 45, 46, 47, 0, 0, 0, 0, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 49, 50, 51, 0, 0, 0, 0, 0,
- 52, 53, 0, 232, 54, 0, 55, 56, 16, 0,
+ 45, 46, 47, 178, 179, 0, 0, 0, 0, 180,
+ 48, 0, 181, 182, 183, 184, 0, 0, 0, 0,
+ 0, 0, 49, 50, 0, 51, 0, 52, 53, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 16, 0,
17, 18, 19, 20, 21, 0, 0, 22, 23, 24,
25, 26, 0, 27, 28, 29, 30, 31, 32, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 34, 0, 35,
+ 0, 0, 0, 33, 0, 0, 0, 0, 167, 168,
+ 169, 170, 0, 0, 0, 0, 0, 34, 0, 35,
36, 37, 38, 39, 40, 0, 0, 0, 0, 41,
- 42, 43, 44, 45, 46, 47, 0, 0, 0, 0,
- 0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 49, 50, 51, 0, 0,
- 0, 0, 0, 52, 53, 0, 240, 54, 0, 55,
+ 42, 43, 44, 45, 46, 47, 178, 179, 0, 0,
+ 0, 0, 180, 48, 0, 181, 182, 183, 184, 0,
+ 0, 0, 0, 0, 0, 49, 50, 0, 51, 0,
+ 52, 53, 0, 0, 0, 0, 0, 54, 137, 55,
56, 16, 0, 17, 18, 19, 20, 21, 0, 0,
22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
31, 32, 0, 0, 0, 0, 33, 0, 0, 0,
@@ -737,7 +530,7 @@ static const yytype_int16 yytable[] =
0, 0, 41, 42, 43, 44, 45, 46, 47, 0,
0, 0, 0, 0, 0, 0, 48, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 49, 50,
- 51, 0, 0, 0, 0, 0, 52, 53, 0, 252,
+ 0, 51, 0, 52, 53, 0, 0, 0, 0, 155,
54, 0, 55, 56, 16, 0, 17, 18, 19, 20,
21, 0, 0, 22, 23, 24, 25, 26, 0, 27,
28, 29, 30, 31, 32, 0, 0, 0, 0, 33,
@@ -746,8 +539,8 @@ static const yytype_int16 yytable[] =
40, 0, 0, 0, 0, 41, 42, 43, 44, 45,
46, 47, 0, 0, 0, 0, 0, 0, 0, 48,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 49, 50, 51, 0, 0, 0, 0, 0, 52,
- 53, 0, 281, 54, 0, 55, 56, 16, 0, 17,
+ 0, 49, 50, 0, 51, 0, 52, 53, 0, 0,
+ 0, 0, 232, 54, 0, 55, 56, 16, 0, 17,
18, 19, 20, 21, 0, 0, 22, 23, 24, 25,
26, 0, 27, 28, 29, 30, 31, 32, 0, 0,
0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
@@ -755,37 +548,58 @@ static const yytype_int16 yytable[] =
37, 38, 39, 40, 0, 0, 0, 0, 41, 42,
43, 44, 45, 46, 47, 0, 0, 0, 0, 0,
0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 50, 51, 0, 0, 0,
- 0, 0, 52, 53, 0, 346, 54, 0, 55, 56,
+ 0, 0, 0, 0, 49, 50, 0, 51, 0, 52,
+ 53, 0, 0, 0, 0, 240, 54, 0, 55, 56,
16, 0, 17, 18, 19, 20, 21, 0, 0, 22,
23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
0, 35, 36, 37, 38, 39, 40, 0, 0, 0,
0, 41, 42, 43, 44, 45, 46, 47, 0, 0,
- 0, 0, 0, 0, 0, 48, 166, 0, 0, 0,
- 0, 0, 0, 167, 168, 169, 170, 49, 50, 51,
- 0, 0, 0, 0, 0, 52, 53, 0, 0, 54,
- 0, 55, 56, 171, 172, 339, 173, 174, 175, 176,
- 177, 178, 179, 0, 0, 0, 0, 180, 181, 182,
- 183, 166, 0, 184, 0, 0, 0, 0, 167, 168,
- 169, 170, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 171, 172,
- 0, 173, 174, 175, 176, 177, 178, 179, 0, 0,
- 0, 0, 180, 181, 182, 183, 166, 0, 184, 0,
- 0, 0, 0, 167, 168, 169, 170, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 49, 50, 0,
+ 51, 0, 52, 53, 0, 0, 0, 0, 252, 54,
+ 0, 55, 56, 16, 0, 17, 18, 19, 20, 21,
+ 0, 0, 22, 23, 24, 25, 26, 0, 27, 28,
+ 29, 30, 31, 32, 0, 0, 0, 0, 33, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 172, 0, 173, 174, 175, 176,
- 177, 178, 179, 0, 0, 0, 0, 180, 181, 182,
- 183, 0, 0, 184
+ 0, 0, 34, 0, 35, 36, 37, 38, 39, 40,
+ 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
+ 47, 0, 0, 0, 0, 0, 0, 0, 48, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 49, 50, 0, 51, 0, 52, 53, 0, 0, 0,
+ 0, 281, 54, 0, 55, 56, 16, 0, 17, 18,
+ 19, 20, 21, 0, 0, 22, 23, 24, 25, 26,
+ 0, 27, 28, 29, 30, 31, 32, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 34, 0, 35, 36, 37,
+ 38, 39, 40, 0, 0, 0, 0, 41, 42, 43,
+ 44, 45, 46, 47, 0, 0, 0, 0, 0, 0,
+ 0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 49, 50, 0, 51, 0, 52, 53,
+ 0, 0, 0, 0, 346, 54, 0, 55, 56, 16,
+ 0, 17, 18, 19, 20, 21, 0, 0, 22, 23,
+ 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
+ 35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
+ 41, 42, 43, 44, 45, 46, 47, 0, 0, 0,
+ 0, 0, 0, 0, 48, 166, 0, 0, 0, 0,
+ 0, 0, 167, 168, 169, 170, 49, 50, 0, 51,
+ 0, 52, 53, 0, 0, 0, 0, 0, 54, 0,
+ 55, 56, 171, 172, 339, 173, 174, 175, 176, 177,
+ 178, 179, 0, 0, 0, 0, 180, 166, 0, 181,
+ 182, 183, 184, 0, 167, 168, 169, 170, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 171, 172, 0, 173, 174, 175,
+ 176, 177, 178, 179, 0, 0, 0, 0, 180, 166,
+ 0, 181, 182, 183, 184, 0, 167, 168, 169, 170,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 172, 0, 173,
+ 174, 175, 176, 177, 178, 179, 0, 0, 0, 0,
+ 180, 0, 0, 181, 182, 183, 184
};
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-400)))
-
-#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-248)))
-
static const yytype_int16 yycheck[] =
{
15, 308, 11, 9, 9, 40, 46, 46, 126, 115,
@@ -795,8 +609,8 @@ static const yytype_int16 yycheck[] =
439, 9, 20, 39, 40, 41, 42, 25, 77, 54,
40, 41, 20, 67, 73, 74, 75, 25, 9, 55,
56, 43, 44, 19, 20, 21, 56, 23, 24, 20,
- 15, 16, 17, 0, 25, 104, 90, 9, 9, 11,
- 115, 9, 12, 11, 40, 41, 100, 11, 102, 98,
+ 15, 16, 17, 0, 25, 104, 9, 91, 11, 11,
+ 115, 9, 12, 11, 40, 41, 100, 9, 102, 98,
46, 77, 100, 382, 407, 101, 92, 100, 133, 55,
56, 100, 501, 102, 101, 223, 141, 101, 100, 100,
12, 100, 492, 118, 9, 9, 100, 11, 9, 432,
@@ -804,101 +618,72 @@ static const yytype_int16 yycheck[] =
126, 20, 45, 89, 102, 103, 126, 12, 143, 100,
9, 12, 11, 73, 74, 75, 15, 16, 17, 101,
100, 102, 21, 12, 159, 160, 161, 102, 163, 164,
- 165, 12, 100, 203, 203, 100, 73, 74, 75, 10,
+ 165, 12, 100, 203, 203, 100, 73, 74, 75, 100,
126, 73, 74, 75, 9, 464, 11, 100, 193, 12,
185, 186, 187, 188, 189, 190, 191, 192, 477, 224,
77, 12, 499, 62, 101, 100, 100, 12, 73, 74,
- 75, 100, 73, 74, 75, 69, 99, 212, 213, 214,
- 215, 216, 217, 209, 73, 74, 75, 323, 223, 99,
+ 75, 99, 73, 74, 75, 10, 99, 212, 213, 214,
+ 215, 216, 217, 209, 73, 74, 75, 323, 223, 69,
20, 11, 73, 74, 75, 73, 74, 75, 184, 69,
235, 100, 350, 102, 103, 122, 73, 74, 75, 244,
- 73, 74, 75, 20, 17, 18, 100, 203, 100, 99,
- 10, 99, 73, 74, 75, 23, 11, 30, 73, 74,
+ 73, 74, 75, 20, 17, 18, 100, 203, 100, 10,
+ 99, 99, 73, 74, 75, 23, 11, 30, 73, 74,
75, 34, 99, 60, 269, 270, 39, 75, 100, 42,
18, 276, 45, 103, 47, 103, 49, 50, 51, 52,
53, 277, 73, 74, 75, 103, 103, 103, 323, 100,
- 87, 296, 297, 298, 299, 92, 93, 94, 95, 20,
- 102, 98, 100, 308, 410, 310, 311, 99, 23, 10,
- 101, 198, 199, 200, 201, 202, 10, 204, 10, 206,
+ 87, 296, 297, 298, 299, 92, 20, 100, 95, 96,
+ 97, 98, 23, 308, 410, 310, 311, 102, 10, 10,
+ 101, 198, 199, 200, 201, 202, 99, 204, 10, 206,
207, 277, 73, 74, 75, 39, 40, 41, 42, 10,
- 335, 327, 46, 414, 48, 375, 375, 418, 60, 61,
- 421, 422, 10, 23, 300, 350, 73, 74, 75, 20,
- 101, 93, 94, 95, 435, 436, 98, 100, 99, 73,
- 74, 75, 99, 99, 445, 87, 73, 74, 75, 99,
- 92, 93, 94, 95, 101, 410, 98, 382, 459, 99,
- 99, 386, 463, 101, 465, 99, 99, 99, 99, 162,
- 9, 99, 99, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 10, 490,
- 415, 426, 417, 443, 301, 101, 497, 9, 433, 375,
- 99, 71, 309, 101, 99, 506, 456, 457, 100, 58,
- 59, 60, 61, 99, 9, 431, 100, 99, 468, 444,
- 0, 101, 70, 458, 99, 19, 99, 12, 478, 9,
- 480, 11, 12, 98, 297, 499, 471, 86, 87, 464,
- 195, 444, 33, 92, 93, 94, 95, 82, 498, 98,
- 60, 61, 477, 360, 362, 408, 363, 364, 493, 39,
- 40, 41, 42, 375, -1, -1, 46, 203, 48, 376,
- -1, 51, -1, -1, -1, -1, 86, 87, 58, 59,
- 60, 61, 92, 93, 94, 95, -1, -1, 98, 73,
- 74, 75, -1, 73, 74, 75, 0, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 12, -1,
- -1, -1, 92, 93, 94, 95, -1, 101, 98, 99,
+ 335, 327, 46, 414, 48, 375, 375, 418, 10, 23,
+ 421, 422, 20, 99, 300, 350, 73, 74, 75, 99,
+ 101, 73, 74, 75, 435, 436, 99, 99, 99, 73,
+ 74, 75, 100, 99, 445, 73, 74, 75, 3, 4,
+ 5, 6, 7, 8, 101, 410, 101, 382, 459, 101,
+ 99, 386, 463, 99, 465, 99, 99, 9, 99, 162,
+ 10, 99, 101, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 9, 490,
+ 415, 426, 417, 443, 301, 71, 497, 99, 433, 375,
+ 99, 101, 309, 100, 99, 506, 456, 457, 60, 61,
+ 73, 74, 75, 9, 100, 431, 87, 101, 468, 444,
+ 0, 92, 99, 458, 95, 96, 97, 98, 478, 9,
+ 480, 11, 12, 70, 86, 87, 471, 19, 101, 464,
+ 92, 99, 99, 95, 96, 97, 98, 12, 498, 98,
+ 60, 61, 477, 360, 444, 297, 363, 364, 493, 39,
+ 40, 41, 42, 499, 33, 195, 46, 82, 48, 376,
+ 92, 51, 362, 95, 96, 97, 98, 87, 58, 59,
+ 60, 61, 92, 375, 203, 95, 96, 97, 98, 95,
+ 96, 97, 98, 73, 74, 75, 0, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 12, 408,
+ -1, 58, 92, 60, 61, 95, 96, 97, 98, 99,
-1, 101, -1, -1, 104, 39, 40, 41, 42, -1,
- -1, -1, 46, -1, 48, 39, 40, 41, 42, 73,
- 74, 75, 46, -1, 48, -1, 339, 51, 3, 4,
- 5, 6, 7, 8, 58, 59, 60, 61, -1, 73,
- 74, 75, 92, 93, 94, 95, -1, 101, 98, 73,
+ -1, -1, 46, -1, 48, 39, 40, 41, 42, 86,
+ 87, -1, 46, -1, 48, 92, 339, 51, 95, 96,
+ 97, 98, -1, -1, 58, 59, 60, 61, -1, 73,
+ 74, 75, 73, 74, 75, -1, -1, -1, -1, 73,
74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, 87, 73, 74, 75, -1, 92, 93,
- 94, 95, 0, 1, 98, 99, -1, 101, -1, -1,
- 104, 9, -1, 11, -1, 13, 14, 15, 16, 17,
- 99, -1, 20, 21, 22, 23, 24, -1, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 73, 74, 75, 46, 47,
- 48, 49, 50, -1, 52, 53, 54, 55, 56, 57,
- 73, 74, 75, -1, 62, 63, 64, 65, 66, 67,
- 68, -1, -1, 101, -1, -1, -1, -1, 76, -1,
- 73, 74, 75, -1, -1, -1, 99, -1, -1, -1,
- 88, 89, 90, 73, 74, 75, -1, -1, 96, 97,
- 0, 1, 100, 101, 102, 103, 99, -1, -1, 9,
- -1, 11, -1, 13, 14, 15, 16, 17, -1, 99,
- 20, 21, 22, 23, 24, -1, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, -1, -1, -1, 46, 47, 48, 49,
- 50, -1, 52, 53, 54, 55, 56, 57, -1, -1,
- -1, -1, 62, 63, 64, 65, 66, 67, 68, -1,
- -1, -1, 87, -1, -1, -1, 76, 92, 93, 94,
- 95, -1, -1, 98, -1, -1, -1, -1, 88, 89,
- 90, -1, -1, -1, -1, -1, 96, 97, 1, -1,
- 100, 101, 102, 103, -1, -1, 9, 10, 11, -1,
- 13, 14, 15, 16, 17, -1, -1, 20, 21, 22,
- 23, 24, -1, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- -1, -1, -1, 46, 47, 48, 49, 50, -1, 52,
- 53, 54, 55, 56, 57, -1, -1, -1, -1, 62,
- 63, 64, 65, 66, 67, 68, -1, -1, -1, -1,
- -1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 88, 89, 90, -1, -1,
- -1, -1, -1, 96, 97, 1, -1, 100, 101, 102,
- 103, -1, -1, 9, 10, 11, -1, 13, 14, 15,
- 16, 17, -1, -1, 20, 21, 22, 23, 24, -1,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, -1, -1, -1,
- 46, 47, 48, 49, 50, -1, 52, 53, 54, 55,
- 56, 57, -1, -1, -1, -1, 62, 63, 64, 65,
- 66, 67, 68, -1, -1, -1, -1, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, -1, -1, -1, -1, -1,
- 96, 97, 1, -1, 100, 101, 102, 103, -1, -1,
- 9, 10, 11, -1, 13, 14, 15, 16, 17, -1,
- -1, 20, 21, 22, 23, 24, -1, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, -1, -1, -1, 46, 47, 48,
- 49, 50, -1, 52, 53, 54, 55, 56, 57, -1,
- -1, -1, -1, 62, 63, 64, 65, 66, 67, 68,
- -1, -1, -1, -1, -1, -1, -1, 76, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, -1, -1, -1, -1, -1, 96, 97, 1,
- -1, 100, 101, 102, 103, -1, -1, 9, 10, 11,
+ 84, 85, 86, 87, 73, 74, 75, -1, 92, -1,
+ 101, 95, 96, 97, 98, 99, -1, 101, 0, 1,
+ 104, -1, -1, -1, -1, -1, -1, 9, -1, 11,
+ 99, 13, 14, 15, 16, 17, -1, -1, 20, 21,
+ 22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 73, 74, 75, 46, 47, 48, 49, 50, -1,
+ 52, 53, 54, 55, 56, 57, 73, 74, 75, -1,
+ 62, 63, 64, 65, 66, 67, 68, 99, -1, 73,
+ 74, 75, -1, -1, 76, -1, -1, -1, -1, -1,
+ -1, -1, 99, -1, -1, -1, 88, 89, -1, 91,
+ -1, 93, 94, 0, 1, 99, -1, -1, 100, 101,
+ 102, 103, 9, -1, 11, -1, 13, 14, 15, 16,
+ 17, -1, -1, 20, 21, 22, 23, 24, -1, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, 46,
+ 47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
+ 57, -1, -1, -1, -1, 62, 63, 64, 65, 66,
+ 67, 68, -1, -1, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 88, 89, -1, 91, -1, 93, 94, -1, 1,
+ -1, -1, -1, 100, 101, 102, 103, 9, 10, 11,
-1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
@@ -906,131 +691,131 @@ static const yytype_int16 yycheck[] =
52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
-1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 88, 89, 90, -1,
- -1, -1, -1, -1, 96, 97, 1, -1, 100, 101,
- 102, 103, -1, -1, 9, 10, 11, -1, 13, 14,
- 15, 16, 17, -1, -1, 20, 21, 22, 23, 24,
- -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, -1, -1,
- -1, 46, 47, 48, 49, 50, -1, 52, 53, 54,
- 55, 56, 57, -1, -1, -1, -1, 62, 63, 64,
- 65, 66, 67, 68, -1, -1, -1, -1, -1, -1,
- -1, 76, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 88, 89, 90, -1, -1, -1, -1,
- -1, 96, 97, 1, -1, 100, 101, 102, 103, -1,
- -1, 9, -1, 11, -1, 13, 14, 15, 16, 17,
- -1, -1, 20, 21, 22, 23, 24, -1, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, -1, -1, -1, 46, 47,
- 48, 49, 50, -1, 52, 53, 54, 55, 56, 57,
- -1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
- 68, -1, -1, 71, -1, -1, -1, -1, 76, -1,
+ -1, -1, -1, -1, -1, -1, 88, 89, -1, 91,
+ -1, 93, 94, -1, 1, -1, -1, -1, 100, 101,
+ 102, 103, 9, 10, 11, -1, 13, 14, 15, 16,
+ 17, -1, -1, 20, 21, 22, 23, 24, -1, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, 46,
+ 47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
+ 57, -1, -1, -1, -1, 62, 63, 64, 65, 66,
+ 67, 68, -1, -1, -1, -1, -1, -1, -1, 76,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 88, 89, 90, -1, -1, -1, -1, -1, 96, 97,
- 1, -1, 100, 101, 102, 103, -1, -1, 9, -1,
- 11, -1, 13, 14, 15, 16, 17, -1, -1, 20,
- 21, 22, 23, 24, -1, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, -1, -1, -1, 46, 47, 48, 49, 50,
- -1, 52, 53, 54, 55, 56, 57, -1, -1, -1,
- -1, 62, 63, 64, 65, 66, 67, 68, -1, -1,
- -1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
- -1, -1, -1, -1, -1, 96, 97, 1, -1, 100,
- 101, 102, 103, -1, -1, 9, -1, 11, -1, 13,
- 14, 15, 16, 17, -1, -1, 20, 21, 22, 23,
- 24, -1, 26, 27, 28, 29, 30, 31, 32, -1,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, -1,
- -1, -1, 46, 47, 48, 49, 50, -1, 52, 53,
- 54, 55, 56, 57, -1, -1, -1, -1, 62, 63,
- 64, 65, 66, 67, 68, -1, -1, -1, -1, -1,
- -1, -1, 76, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, -1, -1, -1,
- 1, -1, 96, 97, -1, -1, 100, 101, 102, 103,
- 11, -1, 13, 14, 15, 16, 17, -1, -1, 20,
- 21, 22, 23, 24, -1, 26, 27, 28, 29, 30,
- 31, -1, -1, -1, -1, 36, -1, -1, 51, -1,
- -1, -1, -1, -1, -1, 58, 59, 60, 61, 50,
- -1, 52, 53, 54, 55, 56, 57, -1, -1, -1,
- -1, 62, 63, 64, 65, 66, 67, 68, 81, 82,
- 83, 84, 85, 86, 87, 76, -1, -1, -1, 92,
- 93, 94, 95, -1, -1, 98, -1, 88, 89, 90,
- -1, -1, -1, 1, -1, 96, 97, -1, -1, 100,
- 101, 102, 103, 11, -1, 13, 14, 15, 16, 17,
- -1, -1, 20, 21, 22, 23, 24, -1, 26, 27,
- 28, 29, 30, 31, -1, -1, -1, -1, 36, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
- -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
- -1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
- 68, 83, 84, 85, 86, 87, -1, -1, 76, -1,
- 92, 93, 94, 95, -1, -1, 98, -1, -1, -1,
- 88, 89, 90, -1, -1, -1, -1, -1, 96, 97,
- -1, 99, 100, -1, 102, 103, 9, -1, 11, -1,
- 13, 14, 15, 16, 17, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, 61, -1, -1, -1, 50, -1, 52,
- 53, 54, 55, 56, 57, -1, -1, -1, -1, 62,
- 63, 64, 65, 66, 67, 68, 84, 85, 86, 87,
- -1, -1, -1, 76, 92, 93, 94, 95, -1, -1,
- 98, -1, -1, -1, -1, 88, 89, 90, -1, -1,
- -1, -1, -1, 96, 97, -1, -1, 100, -1, 102,
- 103, 9, -1, 11, -1, 13, 14, 15, 16, 17,
- -1, -1, 20, 21, 22, 23, 24, -1, 26, 27,
- 28, 29, 30, 31, -1, -1, -1, -1, 36, -1,
- -1, -1, -1, -1, -1, 58, 59, 60, 61, -1,
- -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
- -1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
- 68, -1, 85, 86, 87, -1, -1, -1, 76, 92,
- 93, 94, 95, -1, -1, 98, -1, -1, -1, -1,
- 88, 89, 90, -1, -1, -1, -1, -1, 96, 97,
- -1, -1, 100, -1, 102, 103, 11, 12, 13, 14,
- 15, 16, 17, -1, -1, 20, 21, 22, 23, 24,
- -1, 26, 27, 28, 29, 30, 31, -1, -1, -1,
- -1, 36, -1, -1, -1, -1, -1, -1, 58, 59,
- 60, 61, -1, -1, -1, 50, -1, 52, 53, 54,
- 55, 56, 57, -1, -1, -1, -1, 62, 63, 64,
- 65, 66, 67, 68, -1, -1, 86, 87, -1, -1,
- -1, 76, 92, 93, 94, 95, -1, -1, 98, -1,
- -1, -1, -1, 88, 89, 90, -1, -1, -1, -1,
- -1, 96, 97, -1, -1, 100, -1, 102, 103, 11,
+ -1, 88, 89, -1, 91, -1, 93, 94, -1, 1,
+ -1, -1, -1, 100, 101, 102, 103, 9, 10, 11,
-1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
- -1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
- -1, 58, -1, 60, 61, -1, -1, -1, 50, -1,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, -1, -1, -1, 46, 47, 48, 49, 50, -1,
+ 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
+ 62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
+ -1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 88, 89, -1, 91,
+ -1, 93, 94, -1, 1, -1, -1, -1, 100, 101,
+ 102, 103, 9, 10, 11, -1, 13, 14, 15, 16,
+ 17, -1, -1, 20, 21, 22, 23, 24, -1, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, 46,
+ 47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
+ 57, -1, -1, -1, -1, 62, 63, 64, 65, 66,
+ 67, 68, -1, -1, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 88, 89, -1, 91, -1, 93, 94, -1, 1,
+ -1, -1, -1, 100, 101, 102, 103, 9, 10, 11,
+ -1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
+ 22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, -1, -1, -1, 46, 47, 48, 49, 50, -1,
+ 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
+ 62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
+ -1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 88, 89, -1, 91,
+ -1, 93, 94, -1, 1, -1, -1, -1, 100, 101,
+ 102, 103, 9, -1, 11, -1, 13, 14, 15, 16,
+ 17, -1, -1, 20, 21, 22, 23, 24, -1, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, 46,
+ 47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
+ 57, -1, -1, -1, -1, 62, 63, 64, 65, 66,
+ 67, 68, -1, -1, 71, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 88, 89, -1, 91, -1, 93, 94, -1, 1,
+ -1, -1, -1, 100, 101, 102, 103, 9, -1, 11,
+ -1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
+ 22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, -1, -1, -1, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
- 62, 63, 64, 65, 66, 67, 68, -1, -1, 86,
- 87, -1, -1, -1, 76, 92, 93, 94, 95, -1,
- -1, 98, -1, -1, -1, -1, 88, 89, 90, -1,
- -1, -1, -1, -1, 96, 97, -1, -1, 100, 101,
- 102, 103, 11, -1, 13, 14, 15, 16, 17, -1,
+ 62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
+ -1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 88, 89, -1, 91,
+ -1, 93, 94, -1, 1, -1, -1, -1, 100, 101,
+ 102, 103, 9, -1, 11, -1, 13, 14, 15, 16,
+ 17, -1, -1, 20, 21, 22, 23, 24, -1, 26,
+ 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, -1, -1, -1, 46,
+ 47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
+ 57, -1, -1, -1, -1, 62, 63, 64, 65, 66,
+ 67, 68, -1, -1, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 88, 89, -1, 91, -1, 93, 94, 1, -1,
+ -1, -1, -1, 100, 101, 102, 103, -1, 11, -1,
+ 13, 14, 15, 16, 17, -1, -1, 20, 21, 22,
+ 23, 24, -1, 26, 27, 28, 29, 30, 31, -1,
+ -1, -1, -1, 36, -1, -1, 51, -1, -1, -1,
+ -1, -1, -1, 58, 59, 60, 61, 50, -1, 52,
+ 53, 54, 55, 56, 57, -1, -1, -1, -1, 62,
+ 63, 64, 65, 66, 67, 68, 81, 82, 83, 84,
+ 85, 86, 87, 76, -1, -1, -1, 92, -1, -1,
+ 95, 96, 97, 98, -1, 88, 89, -1, 91, -1,
+ 93, 94, 1, -1, -1, -1, -1, 100, 101, 102,
+ 103, -1, 11, -1, 13, 14, 15, 16, 17, -1,
-1, 20, 21, 22, 23, 24, -1, 26, 27, 28,
29, 30, 31, -1, -1, -1, -1, 36, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 58, 59, 60, 61, -1,
+ -1, 50, -1, 52, 53, 54, 55, 56, 57, -1,
+ -1, -1, -1, 62, 63, 64, 65, 66, 67, 68,
+ 83, 84, 85, 86, 87, -1, -1, 76, -1, 92,
+ -1, -1, 95, 96, 97, 98, -1, -1, -1, 88,
+ 89, -1, 91, -1, 93, 94, -1, -1, -1, -1,
+ 99, 100, -1, 102, 103, 9, -1, 11, -1, 13,
+ 14, 15, 16, 17, -1, -1, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
+ -1, -1, 36, -1, -1, -1, -1, -1, -1, 58,
+ 59, 60, 61, -1, -1, -1, 50, -1, 52, 53,
+ 54, 55, 56, 57, -1, -1, -1, -1, 62, 63,
+ 64, 65, 66, 67, 68, 84, 85, 86, 87, -1,
+ -1, -1, 76, 92, -1, -1, 95, 96, 97, 98,
+ -1, -1, -1, -1, 88, 89, -1, 91, -1, 93,
+ 94, -1, -1, -1, -1, -1, 100, -1, 102, 103,
+ 9, -1, 11, -1, 13, 14, 15, 16, 17, -1,
+ -1, 20, 21, 22, 23, 24, -1, 26, 27, 28,
+ 29, 30, 31, -1, -1, -1, -1, 36, -1, -1,
+ -1, -1, -1, -1, 58, 59, 60, 61, -1, -1,
-1, 50, -1, 52, 53, 54, 55, 56, 57, -1,
-1, -1, -1, 62, 63, 64, 65, 66, 67, 68,
- -1, -1, -1, -1, -1, -1, -1, 76, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
- 89, 90, -1, -1, -1, -1, -1, 96, 97, -1,
- 99, 100, -1, 102, 103, 11, -1, 13, 14, 15,
+ -1, 85, 86, 87, -1, -1, -1, 76, 92, -1,
+ -1, 95, 96, 97, 98, -1, -1, -1, -1, 88,
+ 89, -1, 91, -1, 93, 94, -1, -1, -1, -1,
+ -1, 100, -1, 102, 103, 11, 12, 13, 14, 15,
16, 17, -1, -1, 20, 21, 22, 23, 24, -1,
26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
- 36, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 36, -1, -1, -1, -1, 58, 59, 60, 61, -1,
-1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
56, 57, -1, -1, -1, -1, 62, 63, 64, 65,
- 66, 67, 68, -1, -1, -1, -1, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 88, 89, 90, -1, -1, -1, -1, -1,
- 96, 97, -1, 99, 100, -1, 102, 103, 11, -1,
+ 66, 67, 68, 86, 87, -1, -1, -1, -1, 92,
+ 76, -1, 95, 96, 97, 98, -1, -1, -1, -1,
+ -1, -1, 88, 89, -1, 91, -1, 93, 94, -1,
+ -1, -1, -1, -1, 100, -1, 102, 103, 11, -1,
13, 14, 15, 16, 17, -1, -1, 20, 21, 22,
23, 24, -1, 26, 27, 28, 29, 30, 31, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 50, -1, 52,
+ -1, -1, -1, 36, -1, -1, -1, -1, 58, 59,
+ 60, 61, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, 56, 57, -1, -1, -1, -1, 62,
- 63, 64, 65, 66, 67, 68, -1, -1, -1, -1,
- -1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 88, 89, 90, -1, -1,
- -1, -1, -1, 96, 97, -1, 99, 100, -1, 102,
+ 63, 64, 65, 66, 67, 68, 86, 87, -1, -1,
+ -1, -1, 92, 76, -1, 95, 96, 97, 98, -1,
+ -1, -1, -1, -1, -1, 88, 89, -1, 91, -1,
+ 93, 94, -1, -1, -1, -1, -1, 100, 101, 102,
103, 11, -1, 13, 14, 15, 16, 17, -1, -1,
20, 21, 22, 23, 24, -1, 26, 27, 28, 29,
30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
@@ -1039,7 +824,7 @@ static const yytype_int16 yycheck[] =
-1, -1, 62, 63, 64, 65, 66, 67, 68, -1,
-1, -1, -1, -1, -1, -1, 76, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
- 90, -1, -1, -1, -1, -1, 96, 97, -1, 99,
+ -1, 91, -1, 93, 94, -1, -1, -1, -1, 99,
100, -1, 102, 103, 11, -1, 13, 14, 15, 16,
17, -1, -1, 20, 21, 22, 23, 24, -1, 26,
27, 28, 29, 30, 31, -1, -1, -1, -1, 36,
@@ -1048,8 +833,8 @@ static const yytype_int16 yycheck[] =
57, -1, -1, -1, -1, 62, 63, 64, 65, 66,
67, 68, -1, -1, -1, -1, -1, -1, -1, 76,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 88, 89, 90, -1, -1, -1, -1, -1, 96,
- 97, -1, 99, 100, -1, 102, 103, 11, -1, 13,
+ -1, 88, 89, -1, 91, -1, 93, 94, -1, -1,
+ -1, -1, 99, 100, -1, 102, 103, 11, -1, 13,
14, 15, 16, 17, -1, -1, 20, 21, 22, 23,
24, -1, 26, 27, 28, 29, 30, 31, -1, -1,
-1, -1, 36, -1, -1, -1, -1, -1, -1, -1,
@@ -1057,33 +842,60 @@ static const yytype_int16 yycheck[] =
54, 55, 56, 57, -1, -1, -1, -1, 62, 63,
64, 65, 66, 67, 68, -1, -1, -1, -1, -1,
-1, -1, 76, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 88, 89, 90, -1, -1, -1,
- -1, -1, 96, 97, -1, 99, 100, -1, 102, 103,
+ -1, -1, -1, -1, 88, 89, -1, 91, -1, 93,
+ 94, -1, -1, -1, -1, 99, 100, -1, 102, 103,
11, -1, 13, 14, 15, 16, 17, -1, -1, 20,
21, 22, 23, 24, -1, 26, 27, 28, 29, 30,
31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, 56, 57, -1, -1, -1,
-1, 62, 63, 64, 65, 66, 67, 68, -1, -1,
- -1, -1, -1, -1, -1, 76, 51, -1, -1, -1,
- -1, -1, -1, 58, 59, 60, 61, 88, 89, 90,
- -1, -1, -1, -1, -1, 96, 97, -1, -1, 100,
- -1, 102, 103, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, -1, -1, -1, -1, 92, 93, 94,
- 95, 51, -1, 98, -1, -1, -1, -1, 58, 59,
- 60, 61, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- -1, 81, 82, 83, 84, 85, 86, 87, -1, -1,
- -1, -1, 92, 93, 94, 95, 51, -1, 98, -1,
- -1, -1, -1, 58, 59, 60, 61, -1, -1, -1,
+ -1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 88, 89, -1,
+ 91, -1, 93, 94, -1, -1, -1, -1, 99, 100,
+ -1, 102, 103, 11, -1, 13, 14, 15, 16, 17,
+ -1, -1, 20, 21, 22, 23, 24, -1, 26, 27,
+ 28, 29, 30, 31, -1, -1, -1, -1, 36, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
+ -1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
+ 68, -1, -1, -1, -1, -1, -1, -1, 76, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 88, 89, -1, 91, -1, 93, 94, -1, -1, -1,
+ -1, 99, 100, -1, 102, 103, 11, -1, 13, 14,
+ 15, 16, 17, -1, -1, 20, 21, 22, 23, 24,
+ -1, 26, 27, 28, 29, 30, 31, -1, -1, -1,
+ -1, 36, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
+ 55, 56, 57, -1, -1, -1, -1, 62, 63, 64,
+ 65, 66, 67, 68, -1, -1, -1, -1, -1, -1,
+ -1, 76, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 88, 89, -1, 91, -1, 93, 94,
+ -1, -1, -1, -1, 99, 100, -1, 102, 103, 11,
+ -1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
+ 22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
+ -1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
+ 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
+ 62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
+ -1, -1, -1, -1, 76, 51, -1, -1, -1, -1,
+ -1, -1, 58, 59, 60, 61, 88, 89, -1, 91,
+ -1, 93, 94, -1, -1, -1, -1, -1, 100, -1,
+ 102, 103, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, -1, -1, -1, -1, 92, 51, -1, 95,
+ 96, 97, 98, -1, 58, 59, 60, 61, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 78, 79, -1, 81, 82, 83,
+ 84, 85, 86, 87, -1, -1, -1, -1, 92, 51,
+ -1, 95, 96, 97, 98, -1, 58, 59, 60, 61,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 79, -1, 81, 82, 83, 84,
- 85, 86, 87, -1, -1, -1, -1, 92, 93, 94,
- 95, -1, -1, 98
+ -1, -1, -1, -1, -1, -1, -1, 79, -1, 81,
+ 82, 83, 84, 85, 86, 87, -1, -1, -1, -1,
+ 92, -1, -1, 95, 96, 97, 98
};
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 3, 4, 5, 6, 7, 8, 106, 107, 108,
@@ -1091,7 +903,7 @@ static const yytype_uint8 yystos[] =
16, 17, 20, 21, 22, 23, 24, 26, 27, 28,
29, 30, 31, 36, 50, 52, 53, 54, 55, 56,
57, 62, 63, 64, 65, 66, 67, 68, 76, 88,
- 89, 90, 96, 97, 100, 102, 103, 152, 153, 154,
+ 89, 91, 93, 94, 100, 102, 103, 152, 153, 154,
157, 158, 159, 160, 161, 162, 164, 167, 172, 173,
174, 175, 176, 177, 178, 179, 180, 9, 113, 1,
32, 34, 35, 37, 38, 39, 40, 41, 42, 46,
@@ -1104,9 +916,9 @@ static const yytype_uint8 yystos[] =
162, 162, 162, 162, 162, 99, 152, 181, 181, 73,
74, 75, 77, 9, 11, 100, 51, 58, 59, 60,
61, 78, 79, 81, 82, 83, 84, 85, 86, 87,
- 92, 93, 94, 95, 98, 100, 9, 11, 9, 11,
+ 92, 95, 96, 97, 98, 100, 9, 11, 9, 11,
9, 11, 9, 115, 144, 145, 20, 142, 100, 100,
- 100, 100, 67, 90, 100, 173, 100, 100, 113, 45,
+ 100, 100, 67, 91, 100, 173, 100, 100, 113, 45,
134, 101, 39, 40, 41, 42, 46, 48, 121, 122,
120, 12, 166, 100, 100, 152, 99, 113, 23, 115,
146, 99, 99, 152, 167, 181, 153, 10, 101, 166,
@@ -1139,6 +951,68 @@ static const yytype_uint8 yystos[] =
118, 116, 134, 140, 71, 133, 99, 116
};
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 105, 107, 106, 108, 106, 109, 106, 110, 106,
+ 111, 106, 112, 106, 113, 114, 115, 116, 117, 118,
+ 118, 119, 119, 120, 120, 121, 121, 122, 122, 123,
+ 122, 124, 122, 122, 125, 122, 122, 122, 122, 122,
+ 122, 122, 122, 126, 127, 122, 122, 122, 128, 122,
+ 122, 122, 122, 129, 122, 122, 122, 130, 131, 131,
+ 132, 132, 132, 132, 132, 132, 132, 132, 133, 133,
+ 133, 134, 134, 135, 136, 136, 137, 137, 138, 139,
+ 140, 141, 141, 142, 143, 144, 145, 145, 146, 146,
+ 147, 147, 147, 148, 148, 150, 149, 151, 151, 152,
+ 152, 152, 152, 153, 153, 153, 154, 154, 154, 154,
+ 154, 154, 154, 154, 155, 154, 156, 156, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 159, 159, 159, 159,
+ 159, 159, 159, 159, 159, 160, 160, 160, 160, 160,
+ 160, 161, 161, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 163, 162, 162, 162, 162, 162, 164, 164, 165,
+ 165, 165, 165, 165, 166, 166, 167, 167, 168, 168,
+ 169, 170, 170, 170, 171, 171, 172, 173, 174, 175,
+ 176, 176, 177, 178, 178, 179, 179, 180, 180, 181,
+ 181, 181, 181
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 0, 4, 0, 3, 0, 3, 0, 3,
+ 0, 3, 0, 3, 4, 7, 0, 4, 0, 0,
+ 2, 0, 2, 1, 1, 2, 2, 1, 4, 0,
+ 7, 0, 10, 4, 0, 7, 7, 7, 6, 6,
+ 2, 8, 8, 0, 0, 13, 9, 8, 0, 11,
+ 9, 7, 2, 0, 8, 2, 1, 2, 0, 3,
+ 1, 1, 3, 3, 3, 3, 3, 3, 0, 2,
+ 6, 0, 2, 0, 0, 1, 0, 1, 1, 1,
+ 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
+ 0, 2, 1, 2, 1, 0, 3, 1, 1, 3,
+ 3, 3, 1, 2, 3, 1, 3, 5, 6, 3,
+ 3, 5, 2, 4, 0, 5, 1, 1, 5, 4,
+ 5, 4, 5, 6, 5, 4, 5, 4, 3, 6,
+ 4, 5, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 3, 2, 4, 3, 5,
+ 8, 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, 1, 3, 2, 3,
+ 2, 1, 1, 1, 0, 1, 0, 1, 0, 2,
+ 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
+ 2, 4, 2, 1, 3, 1, 3, 1, 3, 1,
+ 1, 1, 1
+};
+
typedef enum {
toketype_ival, toketype_opval, toketype_pval
} toketypes;
@@ -1176,6 +1050,6 @@ static const toketypes yy_type_tab[] =
};
/* Generated from:
- * 703ebd267cf8ca45f9dee9bc0f4b21511117a0c1dca1c8bc9438ce91950217ae perly.y
+ * 4fd37fdbff6285ba6e9096c2229255ecc6264d2f26835e535cf1c38f387ceae6 perly.y
* a4923588f219644801577c514014847e1e5240f49413fa3b89d3306fa4874d07 regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index 200964d..8717258 100644
--- a/perly.y
+++ b/perly.y
@@ -755,19 +755,31 @@ subscripted: gelem '{' expr ';' '}' /* *main::{something} */
jmaybe($3)); }
| term ARROW '(' ')' /* $subref->() */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar($1))); }
+ newCVREF(0, scalar($1)));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
| term ARROW '(' expr ')' /* $subref->(@args) */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, $4,
- newCVREF(0, scalar($1)))); }
+ newCVREF(0, scalar($1))));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
| subscripted '(' expr ')' /* $foo->{bar}->(@args) */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, $3,
- newCVREF(0, scalar($1)))); }
+ newCVREF(0, scalar($1))));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
| subscripted '(' ')' /* $foo->{bar}->() */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar($1))); }
+ newCVREF(0, scalar($1)));
+ if (parser->expect == XBLOCK)
+ parser->expect = XOPERATOR;
+ }
| '(' expr ')' '[' expr ']' /* list slice */
{ $$ = newSLICEOP(0, $5, $2); }
| QWLIST '[' expr ']' /* list literal slice */
diff --git a/t/op/postfixderef.t b/t/op/postfixderef.t
index 77988bf..fa066aa 100644
--- a/t/op/postfixderef.t
+++ b/t/op/postfixderef.t
@@ -16,7 +16,7 @@ BEGIN {
use strict qw(refs subs);
-plan(115);
+plan(129);
{
no strict 'refs';
@@ -353,3 +353,26 @@ is "$_->@{foo}", "foo->7 8 9", '->@{ does not interpolate without feature';
is "@{[foo->@[0,1]]}", "7 8", '->@[ inside "@{...}"';
is "@{[foo->@{foo}]}", "oof", '->@{ inside "@{...}"';
}
+
+# parsing of {} subscript as subscript rather than block
+{
+ sub ppp { "qqq" }
+ my $h = { ppp => "pp", qqq => "qq", rrr => 7 };
+ is ${$h}{ppp}, "pp";
+ is ${$h}{"rrr"} - 2, 5;
+ my $ar = [$h];
+ is $ar->[0]->{ppp}, "pp";
+ is $ar->[0]->{"rrr"} - 2, 5;
+ is $ar->[0]{ppp}, "pp";
+ is $ar->[0]{"rrr"} - 2, 5;
+ my $hr = {h=>$h};
+ is $hr->{"h"}->{ppp}, "pp";
+ is $hr->{"h"}->{"rrr"} - 2, 5;
+ is $hr->{"h"}{ppp}, "pp";
+ is $hr->{"h"}{"rrr"} - 2, 5;
+ my $cr = sub { $h };
+ is $cr->()->{ppp}, "pp";
+ is $cr->()->{"rrr"} - 2, 5;
+ is $cr->(){ppp}, "pp";
+ is $cr->(){"rrr"} - 2, 5;
+}
--
2.13.6