summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embed.fnc2
-rw-r--r--embed.h2
-rw-r--r--op.c12
-rw-r--r--perly.act258
-rw-r--r--perly.h42
-rw-r--r--perly.tab1132
-rw-r--r--perly.y18
-rw-r--r--pod/perlfunc.pod9
-rw-r--r--proto.h5
-rw-r--r--t/comp/package.t21
-rw-r--r--toke.c1
11 files changed, 775 insertions, 727 deletions
diff --git a/embed.fnc b/embed.fnc
index 952921b088..866363dd3e 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -736,6 +736,8 @@ p |OP* |package |NN OP* o
#else
p |void |package |NN OP* o
#endif
+: Used in perly.y
+p |void |package_version|NN OP* v
: Used in op.c
pd |PADOFFSET|pad_alloc |I32 optype|U32 tmptype
: Used in toke.c and perly.y
diff --git a/embed.h b/embed.h
index 5ac4f998da..c0e6953035 100644
--- a/embed.h
+++ b/embed.h
@@ -629,6 +629,7 @@
#endif
#endif
#ifdef PERL_CORE
+#define package_version Perl_package_version
#define pad_alloc Perl_pad_alloc
#define allocmy Perl_allocmy
#define pad_findmy Perl_pad_findmy
@@ -2974,6 +2975,7 @@
#endif
#endif
#ifdef PERL_CORE
+#define package_version(a) Perl_package_version(aTHX_ a)
#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b)
#define allocmy(a) Perl_allocmy(aTHX_ a)
#define pad_findmy(a) Perl_pad_findmy(aTHX_ a)
diff --git a/op.c b/op.c
index c3736fac0b..740e4643fb 100644
--- a/op.c
+++ b/op.c
@@ -3816,6 +3816,18 @@ Perl_package(pTHX_ OP *o)
#endif
}
+void
+Perl_package_version( pTHX_ OP *v )
+{
+ dVAR;
+ PERL_ARGS_ASSERT_PACKAGE_VERSION;
+ SV *const version = cSVOPx(v)->op_sv;
+ SV *const pkgname = sv_mortalcopy(PL_curstname);
+ sv_catpv(pkgname, "::VERSION");
+ sv_setsv( get_sv(SvPV_nolen(pkgname),TRUE), version );
+ op_free(v);
+}
+
#ifdef PERL_MAD
OP*
#else
diff --git a/perly.act b/perly.act
index f504fac50c..6b71b60407 100644
--- a/perly.act
+++ b/perly.act
@@ -605,24 +605,21 @@ case 2:
case 79:
#line 637 "perly.y"
{
-#ifdef MAD
- (yyval.opval) = package((ps[(2) - (3)].val.opval));
- token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
- token_getmad((ps[(3) - (3)].val.i_tkval),(yyval.opval),';');
-#else
- package((ps[(2) - (3)].val.opval));
+ package((ps[(3) - (4)].val.opval));
+ if ((ps[(2) - (4)].val.opval)) {
+ package_version((ps[(2) - (4)].val.opval));
+ }
(yyval.opval) = (OP*)NULL;
-#endif
;}
break;
case 80:
-#line 650 "perly.y"
+#line 647 "perly.y"
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
break;
case 81:
-#line 652 "perly.y"
+#line 649 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
(yyval.opval) = utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
@@ -639,28 +636,28 @@ case 2:
break;
case 82:
-#line 669 "perly.y"
+#line 666 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 83:
-#line 673 "perly.y"
+#line 670 "perly.y"
{ (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 84:
-#line 677 "perly.y"
+#line 674 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 86:
-#line 685 "perly.y"
+#line 682 "perly.y"
{
#ifdef MAD
OP* op = newNULLLIST();
@@ -673,7 +670,7 @@ case 2:
break;
case 87:
-#line 695 "perly.y"
+#line 692 "perly.y"
{
OP* term = (ps[(3) - (3)].val.opval);
DO_MAD(
@@ -685,7 +682,7 @@ case 2:
break;
case 89:
-#line 708 "perly.y"
+#line 705 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
@@ -693,7 +690,7 @@ case 2:
break;
case 90:
-#line 713 "perly.y"
+#line 710 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
@@ -703,7 +700,7 @@ case 2:
break;
case 91:
-#line 720 "perly.y"
+#line 717 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
@@ -715,7 +712,7 @@ case 2:
break;
case 92:
-#line 729 "perly.y"
+#line 726 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
@@ -724,7 +721,7 @@ case 2:
break;
case 93:
-#line 735 "perly.y"
+#line 732 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
@@ -733,7 +730,7 @@ case 2:
break;
case 94:
-#line 741 "perly.y"
+#line 738 "perly.y"
{ (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
@@ -744,14 +741,14 @@ case 2:
break;
case 95:
-#line 749 "perly.y"
+#line 746 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 96:
-#line 753 "perly.y"
+#line 750 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
@@ -760,13 +757,13 @@ case 2:
break;
case 97:
-#line 759 "perly.y"
+#line 756 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
break;
case 98:
-#line 762 "perly.y"
+#line 759 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
@@ -774,7 +771,7 @@ case 2:
break;
case 101:
-#line 777 "perly.y"
+#line 774 "perly.y"
{ (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
PL_parser->expect = XOPERATOR;
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
@@ -784,7 +781,7 @@ case 2:
break;
case 102:
-#line 784 "perly.y"
+#line 781 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
@@ -792,7 +789,7 @@ case 2:
break;
case 103:
-#line 789 "perly.y"
+#line 786 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
scalar((ps[(4) - (5)].val.opval)));
@@ -803,7 +800,7 @@ case 2:
break;
case 104:
-#line 797 "perly.y"
+#line 794 "perly.y"
{ (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
scalar((ps[(3) - (4)].val.opval)));
@@ -813,7 +810,7 @@ case 2:
break;
case 105:
-#line 804 "perly.y"
+#line 801 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
PL_parser->expect = XOPERATOR;
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
@@ -823,7 +820,7 @@ case 2:
break;
case 106:
-#line 811 "perly.y"
+#line 808 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
jmaybe((ps[(4) - (6)].val.opval)));
@@ -836,7 +833,7 @@ case 2:
break;
case 107:
-#line 821 "perly.y"
+#line 818 "perly.y"
{ (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
jmaybe((ps[(3) - (5)].val.opval)));
@@ -848,7 +845,7 @@ case 2:
break;
case 108:
-#line 830 "perly.y"
+#line 827 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
@@ -858,7 +855,7 @@ case 2:
break;
case 109:
-#line 837 "perly.y"
+#line 834 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
@@ -869,7 +866,7 @@ case 2:
break;
case 110:
-#line 846 "perly.y"
+#line 843 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
@@ -879,7 +876,7 @@ case 2:
break;
case 111:
-#line 853 "perly.y"
+#line 850 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
@@ -888,7 +885,7 @@ case 2:
break;
case 112:
-#line 859 "perly.y"
+#line 856 "perly.y"
{ (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
@@ -898,7 +895,7 @@ case 2:
break;
case 113:
-#line 866 "perly.y"
+#line 863 "perly.y"
{ (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
@@ -908,21 +905,21 @@ case 2:
break;
case 114:
-#line 876 "perly.y"
+#line 873 "perly.y"
{ (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 115:
-#line 880 "perly.y"
+#line 877 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 116:
-#line 884 "perly.y"
+#line 881 "perly.y"
{ if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
scalar((ps[(1) - (3)].val.opval));
(yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
@@ -931,49 +928,49 @@ case 2:
break;
case 117:
-#line 890 "perly.y"
+#line 887 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 118:
-#line 894 "perly.y"
+#line 891 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 119:
-#line 898 "perly.y"
+#line 895 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 120:
-#line 902 "perly.y"
+#line 899 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 121:
-#line 906 "perly.y"
+#line 903 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 122:
-#line 910 "perly.y"
+#line 907 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 123:
-#line 914 "perly.y"
+#line 911 "perly.y"
{
(yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
DO_MAD({
@@ -988,28 +985,28 @@ case 2:
break;
case 124:
-#line 926 "perly.y"
+#line 923 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 125:
-#line 930 "perly.y"
+#line 927 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 126:
-#line 934 "perly.y"
+#line 931 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 127:
-#line 938 "perly.y"
+#line 935 "perly.y"
{ (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
((yyval.opval)->op_type == OP_NOT
@@ -1019,14 +1016,14 @@ case 2:
break;
case 128:
-#line 948 "perly.y"
+#line 945 "perly.y"
{ (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 129:
-#line 952 "perly.y"
+#line 949 "perly.y"
{ (yyval.opval) = IF_MAD(
newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
(ps[(2) - (2)].val.opval)
@@ -1036,21 +1033,21 @@ case 2:
break;
case 130:
-#line 959 "perly.y"
+#line 956 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 131:
-#line 963 "perly.y"
+#line 960 "perly.y"
{ (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 132:
-#line 967 "perly.y"
+#line 964 "perly.y"
{ (yyval.opval) = newUNOP(OP_POSTINC, 0,
mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
@@ -1058,7 +1055,7 @@ case 2:
break;
case 133:
-#line 972 "perly.y"
+#line 969 "perly.y"
{ (yyval.opval) = newUNOP(OP_POSTDEC, 0,
mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
@@ -1066,7 +1063,7 @@ case 2:
break;
case 134:
-#line 977 "perly.y"
+#line 974 "perly.y"
{ (yyval.opval) = newUNOP(OP_PREINC, 0,
mod(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
@@ -1074,7 +1071,7 @@ case 2:
break;
case 135:
-#line 982 "perly.y"
+#line 979 "perly.y"
{ (yyval.opval) = newUNOP(OP_PREDEC, 0,
mod(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
@@ -1082,7 +1079,7 @@ case 2:
break;
case 136:
-#line 991 "perly.y"
+#line 988 "perly.y"
{ (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
@@ -1090,7 +1087,7 @@ case 2:
break;
case 137:
-#line 996 "perly.y"
+#line 993 "perly.y"
{ (yyval.opval) = newANONLIST((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
@@ -1098,7 +1095,7 @@ case 2:
break;
case 138:
-#line 1001 "perly.y"
+#line 998 "perly.y"
{ (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
@@ -1107,7 +1104,7 @@ case 2:
break;
case 139:
-#line 1007 "perly.y"
+#line 1004 "perly.y"
{ (yyval.opval) = newANONHASH((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
@@ -1116,7 +1113,7 @@ case 2:
break;
case 140:
-#line 1013 "perly.y"
+#line 1010 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
@@ -1126,21 +1123,21 @@ case 2:
break;
case 141:
-#line 1024 "perly.y"
+#line 1021 "perly.y"
{ (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 142:
-#line 1028 "perly.y"
+#line 1025 "perly.y"
{ (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
;}
break;
case 143:
-#line 1032 "perly.y"
+#line 1029 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
@@ -1155,7 +1152,7 @@ case 2:
break;
case 144:
-#line 1044 "perly.y"
+#line 1041 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
append_elem(OP_LIST,
@@ -1171,7 +1168,7 @@ case 2:
break;
case 145:
-#line 1057 "perly.y"
+#line 1054 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
@@ -1182,7 +1179,7 @@ case 2:
break;
case 146:
-#line 1065 "perly.y"
+#line 1062 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
(ps[(4) - (5)].val.opval),
@@ -1194,7 +1191,7 @@ case 2:
break;
case 151:
-#line 1081 "perly.y"
+#line 1078 "perly.y"
{ (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
@@ -1202,26 +1199,26 @@ case 2:
break;
case 152:
-#line 1086 "perly.y"
+#line 1083 "perly.y"
{ (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((ps[(2) - (2)].val.opval),OP_REFGEN));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 153:
-#line 1090 "perly.y"
+#line 1087 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 154:
-#line 1092 "perly.y"
+#line 1089 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
;}
break;
case 155:
-#line 1096 "perly.y"
+#line 1093 "perly.y"
{ (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
@@ -1229,7 +1226,7 @@ case 2:
break;
case 156:
-#line 1101 "perly.y"
+#line 1098 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
@@ -1237,37 +1234,37 @@ case 2:
break;
case 157:
-#line 1106 "perly.y"
+#line 1103 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 158:
-#line 1108 "perly.y"
+#line 1105 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 159:
-#line 1110 "perly.y"
+#line 1107 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 160:
-#line 1112 "perly.y"
+#line 1109 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 161:
-#line 1114 "perly.y"
+#line 1111 "perly.y"
{ (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
break;
case 162:
-#line 1116 "perly.y"
+#line 1113 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 163:
-#line 1118 "perly.y"
+#line 1115 "perly.y"
{ (yyval.opval) = prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
@@ -1279,7 +1276,7 @@ case 2:
break;
case 164:
-#line 1127 "perly.y"
+#line 1124 "perly.y"
{ (yyval.opval) = prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -1293,17 +1290,17 @@ case 2:
break;
case 165:
-#line 1138 "perly.y"
+#line 1135 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 166:
-#line 1140 "perly.y"
+#line 1137 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 167:
-#line 1142 "perly.y"
+#line 1139 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
@@ -1311,7 +1308,7 @@ case 2:
break;
case 168:
-#line 1147 "perly.y"
+#line 1144 "perly.y"
{
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
@@ -1327,7 +1324,7 @@ case 2:
break;
case 169:
-#line 1160 "perly.y"
+#line 1157 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
@@ -1335,7 +1332,7 @@ case 2:
break;
case 170:
-#line 1165 "perly.y"
+#line 1162 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
@@ -1343,74 +1340,74 @@ case 2:
break;
case 171:
-#line 1170 "perly.y"
+#line 1167 "perly.y"
{ (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 172:
-#line 1174 "perly.y"
+#line 1171 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 173:
-#line 1178 "perly.y"
+#line 1175 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 174:
-#line 1182 "perly.y"
+#line 1179 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 175:
-#line 1186 "perly.y"
+#line 1183 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 176:
-#line 1190 "perly.y"
+#line 1187 "perly.y"
{ (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 177:
-#line 1194 "perly.y"
+#line 1191 "perly.y"
{ (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 178:
-#line 1198 "perly.y"
+#line 1195 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 179:
-#line 1200 "perly.y"
+#line 1197 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
break;
case 180:
-#line 1203 "perly.y"
+#line 1200 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
;}
break;
case 181:
-#line 1207 "perly.y"
+#line 1204 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
@@ -1419,13 +1416,13 @@ case 2:
break;
case 182:
-#line 1213 "perly.y"
+#line 1210 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 183:
-#line 1216 "perly.y"
+#line 1213 "perly.y"
{ (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
: newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
@@ -1437,7 +1434,7 @@ case 2:
break;
case 184:
-#line 1225 "perly.y"
+#line 1222 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
@@ -1446,7 +1443,7 @@ case 2:
break;
case 185:
-#line 1231 "perly.y"
+#line 1228 "perly.y"
{ (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
@@ -1454,7 +1451,7 @@ case 2:
break;
case 188:
-#line 1238 "perly.y"
+#line 1235 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
@@ -1463,7 +1460,7 @@ case 2:
break;
case 189:
-#line 1247 "perly.y"
+#line 1244 "perly.y"
{ (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
DO_MAD(
token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
@@ -1474,14 +1471,14 @@ case 2:
break;
case 190:
-#line 1255 "perly.y"
+#line 1252 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
;}
break;
case 191:
-#line 1262 "perly.y"
+#line 1259 "perly.y"
{ (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
@@ -1489,7 +1486,7 @@ case 2:
break;
case 192:
-#line 1267 "perly.y"
+#line 1264 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
@@ -1497,42 +1494,42 @@ case 2:
break;
case 193:
-#line 1272 "perly.y"
+#line 1269 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 194:
-#line 1274 "perly.y"
+#line 1271 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 195:
-#line 1276 "perly.y"
+#line 1273 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 196:
-#line 1281 "perly.y"
+#line 1278 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
case 197:
-#line 1283 "perly.y"
+#line 1280 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 198:
-#line 1287 "perly.y"
+#line 1284 "perly.y"
{ (yyval.opval) = (OP*)NULL; ;}
break;
case 199:
-#line 1289 "perly.y"
+#line 1286 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 200:
-#line 1291 "perly.y"
+#line 1288 "perly.y"
{
#ifdef MAD
OP* op = newNULLLIST();
@@ -1546,71 +1543,74 @@ case 2:
break;
case 201:
-#line 1306 "perly.y"
+#line 1303 "perly.y"
{ PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
break;
case 202:
-#line 1310 "perly.y"
+#line 1307 "perly.y"
{ (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
;}
break;
case 203:
-#line 1316 "perly.y"
+#line 1313 "perly.y"
{ (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
;}
break;
case 204:
-#line 1322 "perly.y"
+#line 1319 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
;}
break;
case 205:
-#line 1328 "perly.y"
+#line 1325 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
;}
break;
case 206:
-#line 1334 "perly.y"
+#line 1331 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
;}
break;
case 207:
-#line 1340 "perly.y"
+#line 1337 "perly.y"
{ (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
;}
break;
case 208:
-#line 1347 "perly.y"
+#line 1344 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
case 209:
-#line 1349 "perly.y"
+#line 1346 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
case 210:
-#line 1351 "perly.y"
+#line 1348 "perly.y"
{ (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
break;
case 211:
-#line 1354 "perly.y"
+#line 1351 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
+
+/* Line 1267 of yacc.c. */
+
default: break;
diff --git a/perly.h b/perly.h
index a8c7f042dd..802da29804 100644
--- a/perly.h
+++ b/perly.h
@@ -1,24 +1,25 @@
#ifdef PERL_CORE
-
-/* A Bison parser, made by GNU Bison 2.4.1. */
+/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+
+ This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,11 +30,10 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -111,7 +111,6 @@
PEG = 326
};
#endif
-
/* Tokens. */
#define WORD 258
#define METHOD 259
@@ -185,13 +184,11 @@
+
#endif /* PERL_CORE */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-
-/* Line 1676 of yacc.c */
-
I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
must always be 1st union member) */
char *pval;
@@ -207,16 +204,13 @@ typedef union YYSTYPE
#ifdef PERL_MAD
TOKEN* tkval;
#endif
-
-
-
-/* Line 1676 of yacc.c */
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
+}
+/* Line 1489 of yacc.c. */
+ YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
-
diff --git a/perly.tab b/perly.tab
index 4507706554..f4cc4751e8 100644
--- a/perly.tab
+++ b/perly.tab
@@ -1,6 +1,6 @@
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2061
+#define YYLAST 2062
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 91
@@ -9,7 +9,7 @@
/* YYNRULES -- Number of rules. */
#define YYNRULES 211
/* YYNRULES -- Number of states. */
-#define YYNSTATES 422
+#define YYNSTATES 423
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -69,20 +69,20 @@ static const yytype_uint16 yyprhs[] =
200, 202, 204, 205, 207, 209, 211, 213, 215, 217,
219, 221, 226, 228, 229, 236, 243, 244, 245, 246,
248, 249, 251, 252, 255, 257, 260, 262, 264, 266,
- 270, 271, 279, 283, 287, 291, 293, 296, 300, 302,
- 306, 312, 319, 323, 327, 333, 336, 341, 342, 348,
- 350, 352, 358, 363, 369, 374, 380, 387, 393, 398,
- 404, 409, 413, 420, 426, 430, 434, 438, 442, 446,
- 450, 454, 458, 462, 466, 470, 474, 478, 482, 485,
- 488, 491, 494, 497, 500, 503, 506, 510, 513, 518,
- 522, 528, 531, 534, 539, 545, 550, 556, 558, 560,
- 562, 564, 570, 573, 575, 578, 582, 585, 587, 589,
- 591, 593, 595, 597, 602, 608, 610, 612, 616, 621,
- 625, 627, 630, 633, 635, 638, 641, 643, 646, 648,
- 651, 653, 657, 659, 663, 668, 673, 675, 677, 679,
- 683, 686, 690, 693, 695, 697, 699, 700, 702, 703,
- 705, 708, 710, 713, 716, 719, 722, 725, 728, 730,
- 732, 734
+ 271, 272, 280, 284, 288, 292, 294, 297, 301, 303,
+ 307, 313, 320, 324, 328, 334, 337, 342, 343, 349,
+ 351, 353, 359, 364, 370, 375, 381, 388, 394, 399,
+ 405, 410, 414, 421, 427, 431, 435, 439, 443, 447,
+ 451, 455, 459, 463, 467, 471, 475, 479, 483, 486,
+ 489, 492, 495, 498, 501, 504, 507, 511, 514, 519,
+ 523, 529, 532, 535, 540, 546, 551, 557, 559, 561,
+ 563, 565, 571, 574, 576, 579, 583, 586, 588, 590,
+ 592, 594, 596, 598, 603, 609, 611, 613, 617, 622,
+ 626, 628, 631, 634, 636, 639, 642, 644, 647, 649,
+ 652, 654, 658, 660, 664, 669, 674, 676, 678, 680,
+ 684, 687, 691, 694, 696, 698, 700, 701, 703, 704,
+ 706, 709, 711, 714, 717, 720, 723, 726, 729, 731,
+ 733, 735
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -114,54 +114,54 @@ static const yytype_int16 yyrhs[] =
122, 125, 126, 127, 129, -1, 26, 122, 125, 126,
127, 129, -1, -1, -1, -1, 15, -1, -1, 18,
-1, -1, 61, 18, -1, 61, -1, 61, 18, -1,
- 61, -1, 93, -1, 14, -1, 28, 15, 14, -1,
- -1, 29, 122, 132, 15, 15, 146, 14, -1, 133,
- 65, 133, -1, 133, 64, 133, -1, 133, 63, 133,
- -1, 134, -1, 134, 67, -1, 134, 67, 143, -1,
- 143, -1, 48, 155, 134, -1, 46, 89, 155, 133,
- 88, -1, 143, 87, 137, 89, 147, 88, -1, 143,
- 87, 137, -1, 16, 155, 146, -1, 17, 155, 89,
- 147, 88, -1, 48, 146, -1, 46, 89, 147, 88,
- -1, -1, 23, 123, 93, 136, 146, -1, 16, -1,
- 150, -1, 154, 3, 133, 14, 4, -1, 150, 5,
- 133, 6, -1, 143, 87, 5, 133, 6, -1, 138,
- 5, 133, 6, -1, 150, 3, 133, 14, 4, -1,
- 143, 87, 3, 133, 14, 4, -1, 138, 3, 133,
- 14, 4, -1, 143, 87, 89, 88, -1, 143, 87,
- 89, 133, 88, -1, 138, 89, 133, 88, -1, 138,
- 89, 88, -1, 89, 133, 88, 5, 133, 6, -1,
- 89, 88, 5, 133, 6, -1, 143, 68, 143, -1,
- 143, 82, 143, -1, 143, 51, 143, -1, 143, 52,
- 143, -1, 143, 76, 143, -1, 143, 49, 143, -1,
- 143, 50, 143, -1, 143, 75, 143, -1, 143, 74,
- 143, -1, 143, 42, 143, -1, 143, 73, 143, -1,
- 143, 72, 143, -1, 143, 71, 143, -1, 143, 77,
- 143, -1, 7, 143, -1, 8, 143, -1, 78, 143,
- -1, 79, 143, -1, 143, 84, -1, 143, 83, -1,
- 86, 143, -1, 85, 143, -1, 5, 133, 6, -1,
- 5, 6, -1, 55, 133, 14, 4, -1, 55, 14,
- 4, -1, 27, 123, 126, 127, 93, -1, 54, 143,
- -1, 54, 93, -1, 54, 15, 89, 88, -1, 54,
- 15, 89, 133, 88, -1, 54, 150, 89, 88, -1,
- 54, 150, 89, 133, 88, -1, 139, -1, 140, -1,
- 141, -1, 142, -1, 143, 69, 143, 70, 143, -1,
- 80, 143, -1, 144, -1, 57, 143, -1, 89, 133,
- 88, -1, 89, 88, -1, 150, -1, 154, -1, 152,
- -1, 151, -1, 153, -1, 138, -1, 151, 5, 133,
- 6, -1, 151, 3, 133, 14, 4, -1, 18, -1,
- 149, -1, 149, 89, 88, -1, 149, 89, 133, 88,
- -1, 56, 15, 146, -1, 41, -1, 41, 143, -1,
- 66, 134, -1, 47, -1, 47, 93, -1, 47, 143,
- -1, 60, -1, 60, 143, -1, 22, -1, 22, 143,
- -1, 44, -1, 44, 89, 88, -1, 21, -1, 45,
- 89, 88, -1, 45, 89, 133, 88, -1, 19, 89,
- 134, 88, -1, 15, -1, 135, -1, 43, -1, 58,
- 145, 128, -1, 58, 145, -1, 89, 133, 88, -1,
- 89, 88, -1, 150, -1, 152, -1, 151, -1, -1,
- 134, -1, -1, 133, -1, 133, 67, -1, 150, -1,
- 13, 155, -1, 9, 155, -1, 10, 155, -1, 11,
- 155, -1, 53, 155, -1, 12, 155, -1, 15, -1,
- 150, -1, 93, -1, 20, -1
+ 61, -1, 93, -1, 14, -1, 28, 15, 15, 14,
+ -1, -1, 29, 122, 132, 15, 15, 146, 14, -1,
+ 133, 65, 133, -1, 133, 64, 133, -1, 133, 63,
+ 133, -1, 134, -1, 134, 67, -1, 134, 67, 143,
+ -1, 143, -1, 48, 155, 134, -1, 46, 89, 155,
+ 133, 88, -1, 143, 87, 137, 89, 147, 88, -1,
+ 143, 87, 137, -1, 16, 155, 146, -1, 17, 155,
+ 89, 147, 88, -1, 48, 146, -1, 46, 89, 147,
+ 88, -1, -1, 23, 123, 93, 136, 146, -1, 16,
+ -1, 150, -1, 154, 3, 133, 14, 4, -1, 150,
+ 5, 133, 6, -1, 143, 87, 5, 133, 6, -1,
+ 138, 5, 133, 6, -1, 150, 3, 133, 14, 4,
+ -1, 143, 87, 3, 133, 14, 4, -1, 138, 3,
+ 133, 14, 4, -1, 143, 87, 89, 88, -1, 143,
+ 87, 89, 133, 88, -1, 138, 89, 133, 88, -1,
+ 138, 89, 88, -1, 89, 133, 88, 5, 133, 6,
+ -1, 89, 88, 5, 133, 6, -1, 143, 68, 143,
+ -1, 143, 82, 143, -1, 143, 51, 143, -1, 143,
+ 52, 143, -1, 143, 76, 143, -1, 143, 49, 143,
+ -1, 143, 50, 143, -1, 143, 75, 143, -1, 143,
+ 74, 143, -1, 143, 42, 143, -1, 143, 73, 143,
+ -1, 143, 72, 143, -1, 143, 71, 143, -1, 143,
+ 77, 143, -1, 7, 143, -1, 8, 143, -1, 78,
+ 143, -1, 79, 143, -1, 143, 84, -1, 143, 83,
+ -1, 86, 143, -1, 85, 143, -1, 5, 133, 6,
+ -1, 5, 6, -1, 55, 133, 14, 4, -1, 55,
+ 14, 4, -1, 27, 123, 126, 127, 93, -1, 54,
+ 143, -1, 54, 93, -1, 54, 15, 89, 88, -1,
+ 54, 15, 89, 133, 88, -1, 54, 150, 89, 88,
+ -1, 54, 150, 89, 133, 88, -1, 139, -1, 140,
+ -1, 141, -1, 142, -1, 143, 69, 143, 70, 143,
+ -1, 80, 143, -1, 144, -1, 57, 143, -1, 89,
+ 133, 88, -1, 89, 88, -1, 150, -1, 154, -1,
+ 152, -1, 151, -1, 153, -1, 138, -1, 151, 5,
+ 133, 6, -1, 151, 3, 133, 14, 4, -1, 18,
+ -1, 149, -1, 149, 89, 88, -1, 149, 89, 133,
+ 88, -1, 56, 15, 146, -1, 41, -1, 41, 143,
+ -1, 66, 134, -1, 47, -1, 47, 93, -1, 47,
+ 143, -1, 60, -1, 60, 143, -1, 22, -1, 22,
+ 143, -1, 44, -1, 44, 89, 88, -1, 21, -1,
+ 45, 89, 88, -1, 45, 89, 133, 88, -1, 19,
+ 89, 134, 88, -1, 15, -1, 135, -1, 43, -1,
+ 58, 145, 128, -1, 58, 145, -1, 89, 133, 88,
+ -1, 89, 88, -1, 150, -1, 152, -1, 151, -1,
+ -1, 134, -1, -1, 133, -1, 133, 67, -1, 150,
+ -1, 13, 155, -1, 9, 155, -1, 10, 155, -1,
+ 11, 155, -1, 53, 155, -1, 12, 155, -1, 15,
+ -1, 150, -1, 93, -1, 20, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -175,20 +175,20 @@ static const yytype_uint16 yyrline[] =
464, 468, 474, 483, 487, 489, 491, 493, 495, 500,
504, 510, 524, 525, 529, 542, 565, 571, 576, 581,
591, 592, 597, 598, 602, 612, 616, 626, 627, 636,
- 650, 649, 668, 672, 676, 680, 684, 694, 703, 707,
- 712, 719, 728, 734, 740, 748, 752, 759, 758, 769,
- 770, 774, 783, 788, 796, 803, 810, 820, 829, 836,
- 845, 852, 858, 865, 875, 879, 883, 889, 893, 897,
- 901, 905, 909, 913, 925, 929, 933, 937, 947, 951,
- 958, 962, 966, 971, 976, 981, 990, 995, 1000, 1006,
- 1012, 1023, 1027, 1031, 1043, 1056, 1064, 1076, 1077, 1078,
- 1079, 1080, 1085, 1089, 1091, 1095, 1100, 1105, 1107, 1109,
- 1111, 1113, 1115, 1117, 1126, 1137, 1139, 1141, 1146, 1159,
- 1164, 1169, 1173, 1177, 1181, 1185, 1189, 1193, 1197, 1199,
- 1202, 1206, 1212, 1215, 1224, 1230, 1235, 1236, 1237, 1246,
- 1254, 1261, 1266, 1271, 1273, 1275, 1280, 1282, 1287, 1288,
- 1290, 1305, 1309, 1315, 1321, 1327, 1333, 1339, 1346, 1348,
- 1350, 1353
+ 647, 646, 665, 669, 673, 677, 681, 691, 700, 704,
+ 709, 716, 725, 731, 737, 745, 749, 756, 755, 766,
+ 767, 771, 780, 785, 793, 800, 807, 817, 826, 833,
+ 842, 849, 855, 862, 872, 876, 880, 886, 890, 894,
+ 898, 902, 906, 910, 922, 926, 930, 934, 944, 948,
+ 955, 959, 963, 968, 973, 978, 987, 992, 997, 1003,
+ 1009, 1020, 1024, 1028, 1040, 1053, 1061, 1073, 1074, 1075,
+ 1076, 1077, 1082, 1086, 1088, 1092, 1097, 1102, 1104, 1106,
+ 1108, 1110, 1112, 1114, 1123, 1134, 1136, 1138, 1143, 1156,
+ 1161, 1166, 1170, 1174, 1178, 1182, 1186, 1190, 1194, 1196,
+ 1199, 1203, 1209, 1212, 1221, 1227, 1232, 1233, 1234, 1243,
+ 1251, 1258, 1263, 1268, 1270, 1272, 1277, 1279, 1284, 1285,
+ 1287, 1302, 1306, 1312, 1318, 1324, 1330, 1336, 1343, 1345,
+ 1347, 1350
};
#endif
@@ -214,7 +214,7 @@ static const char *const yytname[] =
"loop", "switch", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
"miexpr", "label", "decl", "peg", "format", "formname", "mysubrout",
"subrout", "startsub", "startanonsub", "startformsub", "subname",
- "proto", "subattrlist", "myattrlist", "subbody", "package", "use", "$@1",
+ "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",
@@ -277,7 +277,7 @@ static const yytype_uint8 yyr2[] =
12, 3, 8, 0, 0, 1, 0, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1, 4, 1, 0, 6, 6, 0, 0, 0, 1,
- 0, 1, 0, 2, 1, 2, 1, 1, 1, 3,
+ 0, 1, 0, 2, 1, 2, 1, 1, 1, 4,
0, 7, 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,
@@ -309,7 +309,7 @@ static const yytype_uint8 yydefact[] =
0, 0, 0, 0, 0, 0, 0, 33, 0, 12,
15, 19, 85, 187, 162, 147, 148, 149, 150, 88,
153, 166, 157, 160, 159, 161, 158, 62, 0, 69,
- 70, 79, 0, 70, 9, 137, 0, 128, 129, 208,
+ 70, 0, 0, 70, 9, 137, 0, 128, 129, 208,
211, 210, 209, 203, 204, 205, 207, 202, 196, 0,
0, 179, 0, 70, 4, 4, 4, 4, 4, 4,
0, 4, 4, 32, 171, 0, 0, 198, 174, 175,
@@ -320,102 +320,102 @@ static const yytype_uint8 yydefact[] =
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 133,
132, 0, 0, 0, 0, 0, 0, 0, 61, 71,
- 72, 0, 72, 52, 136, 93, 198, 0, 97, 72,
- 46, 0, 0, 0, 0, 0, 4, 5, 0, 181,
- 183, 0, 199, 0, 0, 89, 0, 0, 139, 0,
- 169, 192, 0, 76, 189, 0, 155, 34, 22, 23,
- 48, 20, 21, 24, 25, 84, 83, 82, 87, 0,
- 0, 111, 0, 123, 119, 120, 116, 117, 114, 0,
- 126, 125, 124, 122, 121, 118, 127, 115, 0, 0,
- 99, 0, 92, 100, 167, 0, 0, 0, 0, 0,
- 0, 74, 0, 196, 0, 3, 0, 185, 196, 0,
- 0, 47, 0, 0, 49, 51, 0, 0, 201, 45,
- 50, 0, 0, 19, 0, 0, 0, 184, 200, 96,
- 0, 143, 0, 145, 0, 138, 191, 75, 0, 0,
- 0, 104, 110, 0, 0, 0, 108, 0, 198, 168,
- 0, 102, 0, 163, 0, 73, 78, 77, 65, 0,
- 64, 94, 98, 140, 43, 43, 0, 0, 0, 0,
- 46, 0, 0, 0, 90, 144, 146, 113, 0, 107,
- 151, 0, 103, 109, 0, 105, 164, 101, 81, 0,
- 0, 8, 26, 26, 0, 33, 0, 0, 0, 31,
- 112, 106, 91, 33, 33, 9, 0, 0, 29, 30,
- 0, 39, 43, 33, 42, 35, 36, 52, 27, 0,
- 33, 0, 38, 7, 0, 37, 0, 0, 0, 26,
- 40, 28
+ 72, 79, 0, 72, 52, 136, 93, 198, 0, 97,
+ 72, 46, 0, 0, 0, 0, 0, 4, 5, 0,
+ 181, 183, 0, 199, 0, 0, 89, 0, 0, 139,
+ 0, 169, 192, 0, 76, 189, 0, 155, 34, 22,
+ 23, 48, 20, 21, 24, 25, 84, 83, 82, 87,
+ 0, 0, 111, 0, 123, 119, 120, 116, 117, 114,
+ 0, 126, 125, 124, 122, 121, 118, 127, 115, 0,
+ 0, 99, 0, 92, 100, 167, 0, 0, 0, 0,
+ 0, 0, 74, 0, 196, 0, 3, 0, 185, 196,
+ 0, 0, 47, 0, 0, 49, 51, 0, 0, 201,
+ 45, 50, 0, 0, 19, 0, 0, 0, 184, 200,
+ 96, 0, 143, 0, 145, 0, 138, 191, 75, 0,
+ 0, 0, 104, 110, 0, 0, 0, 108, 0, 198,
+ 168, 0, 102, 0, 163, 0, 73, 78, 77, 65,
+ 0, 64, 94, 98, 140, 43, 43, 0, 0, 0,
+ 0, 46, 0, 0, 0, 90, 144, 146, 113, 0,
+ 107, 151, 0, 103, 109, 0, 105, 164, 101, 81,
+ 0, 0, 8, 26, 26, 0, 33, 0, 0, 0,
+ 31, 112, 106, 91, 33, 33, 9, 0, 0, 29,
+ 30, 0, 39, 43, 33, 42, 35, 36, 52, 27,
+ 0, 33, 0, 38, 7, 0, 37, 0, 0, 0,
+ 26, 40, 28
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 111, 104, 315, 2, 382, 395, 4, 12,
- 309, 398, 79, 80, 169, 13, 14, 379, 310, 300,
- 249, 303, 312, 306, 15, 16, 17, 18, 98, 19,
- 20, 24, 122, 23, 100, 210, 292, 244, 348, 21,
- 22, 102, 304, 82, 83, 298, 282, 84, 85, 86,
- 87, 88, 89, 90, 155, 142, 233, 307, 91, 92,
+ -1, 1, 111, 104, 316, 2, 383, 396, 4, 12,
+ 310, 399, 79, 80, 169, 13, 14, 380, 311, 301,
+ 250, 304, 313, 307, 15, 16, 17, 18, 98, 19,
+ 20, 24, 122, 23, 100, 210, 293, 245, 349, 21,
+ 22, 102, 305, 82, 83, 299, 283, 84, 85, 86,
+ 87, 88, 89, 90, 155, 142, 234, 308, 91, 92,
93, 94, 95, 96, 113
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -354
+#define YYPACT_NINF -344
static const yytype_int16 yypact[] =
{
- -354, 26, -354, -354, 145, -354, -354, -354, 25, -354,
- -354, -354, -354, -354, -354, 294, -354, -354, -354, -354,
- -354, -354, -354, 64, 71, 96, -354, 71, -354, -354,
- 876, 1722, 1722, 373, 373, 373, 373, 373, -354, -354,
- 373, 373, -354, 24, -354, 1722, -354, -354, 55, 63,
- 90, 104, 0, 107, 108, 116, 1722, -354, 113, 118,
- 120, 645, 560, 373, 730, 959, 138, 1722, 35, 1722,
- 1722, 1722, 1722, 1722, 1722, 1722, 1042, 177, 204, -354,
- -354, 1003, 162, -354, 14, -354, -354, -354, -354, 1896,
- -354, 167, 38, 73, -354, -354, 231, -354, 116, -354,
- 239, -354, 244, 239, -354, -354, 30, 133, 133, -354,
- -354, -354, -354, -354, -354, -354, -354, -354, 1722, 172,
- 1722, 421, 116, 239, -354, -354, -354, -354, -354, -354,
- 173, -354, -354, -354, 1896, 179, 1127, 560, -354, 421,
- 1783, 162, -354, 792, 1722, -354, 176, -354, 421, 22,
- 270, 7, 1722, 421, 1212, 219, -354, -354, -354, 421,
- 162, 133, 133, 133, -10, -10, 277, 255, 116, -354,
- -354, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
- 1722, 1722, 1722, 1297, 1722, 1722, 1722, 1722, 1722, 1722,
- 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, -354,
- -354, 13, 1382, 1722, 1722, 1722, 1722, 1722, -354, -354,
- 226, 275, 226, 122, -354, -354, 1722, -39, -354, 226,
- 1722, 1722, 1722, 1722, 282, 390, -354, -354, 1722, -354,
- -354, 306, 360, 206, 1722, 162, 1467, 1552, -354, 289,
- -354, -354, 322, 278, -354, 1722, 293, -354, 377, -354,
- 377, 377, 377, 377, 377, 235, 235, -354, 1896, 33,
- 69, -354, 351, 1974, 908, 717, 201, 279, 1896, 1857,
- 461, 461, 547, 631, 861, 378, 133, 133, 1722, 1722,
- -354, 1637, 233, -354, -354, 459, 121, 77, 135, 112,
- 168, 310, 78, 1722, 78, -354, 241, -354, 1722, 116,
- 248, 377, 256, 258, 377, -354, 265, 266, -354, -354,
- -354, 269, 344, 389, 1722, 1722, 276, -354, -354, -354,
- 521, -354, 606, -354, 632, -354, -354, -354, 174, 1722,
- 361, -354, -354, 1722, 212, 205, -354, 691, 1722, -354,
- 371, -354, 374, -354, 386, -354, -354, -354, -354, 367,
- -354, -354, -354, -354, -354, -354, 415, 415, 1722, 415,
- 1722, 304, 363, 415, -354, -354, -354, -354, 208, -354,
- 1935, 428, -354, -354, 369, -354, -354, -354, -354, 415,
- 415, -354, 81, 81, 370, 177, 435, 415, 415, -354,
- -354, -354, -354, 177, 177, -354, 415, 375, -354, -354,
- 415, -354, -354, 177, -354, -354, -354, 199, -354, 1722,
- 177, 473, -354, -354, 379, -354, 383, 415, 415, 81,
- -354, -354
+ -344, 39, -344, -344, 47, -344, -344, -344, 28, -344,
+ -344, -344, -344, -344, -344, 295, -344, -344, -344, -344,
+ -344, -344, -344, 34, 59, 65, -344, 59, -344, -344,
+ 877, 1723, 1723, 351, 351, 351, 351, 351, -344, -344,
+ 351, 351, -344, -5, -344, 1723, -344, -344, 3, 7,
+ 22, 52, 35, 81, 88, 226, 1723, -344, 96, 121,
+ 148, 646, 561, 351, 731, 960, 223, 1723, 19, 1723,
+ 1723, 1723, 1723, 1723, 1723, 1723, 1043, 100, 242, -344,
+ -344, 1004, 199, -344, 14, -344, -344, -344, -344, 1897,
+ -344, 179, 135, 200, -344, -344, 266, -344, 226, -344,
+ 255, 260, 264, 255, -344, -344, 80, 507, 507, -344,
+ -344, -344, -344, -344, -344, -344, -344, -344, 1723, 192,
+ 1723, 422, 226, 255, -344, -344, -344, -344, -344, -344,
+ 197, -344, -344, -344, 1897, 203, 1128, 561, -344, 422,
+ 1784, 199, -344, 793, 1723, -344, 205, -344, 422, 21,
+ 288, -6, 1723, 422, 1213, 234, -344, -344, -344, 422,
+ 199, 507, 507, 507, 131, 131, 292, -28, 226, -344,
+ -344, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
+ 1723, 1723, 1723, 1298, 1723, 1723, 1723, 1723, 1723, 1723,
+ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, -344,
+ -344, 11, 1383, 1723, 1723, 1723, 1723, 1723, -344, -344,
+ 238, -344, 286, 238, 90, -344, -344, 1723, -42, -344,
+ 238, 1723, 1723, 1723, 1723, 311, 391, -344, -344, 1723,
+ -344, -344, -10, 119, 233, 1723, 199, 1468, 1553, -344,
+ 319, -344, -344, 133, 312, -344, 1723, 324, -344, 220,
+ -344, 220, 220, 220, 220, 220, 272, 272, -344, 1897,
+ 26, 89, -344, 323, 1975, 909, 718, 678, 280, 1897,
+ 1858, 462, 462, 548, 632, 862, 379, 507, 507, 1723,
+ 1723, -344, 1638, 256, -344, -344, 352, 69, 163, 194,
+ 170, 225, 326, 42, 1723, 42, -344, 259, -344, 1723,
+ 226, 268, 220, 270, 271, 220, -344, 277, 283, -344,
+ -344, -344, 289, 362, 390, 1723, 1723, 290, -344, -344,
+ -344, 460, -344, 522, -344, 607, -344, -344, -344, 198,
+ 1723, 375, -344, -344, 1723, 305, 207, -344, 633, 1723,
+ -344, 378, -344, 381, -344, 385, -344, -344, -344, -344,
+ 369, -344, -344, -344, -344, -344, -344, 388, 388, 1723,
+ 388, 1723, 306, 307, 388, -344, -344, -344, -344, 213,
+ -344, 1936, 389, -344, -344, 331, -344, -344, -344, -344,
+ 388, 388, -344, 182, 182, 336, 100, 411, 388, 388,
+ -344, -344, -344, -344, 100, 100, -344, 388, 337, -344,
+ -344, 388, -344, -344, 100, -344, -344, -344, 122, -344,
+ 1723, 100, 474, -344, -344, 340, -344, 345, 388, 388,
+ 182, -344, -344
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -354, -354, -13, -72, -354, -354, 1505, -354, -103, -354,
- 444, -353, -354, -354, -26, -354, -354, -335, -354, 103,
- -116, -215, 76, -354, -354, -354, -354, -354, -354, -354,
- -354, 128, 419, -354, 466, -19, -181, -354, 207, -354,
- -354, -354, -15, -38, -354, -354, -354, -354, -354, -354,
- -354, -354, 56, -354, -354, -115, -202, -354, -354, -29,
- 431, 434, -354, -354, 28
+ -344, -344, -13, -62, -344, -344, 1505, -344, -103, -344,
+ 426, -343, -344, -344, 147, -344, -344, -335, -344, 82,
+ 8, -217, 30, -344, -344, -344, -344, -344, -344, -344,
+ -344, 215, 403, -344, 425, -21, -116, -344, 164, -344,
+ -344, -344, -15, -39, -344, -344, -344, -344, -344, -344,
+ -344, -344, 56, -344, -344, -100, -204, -344, -344, -30,
+ 392, 396, -344, -344, 138
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -425,424 +425,424 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -187
static const yytype_int16 yytable[] =
{
- 81, 213, 77, 215, 112, 112, 112, 112, 112, 33,
- 311, 112, 112, 316, 296, 106, 278, 181, 279, 182,
- 380, 239, 33, 130, 141, 203, 3, 204, 180, 280,
- 399, 294, 160, 143, 112, 149, 214, 240, 299, 156,
- 25, 203, 133, 204, 33, 34, 35, 330, 138, 297,
- 151, 147, 220, 221, 222, 223, 224, 225, 128, 227,
- 228, 167, 114, 115, 116, 117, 421, 411, 118, 119,
- 177, 178, 179, -187, -187, 331, 205, 201, 206, 97,
- 141, 29, 217, 341, 212, 208, 99, 107, 108, 129,
- 144, 145, 346, 177, 178, 179, 177, 178, 179, 361,
- 362, 121, 281, 183, 219, 302, 235, 305, 143, 218,
- 101, 237, 134, 120, 141, 396, 397, 139, 343, 29,
- 148, 231, 232, 153, 154, 159, 295, 161, 162, 163,
- 164, 165, 177, 178, 179, 340, 374, 26, 27, 242,
- 177, 178, 179, 384, 124, -2, 5, 6, 7, 342,
- 8, 9, 125, 152, 314, 247, 248, 250, 251, 252,
- 253, 254, 255, 256, 257, 234, 259, 260, 262, 5,
- 6, 7, 283, 8, 9, 177, 178, 179, 349, 126,
- 367, 10, 344, 352, 177, 178, 179, 285, 286, 287,
- 288, 289, 290, 127, 414, 308, 131, 132, 177, 178,
- 179, 232, 135, 413, 10, 301, 250, 136, 250, 137,
- 313, 372, 11, 168, 390, 198, 199, 200, 170, 320,
- 201, 322, 324, 5, 6, 7, 371, 8, 9, 180,
- 328, 177, 178, 179, 207, 11, 258, 177, 178, 179,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 141, 202, 209, 10, 211,
- 141, 216, 226, 334, 335, 236, 337, 229, 177, 178,
- 179, 177, 178, 179, 238, 177, 178, 179, 197, 347,
- 243, 347, 245, 198, 199, 200, 353, 291, 201, 11,
- 293, 33, 407, 325, 319, 28, 327, 29, 329, 30,
- 179, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 368, 44, 45, 46, 177, 178,
- 179, 47, 338, 232, 48, 49, 50, 51, 345, 351,
- 187, 52, 53, 54, 55, 56, 354, 57, 58, 59,
- 60, 61, 62, 246, 355, 301, 356, 63, 64, 65,
- 66, 67, 68, 357, 69, 358, 197, 359, 360, 401,
- 70, 198, 199, 200, 363, 369, 201, 405, 406, 177,
- 178, 179, 71, 72, 73, 375, 29, 412, 376, 74,
- 75, 378, 33, 76, 415, 177, 178, 179, 109, 370,
- 377, 28, 387, 110, 317, 30, 81, 31, 32, 33,
- 34, 35, 36, 37, -44, 39, 40, 41, 42, 43,
- 326, 44, 45, 46, 177, 178, 179, 47, 381, 171,
- 172, 173, 174, 177, 178, 179, 175, 318, 176, 187,
- 188, 56, 391, 57, 58, 59, 60, 61, 62, 332,
- 177, 178, 179, 63, 64, 65, 66, 67, 68, 402,
- 69, 388, 177, 178, 179, 197, 70, 392, 400, 78,
- 198, 199, 200, 386, 409, 201, 123, 417, 71, 72,
- 73, 418, 187, 188, 28, 74, 75, -49, 30, 76,
- 31, 32, 33, 34, 35, 36, 37, 416, 39, 40,
- 41, 42, 43, 103, 44, 45, 46, 196, 197, 157,
- 47, 350, 158, 198, 199, 200, 0, 0, 201, 0,
- 185, 186, 187, 188, 56, 0, 57, 58, 59, 60,
- 61, 62, 177, 178, 179, 0, 63, 64, 65, 66,
- 67, 68, 0, 69, 193, 194, 195, 196, 197, 70,
- 0, 0, 0, 198, 199, 200, 0, 339, 201, 0,
- 0, 71, 72, 73, 0, 0, 0, 0, 74, 75,
- 0, -44, 76, 29, 0, 30, 0, 31, 32, 33,
- 34, 35, 36, 37, 0, 140, 40, 41, 42, 43,
- 110, 44, 45, 46, 177, 178, 179, 47, 0, 0,
- 0, 0, 0, 0, 0, 0, 185, 186, 187, 188,
- 0, 56, 0, 57, 58, 59, 60, 61, 62, 364,
- 0, 0, 0, 63, 64, 65, 66, 67, 68, 0,
- 69, 194, 195, 196, 197, 0, 70, 0, 0, 198,
- 199, 200, 0, 0, 201, 0, 0, 0, 71, 72,
- 73, 0, 0, 0, 0, 74, 75, 0, 29, 76,
- 30, 0, 31, 32, 33, 34, 35, 36, 37, 0,
- 39, 40, 41, 42, 43, 0, 44, 45, 46, 177,
- 178, 179, 47, 0, 0, 0, 0, 0, 0, 0,
- 185, 186, 187, 188, 0, 0, 56, 0, 57, 58,
- 59, 60, 61, 62, 365, 177, 178, 179, 63, 64,
- 65, 66, 67, 68, 0, 69, 195, 196, 197, 0,
- 0, 70, 0, 198, 199, 200, 0, 0, 201, 0,
- 366, 0, 0, 71, 72, 73, 0, 0, 0, 0,
- 74, 75, 0, 29, 76, 30, 0, 31, 32, 33,
- 34, 35, 36, 37, 0, 146, 40, 41, 42, 43,
- 0, 44, 45, 46, 177, 178, 179, 47, 0, 0,
- 0, 0, 0, 0, 0, 0, 185, -187, 187, 188,
- 0, 56, 0, 57, 58, 59, 60, 61, 62, 373,
- 0, 0, 0, 63, 64, 65, 66, 67, 68, 0,
- 69, 0, 0, 196, 197, 203, 70, 204, -157, 198,
- 199, 200, 0, 0, 201, 0, -157, 0, 71, 72,
- 73, 0, 0, 0, 0, 74, 75, 0, 0, 76,
- 0, 0, -157, -157, -157, -157, 0, 0, 0, -157,
- 0, -157, 0, 0, -157, 0, 0, 0, 0, 0,
- 0, -157, -157, -157, -157, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -157, -157, -157, 0, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- 0, 0, 0, 0, -157, -157, -157, 0, 0, -157,
- -157, 30, 105, 31, 32, 33, 34, 35, 36, 37,
+ 81, 214, 77, 112, 112, 112, 112, 112, 240, 312,
+ 112, 112, 317, 297, 279, 106, 280, 181, 216, 182,
+ 33, 381, 130, 141, 203, 180, 204, 281, 33, 34,
+ 35, 160, 143, 112, 149, 177, 178, 179, 156, 3,
+ 331, 400, 133, 25, 33, 29, 298, -2, 138, 97,
+ 151, 147, 241, 177, 178, 179, 347, 177, 178, 179,
+ 247, 167, 221, 222, 223, 224, 225, 226, 412, 228,
+ 229, 5, 6, 7, 99, 8, 9, 422, 318, 141,
+ 101, 218, 213, 341, 120, 208, 215, 107, 108, 177,
+ 178, 179, 124, 128, 296, 332, 125, 295, 362, 363,
+ 282, 121, 220, 183, 300, 236, 10, 143, 154, 219,
+ 238, 126, 134, 141, 5, 6, 7, 139, 8, 9,
+ 148, 232, 233, 153, 129, 159, 414, 161, 162, 163,
+ 164, 165, 177, 178, 179, 375, 168, 11, 203, 243,
+ 204, 127, 385, 177, 178, 179, 5, 6, 7, 10,
+ 8, 9, 177, 178, 179, 248, 249, 251, 252, 253,
+ 254, 255, 256, 257, 258, 315, 260, 261, 263, 342,
+ 131, 284, 114, 115, 116, 117, 344, 132, 118, 119,
+ 11, 10, 177, 178, 179, 135, 319, 286, 287, 288,
+ 289, 290, 291, 415, 350, 309, 177, 178, 179, 353,
+ 144, 145, 233, 205, 368, 206, 302, 251, 343, 251,
+ 136, 314, 11, 373, -187, -187, 397, 398, 201, 391,
+ 321, 327, 323, 325, 26, 27, 177, 178, 179, 29,
+ 303, 329, 306, 177, 178, 179, 259, 137, 152, 345,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 141, 170, 177, 178, 179,
+ 141, 177, 178, 179, 335, 336, 180, 338, 202, 207,
+ 177, 178, 179, 209, 211, 235, 177, 178, 179, 212,
+ 348, 217, 348, 177, 178, 179, 227, 354, 177, 178,
+ 179, 230, 239, 408, 237, 244, 28, 246, 29, 292,
+ 30, 294, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 369, 44, 45, 46, 372,
+ 33, 320, 47, 326, 233, 48, 49, 50, 51, 330,
+ 328, 187, 52, 53, 54, 55, 56, 179, 57, 58,
+ 59, 60, 61, 62, 346, 339, 302, 352, 63, 64,
+ 65, 66, 67, 68, 29, 69, 355, 197, 356, 357,
+ 33, 70, 198, 199, 200, 358, 109, 201, 177, 178,
+ 179, 110, 359, 71, 72, 73, 361, 360, 364, 370,
+ 74, 75, 376, 379, 76, 377, 177, 178, 179, 378,
+ 371, 382, 28, 392, 388, 389, 30, 81, 31, 32,
+ 33, 34, 35, 36, 37, -44, 39, 40, 41, 42,
+ 43, 333, 44, 45, 46, 177, 178, 179, 47, 393,
+ 171, 172, 173, 174, 401, 403, 410, 175, 418, 176,
+ 187, 188, 56, 419, 57, 58, 59, 60, 61, 62,
+ 340, 78, 417, 387, 63, 64, 65, 66, 67, 68,
+ 123, 69, 103, 177, 178, 179, 197, 70, 0, 351,
+ 157, 198, 199, 200, 158, 0, 201, 0, 0, 71,
+ 72, 73, 0, 187, 188, 28, 74, 75, -49, 30,
+ 76, 31, 32, 33, 34, 35, 36, 37, 0, 39,
+ 40, 41, 42, 43, 0, 44, 45, 46, 196, 197,
+ 0, 47, 0, 0, 198, 199, 200, 0, 0, 201,
+ 0, 185, 186, 187, 188, 56, 0, 57, 58, 59,
+ 60, 61, 62, 177, 178, 179, 0, 63, 64, 65,
+ 66, 67, 68, 402, 69, 193, 194, 195, 196, 197,
+ 70, 406, 407, 0, 198, 199, 200, 0, 365, 201,
+ 0, 413, 71, 72, 73, 0, 0, 0, 416, 74,
+ 75, 0, -44, 76, 29, 0, 30, 0, 31, 32,
+ 33, 34, 35, 36, 37, 0, 140, 40, 41, 42,
+ 43, 110, 44, 45, 46, 177, 178, 179, 47, 198,
+ 199, 200, 0, 0, 201, 0, 0, 185, 186, 187,
+ 188, 0, 56, 0, 57, 58, 59, 60, 61, 62,
+ 366, 0, 0, 0, 63, 64, 65, 66, 67, 68,
+ 0, 69, 194, 195, 196, 197, 0, 70, 0, 0,
+ 198, 199, 200, 0, 0, 201, 0, 0, 0, 71,
+ 72, 73, 0, 0, 0, 0, 74, 75, 0, 29,
+ 76, 30, 0, 31, 32, 33, 34, 35, 36, 37,
0, 39, 40, 41, 42, 43, 0, 44, 45, 46,
- 0, 0, 0, 47, 0, 0, 0, 0, 0, 0,
- 185, 186, 187, 188, 0, 0, 0, 56, 0, 57,
- 58, 59, 60, 61, 62, 0, 0, 0, 0, 63,
- 64, 65, 66, 67, 68, 0, 69, 196, 197, 0,
- 0, 0, 70, 198, 199, 200, 0, 0, 201, 0,
- 0, 0, 0, 0, 71, 72, 73, -187, 0, 187,
- 188, 74, 75, 0, 30, 76, 31, 32, 33, 34,
- 35, 36, 37, 150, 39, 40, 41, 42, 43, 0,
- 44, 45, 46, 0, 196, 197, 47, 0, 0, 0,
- 198, 199, 200, 0, 0, 201, 0, 0, 0, 0,
- 56, 0, 57, 58, 59, 60, 61, 62, 0, 0,
- 0, 0, 63, 64, 65, 66, 67, 68, 0, 69,
- 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,
- 0, 0, 0, 171, 172, 173, 174, 71, 72, 73,
- 175, 0, 176, 0, 74, 75, 0, 30, 76, 31,
- 32, 33, 34, 35, 36, 37, 0, 39, 40, 41,
- 42, 43, 0, 44, 45, 46, 177, 178, 179, 47,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 56, 0, 57, 58, 59, 60, 61,
- 62, 0, 0, 0, 0, 63, 64, 65, 66, 67,
- 68, 0, 69, 0, 0, 0, 0, 0, 70, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 72, 73, 0, 0, 0, 0, 74, 75, 0,
- 166, 76, 30, 0, 31, 32, 33, 34, 35, 36,
- 37, 0, 39, 40, 41, 42, 43, 0, 44, 45,
- 46, 0, 0, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
- 57, 58, 59, 60, 61, 62, 0, 0, 0, 0,
- 63, 64, 65, 66, 67, 68, 0, 69, 0, 0,
- 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 71, 72, 73, 0, 0,
- 0, 0, 74, 75, 0, 230, 76, 30, 0, 31,
- 32, 33, 34, 35, 36, 37, 0, 39, 40, 41,
- 42, 43, 0, 44, 45, 46, 0, 0, 0, 47,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 56, 0, 57, 58, 59, 60, 61,
- 62, 0, 0, 0, 0, 63, 64, 65, 66, 67,
- 68, 0, 69, 0, 0, 0, 0, 0, 70, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 72, 73, 0, 0, 0, 0, 74, 75, 0,
- 241, 76, 30, 0, 31, 32, 33, 34, 35, 36,
+ 177, 178, 179, 47, 0, 0, 0, 0, 0, 0,
+ 0, 185, 186, 187, 188, 0, 0, 56, 0, 57,
+ 58, 59, 60, 61, 62, 367, 177, 178, 179, 63,
+ 64, 65, 66, 67, 68, 0, 69, 195, 196, 197,
+ 0, 0, 70, 0, 198, 199, 200, 0, 0, 201,
+ 0, 374, 0, 0, 71, 72, 73, 0, 0, 0,
+ 0, 74, 75, 0, 29, 76, 30, 0, 31, 32,
+ 33, 34, 35, 36, 37, 0, 146, 40, 41, 42,
+ 43, 0, 44, 45, 46, 197, 0, 0, 47, 0,
+ 198, 199, 200, 0, 0, 201, 0, 185, -187, 187,
+ 188, 0, 56, 0, 57, 58, 59, 60, 61, 62,
+ 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
+ 0, 69, 0, 0, 196, 197, 203, 70, 204, -157,
+ 198, 199, 200, 0, 0, 201, 0, -157, 0, 71,
+ 72, 73, 0, 0, 0, 0, 74, 75, 0, 0,
+ 76, 0, 0, -157, -157, -157, -157, 0, 0, 0,
+ -157, 0, -157, 0, 0, -157, 0, 0, 0, 0,
+ 0, 0, -157, -157, -157, -157, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -157, -157, -157, 0,
+ -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
+ -157, 0, 0, 0, 0, -157, -157, -157, 0, 0,
+ -157, -157, 30, 105, 31, 32, 33, 34, 35, 36,
37, 0, 39, 40, 41, 42, 43, 0, 44, 45,
46, 0, 0, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
+ 0, 185, 186, 187, 188, 0, 0, 0, 56, 0,
57, 58, 59, 60, 61, 62, 0, 0, 0, 0,
- 63, 64, 65, 66, 67, 68, 0, 69, 0, 0,
- 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 71, 72, 73, 0, 0,
- 0, 0, 74, 75, 0, 261, 76, 30, 0, 31,
- 32, 33, 34, 35, 36, 37, 0, 39, 40, 41,
- 42, 43, 0, 44, 45, 46, 0, 0, 0, 47,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 56, 0, 57, 58, 59, 60, 61,
- 62, 0, 0, 0, 0, 63, 64, 65, 66, 67,
- 68, 0, 69, 0, 0, 0, 0, 0, 70, 0,
+ 63, 64, 65, 66, 67, 68, 0, 69, 196, 197,
+ 0, 0, 0, 70, 198, 199, 200, 0, 0, 201,
+ 0, 0, 0, 0, 0, 71, 72, 73, -187, 0,
+ 187, 188, 74, 75, 0, 30, 76, 31, 32, 33,
+ 34, 35, 36, 37, 150, 39, 40, 41, 42, 43,
+ 0, 44, 45, 46, 0, 196, 197, 47, 0, 0,
+ 0, 198, 199, 200, 0, 0, 201, 0, 0, 0,
+ 0, 56, 0, 57, 58, 59, 60, 61, 62, 0,
+ 0, 0, 0, 63, 64, 65, 66, 67, 68, 0,
+ 69, 0, 0, 0, 0, 0, 70, 0, 0, 0,
+ 0, 0, 0, 0, 171, 172, 173, 174, 71, 72,
+ 73, 175, 0, 176, 0, 74, 75, 0, 30, 76,
+ 31, 32, 33, 34, 35, 36, 37, 0, 39, 40,
+ 41, 42, 43, 0, 44, 45, 46, 177, 178, 179,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 0, 57, 58, 59, 60,
+ 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
+ 67, 68, 0, 69, 0, 0, 0, 0, 0, 70,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 72, 73, 0, 0, 0, 0, 74, 75, 0,
- 284, 76, 30, 0, 31, 32, 33, 34, 35, 36,
- 37, 0, 39, 40, 41, 42, 43, 0, 44, 45,
- 46, 0, 0, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
- 57, 58, 59, 60, 61, 62, 0, 0, 0, 0,
- 63, 64, 65, 66, 67, 68, 0, 69, 0, 0,
- 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 71, 72, 73, 0, 0,
- 0, 0, 74, 75, 0, 321, 76, 30, 0, 31,
- 32, 33, 34, 35, 36, 37, 0, 39, 40, 41,
- 42, 43, 0, 44, 45, 46, 0, 0, 0, 47,
+ 0, 71, 72, 73, 0, 0, 0, 0, 74, 75,
+ 0, 166, 76, 30, 0, 31, 32, 33, 34, 35,
+ 36, 37, 0, 39, 40, 41, 42, 43, 0, 44,
+ 45, 46, 0, 0, 0, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
+ 0, 57, 58, 59, 60, 61, 62, 0, 0, 0,
+ 0, 63, 64, 65, 66, 67, 68, 0, 69, 0,
+ 0, 0, 0, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 72, 73, 0,
+ 0, 0, 0, 74, 75, 0, 231, 76, 30, 0,
+ 31, 32, 33, 34, 35, 36, 37, 0, 39, 40,
+ 41, 42, 43, 0, 44, 45, 46, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 0, 57, 58, 59, 60,
+ 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
+ 67, 68, 0, 69, 0, 0, 0, 0, 0, 70,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 56, 0, 57, 58, 59, 60, 61,
- 62, 0, 0, 0, 0, 63, 64, 65, 66, 67,
- 68, 0, 69, 0, 0, 0, 0, 0, 70, 0,
+ 0, 71, 72, 73, 0, 0, 0, 0, 74, 75,
+ 0, 242, 76, 30, 0, 31, 32, 33, 34, 35,
+ 36, 37, 0, 39, 40, 41, 42, 43, 0, 44,
+ 45, 46, 0, 0, 0, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
+ 0, 57, 58, 59, 60, 61, 62, 0, 0, 0,
+ 0, 63, 64, 65, 66, 67, 68, 0, 69, 0,
+ 0, 0, 0, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 72, 73, 0,
+ 0, 0, 0, 74, 75, 0, 262, 76, 30, 0,
+ 31, 32, 33, 34, 35, 36, 37, 0, 39, 40,
+ 41, 42, 43, 0, 44, 45, 46, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 0, 57, 58, 59, 60,
+ 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
+ 67, 68, 0, 69, 0, 0, 0, 0, 0, 70,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 72, 73, 0, 0, 0, 0, 74, 75, 0,
- 323, 76, 30, 0, 31, 32, 33, 34, 35, 36,
- 37, 0, 39, 40, 41, 42, 43, 0, 44, 45,
- 46, 0, 0, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
- 57, 58, 59, 60, 61, 62, 0, 0, 0, 0,
- 63, 64, 65, 66, 67, 68, 0, 69, 0, 0,
- 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 71, 72, 73, 0, 0,
- 0, 0, 74, 75, 0, 336, 76, 30, 0, 31,
- 32, 33, 34, 35, 36, 37, 0, 39, 40, 41,
- 42, 43, 0, 44, 45, 46, 0, 0, 0, 47,
+ 0, 71, 72, 73, 0, 0, 0, 0, 74, 75,
+ 0, 285, 76, 30, 0, 31, 32, 33, 34, 35,
+ 36, 37, 0, 39, 40, 41, 42, 43, 0, 44,
+ 45, 46, 0, 0, 0, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
+ 0, 57, 58, 59, 60, 61, 62, 0, 0, 0,
+ 0, 63, 64, 65, 66, 67, 68, 0, 69, 0,
+ 0, 0, 0, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 72, 73, 0,
+ 0, 0, 0, 74, 75, 0, 322, 76, 30, 0,
+ 31, 32, 33, 34, 35, 36, 37, 0, 39, 40,
+ 41, 42, 43, 0, 44, 45, 46, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 0, 57, 58, 59, 60,
+ 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
+ 67, 68, 0, 69, 0, 0, 0, 0, 0, 70,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 56, 0, 57, 58, 59, 60, 61,
- 62, 0, 0, 0, 0, 63, 64, 65, 66, 67,
- 68, 0, 69, 0, 0, 0, 0, 0, 70, -186,
- 0, 0, 0, 0, 0, 0, 0, -186, 0, 0,
- 71, 72, 73, 0, 0, 0, 0, 74, 75, 0,
- 0, 76, 0, -186, -186, -186, -186, 0, 0, 0,
- -186, 0, -186, 0, 0, -186, 0, 0, 0, 0,
- 0, 0, -186, -186, -186, -186, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -186, -186, -186, 0,
- -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
- -186, 0, 383, 0, 385, -186, -186, -186, 389, 0,
- -186, -186, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 393, 394, 0, 0, 0, 0,
- 0, 0, 403, 404, 0, 0, 0, 0, 0, 184,
- 0, 408, 0, 0, 0, 410, 185, 186, 187, 188,
+ 0, 71, 72, 73, 0, 0, 0, 0, 74, 75,
+ 0, 324, 76, 30, 0, 31, 32, 33, 34, 35,
+ 36, 37, 0, 39, 40, 41, 42, 43, 0, 44,
+ 45, 46, 0, 0, 0, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
+ 0, 57, 58, 59, 60, 61, 62, 0, 0, 0,
+ 0, 63, 64, 65, 66, 67, 68, 0, 69, 0,
+ 0, 0, 0, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 72, 73, 0,
+ 0, 0, 0, 74, 75, 0, 337, 76, 30, 0,
+ 31, 32, 33, 34, 35, 36, 37, 0, 39, 40,
+ 41, 42, 43, 0, 44, 45, 46, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 0, 57, 58, 59, 60,
+ 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
+ 67, 68, 0, 69, 0, 0, 0, 0, 0, 70,
+ -186, 0, 0, 0, 0, 0, 0, 0, -186, 0,
+ 0, 71, 72, 73, 0, 0, 0, 0, 74, 75,
+ 0, 0, 76, 0, -186, -186, -186, -186, 0, 0,
+ 0, -186, 0, -186, 0, 0, -186, 0, 0, 0,
+ 0, 0, 0, -186, -186, -186, -186, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -186, -186, -186,
+ 0, -186, -186, -186, -186, -186, -186, -186, -186, -186,
+ -186, -186, 0, 384, 0, 386, -186, -186, -186, 390,
+ 0, -186, -186, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 394, 395, 0, 0, 0,
+ 0, 0, 0, 404, 405, 0, 0, 0, 0, 0,
+ 184, 0, 409, 0, 0, 0, 411, 185, 186, 187,
+ 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 420, 421, 0, 189, 190, 334, 191,
+ 192, 193, 194, 195, 196, 197, 0, 0, 0, 184,
+ 198, 199, 200, 0, 0, 201, 185, 186, 187, 188,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 419, 420, 0, 189, 190, 333, 191, 192,
+ 0, 0, 0, 0, 0, 189, 190, 0, 191, 192,
193, 194, 195, 196, 197, 0, 0, 0, 184, 198,
199, 200, 0, 0, 201, 185, 186, 187, 188, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 189, 190, 0, 191, 192, 193,
- 194, 195, 196, 197, 0, 0, 0, 184, 198, 199,
+ 0, 0, 0, 0, 0, 190, 0, 191, 192, 193,
+ 194, 195, 196, 197, 0, 0, 0, -187, 198, 199,
200, 0, 0, 201, 185, 186, 187, 188, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 190, 0, 191, 192, 193, 194,
- 195, 196, 197, 0, 0, 0, -187, 198, 199, 200,
- 0, 0, 201, 185, 186, 187, 188, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 191, 192, 193, 194, 195,
- 196, 197, 0, 0, 0, 0, 198, 199, 200, 0,
- 0, 201
+ 0, 0, 0, 0, 0, 0, 191, 192, 193, 194,
+ 195, 196, 197, 0, 0, 0, 0, 198, 199, 200,
+ 0, 0, 201
};
static const yytype_int16 yycheck[] =
{
- 15, 104, 15, 118, 33, 34, 35, 36, 37, 9,
- 225, 40, 41, 228, 216, 30, 3, 3, 5, 5,
- 355, 14, 9, 52, 62, 3, 0, 5, 67, 16,
- 383, 212, 70, 62, 63, 64, 6, 152, 219, 68,
- 15, 3, 55, 5, 9, 10, 11, 14, 61, 88,
- 65, 64, 124, 125, 126, 127, 128, 129, 58, 131,
- 132, 76, 34, 35, 36, 37, 419, 402, 40, 41,
- 63, 64, 65, 83, 84, 6, 3, 87, 5, 15,
- 118, 3, 120, 6, 103, 98, 15, 31, 32, 89,
- 62, 63, 14, 63, 64, 65, 63, 64, 65, 314,
- 315, 45, 89, 89, 123, 221, 144, 223, 137, 122,
- 14, 89, 56, 89, 152, 34, 35, 61, 6, 3,
+ 15, 104, 15, 33, 34, 35, 36, 37, 14, 226,
+ 40, 41, 229, 217, 3, 30, 5, 3, 118, 5,
+ 9, 356, 52, 62, 3, 67, 5, 16, 9, 10,
+ 11, 70, 62, 63, 64, 63, 64, 65, 68, 0,
+ 14, 384, 55, 15, 9, 3, 88, 0, 61, 15,
+ 65, 64, 152, 63, 64, 65, 14, 63, 64, 65,
+ 88, 76, 124, 125, 126, 127, 128, 129, 403, 131,
+ 132, 24, 25, 26, 15, 28, 29, 420, 88, 118,
+ 15, 120, 103, 14, 89, 98, 6, 31, 32, 63,
+ 64, 65, 89, 58, 4, 6, 89, 213, 315, 316,
+ 89, 45, 123, 89, 220, 144, 59, 137, 89, 122,
+ 89, 89, 56, 152, 24, 25, 26, 61, 28, 29,
64, 136, 137, 67, 89, 69, 4, 71, 72, 73,
- 74, 75, 63, 64, 65, 14, 338, 9, 10, 154,
- 63, 64, 65, 358, 89, 0, 24, 25, 26, 14,
- 28, 29, 89, 15, 226, 168, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 137, 181, 182, 183, 24,
- 25, 26, 201, 28, 29, 63, 64, 65, 293, 89,
- 6, 59, 14, 298, 63, 64, 65, 202, 203, 204,
- 205, 206, 207, 89, 409, 224, 89, 89, 63, 64,
- 65, 216, 89, 4, 59, 220, 221, 89, 223, 89,
- 225, 6, 90, 36, 6, 82, 83, 84, 14, 234,
- 87, 236, 237, 24, 25, 26, 14, 28, 29, 67,
- 245, 63, 64, 65, 3, 90, 180, 63, 64, 65,
+ 74, 75, 63, 64, 65, 339, 36, 90, 3, 154,
+ 5, 89, 359, 63, 64, 65, 24, 25, 26, 59,
+ 28, 29, 63, 64, 65, 168, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 227, 181, 182, 183, 6,
+ 89, 201, 34, 35, 36, 37, 6, 89, 40, 41,
+ 90, 59, 63, 64, 65, 89, 67, 202, 203, 204,
+ 205, 206, 207, 410, 294, 225, 63, 64, 65, 299,
+ 62, 63, 217, 3, 6, 5, 221, 222, 14, 224,
+ 89, 226, 90, 6, 83, 84, 34, 35, 87, 6,
+ 235, 88, 237, 238, 9, 10, 63, 64, 65, 3,
+ 222, 246, 224, 63, 64, 65, 180, 89, 15, 14,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 293, 89, 18, 59, 15,
- 298, 89, 89, 278, 279, 89, 281, 88, 63, 64,
- 65, 63, 64, 65, 4, 63, 64, 65, 77, 292,
- 61, 294, 5, 82, 83, 84, 299, 61, 87, 90,
- 15, 9, 395, 4, 88, 1, 18, 3, 5, 5,
- 65, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 329, 21, 22, 23, 63, 64,
- 65, 27, 89, 338, 30, 31, 32, 33, 18, 88,
- 51, 37, 38, 39, 40, 41, 88, 43, 44, 45,
- 46, 47, 48, 88, 88, 360, 88, 53, 54, 55,
- 56, 57, 58, 88, 60, 89, 77, 88, 14, 385,
- 66, 82, 83, 84, 88, 4, 87, 393, 394, 63,
- 64, 65, 78, 79, 80, 4, 3, 403, 4, 85,
- 86, 14, 9, 89, 410, 63, 64, 65, 15, 333,
- 4, 1, 88, 20, 88, 5, 411, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 88, 21, 22, 23, 63, 64, 65, 27, 3, 30,
- 31, 32, 33, 63, 64, 65, 37, 67, 39, 51,
- 52, 41, 4, 43, 44, 45, 46, 47, 48, 88,
- 63, 64, 65, 53, 54, 55, 56, 57, 58, 14,
- 60, 88, 63, 64, 65, 77, 66, 88, 88, 15,
- 82, 83, 84, 360, 89, 87, 47, 88, 78, 79,
- 80, 88, 51, 52, 1, 85, 86, 88, 5, 89,
- 7, 8, 9, 10, 11, 12, 13, 411, 15, 16,
- 17, 18, 19, 27, 21, 22, 23, 76, 77, 68,
- 27, 294, 68, 82, 83, 84, -1, -1, 87, -1,
- 49, 50, 51, 52, 41, -1, 43, 44, 45, 46,
- 47, 48, 63, 64, 65, -1, 53, 54, 55, 56,
- 57, 58, -1, 60, 73, 74, 75, 76, 77, 66,
- -1, -1, -1, 82, 83, 84, -1, 88, 87, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, 85, 86,
- -1, 88, 89, 3, -1, 5, -1, 7, 8, 9,
- 10, 11, 12, 13, -1, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 63, 64, 65, 27, -1, -1,
- -1, -1, -1, -1, -1, -1, 49, 50, 51, 52,
- -1, 41, -1, 43, 44, 45, 46, 47, 48, 88,
- -1, -1, -1, 53, 54, 55, 56, 57, 58, -1,
- 60, 74, 75, 76, 77, -1, 66, -1, -1, 82,
- 83, 84, -1, -1, 87, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, 85, 86, -1, 3, 89,
- 5, -1, 7, 8, 9, 10, 11, 12, 13, -1,
- 15, 16, 17, 18, 19, -1, 21, 22, 23, 63,
- 64, 65, 27, -1, -1, -1, -1, -1, -1, -1,
- 49, 50, 51, 52, -1, -1, 41, -1, 43, 44,
- 45, 46, 47, 48, 88, 63, 64, 65, 53, 54,
- 55, 56, 57, 58, -1, 60, 75, 76, 77, -1,
- -1, 66, -1, 82, 83, 84, -1, -1, 87, -1,
- 88, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- 85, 86, -1, 3, 89, 5, -1, 7, 8, 9,
- 10, 11, 12, 13, -1, 15, 16, 17, 18, 19,
- -1, 21, 22, 23, 63, 64, 65, 27, -1, -1,
- -1, -1, -1, -1, -1, -1, 49, 50, 51, 52,
- -1, 41, -1, 43, 44, 45, 46, 47, 48, 88,
- -1, -1, -1, 53, 54, 55, 56, 57, 58, -1,
- 60, -1, -1, 76, 77, 3, 66, 5, 6, 82,
- 83, 84, -1, -1, 87, -1, 14, -1, 78, 79,
- 80, -1, -1, -1, -1, 85, 86, -1, -1, 89,
- -1, -1, 30, 31, 32, 33, -1, -1, -1, 37,
- -1, 39, -1, -1, 42, -1, -1, -1, -1, -1,
- -1, 49, 50, 51, 52, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 63, 64, 65, -1, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- -1, -1, -1, -1, 82, 83, 84, -1, -1, 87,
- 88, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 194, 195, 196, 197, 198, 294, 14, 63, 64, 65,
+ 299, 63, 64, 65, 279, 280, 67, 282, 89, 3,
+ 63, 64, 65, 18, 14, 137, 63, 64, 65, 15,
+ 293, 89, 295, 63, 64, 65, 89, 300, 63, 64,
+ 65, 88, 4, 396, 89, 61, 1, 5, 3, 61,
+ 5, 15, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 330, 21, 22, 23, 14,
+ 9, 88, 27, 4, 339, 30, 31, 32, 33, 5,
+ 18, 51, 37, 38, 39, 40, 41, 65, 43, 44,
+ 45, 46, 47, 48, 18, 89, 361, 88, 53, 54,
+ 55, 56, 57, 58, 3, 60, 88, 77, 88, 88,
+ 9, 66, 82, 83, 84, 88, 15, 87, 63, 64,
+ 65, 20, 89, 78, 79, 80, 14, 88, 88, 4,
+ 85, 86, 4, 14, 89, 4, 63, 64, 65, 4,
+ 334, 3, 1, 4, 88, 88, 5, 412, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 88, 21, 22, 23, 63, 64, 65, 27, 88,
+ 30, 31, 32, 33, 88, 14, 89, 37, 88, 39,
+ 51, 52, 41, 88, 43, 44, 45, 46, 47, 48,
+ 88, 15, 412, 361, 53, 54, 55, 56, 57, 58,
+ 47, 60, 27, 63, 64, 65, 77, 66, -1, 295,
+ 68, 82, 83, 84, 68, -1, 87, -1, -1, 78,
+ 79, 80, -1, 51, 52, 1, 85, 86, 88, 5,
+ 89, 7, 8, 9, 10, 11, 12, 13, -1, 15,
+ 16, 17, 18, 19, -1, 21, 22, 23, 76, 77,
+ -1, 27, -1, -1, 82, 83, 84, -1, -1, 87,
+ -1, 49, 50, 51, 52, 41, -1, 43, 44, 45,
+ 46, 47, 48, 63, 64, 65, -1, 53, 54, 55,
+ 56, 57, 58, 386, 60, 73, 74, 75, 76, 77,
+ 66, 394, 395, -1, 82, 83, 84, -1, 88, 87,
+ -1, 404, 78, 79, 80, -1, -1, -1, 411, 85,
+ 86, -1, 88, 89, 3, -1, 5, -1, 7, 8,
+ 9, 10, 11, 12, 13, -1, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 63, 64, 65, 27, 82,
+ 83, 84, -1, -1, 87, -1, -1, 49, 50, 51,
+ 52, -1, 41, -1, 43, 44, 45, 46, 47, 48,
+ 88, -1, -1, -1, 53, 54, 55, 56, 57, 58,
+ -1, 60, 74, 75, 76, 77, -1, 66, -1, -1,
+ 82, 83, 84, -1, -1, 87, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, 85, 86, -1, 3,
+ 89, 5, -1, 7, 8, 9, 10, 11, 12, 13,
-1, 15, 16, 17, 18, 19, -1, 21, 22, 23,
- -1, -1, -1, 27, -1, -1, -1, -1, -1, -1,
- 49, 50, 51, 52, -1, -1, -1, 41, -1, 43,
- 44, 45, 46, 47, 48, -1, -1, -1, -1, 53,
- 54, 55, 56, 57, 58, -1, 60, 76, 77, -1,
- -1, -1, 66, 82, 83, 84, -1, -1, 87, -1,
- -1, -1, -1, -1, 78, 79, 80, 49, -1, 51,
- 52, 85, 86, -1, 5, 89, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, -1,
- 21, 22, 23, -1, 76, 77, 27, -1, -1, -1,
- 82, 83, 84, -1, -1, 87, -1, -1, -1, -1,
- 41, -1, 43, 44, 45, 46, 47, 48, -1, -1,
- -1, -1, 53, 54, 55, 56, 57, 58, -1, 60,
- -1, -1, -1, -1, -1, 66, -1, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, 78, 79, 80,
- 37, -1, 39, -1, 85, 86, -1, 5, 89, 7,
- 8, 9, 10, 11, 12, 13, -1, 15, 16, 17,
- 18, 19, -1, 21, 22, 23, 63, 64, 65, 27,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 43, 44, 45, 46, 47,
- 48, -1, -1, -1, -1, 53, 54, 55, 56, 57,
- 58, -1, 60, -1, -1, -1, -1, -1, 66, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, 85, 86, -1,
- 88, 89, 5, -1, 7, 8, 9, 10, 11, 12,
- 13, -1, 15, 16, 17, 18, 19, -1, 21, 22,
- 23, -1, -1, -1, 27, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
- 43, 44, 45, 46, 47, 48, -1, -1, -1, -1,
- 53, 54, 55, 56, 57, 58, -1, 60, -1, -1,
- -1, -1, -1, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, 85, 86, -1, 88, 89, 5, -1, 7,
- 8, 9, 10, 11, 12, 13, -1, 15, 16, 17,
- 18, 19, -1, 21, 22, 23, -1, -1, -1, 27,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 43, 44, 45, 46, 47,
- 48, -1, -1, -1, -1, 53, 54, 55, 56, 57,
- 58, -1, 60, -1, -1, -1, -1, -1, 66, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, 85, 86, -1,
- 88, 89, 5, -1, 7, 8, 9, 10, 11, 12,
+ 63, 64, 65, 27, -1, -1, -1, -1, -1, -1,
+ -1, 49, 50, 51, 52, -1, -1, 41, -1, 43,
+ 44, 45, 46, 47, 48, 88, 63, 64, 65, 53,
+ 54, 55, 56, 57, 58, -1, 60, 75, 76, 77,
+ -1, -1, 66, -1, 82, 83, 84, -1, -1, 87,
+ -1, 88, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, 85, 86, -1, 3, 89, 5, -1, 7, 8,
+ 9, 10, 11, 12, 13, -1, 15, 16, 17, 18,
+ 19, -1, 21, 22, 23, 77, -1, -1, 27, -1,
+ 82, 83, 84, -1, -1, 87, -1, 49, 50, 51,
+ 52, -1, 41, -1, 43, 44, 45, 46, 47, 48,
+ -1, -1, -1, -1, 53, 54, 55, 56, 57, 58,
+ -1, 60, -1, -1, 76, 77, 3, 66, 5, 6,
+ 82, 83, 84, -1, -1, 87, -1, 14, -1, 78,
+ 79, 80, -1, -1, -1, -1, 85, 86, -1, -1,
+ 89, -1, -1, 30, 31, 32, 33, -1, -1, -1,
+ 37, -1, 39, -1, -1, 42, -1, -1, -1, -1,
+ -1, -1, 49, 50, 51, 52, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 63, 64, 65, -1,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, -1, -1, -1, -1, 82, 83, 84, -1, -1,
+ 87, 88, 5, 6, 7, 8, 9, 10, 11, 12,
13, -1, 15, 16, 17, 18, 19, -1, 21, 22,
23, -1, -1, -1, 27, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
+ -1, 49, 50, 51, 52, -1, -1, -1, 41, -1,
43, 44, 45, 46, 47, 48, -1, -1, -1, -1,
- 53, 54, 55, 56, 57, 58, -1, 60, -1, -1,
- -1, -1, -1, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, 85, 86, -1, 88, 89, 5, -1, 7,
- 8, 9, 10, 11, 12, 13, -1, 15, 16, 17,
- 18, 19, -1, 21, 22, 23, -1, -1, -1, 27,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 43, 44, 45, 46, 47,
- 48, -1, -1, -1, -1, 53, 54, 55, 56, 57,
- 58, -1, 60, -1, -1, -1, -1, -1, 66, -1,
+ 53, 54, 55, 56, 57, 58, -1, 60, 76, 77,
+ -1, -1, -1, 66, 82, 83, 84, -1, -1, 87,
+ -1, -1, -1, -1, -1, 78, 79, 80, 49, -1,
+ 51, 52, 85, 86, -1, 5, 89, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ -1, 21, 22, 23, -1, 76, 77, 27, -1, -1,
+ -1, 82, 83, 84, -1, -1, 87, -1, -1, -1,
+ -1, 41, -1, 43, 44, 45, 46, 47, 48, -1,
+ -1, -1, -1, 53, 54, 55, 56, 57, 58, -1,
+ 60, -1, -1, -1, -1, -1, 66, -1, -1, -1,
+ -1, -1, -1, -1, 30, 31, 32, 33, 78, 79,
+ 80, 37, -1, 39, -1, 85, 86, -1, 5, 89,
+ 7, 8, 9, 10, 11, 12, 13, -1, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, 63, 64, 65,
+ 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, 43, 44, 45, 46,
+ 47, 48, -1, -1, -1, -1, 53, 54, 55, 56,
+ 57, 58, -1, 60, -1, -1, -1, -1, -1, 66,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, 85, 86, -1,
- 88, 89, 5, -1, 7, 8, 9, 10, 11, 12,
- 13, -1, 15, 16, 17, 18, 19, -1, 21, 22,
- 23, -1, -1, -1, 27, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
- 43, 44, 45, 46, 47, 48, -1, -1, -1, -1,
- 53, 54, 55, 56, 57, 58, -1, 60, -1, -1,
- -1, -1, -1, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, 85, 86, -1, 88, 89, 5, -1, 7,
- 8, 9, 10, 11, 12, 13, -1, 15, 16, 17,
- 18, 19, -1, 21, 22, 23, -1, -1, -1, 27,
+ -1, 78, 79, 80, -1, -1, -1, -1, 85, 86,
+ -1, 88, 89, 5, -1, 7, 8, 9, 10, 11,
+ 12, 13, -1, 15, 16, 17, 18, 19, -1, 21,
+ 22, 23, -1, -1, -1, 27, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
+ -1, 43, 44, 45, 46, 47, 48, -1, -1, -1,
+ -1, 53, 54, 55, 56, 57, 58, -1, 60, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, 85, 86, -1, 88, 89, 5, -1,
+ 7, 8, 9, 10, 11, 12, 13, -1, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, -1, -1, -1,
+ 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, 43, 44, 45, 46,
+ 47, 48, -1, -1, -1, -1, 53, 54, 55, 56,
+ 57, 58, -1, 60, -1, -1, -1, -1, -1, 66,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 43, 44, 45, 46, 47,
- 48, -1, -1, -1, -1, 53, 54, 55, 56, 57,
- 58, -1, 60, -1, -1, -1, -1, -1, 66, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, 85, 86,
+ -1, 88, 89, 5, -1, 7, 8, 9, 10, 11,
+ 12, 13, -1, 15, 16, 17, 18, 19, -1, 21,
+ 22, 23, -1, -1, -1, 27, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
+ -1, 43, 44, 45, 46, 47, 48, -1, -1, -1,
+ -1, 53, 54, 55, 56, 57, 58, -1, 60, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, 85, 86, -1, 88, 89, 5, -1,
+ 7, 8, 9, 10, 11, 12, 13, -1, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, -1, -1, -1,
+ 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, 43, 44, 45, 46,
+ 47, 48, -1, -1, -1, -1, 53, 54, 55, 56,
+ 57, 58, -1, 60, -1, -1, -1, -1, -1, 66,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, 85, 86, -1,
- 88, 89, 5, -1, 7, 8, 9, 10, 11, 12,
- 13, -1, 15, 16, 17, 18, 19, -1, 21, 22,
- 23, -1, -1, -1, 27, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
- 43, 44, 45, 46, 47, 48, -1, -1, -1, -1,
- 53, 54, 55, 56, 57, 58, -1, 60, -1, -1,
- -1, -1, -1, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, 85, 86, -1, 88, 89, 5, -1, 7,
- 8, 9, 10, 11, 12, 13, -1, 15, 16, 17,
- 18, 19, -1, 21, 22, 23, -1, -1, -1, 27,
+ -1, 78, 79, 80, -1, -1, -1, -1, 85, 86,
+ -1, 88, 89, 5, -1, 7, 8, 9, 10, 11,
+ 12, 13, -1, 15, 16, 17, 18, 19, -1, 21,
+ 22, 23, -1, -1, -1, 27, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
+ -1, 43, 44, 45, 46, 47, 48, -1, -1, -1,
+ -1, 53, 54, 55, 56, 57, 58, -1, 60, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, 85, 86, -1, 88, 89, 5, -1,
+ 7, 8, 9, 10, 11, 12, 13, -1, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, -1, -1, -1,
+ 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, 43, 44, 45, 46,
+ 47, 48, -1, -1, -1, -1, 53, 54, 55, 56,
+ 57, 58, -1, 60, -1, -1, -1, -1, -1, 66,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, 43, 44, 45, 46, 47,
- 48, -1, -1, -1, -1, 53, 54, 55, 56, 57,
- 58, -1, 60, -1, -1, -1, -1, -1, 66, 6,
- -1, -1, -1, -1, -1, -1, -1, 14, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, 85, 86, -1,
- -1, 89, -1, 30, 31, 32, 33, -1, -1, -1,
- 37, -1, 39, -1, -1, 42, -1, -1, -1, -1,
- -1, -1, 49, 50, 51, 52, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 63, 64, 65, -1,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, -1, 357, -1, 359, 82, 83, 84, 363, -1,
- 87, 88, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 379, 380, -1, -1, -1, -1,
- -1, -1, 387, 388, -1, -1, -1, -1, -1, 42,
- -1, 396, -1, -1, -1, 400, 49, 50, 51, 52,
+ -1, 78, 79, 80, -1, -1, -1, -1, 85, 86,
+ -1, 88, 89, 5, -1, 7, 8, 9, 10, 11,
+ 12, 13, -1, 15, 16, 17, 18, 19, -1, 21,
+ 22, 23, -1, -1, -1, 27, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
+ -1, 43, 44, 45, 46, 47, 48, -1, -1, -1,
+ -1, 53, 54, 55, 56, 57, 58, -1, 60, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, 85, 86, -1, 88, 89, 5, -1,
+ 7, 8, 9, 10, 11, 12, 13, -1, 15, 16,
+ 17, 18, 19, -1, 21, 22, 23, -1, -1, -1,
+ 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, 43, 44, 45, 46,
+ 47, 48, -1, -1, -1, -1, 53, 54, 55, 56,
+ 57, 58, -1, 60, -1, -1, -1, -1, -1, 66,
+ 6, -1, -1, -1, -1, -1, -1, -1, 14, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, 85, 86,
+ -1, -1, 89, -1, 30, 31, 32, 33, -1, -1,
+ -1, 37, -1, 39, -1, -1, 42, -1, -1, -1,
+ -1, -1, -1, 49, 50, 51, 52, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 63, 64, 65,
+ -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, -1, 358, -1, 360, 82, 83, 84, 364,
+ -1, 87, 88, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 380, 381, -1, -1, -1,
+ -1, -1, -1, 388, 389, -1, -1, -1, -1, -1,
+ 42, -1, 397, -1, -1, -1, 401, 49, 50, 51,
+ 52, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 418, 419, -1, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, -1, -1, -1, 42,
+ 82, 83, 84, -1, -1, 87, 49, 50, 51, 52,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 417, 418, -1, 68, 69, 70, 71, 72,
+ -1, -1, -1, -1, -1, 68, 69, -1, 71, 72,
73, 74, 75, 76, 77, -1, -1, -1, 42, 82,
83, 84, -1, -1, 87, 49, 50, 51, 52, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 68, 69, -1, 71, 72, 73,
+ -1, -1, -1, -1, -1, 69, -1, 71, 72, 73,
74, 75, 76, 77, -1, -1, -1, 42, 82, 83,
84, -1, -1, 87, 49, 50, 51, 52, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 69, -1, 71, 72, 73, 74,
- 75, 76, 77, -1, -1, -1, 42, 82, 83, 84,
- -1, -1, 87, 49, 50, 51, 52, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
- 76, 77, -1, -1, -1, -1, 82, 83, 84, -1,
- -1, 87
+ -1, -1, -1, -1, -1, -1, 71, 72, 73, 74,
+ 75, 76, 77, -1, -1, -1, -1, 82, 83, 84,
+ -1, -1, 87
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -859,7 +859,7 @@ static const yytype_uint8 yystos[] =
66, 78, 79, 80, 85, 86, 89, 93, 101, 103,
104, 133, 134, 135, 138, 139, 140, 141, 142, 143,
144, 149, 150, 151, 152, 153, 154, 15, 119, 15,
- 125, 14, 132, 125, 94, 6, 133, 143, 143, 15,
+ 125, 15, 132, 125, 94, 6, 133, 143, 143, 15,
20, 93, 150, 155, 155, 155, 155, 155, 155, 155,
89, 143, 123, 123, 89, 89, 89, 89, 58, 89,
150, 89, 89, 93, 143, 89, 89, 89, 93, 143,
@@ -870,28 +870,28 @@ static const yytype_uint8 yystos[] =
67, 3, 5, 89, 42, 49, 50, 51, 52, 68,
69, 71, 72, 73, 74, 75, 76, 77, 82, 83,
84, 87, 89, 3, 5, 3, 5, 3, 93, 18,
- 126, 15, 126, 99, 6, 146, 89, 134, 93, 126,
- 94, 94, 94, 94, 94, 94, 89, 94, 94, 88,
- 88, 133, 133, 147, 155, 134, 89, 89, 4, 14,
- 146, 88, 133, 61, 128, 5, 88, 93, 133, 111,
- 133, 133, 133, 133, 133, 133, 133, 133, 143, 133,
- 133, 88, 133, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 3, 5,
- 16, 89, 137, 150, 88, 133, 133, 133, 133, 133,
- 133, 61, 127, 15, 127, 4, 147, 88, 136, 127,
- 110, 133, 111, 112, 133, 111, 114, 148, 150, 101,
- 109, 112, 113, 133, 94, 95, 112, 88, 67, 88,
- 133, 88, 133, 88, 133, 4, 88, 18, 133, 5,
- 14, 6, 88, 70, 133, 133, 88, 133, 89, 88,
- 14, 6, 14, 6, 14, 18, 14, 93, 129, 146,
- 129, 88, 146, 93, 88, 88, 88, 88, 89, 88,
- 14, 112, 112, 88, 88, 88, 88, 6, 133, 4,
- 143, 14, 6, 88, 147, 4, 4, 4, 14, 108,
- 108, 3, 97, 97, 112, 97, 110, 88, 88, 97,
- 6, 4, 88, 97, 97, 98, 34, 35, 102, 102,
- 88, 105, 14, 97, 97, 105, 105, 99, 97, 89,
- 97, 108, 105, 4, 112, 105, 113, 88, 88, 97,
- 97, 102
+ 126, 14, 15, 126, 99, 6, 146, 89, 134, 93,
+ 126, 94, 94, 94, 94, 94, 94, 89, 94, 94,
+ 88, 88, 133, 133, 147, 155, 134, 89, 89, 4,
+ 14, 146, 88, 133, 61, 128, 5, 88, 93, 133,
+ 111, 133, 133, 133, 133, 133, 133, 133, 133, 143,
+ 133, 133, 88, 133, 143, 143, 143, 143, 143, 143,
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 3,
+ 5, 16, 89, 137, 150, 88, 133, 133, 133, 133,
+ 133, 133, 61, 127, 15, 127, 4, 147, 88, 136,
+ 127, 110, 133, 111, 112, 133, 111, 114, 148, 150,
+ 101, 109, 112, 113, 133, 94, 95, 112, 88, 67,
+ 88, 133, 88, 133, 88, 133, 4, 88, 18, 133,
+ 5, 14, 6, 88, 70, 133, 133, 88, 133, 89,
+ 88, 14, 6, 14, 6, 14, 18, 14, 93, 129,
+ 146, 129, 88, 146, 93, 88, 88, 88, 88, 89,
+ 88, 14, 112, 112, 88, 88, 88, 88, 6, 133,
+ 4, 143, 14, 6, 88, 147, 4, 4, 4, 14,
+ 108, 108, 3, 97, 97, 112, 97, 110, 88, 88,
+ 97, 6, 4, 88, 97, 97, 98, 34, 35, 102,
+ 102, 88, 105, 14, 97, 97, 105, 105, 99, 97,
+ 89, 97, 108, 105, 4, 112, 105, 113, 88, 88,
+ 97, 97, 102
};
typedef enum {
diff --git a/perly.y b/perly.y
index df5cf462f8..0616692470 100644
--- a/perly.y
+++ b/perly.y
@@ -633,16 +633,22 @@ subbody : block { $$ = $1; }
}
;
-package : PACKAGE WORD ';'
+package : PACKAGE WORD WORD ';'
{
+/* Since no one seem to understand or use the MAD stuff, but Larry implies
+ * it shouldn't be removed, it's just commented out, and someone who
+ * understands it can come along later and fix it up.
#ifdef MAD
- $$ = package($2);
- token_getmad($1,$$,'o');
- token_getmad($3,$$,';');
+ (yyval.opval) = package((ps[(2) - (3)].val.opval));
+ token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
+ token_getmad((ps[(3) - (3)].val.i_tkval),(yyval.opval),';');
#else
- package($2);
+*/
+ package($3);
+ if ($2) {
+ package_version($2);
+ }
$$ = (OP*)NULL;
-#endif
}
;
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index bcf2b78009..fd8aa88669 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -4080,8 +4080,10 @@ Examples:
The same template may generally also be used in unpack().
+=item package NAMESPACE VERSION
+X<package> X<module> X<namespace> X<version>
+
=item package NAMESPACE
-X<package> X<module> X<namespace>
Declares the compilation unit as being in the given namespace. The scope
of the package declaration is from the declaration itself through the end
@@ -4099,6 +4101,11 @@ If the package name is null, the C<main> package as assumed. That is,
C<$::sail> is equivalent to C<$main::sail> (as well as to C<$main'sail>,
still seen in older code).
+If VERSION is provided, C<package> also sets the C<$VERSION> variable in the
+given namespace. VERSION must be be a numeric literal or v-string; it is
+parsed exactly the same way as a VERSION argument to C<use MODULE VERSION>.
+C<$VERSION> should only be set once per package.
+
See L<perlmod/"Packages"> for more information about packages, modules,
and classes. See L<perlsub> for other scoping issues.
diff --git a/proto.h b/proto.h
index 3f21420e3f..983f953023 100644
--- a/proto.h
+++ b/proto.h
@@ -2329,6 +2329,11 @@ PERL_CALLCONV void Perl_package(pTHX_ OP* o)
assert(o)
#endif
+PERL_CALLCONV void Perl_package_version(pTHX_ OP* v)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PACKAGE_VERSION \
+ assert(v)
+
PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name)
__attribute__nonnull__(pTHX_1);
diff --git a/t/comp/package.t b/t/comp/package.t
index 35cd40ccb5..fb07f13bd8 100644
--- a/t/comp/package.t
+++ b/t/comp/package.t
@@ -1,6 +1,6 @@
#!./perl
-print "1..14\n";
+print "1..18\n";
$blurfl = 123;
$foo = 3;
@@ -71,3 +71,22 @@ package bug32562;
print __PACKAGE__ eq 'bug32562' ? "ok 13\n" : "not ok 13\n";
print eval '__PACKAGE__' eq 'bug32562' ? "ok 14\n" : "not ok 14\n";
+
+# test: package NAME VERSION
+
+my @variations = (
+ '1.00',
+ '1.00_01',
+ 'v1.2.3',
+ 'v1.2_3',
+);
+
+my $test_count = 15;
+
+for my $v ( @variations ) {
+ my $ok = eval "package withversion $v; $v eq \$withversion::VERSION";
+ print $ok ? "ok $test_count\n" : "not ok $test_count\n";
+ $test_count++;
+}
+
+
diff --git a/toke.c b/toke.c
index de163fb5de..72bbc2f341 100644
--- a/toke.c
+++ b/toke.c
@@ -6410,6 +6410,7 @@ Perl_yylex(pTHX)
case KEY_package:
s = force_word(s,WORD,FALSE,TRUE,FALSE);
+ s = force_version(s, FALSE);
OPERATOR(PACKAGE);
case KEY_pipe: