diff options
author | David Golden <dagolden@cpan.org> | 2009-10-06 06:48:48 -0400 |
---|---|---|
committer | David Golden <dagolden@cpan.org> | 2009-10-06 12:41:09 -0400 |
commit | 6fa4d285bff5644bebb95aff09143322042282cc (patch) | |
tree | 3e353ca1e3a17967f6dd473bcb49a7269c880355 /perly.tab | |
parent | cc4c9faad0767bbb62e32c96638b5ce02dde234e (diff) | |
download | perl-6fa4d285bff5644bebb95aff09143322042282cc.tar.gz |
Add 'package NAME VERSION' syntax
This patch adds support for setting the $VERSION of a namespace
when the namespace is declared with 'package'. It eliminates the
need for 'our $VERSION = ...' and similar constructs. E.g.
package Foo::Bar 1.23;
# $Foo::Bar::VERSION == 1.23
There are several advantages to this:
* VERSION is parsed in *exactly* the same way as 'use NAME VERSION'
* $VERSION is set at compile time
* Eliminates '$VERSION = ...' and 'eval $VERSION' clutter
* As it requires VERSION to be a numeric literal or v-string
literal, it can be statically parsed by toolchain modules
without 'eval' the way MM->parse_version does for '$VERSION = ...'
* Alpha versions with underscores do not need to be quoted; static
parsing will preserve the underscore, but during compilation, Perl
will remove underscores as it does for all numeric literals
During development of this, there was discussion on #corehackers and
elsewhere that this should also allow other metadata to be set such as
"status" (stable/alpha) or "author/authority". On reflection, those
metadata are not very well defined yet and likely should never be
encoded into Perl core parsing so they can be freely changed in the
future. (They could perhaps be achieved via a comment on the same line
as 'package NAME VERSION'.)
Version numbers, however, already have a very specific definition and
use defined in the core through 'use NAME VERSION'. This patch merely
provides appropriate symmetry for setting $VERSION with the exact same
parsing and semantics as 'use'.
It does not break old code with only 'package NAME', but code that
uses 'package NAME VERSION' will need to be restricted to perl 5.11.X.
This is analogous to the change to open() from two-args to three-args.
Users requiring the latest Perl will benefit, and perhaps N years from
now it will become standard practice when Perl 5.12 is targeted the
way that 5.6 is today.
The patch does not prevent 'package NAME VERSION' from being used
multiple times for the same package with different version numbers, but
nothing prevents $VERSION from being modified arbitrarily at runtime,
either, so I see no urgen reason to add limitations or warnings so
long as Perl uses a global $VERSION variable for package version
numbers.
I am posting this patch to the p5p list for discussion and review. If
there seems to be general assent (or lack of dissent), I will go ahead
and commit the patch to blead.
Diffstat (limited to 'perly.tab')
-rw-r--r-- | perly.tab | 1132 |
1 files changed, 566 insertions, 566 deletions
@@ -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 { |