summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--op.c12
-rw-r--r--perly.act114
-rw-r--r--perly.h92
-rw-r--r--perly.tab1254
-rw-r--r--perly.y6
-rw-r--r--toke.c16
6 files changed, 770 insertions, 724 deletions
diff --git a/op.c b/op.c
index c6b85a32cd..fa6723f398 100644
--- a/op.c
+++ b/op.c
@@ -5923,7 +5923,7 @@ Perl_ck_repeat(pTHX_ OP *o)
OP *
Perl_ck_require(pTHX_ OP *o)
{
- GV* gv;
+ GV* gv = Nullgv;
if (o->op_flags & OPf_KIDS) { /* Shall we supply missing .pm? */
SVOP *kid = (SVOP*)cUNOPo->op_first;
@@ -5955,10 +5955,12 @@ Perl_ck_require(pTHX_ OP *o)
}
}
- /* handle override, if any */
- gv = gv_fetchpv("require", FALSE, SVt_PVCV);
- if (!(gv && GvCVu(gv) && GvIMPORTED_CV(gv)))
- gv = gv_fetchpv("CORE::GLOBAL::require", FALSE, SVt_PVCV);
+ if (!(o->op_flags & OPf_SPECIAL)) { /* Wasn't written as CORE::require */
+ /* handle override, if any */
+ gv = gv_fetchpv("require", FALSE, SVt_PVCV);
+ if (!(gv && GvCVu(gv) && GvIMPORTED_CV(gv)))
+ gv = gv_fetchpv("CORE::GLOBAL::require", FALSE, SVt_PVCV);
+ }
if (gv && GvCVu(gv) && GvIMPORTED_CV(gv)) {
OP *kid = cUNOPo->op_first;
diff --git a/perly.act b/perly.act
index 1a1a1fa93c..05269e28e5 100644
--- a/perly.act
+++ b/perly.act
@@ -892,70 +892,70 @@ case 2:
case 168:
#line 668 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
+ { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].ival) ? OPf_SPECIAL : 0); ;}
break;
case 169:
-#line 671 "perly.y"
- { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;}
+#line 670 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].ival) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;}
break;
case 170:
-#line 673 "perly.y"
- { (yyval.opval) = newOP((yyvsp[-2].ival), 0); ;}
+#line 672 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
break;
case 171:
#line 675 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- scalar((yyvsp[0].opval))); ;}
+ { (yyval.opval) = newOP((yyvsp[0].ival), 0); ;}
break;
case 172:
-#line 678 "perly.y"
- { (yyval.opval) = (yyvsp[-2].ival) == OP_NOT ? newUNOP((yyvsp[-2].ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
- : newOP((yyvsp[-2].ival), OPf_SPECIAL); ;}
+#line 677 "perly.y"
+ { (yyval.opval) = newOP((yyvsp[-2].ival), 0); ;}
break;
case 173:
-#line 681 "perly.y"
- { (yyval.opval) = newUNOP((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;}
+#line 679 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ scalar((yyvsp[0].opval))); ;}
break;
case 174:
-#line 683 "perly.y"
- { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1); ;}
+#line 682 "perly.y"
+ { (yyval.opval) = (yyvsp[-2].ival) == OP_NOT ? newUNOP((yyvsp[-2].ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
+ : newOP((yyvsp[-2].ival), OPf_SPECIAL); ;}
break;
- case 177:
-#line 690 "perly.y"
- { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval)); ;}
+ case 175:
+#line 685 "perly.y"
+ { (yyval.opval) = newUNOP((yyvsp[-3].ival), 0, (yyvsp[-1].opval)); ;}
break;
- case 178:
-#line 692 "perly.y"
- { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;}
+ case 176:
+#line 687 "perly.y"
+ { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1); ;}
break;
case 179:
-#line 697 "perly.y"
- { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;}
+#line 694 "perly.y"
+ { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval)); ;}
break;
case 180:
-#line 699 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); ;}
+#line 696 "perly.y"
+ { (yyval.opval) = localize((yyvsp[0].opval),(yyvsp[-1].ival)); ;}
break;
case 181:
#line 701 "perly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
+ { (yyval.opval) = sawparens((yyvsp[-1].opval)); ;}
break;
case 182:
#line 703 "perly.y"
- { (yyval.opval) = (yyvsp[0].opval); ;}
+ { (yyval.opval) = sawparens(newNULLLIST()); ;}
break;
case 183:
@@ -964,82 +964,92 @@ case 2:
break;
case 184:
-#line 710 "perly.y"
- { (yyval.opval) = Nullop; ;}
+#line 707 "perly.y"
+ { (yyval.opval) = (yyvsp[0].opval); ;}
break;
case 185:
-#line 712 "perly.y"
+#line 709 "perly.y"
{ (yyval.opval) = (yyvsp[0].opval); ;}
break;
case 186:
-#line 716 "perly.y"
+#line 714 "perly.y"
{ (yyval.opval) = Nullop; ;}
break;
case 187:
-#line 718 "perly.y"
+#line 716 "perly.y"
{ (yyval.opval) = (yyvsp[0].opval); ;}
break;
case 188:
#line 720 "perly.y"
- { (yyval.opval) = (yyvsp[-1].opval); ;}
+ { (yyval.opval) = Nullop; ;}
break;
case 189:
-#line 726 "perly.y"
- { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
+#line 722 "perly.y"
+ { (yyval.opval) = (yyvsp[0].opval); ;}
break;
case 190:
-#line 730 "perly.y"
- { (yyval.opval) = newCVREF((yyvsp[-1].ival),(yyvsp[0].opval)); ;}
+#line 724 "perly.y"
+ { (yyval.opval) = (yyvsp[-1].opval); ;}
break;
case 191:
-#line 734 "perly.y"
- { (yyval.opval) = newSVREF((yyvsp[0].opval)); ;}
+#line 730 "perly.y"
+ { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
break;
case 192:
-#line 738 "perly.y"
- { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;}
+#line 734 "perly.y"
+ { (yyval.opval) = newCVREF((yyvsp[-1].ival),(yyvsp[0].opval)); ;}
break;
case 193:
-#line 742 "perly.y"
- { (yyval.opval) = newHVREF((yyvsp[0].opval)); ;}
+#line 738 "perly.y"
+ { (yyval.opval) = newSVREF((yyvsp[0].opval)); ;}
break;
case 194:
-#line 746 "perly.y"
+#line 742 "perly.y"
{ (yyval.opval) = newAVREF((yyvsp[0].opval)); ;}
break;
case 195:
-#line 750 "perly.y"
- { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); ;}
+#line 746 "perly.y"
+ { (yyval.opval) = newHVREF((yyvsp[0].opval)); ;}
break;
case 196:
-#line 755 "perly.y"
- { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
+#line 750 "perly.y"
+ { (yyval.opval) = newAVREF((yyvsp[0].opval)); ;}
break;
case 197:
-#line 757 "perly.y"
- { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
+#line 754 "perly.y"
+ { (yyval.opval) = newGVREF(0,(yyvsp[0].opval)); ;}
break;
case 198:
#line 759 "perly.y"
- { (yyval.opval) = scope((yyvsp[0].opval)); ;}
+ { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
break;
case 199:
-#line 762 "perly.y"
+#line 761 "perly.y"
+ { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
+ break;
+
+ case 200:
+#line 763 "perly.y"
+ { (yyval.opval) = scope((yyvsp[0].opval)); ;}
+ break;
+
+ case 201:
+#line 766 "perly.y"
{ (yyval.opval) = (yyvsp[0].opval); ;}
break;
diff --git a/perly.h b/perly.h
index 32c0f325c8..13044e6002 100644
--- a/perly.h
+++ b/perly.h
@@ -71,28 +71,29 @@
LOCAL = 296,
MY = 297,
MYSUB = 298,
- COLONATTR = 299,
- PREC_LOW = 300,
- DOROP = 301,
- OROP = 302,
- ANDOP = 303,
- NOTOP = 304,
- ASSIGNOP = 305,
- DORDOR = 306,
- OROR = 307,
- ANDAND = 308,
- BITOROP = 309,
- BITANDOP = 310,
- SHIFTOP = 311,
- MATCHOP = 312,
- REFGEN = 313,
- UMINUS = 314,
- POWOP = 315,
- POSTDEC = 316,
- POSTINC = 317,
- PREDEC = 318,
- PREINC = 319,
- ARROW = 320
+ REQUIRE = 299,
+ COLONATTR = 300,
+ PREC_LOW = 301,
+ DOROP = 302,
+ OROP = 303,
+ ANDOP = 304,
+ NOTOP = 305,
+ ASSIGNOP = 306,
+ DORDOR = 307,
+ OROR = 308,
+ ANDAND = 309,
+ BITOROP = 310,
+ BITANDOP = 311,
+ SHIFTOP = 312,
+ MATCHOP = 313,
+ REFGEN = 314,
+ UMINUS = 315,
+ POWOP = 316,
+ POSTDEC = 317,
+ POSTINC = 318,
+ PREDEC = 319,
+ PREINC = 320,
+ ARROW = 321
};
#endif
#define WORD 258
@@ -136,28 +137,29 @@
#define LOCAL 296
#define MY 297
#define MYSUB 298
-#define COLONATTR 299
-#define PREC_LOW 300
-#define DOROP 301
-#define OROP 302
-#define ANDOP 303
-#define NOTOP 304
-#define ASSIGNOP 305
-#define DORDOR 306
-#define OROR 307
-#define ANDAND 308
-#define BITOROP 309
-#define BITANDOP 310
-#define SHIFTOP 311
-#define MATCHOP 312
-#define REFGEN 313
-#define UMINUS 314
-#define POWOP 315
-#define POSTDEC 316
-#define POSTINC 317
-#define PREDEC 318
-#define PREINC 319
-#define ARROW 320
+#define REQUIRE 299
+#define COLONATTR 300
+#define PREC_LOW 301
+#define DOROP 302
+#define OROP 303
+#define ANDOP 304
+#define NOTOP 305
+#define ASSIGNOP 306
+#define DORDOR 307
+#define OROR 308
+#define ANDAND 309
+#define BITOROP 310
+#define BITANDOP 311
+#define SHIFTOP 312
+#define MATCHOP 313
+#define REFGEN 314
+#define UMINUS 315
+#define POWOP 316
+#define POSTDEC 317
+#define POSTINC 318
+#define PREDEC 319
+#define PREINC 320
+#define ARROW 321
@@ -172,7 +174,7 @@ typedef union YYSTYPE {
GV *gvval;
} YYSTYPE;
/* Line 1318 of yacc.c. */
-#line 174 "perly.h"
+#line 176 "perly.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
diff --git a/perly.tab b/perly.tab
index 77eb10b8aa..09c2306290 100644
--- a/perly.tab
+++ b/perly.tab
@@ -1,19 +1,19 @@
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1966
+#define YYLAST 1993
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 85
+#define YYNTOKENS 86
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 62
/* YYNRULES -- Number of rules. */
-#define YYNRULES 199
+#define YYNRULES 201
/* YYNRULES -- Number of states. */
-#define YYNSTATES 399
+#define YYNSTATES 401
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 320
+#define YYMAXUTOK 321
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -24,16 +24,16 @@ static const unsigned char yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 63, 2, 2, 81, 83, 46, 2,
- 74, 73, 84, 80, 52, 79, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 55, 77,
- 2, 2, 2, 54, 82, 2, 2, 2, 2, 2,
+ 2, 2, 2, 64, 2, 2, 82, 84, 47, 2,
+ 75, 74, 85, 81, 53, 80, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 56, 78,
+ 2, 2, 2, 55, 83, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 75, 2, 78, 2, 2, 2, 2, 2, 2,
+ 2, 76, 2, 79, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 2, 76, 64, 2, 2, 2,
+ 2, 2, 2, 3, 2, 77, 65, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -51,9 +51,9 @@ static const unsigned char yytranslate[] =
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 47, 48, 49, 50, 51, 53, 56, 57, 58, 59,
- 60, 61, 62, 65, 66, 67, 68, 69, 70, 71,
- 72
+ 46, 48, 49, 50, 51, 52, 54, 57, 58, 59,
+ 60, 61, 62, 63, 66, 67, 68, 69, 70, 71,
+ 72, 73
};
#if YYDEBUG
@@ -77,85 +77,87 @@ static const unsigned short int yyprhs[] =
482, 487, 491, 497, 500, 503, 508, 514, 519, 525,
527, 529, 531, 533, 539, 542, 544, 547, 551, 554,
556, 558, 560, 562, 564, 566, 571, 577, 579, 581,
- 585, 590, 594, 596, 599, 602, 604, 607, 610, 613,
- 615, 619, 621, 625, 630, 635, 637, 639, 643, 646,
- 650, 653, 655, 657, 659, 660, 662, 663, 665, 668,
- 670, 673, 676, 679, 682, 685, 688, 690, 692, 694
+ 585, 590, 594, 596, 599, 602, 604, 607, 610, 612,
+ 615, 618, 620, 624, 626, 630, 635, 640, 642, 644,
+ 648, 651, 655, 658, 660, 662, 664, 665, 667, 668,
+ 670, 673, 675, 678, 681, 684, 687, 690, 693, 695,
+ 697, 699
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short int yyrhs[] =
{
- 86, 0, -1, 89, 93, -1, 3, 88, 93, 76,
- -1, -1, -1, 3, 91, 93, 76, -1, -1, -1,
- -1, 93, 108, -1, 93, 92, 94, -1, 107, 97,
- -1, 99, -1, 107, 77, -1, 107, 95, 77, -1,
- 1, -1, 124, -1, 124, 21, 124, -1, 124, 22,
- 124, -1, 124, 19, 124, -1, 124, 20, 103, -1,
- 124, 26, 124, -1, -1, 23, 90, -1, 24, 74,
- 104, 73, 90, 96, -1, 21, 74, 88, 104, 73,
- 90, 96, -1, 22, 74, 88, 106, 73, 90, 96,
- -1, -1, 25, 87, -1, 107, 19, 74, 88, 102,
- 73, 100, 90, 98, -1, 107, 20, 74, 88, 103,
- 73, 100, 90, 98, -1, 107, 26, 43, 88, 139,
- 74, 104, 73, 90, 98, -1, 107, 26, 141, 74,
- 88, 104, 73, 90, 98, -1, 107, 26, 74, 88,
- 104, 73, 90, 98, -1, 107, 26, 74, 88, 105,
- 77, 102, 77, 100, 105, 73, 90, -1, 107, 87,
- 98, -1, -1, -1, 95, -1, -1, 124, -1, 124,
- -1, 124, -1, 101, -1, 103, -1, -1, 13, -1,
- 109, -1, 112, -1, 111, -1, 121, -1, 122, -1,
- 14, 115, 110, 87, -1, 4, -1, -1, 44, 113,
- 116, 117, 118, 120, -1, 15, 113, 116, 117, 118,
- 120, -1, -1, -1, -1, 4, -1, -1, 7, -1,
- -1, 45, 7, -1, 45, -1, 45, 7, -1, 45,
- -1, 87, -1, 77, -1, 17, 4, 77, -1, -1,
- 18, 113, 123, 4, 4, 137, 77, -1, 124, 50,
- 124, -1, 124, 49, 124, -1, 124, 48, 124, -1,
- 125, -1, 125, 52, -1, 125, 52, 134, -1, 134,
- -1, 33, 146, 125, -1, 31, 74, 146, 124, 73,
- -1, 134, 72, 128, 74, 138, 73, -1, 134, 72,
- 128, -1, 5, 146, 137, -1, 6, 146, 74, 138,
- 73, -1, 33, 137, -1, 31, 74, 138, 73, -1,
- -1, 12, 114, 87, 127, 137, -1, 5, -1, 141,
- -1, 145, 3, 124, 77, 76, -1, 141, 75, 124,
- 78, -1, 134, 72, 75, 124, 78, -1, 129, 75,
- 124, 78, -1, 141, 3, 124, 77, 76, -1, 134,
- 72, 3, 124, 77, 76, -1, 129, 3, 124, 77,
- 76, -1, 134, 72, 74, 73, -1, 134, 72, 74,
- 124, 73, -1, 129, 74, 124, 73, -1, 129, 74,
- 73, -1, 74, 124, 73, 75, 124, 78, -1, 74,
- 73, 75, 124, 78, -1, 134, 53, 134, -1, 134,
- 67, 134, -1, 134, 36, 134, -1, 134, 37, 134,
- -1, 134, 61, 134, -1, 134, 34, 134, -1, 134,
- 35, 134, -1, 134, 60, 134, -1, 134, 59, 134,
- -1, 134, 28, 134, -1, 134, 58, 134, -1, 134,
- 57, 134, -1, 134, 56, 134, -1, 134, 62, 134,
- -1, 79, 134, -1, 80, 134, -1, 63, 134, -1,
- 64, 134, -1, 134, 69, -1, 134, 68, -1, 71,
- 134, -1, 70, 134, -1, 75, 124, 78, -1, 75,
- 78, -1, 40, 124, 77, 76, -1, 40, 77, 76,
- -1, 16, 114, 117, 118, 87, -1, 39, 134, -1,
- 39, 87, -1, 39, 4, 74, 73, -1, 39, 4,
- 74, 124, 73, -1, 39, 141, 74, 73, -1, 39,
- 141, 74, 124, 73, -1, 130, -1, 131, -1, 132,
- -1, 133, -1, 134, 54, 134, 55, 134, -1, 65,
- 134, -1, 135, -1, 42, 134, -1, 74, 124, 73,
- -1, 74, 73, -1, 141, -1, 145, -1, 143, -1,
- 142, -1, 144, -1, 129, -1, 142, 75, 124, 78,
- -1, 142, 3, 124, 77, 76, -1, 7, -1, 140,
- -1, 140, 74, 73, -1, 140, 74, 124, 73, -1,
- 41, 4, 137, -1, 27, -1, 27, 134, -1, 51,
- 125, -1, 32, -1, 32, 87, -1, 32, 134, -1,
- 11, 134, -1, 29, -1, 29, 74, 73, -1, 10,
- -1, 30, 74, 73, -1, 30, 74, 124, 73, -1,
- 8, 74, 125, 73, -1, 4, -1, 126, -1, 43,
- 136, 119, -1, 43, 136, -1, 74, 124, 73, -1,
- 74, 73, -1, 141, -1, 143, -1, 142, -1, -1,
- 125, -1, -1, 124, -1, 124, 52, -1, 141, -1,
- 46, 146, -1, 81, 146, -1, 82, 146, -1, 83,
- 146, -1, 38, 146, -1, 84, 146, -1, 4, -1,
- 141, -1, 87, -1, 9, -1
+ 87, 0, -1, 90, 94, -1, 3, 89, 94, 77,
+ -1, -1, -1, 3, 92, 94, 77, -1, -1, -1,
+ -1, 94, 109, -1, 94, 93, 95, -1, 108, 98,
+ -1, 100, -1, 108, 78, -1, 108, 96, 78, -1,
+ 1, -1, 125, -1, 125, 21, 125, -1, 125, 22,
+ 125, -1, 125, 19, 125, -1, 125, 20, 104, -1,
+ 125, 26, 125, -1, -1, 23, 91, -1, 24, 75,
+ 105, 74, 91, 97, -1, 21, 75, 89, 105, 74,
+ 91, 97, -1, 22, 75, 89, 107, 74, 91, 97,
+ -1, -1, 25, 88, -1, 108, 19, 75, 89, 103,
+ 74, 101, 91, 99, -1, 108, 20, 75, 89, 104,
+ 74, 101, 91, 99, -1, 108, 26, 43, 89, 140,
+ 75, 105, 74, 91, 99, -1, 108, 26, 142, 75,
+ 89, 105, 74, 91, 99, -1, 108, 26, 75, 89,
+ 105, 74, 91, 99, -1, 108, 26, 75, 89, 106,
+ 78, 103, 78, 101, 106, 74, 91, -1, 108, 88,
+ 99, -1, -1, -1, 96, -1, -1, 125, -1, 125,
+ -1, 125, -1, 102, -1, 104, -1, -1, 13, -1,
+ 110, -1, 113, -1, 112, -1, 122, -1, 123, -1,
+ 14, 116, 111, 88, -1, 4, -1, -1, 44, 114,
+ 117, 118, 119, 121, -1, 15, 114, 117, 118, 119,
+ 121, -1, -1, -1, -1, 4, -1, -1, 7, -1,
+ -1, 46, 7, -1, 46, -1, 46, 7, -1, 46,
+ -1, 88, -1, 78, -1, 17, 4, 78, -1, -1,
+ 18, 114, 124, 4, 4, 138, 78, -1, 125, 51,
+ 125, -1, 125, 50, 125, -1, 125, 49, 125, -1,
+ 126, -1, 126, 53, -1, 126, 53, 135, -1, 135,
+ -1, 33, 147, 126, -1, 31, 75, 147, 125, 74,
+ -1, 135, 73, 129, 75, 139, 74, -1, 135, 73,
+ 129, -1, 5, 147, 138, -1, 6, 147, 75, 139,
+ 74, -1, 33, 138, -1, 31, 75, 139, 74, -1,
+ -1, 12, 115, 88, 128, 138, -1, 5, -1, 142,
+ -1, 146, 3, 125, 78, 77, -1, 142, 76, 125,
+ 79, -1, 135, 73, 76, 125, 79, -1, 130, 76,
+ 125, 79, -1, 142, 3, 125, 78, 77, -1, 135,
+ 73, 3, 125, 78, 77, -1, 130, 3, 125, 78,
+ 77, -1, 135, 73, 75, 74, -1, 135, 73, 75,
+ 125, 74, -1, 130, 75, 125, 74, -1, 130, 75,
+ 74, -1, 75, 125, 74, 76, 125, 79, -1, 75,
+ 74, 76, 125, 79, -1, 135, 54, 135, -1, 135,
+ 68, 135, -1, 135, 36, 135, -1, 135, 37, 135,
+ -1, 135, 62, 135, -1, 135, 34, 135, -1, 135,
+ 35, 135, -1, 135, 61, 135, -1, 135, 60, 135,
+ -1, 135, 28, 135, -1, 135, 59, 135, -1, 135,
+ 58, 135, -1, 135, 57, 135, -1, 135, 63, 135,
+ -1, 80, 135, -1, 81, 135, -1, 64, 135, -1,
+ 65, 135, -1, 135, 70, -1, 135, 69, -1, 72,
+ 135, -1, 71, 135, -1, 76, 125, 79, -1, 76,
+ 79, -1, 40, 125, 78, 77, -1, 40, 78, 77,
+ -1, 16, 115, 118, 119, 88, -1, 39, 135, -1,
+ 39, 88, -1, 39, 4, 75, 74, -1, 39, 4,
+ 75, 125, 74, -1, 39, 142, 75, 74, -1, 39,
+ 142, 75, 125, 74, -1, 131, -1, 132, -1, 133,
+ -1, 134, -1, 135, 55, 135, 56, 135, -1, 66,
+ 135, -1, 136, -1, 42, 135, -1, 75, 125, 74,
+ -1, 75, 74, -1, 142, -1, 146, -1, 144, -1,
+ 143, -1, 145, -1, 130, -1, 143, 76, 125, 79,
+ -1, 143, 3, 125, 78, 77, -1, 7, -1, 141,
+ -1, 141, 75, 74, -1, 141, 75, 125, 74, -1,
+ 41, 4, 138, -1, 27, -1, 27, 135, -1, 52,
+ 126, -1, 32, -1, 32, 88, -1, 32, 135, -1,
+ 45, -1, 45, 135, -1, 11, 135, -1, 29, -1,
+ 29, 75, 74, -1, 10, -1, 30, 75, 74, -1,
+ 30, 75, 125, 74, -1, 8, 75, 126, 74, -1,
+ 4, -1, 127, -1, 43, 137, 120, -1, 43, 137,
+ -1, 75, 125, 74, -1, 75, 74, -1, 142, -1,
+ 144, -1, 143, -1, -1, 126, -1, -1, 125, -1,
+ 125, 53, -1, 142, -1, 47, 147, -1, 82, 147,
+ -1, 83, 147, -1, 84, 147, -1, 38, 147, -1,
+ 85, 147, -1, 4, -1, 142, -1, 88, -1, 9,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -177,10 +179,11 @@ static const unsigned short int yyrline[] =
558, 560, 562, 568, 570, 572, 580, 589, 593, 601,
602, 603, 604, 605, 607, 609, 611, 613, 615, 617,
619, 621, 623, 625, 627, 629, 635, 642, 644, 646,
- 648, 651, 654, 657, 659, 661, 663, 665, 667, 670,
- 672, 674, 677, 680, 682, 684, 685, 689, 691, 696,
- 698, 700, 702, 704, 709, 711, 716, 717, 719, 725,
- 729, 733, 737, 741, 745, 749, 754, 756, 758, 761
+ 648, 651, 654, 657, 659, 661, 663, 665, 667, 669,
+ 671, 674, 676, 678, 681, 684, 686, 688, 689, 693,
+ 695, 700, 702, 704, 706, 708, 713, 715, 720, 721,
+ 723, 729, 733, 737, 741, 745, 749, 753, 758, 760,
+ 762, 765
};
#endif
@@ -195,18 +198,18 @@ static const char *const yytname[] =
"IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "LOOPEX", "DOTDOT",
"FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP",
"ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB",
- "COLONATTR", "'&'", "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP", "','",
- "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND", "BITOROP",
- "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS",
- "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('",
- "'['", "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'",
- "$accept", "prog", "block", "remember", "progstart", "mblock",
- "mremember", "savescope", "lineseq", "line", "sideff", "else", "cond",
- "cont", "loop", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
- "miexpr", "label", "decl", "format", "formname", "mysubrout", "subrout",
- "startsub", "startanonsub", "startformsub", "subname", "proto",
- "subattrlist", "myattrlist", "subbody", "package", "use", "@1", "expr",
- "argexpr", "listop", "@2", "method", "subscripted", "termbinop",
+ "REQUIRE", "COLONATTR", "'&'", "PREC_LOW", "DOROP", "OROP", "ANDOP",
+ "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND",
+ "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN",
+ "UMINUS", "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW",
+ "')'", "'('", "'['", "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'",
+ "'%'", "'*'", "$accept", "prog", "block", "remember", "progstart",
+ "mblock", "mremember", "savescope", "lineseq", "line", "sideff", "else",
+ "cond", "cont", "loop", "mintro", "nexpr", "texpr", "iexpr", "mexpr",
+ "mnexpr", "miexpr", "label", "decl", "format", "formname", "mysubrout",
+ "subrout", "startsub", "startanonsub", "startformsub", "subname",
+ "proto", "subattrlist", "myattrlist", "subbody", "package", "use", "@1",
+ "expr", "argexpr", "listop", "@2", "method", "subscripted", "termbinop",
"termunop", "anonymous", "termdo", "term", "myattrterm", "myterm",
"listexpr", "listexprcom", "my_scalar", "amper", "scalar", "ary", "hsh",
"arylen", "star", "indirob", 0
@@ -222,37 +225,38 @@ static const unsigned short int yytoknum[] =
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, 38, 300, 301, 302,
- 303, 304, 44, 305, 63, 58, 306, 307, 308, 309,
- 310, 311, 312, 33, 126, 313, 314, 315, 316, 317,
- 318, 319, 320, 41, 40, 91, 125, 59, 93, 45,
- 43, 36, 64, 37, 42
+ 294, 295, 296, 297, 298, 299, 300, 38, 301, 302,
+ 303, 304, 305, 44, 306, 63, 58, 307, 308, 309,
+ 310, 311, 312, 313, 33, 126, 314, 315, 316, 317,
+ 318, 319, 320, 321, 41, 40, 91, 125, 59, 93,
+ 45, 43, 36, 64, 37, 42
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned char yyr1[] =
{
- 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 93, 93, 94, 94, 94, 94, 95, 95, 95, 95,
- 95, 95, 95, 96, 96, 96, 97, 97, 98, 98,
- 99, 99, 99, 99, 99, 99, 99, 100, 101, 101,
- 102, 102, 103, 104, 105, 106, 107, 107, 108, 108,
- 108, 108, 108, 109, 110, 110, 111, 112, 113, 114,
- 115, 116, 117, 117, 118, 118, 118, 119, 119, 120,
- 120, 121, 123, 122, 124, 124, 124, 124, 125, 125,
- 125, 126, 126, 126, 126, 126, 126, 126, 126, 127,
- 126, 128, 128, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 131, 131, 131, 131, 131, 131, 131, 131, 132, 132,
- 132, 132, 132, 133, 133, 133, 133, 133, 133, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 135, 135, 136,
- 136, 136, 136, 136, 137, 137, 138, 138, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 146, 146, 146
+ 0, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 94, 94, 95, 95, 95, 95, 96, 96, 96, 96,
+ 96, 96, 96, 97, 97, 97, 98, 98, 99, 99,
+ 100, 100, 100, 100, 100, 100, 100, 101, 102, 102,
+ 103, 103, 104, 105, 106, 107, 108, 108, 109, 109,
+ 109, 109, 109, 110, 111, 111, 112, 113, 114, 115,
+ 116, 117, 118, 118, 119, 119, 119, 120, 120, 121,
+ 121, 122, 124, 123, 125, 125, 125, 125, 126, 126,
+ 126, 127, 127, 127, 127, 127, 127, 127, 127, 128,
+ 127, 129, 129, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 132, 132, 132, 132, 132, 132, 132, 132, 133, 133,
+ 133, 133, 133, 134, 134, 134, 134, 134, 134, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 136,
+ 136, 137, 137, 137, 137, 137, 138, 138, 139, 139,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 147,
+ 147, 147
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -274,10 +278,11 @@ static const unsigned char yyr2[] =
4, 3, 5, 2, 2, 4, 5, 4, 5, 1,
1, 1, 1, 5, 2, 1, 2, 3, 2, 1,
1, 1, 1, 1, 1, 4, 5, 1, 1, 3,
- 4, 3, 1, 2, 2, 1, 2, 2, 2, 1,
- 3, 1, 3, 4, 4, 1, 1, 3, 2, 3,
- 2, 1, 1, 1, 0, 1, 0, 1, 2, 1,
- 2, 2, 2, 2, 2, 2, 1, 1, 1, 1
+ 4, 3, 1, 2, 2, 1, 2, 2, 1, 2,
+ 2, 1, 3, 1, 3, 4, 4, 1, 1, 3,
+ 2, 3, 2, 1, 1, 1, 0, 1, 0, 1,
+ 2, 1, 2, 2, 2, 2, 2, 2, 1, 1,
+ 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -288,565 +293,574 @@ static const unsigned char yydefact[] =
5, 0, 9, 1, 8, 60, 58, 0, 58, 58,
46, 10, 48, 50, 49, 51, 52, 55, 0, 0,
72, 0, 47, 11, 13, 0, 54, 0, 61, 62,
- 71, 0, 62, 16, 4, 175, 0, 0, 157, 0,
- 171, 0, 59, 59, 0, 0, 0, 0, 0, 162,
- 169, 0, 0, 165, 184, 0, 0, 0, 0, 0,
+ 71, 0, 62, 16, 4, 177, 0, 0, 157, 0,
+ 173, 0, 59, 59, 0, 0, 0, 0, 0, 162,
+ 171, 0, 0, 165, 186, 0, 0, 0, 0, 0,
+ 0, 168, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 14, 0, 0, 0, 0, 0, 0, 28, 0,
+ 12, 17, 77, 178, 154, 139, 140, 141, 142, 80,
+ 145, 158, 149, 152, 151, 153, 150, 53, 63, 64,
+ 0, 64, 9, 198, 201, 200, 199, 186, 0, 0,
+ 170, 0, 62, 4, 4, 4, 4, 4, 4, 0,
+ 163, 0, 0, 188, 166, 167, 198, 187, 87, 199,
+ 0, 196, 177, 134, 133, 149, 0, 0, 186, 146,
+ 0, 180, 183, 185, 184, 169, 192, 164, 122, 123,
+ 144, 127, 126, 148, 0, 129, 0, 120, 121, 193,
+ 194, 195, 197, 0, 36, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 28, 0, 12,
- 17, 77, 176, 154, 139, 140, 141, 142, 80, 145,
- 158, 149, 152, 151, 153, 150, 53, 63, 64, 0,
- 64, 9, 196, 199, 198, 197, 184, 0, 0, 168,
- 0, 62, 4, 4, 4, 4, 4, 4, 0, 163,
- 0, 0, 186, 166, 167, 196, 185, 87, 197, 0,
- 194, 175, 134, 133, 149, 0, 0, 184, 146, 0,
- 178, 181, 183, 182, 190, 164, 122, 123, 144, 127,
- 126, 148, 0, 129, 0, 120, 121, 191, 192, 193,
- 195, 0, 36, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 125, 124, 0, 0, 0, 0, 0, 0, 0,
- 66, 0, 184, 0, 8, 85, 186, 0, 89, 64,
- 40, 0, 0, 0, 0, 0, 4, 170, 172, 0,
- 187, 0, 0, 81, 0, 0, 131, 0, 161, 180,
- 0, 68, 177, 0, 147, 128, 29, 20, 21, 42,
- 18, 19, 22, 76, 75, 74, 79, 0, 103, 0,
- 0, 115, 111, 112, 108, 109, 106, 0, 118, 117,
- 116, 114, 113, 110, 119, 107, 0, 91, 0, 0,
- 84, 92, 159, 0, 0, 0, 0, 0, 0, 65,
- 70, 69, 57, 0, 56, 3, 0, 174, 184, 0,
- 0, 41, 0, 0, 43, 45, 0, 0, 189, 39,
- 44, 0, 0, 17, 0, 173, 188, 88, 0, 135,
- 0, 137, 0, 130, 179, 67, 0, 0, 0, 102,
- 96, 0, 0, 100, 0, 0, 186, 160, 0, 94,
- 0, 155, 0, 73, 86, 90, 132, 37, 37, 0,
- 0, 0, 0, 40, 0, 82, 136, 138, 105, 0,
- 99, 143, 0, 101, 95, 0, 97, 156, 93, 0,
- 0, 7, 23, 23, 0, 28, 0, 0, 104, 98,
- 83, 28, 28, 9, 0, 0, 26, 27, 0, 34,
- 37, 28, 30, 31, 8, 24, 0, 28, 0, 33,
- 6, 0, 32, 0, 0, 0, 23, 35, 25
+ 0, 0, 0, 125, 124, 0, 0, 0, 0, 0,
+ 0, 0, 66, 0, 186, 0, 8, 85, 188, 0,
+ 89, 64, 40, 0, 0, 0, 0, 0, 4, 172,
+ 174, 0, 189, 0, 0, 81, 0, 0, 131, 0,
+ 161, 182, 0, 68, 179, 0, 147, 128, 29, 20,
+ 21, 42, 18, 19, 22, 76, 75, 74, 79, 0,
+ 103, 0, 0, 115, 111, 112, 108, 109, 106, 0,
+ 118, 117, 116, 114, 113, 110, 119, 107, 0, 91,
+ 0, 0, 84, 92, 159, 0, 0, 0, 0, 0,
+ 0, 65, 70, 69, 57, 0, 56, 3, 0, 176,
+ 186, 0, 0, 41, 0, 0, 43, 45, 0, 0,
+ 191, 39, 44, 0, 0, 17, 0, 175, 190, 88,
+ 0, 135, 0, 137, 0, 130, 181, 67, 0, 0,
+ 0, 102, 96, 0, 0, 100, 0, 0, 188, 160,
+ 0, 94, 0, 155, 0, 73, 86, 90, 132, 37,
+ 37, 0, 0, 0, 0, 40, 0, 82, 136, 138,
+ 105, 0, 99, 143, 0, 101, 95, 0, 97, 156,
+ 93, 0, 0, 7, 23, 23, 0, 28, 0, 0,
+ 104, 98, 83, 28, 28, 9, 0, 0, 26, 27,
+ 0, 34, 37, 28, 30, 31, 8, 24, 0, 28,
+ 0, 33, 6, 0, 32, 0, 0, 0, 23, 35,
+ 25
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
- -1, 1, 104, 101, 2, 362, 373, 10, 4, 23,
- 299, 376, 79, 162, 24, 359, 300, 290, 238, 293,
- 302, 296, 25, 11, 12, 27, 13, 14, 18, 110,
- 17, 29, 98, 201, 232, 282, 15, 16, 31, 294,
- 81, 82, 288, 270, 83, 84, 85, 86, 87, 88,
- 89, 140, 127, 221, 297, 90, 91, 92, 93, 94,
- 95, 106
+ -1, 1, 105, 102, 2, 364, 375, 10, 4, 23,
+ 301, 378, 80, 164, 24, 361, 302, 292, 240, 295,
+ 304, 298, 25, 11, 12, 27, 13, 14, 18, 111,
+ 17, 29, 99, 203, 234, 284, 15, 16, 31, 296,
+ 82, 83, 290, 272, 84, 85, 86, 87, 88, 89,
+ 90, 141, 128, 223, 299, 91, 92, 93, 94, 95,
+ 96, 107
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -344
+#define YYPACT_NINF -352
static const short int yypact[] =
{
- -344, 25, -344, -344, 238, -344, -344, 55, -344, -344,
- 66, -344, -344, -344, -344, -344, -344, 86, 107, 38,
- -344, 107, -344, -344, -344, 264, -344, 113, -344, 112,
- -344, 122, 112, -344, -344, -344, 31, 31, -344, 59,
- -344, 1575, -344, -344, 73, 79, 80, 101, -6, 1575,
- 105, 117, 119, 602, 520, 31, 684, 765, 125, 1575,
- 177, 31, 1575, 1575, 1575, 1575, 1575, 1575, 846, 927,
- -344, 1575, 1575, 31, 31, 31, 31, 170, 124, -344,
- 567, 144, -344, 18, -344, -344, -344, -344, 1795, -344,
- 132, 10, 33, -344, -344, 206, -344, -344, 165, 225,
- 165, -344, -344, -344, -344, -344, 1575, 168, 1575, 94,
- 113, 112, -344, -344, -344, -344, -344, -344, 171, 1795,
- 166, 1008, 520, -344, 94, 1701, 144, -344, 1641, 1575,
- -344, 172, -344, 94, 46, 174, 263, 1575, 94, 1089,
- 209, -344, -344, -344, -344, 144, 5, 5, 5, -46,
- -46, 186, 87, -344, 32, 5, 5, -344, -344, -344,
- -344, 113, -344, -344, 1575, 1575, 1575, 1575, 1575, 1575,
- 1575, 1575, 1575, 1575, 1170, 1575, 1575, 1575, 1575, 1575,
- 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575,
- 1575, -344, -344, 53, 1251, 1575, 1575, 1575, 1575, 1575,
- 271, 6, 1575, 6, 150, -344, 1575, -2, -344, 165,
- 1575, 1575, 1575, 1575, 198, 354, -344, -344, -344, 250,
- 319, 208, 1575, 144, 1332, 1413, -344, 232, -344, -344,
- 325, 309, -344, 1575, 234, -344, -344, 282, -344, 282,
- 282, 282, 282, 267, 267, -344, 1795, 456, -344, 340,
- 74, 1879, 670, 506, 753, 252, 1795, 1753, 1894, 1894,
- 342, 425, 588, 716, 5, 5, 1575, -344, 1494, 1575,
- 248, -344, -344, 466, 620, 109, 712, 154, 764, -344,
- -344, -344, -344, 249, -344, -344, 260, -344, 1575, 113,
- 269, 282, 276, 280, 282, -344, 281, 251, -344, -344,
- -344, 284, 259, 214, 1575, -344, -344, -344, 496, -344,
- 507, -344, 548, -344, -344, -344, 199, 1575, 261, -344,
- -344, 1575, 783, -344, 578, 302, 1575, -344, 296, -344,
- 306, -344, 315, -344, -344, -344, -344, -344, -344, 396,
- 396, 1575, 396, 1575, 333, -344, -344, -344, -344, 373,
- -344, 1837, 331, -344, -344, 335, -344, -344, -344, 396,
- 396, -344, 81, 81, 339, 170, 338, 396, -344, -344,
- -344, 170, 170, -344, 396, 346, -344, -344, 396, -344,
- -344, 170, -344, -344, 213, -344, 1575, 170, 438, -344,
- -344, 343, -344, 353, 396, 396, 81, -344, -344
+ -352, 27, -352, -352, 121, -352, -352, 15, -352, -352,
+ 18, -352, -352, -352, -352, -352, -352, 31, 39, -28,
+ -352, 39, -352, -352, -352, 321, -352, 64, -352, 68,
+ -352, 102, 68, -352, -352, -352, 7, 7, -352, 8,
+ -352, 1642, -352, -352, 36, 49, 62, 65, -34, 1642,
+ 74, 80, 89, 657, 574, 7, 740, 822, 119, 1642,
+ 79, 1642, 7, 1642, 1642, 1642, 1642, 1642, 1642, 904,
+ 986, -352, 1642, 1642, 7, 7, 7, 7, 104, 88,
+ -352, 821, 117, -352, 34, -352, -352, -352, -352, 1860,
+ -352, 106, 10, 14, -352, -352, 179, -352, -352, 138,
+ 181, 138, -352, -352, -352, -352, -352, 1642, 114, 1642,
+ 308, 64, 68, -352, -352, -352, -352, -352, -352, 120,
+ 1860, 126, 1068, 574, -352, 308, 1770, 117, -352, 1709,
+ 1642, -352, 128, -352, 308, 52, 135, 108, 1642, 308,
+ 1150, 148, -352, -352, -352, 1860, -352, 117, 266, 266,
+ 266, -9, -9, 161, -21, -352, 118, 266, 266, -352,
+ -352, -352, -352, 64, -352, -352, 1642, 1642, 1642, 1642,
+ 1642, 1642, 1642, 1642, 1642, 1642, 1232, 1642, 1642, 1642,
+ 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
+ 1642, 1642, 1642, -352, -352, 37, 1314, 1642, 1642, 1642,
+ 1642, 1642, 221, 4, 1642, 4, 48, -352, 1642, -20,
+ -352, 138, 1642, 1642, 1642, 1642, 160, 406, -352, -352,
+ -352, 19, 621, 170, 1642, 117, 1396, 1478, -352, 177,
+ -352, -352, 201, 249, -352, 1642, 190, -352, -352, 67,
+ -352, 67, 67, 67, 67, 220, 220, -352, 1860, 182,
+ -352, 592, 129, 1920, 643, 477, 859, 721, 1860, 1817,
+ 227, 227, 244, 393, 560, 690, 266, 266, 1642, -352,
+ 1560, 1642, 198, -352, -352, 602, 306, 259, 374, 340,
+ 391, -352, -352, -352, -352, 199, -352, -352, 208, -352,
+ 1642, 64, 209, 67, 211, 217, 67, -352, 224, 226,
+ -352, -352, -352, 225, 233, 185, 1642, -352, -352, -352,
+ 725, -352, 807, -352, 827, -352, -352, -352, 425, 1642,
+ 238, -352, -352, 1642, 459, -352, 874, 509, 1642, -352,
+ 241, -352, 242, -352, 246, -352, -352, -352, -352, -352,
+ -352, 299, 299, 1642, 299, 1642, 247, -352, -352, -352,
+ -352, 519, -352, 1903, 253, -352, -352, 272, -352, -352,
+ -352, 299, 299, -352, 54, 54, 275, 104, 289, 299,
+ -352, -352, -352, 104, 104, -352, 299, 294, -352, -352,
+ 299, -352, -352, 104, -352, -352, 116, -352, 1642, 104,
+ 491, -352, -352, 298, -352, 300, 299, 299, 54, -352,
+ -352
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -344, -344, -23, -98, -344, 1424, -344, -344, -100, -344,
- 402, -343, -344, -189, -344, -326, -344, 89, -182, -209,
- 42, -344, -344, -344, -344, -344, -344, -344, 61, 397,
- -344, 420, -22, -92, -344, 244, -344, -344, -344, -25,
- -51, -344, -344, -344, -344, -344, -344, -344, -344, 35,
- -344, -344, -99, -201, -344, -344, -9, 392, 393, -344,
- -344, -13
+ -352, -352, -7, -92, -352, -104, -352, -352, -101, -352,
+ 350, -351, -352, 152, -352, -325, -352, 38, -177, -211,
+ -11, -352, -352, -352, -352, -352, -352, -352, 72, 337,
+ -352, 361, -27, -97, -352, 189, -352, -352, -352, -25,
+ -51, -352, -352, -352, -352, -352, -352, -352, -352, 35,
+ -352, -352, -99, -206, -352, -352, 193, 335, 338, -352,
+ -352, -3
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -176
+#define YYTABLE_NINF -178
static const short int yytable[] =
{
- 80, 204, 77, 126, 96, 286, 301, 205, 203, 34,
- 100, 145, 360, 195, 210, 211, 212, 213, 214, 215,
- 377, 173, -176, -176, 107, 3, 193, 105, 105, 292,
- 123, 295, 136, 132, 34, 102, 197, 116, 228, 118,
- 103, 129, 130, 152, 154, 128, 105, 134, 144, 195,
- 172, 141, 105, 398, 388, 126, 266, 207, 267, 19,
- 157, 158, 159, 160, 105, 105, 105, 105, 117, 20,
- 21, 287, 190, 191, 192, 73, 109, 193, 223, 22,
- 169, 170, 171, 280, 119, 196, 126, 208, 124, 209,
- 26, 133, 174, 175, 138, 344, 219, 220, 146, 147,
- 148, 149, 150, 283, 374, 375, 155, 156, 198, 222,
- 235, 28, 73, 128, 230, 30, 34, 289, 304, 97,
- 225, 196, 169, 170, 171, 355, 99, 268, 269, 137,
- 179, 180, 364, 108, 73, 169, 170, 171, 236, 237,
- 239, 240, 241, 242, 243, 244, 245, 112, 247, 249,
- 250, 126, 320, 113, 114, 188, 189, 169, 170, 171,
- 234, 190, 191, 192, 5, 6, 193, 7, 8, 273,
- 274, 275, 276, 277, 278, 115, 379, 391, 281, 120,
- 281, 220, 382, 383, 271, 291, 239, 329, 239, 335,
- 303, 121, 389, 122, 9, 161, 172, 308, 392, 310,
- 312, 163, 169, 170, 171, 298, 194, 246, 316, 199,
- 200, 251, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 285, 5, 6, 202,
- 7, 8, 331, 164, 165, 166, 167, 126, -2, 217,
- 168, 322, 206, 324, 325, 216, 224, 169, 170, 171,
- 226, 139, 5, 6, 231, 7, 8, 9, 73, 74,
- 75, 233, 169, 170, 171, 33, 336, 34, 35, 36,
- 37, 38, 39, 384, 40, 41, 42, 348, 279, 73,
- 43, 307, 9, 44, 45, 46, 47, -43, 179, 390,
- 48, 49, 349, 50, 51, 52, 53, 54, 169, 170,
- 171, 220, 55, 56, 57, 58, 59, 60, 313, 317,
- 61, 169, 170, 171, 189, 62, 315, 171, 291, 190,
- 191, 192, 326, 305, 193, 341, 333, 63, 64, 65,
- 169, 170, 171, 334, 66, 67, 343, 350, 68, 69,
- 227, 70, 337, 71, 72, 73, 74, 75, 76, 338,
- 169, 170, 171, 339, 340, 33, 351, 342, 35, 36,
- 37, 38, 39, 80, 40, 41, 42, 169, 170, 171,
- 43, 306, 356, 169, 170, 171, 177, 178, 179, 180,
- 354, 49, 357, 50, 51, 52, 53, 54, 169, 170,
- 171, 358, 55, 56, 57, 58, 59, 60, 314, 361,
- 61, 186, 187, 188, 189, 62, 367, 369, 370, 190,
- 191, 192, 378, 319, 193, 380, 394, 63, 64, 65,
- 386, 169, 170, 171, 66, 67, 395, 78, 68, 69,
- 393, -38, 366, 71, 72, 73, 74, 75, 76, 33,
- 111, 32, 35, 36, 37, 38, 39, 284, 40, 41,
- 42, 368, 142, 143, 43, 0, 0, 0, 0, 177,
- 178, 179, 180, 0, 0, 49, 0, 50, 51, 52,
- 53, 54, 0, 0, 0, 0, 55, 56, 57, 58,
- 59, 60, 0, 0, 61, 187, 188, 189, 0, 62,
- 0, 0, 190, 191, 192, 0, 0, 193, 0, 0,
- 0, 63, 64, 65, 169, 170, 171, 0, 66, 67,
- 0, -38, 68, 69, 169, 170, 171, 71, 72, 73,
- 74, 75, 76, 34, 125, 36, 37, 38, 39, 103,
- 40, 41, 42, 318, 0, 0, 43, 0, 0, 327,
- 177, -176, 179, 180, 169, 170, 171, 49, 0, 50,
- 51, 52, 53, 54, 0, 169, 170, 171, 55, 56,
- 57, 58, 59, 60, 0, 0, 61, 188, 189, 345,
- 0, 62, 0, 190, 191, 192, 0, 0, 193, 0,
- 346, 0, 0, 63, 64, 65, 164, 165, 166, 167,
- 66, 67, 0, 168, 68, 69, 169, 170, 171, 71,
- 72, 73, 74, 75, 76, 34, 35, 36, 37, 38,
- 39, 0, 40, 41, 42, 169, 170, 171, 43, 0,
- 0, 347, 177, 178, 179, 180, 169, 170, 171, 49,
- 0, 50, 51, 52, 53, 54, 0, 0, 0, 0,
- 55, 56, 57, 58, 59, 60, 0, 0, 61, 188,
- 189, 353, 0, 62, 0, 190, 191, 192, 0, 0,
- 193, 0, 0, 0, 0, 63, 64, 65, 169, 170,
- 171, 0, 66, 67, 0, 0, 68, 69, 0, 0,
- 0, 71, 72, 73, 74, 75, 76, 34, 131, 36,
- 37, 38, 39, 0, 40, 41, 42, 328, 0, 0,
- 43, 0, 0, 0, -176, 0, 179, 180, 0, 0,
+ 81, 206, 288, 127, 205, 101, 303, 34, 207, 117,
+ 34, 103, 147, 197, 379, 362, 104, 199, 78, 19,
+ 97, 212, 213, 214, 215, 216, 217, 3, 171, 172,
+ 173, 22, 137, 174, 108, 26, 294, 175, 297, 230,
+ 268, 118, 269, 28, 154, 156, 124, 400, 74, 133,
+ 30, 130, 131, 236, 289, 197, 127, 390, 209, 146,
+ -178, -178, 5, 6, 195, 7, 8, 34, 171, 172,
+ 173, 159, 160, 161, 162, 98, 110, 376, 377, 225,
+ 20, 21, 282, 109, 120, 211, 198, 127, 125, 74,
+ 200, 134, 9, 307, 139, 346, 145, 221, 222, 148,
+ 149, 150, 151, 152, 210, 285, 100, 157, 158, 176,
+ 177, 113, 270, 271, 291, 232, 171, 172, 173, 74,
+ 224, -2, 357, 138, 114, 287, 306, 227, 198, 163,
+ 5, 6, 366, 7, 8, 5, 6, 115, 7, 8,
+ 116, 239, 241, 242, 243, 244, 245, 246, 247, 121,
+ 249, 251, 252, 127, 140, 122, 238, 171, 172, 173,
+ 9, 74, 75, 76, 123, 9, 165, 171, 172, 173,
+ 174, 275, 276, 277, 278, 279, 280, 393, 171, 172,
+ 173, 196, 201, 222, 202, 204, 229, 293, 241, 208,
+ 241, 337, 305, 392, 233, 218, 283, 237, 283, 310,
+ 219, 312, 314, 226, 166, 167, 168, 169, 322, 248,
+ 318, 170, 228, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 281, 106,
+ 106, 171, 172, 173, 171, 172, 173, 235, 365, 127,
+ 367, 119, 74, 324, 309, 326, 327, 129, 106, 135,
+ 171, 172, 173, 142, 315, 106, 317, 373, 374, -43,
+ 320, 179, 180, 181, 182, 383, 319, 106, 106, 106,
+ 106, 173, 387, 328, 386, 316, 389, 335, 179, 180,
+ 181, 182, 336, 339, 338, 340, 187, 188, 189, 190,
+ 191, 341, 398, 399, 351, 192, 193, 194, 342, 344,
+ 195, 343, 363, 222, 188, 189, 190, 191, 171, 172,
+ 173, 345, 192, 193, 194, 352, 129, 195, 358, 359,
+ 293, 369, 33, 360, 34, 35, 36, 37, 38, 39,
+ 371, 40, 41, 42, 192, 193, 194, 43, 331, 195,
+ 44, 45, 46, 47, 181, 182, 372, 48, 49, 380,
+ 50, 51, 52, 53, 54, 171, 172, 173, 353, 55,
+ 56, 57, 58, 59, 60, 81, 61, 382, 62, 388,
+ 190, 191, 396, 63, 397, 79, 192, 193, 194, 395,
+ 112, 195, 32, 368, 330, 64, 65, 66, 273, 171,
+ 172, 173, 67, 68, 286, 143, 69, 70, 144, 71,
+ 0, 72, 73, 74, 75, 76, 77, 33, 0, 300,
+ 35, 36, 37, 38, 39, 0, 40, 41, 42, 333,
+ 0, 0, 43, 171, 172, 173, 0, 179, 180, 181,
+ 182, 0, 0, 49, 0, 50, 51, 52, 53, 54,
+ 171, 172, 173, 0, 55, 56, 57, 58, 59, 60,
+ 0, 61, 332, 62, 189, 190, 191, 0, 63, 0,
+ 0, 192, 193, 194, 0, 0, 195, 0, 0, 334,
+ 64, 65, 66, 0, 171, 172, 173, 67, 68, 0,
+ 0, 69, 70, 0, -38, 0, 72, 73, 74, 75,
+ 76, 77, 33, 0, 0, 35, 36, 37, 38, 39,
+ 0, 40, 41, 42, 350, 0, 0, 43, 171, 172,
+ 173, 179, -178, 181, 182, 0, 0, 0, 49, 381,
+ 50, 51, 52, 53, 54, 384, 385, 0, 0, 55,
+ 56, 57, 58, 59, 60, 391, 61, 354, 62, 190,
+ 191, 394, 0, 63, 0, 192, 193, 194, 0, 0,
+ 195, 0, 0, 0, 0, 64, 65, 66, 171, 172,
+ 173, 0, 67, 68, 0, -38, 69, 70, 171, 172,
+ 173, 72, 73, 74, 75, 76, 77, 34, 126, 36,
+ 37, 38, 39, 104, 40, 41, 42, 0, 356, 0,
+ 43, 0, 0, 0, 179, 180, 181, 182, 370, 0,
0, 49, 0, 50, 51, 52, 53, 54, 0, 0,
- 0, 0, 55, 56, 57, 58, 59, 60, 0, 0,
- 61, 188, 189, 0, 0, 62, 0, 190, 191, 192,
- 0, 0, 193, 0, 0, 0, 0, 63, 64, 65,
- 0, 0, 179, 180, 66, 67, 0, 0, 68, 69,
- 169, 170, 171, 71, 72, 73, 74, 75, 76, 35,
- 36, 37, 38, 39, 0, 40, 41, 42, 189, 0,
- 0, 43, 0, 190, 191, 192, 0, 0, 193, 330,
- 0, 0, 49, 0, 50, 51, 52, 53, 54, 0,
- 0, 0, 0, 55, 56, 57, 58, 59, 60, 0,
- 0, 61, 169, 170, 171, 189, 62, 0, 0, 0,
- 190, 191, 192, 0, 0, 193, 0, 0, 63, 64,
- 65, 169, 170, 171, 0, 66, 67, 0, 0, 68,
- 69, 332, 135, 0, 71, 72, 73, 74, 75, 76,
+ 0, 0, 55, 56, 57, 58, 59, 60, 0, 61,
+ 0, 62, 190, 191, 0, 0, 63, 0, 192, 193,
+ 194, 0, 0, 195, 0, 0, 0, 0, 64, 65,
+ 66, 171, 172, 173, 0, 67, 68, 0, 0, 69,
+ 70, 171, 172, 173, 72, 73, 74, 75, 76, 77,
+ 34, 35, 36, 37, 38, 39, 321, 40, 41, 42,
+ 171, 172, 173, 43, 308, 0, 329, -178, 0, 181,
+ 182, 0, 0, 0, 49, 0, 50, 51, 52, 53,
+ 54, 0, 0, 0, 0, 55, 56, 57, 58, 59,
+ 60, 0, 61, 0, 62, 190, 191, 0, 0, 63,
+ 0, 192, 193, 194, 0, 0, 195, 0, 0, 0,
+ 0, 64, 65, 66, 0, 0, 181, 182, 67, 68,
+ 0, 0, 69, 70, 0, 0, 0, 72, 73, 74,
+ 75, 76, 77, 34, 132, 36, 37, 38, 39, 0,
+ 40, 41, 42, 191, 0, 0, 43, 181, 192, 193,
+ 194, 0, 0, 195, 0, 0, 0, 49, 0, 50,
+ 51, 52, 53, 54, 171, 172, 173, 0, 55, 56,
+ 57, 58, 59, 60, 191, 61, 0, 62, 0, 192,
+ 193, 194, 63, 0, 195, 0, 0, 0, 0, 347,
+ 0, 0, 0, 0, 64, 65, 66, 0, 0, 0,
+ 0, 67, 68, 0, 0, 69, 70, 0, 0, 0,
+ 72, 73, 74, 75, 76, 77, 35, 36, 37, 38,
+ 39, 0, 40, 41, 42, 0, 0, 0, 43, 0,
+ 166, 167, 168, 169, 0, 0, 0, 170, 0, 49,
+ 0, 50, 51, 52, 53, 54, 171, 172, 173, 0,
+ 55, 56, 57, 58, 59, 60, 0, 61, 0, 62,
+ 171, 172, 173, 0, 63, 0, 171, 172, 173, 0,
+ 0, 348, 0, 0, 0, 0, 64, 65, 66, 0,
+ 0, 0, 0, 67, 68, 0, 0, 69, 70, 0,
+ 136, 349, 72, 73, 74, 75, 76, 77, 35, 36,
+ 37, 38, 39, 0, 40, 41, 42, 0, 0, 0,
+ 43, 0, 191, 171, 172, 173, 0, 192, 193, 194,
+ 0, 49, 195, 50, 51, 52, 53, 54, 0, 0,
+ 0, 0, 55, 56, 57, 58, 59, 60, 355, 61,
+ 0, 62, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
+ 66, 0, 0, 0, 0, 67, 68, 0, 153, 69,
+ 70, 0, 0, 0, 72, 73, 74, 75, 76, 77,
35, 36, 37, 38, 39, 0, 40, 41, 42, 0,
- 352, 0, 43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 49, 0, 50, 51, 52, 53, 54,
0, 0, 0, 0, 55, 56, 57, 58, 59, 60,
- 0, 0, 61, 0, 0, 0, 0, 62, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 64, 65, 0, 0, 0, 0, 66, 67, 0, 151,
- 68, 69, 0, 0, 0, 71, 72, 73, 74, 75,
- 76, 35, 36, 37, 38, 39, 0, 40, 41, 42,
- 0, 0, 0, 43, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 50, 51, 52, 53,
- 54, 0, 0, 0, 0, 55, 56, 57, 58, 59,
- 60, 0, 0, 61, 0, 0, 0, 0, 62, 0,
+ 0, 61, 0, 62, 0, 0, 0, 0, 63, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 63, 64, 65, 0, 0, 0, 0, 66, 67, 0,
- 0, 68, 69, 0, 0, 153, 71, 72, 73, 74,
- 75, 76, 35, 36, 37, 38, 39, 0, 40, 41,
+ 64, 65, 66, 0, 0, 0, 0, 67, 68, 0,
+ 0, 69, 70, 0, 0, 155, 72, 73, 74, 75,
+ 76, 77, 35, 36, 37, 38, 39, 0, 40, 41,
42, 0, 0, 0, 43, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 49, 0, 50, 51, 52,
53, 54, 0, 0, 0, 0, 55, 56, 57, 58,
- 59, 60, 0, 0, 61, 0, 0, 0, 0, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 63, 64, 65, 0, 0, 0, 0, 66, 67,
- 0, 218, 68, 69, 0, 0, 0, 71, 72, 73,
- 74, 75, 76, 35, 36, 37, 38, 39, 0, 40,
- 41, 42, 0, 0, 0, 43, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 49, 0, 50, 51,
- 52, 53, 54, 0, 0, 0, 0, 55, 56, 57,
- 58, 59, 60, 0, 0, 61, 0, 0, 0, 0,
- 62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 64, 65, 0, 0, 0, 0, 66,
- 67, 0, 229, 68, 69, 0, 0, 0, 71, 72,
- 73, 74, 75, 76, 35, 36, 37, 38, 39, 0,
+ 59, 60, 0, 61, 0, 62, 0, 0, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 64, 65, 66, 0, 0, 0, 0, 67,
+ 68, 0, 220, 69, 70, 0, 0, 0, 72, 73,
+ 74, 75, 76, 77, 35, 36, 37, 38, 39, 0,
40, 41, 42, 0, 0, 0, 43, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 49, 0, 50,
51, 52, 53, 54, 0, 0, 0, 0, 55, 56,
- 57, 58, 59, 60, 0, 0, 61, 0, 0, 0,
- 0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 64, 65, 0, 0, 0, 0,
- 66, 67, 0, 248, 68, 69, 0, 0, 0, 71,
- 72, 73, 74, 75, 76, 35, 36, 37, 38, 39,
- 0, 40, 41, 42, 0, 0, 0, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
- 50, 51, 52, 53, 54, 0, 0, 0, 0, 55,
- 56, 57, 58, 59, 60, 0, 0, 61, 0, 0,
- 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 64, 65, 0, 0, 0,
- 0, 66, 67, 0, 272, 68, 69, 0, 0, 0,
- 71, 72, 73, 74, 75, 76, 35, 36, 37, 38,
+ 57, 58, 59, 60, 0, 61, 0, 62, 0, 0,
+ 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 65, 66, 0, 0, 0,
+ 0, 67, 68, 0, 231, 69, 70, 0, 0, 0,
+ 72, 73, 74, 75, 76, 77, 35, 36, 37, 38,
39, 0, 40, 41, 42, 0, 0, 0, 43, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
0, 50, 51, 52, 53, 54, 0, 0, 0, 0,
- 55, 56, 57, 58, 59, 60, 0, 0, 61, 0,
- 0, 0, 0, 62, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 63, 64, 65, 0, 0,
- 0, 0, 66, 67, 0, 309, 68, 69, 0, 0,
- 0, 71, 72, 73, 74, 75, 76, 35, 36, 37,
- 38, 39, 0, 40, 41, 42, 0, 0, 0, 43,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 50, 51, 52, 53, 54, 0, 0, 0,
- 0, 55, 56, 57, 58, 59, 60, 0, 0, 61,
- 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 63, 64, 65, 0,
- 0, 0, 0, 66, 67, 0, 311, 68, 69, 0,
- 0, 0, 71, 72, 73, 74, 75, 76, 35, 36,
+ 55, 56, 57, 58, 59, 60, 0, 61, 0, 62,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 64, 65, 66, 0,
+ 0, 0, 0, 67, 68, 0, 250, 69, 70, 0,
+ 0, 0, 72, 73, 74, 75, 76, 77, 35, 36,
37, 38, 39, 0, 40, 41, 42, 0, 0, 0,
43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 49, 0, 50, 51, 52, 53, 54, 0, 0,
- 0, 0, 55, 56, 57, 58, 59, 60, 0, 0,
- 61, 0, 0, 0, 0, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 64, 65,
- 0, 0, 0, 0, 66, 67, 0, 323, 68, 69,
- 0, 0, 0, 71, 72, 73, 74, 75, 76, 35,
- 36, 37, 38, 39, 0, 40, 41, 42, 0, 0,
- 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 49, 0, 50, 51, 52, 53, 54, 0,
- 0, 0, 0, 55, 56, 57, 58, 59, 60, 0,
- 0, 61, 0, 0, 0, 0, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
- 65, 0, 0, 0, 195, 66, 67, 0, 0, 68,
- 69, 0, 0, 0, 71, 72, 73, 74, 75, 76,
- -149, -149, -149, -149, 0, 0, 0, -149, 0, -149,
- 0, 0, 0, 0, 0, -149, -149, -149, -149, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
- -149, -149, 0, -149, -149, -149, -149, -149, -149, -149,
- -149, -149, -149, -149, 0, 0, 0, 0, -149, -149,
- -149, 0, 0, -149, -149, 0, 196, 0, -149, -149,
- -175, -175, -175, -175, 0, 0, 0, -175, 0, -175,
- 0, 0, 0, 0, 0, -175, -175, -175, -175, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -175,
- -175, -175, 0, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, 363, 0, 365, 0, -175, -175,
- -175, 0, 0, -175, -175, 0, 0, 0, -175, -175,
- 0, 176, 0, 371, 372, 0, 0, 177, 178, 179,
- 180, 381, 0, 0, 0, 0, 0, 0, 385, 0,
- 0, 0, 387, 0, 0, 0, 181, 182, 321, 183,
- 184, 185, 186, 187, 188, 189, 0, 0, 396, 397,
- 190, 191, 192, 176, 0, 193, 0, 0, 0, 177,
- 178, 179, 180, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 181, 182,
- 0, 183, 184, 185, 186, 187, 188, 189, 0, 0,
- 0, 0, 190, 191, 192, 176, 0, 193, 0, 0,
- 0, 177, 178, 179, 180, 0, 0, 0, 0, 0,
+ 0, 0, 55, 56, 57, 58, 59, 60, 0, 61,
+ 0, 62, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
+ 66, 0, 0, 0, 0, 67, 68, 0, 274, 69,
+ 70, 0, 0, 0, 72, 73, 74, 75, 76, 77,
+ 35, 36, 37, 38, 39, 0, 40, 41, 42, 0,
+ 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 49, 0, 50, 51, 52, 53, 54,
+ 0, 0, 0, 0, 55, 56, 57, 58, 59, 60,
+ 0, 61, 0, 62, 0, 0, 0, 0, 63, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 182, 0, 183, 184, 185, 186, 187, 188, 189,
- 0, 0, 0, 0, 190, 191, 192, -176, 0, 193,
- 0, 0, 0, 177, 178, 179, 180, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 177, 178,
- 179, 180, 0, 0, 0, 183, 184, 185, 186, 187,
- 188, 189, 0, 0, 0, 0, 190, 191, 192, 0,
- 0, 193, 185, 186, 187, 188, 189, 0, 0, 0,
- 0, 190, 191, 192, 0, 0, 193
+ 64, 65, 66, 0, 0, 0, 0, 67, 68, 0,
+ 311, 69, 70, 0, 0, 0, 72, 73, 74, 75,
+ 76, 77, 35, 36, 37, 38, 39, 0, 40, 41,
+ 42, 0, 0, 0, 43, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 49, 0, 50, 51, 52,
+ 53, 54, 0, 0, 0, 0, 55, 56, 57, 58,
+ 59, 60, 0, 61, 0, 62, 0, 0, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 64, 65, 66, 0, 0, 0, 0, 67,
+ 68, 0, 313, 69, 70, 0, 0, 0, 72, 73,
+ 74, 75, 76, 77, 35, 36, 37, 38, 39, 0,
+ 40, 41, 42, 0, 0, 0, 43, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 49, 0, 50,
+ 51, 52, 53, 54, 0, 0, 0, 0, 55, 56,
+ 57, 58, 59, 60, 0, 61, 0, 62, 0, 0,
+ 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 65, 66, 0, 0, 0,
+ 0, 67, 68, 0, 325, 69, 70, 0, 0, 0,
+ 72, 73, 74, 75, 76, 77, 35, 36, 37, 38,
+ 39, 0, 40, 41, 42, 0, 0, 0, 43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
+ 0, 50, 51, 52, 53, 54, 0, 0, 0, 0,
+ 55, 56, 57, 58, 59, 60, 0, 61, 0, 62,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 64, 65, 66, 0,
+ 0, 0, 197, 67, 68, 0, 0, 69, 70, 0,
+ 0, 0, 72, 73, 74, 75, 76, 77, -149, -149,
+ -149, -149, 0, 0, 0, -149, 0, -149, 0, 0,
+ 0, 0, 0, -149, -149, -149, -149, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -149, -149,
+ -149, 0, -149, -149, -149, -149, -149, -149, -149, -149,
+ -149, -149, -149, 0, 0, 0, 0, -149, -149, -149,
+ 0, 0, -149, -149, 0, 198, 0, -149, -149, -177,
+ -177, -177, -177, 0, 0, 0, -177, 0, -177, 0,
+ 0, 0, 0, 0, -177, -177, -177, -177, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -177,
+ -177, -177, 0, -177, -177, -177, -177, -177, -177, -177,
+ -177, -177, -177, -177, 0, 0, 0, 0, -177, -177,
+ -177, 0, 0, -177, -177, 178, 0, 0, -177, -177,
+ 0, 179, 180, 181, 182, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 183, 184, 323, 185, 186, 187, 188, 189, 190,
+ 191, 0, 0, 0, 0, 192, 193, 194, 178, 0,
+ 195, 0, 0, 0, 179, 180, 181, 182, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 183, 184, 0, 185, 186, 187,
+ 188, 189, 190, 191, 0, 0, 0, 0, 192, 193,
+ 194, 178, 0, 195, 0, 0, 0, 179, 180, 181,
+ 182, 0, 0, 0, 0, 0, 0, 0, -178, 0,
+ 0, 0, 0, 0, 179, 180, 181, 182, 184, 0,
+ 185, 186, 187, 188, 189, 190, 191, 0, 0, 0,
+ 0, 192, 193, 194, 0, 0, 195, 185, 186, 187,
+ 188, 189, 190, 191, 0, 0, 0, 0, 192, 193,
+ 194, 0, 0, 195
};
static const short int yycheck[] =
{
- 25, 101, 25, 54, 27, 206, 215, 106, 100, 3,
- 32, 62, 338, 3, 112, 113, 114, 115, 116, 117,
- 363, 3, 68, 69, 37, 0, 72, 36, 37, 211,
- 53, 213, 57, 56, 3, 4, 3, 43, 137, 48,
- 9, 54, 55, 68, 69, 54, 55, 56, 61, 3,
- 52, 60, 61, 396, 380, 106, 3, 108, 5, 4,
- 73, 74, 75, 76, 73, 74, 75, 76, 74, 8,
- 9, 73, 67, 68, 69, 81, 41, 72, 129, 13,
- 48, 49, 50, 77, 49, 75, 137, 110, 53, 111,
- 4, 56, 74, 75, 59, 304, 121, 122, 63, 64,
- 65, 66, 67, 202, 23, 24, 71, 72, 75, 122,
- 78, 4, 81, 122, 139, 77, 3, 209, 216, 7,
- 74, 75, 48, 49, 50, 326, 4, 74, 75, 4,
- 36, 37, 341, 74, 81, 48, 49, 50, 161, 164,
- 165, 166, 167, 168, 169, 170, 171, 74, 173, 174,
- 175, 202, 78, 74, 74, 61, 62, 48, 49, 50,
- 73, 67, 68, 69, 14, 15, 72, 17, 18, 194,
- 195, 196, 197, 198, 199, 74, 365, 386, 201, 74,
- 203, 206, 371, 372, 193, 210, 211, 78, 213, 288,
- 215, 74, 381, 74, 44, 25, 52, 222, 387, 224,
- 225, 77, 48, 49, 50, 214, 74, 172, 233, 3,
- 45, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 76, 14, 15, 4,
- 17, 18, 78, 19, 20, 21, 22, 288, 0, 73,
- 26, 266, 74, 268, 269, 74, 74, 48, 49, 50,
- 76, 74, 14, 15, 45, 17, 18, 44, 81, 82,
- 83, 75, 48, 49, 50, 1, 289, 3, 4, 5,
- 6, 7, 8, 373, 10, 11, 12, 78, 7, 81,
- 16, 73, 44, 19, 20, 21, 22, 73, 36, 76,
- 26, 27, 317, 29, 30, 31, 32, 33, 48, 49,
- 50, 326, 38, 39, 40, 41, 42, 43, 76, 75,
- 46, 48, 49, 50, 62, 51, 7, 50, 343, 67,
- 68, 69, 74, 73, 72, 74, 77, 63, 64, 65,
- 48, 49, 50, 73, 70, 71, 77, 76, 74, 75,
- 77, 77, 73, 79, 80, 81, 82, 83, 84, 73,
- 48, 49, 50, 73, 73, 1, 321, 73, 4, 5,
- 6, 7, 8, 388, 10, 11, 12, 48, 49, 50,
- 16, 52, 76, 48, 49, 50, 34, 35, 36, 37,
- 78, 27, 76, 29, 30, 31, 32, 33, 48, 49,
- 50, 76, 38, 39, 40, 41, 42, 43, 73, 3,
- 46, 59, 60, 61, 62, 51, 73, 76, 73, 67,
- 68, 69, 73, 73, 72, 77, 73, 63, 64, 65,
- 74, 48, 49, 50, 70, 71, 73, 25, 74, 75,
- 388, 77, 343, 79, 80, 81, 82, 83, 84, 1,
- 43, 21, 4, 5, 6, 7, 8, 203, 10, 11,
- 12, 78, 60, 60, 16, -1, -1, -1, -1, 34,
- 35, 36, 37, -1, -1, 27, -1, 29, 30, 31,
- 32, 33, -1, -1, -1, -1, 38, 39, 40, 41,
- 42, 43, -1, -1, 46, 60, 61, 62, -1, 51,
- -1, -1, 67, 68, 69, -1, -1, 72, -1, -1,
- -1, 63, 64, 65, 48, 49, 50, -1, 70, 71,
- -1, 73, 74, 75, 48, 49, 50, 79, 80, 81,
- 82, 83, 84, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 77, -1, -1, 16, -1, -1, 73,
- 34, 35, 36, 37, 48, 49, 50, 27, -1, 29,
- 30, 31, 32, 33, -1, 48, 49, 50, 38, 39,
- 40, 41, 42, 43, -1, -1, 46, 61, 62, 73,
- -1, 51, -1, 67, 68, 69, -1, -1, 72, -1,
- 73, -1, -1, 63, 64, 65, 19, 20, 21, 22,
- 70, 71, -1, 26, 74, 75, 48, 49, 50, 79,
- 80, 81, 82, 83, 84, 3, 4, 5, 6, 7,
- 8, -1, 10, 11, 12, 48, 49, 50, 16, -1,
- -1, 73, 34, 35, 36, 37, 48, 49, 50, 27,
- -1, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- 38, 39, 40, 41, 42, 43, -1, -1, 46, 61,
- 62, 73, -1, 51, -1, 67, 68, 69, -1, -1,
- 72, -1, -1, -1, -1, 63, 64, 65, 48, 49,
- 50, -1, 70, 71, -1, -1, 74, 75, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 3, 4, 5,
- 6, 7, 8, -1, 10, 11, 12, 77, -1, -1,
- 16, -1, -1, -1, 34, -1, 36, 37, -1, -1,
+ 25, 102, 208, 54, 101, 32, 217, 3, 107, 43,
+ 3, 4, 63, 3, 365, 340, 9, 3, 25, 4,
+ 27, 113, 114, 115, 116, 117, 118, 0, 49, 50,
+ 51, 13, 57, 53, 37, 4, 213, 3, 215, 138,
+ 3, 75, 5, 4, 69, 70, 53, 398, 82, 56,
+ 78, 54, 55, 74, 74, 3, 107, 382, 109, 62,
+ 69, 70, 14, 15, 73, 17, 18, 3, 49, 50,
+ 51, 74, 75, 76, 77, 7, 41, 23, 24, 130,
+ 8, 9, 78, 75, 49, 112, 76, 138, 53, 82,
+ 76, 56, 44, 74, 59, 306, 61, 122, 123, 64,
+ 65, 66, 67, 68, 111, 204, 4, 72, 73, 75,
+ 76, 75, 75, 76, 211, 140, 49, 50, 51, 82,
+ 123, 0, 328, 4, 75, 77, 218, 75, 76, 25,
+ 14, 15, 343, 17, 18, 14, 15, 75, 17, 18,
+ 75, 166, 167, 168, 169, 170, 171, 172, 173, 75,
+ 175, 176, 177, 204, 75, 75, 163, 49, 50, 51,
+ 44, 82, 83, 84, 75, 44, 78, 49, 50, 51,
+ 53, 196, 197, 198, 199, 200, 201, 388, 49, 50,
+ 51, 75, 3, 208, 46, 4, 78, 212, 213, 75,
+ 215, 290, 217, 77, 46, 75, 203, 79, 205, 224,
+ 74, 226, 227, 75, 19, 20, 21, 22, 79, 174,
+ 235, 26, 77, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 7, 36,
+ 37, 49, 50, 51, 49, 50, 51, 76, 342, 290,
+ 344, 48, 82, 268, 74, 270, 271, 54, 55, 56,
+ 49, 50, 51, 60, 77, 62, 7, 361, 362, 74,
+ 78, 34, 35, 36, 37, 369, 76, 74, 75, 76,
+ 77, 51, 376, 75, 375, 74, 380, 78, 34, 35,
+ 36, 37, 74, 74, 291, 74, 59, 60, 61, 62,
+ 63, 74, 396, 397, 319, 68, 69, 70, 74, 74,
+ 73, 75, 3, 328, 60, 61, 62, 63, 49, 50,
+ 51, 78, 68, 69, 70, 77, 123, 73, 77, 77,
+ 345, 74, 1, 77, 3, 4, 5, 6, 7, 8,
+ 77, 10, 11, 12, 68, 69, 70, 16, 79, 73,
+ 19, 20, 21, 22, 36, 37, 74, 26, 27, 74,
+ 29, 30, 31, 32, 33, 49, 50, 51, 323, 38,
+ 39, 40, 41, 42, 43, 390, 45, 78, 47, 75,
+ 62, 63, 74, 52, 74, 25, 68, 69, 70, 390,
+ 43, 73, 21, 345, 78, 64, 65, 66, 195, 49,
+ 50, 51, 71, 72, 205, 60, 75, 76, 60, 78,
+ -1, 80, 81, 82, 83, 84, 85, 1, -1, 216,
+ 4, 5, 6, 7, 8, -1, 10, 11, 12, 79,
+ -1, -1, 16, 49, 50, 51, -1, 34, 35, 36,
+ 37, -1, -1, 27, -1, 29, 30, 31, 32, 33,
+ 49, 50, 51, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, 78, 47, 61, 62, 63, -1, 52, -1,
+ -1, 68, 69, 70, -1, -1, 73, -1, -1, 78,
+ 64, 65, 66, -1, 49, 50, 51, 71, 72, -1,
+ -1, 75, 76, -1, 78, -1, 80, 81, 82, 83,
+ 84, 85, 1, -1, -1, 4, 5, 6, 7, 8,
+ -1, 10, 11, 12, 79, -1, -1, 16, 49, 50,
+ 51, 34, 35, 36, 37, -1, -1, -1, 27, 367,
+ 29, 30, 31, 32, 33, 373, 374, -1, -1, 38,
+ 39, 40, 41, 42, 43, 383, 45, 78, 47, 62,
+ 63, 389, -1, 52, -1, 68, 69, 70, -1, -1,
+ 73, -1, -1, -1, -1, 64, 65, 66, 49, 50,
+ 51, -1, 71, 72, -1, 74, 75, 76, 49, 50,
+ 51, 80, 81, 82, 83, 84, 85, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, -1, 79, -1,
+ 16, -1, -1, -1, 34, 35, 36, 37, 79, -1,
-1, 27, -1, 29, 30, 31, 32, 33, -1, -1,
- -1, -1, 38, 39, 40, 41, 42, 43, -1, -1,
- 46, 61, 62, -1, -1, 51, -1, 67, 68, 69,
- -1, -1, 72, -1, -1, -1, -1, 63, 64, 65,
- -1, -1, 36, 37, 70, 71, -1, -1, 74, 75,
- 48, 49, 50, 79, 80, 81, 82, 83, 84, 4,
- 5, 6, 7, 8, -1, 10, 11, 12, 62, -1,
- -1, 16, -1, 67, 68, 69, -1, -1, 72, 77,
- -1, -1, 27, -1, 29, 30, 31, 32, 33, -1,
- -1, -1, -1, 38, 39, 40, 41, 42, 43, -1,
- -1, 46, 48, 49, 50, 62, 51, -1, -1, -1,
- 67, 68, 69, -1, -1, 72, -1, -1, 63, 64,
- 65, 48, 49, 50, -1, 70, 71, -1, -1, 74,
- 75, 77, 77, -1, 79, 80, 81, 82, 83, 84,
+ -1, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, 47, 62, 63, -1, -1, 52, -1, 68, 69,
+ 70, -1, -1, 73, -1, -1, -1, -1, 64, 65,
+ 66, 49, 50, 51, -1, 71, 72, -1, -1, 75,
+ 76, 49, 50, 51, 80, 81, 82, 83, 84, 85,
+ 3, 4, 5, 6, 7, 8, 74, 10, 11, 12,
+ 49, 50, 51, 16, 53, -1, 74, 34, -1, 36,
+ 37, -1, -1, -1, 27, -1, 29, 30, 31, 32,
+ 33, -1, -1, -1, -1, 38, 39, 40, 41, 42,
+ 43, -1, 45, -1, 47, 62, 63, -1, -1, 52,
+ -1, 68, 69, 70, -1, -1, 73, -1, -1, -1,
+ -1, 64, 65, 66, -1, -1, 36, 37, 71, 72,
+ -1, -1, 75, 76, -1, -1, -1, 80, 81, 82,
+ 83, 84, 85, 3, 4, 5, 6, 7, 8, -1,
+ 10, 11, 12, 63, -1, -1, 16, 36, 68, 69,
+ 70, -1, -1, 73, -1, -1, -1, 27, -1, 29,
+ 30, 31, 32, 33, 49, 50, 51, -1, 38, 39,
+ 40, 41, 42, 43, 63, 45, -1, 47, -1, 68,
+ 69, 70, 52, -1, 73, -1, -1, -1, -1, 74,
+ -1, -1, -1, -1, 64, 65, 66, -1, -1, -1,
+ -1, 71, 72, -1, -1, 75, 76, -1, -1, -1,
+ 80, 81, 82, 83, 84, 85, 4, 5, 6, 7,
+ 8, -1, 10, 11, 12, -1, -1, -1, 16, -1,
+ 19, 20, 21, 22, -1, -1, -1, 26, -1, 27,
+ -1, 29, 30, 31, 32, 33, 49, 50, 51, -1,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
+ 49, 50, 51, -1, 52, -1, 49, 50, 51, -1,
+ -1, 74, -1, -1, -1, -1, 64, 65, 66, -1,
+ -1, -1, -1, 71, 72, -1, -1, 75, 76, -1,
+ 78, 74, 80, 81, 82, 83, 84, 85, 4, 5,
+ 6, 7, 8, -1, 10, 11, 12, -1, -1, -1,
+ 16, -1, 63, 49, 50, 51, -1, 68, 69, 70,
+ -1, 27, 73, 29, 30, 31, 32, 33, -1, -1,
+ -1, -1, 38, 39, 40, 41, 42, 43, 74, 45,
+ -1, 47, -1, -1, -1, -1, 52, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 64, 65,
+ 66, -1, -1, -1, -1, 71, 72, -1, 74, 75,
+ 76, -1, -1, -1, 80, 81, 82, 83, 84, 85,
4, 5, 6, 7, 8, -1, 10, 11, 12, -1,
- 77, -1, 16, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 16, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 27, -1, 29, 30, 31, 32, 33,
-1, -1, -1, -1, 38, 39, 40, 41, 42, 43,
- -1, -1, 46, -1, -1, -1, -1, 51, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
- 64, 65, -1, -1, -1, -1, 70, 71, -1, 73,
- 74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 4, 5, 6, 7, 8, -1, 10, 11, 12,
- -1, -1, -1, 16, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 27, -1, 29, 30, 31, 32,
- 33, -1, -1, -1, -1, 38, 39, 40, 41, 42,
- 43, -1, -1, 46, -1, -1, -1, -1, 51, -1,
+ -1, 45, -1, 47, -1, -1, -1, -1, 52, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 63, 64, 65, -1, -1, -1, -1, 70, 71, -1,
- -1, 74, 75, -1, -1, 78, 79, 80, 81, 82,
- 83, 84, 4, 5, 6, 7, 8, -1, 10, 11,
+ 64, 65, 66, -1, -1, -1, -1, 71, 72, -1,
+ -1, 75, 76, -1, -1, 79, 80, 81, 82, 83,
+ 84, 85, 4, 5, 6, 7, 8, -1, 10, 11,
12, -1, -1, -1, 16, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 27, -1, 29, 30, 31,
32, 33, -1, -1, -1, -1, 38, 39, 40, 41,
- 42, 43, -1, -1, 46, -1, -1, -1, -1, 51,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 63, 64, 65, -1, -1, -1, -1, 70, 71,
- -1, 73, 74, 75, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 4, 5, 6, 7, 8, -1, 10,
- 11, 12, -1, -1, -1, 16, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 27, -1, 29, 30,
- 31, 32, 33, -1, -1, -1, -1, 38, 39, 40,
- 41, 42, 43, -1, -1, 46, -1, -1, -1, -1,
- 51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 63, 64, 65, -1, -1, -1, -1, 70,
- 71, -1, 73, 74, 75, -1, -1, -1, 79, 80,
- 81, 82, 83, 84, 4, 5, 6, 7, 8, -1,
+ 42, 43, -1, 45, -1, 47, -1, -1, -1, -1,
+ 52, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 64, 65, 66, -1, -1, -1, -1, 71,
+ 72, -1, 74, 75, 76, -1, -1, -1, 80, 81,
+ 82, 83, 84, 85, 4, 5, 6, 7, 8, -1,
10, 11, 12, -1, -1, -1, 16, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 27, -1, 29,
30, 31, 32, 33, -1, -1, -1, -1, 38, 39,
- 40, 41, 42, 43, -1, -1, 46, -1, -1, -1,
- -1, 51, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 63, 64, 65, -1, -1, -1, -1,
- 70, 71, -1, 73, 74, 75, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 4, 5, 6, 7, 8,
- -1, 10, 11, 12, -1, -1, -1, 16, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
- 29, 30, 31, 32, 33, -1, -1, -1, -1, 38,
- 39, 40, 41, 42, 43, -1, -1, 46, -1, -1,
- -1, -1, 51, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 63, 64, 65, -1, -1, -1,
- -1, 70, 71, -1, 73, 74, 75, -1, -1, -1,
- 79, 80, 81, 82, 83, 84, 4, 5, 6, 7,
+ 40, 41, 42, 43, -1, 45, -1, 47, -1, -1,
+ -1, -1, 52, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 64, 65, 66, -1, -1, -1,
+ -1, 71, 72, -1, 74, 75, 76, -1, -1, -1,
+ 80, 81, 82, 83, 84, 85, 4, 5, 6, 7,
8, -1, 10, 11, 12, -1, -1, -1, 16, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
-1, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- 38, 39, 40, 41, 42, 43, -1, -1, 46, -1,
- -1, -1, -1, 51, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 63, 64, 65, -1, -1,
- -1, -1, 70, 71, -1, 73, 74, 75, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 4, 5, 6,
- 7, 8, -1, 10, 11, 12, -1, -1, -1, 16,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 27, -1, 29, 30, 31, 32, 33, -1, -1, -1,
- -1, 38, 39, 40, 41, 42, 43, -1, -1, 46,
- -1, -1, -1, -1, 51, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 63, 64, 65, -1,
- -1, -1, -1, 70, 71, -1, 73, 74, 75, -1,
- -1, -1, 79, 80, 81, 82, 83, 84, 4, 5,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
+ -1, -1, -1, -1, 52, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 64, 65, 66, -1,
+ -1, -1, -1, 71, 72, -1, 74, 75, 76, -1,
+ -1, -1, 80, 81, 82, 83, 84, 85, 4, 5,
6, 7, 8, -1, 10, 11, 12, -1, -1, -1,
16, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 27, -1, 29, 30, 31, 32, 33, -1, -1,
- -1, -1, 38, 39, 40, 41, 42, 43, -1, -1,
- 46, -1, -1, -1, -1, 51, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 63, 64, 65,
- -1, -1, -1, -1, 70, 71, -1, 73, 74, 75,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 4,
- 5, 6, 7, 8, -1, 10, 11, 12, -1, -1,
- -1, 16, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 27, -1, 29, 30, 31, 32, 33, -1,
- -1, -1, -1, 38, 39, 40, 41, 42, 43, -1,
- -1, 46, -1, -1, -1, -1, 51, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 63, 64,
- 65, -1, -1, -1, 3, 70, 71, -1, -1, 74,
- 75, -1, -1, -1, 79, 80, 81, 82, 83, 84,
- 19, 20, 21, 22, -1, -1, -1, 26, -1, 28,
- -1, -1, -1, -1, -1, 34, 35, 36, 37, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
- 49, 50, -1, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, -1, -1, -1, -1, 67, 68,
- 69, -1, -1, 72, 73, -1, 75, -1, 77, 78,
- 19, 20, 21, 22, -1, -1, -1, 26, -1, 28,
- -1, -1, -1, -1, -1, 34, 35, 36, 37, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
- 49, 50, -1, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 340, -1, 342, -1, 67, 68,
- 69, -1, -1, 72, 73, -1, -1, -1, 77, 78,
- -1, 28, -1, 359, 360, -1, -1, 34, 35, 36,
- 37, 367, -1, -1, -1, -1, -1, -1, 374, -1,
- -1, -1, 378, -1, -1, -1, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, -1, -1, 394, 395,
- 67, 68, 69, 28, -1, 72, -1, -1, -1, 34,
- 35, 36, 37, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 53, 54,
- -1, 56, 57, 58, 59, 60, 61, 62, -1, -1,
- -1, -1, 67, 68, 69, 28, -1, 72, -1, -1,
- -1, 34, 35, 36, 37, -1, -1, -1, -1, -1,
+ -1, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, 47, -1, -1, -1, -1, 52, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 64, 65,
+ 66, -1, -1, -1, -1, 71, 72, -1, 74, 75,
+ 76, -1, -1, -1, 80, 81, 82, 83, 84, 85,
+ 4, 5, 6, 7, 8, -1, 10, 11, 12, -1,
+ -1, -1, 16, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 27, -1, 29, 30, 31, 32, 33,
+ -1, -1, -1, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, -1, 47, -1, -1, -1, -1, 52, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, 58, 59, 60, 61, 62,
- -1, -1, -1, -1, 67, 68, 69, 28, -1, 72,
+ 64, 65, 66, -1, -1, -1, -1, 71, 72, -1,
+ 74, 75, 76, -1, -1, -1, 80, 81, 82, 83,
+ 84, 85, 4, 5, 6, 7, 8, -1, 10, 11,
+ 12, -1, -1, -1, 16, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 27, -1, 29, 30, 31,
+ 32, 33, -1, -1, -1, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, 47, -1, -1, -1, -1,
+ 52, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 64, 65, 66, -1, -1, -1, -1, 71,
+ 72, -1, 74, 75, 76, -1, -1, -1, 80, 81,
+ 82, 83, 84, 85, 4, 5, 6, 7, 8, -1,
+ 10, 11, 12, -1, -1, -1, 16, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 27, -1, 29,
+ 30, 31, 32, 33, -1, -1, -1, -1, 38, 39,
+ 40, 41, 42, 43, -1, 45, -1, 47, -1, -1,
+ -1, -1, 52, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 64, 65, 66, -1, -1, -1,
+ -1, 71, 72, -1, 74, 75, 76, -1, -1, -1,
+ 80, 81, 82, 83, 84, 85, 4, 5, 6, 7,
+ 8, -1, 10, 11, 12, -1, -1, -1, 16, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
+ -1, 29, 30, 31, 32, 33, -1, -1, -1, -1,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
+ -1, -1, -1, -1, 52, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 64, 65, 66, -1,
+ -1, -1, 3, 71, 72, -1, -1, 75, 76, -1,
+ -1, -1, 80, 81, 82, 83, 84, 85, 19, 20,
+ 21, 22, -1, -1, -1, 26, -1, 28, -1, -1,
-1, -1, -1, 34, 35, 36, 37, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 34, 35,
- 36, 37, -1, -1, -1, 56, 57, 58, 59, 60,
- 61, 62, -1, -1, -1, -1, 67, 68, 69, -1,
- -1, 72, 58, 59, 60, 61, 62, -1, -1, -1,
- -1, 67, 68, 69, -1, -1, 72
+ -1, -1, -1, -1, -1, -1, -1, -1, 49, 50,
+ 51, -1, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, 68, 69, 70,
+ -1, -1, 73, 74, -1, 76, -1, 78, 79, 19,
+ 20, 21, 22, -1, -1, -1, 26, -1, 28, -1,
+ -1, -1, -1, -1, 34, 35, 36, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
+ 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, -1, -1, -1, -1, 68, 69,
+ 70, -1, -1, 73, 74, 28, -1, -1, 78, 79,
+ -1, 34, 35, 36, 37, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, -1, -1, -1, -1, 68, 69, 70, 28, -1,
+ 73, -1, -1, -1, 34, 35, 36, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 54, 55, -1, 57, 58, 59,
+ 60, 61, 62, 63, -1, -1, -1, -1, 68, 69,
+ 70, 28, -1, 73, -1, -1, -1, 34, 35, 36,
+ 37, -1, -1, -1, -1, -1, -1, -1, 28, -1,
+ -1, -1, -1, -1, 34, 35, 36, 37, 55, -1,
+ 57, 58, 59, 60, 61, 62, 63, -1, -1, -1,
+ -1, 68, 69, 70, -1, -1, 73, 57, 58, 59,
+ 60, 61, 62, 63, -1, -1, -1, -1, 68, 69,
+ 70, -1, -1, 73
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned char yystos[] =
{
- 0, 86, 89, 0, 93, 14, 15, 17, 18, 44,
- 92, 108, 109, 111, 112, 121, 122, 115, 113, 4,
- 113, 113, 13, 94, 99, 107, 4, 110, 4, 116,
- 77, 123, 116, 1, 3, 4, 5, 6, 7, 8,
+ 0, 87, 90, 0, 94, 14, 15, 17, 18, 44,
+ 93, 109, 110, 112, 113, 122, 123, 116, 114, 4,
+ 114, 114, 13, 95, 100, 108, 4, 111, 4, 117,
+ 78, 124, 117, 1, 3, 4, 5, 6, 7, 8,
10, 11, 12, 16, 19, 20, 21, 22, 26, 27,
29, 30, 31, 32, 33, 38, 39, 40, 41, 42,
- 43, 46, 51, 63, 64, 65, 70, 71, 74, 75,
- 77, 79, 80, 81, 82, 83, 84, 87, 95, 97,
- 124, 125, 126, 129, 130, 131, 132, 133, 134, 135,
- 140, 141, 142, 143, 144, 145, 87, 7, 117, 4,
- 117, 88, 4, 9, 87, 141, 146, 146, 74, 134,
- 114, 114, 74, 74, 74, 74, 43, 74, 141, 134,
- 74, 74, 74, 87, 134, 4, 125, 137, 141, 146,
- 146, 4, 87, 134, 141, 77, 124, 4, 134, 74,
- 136, 141, 142, 143, 146, 125, 134, 134, 134, 134,
- 134, 73, 124, 78, 124, 134, 134, 146, 146, 146,
- 146, 25, 98, 77, 19, 20, 21, 22, 26, 48,
- 49, 50, 52, 3, 74, 75, 28, 34, 35, 36,
- 37, 53, 54, 56, 57, 58, 59, 60, 61, 62,
- 67, 68, 69, 72, 74, 3, 75, 3, 75, 3,
- 45, 118, 4, 118, 93, 137, 74, 125, 87, 117,
- 88, 88, 88, 88, 88, 88, 74, 73, 73, 124,
- 124, 138, 146, 125, 74, 74, 76, 77, 137, 73,
- 124, 45, 119, 75, 73, 78, 87, 124, 103, 124,
- 124, 124, 124, 124, 124, 124, 134, 124, 73, 124,
- 124, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 3, 5, 74, 75,
- 128, 141, 73, 124, 124, 124, 124, 124, 124, 7,
- 77, 87, 120, 137, 120, 76, 138, 73, 127, 118,
- 102, 124, 103, 104, 124, 103, 106, 139, 141, 95,
- 101, 104, 105, 124, 88, 73, 52, 73, 124, 73,
- 124, 73, 124, 76, 73, 7, 124, 75, 77, 73,
- 78, 55, 124, 73, 124, 124, 74, 73, 77, 78,
- 77, 78, 77, 77, 73, 137, 87, 73, 73, 73,
- 73, 74, 73, 77, 104, 73, 73, 73, 78, 124,
- 76, 134, 77, 73, 78, 138, 76, 76, 76, 100,
- 100, 3, 90, 90, 104, 90, 102, 73, 78, 76,
- 73, 90, 90, 91, 23, 24, 96, 96, 73, 98,
- 77, 90, 98, 98, 93, 90, 74, 90, 100, 98,
- 76, 104, 98, 105, 73, 73, 90, 90, 96
+ 43, 45, 47, 52, 64, 65, 66, 71, 72, 75,
+ 76, 78, 80, 81, 82, 83, 84, 85, 88, 96,
+ 98, 125, 126, 127, 130, 131, 132, 133, 134, 135,
+ 136, 141, 142, 143, 144, 145, 146, 88, 7, 118,
+ 4, 118, 89, 4, 9, 88, 142, 147, 147, 75,
+ 135, 115, 115, 75, 75, 75, 75, 43, 75, 142,
+ 135, 75, 75, 75, 88, 135, 4, 126, 138, 142,
+ 147, 147, 4, 88, 135, 142, 78, 125, 4, 135,
+ 75, 137, 142, 143, 144, 135, 147, 126, 135, 135,
+ 135, 135, 135, 74, 125, 79, 125, 135, 135, 147,
+ 147, 147, 147, 25, 99, 78, 19, 20, 21, 22,
+ 26, 49, 50, 51, 53, 3, 75, 76, 28, 34,
+ 35, 36, 37, 54, 55, 57, 58, 59, 60, 61,
+ 62, 63, 68, 69, 70, 73, 75, 3, 76, 3,
+ 76, 3, 46, 119, 4, 119, 94, 138, 75, 126,
+ 88, 118, 89, 89, 89, 89, 89, 89, 75, 74,
+ 74, 125, 125, 139, 147, 126, 75, 75, 77, 78,
+ 138, 74, 125, 46, 120, 76, 74, 79, 88, 125,
+ 104, 125, 125, 125, 125, 125, 125, 125, 135, 125,
+ 74, 125, 125, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 3, 5,
+ 75, 76, 129, 142, 74, 125, 125, 125, 125, 125,
+ 125, 7, 78, 88, 121, 138, 121, 77, 139, 74,
+ 128, 119, 103, 125, 104, 105, 125, 104, 107, 140,
+ 142, 96, 102, 105, 106, 125, 89, 74, 53, 74,
+ 125, 74, 125, 74, 125, 77, 74, 7, 125, 76,
+ 78, 74, 79, 56, 125, 74, 125, 125, 75, 74,
+ 78, 79, 78, 79, 78, 78, 74, 138, 88, 74,
+ 74, 74, 74, 75, 74, 78, 105, 74, 74, 74,
+ 79, 125, 77, 135, 78, 74, 79, 139, 77, 77,
+ 77, 101, 101, 3, 91, 91, 105, 91, 103, 74,
+ 79, 77, 74, 91, 91, 92, 23, 24, 97, 97,
+ 74, 99, 78, 91, 99, 99, 94, 91, 75, 91,
+ 101, 99, 77, 105, 99, 106, 74, 74, 91, 91,
+ 97
};
diff --git a/perly.y b/perly.y
index 37503ba24a..e88add1af6 100644
--- a/perly.y
+++ b/perly.y
@@ -45,7 +45,7 @@
%token <ival> FUNC0 FUNC1 FUNC UNIOP LSTOP
%token <ival> RELOP EQOP MULOP ADDOP
%token <ival> DOLSHARP DO HASHBRACK NOAMP
-%token <ival> LOCAL MY MYSUB
+%token <ival> LOCAL MY MYSUB REQUIRE
%token COLONATTR
%type <ival> prog decl format startsub startanonsub startformsub mintro
@@ -664,6 +664,10 @@ term : termbinop
{ $$ = newUNOP($1, 0, $2); }
| UNIOP term /* Unary op */
{ $$ = newUNOP($1, 0, $2); }
+ | REQUIRE /* require, $_ implied */
+ { $$ = newOP(OP_REQUIRE, $1 ? OPf_SPECIAL : 0); }
+ | REQUIRE term /* require Foo */
+ { $$ = newUNOP(OP_REQUIRE, $1 ? OPf_SPECIAL : 0, $2); }
| UNIOPSUB term /* Sub treated as unop */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, $2, scalar($1))); }
diff --git a/toke.c b/toke.c
index b7617775c8..93623f6740 100644
--- a/toke.c
+++ b/toke.c
@@ -4520,6 +4520,9 @@ Perl_yylex(pTHX)
Perl_croak(aTHX_ "CORE::%s is not a keyword", PL_tokenbuf);
if (tmp < 0)
tmp = -tmp;
+ else if (tmp == KEY_require)
+ /* that's a way to remember we saw "CORE::" */
+ orig_keyword = KEY_require;
goto reserved_word;
}
goto just_a_word;
@@ -5101,7 +5104,18 @@ Perl_yylex(pTHX)
else if (*s == '<')
yyerror("<> should be quotes");
}
- UNI(OP_REQUIRE);
+ if (orig_keyword == KEY_require) {
+ orig_keyword = 0;
+ yylval.ival = 1;
+ }
+ else
+ yylval.ival = 0;
+ PL_expect = XTERM;
+ PL_bufptr = s;
+ PL_last_uni = PL_oldbufptr;
+ PL_last_lop_op = OP_REQUIRE;
+ s = skipspace(s);
+ return REPORT( (int)REQUIRE );
case KEY_reset:
UNI(OP_RESET);