From: Alexandre Petit-Bianco Date: Tue, 16 Feb 1999 11:49:46 +0000 (+0000) Subject: [multiple changes] X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0b4d333e01ce1e80d90dd6ccfd99c92acec2a62e;p=gcc.git [multiple changes] Thu Jan 28 11:50:11 1999 Alexandre Petit-Bianco * jcf-parse.c (jcf_parse): Don't parse the same class file twice. * parse.y (patch_cast): Allow a boolean to be cast into a boolean. Wed Jan 27 10:19:29 1999 Alexandre Petit-Bianco * parse.y: (class_declaration:): Fixed indentation. (class_member_declaration:): Extra `;' after field declaration now accepted. (interface_declaration:): Removed debug messages in error reports. (patch_binop): Nodes created and returned inherit the orignal node's COMPOUND_ASSIGN_P flag value. (patch_cast): Fix cast from char to floating point. From-SVN: r25244 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6b4035c17e8..1912ea723b8 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -154,6 +154,22 @@ Thu Jan 28 14:45:39 1999 Per Bothner Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR. * jcf-write.c (generate_bytecode_insns): Likewise. +Thu Jan 28 11:50:11 1999 Alexandre Petit-Bianco + + * jcf-parse.c (jcf_parse): Don't parse the same class file twice. + * parse.y (patch_cast): Allow a boolean to be cast into a + boolean. + +Wed Jan 27 10:19:29 1999 Alexandre Petit-Bianco + + * parse.y: (class_declaration:): Fixed indentation. + (class_member_declaration:): Extra `;' after field declaration now + accepted. + (interface_declaration:): Removed debug messages in error reports. + (patch_binop): Nodes created and returned inherit the orignal + node's COMPOUND_ASSIGN_P flag value. + (patch_cast): Fix cast from char to floating point. + Mon Jan 25 17:39:19 1999 Andrew Haley * except.c, java-except.h (expand_resume_after_catch): new diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index 23f56a684b6..3dcb25b9c66 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -605,6 +605,8 @@ jcf_parse (jcf) if (! quiet_flag && TYPE_NAME (current_class)) fprintf (stderr, " class %s", IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (current_class)))); + if (CLASS_LOADED_P (current_class)) + return; CLASS_LOADED_P (current_class) = 1; for (i = 1; i < JPOOL_SIZE(jcf); i++) diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 0bc95693b62..bdecb2e2a3d 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -389,7 +389,7 @@ typedef union { -#define YYFINAL 774 +#define YYFINAL 775 #define YYFLAG -32768 #define YYNTBASE 110 @@ -445,48 +445,48 @@ static const short yyprhs[] = { 0, 139, 141, 143, 145, 147, 149, 152, 153, 161, 162, 169, 173, 176, 180, 185, 186, 189, 193, 196, 197, 200, 203, 205, 209, 213, 216, 220, 222, 225, 227, - 229, 231, 233, 235, 237, 239, 241, 245, 250, 252, - 256, 260, 262, 266, 270, 275, 277, 281, 284, 288, - 292, 294, 296, 297, 301, 304, 308, 312, 317, 322, - 325, 329, 332, 336, 339, 343, 348, 352, 356, 360, - 362, 366, 370, 373, 377, 380, 384, 385, 388, 391, - 393, 397, 401, 403, 406, 408, 411, 415, 417, 418, - 422, 425, 429, 433, 438, 441, 445, 449, 454, 459, - 465, 473, 480, 482, 484, 485, 490, 491, 497, 498, - 504, 505, 512, 516, 521, 524, 528, 531, 535, 538, - 542, 544, 547, 549, 551, 553, 555, 557, 560, 563, - 566, 570, 575, 577, 581, 585, 588, 592, 594, 596, - 598, 601, 603, 605, 607, 610, 613, 617, 619, 621, - 623, 625, 627, 629, 631, 633, 635, 637, 639, 641, - 643, 645, 647, 649, 651, 653, 655, 657, 659, 661, - 663, 666, 669, 672, 675, 678, 681, 684, 687, 691, - 696, 701, 707, 712, 718, 725, 733, 740, 742, 744, - 746, 748, 750, 752, 754, 760, 763, 767, 772, 780, - 788, 789, 793, 798, 801, 805, 811, 814, 818, 822, - 827, 829, 832, 835, 837, 840, 844, 847, 850, 854, - 857, 862, 865, 868, 872, 877, 880, 882, 890, 898, - 905, 909, 915, 920, 928, 935, 938, 941, 945, 948, - 949, 951, 953, 956, 957, 959, 961, 965, 969, 972, - 976, 979, 983, 986, 990, 993, 997, 1000, 1004, 1007, - 1011, 1015, 1018, 1022, 1028, 1034, 1037, 1042, 1046, 1048, - 1052, 1056, 1061, 1064, 1066, 1069, 1072, 1077, 1080, 1084, - 1089, 1092, 1095, 1097, 1099, 1101, 1103, 1107, 1109, 1111, - 1113, 1115, 1119, 1123, 1127, 1131, 1135, 1139, 1143, 1147, - 1153, 1158, 1165, 1171, 1176, 1182, 1188, 1195, 1199, 1203, - 1208, 1214, 1217, 1221, 1225, 1229, 1231, 1235, 1239, 1243, - 1247, 1252, 1257, 1262, 1267, 1271, 1275, 1277, 1280, 1284, - 1288, 1291, 1294, 1298, 1302, 1306, 1310, 1313, 1317, 1322, - 1328, 1335, 1341, 1348, 1353, 1358, 1363, 1368, 1372, 1377, - 1381, 1386, 1388, 1390, 1392, 1394, 1397, 1400, 1402, 1404, - 1407, 1410, 1412, 1415, 1418, 1421, 1424, 1427, 1430, 1432, - 1435, 1438, 1440, 1443, 1446, 1452, 1457, 1462, 1468, 1473, - 1476, 1482, 1487, 1493, 1495, 1499, 1503, 1507, 1511, 1515, - 1519, 1521, 1525, 1529, 1533, 1537, 1539, 1543, 1547, 1551, - 1555, 1559, 1563, 1565, 1569, 1573, 1577, 1581, 1585, 1589, - 1593, 1597, 1601, 1605, 1607, 1611, 1615, 1619, 1623, 1625, - 1629, 1633, 1635, 1639, 1643, 1645, 1649, 1653, 1655, 1659, - 1663, 1665, 1669, 1673, 1675, 1681, 1686, 1690, 1696, 1698, - 1700, 1704, 1708, 1710, 1712, 1714, 1716, 1718, 1720 + 229, 231, 233, 235, 238, 240, 242, 244, 248, 253, + 255, 259, 263, 265, 269, 273, 278, 280, 284, 287, + 291, 295, 297, 299, 300, 304, 307, 311, 315, 320, + 325, 328, 332, 335, 339, 342, 346, 351, 355, 359, + 363, 365, 369, 373, 376, 380, 383, 387, 388, 391, + 394, 396, 400, 404, 406, 409, 411, 414, 418, 420, + 421, 425, 428, 432, 436, 441, 444, 448, 452, 457, + 462, 468, 476, 483, 485, 487, 488, 493, 494, 500, + 501, 507, 508, 515, 519, 524, 527, 531, 534, 538, + 541, 545, 547, 550, 552, 554, 556, 558, 560, 563, + 566, 569, 573, 578, 580, 584, 588, 591, 595, 597, + 599, 601, 604, 606, 608, 610, 613, 616, 620, 622, + 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, + 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, + 664, 666, 669, 672, 675, 678, 681, 684, 687, 690, + 694, 699, 704, 710, 715, 721, 728, 736, 743, 745, + 747, 749, 751, 753, 755, 757, 763, 766, 770, 775, + 783, 791, 792, 796, 801, 804, 808, 814, 817, 821, + 825, 830, 832, 835, 838, 840, 843, 847, 850, 853, + 857, 860, 865, 868, 871, 875, 880, 883, 885, 893, + 901, 908, 912, 918, 923, 931, 938, 941, 944, 948, + 951, 952, 954, 956, 959, 960, 962, 964, 968, 972, + 975, 979, 982, 986, 989, 993, 996, 1000, 1003, 1007, + 1010, 1014, 1018, 1021, 1025, 1031, 1037, 1040, 1045, 1049, + 1051, 1055, 1059, 1064, 1067, 1069, 1072, 1075, 1080, 1083, + 1087, 1092, 1095, 1098, 1100, 1102, 1104, 1106, 1110, 1112, + 1114, 1116, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1146, + 1150, 1156, 1161, 1168, 1174, 1179, 1185, 1191, 1198, 1202, + 1206, 1211, 1217, 1220, 1224, 1228, 1232, 1234, 1238, 1242, + 1246, 1250, 1255, 1260, 1265, 1270, 1274, 1278, 1280, 1283, + 1287, 1291, 1294, 1297, 1301, 1305, 1309, 1313, 1316, 1320, + 1325, 1331, 1338, 1344, 1351, 1356, 1361, 1366, 1371, 1375, + 1380, 1384, 1389, 1391, 1393, 1395, 1397, 1400, 1403, 1405, + 1407, 1410, 1413, 1415, 1418, 1421, 1424, 1427, 1430, 1433, + 1435, 1438, 1441, 1443, 1446, 1449, 1455, 1460, 1465, 1471, + 1476, 1479, 1485, 1490, 1496, 1498, 1502, 1506, 1510, 1514, + 1518, 1522, 1524, 1528, 1532, 1536, 1540, 1542, 1546, 1550, + 1554, 1558, 1562, 1566, 1568, 1572, 1576, 1580, 1584, 1588, + 1592, 1596, 1600, 1604, 1608, 1610, 1614, 1618, 1622, 1626, + 1628, 1632, 1636, 1638, 1642, 1646, 1648, 1652, 1656, 1658, + 1662, 1666, 1668, 1672, 1676, 1678, 1684, 1689, 1693, 1699, + 1701, 1703, 1707, 1711, 1713, 1715, 1717, 1719, 1721, 1723 }; static const short yyrhs[] = { 123, @@ -513,156 +513,156 @@ static const short yyrhs[] = { 123, 1, 0, 117, 0, 137, 100, 117, 0, 137, 100, 1, 0, 95, 96, 0, 95, 139, 96, 0, 140, 0, 139, 140, 0, 141, 0, 156, 0, 158, 0, - 178, 0, 142, 0, 147, 0, 132, 0, 165, 0, - 112, 143, 99, 0, 131, 112, 143, 99, 0, 144, - 0, 143, 100, 144, 0, 143, 100, 1, 0, 145, - 0, 145, 92, 146, 0, 145, 92, 1, 0, 145, - 92, 146, 1, 0, 122, 0, 145, 97, 98, 0, - 122, 1, 0, 145, 97, 1, 0, 145, 98, 1, - 0, 263, 0, 176, 0, 0, 149, 148, 155, 0, - 149, 1, 0, 112, 150, 153, 0, 59, 150, 153, - 0, 131, 112, 150, 153, 0, 131, 59, 150, 153, - 0, 112, 1, 0, 131, 112, 1, 0, 59, 1, - 0, 131, 59, 1, 0, 131, 1, 0, 122, 93, - 94, 0, 122, 93, 151, 94, 0, 150, 97, 98, - 0, 122, 93, 1, 0, 150, 97, 1, 0, 152, - 0, 151, 100, 152, 0, 151, 100, 1, 0, 112, - 145, 0, 131, 112, 145, 0, 112, 1, 0, 131, - 112, 1, 0, 0, 53, 154, 0, 53, 1, 0, - 116, 0, 154, 100, 116, 0, 154, 100, 1, 0, - 178, 0, 178, 99, 0, 99, 0, 157, 178, 0, - 157, 178, 99, 0, 44, 0, 0, 160, 159, 162, - 0, 161, 153, 0, 131, 161, 153, 0, 120, 93, - 94, 0, 120, 93, 151, 94, 0, 179, 180, 0, - 179, 163, 180, 0, 179, 181, 180, 0, 179, 163, - 181, 180, 0, 164, 93, 94, 99, 0, 164, 93, - 232, 94, 99, 0, 119, 101, 65, 93, 232, 94, - 99, 0, 119, 101, 65, 93, 94, 99, 0, 76, - 0, 65, 0, 0, 61, 122, 166, 171, 0, 0, - 131, 61, 122, 167, 171, 0, 0, 61, 122, 170, - 168, 171, 0, 0, 131, 61, 122, 170, 169, 171, - 0, 61, 122, 1, 0, 131, 61, 122, 1, 0, - 63, 117, 0, 170, 100, 117, 0, 63, 1, 0, - 170, 100, 1, 0, 95, 96, 0, 95, 172, 96, - 0, 173, 0, 172, 173, 0, 174, 0, 175, 0, - 132, 0, 165, 0, 142, 0, 149, 99, 0, 149, - 1, 0, 95, 96, 0, 95, 177, 96, 0, 95, - 177, 100, 96, 0, 146, 0, 177, 100, 146, 0, - 177, 100, 1, 0, 95, 96, 0, 179, 181, 180, - 0, 95, 0, 96, 0, 182, 0, 181, 182, 0, - 183, 0, 185, 0, 132, 0, 184, 99, 0, 112, - 143, 0, 131, 112, 143, 0, 187, 0, 190, 0, - 194, 0, 195, 0, 206, 0, 210, 0, 187, 0, - 191, 0, 196, 0, 207, 0, 211, 0, 178, 0, - 188, 0, 192, 0, 197, 0, 209, 0, 217, 0, - 218, 0, 219, 0, 221, 0, 220, 0, 223, 0, - 99, 0, 122, 88, 0, 189, 185, 0, 122, 1, - 0, 189, 186, 0, 193, 99, 0, 1, 99, 0, - 1, 95, 0, 1, 96, 0, 164, 93, 1, 0, - 164, 93, 94, 1, 0, 164, 93, 232, 1, 0, - 164, 93, 232, 94, 1, 0, 119, 101, 65, 1, - 0, 119, 101, 65, 93, 1, 0, 119, 101, 65, - 93, 232, 1, 0, 119, 101, 65, 93, 232, 94, - 1, 0, 119, 101, 65, 93, 94, 1, 0, 260, - 0, 244, 0, 245, 0, 241, 0, 242, 0, 238, - 0, 230, 0, 48, 93, 263, 94, 185, 0, 48, - 1, 0, 48, 93, 1, 0, 48, 93, 263, 1, - 0, 48, 93, 263, 94, 186, 56, 185, 0, 48, - 93, 263, 94, 186, 56, 186, 0, 0, 199, 198, - 200, 0, 68, 93, 263, 94, 0, 68, 1, 0, - 68, 93, 1, 0, 68, 93, 263, 94, 1, 0, - 95, 96, 0, 95, 203, 96, 0, 95, 201, 96, - 0, 95, 201, 203, 96, 0, 202, 0, 201, 202, - 0, 203, 181, 0, 204, 0, 203, 204, 0, 62, - 264, 88, 0, 47, 88, 0, 62, 1, 0, 62, - 264, 1, 0, 47, 1, 0, 66, 93, 263, 94, - 0, 205, 185, 0, 66, 1, 0, 66, 93, 1, - 0, 66, 93, 263, 1, 0, 205, 186, 0, 51, - 0, 208, 185, 66, 93, 263, 94, 99, 0, 213, - 99, 263, 99, 215, 94, 185, 0, 213, 99, 99, - 215, 94, 185, 0, 213, 99, 1, 0, 213, 99, - 263, 99, 1, 0, 213, 99, 99, 1, 0, 213, - 99, 263, 99, 215, 94, 186, 0, 213, 99, 99, - 215, 94, 186, 0, 71, 93, 0, 71, 1, 0, - 71, 93, 1, 0, 212, 214, 0, 0, 216, 0, - 184, 0, 216, 1, 0, 0, 216, 0, 193, 0, - 216, 100, 193, 0, 216, 100, 1, 0, 54, 99, - 0, 54, 122, 99, 0, 54, 1, 0, 54, 122, - 1, 0, 73, 99, 0, 73, 122, 99, 0, 73, - 1, 0, 73, 122, 1, 0, 58, 99, 0, 58, - 263, 99, 0, 58, 1, 0, 58, 263, 1, 0, - 49, 263, 99, 0, 49, 1, 0, 49, 263, 1, - 0, 222, 93, 263, 94, 178, 0, 222, 93, 263, - 94, 1, 0, 222, 1, 0, 222, 93, 1, 94, - 0, 222, 93, 1, 0, 44, 0, 70, 178, 224, - 0, 70, 178, 227, 0, 70, 178, 224, 227, 0, - 70, 1, 0, 225, 0, 224, 225, 0, 226, 178, - 0, 60, 93, 152, 94, 0, 60, 1, 0, 60, - 93, 1, 0, 60, 93, 1, 94, 0, 64, 178, - 0, 64, 1, 0, 229, 0, 233, 0, 111, 0, - 76, 0, 93, 263, 94, 0, 230, 0, 237, 0, - 238, 0, 239, 0, 119, 101, 67, 0, 113, 101, - 67, 0, 59, 101, 67, 0, 119, 101, 76, 0, - 93, 263, 1, 0, 119, 101, 1, 0, 113, 101, - 1, 0, 59, 101, 1, 0, 72, 116, 93, 232, - 94, 0, 72, 116, 93, 94, 0, 72, 116, 93, - 232, 94, 138, 0, 72, 116, 93, 94, 138, 0, - 231, 122, 93, 94, 0, 231, 122, 93, 94, 138, - 0, 231, 122, 93, 232, 94, 0, 231, 122, 93, - 232, 94, 138, 0, 72, 1, 99, 0, 72, 116, - 1, 0, 72, 116, 93, 1, 0, 72, 116, 93, - 232, 1, 0, 231, 1, 0, 231, 122, 1, 0, - 119, 101, 72, 0, 228, 101, 72, 0, 263, 0, - 232, 100, 263, 0, 232, 100, 1, 0, 72, 113, - 234, 0, 72, 115, 234, 0, 72, 113, 234, 236, - 0, 72, 115, 234, 236, 0, 72, 115, 236, 176, - 0, 72, 113, 236, 176, 0, 72, 1, 98, 0, - 72, 1, 97, 0, 235, 0, 234, 235, 0, 97, - 263, 98, 0, 97, 263, 1, 0, 97, 1, 0, - 97, 98, 0, 236, 97, 98, 0, 236, 97, 1, - 0, 228, 101, 122, 0, 65, 101, 122, 0, 65, - 1, 0, 119, 93, 94, 0, 119, 93, 232, 94, - 0, 228, 101, 122, 93, 94, 0, 228, 101, 122, - 93, 232, 94, 0, 65, 101, 122, 93, 94, 0, - 65, 101, 122, 93, 232, 94, 0, 65, 101, 1, - 94, 0, 65, 101, 1, 101, 0, 119, 97, 263, - 98, 0, 229, 97, 263, 98, 0, 119, 97, 1, - 0, 119, 97, 263, 1, 0, 229, 97, 1, 0, - 229, 97, 263, 1, 0, 228, 0, 119, 0, 241, - 0, 242, 0, 240, 46, 0, 240, 45, 0, 244, - 0, 245, 0, 3, 243, 0, 4, 243, 0, 246, - 0, 3, 1, 0, 4, 1, 0, 46, 243, 0, - 46, 1, 0, 45, 243, 0, 45, 1, 0, 240, - 0, 89, 243, 0, 90, 243, 0, 247, 0, 89, - 1, 0, 90, 1, 0, 93, 113, 236, 94, 243, - 0, 93, 113, 94, 243, 0, 93, 263, 94, 246, - 0, 93, 119, 236, 94, 246, 0, 93, 113, 97, - 1, 0, 93, 1, 0, 93, 113, 236, 94, 1, - 0, 93, 113, 94, 1, 0, 93, 119, 236, 94, - 1, 0, 243, 0, 248, 5, 243, 0, 248, 6, - 243, 0, 248, 7, 243, 0, 248, 5, 1, 0, - 248, 6, 1, 0, 248, 7, 1, 0, 248, 0, - 249, 3, 248, 0, 249, 4, 248, 0, 249, 3, - 1, 0, 249, 4, 1, 0, 249, 0, 250, 8, - 249, 0, 250, 9, 249, 0, 250, 10, 249, 0, - 250, 8, 1, 0, 250, 9, 1, 0, 250, 10, - 1, 0, 250, 0, 251, 20, 250, 0, 251, 18, - 250, 0, 251, 21, 250, 0, 251, 19, 250, 0, - 251, 57, 114, 0, 251, 20, 1, 0, 251, 18, - 1, 0, 251, 21, 1, 0, 251, 19, 1, 0, - 251, 57, 1, 0, 251, 0, 252, 16, 251, 0, - 252, 17, 251, 0, 252, 16, 1, 0, 252, 17, - 1, 0, 252, 0, 253, 11, 252, 0, 253, 11, - 1, 0, 253, 0, 254, 12, 253, 0, 254, 12, - 1, 0, 254, 0, 255, 13, 254, 0, 255, 13, - 1, 0, 255, 0, 256, 14, 255, 0, 256, 14, - 1, 0, 256, 0, 257, 15, 256, 0, 257, 15, - 1, 0, 257, 0, 257, 87, 263, 88, 258, 0, - 257, 87, 88, 1, 0, 257, 87, 1, 0, 257, - 87, 263, 88, 1, 0, 258, 0, 260, 0, 261, - 262, 259, 0, 261, 262, 1, 0, 119, 0, 237, - 0, 239, 0, 91, 0, 92, 0, 259, 0, 263, - 0 + 178, 0, 142, 0, 142, 99, 0, 147, 0, 132, + 0, 165, 0, 112, 143, 99, 0, 131, 112, 143, + 99, 0, 144, 0, 143, 100, 144, 0, 143, 100, + 1, 0, 145, 0, 145, 92, 146, 0, 145, 92, + 1, 0, 145, 92, 146, 1, 0, 122, 0, 145, + 97, 98, 0, 122, 1, 0, 145, 97, 1, 0, + 145, 98, 1, 0, 263, 0, 176, 0, 0, 149, + 148, 155, 0, 149, 1, 0, 112, 150, 153, 0, + 59, 150, 153, 0, 131, 112, 150, 153, 0, 131, + 59, 150, 153, 0, 112, 1, 0, 131, 112, 1, + 0, 59, 1, 0, 131, 59, 1, 0, 131, 1, + 0, 122, 93, 94, 0, 122, 93, 151, 94, 0, + 150, 97, 98, 0, 122, 93, 1, 0, 150, 97, + 1, 0, 152, 0, 151, 100, 152, 0, 151, 100, + 1, 0, 112, 145, 0, 131, 112, 145, 0, 112, + 1, 0, 131, 112, 1, 0, 0, 53, 154, 0, + 53, 1, 0, 116, 0, 154, 100, 116, 0, 154, + 100, 1, 0, 178, 0, 178, 99, 0, 99, 0, + 157, 178, 0, 157, 178, 99, 0, 44, 0, 0, + 160, 159, 162, 0, 161, 153, 0, 131, 161, 153, + 0, 120, 93, 94, 0, 120, 93, 151, 94, 0, + 179, 180, 0, 179, 163, 180, 0, 179, 181, 180, + 0, 179, 163, 181, 180, 0, 164, 93, 94, 99, + 0, 164, 93, 232, 94, 99, 0, 119, 101, 65, + 93, 232, 94, 99, 0, 119, 101, 65, 93, 94, + 99, 0, 76, 0, 65, 0, 0, 61, 122, 166, + 171, 0, 0, 131, 61, 122, 167, 171, 0, 0, + 61, 122, 170, 168, 171, 0, 0, 131, 61, 122, + 170, 169, 171, 0, 61, 122, 1, 0, 131, 61, + 122, 1, 0, 63, 117, 0, 170, 100, 117, 0, + 63, 1, 0, 170, 100, 1, 0, 95, 96, 0, + 95, 172, 96, 0, 173, 0, 172, 173, 0, 174, + 0, 175, 0, 132, 0, 165, 0, 142, 0, 149, + 99, 0, 149, 1, 0, 95, 96, 0, 95, 177, + 96, 0, 95, 177, 100, 96, 0, 146, 0, 177, + 100, 146, 0, 177, 100, 1, 0, 95, 96, 0, + 179, 181, 180, 0, 95, 0, 96, 0, 182, 0, + 181, 182, 0, 183, 0, 185, 0, 132, 0, 184, + 99, 0, 112, 143, 0, 131, 112, 143, 0, 187, + 0, 190, 0, 194, 0, 195, 0, 206, 0, 210, + 0, 187, 0, 191, 0, 196, 0, 207, 0, 211, + 0, 178, 0, 188, 0, 192, 0, 197, 0, 209, + 0, 217, 0, 218, 0, 219, 0, 221, 0, 220, + 0, 223, 0, 99, 0, 122, 88, 0, 189, 185, + 0, 122, 1, 0, 189, 186, 0, 193, 99, 0, + 1, 99, 0, 1, 95, 0, 1, 96, 0, 164, + 93, 1, 0, 164, 93, 94, 1, 0, 164, 93, + 232, 1, 0, 164, 93, 232, 94, 1, 0, 119, + 101, 65, 1, 0, 119, 101, 65, 93, 1, 0, + 119, 101, 65, 93, 232, 1, 0, 119, 101, 65, + 93, 232, 94, 1, 0, 119, 101, 65, 93, 94, + 1, 0, 260, 0, 244, 0, 245, 0, 241, 0, + 242, 0, 238, 0, 230, 0, 48, 93, 263, 94, + 185, 0, 48, 1, 0, 48, 93, 1, 0, 48, + 93, 263, 1, 0, 48, 93, 263, 94, 186, 56, + 185, 0, 48, 93, 263, 94, 186, 56, 186, 0, + 0, 199, 198, 200, 0, 68, 93, 263, 94, 0, + 68, 1, 0, 68, 93, 1, 0, 68, 93, 263, + 94, 1, 0, 95, 96, 0, 95, 203, 96, 0, + 95, 201, 96, 0, 95, 201, 203, 96, 0, 202, + 0, 201, 202, 0, 203, 181, 0, 204, 0, 203, + 204, 0, 62, 264, 88, 0, 47, 88, 0, 62, + 1, 0, 62, 264, 1, 0, 47, 1, 0, 66, + 93, 263, 94, 0, 205, 185, 0, 66, 1, 0, + 66, 93, 1, 0, 66, 93, 263, 1, 0, 205, + 186, 0, 51, 0, 208, 185, 66, 93, 263, 94, + 99, 0, 213, 99, 263, 99, 215, 94, 185, 0, + 213, 99, 99, 215, 94, 185, 0, 213, 99, 1, + 0, 213, 99, 263, 99, 1, 0, 213, 99, 99, + 1, 0, 213, 99, 263, 99, 215, 94, 186, 0, + 213, 99, 99, 215, 94, 186, 0, 71, 93, 0, + 71, 1, 0, 71, 93, 1, 0, 212, 214, 0, + 0, 216, 0, 184, 0, 216, 1, 0, 0, 216, + 0, 193, 0, 216, 100, 193, 0, 216, 100, 1, + 0, 54, 99, 0, 54, 122, 99, 0, 54, 1, + 0, 54, 122, 1, 0, 73, 99, 0, 73, 122, + 99, 0, 73, 1, 0, 73, 122, 1, 0, 58, + 99, 0, 58, 263, 99, 0, 58, 1, 0, 58, + 263, 1, 0, 49, 263, 99, 0, 49, 1, 0, + 49, 263, 1, 0, 222, 93, 263, 94, 178, 0, + 222, 93, 263, 94, 1, 0, 222, 1, 0, 222, + 93, 1, 94, 0, 222, 93, 1, 0, 44, 0, + 70, 178, 224, 0, 70, 178, 227, 0, 70, 178, + 224, 227, 0, 70, 1, 0, 225, 0, 224, 225, + 0, 226, 178, 0, 60, 93, 152, 94, 0, 60, + 1, 0, 60, 93, 1, 0, 60, 93, 1, 94, + 0, 64, 178, 0, 64, 1, 0, 229, 0, 233, + 0, 111, 0, 76, 0, 93, 263, 94, 0, 230, + 0, 237, 0, 238, 0, 239, 0, 119, 101, 67, + 0, 113, 101, 67, 0, 59, 101, 67, 0, 119, + 101, 76, 0, 93, 263, 1, 0, 119, 101, 1, + 0, 113, 101, 1, 0, 59, 101, 1, 0, 72, + 116, 93, 232, 94, 0, 72, 116, 93, 94, 0, + 72, 116, 93, 232, 94, 138, 0, 72, 116, 93, + 94, 138, 0, 231, 122, 93, 94, 0, 231, 122, + 93, 94, 138, 0, 231, 122, 93, 232, 94, 0, + 231, 122, 93, 232, 94, 138, 0, 72, 1, 99, + 0, 72, 116, 1, 0, 72, 116, 93, 1, 0, + 72, 116, 93, 232, 1, 0, 231, 1, 0, 231, + 122, 1, 0, 119, 101, 72, 0, 228, 101, 72, + 0, 263, 0, 232, 100, 263, 0, 232, 100, 1, + 0, 72, 113, 234, 0, 72, 115, 234, 0, 72, + 113, 234, 236, 0, 72, 115, 234, 236, 0, 72, + 115, 236, 176, 0, 72, 113, 236, 176, 0, 72, + 1, 98, 0, 72, 1, 97, 0, 235, 0, 234, + 235, 0, 97, 263, 98, 0, 97, 263, 1, 0, + 97, 1, 0, 97, 98, 0, 236, 97, 98, 0, + 236, 97, 1, 0, 228, 101, 122, 0, 65, 101, + 122, 0, 65, 1, 0, 119, 93, 94, 0, 119, + 93, 232, 94, 0, 228, 101, 122, 93, 94, 0, + 228, 101, 122, 93, 232, 94, 0, 65, 101, 122, + 93, 94, 0, 65, 101, 122, 93, 232, 94, 0, + 65, 101, 1, 94, 0, 65, 101, 1, 101, 0, + 119, 97, 263, 98, 0, 229, 97, 263, 98, 0, + 119, 97, 1, 0, 119, 97, 263, 1, 0, 229, + 97, 1, 0, 229, 97, 263, 1, 0, 228, 0, + 119, 0, 241, 0, 242, 0, 240, 46, 0, 240, + 45, 0, 244, 0, 245, 0, 3, 243, 0, 4, + 243, 0, 246, 0, 3, 1, 0, 4, 1, 0, + 46, 243, 0, 46, 1, 0, 45, 243, 0, 45, + 1, 0, 240, 0, 89, 243, 0, 90, 243, 0, + 247, 0, 89, 1, 0, 90, 1, 0, 93, 113, + 236, 94, 243, 0, 93, 113, 94, 243, 0, 93, + 263, 94, 246, 0, 93, 119, 236, 94, 246, 0, + 93, 113, 97, 1, 0, 93, 1, 0, 93, 113, + 236, 94, 1, 0, 93, 113, 94, 1, 0, 93, + 119, 236, 94, 1, 0, 243, 0, 248, 5, 243, + 0, 248, 6, 243, 0, 248, 7, 243, 0, 248, + 5, 1, 0, 248, 6, 1, 0, 248, 7, 1, + 0, 248, 0, 249, 3, 248, 0, 249, 4, 248, + 0, 249, 3, 1, 0, 249, 4, 1, 0, 249, + 0, 250, 8, 249, 0, 250, 9, 249, 0, 250, + 10, 249, 0, 250, 8, 1, 0, 250, 9, 1, + 0, 250, 10, 1, 0, 250, 0, 251, 20, 250, + 0, 251, 18, 250, 0, 251, 21, 250, 0, 251, + 19, 250, 0, 251, 57, 114, 0, 251, 20, 1, + 0, 251, 18, 1, 0, 251, 21, 1, 0, 251, + 19, 1, 0, 251, 57, 1, 0, 251, 0, 252, + 16, 251, 0, 252, 17, 251, 0, 252, 16, 1, + 0, 252, 17, 1, 0, 252, 0, 253, 11, 252, + 0, 253, 11, 1, 0, 253, 0, 254, 12, 253, + 0, 254, 12, 1, 0, 254, 0, 255, 13, 254, + 0, 255, 13, 1, 0, 255, 0, 256, 14, 255, + 0, 256, 14, 1, 0, 256, 0, 257, 15, 256, + 0, 257, 15, 1, 0, 257, 0, 257, 87, 263, + 88, 258, 0, 257, 87, 88, 1, 0, 257, 87, + 1, 0, 257, 87, 263, 88, 1, 0, 258, 0, + 260, 0, 261, 262, 259, 0, 261, 262, 1, 0, + 119, 0, 237, 0, 239, 0, 91, 0, 92, 0, + 259, 0, 263, 0 }; #endif @@ -675,50 +675,50 @@ static const short yyrline[] = { 0, 527, 528, 529, 530, 531, 534, 539, 545, 547, 550, 553, 555, 559, 561, 564, 591, 593, 597, 610, 612, 616, 623, 624, 626, 636, 641, 656, 660, 663, 666, - 669, 671, 673, 675, 679, 681, 683, 685, 689, 691, - 693, 700, 706, 711, 715, 718, 722, 724, 727, 729, - 730, 731, 735, 737, 738, 740, 745, 748, 758, 761, - 763, 767, 770, 777, 783, 791, 793, 795, 797, 799, - 803, 805, 809, 816, 817, 821, 824, 826, 828, 830, - 832, 834, 836, 838, 845, 848, 850, 859, 861, 865, - 870, 875, 879, 884, 886, 888, 895, 897, 899, 903, - 906, 908, 912, 914, 915, 920, 925, 931, 939, 946, - 949, 952, 956, 959, 963, 972, 974, 976, 981, 988, - 996, 998, 1002, 1010, 1021, 1025, 1028, 1031, 1034, 1037, - 1040, 1043, 1046, 1048, 1052, 1058, 1063, 1065, 1069, 1072, - 1076, 1078, 1081, 1083, 1084, 1086, 1090, 1094, 1100, 1105, - 1108, 1110, 1114, 1120, 1124, 1129, 1132, 1136, 1141, 1149, - 1151, 1154, 1156, 1158, 1162, 1166, 1169, 1173, 1175, 1176, - 1177, 1178, 1179, 1189, 1191, 1192, 1193, 1194, 1197, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1211, - 1216, 1227, 1234, 1238, 1249, 1259, 1265, 1271, 1277, 1279, - 1285, 1287, 1293, 1295, 1297, 1299, 1301, 1305, 1307, 1308, - 1309, 1310, 1311, 1312, 1315, 1318, 1320, 1322, 1326, 1331, - 1336, 1342, 1352, 1358, 1360, 1362, 1369, 1372, 1374, 1376, - 1380, 1382, 1385, 1389, 1391, 1394, 1401, 1407, 1409, 1411, - 1415, 1423, 1426, 1428, 1430, 1434, 1439, 1448, 1453, 1456, - 1463, 1465, 1467, 1471, 1474, 1483, 1490, 1492, 1496, 1509, - 1511, 1517, 1523, 1527, 1529, 1533, 1536, 1538, 1542, 1545, - 1547, 1549, 1553, 1556, 1558, 1560, 1564, 1567, 1569, 1571, - 1575, 1581, 1583, 1587, 1594, 1596, 1598, 1600, 1604, 1612, - 1615, 1617, 1619, 1623, 1625, 1632, 1640, 1657, 1659, 1661, - 1665, 1671, 1676, 1678, 1681, 1683, 1685, 1687, 1688, 1689, - 1690, 1694, 1696, 1698, 1703, 1705, 1707, 1709, 1711, 1715, - 1718, 1723, 1725, 1730, 1731, 1732, 1733, 1734, 1736, 1738, - 1740, 1742, 1744, 1748, 1750, 1753, 1759, 1764, 1768, 1771, - 1773, 1775, 1779, 1781, 1783, 1785, 1789, 1792, 1796, 1802, - 1804, 1812, 1839, 1841, 1845, 1850, 1858, 1862, 1865, 1867, - 1878, 1889, 1894, 1903, 1905, 1909, 1912, 1914, 1919, 1924, - 1929, 1936, 1938, 1939, 1940, 1943, 1948, 1953, 1955, 1956, - 1958, 1960, 1961, 1963, 1967, 1970, 1974, 1977, 1981, 1983, - 1985, 1987, 1988, 1990, 1994, 2003, 2005, 2007, 2020, 2022, - 2028, 2030, 2032, 2036, 2038, 2043, 2048, 2053, 2055, 2057, - 2061, 2063, 2068, 2073, 2075, 2079, 2081, 2086, 2091, 2096, - 2098, 2100, 2104, 2106, 2111, 2116, 2121, 2126, 2128, 2130, - 2132, 2134, 2136, 2140, 2142, 2147, 2152, 2154, 2158, 2160, - 2165, 2169, 2171, 2176, 2180, 2182, 2187, 2191, 2193, 2198, - 2202, 2204, 2209, 2213, 2215, 2220, 2226, 2228, 2232, 2234, - 2237, 2240, 2248, 2250, 2251, 2254, 2256, 2259, 2263 + 669, 671, 673, 678, 682, 684, 686, 688, 692, 694, + 696, 703, 709, 714, 718, 721, 725, 727, 730, 732, + 733, 734, 738, 740, 742, 743, 745, 750, 753, 763, + 766, 768, 772, 775, 782, 788, 796, 798, 800, 802, + 804, 808, 810, 814, 821, 822, 826, 829, 831, 833, + 835, 837, 839, 841, 843, 850, 853, 855, 864, 866, + 870, 875, 880, 884, 889, 891, 893, 900, 902, 904, + 908, 911, 913, 917, 919, 920, 925, 930, 936, 944, + 951, 954, 957, 961, 964, 968, 977, 979, 981, 986, + 993, 1001, 1003, 1007, 1015, 1026, 1030, 1033, 1036, 1039, + 1042, 1045, 1048, 1051, 1053, 1057, 1063, 1068, 1070, 1074, + 1077, 1081, 1083, 1086, 1088, 1089, 1091, 1095, 1099, 1105, + 1110, 1113, 1115, 1119, 1125, 1129, 1134, 1137, 1141, 1146, + 1154, 1156, 1159, 1161, 1163, 1167, 1171, 1174, 1178, 1180, + 1181, 1182, 1183, 1184, 1194, 1196, 1197, 1198, 1199, 1202, + 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, + 1216, 1221, 1232, 1239, 1243, 1254, 1264, 1270, 1276, 1282, + 1284, 1290, 1292, 1298, 1300, 1302, 1304, 1306, 1310, 1312, + 1313, 1314, 1315, 1316, 1317, 1320, 1323, 1325, 1327, 1331, + 1336, 1341, 1347, 1357, 1363, 1365, 1367, 1374, 1377, 1379, + 1381, 1385, 1387, 1390, 1394, 1396, 1399, 1406, 1412, 1414, + 1416, 1420, 1428, 1431, 1433, 1435, 1439, 1444, 1453, 1458, + 1461, 1468, 1470, 1472, 1476, 1479, 1488, 1495, 1497, 1501, + 1514, 1516, 1522, 1528, 1532, 1534, 1538, 1541, 1543, 1547, + 1550, 1552, 1554, 1558, 1561, 1563, 1565, 1569, 1572, 1574, + 1576, 1580, 1586, 1588, 1592, 1599, 1601, 1603, 1605, 1609, + 1617, 1620, 1622, 1624, 1628, 1630, 1637, 1645, 1662, 1664, + 1666, 1670, 1676, 1681, 1683, 1686, 1688, 1690, 1692, 1693, + 1694, 1695, 1699, 1701, 1703, 1708, 1710, 1712, 1714, 1716, + 1720, 1723, 1728, 1730, 1735, 1736, 1737, 1738, 1739, 1741, + 1743, 1745, 1747, 1749, 1753, 1755, 1758, 1764, 1769, 1773, + 1776, 1778, 1780, 1784, 1786, 1788, 1790, 1794, 1797, 1801, + 1807, 1809, 1817, 1844, 1846, 1850, 1855, 1863, 1867, 1870, + 1872, 1883, 1894, 1899, 1908, 1910, 1914, 1917, 1919, 1924, + 1929, 1934, 1941, 1943, 1944, 1945, 1948, 1953, 1958, 1960, + 1961, 1963, 1965, 1966, 1968, 1972, 1975, 1979, 1982, 1986, + 1988, 1990, 1992, 1993, 1995, 1999, 2008, 2010, 2012, 2025, + 2027, 2033, 2035, 2037, 2041, 2043, 2048, 2053, 2058, 2060, + 2062, 2066, 2068, 2073, 2078, 2080, 2084, 2086, 2091, 2096, + 2101, 2103, 2105, 2109, 2111, 2116, 2121, 2126, 2131, 2133, + 2135, 2137, 2139, 2141, 2145, 2147, 2152, 2157, 2159, 2163, + 2165, 2170, 2174, 2176, 2181, 2185, 2187, 2192, 2196, 2198, + 2203, 2207, 2209, 2214, 2218, 2220, 2225, 2231, 2233, 2237, + 2239, 2242, 2245, 2253, 2255, 2256, 2259, 2261, 2264, 2268 }; #endif @@ -787,48 +787,48 @@ static const short yyr1[] = { 0, 130, 130, 130, 130, 131, 131, 133, 132, 134, 132, 132, 132, 132, 132, 135, 135, 135, 135, 136, 136, 136, 137, 137, 137, 138, 138, 139, 139, 140, 140, - 140, 140, 141, 141, 141, 141, 142, 142, 143, 143, - 143, 144, 144, 144, 144, 145, 145, 145, 145, 145, - 146, 146, 148, 147, 147, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 150, 150, 150, 150, 150, 151, - 151, 151, 152, 152, 152, 152, 153, 153, 153, 154, - 154, 154, 155, 155, 155, 156, 156, 157, 159, 158, - 160, 160, 161, 161, 162, 162, 162, 162, 163, 163, - 163, 163, 164, 164, 166, 165, 167, 165, 168, 165, - 169, 165, 165, 165, 170, 170, 170, 170, 171, 171, - 172, 172, 173, 173, 173, 173, 174, 175, 175, 176, - 176, 176, 177, 177, 177, 178, 178, 179, 180, 181, - 181, 182, 182, 182, 183, 184, 184, 185, 185, 185, - 185, 185, 185, 186, 186, 186, 186, 186, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, - 189, 190, 190, 191, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, - 193, 193, 193, 193, 194, 194, 194, 194, 195, 196, - 198, 197, 199, 199, 199, 199, 200, 200, 200, 200, - 201, 201, 202, 203, 203, 204, 204, 204, 204, 204, - 205, 206, 206, 206, 206, 207, 208, 209, 210, 210, - 210, 210, 210, 211, 211, 212, 212, 212, 213, 214, - 214, 214, 214, 215, 215, 216, 216, 216, 217, 217, - 217, 217, 218, 218, 218, 218, 219, 219, 219, 219, - 220, 220, 220, 221, 221, 221, 221, 221, 222, 223, - 223, 223, 223, 224, 224, 225, 226, 226, 226, 226, - 227, 227, 228, 228, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, + 140, 140, 141, 141, 141, 141, 141, 142, 142, 143, + 143, 143, 144, 144, 144, 144, 145, 145, 145, 145, + 145, 146, 146, 148, 147, 147, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 150, 150, 150, 150, 150, + 151, 151, 151, 152, 152, 152, 152, 153, 153, 153, + 154, 154, 154, 155, 155, 155, 156, 156, 157, 159, + 158, 160, 160, 161, 161, 162, 162, 162, 162, 163, + 163, 163, 163, 164, 164, 166, 165, 167, 165, 168, + 165, 169, 165, 165, 165, 170, 170, 170, 170, 171, + 171, 172, 172, 173, 173, 173, 173, 174, 175, 175, + 176, 176, 176, 177, 177, 177, 178, 178, 179, 180, + 181, 181, 182, 182, 182, 183, 184, 184, 185, 185, + 185, 185, 185, 185, 186, 186, 186, 186, 186, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 188, 189, 190, 190, 191, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 193, 193, + 193, 193, 193, 193, 193, 194, 194, 194, 194, 195, + 196, 198, 197, 199, 199, 199, 199, 200, 200, 200, + 200, 201, 201, 202, 203, 203, 204, 204, 204, 204, + 204, 205, 206, 206, 206, 206, 207, 208, 209, 210, + 210, 210, 210, 210, 211, 211, 212, 212, 212, 213, + 214, 214, 214, 214, 215, 215, 216, 216, 216, 217, + 217, 217, 217, 218, 218, 218, 218, 219, 219, 219, + 219, 220, 220, 220, 221, 221, 221, 221, 221, 222, + 223, 223, 223, 223, 224, 224, 225, 226, 226, 226, + 226, 227, 227, 228, 228, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 231, 231, 232, 232, 232, 233, 233, - 233, 233, 233, 233, 233, 233, 234, 234, 235, 235, - 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, - 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, - 239, 240, 240, 240, 240, 241, 242, 243, 243, 243, - 243, 243, 243, 243, 244, 244, 245, 245, 246, 246, - 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, - 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, - 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 252, 252, 252, 252, 252, 253, 253, - 253, 254, 254, 254, 255, 255, 255, 256, 256, 256, - 257, 257, 257, 258, 258, 258, 258, 258, 259, 259, - 260, 260, 261, 261, 261, 262, 262, 263, 264 + 230, 230, 230, 230, 231, 231, 232, 232, 232, 233, + 233, 233, 233, 233, 233, 233, 233, 234, 234, 235, + 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, + 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, + 239, 239, 240, 240, 240, 240, 241, 242, 243, 243, + 243, 243, 243, 243, 243, 244, 244, 245, 245, 246, + 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, + 248, 249, 249, 249, 249, 249, 250, 250, 250, 250, + 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 252, 252, 252, 252, 252, 253, + 253, 253, 254, 254, 254, 255, 255, 255, 256, 256, + 256, 257, 257, 257, 258, 258, 258, 258, 258, 259, + 259, 260, 260, 261, 261, 261, 262, 262, 263, 264 }; static const short yyr2[] = { 0, @@ -840,48 +840,48 @@ static const short yyr2[] = { 0, 1, 1, 1, 1, 1, 2, 0, 7, 0, 6, 3, 2, 3, 4, 0, 2, 3, 2, 0, 2, 2, 1, 3, 3, 2, 3, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 4, 1, 3, - 3, 1, 3, 3, 4, 1, 3, 2, 3, 3, - 1, 1, 0, 3, 2, 3, 3, 4, 4, 2, - 3, 2, 3, 2, 3, 4, 3, 3, 3, 1, - 3, 3, 2, 3, 2, 3, 0, 2, 2, 1, - 3, 3, 1, 2, 1, 2, 3, 1, 0, 3, - 2, 3, 3, 4, 2, 3, 3, 4, 4, 5, - 7, 6, 1, 1, 0, 4, 0, 5, 0, 5, - 0, 6, 3, 4, 2, 3, 2, 3, 2, 3, - 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, - 3, 4, 1, 3, 3, 2, 3, 1, 1, 1, - 2, 1, 1, 1, 2, 2, 3, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 3, 4, 1, + 3, 3, 1, 3, 3, 4, 1, 3, 2, 3, + 3, 1, 1, 0, 3, 2, 3, 3, 4, 4, + 2, 3, 2, 3, 2, 3, 4, 3, 3, 3, + 1, 3, 3, 2, 3, 2, 3, 0, 2, 2, + 1, 3, 3, 1, 2, 1, 2, 3, 1, 0, + 3, 2, 3, 3, 4, 2, 3, 3, 4, 4, + 5, 7, 6, 1, 1, 0, 4, 0, 5, 0, + 5, 0, 6, 3, 4, 2, 3, 2, 3, 2, + 3, 1, 2, 1, 1, 1, 1, 1, 2, 2, + 2, 3, 4, 1, 3, 3, 2, 3, 1, 1, + 1, 2, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, - 4, 5, 4, 5, 6, 7, 6, 1, 1, 1, - 1, 1, 1, 1, 5, 2, 3, 4, 7, 7, - 0, 3, 4, 2, 3, 5, 2, 3, 3, 4, - 1, 2, 2, 1, 2, 3, 2, 2, 3, 2, - 4, 2, 2, 3, 4, 2, 1, 7, 7, 6, - 3, 5, 4, 7, 6, 2, 2, 3, 2, 0, - 1, 1, 2, 0, 1, 1, 3, 3, 2, 3, - 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, - 3, 2, 3, 5, 5, 2, 4, 3, 1, 3, - 3, 4, 2, 1, 2, 2, 4, 2, 3, 4, - 2, 2, 1, 1, 1, 1, 3, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 3, 5, - 4, 6, 5, 4, 5, 5, 6, 3, 3, 4, - 5, 2, 3, 3, 3, 1, 3, 3, 3, 3, - 4, 4, 4, 4, 3, 3, 1, 2, 3, 3, - 2, 2, 3, 3, 3, 3, 2, 3, 4, 5, - 6, 5, 6, 4, 4, 4, 4, 3, 4, 3, - 4, 1, 1, 1, 1, 2, 2, 1, 1, 2, - 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, - 2, 1, 2, 2, 5, 4, 4, 5, 4, 2, - 5, 4, 5, 1, 3, 3, 3, 3, 3, 3, - 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, - 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, - 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, - 1, 3, 3, 1, 5, 4, 3, 5, 1, 1, - 3, 3, 1, 1, 1, 1, 1, 1, 1 + 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, + 4, 4, 5, 4, 5, 6, 7, 6, 1, 1, + 1, 1, 1, 1, 1, 5, 2, 3, 4, 7, + 7, 0, 3, 4, 2, 3, 5, 2, 3, 3, + 4, 1, 2, 2, 1, 2, 3, 2, 2, 3, + 2, 4, 2, 2, 3, 4, 2, 1, 7, 7, + 6, 3, 5, 4, 7, 6, 2, 2, 3, 2, + 0, 1, 1, 2, 0, 1, 1, 3, 3, 2, + 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, + 3, 3, 2, 3, 5, 5, 2, 4, 3, 1, + 3, 3, 4, 2, 1, 2, 2, 4, 2, 3, + 4, 2, 2, 1, 1, 1, 1, 3, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, + 5, 4, 6, 5, 4, 5, 5, 6, 3, 3, + 4, 5, 2, 3, 3, 3, 1, 3, 3, 3, + 3, 4, 4, 4, 4, 3, 3, 1, 2, 3, + 3, 2, 2, 3, 3, 3, 3, 2, 3, 4, + 5, 6, 5, 6, 4, 4, 4, 4, 3, 4, + 3, 4, 1, 1, 1, 1, 2, 2, 1, 1, + 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, + 2, 2, 1, 2, 2, 5, 4, 4, 5, 4, + 2, 5, 4, 5, 1, 3, 3, 3, 3, 3, + 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, + 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, + 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, + 3, 1, 3, 3, 1, 5, 4, 3, 5, 1, + 1, 3, 3, 1, 1, 1, 1, 1, 1, 1 }; static const short yydefact[] = { 0, @@ -889,770 +889,753 @@ static const short yydefact[] = { 0, 0, 36, 43, 44, 38, 0, 51, 52, 46, 27, 0, 23, 24, 25, 0, 62, 0, 41, 0, 0, 37, 39, 0, 0, 56, 0, 0, 47, 45, 0, - 163, 0, 0, 159, 63, 0, 69, 42, 40, 0, - 0, 0, 61, 0, 49, 0, 26, 167, 17, 165, - 15, 0, 156, 0, 0, 68, 16, 0, 0, 59, - 164, 0, 161, 64, 69, 50, 48, 12, 0, 10, - 11, 169, 0, 8, 9, 13, 14, 15, 0, 175, - 177, 0, 176, 0, 171, 173, 174, 168, 166, 160, - 67, 71, 72, 70, 0, 158, 0, 57, 112, 0, - 127, 110, 0, 0, 89, 92, 127, 0, 0, 0, - 114, 0, 0, 179, 178, 170, 172, 0, 0, 60, - 162, 0, 0, 0, 0, 107, 98, 87, 0, 0, - 0, 0, 106, 21, 18, 22, 20, 19, 113, 127, - 111, 0, 127, 74, 73, 55, 188, 75, 23, 0, - 85, 0, 77, 79, 83, 84, 0, 80, 0, 81, - 139, 127, 86, 82, 0, 58, 118, 115, 0, 0, - 0, 120, 129, 130, 128, 119, 117, 91, 0, 90, - 94, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 6, 5, 2, 3, 4, 7, 335, - 0, 403, 0, 102, 402, 333, 338, 0, 334, 339, - 340, 341, 419, 404, 405, 434, 408, 409, 412, 422, - 441, 446, 453, 464, 469, 472, 475, 478, 481, 484, - 489, 498, 490, 0, 101, 99, 97, 100, 109, 88, - 108, 186, 0, 127, 76, 78, 105, 0, 136, 0, - 141, 0, 55, 0, 0, 277, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 220, 0, 8, 403, - 0, 0, 194, 0, 209, 0, 190, 192, 0, 193, - 198, 210, 0, 199, 211, 0, 200, 201, 212, 251, - 0, 202, 0, 213, 203, 290, 0, 214, 215, 216, - 218, 217, 0, 219, 244, 243, 0, 241, 242, 239, - 240, 238, 125, 123, 0, 116, 0, 0, 413, 403, - 339, 341, 410, 414, 411, 418, 417, 416, 415, 0, - 387, 0, 0, 0, 16, 0, 423, 420, 424, 421, - 430, 0, 403, 0, 180, 183, 0, 0, 0, 0, - 0, 95, 0, 0, 362, 0, 407, 406, 0, 0, + 164, 0, 0, 160, 63, 0, 69, 42, 40, 0, + 0, 0, 61, 0, 49, 0, 26, 168, 17, 166, + 15, 0, 157, 0, 0, 68, 16, 0, 0, 59, + 165, 0, 162, 64, 69, 50, 48, 12, 0, 10, + 11, 170, 0, 8, 9, 13, 14, 15, 0, 176, + 178, 0, 177, 0, 172, 174, 175, 169, 167, 161, + 67, 71, 72, 70, 0, 159, 0, 57, 113, 0, + 128, 111, 0, 0, 90, 93, 128, 0, 0, 0, + 115, 0, 0, 180, 179, 171, 173, 0, 0, 60, + 163, 0, 0, 0, 0, 108, 99, 88, 0, 0, + 0, 0, 107, 21, 18, 22, 20, 19, 114, 128, + 112, 0, 128, 74, 73, 55, 189, 75, 23, 0, + 86, 0, 77, 79, 83, 85, 0, 80, 0, 81, + 140, 128, 87, 82, 0, 58, 119, 116, 0, 0, + 0, 121, 130, 131, 129, 120, 118, 92, 0, 91, + 95, 0, 0, 0, 0, 0, 0, 0, 337, 0, + 0, 0, 0, 6, 5, 2, 3, 4, 7, 336, + 0, 404, 0, 103, 403, 334, 339, 0, 335, 340, + 341, 342, 420, 405, 406, 435, 409, 410, 413, 423, + 442, 447, 454, 465, 470, 473, 476, 479, 482, 485, + 490, 499, 491, 0, 102, 100, 98, 101, 110, 89, + 109, 187, 0, 128, 76, 78, 84, 106, 0, 137, + 0, 142, 0, 55, 0, 0, 278, 0, 0, 0, + 0, 0, 0, 0, 0, 337, 0, 221, 0, 8, + 404, 0, 0, 195, 0, 210, 0, 191, 193, 0, + 194, 199, 211, 0, 200, 212, 0, 201, 202, 213, + 252, 0, 203, 0, 214, 204, 291, 0, 215, 216, + 217, 219, 218, 0, 220, 245, 244, 0, 242, 243, + 240, 241, 239, 126, 124, 0, 117, 0, 0, 414, + 404, 340, 342, 411, 415, 412, 419, 418, 417, 416, + 0, 388, 0, 0, 0, 16, 0, 424, 421, 425, + 422, 431, 0, 404, 0, 181, 184, 0, 0, 0, + 0, 0, 96, 0, 0, 363, 0, 408, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, - 497, 0, 143, 0, 142, 135, 104, 133, 137, 188, - 140, 0, 227, 228, 226, 246, 0, 312, 0, 301, - 299, 0, 309, 307, 0, 273, 0, 254, 0, 323, - 0, 287, 0, 305, 303, 0, 0, 196, 0, 0, - 223, 221, 0, 0, 189, 187, 191, 195, 319, 403, - 222, 225, 0, 272, 0, 403, 0, 292, 296, 289, - 0, 0, 316, 0, 126, 124, 122, 121, 132, 131, - 349, 344, 0, 386, 376, 375, 358, 0, 369, 377, - 0, 370, 0, 359, 0, 0, 0, 0, 0, 0, - 346, 337, 181, 0, 348, 343, 388, 0, 366, 398, - 0, 347, 342, 364, 345, 365, 385, 400, 0, 363, - 0, 438, 435, 439, 436, 440, 437, 444, 442, 445, - 443, 450, 447, 451, 448, 452, 449, 460, 455, 462, - 457, 459, 454, 461, 456, 463, 0, 458, 467, 465, - 468, 466, 471, 470, 474, 473, 477, 476, 480, 479, - 483, 482, 487, 0, 0, 492, 491, 144, 134, 403, - 0, 0, 145, 0, 247, 0, 313, 311, 302, 300, - 310, 308, 274, 0, 255, 0, 0, 0, 320, 324, - 0, 321, 288, 306, 304, 337, 0, 197, 229, 0, - 0, 0, 252, 0, 293, 0, 281, 0, 0, 318, - 0, 394, 395, 0, 381, 382, 0, 378, 371, 0, - 374, 372, 373, 360, 351, 0, 432, 426, 429, 0, - 0, 427, 185, 182, 184, 389, 0, 399, 396, 0, - 401, 397, 354, 0, 486, 0, 0, 146, 0, 0, - 147, 248, 0, 275, 271, 0, 328, 0, 332, 331, - 325, 322, 326, 233, 0, 230, 231, 0, 0, 0, - 257, 0, 261, 0, 264, 0, 298, 297, 283, 0, - 295, 0, 317, 0, 392, 0, 380, 379, 384, 383, - 353, 361, 350, 431, 425, 433, 428, 368, 367, 390, - 0, 355, 356, 488, 485, 0, 148, 0, 0, 0, - 245, 0, 198, 0, 205, 206, 0, 207, 208, 0, - 256, 329, 0, 234, 0, 0, 232, 270, 267, 268, - 499, 0, 259, 262, 0, 258, 0, 265, 0, 0, - 282, 0, 315, 314, 393, 352, 391, 357, 0, 149, - 0, 0, 0, 224, 276, 0, 330, 327, 237, 235, - 0, 269, 266, 260, 0, 280, 0, 0, 0, 150, - 0, 249, 0, 0, 236, 278, 279, 152, 0, 0, - 0, 0, 151, 0, 0, 0, 0, 285, 0, 250, - 284, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 497, 498, 0, 144, 0, 143, 136, 105, 134, 138, + 189, 141, 0, 228, 229, 227, 247, 0, 313, 0, + 302, 300, 0, 310, 308, 0, 274, 0, 255, 0, + 324, 0, 288, 0, 306, 304, 0, 0, 197, 0, + 0, 224, 222, 0, 0, 190, 188, 192, 196, 320, + 404, 223, 226, 0, 273, 0, 404, 0, 293, 297, + 290, 0, 0, 317, 0, 127, 125, 123, 122, 133, + 132, 350, 345, 0, 387, 377, 376, 359, 0, 370, + 378, 0, 371, 0, 360, 0, 0, 0, 0, 0, + 0, 347, 338, 182, 0, 349, 344, 389, 0, 367, + 399, 0, 348, 343, 365, 346, 366, 386, 401, 0, + 364, 0, 439, 436, 440, 437, 441, 438, 445, 443, + 446, 444, 451, 448, 452, 449, 453, 450, 461, 456, + 463, 458, 460, 455, 462, 457, 464, 0, 459, 468, + 466, 469, 467, 472, 471, 475, 474, 478, 477, 481, + 480, 484, 483, 488, 0, 0, 493, 492, 145, 135, + 404, 0, 0, 146, 0, 248, 0, 314, 312, 303, + 301, 311, 309, 275, 0, 256, 0, 0, 0, 321, + 325, 0, 322, 289, 307, 305, 338, 0, 198, 230, + 0, 0, 0, 253, 0, 294, 0, 282, 0, 0, + 319, 0, 395, 396, 0, 382, 383, 0, 379, 372, + 0, 375, 373, 374, 361, 352, 0, 433, 427, 430, + 0, 0, 428, 186, 183, 185, 390, 0, 400, 397, + 0, 402, 398, 355, 0, 487, 0, 0, 147, 0, + 0, 148, 249, 0, 276, 272, 0, 329, 0, 333, + 332, 326, 323, 327, 234, 0, 231, 232, 0, 0, + 0, 258, 0, 262, 0, 265, 0, 299, 298, 284, + 0, 296, 0, 318, 0, 393, 0, 381, 380, 385, + 384, 354, 362, 351, 432, 426, 434, 429, 369, 368, + 391, 0, 356, 357, 489, 486, 0, 149, 0, 0, + 0, 246, 0, 199, 0, 206, 207, 0, 208, 209, + 0, 257, 330, 0, 235, 0, 0, 233, 271, 268, + 269, 500, 0, 260, 263, 0, 259, 0, 266, 0, + 0, 283, 0, 316, 315, 394, 353, 392, 358, 0, + 150, 0, 0, 0, 225, 277, 0, 331, 328, 238, + 236, 0, 270, 267, 261, 0, 281, 0, 0, 0, + 151, 0, 250, 0, 0, 237, 279, 280, 153, 0, + 0, 0, 0, 152, 0, 0, 0, 0, 286, 0, + 251, 285, 0, 0, 0 }; -static const short yydefgoto[] = { 772, - 210, 278, 211, 85, 86, 68, 60, 87, 212, 22, +static const short yydefgoto[] = { 773, + 210, 279, 211, 85, 86, 68, 60, 87, 212, 22, 23, 24, 8, 9, 10, 11, 12, 13, 14, 15, - 282, 283, 132, 105, 47, 70, 104, 130, 162, 163, - 164, 91, 114, 115, 116, 213, 166, 258, 92, 111, - 181, 182, 136, 185, 397, 168, 169, 170, 260, 171, - 172, 401, 551, 284, 18, 43, 72, 65, 107, 44, - 63, 94, 95, 96, 97, 214, 357, 285, 175, 436, - 717, 287, 288, 289, 290, 692, 291, 292, 293, 294, - 695, 295, 296, 297, 298, 696, 299, 443, 300, 583, - 652, 653, 654, 655, 301, 302, 698, 303, 304, 305, - 699, 306, 307, 450, 660, 661, 308, 309, 310, 311, - 312, 313, 314, 569, 570, 571, 572, 215, 216, 217, - 218, 488, 219, 469, 470, 471, 220, 221, 222, 223, + 283, 284, 132, 105, 47, 70, 104, 130, 162, 163, + 164, 91, 114, 115, 116, 213, 166, 259, 92, 111, + 181, 182, 136, 185, 398, 168, 169, 170, 261, 171, + 172, 402, 552, 285, 18, 43, 72, 65, 107, 44, + 63, 94, 95, 96, 97, 214, 358, 286, 175, 437, + 718, 288, 289, 290, 291, 693, 292, 293, 294, 295, + 696, 296, 297, 298, 299, 697, 300, 444, 301, 584, + 653, 654, 655, 656, 302, 303, 699, 304, 305, 306, + 700, 307, 308, 451, 661, 662, 309, 310, 311, 312, + 313, 314, 315, 570, 571, 572, 573, 215, 216, 217, + 218, 489, 219, 470, 471, 472, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 392, 489, 712 + 244, 393, 490, 713 }; -static const short yypact[] = { 456, --32768,-32768, 92, -32, 361, 363,-32768,-32768, 208, 445, - 525,-32768,-32768,-32768,-32768, 617,-32768,-32768,-32768,-32768, - 18,-32768,-32768,-32768, 45,-32768, 293,-32768, 22, 558, --32768,-32768, 538, 571,-32768, -32, 405,-32768,-32768, 479, --32768, 421, 11, 164,-32768, 432, 182,-32768,-32768, -32, - 643, 329,-32768, 341,-32768, 59,-32768,-32768,-32768,-32768, - 194, 968,-32768, 468, 11,-32768,-32768, 20, 471,-32768, --32768, 11, 164,-32768, 182,-32768,-32768,-32768, 476,-32768, --32768,-32768, 504, 373,-32768,-32768, 419, -79, 779,-32768, --32768, 61,-32768, 988,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 440, 466,-32768, 11,-32768,-32768, 473, - 4,-32768, 143, -25,-32768, 722, 4, 39, 77, 475, --32768, 518, 520,-32768,-32768,-32768,-32768, 526, 860,-32768, --32768, 466, 615, 531, 84,-32768,-32768,-32768, 562, 2071, - 87, 582,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 4, --32768, 362, 4,-32768,-32768, 519, 502,-32768, 529, 779, --32768, 872,-32768,-32768,-32768,-32768, 19,-32768, 536,-32768, --32768, 670,-32768,-32768, 1798,-32768,-32768,-32768, 583, 893, - 10,-32768,-32768,-32768, 634,-32768,-32768,-32768, 317,-32768, --32768, 2818, 2883, 2934, 2999, 645, 34, 586,-32768, 3050, - 3115, 3166, 5306,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 652, 795, 29,-32768, 655, 661,-32768, 587,-32768, 461, --32768, 694, 833,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 946, 887, 962, 806, 897, 767, 784, 786, 799, 596, --32768,-32768,-32768, 832,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 826, 670,-32768,-32768,-32768, 150, 718, 727, --32768, 773, 246, 304, 3231,-32768, 186, 2122, 23, 320, - 336, 93, 345, 230, 742, 5603,-32768, -32, 385, 843, - 714, 990,-32768, 746,-32768, 1730,-32768,-32768, 751,-32768, --32768,-32768, 1866,-32768,-32768, 754,-32768,-32768,-32768,-32768, - 1866,-32768, 1866,-32768,-32768, 5654, 761,-32768,-32768,-32768, --32768,-32768, 347,-32768, 758, 788, 833, 920, 928,-32768, --32768,-32768,-32768, 898, 588,-32768, 697, 590,-32768, 606, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 217, --32768, 595, 883, 745, 745, 349,-32768,-32768,-32768,-32768, --32768, 747, 989, 260,-32768,-32768, 625, 291, 5371, 3282, - 780,-32768, 442, 3347,-32768, 388,-32768,-32768, 3398, 3463, - 3514, 3579, 3630, 3695, 3746, 3811, 3862, 3927, 3978, 4043, - 688, 4094, 4159, 4210, 4275, 4326, 4391, 4442, 2187,-32768, --32768, 4507,-32768, 253,-32768,-32768,-32768, 763,-32768,-32768, --32768, 1730,-32768,-32768,-32768,-32768, 4558,-32768, 66,-32768, --32768, 95,-32768,-32768, 97,-32768, 4623,-32768, 4674,-32768, - 711,-32768, 5088,-32768,-32768, 104, 261, 757, 2238, 457, --32768,-32768, -32, 2303,-32768,-32768,-32768,-32768,-32768, 1007, --32768,-32768, 750,-32768, 805, 901, 893,-32768,-32768,-32768, - 111, 2354,-32768, 4739,-32768, 898,-32768,-32768,-32768,-32768, --32768,-32768, -38, 781,-32768,-32768,-32768, 2419, 745,-32768, - 557, 745, 557,-32768, 2470, 4790, 179, 614, 2535, 642, --32768, 5679,-32768, 2006,-32768,-32768,-32768, 556,-32768,-32768, - 219,-32768,-32768,-32768,-32768,-32768, 790,-32768, 229,-32768, - 5422,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 946,-32768, - 946,-32768, 887,-32768, 887,-32768, 887,-32768, 962,-32768, - 962,-32768, 962,-32768, 962,-32768, 373,-32768,-32768, 806, --32768, 806,-32768, 897,-32768, 767,-32768, 784,-32768, 786, --32768, 799,-32768, 894, 809,-32768,-32768,-32768,-32768, 924, - 1730, 807,-32768, 1730,-32768, 265,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 301,-32768, 808, 390, 215, 711,-32768, - 536,-32768,-32768,-32768,-32768,-32768, 401, 757,-32768, 904, - 47, 532,-32768, 814,-32768, 5222,-32768, 5113, 810, 824, - 836,-32768,-32768, 5487,-32768,-32768, 243,-32768, 829, 245, --32768, 829,-32768,-32768, 466, 69,-32768,-32768,-32768, 4855, - 5264,-32768,-32768,-32768,-32768,-32768, 4906,-32768,-32768, 5538, --32768,-32768, 466, 602,-32768, 4971, 657,-32768, 1730, 2586, --32768,-32768, 1932,-32768,-32768, 224,-32768, 705,-32768,-32768, --32768,-32768,-32768,-32768, 2651,-32768,-32768, 931, 333, 5022, --32768, 669,-32768, 1507,-32768, 5603,-32768,-32768,-32768, 869, - 890, 5155,-32768, 225,-32768, 619,-32768,-32768,-32768,-32768, --32768,-32768, 466,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 743,-32768, 466,-32768,-32768, 409,-32768, 133, 112, 417, --32768, 927, 945, 1932,-32768,-32768, 1932,-32768,-32768, 906, --32768, 914, 925,-32768, 1013, 154,-32768,-32768,-32768,-32768, --32768, 360,-32768,-32768, 1580,-32768, 1654,-32768, 936, 1866, --32768, 937,-32768,-32768,-32768,-32768,-32768,-32768, 2702,-32768, - 200, 4558, 1866,-32768,-32768, 2767,-32768,-32768,-32768,-32768, - 1036,-32768,-32768,-32768, 940,-32768, 1866, 223, 214,-32768, - 332,-32768, 5113, 949,-32768,-32768,-32768,-32768, 227, 1932, - 950, 5155,-32768, 995, 1932, 958, 1932,-32768, 1932,-32768, --32768, 1056, 1061,-32768 +static const short yypact[] = { 538, +-32768,-32768, 61, -61, 310, 456,-32768,-32768, 245, 513, + 578,-32768,-32768,-32768,-32768, 567,-32768,-32768,-32768,-32768, + 19,-32768,-32768,-32768, 160,-32768, 296,-32768, 33, 603, +-32768,-32768, 680, 629,-32768, -61, 486,-32768,-32768, 503, +-32768, 504, -50, -27,-32768, 510, 130,-32768,-32768, -61, + 693, 338,-32768, 356,-32768, 37,-32768,-32768,-32768,-32768, + -2, 830,-32768, 520, -50,-32768,-32768, 342, 521,-32768, +-32768, -50, -27,-32768, 130,-32768,-32768,-32768, 530,-32768, +-32768,-32768, 539, 156,-32768,-32768, 197, -55, 787,-32768, +-32768, 53,-32768, 988,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 236, 132,-32768, -50,-32768,-32768, 371, + 379,-32768, 122, 550,-32768, 716, 379, 43, 77, 260, +-32768, 562, 565,-32768,-32768,-32768,-32768, 568, 869,-32768, +-32768, 132, 421, 574, 95,-32768,-32768,-32768, 580, 1258, + 113, 478,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, +-32768, 759, 379,-32768,-32768, 523, 519,-32768, 548, 787, +-32768, 1021,-32768,-32768, 576,-32768, 203,-32768, 602,-32768, +-32768, 625,-32768,-32768, 1818,-32768,-32768,-32768, 582, 948, + -29,-32768,-32768,-32768, 588,-32768,-32768,-32768, 350,-32768, +-32768, 2787, 2838, 2903, 2954, 609, 28, 700,-32768, 3019, + 3070, 3135, 5134,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 632, 949, 66,-32768, 642, 656,-32768, 583,-32768, 437, +-32768, 771, 831,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 887, 895, 950, 1007, 889, 745, 762, 758, 777, 268, +-32768,-32768,-32768, 819,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 896, 625,-32768,-32768,-32768,-32768, 671, 712, + 704,-32768, 502, 114, 306, 3186,-32768, 263, 2091, 47, + 391, 416, 232, 423, 307, 723, 5433,-32768, -61, 733, + 1018, 319, 918,-32768, 728,-32768, 1750,-32768,-32768, 725, +-32768,-32768,-32768, 1886,-32768,-32768, 788,-32768,-32768,-32768, +-32768, 1886,-32768, 1886,-32768,-32768, 5484, 791,-32768,-32768, +-32768,-32768,-32768, 426,-32768, 706, 782, 831, 892, 897, +-32768,-32768,-32768,-32768, 850, 590,-32768, 711, 593,-32768, + 545,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 31,-32768, 622, 908, 739, 739, 430,-32768,-32768,-32768, +-32768,-32768, 683, 998, 86,-32768,-32768, 694, 468, 5201, + 3251, 30,-32768, 474, 3302,-32768, 458,-32768,-32768, 3367, + 3418, 3483, 3534, 3599, 3650, 3715, 3766, 3831, 3882, 3947, + 3998, 719, 4063, 4114, 4179, 4230, 4295, 4346, 4411, 2142, +-32768,-32768, 4462,-32768, 188,-32768,-32768,-32768, 797,-32768, +-32768,-32768, 1750,-32768,-32768,-32768,-32768, 4527,-32768, 59, +-32768,-32768, 74,-32768,-32768, 127,-32768, 4578,-32768, 4643, +-32768, 796,-32768, 5042,-32768,-32768, 217, 295, 744, 2207, + 775,-32768,-32768, -61, 2258,-32768,-32768,-32768,-32768,-32768, + 1087,-32768,-32768, 754,-32768, 804, 1038, 948,-32768,-32768, +-32768, 69, 2323,-32768, 4694,-32768, 850,-32768,-32768,-32768, +-32768,-32768,-32768, 494, 808,-32768,-32768,-32768, 2374, 739, +-32768, 490, 739, 490,-32768, 2439, 4759, 224, 359, 2490, + 450,-32768, 1509,-32768, 2026,-32768,-32768,-32768, 617,-32768, +-32768, 234,-32768,-32768,-32768,-32768,-32768, 810,-32768, 248, +-32768, 5252,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 887, +-32768, 887,-32768, 895,-32768, 895,-32768, 895,-32768, 950, +-32768, 950,-32768, 950,-32768, 950,-32768, 156,-32768,-32768, + 1007,-32768, 1007,-32768, 889,-32768, 745,-32768, 762,-32768, + 758,-32768, 777,-32768, 880, 820,-32768,-32768,-32768,-32768, + 1076, 1750, 827,-32768, 1750,-32768, 352,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 438,-32768, 829, 461, 309, 796, +-32768, 602,-32768,-32768,-32768,-32768,-32768, 469, 744,-32768, + 928, 94, 185,-32768, 838,-32768, 5176,-32768, 5067, 834, + 851, 856,-32768,-32768, 5317,-32768,-32768, 262,-32768, 859, + 265,-32768, 859,-32768,-32768, 132, 102,-32768,-32768,-32768, + 4810, 1388,-32768,-32768,-32768,-32768,-32768, 4875,-32768,-32768, + 5368,-32768,-32768, 132, 627,-32768, 4926, 799,-32768, 1750, + 2555,-32768,-32768, 1952,-32768,-32768, 396,-32768, 737,-32768, +-32768,-32768,-32768,-32768,-32768, 2606,-32768,-32768, 952, 355, + 4991,-32768, 190,-32768, 1484,-32768, 5433,-32768,-32768,-32768, + 867, 863, 5109,-32768, 402,-32768, 648,-32768,-32768,-32768, +-32768,-32768,-32768, 132,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 726,-32768, 132,-32768,-32768, 471,-32768, 239, 116, + 477,-32768, 910, 920, 1952,-32768,-32768, 1952,-32768,-32768, + 884,-32768, 893, 901,-32768, 995, 142,-32768,-32768,-32768, +-32768,-32768, 424,-32768,-32768, 1614,-32768, 1682,-32768, 905, + 1886,-32768, 907,-32768,-32768,-32768,-32768,-32768,-32768, 2671, +-32768, 242, 4527, 1886,-32768,-32768, 2722,-32768,-32768,-32768, +-32768, 1008,-32768,-32768,-32768, 917,-32768, 1886, 289, 177, +-32768, 439,-32768, 5067, 919,-32768,-32768,-32768,-32768, 291, + 1952, 925, 5109,-32768, 965, 1952, 942, 1952,-32768, 1952, +-32768,-32768, 1039, 1045,-32768 }; static const short yypgoto[] = {-32768, --32768, -60, -53, 681, -31, -121, 565,-32768, -3, 566, --32768, 134,-32768, 1054, 630,-32768, 218,-32768,-32768, 759, - 17, 441,-32768,-32768, 1024, 1008,-32768, -127,-32768, 930, --32768, 331, -122, 948, -173, -191,-32768,-32768, 379, 498, - 840, -323, -101,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 935,-32768,-32768, 695, -30,-32768,-32768,-32768,-32768, 1050, - 503,-32768, 1011,-32768,-32768, 14,-32768, -104, 846, -349, - -165, -278,-32768, 803, -15, 115, -546,-32768, -429,-32768, --32768,-32768, -299,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 458, 459, -623, -362,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -337,-32768, -620, 811,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 543,-32768, 544,-32768,-32768, -120, --32768, -339,-32768, 769, 279, -308, 1141, 244, 1161, 374, - 434, 491, -111, 515, 683, -468,-32768, 627, 684, 570, - 641, 731, 733, 730, 732, 734,-32768, 497, 737, 740, --32768,-32768, 36,-32768 +-32768, -25, -53, 666, -34, -121, 645,-32768, -3, 597, +-32768, 134,-32768, 1040, 806,-32768, 449,-32768,-32768, 689, + 17, 610,-32768,-32768, 999, 981,-32768, -131,-32768, 904, +-32768, -57, -117, 924, -163, -192,-32768,-32768, 305, -65, + 805, -321, -98,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 909,-32768,-32768, 664, -41,-32768,-32768,-32768,-32768, 1016, + 429,-32768, 983,-32768,-32768, 393,-32768, -106, 818, -401, + -165, -283,-32768, 774, -280, -36, -585,-32768, -492,-32768, +-32768,-32768, -302,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 432, 434, -615, -447,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, -433,-32768, -630, 785,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 524,-32768, 532,-32768,-32768, -63, +-32768, -316,-32768, 747, 103, -261, 1023, 223, 1044, 254, + 380, 442, -111, 531, 620, -468,-32768, 600, 636, 681, + 596, 715, 722, 734, 724, 736,-32768, 495, 720, 750, +-32768,-32768, 65,-32768 }; -#define YYLAST 5788 +#define YYLAST 5593 static const short yytable[] = { 21, - 152, 83, 29, 458, 176, 324, 449, 437, 84, 286, - 59, 356, 184, 612, 67, 143, 16, 120, 38, 257, - 101, 50, 48, 341, 174, 16, 16, 16, 123, 362, - 718, 93, 59, 83, 341, 84, 473, 59, 61, 144, - 84, 722, 61, 478, 480, 41, 16, 647, 249, 16, - 16, 251, 553, 20, 315, 592, 134, 174, 88, 76, - 61, 124, 593, 93, 259, 61, 557, 16, 83, 672, - 261, -66, 179, 138, 139, 84, 346, 146, 89, 84, - 333, 335, 337, 339, 186, 88, 693, 246, 348, 350, - 88, 718, 19, 420, 581, 559, 59, 561, 173, 123, - 135, 83, 67, 326, 574, 62, 84, 42, 84, 327, - 89, 585, 647, -103, -66, -154, 39, -103, 40, 325, - 49, 279, 50, 342, 61, 88, 84, -93, -93, 88, - 61, 173, 761, 646, 342, 606, 145, 25, 27, -155, - 648, 766, 677, 137, 344, 160, 617, 693, 352, 180, - 693, 456, 395, 398, 740, 428, 88, 77, 88, 125, - 599, 624, 673, 602, 558, 315, 345, 421, 617, 52, - 54, 280, 315, 57, 147, 245, 88, 20, 160, 609, - 315, 187, 315, 57, 247, 315, 410, 157, 330, 330, - 330, 330, 179, 560, 61, 562, 330, 330, 353, 84, - 707, 628, 575, 694, 631, 731, 460, -30, 1, -291, - 586, 617, 110, 693, 740, 639, 113, 461, 693, 618, - 693, 433, 693, 739, 701, 723, 31, 755, 84, 621, - 424, 730, 279, 69, -96, 133, 554, 354, 245, -96, - -96, -96, -96, 667, 157, 669, -319, 741, 396, 88, - 31, 2, 279, 617, 666, 110, 113, 503, 505, 507, - 481, 481, 3, 64, 694, 632, 179, 694, 4, 180, - 697, 20, 189, 84, 5, 437, 596, 441, 88, 687, - 681, 315, 280, 462, 411, 444, 658, 445, 449, 440, - 689, 485, 615, 45, 50, 700, 67, 440, 750, 440, - 409, 634, 446, 415, 406, 706, 7, 759, 281, 157, - 578, 427, 189, 617, 703, 20, 619, 137, -253, 157, - 416, 758, 447, 88, 61, 763, 622, 527, 425, 71, - 694, 697, 632, 708, 697, 694, 418, 694, -319, 694, - 668, 74, 670, 180, -65, 422, 548, 453, 279, 474, - 437, 366, 327, 482, 576, 46, 700, 486, 633, 700, - 742, 26, 449, 28, 608, 330, 330, 330, 330, 330, - 330, 330, 330, 330, 330, 330, 330, 88, 330, 330, - 330, 330, 330, 330, 330, 629, 433, -65, 500, 749, - 637, 42, -65, 84, 635, 491, 407, 697, 550, 499, - 412, 644, 697, 46, 697, 53, 697, 426, -96, 644, - -96, 189, 417, -96, -96, -96, -96, 406, 316, 281, - 709, 58, 700, -157, 545, 760, 281, 700, 419, 700, - 315, 700, 66, 315, 281, -65, 281, 423, 437, 454, - 17, 475, 556, 88, -31, 1, 20, 743, 20, 17, - 17, 17, 564, 449, 566, -28, 1, 492, 189, 165, - 250, 139, 449, 640, 491, 315, 643, 315, 98, 118, - 17, 102, 330, 17, 17, 464, 109, 671, 330, 55, - 501, 118, 638, 56, 601, 358, 603, 589, 2, 591, - 20, 17, 165, 645, 57, 682, 497, 279, 675, 2, - 279, 729, 90, 597, 112, 4, 20, 167, 315, 732, - 3, 5, 315, 496, 491, 119, 4, 20, 149, 245, - 151, 577, 5, 493, -29, 1, 154, 20, 494, 316, - 6, 183, 495, 315, 90, 281, 316, -32, 1, 128, - 167, 315, 20, 7, 316, 726, 316, 280, 317, 316, - 280, -494, -494, 20, 7, 728, 20, -34, 1, 724, - 129, 20, 188, 57, 20, 133, 189, 100, 2, 161, - -33, 1, 148, 315, 106, 279, 315, 179, 649, 3, - 117, 2, 248, 323, 84, 4, 343, 365, 455, 20, - 459, 5, 3, 650, 315, 463, 315, 252, 4, 315, - 279, 2, 161, 20, 5, 20, 330, 330, 318, 131, - 388, 20, 315, -138, 2, 177, 20, 691, 4, 150, - 153, 253, 330, 7, 5, 280, 315, 651, 99, 440, - 157, 4, 315, 103, 88, 78, 7, 5, 30, 315, - 34, 315, -35, 1, 315, 316, 315, 20, 315, 616, - 280, 203, 679, 600, 180, 617, 7, 492, 2, 317, - 35, 279, 51, 279, 78, 319, 317, 80, 20, 7, - 81, 20, 20, 20, 317, 20, 317, 36, 441, 317, - 20, 444, 389, 37, 281, 711, 2, 281, 526, 320, - 440, 719, 155, 440, 159, 683, 80, 457, 359, 81, - 20, 617, 360, 4, 746, 702, 361, 610, 178, 5, - 600, 280, 725, 280, 431, 649, 440, 752, 617, 318, - 483, 686, 134, 493, 484, 159, 318, 159, 494, 440, - 650, 757, 495, 328, 318, 611, 318, 78, 600, 318, - 2, 7, 20, 440, 691, 340, 78, 598, 2, 746, - 598, 752, 358, 757, 78, 363, 440, 364, -25, -25, - 57, 440, 281, 440, 713, 440, 281, 751, 32, 80, - 567, 754, 81, 20, 568, 317, 319, 384, 80, 121, - 492, 81, 20, 319, -495, -495, 80, 281, 32, 81, - 20, 319, 32, 319, 316, 385, 319, 316, 386, -25, - 320, 432, -338, -338, -25, -25, -25, 320, 734, 32, - -25, 735, 387, 140, -25, 320, 399, 320, 141, 142, - 320, 400, 35, 377, 378, 379, 380, 281, 78, 316, - 281, 316, -340, -340, -153, 318, 727, 122, 434, 36, - 476, 468, 617, 477, 582, 37, 493, 358, 281, 438, - 281, 494, 442, 281, -338, 495, 139, 321, -338, 452, - 80, 549, 381, 81, 20, 20, 281, 403, 404, 2, - 584, 405, 316, 594, 764, 78, 316, 367, 368, 768, - 281, 770, 620, 771, -340, -493, -493, 359, -340, 372, - 373, 360, 319, 281, 625, 361, 626, 316, 281, 630, - 281, 636, 281, 156, 646, 316, 656, 80, 662, 78, - 81, 20, 382, 383, 322, 156, 320, 663, 79, 393, - 4, 78, 390, 391, 317, 600, 5, 317, -15, 664, - 79, 707, 4, -493, -493, 359, 35, 316, 5, 429, - 316, 80, 78, 430, 81, 20, 519, 521, 523, 525, - 369, 370, 371, 80, 157, 158, 81, 20, 316, 317, - 316, 317, 720, 316, -404, -404, 157, 255, 321, 374, - 375, 376, -405, -405, 80, 321, 316, 81, 20, 465, - 466, 467, 733, 321, 318, 321, -15, 318, 321, 586, - 316, -493, -493, 359, 141, 142, 316, 429, 509, 511, - -204, 361, 317, 316, 736, 316, 317, 737, 316, -15, - 316, 2, 316, 739, -493, -493, 359, 78, 738, 318, - 429, 318, 530, 532, 627, 322, 79, 317, 4, 745, - 747, 2, 322, 35, 5, 317, 755, 78, 756, 78, - 322, 319, 322, 765, 319, 322, 79, 762, 4, 80, - 767, 769, 81, 20, 5, 773, 37, 513, 515, 517, - 774, 528, 318, 82, 33, 320, 318, 317, 320, 80, - 317, 80, 81, 20, 81, 20, 319, 75, 319, -493, - -493, 359, 108, 126, 321, 479, 190, 318, 317, 361, - 317, 256, 394, 317, 254, 318, 552, -493, -493, 359, - 320, 73, 320, 360, 127, 402, 317, 430, 448, 714, - 715, 641, 642, 472, 534, 538, 451, 536, 540, 319, - 317, 542, 685, 319, 0, 0, 317, 318, 547, 0, - 318, 0, 0, 317, 0, 317, 0, 0, 317, 0, - 317, 322, 317, 320, 319, 0, 0, 320, 318, 0, - 318, 0, 319, 318, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 318, 0, 320, 0, - 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, - 318, 0, 0, 0, 319, 0, 318, 319, 0, 0, - 0, 0, 0, 318, 0, 318, 0, 0, 318, 0, - 318, 0, 318, 0, 0, 319, 0, 319, 320, 0, - 319, 320, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 319, 0, 0, 0, 0, 0, 320, - 0, 320, 0, 321, 320, 0, 321, 319, 0, 0, - 0, 0, 0, 319, 0, 0, 0, 320, 0, 0, + 176, 554, 29, 438, 450, 152, 459, 59, 84, 287, + 357, 67, 184, 442, 613, 325, 16, 117, 143, 38, + 93, 445, 174, 446, 20, 16, 16, 16, 342, 59, + 493, 462, 723, 48, 59, 84, 83, 76, 61, 719, + 84, 120, 61, 144, 62, 50, 16, 342, 694, 16, + 16, 249, 93, 124, 251, 174, 150, 153, 88, 558, + 61, 19, 260, 123, 327, 61, 363, 16, 83, 586, + 328, 165, 64, 262, 560, 84, 347, 146, 89, 84, + 334, 336, 338, 340, 474, 88, 482, 173, 349, 351, + 88, 479, 481, 59, 648, 186, 494, 463, 50, 67, + 719, 495, 673, 83, 165, 496, 84, 179, 84, 694, + 89, 316, 694, 246, -320, 20, 648, 39, 582, 40, + 173, 280, 137, 762, 61, 88, 84, 562, 343, 88, + 61, 49, 767, 50, 123, 77, 83, 25, 27, -155, + 145, 695, 741, 678, 345, 160, 20, 343, 353, 180, + 629, 125, 399, 632, 326, 396, 88, 559, 88, 607, + 41, 429, 457, 346, -94, -94, 422, -292, 587, 52, + 54, 281, 561, 57, 147, 694, 88, 741, 160, 483, + 694, 69, 694, 57, 694, 625, 698, 649, 331, 331, + 331, 331, 187, 618, 61, 674, 331, 331, 354, 84, + 701, 618, 695, 258, 245, 695, -320, 461, 600, 732, + 247, 603, 110, -97, 133, 618, 113, 575, -97, -97, + -97, -97, 42, 316, 610, 563, 129, 179, 688, 84, + 316, 650, 421, 280, 619, 742, 650, 555, 316, 647, + 316, 618, 708, 316, -30, 1, 651, 698, 622, 88, + 698, 651, 118, 280, -156, 110, 113, 434, 504, 506, + 508, 701, 668, 411, 701, 670, 355, 245, 695, 180, + 760, 438, 189, 695, 84, 695, 618, 695, 667, 88, + 652, 549, 389, 281, 659, 714, 450, 328, 2, 740, + 441, 756, 616, 119, 67, 482, 45, -104, 441, 3, + 441, -104, 179, 447, 682, 4, 407, 425, 282, 640, + 26, 5, 189, 698, 690, 576, 579, 704, 698, 432, + 698, 597, 698, 448, 88, 61, 157, 701, 528, 707, + 410, 620, 701, 416, 701, 128, 701, 731, 71, 316, + 751, 428, 101, 7, 180, 623, 438, -65, 20, 280, + 137, 367, 633, 692, 390, 709, 74, 148, 46, 669, + 450, 412, 671, -25, -25, 609, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 88, 331, + 331, 331, 331, 331, 331, 331, 630, 759, 577, 764, + -65, 417, 20, -66, 84, 20, 702, 317, 408, 551, + 42, 413, 724, 157, -25, 426, 433, -65, 427, -25, + -25, -25, 189, 750, 442, -25, 419, 445, 46, -25, + 282, 177, 434, 423, 743, 492, 454, 282, 318, 500, + 475, 134, -158, 167, 438, 282, -66, 282, 635, 633, + 747, -97, 710, -97, 88, 634, -97, -97, -97, -97, + -65, 450, 611, 753, 546, 601, 28, 31, 501, 189, + 450, 638, 641, 133, 2, 644, 167, 758, 486, 645, + 78, 645, 557, 331, 672, 135, 465, 407, 248, 331, + 692, 31, 565, 418, 567, 747, 53, 753, 316, 758, + -254, 316, 683, 100, 492, 57, 157, 498, 280, 676, + 106, 280, 80, 55, 58, 81, 20, 56, 420, 317, + 66, 744, -31, 1, 178, 424, 317, 590, 455, 592, + 98, 102, 476, 316, 317, 316, 317, -495, -495, 317, + 109, 636, 761, 598, 487, 131, 282, -28, 1, 112, + 318, 20, 727, 612, 492, 497, 601, 318, 281, 245, + 502, 281, 729, 639, 319, 318, 2, 318, 725, 20, + 318, 646, 149, 730, 57, 151, 316, 189, 154, 733, + 316, 20, 599, 4, 183, 599, 280, -29, 1, 5, + 188, 2, 324, 366, 203, 84, 601, 593, 20, 20, + 456, 316, 3, 460, 594, 20, 404, 405, 4, 316, + 406, 280, -34, 1, 5, 20, 20, 331, 331, 17, + 35, 7, 6, 179, 252, 20, 320, -139, 17, 17, + 17, 2, 464, 331, 20, 317, 281, 36, -33, 1, + 441, 316, 3, 37, 316, 88, 7, 360, 4, 17, + 253, 361, 17, 17, 5, 362, 2, 20, 138, 139, + 20, 281, 316, 20, 316, 180, 318, 316, 735, 20, + 17, 736, 280, 4, 280, 20, 319, 20, 20, 5, + 316, 90, 2, 319, 257, 20, 7, 134, 20, -32, + 1, 319, 680, 319, 316, 282, 319, 329, 282, 4, + 316, 441, -35, 1, 441, 5, 157, 316, 32, 316, + 344, 7, 316, 90, 316, 321, 316, 20, 99, 341, + 617, 458, 281, 103, 281, 712, 618, 441, 32, 527, + 684, 720, 32, 2, 765, 159, 618, 7, 320, 769, + 441, 771, 359, 772, 3, 320, 2, 703, 161, 32, + 4, 726, 364, 320, 441, 320, 5, 618, 320, 78, + -339, -339, 365, 4, 2, 385, 159, 441, 159, 5, + 78, 57, 441, 282, 441, 157, 441, 282, 78, 397, + 387, 161, 155, 386, 317, 493, 477, 317, 7, 478, + 2, 80, 319, 359, 81, 20, 78, 121, 282, 484, + 388, 7, 80, 485, 322, 81, 20, 752, 401, 493, + 80, 755, -339, 81, 20, 318, -339, 140, 318, 317, + 400, 317, 141, 142, 30, -154, 34, 321, 80, 728, + 435, 81, 20, 439, 321, 618, -341, -341, 282, 118, + 35, 282, 321, 359, 321, 469, 78, 321, 51, 578, + 318, 494, 318, 139, 320, 122, 495, 36, 583, 282, + 496, 282, 317, 37, 282, 568, 317, 250, 139, 569, + 20, -496, -496, 687, 602, 494, 604, 282, 80, 585, + 495, 81, 20, 2, 496, 368, 369, 317, -341, 78, + 626, 282, -341, 318, 20, 317, 443, 318, 79, 453, + 4, 370, 371, 372, 282, 550, 5, 373, 374, 282, + 595, 282, 621, 282, 383, 384, 322, 627, 318, 391, + 392, 80, 156, 322, 81, 20, 318, 317, 78, 631, + 317, 322, 637, 322, 323, 82, 322, 79, 647, 4, + 657, 319, 663, 321, 319, 5, -405, -405, 317, 2, + 317, -406, -406, 317, 664, 78, 141, 142, 318, 665, + 80, 318, 708, 81, 20, 601, 317, 375, 376, 377, + 721, 35, 587, 157, 158, 734, 319, 78, 319, 318, + 317, 318, 510, 512, 318, -205, 317, 80, 531, 533, + 81, 20, 737, 317, 37, 317, 738, 318, 317, 394, + 317, 35, 317, 320, 739, 740, 320, 78, 746, 80, + 748, 318, 81, 20, 466, 467, 468, 318, 756, 319, + 514, 516, 518, 319, 318, 757, 318, 763, 766, 318, + 768, 318, 322, 318, 378, 379, 380, 381, 320, 80, + 320, 2, 81, 20, 319, 770, 323, 78, 774, -494, + -494, 360, 319, 323, 775, 361, 79, 529, 4, 362, + 33, 323, 75, 323, 5, 108, 323, 395, 520, 522, + 524, 526, 190, 382, 156, 256, 553, 73, 254, 80, + 78, 320, 81, 20, 319, 320, 127, 319, 403, 79, + 449, 4, 321, 126, 715, 321, 716, 5, -494, -494, + 360, 452, 473, 642, 480, 319, 320, 319, 362, 535, + 319, 643, 80, -15, 320, 81, 20, 537, -494, -494, + 360, 541, 548, 319, 430, 157, 255, 321, 431, 321, + 539, 686, 0, -15, 543, 0, 0, 319, -494, -494, + 360, 0, 0, 319, 430, 0, 320, 0, 362, 320, 319, 0, 319, 0, 0, 319, 0, 319, 0, 319, - 0, 320, 0, 0, 0, 0, 0, 320, 321, 0, - 321, 0, 0, 0, 320, 0, 320, 0, 0, 320, - 0, 320, 0, 320, 0, 0, 0, 0, 0, 0, - 322, 0, 0, 322, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 322, 0, 322, 0, 0, - 0, 0, 331, 331, 331, 331, 321, 0, 0, 0, - 331, 331, 0, 0, 321, 0, 0, 0, 0, 0, - 0, 0, 332, 332, 332, 332, 0, 0, 0, 0, - 332, 332, 0, 0, 0, 0, 0, 0, 322, 0, - 0, 0, 322, 0, 0, 0, 321, 0, 0, 321, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 322, 0, 0, 0, 321, 0, 321, - 0, 322, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 0, 0, 0, 322, 0, 321, 322, 0, 0, 0, - 0, 0, 321, 0, 321, 0, 0, 321, 0, 321, - 0, 321, 0, 0, 322, 0, 322, 0, 0, 322, + 0, 0, 323, 0, 0, 0, 0, 320, 0, 320, + 321, -15, 320, 0, 321, 0, -494, -494, 360, 0, + 0, 322, 430, 0, 322, 320, 628, -494, -494, 360, + 0, 0, 0, 361, 0, 321, 0, 431, 0, 320, + 0, 0, 0, 321, 0, 320, 0, 0, 0, 0, + 0, 0, 320, 0, 320, 0, 322, 320, 322, 320, + 0, 320, 0, 0, 332, 332, 332, 332, 0, 0, + 0, 0, 332, 332, 0, 321, 0, 0, 321, 0, + 0, 0, 0, 0, 0, 333, 333, 333, 333, 0, + 0, 0, 0, 333, 333, 0, 321, 0, 321, 322, + 0, 321, 0, 322, 0, 0, 0, 0, 191, 0, + 192, 193, 0, 0, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 322, 0, 0, 0, 321, 0, + 0, 0, 322, 0, 321, 0, 0, 0, 0, 0, + 0, 321, 0, 321, 0, 0, 321, 0, 321, 0, + 321, 323, 194, 195, 323, 0, 0, 78, 0, 0, + 0, 0, 0, 0, 322, 0, 196, 322, 0, 0, + 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, + 0, 0, 0, 199, 0, 322, 323, 322, 323, 80, + 322, 0, 81, 20, 0, 0, 200, 201, 0, 0, + 202, 0, 203, 322, 0, 0, 0, 0, 0, 204, + 205, 206, 207, 0, 0, 208, 209, 322, 0, 0, + 0, 0, 0, 322, 0, 0, 0, 0, 0, 323, + 322, 0, 322, 323, 0, 322, 0, 322, 677, 322, + 0, 0, 332, 332, 332, 332, 332, 332, 332, 332, + 332, 332, 332, 332, 323, 332, 332, 332, 332, 332, + 332, 332, 323, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 0, 333, 333, 333, 333, + 333, 333, 333, 0, 0, 0, 0, 78, 0, 0, + 0, 0, 0, 0, 323, 0, 196, 323, 0, 0, + 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, + 0, 0, 0, 199, 0, 323, 0, 323, 0, 80, + 323, 0, 81, 20, 0, 0, 200, 201, 0, 0, + 202, 0, 0, 323, 263, 0, 0, 0, 0, 204, + 205, 206, 207, 0, 0, 208, 209, 323, 0, 332, + 0, 0, 0, 323, 0, 332, 0, 0, 0, 0, + 323, 0, 323, 0, 0, 323, 0, 323, 0, 323, + 333, 0, 0, 0, 0, 0, 333, 264, 194, 195, + 650, 265, 266, 78, 267, 0, 0, 268, 0, 0, + 0, 269, 196, 0, 0, 651, 0, 0, 270, 271, + 5, 272, 0, 273, 274, 198, 275, 0, 78, 276, + 0, 0, 0, 0, 0, 80, 0, 196, 81, 20, + 0, 0, 0, 197, 0, 0, 277, 0, 157, 717, + 198, 0, 278, 0, 199, 204, 205, 206, 207, 0, + 80, 208, 209, 81, 20, 0, 0, 200, 201, 0, + 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, + 204, 205, 206, 207, 263, 0, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, - 0, 0, 322, 0, 0, 0, 0, 0, 0, 322, - 0, 322, 0, 0, 322, 0, 322, 262, 322, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, - 331, 0, 331, 331, 331, 331, 331, 331, 331, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 0, 332, 332, 332, 332, 332, 332, 332, 0, - 263, 194, 195, 649, 264, 265, 78, 266, 0, 0, - 267, 0, 0, 0, 268, 196, 0, 0, 650, 0, - 0, 269, 270, 5, 271, 0, 272, 273, 198, 274, - 262, 0, 275, 0, 0, 0, 0, 0, 80, 0, - 0, 81, 20, 0, 0, 0, 0, 0, 0, 276, - 0, 157, 716, 0, 0, 277, 0, 0, 204, 205, - 206, 207, 0, 0, 208, 209, 331, 0, 0, 0, - 0, 0, 331, 263, 194, 195, 649, 264, 265, 78, - 266, 0, 0, 267, 0, 0, 332, 268, 196, 0, - 0, 650, 332, 0, 269, 270, 5, 271, 0, 272, - 273, 198, 274, 0, 262, 275, 0, 0, 0, 0, - 0, 80, 0, 0, 81, 20, 0, 0, 0, 0, - 0, 0, 276, 0, 157, 744, 0, 0, 277, 0, - 0, 204, 205, 206, 207, 0, 0, 208, 209, 0, - 0, 0, 0, 0, 0, 0, 0, 263, 194, 195, - -263, 264, 265, 78, 266, 0, 0, 267, 0, 0, - 0, 268, 196, 0, 0, -263, 0, 0, 269, 270, - 5, 271, 0, 272, 273, 198, 274, 0, 0, 275, - 262, 0, 0, 0, 0, 80, 0, 0, 81, 20, - 0, 0, 0, 0, 0, 0, 276, 0, 157, -263, - 331, 331, 277, 0, 0, 204, 205, 206, 207, 0, - 0, 208, 209, 0, 0, 0, 331, 0, 0, 0, - 332, 332, 0, 263, 194, 195, 0, 264, 265, 78, - 266, 0, 0, 267, 0, 0, 332, 268, 196, 0, - 0, 0, 0, 0, 269, 270, 5, 271, 262, 272, - 273, 198, 274, 0, 0, 275, 0, 0, 0, 0, + 0, 0, 0, 332, 332, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, + 0, 0, 0, 0, 333, 333, 0, 264, 194, 195, + 650, 265, 266, 78, 267, 0, 0, 268, 0, 0, + 333, 269, 196, 0, 0, 651, 0, 0, 270, 271, + 5, 272, 263, 273, 274, 198, 275, 0, 0, 276, + 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, + 0, 0, 0, 0, 0, 0, 277, 0, 157, 745, + 0, 0, 278, 0, 0, 204, 205, 206, 207, 0, + 0, 208, 209, 0, 0, 264, 194, 195, -264, 265, + 266, 78, 267, 0, 0, 268, 0, 0, 0, 269, + 196, 0, 0, -264, 0, 0, 270, 271, 5, 272, + 263, 273, 274, 198, 275, 0, 0, 276, 0, 0, + 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, + 0, 0, 0, 0, 277, 0, 157, -264, 0, 0, + 278, 0, 0, 204, 205, 206, 207, 0, 0, 208, + 209, 0, 0, 264, 194, 195, 0, 265, 266, 78, + 267, 0, 0, 268, 0, 0, 0, 269, 196, 0, + 0, 0, 0, 0, 270, 271, 5, 272, 263, 273, + 274, 198, 275, 0, 0, 276, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 0, 0, - 0, 0, 276, 0, 157, 435, 0, 0, 277, 0, + 0, 0, 277, 0, 157, 436, 0, 0, 278, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 0, - 0, 263, 194, 195, 0, 264, 265, 78, 266, 0, - 0, 267, 0, 0, 0, 268, 196, 0, 0, 0, - 0, 0, 269, 270, 5, 271, 262, 272, 273, 198, - 274, 0, 0, 275, 0, 0, 0, 0, 0, 80, + 0, 264, 194, 195, 0, 265, 266, 78, 267, 0, + 0, 268, 0, 0, 0, 269, 196, 0, 0, 0, + 0, 0, 270, 271, 5, 272, 263, 273, 274, 198, + 275, 0, 0, 276, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 0, 0, 0, 0, - 276, 0, 157, 0, 0, 0, 277, 0, 0, 204, - 205, 206, 207, 0, 0, 208, 209, 0, 0, 439, - 194, 195, 0, 264, 265, 78, 266, 0, 0, 267, - 0, 0, 0, 268, 196, 0, 0, 0, 0, 0, - 269, 270, 262, 271, 0, 272, 273, 198, 274, 0, - 0, 275, 0, 0, 0, 0, 0, 80, 0, 0, - 81, 20, 0, 0, 0, 0, 0, 0, 276, 0, - 157, 0, 0, 0, 277, 0, 0, 204, 205, 206, - 207, 0, 0, 208, 209, 439, 194, 195, 0, 690, - 265, 78, 266, 0, 0, 267, 0, 0, 0, 268, - 196, 0, 0, 0, 0, 0, 269, 270, 0, 271, - 0, 272, 273, 198, 274, 0, 613, 275, 192, 193, + 277, 0, 157, 0, 0, 0, 278, 0, 0, 204, + 205, 206, 207, 0, 0, 208, 209, 0, 0, 440, + 194, 195, 0, 265, 266, 78, 267, 0, 0, 268, + 0, 0, 0, 269, 196, 0, 0, 0, 0, 0, + 270, 271, 263, 272, 0, 273, 274, 198, 275, 0, + 0, 276, 0, 0, 0, 0, 0, 80, 0, 0, + 81, 20, 0, 0, 0, 0, 0, 0, 277, 0, + 157, 0, 0, 0, 278, 0, 0, 204, 205, 206, + 207, 0, 0, 208, 209, 440, 194, 195, 0, 691, + 266, 78, 267, 0, 0, 268, 0, 0, 0, 269, + 196, 0, 0, 0, 0, 0, 270, 271, 0, 272, + 0, 273, 274, 198, 275, 0, 614, 276, 192, 193, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, - 0, 0, 0, 0, 276, 0, 157, 0, 0, 0, - 277, 0, 0, 204, 205, 206, 207, 0, 0, 208, + 0, 0, 0, 0, 277, 0, 157, 0, 0, 0, + 278, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 195, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, - 197, 191, 0, 192, 193, 0, 0, 198, 0, 0, + 197, 414, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, - 203, 614, 0, 0, 0, 0, 0, 204, 205, 206, + 203, 615, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 413, 0, 192, 193, 0, 0, 0, 196, + 78, 0, 544, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, - 201, 0, 0, 202, 0, 203, 194, 195, 0, 0, + 201, 0, 0, 202, 0, 0, 194, 195, 0, 415, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, - 196, 0, 0, 0, 0, 0, 197, 543, 0, 192, + 196, 0, 0, 0, 0, 0, 197, 491, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, - 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, + 0, 0, 0, 80, 0, 0, 81, 20, 0, 545, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, - 414, 0, 0, 204, 205, 206, 207, 0, 0, 208, - 209, 194, 195, 0, 0, 0, 78, 0, 490, 0, + 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, + 209, 194, 195, 0, 0, 0, 78, 0, 580, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, - 0, 81, 20, 0, 544, 200, 201, 0, 0, 202, - 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, + 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, + 0, 0, 194, 195, 148, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, - 0, 0, 197, 579, 0, 192, 193, 0, 0, 198, + 0, 0, 197, 588, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, - 202, 0, 0, 0, 0, 148, 0, 0, 0, 204, + 202, 581, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, - 0, 0, 78, 0, 587, 0, 192, 193, 0, 0, + 0, 0, 78, 0, 596, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, - 0, 200, 201, 0, 0, 202, 580, 0, 194, 195, - 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, - 208, 209, 196, 0, 0, 0, 0, 0, 197, 595, + 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, + 0, 589, 0, 78, 204, 205, 206, 207, 0, 0, + 208, 209, 196, 0, 0, 0, 0, 0, 197, 605, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, - 0, 0, 588, 0, 0, 204, 205, 206, 207, 0, + 0, 597, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, - 604, 0, 192, 193, 0, 0, 0, 196, 0, 0, + 491, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, - 0, 202, 0, 0, 194, 195, 596, 0, 0, 78, + 0, 202, 606, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, - 0, 0, 0, 0, 197, 490, 0, 192, 193, 0, + 0, 0, 0, 0, 197, 580, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, - 0, 0, 202, 605, 0, 0, 0, 0, 0, 0, + 0, 0, 202, 0, 0, 0, 0, 597, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, - 195, 0, 0, 0, 78, 0, 579, 0, 192, 193, + 195, 0, 0, 0, 78, 0, 705, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, - 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, - 194, 195, 596, 0, 0, 78, 204, 205, 206, 207, + 20, 0, 0, 200, 201, 0, 0, 202, 689, 0, + 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, - 197, 704, 0, 192, 193, 0, 0, 198, 0, 0, + 197, 705, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, - 81, 20, 0, 0, 200, 201, 0, 0, 202, 688, + 81, 20, 0, 0, 200, 201, 0, 0, 202, 706, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 704, 0, 192, 193, 0, 0, 0, 196, + 78, 0, 588, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, - 201, 0, 0, 202, 705, 0, 194, 195, 0, 0, + 201, 0, 0, 202, 749, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, - 196, 0, 0, 0, 0, 0, 197, 587, 0, 192, + 196, 0, 0, 0, 0, 0, 197, 330, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, - 200, 201, 0, 0, 202, 748, 0, 0, 0, 0, - 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, - 209, 194, 195, 0, 0, 0, 78, 0, 329, 0, + 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, + 754, 0, 0, 204, 205, 206, 207, 0, 0, 208, + 209, 194, 195, 0, 0, 0, 78, 0, 335, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, - 0, 0, 194, 195, 0, 753, 0, 78, 204, 205, + 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, - 0, 0, 197, 334, 0, 192, 193, 0, 0, 198, + 0, 0, 197, 337, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, - 0, 0, 78, 0, 336, 0, 192, 193, 0, 0, + 0, 0, 78, 0, 339, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, - 208, 209, 196, 0, 0, 0, 0, 0, 197, 338, + 208, 209, 196, 0, 0, 0, 0, 0, 197, 348, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, - 347, 0, 192, 193, 0, 0, 0, 196, 0, 0, + 350, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, - 0, 0, 0, 0, 197, 349, 0, 192, 193, 0, + 0, 0, 0, 0, 197, 352, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, - 195, 0, 0, 0, 78, 0, 351, 0, 192, 193, + 195, 0, 0, 0, 78, 0, 409, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, - 197, 408, 0, 192, 193, 0, 0, 198, 0, 0, + 197, 491, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 490, 0, 192, 193, 0, 0, 0, 196, + 78, 0, 499, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, - 196, 0, 0, 0, 0, 0, 197, 498, 0, 192, + 196, 0, 0, 0, 0, 0, 197, 503, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, - 209, 194, 195, 0, 0, 0, 78, 0, 502, 0, + 209, 194, 195, 0, 0, 0, 78, 0, 505, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, - 0, 0, 197, 504, 0, 192, 193, 0, 0, 198, + 0, 0, 197, 507, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, - 0, 0, 78, 0, 506, 0, 192, 193, 0, 0, + 0, 0, 78, 0, 509, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, - 208, 209, 196, 0, 0, 0, 0, 0, 197, 508, + 208, 209, 196, 0, 0, 0, 0, 0, 197, 511, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, - 510, 0, 192, 193, 0, 0, 0, 196, 0, 0, + 513, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, - 0, 0, 0, 0, 197, 512, 0, 192, 193, 0, + 0, 0, 0, 0, 197, 515, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, - 195, 0, 0, 0, 78, 0, 514, 0, 192, 193, + 195, 0, 0, 0, 78, 0, 517, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, - 197, 516, 0, 192, 193, 0, 0, 198, 0, 0, + 197, 519, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 518, 0, 192, 193, 0, 0, 0, 196, + 78, 0, 521, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, - 196, 0, 0, 0, 0, 0, 197, 520, 0, 192, + 196, 0, 0, 0, 0, 0, 197, 523, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, - 209, 194, 195, 0, 0, 0, 78, 0, 522, 0, + 209, 194, 195, 0, 0, 0, 78, 0, 525, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, - 0, 0, 197, 524, 0, 192, 193, 0, 0, 198, + 0, 0, 197, 530, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, - 0, 0, 78, 0, 529, 0, 192, 193, 0, 0, + 0, 0, 78, 0, 532, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, - 208, 209, 196, 0, 0, 0, 0, 0, 197, 531, + 208, 209, 196, 0, 0, 0, 0, 0, 197, 534, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, - 533, 0, 192, 193, 0, 0, 0, 196, 0, 0, + 536, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, - 0, 0, 0, 0, 197, 535, 0, 192, 193, 0, + 0, 0, 0, 0, 197, 538, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, - 195, 0, 0, 0, 78, 0, 537, 0, 192, 193, + 195, 0, 0, 0, 78, 0, 540, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, - 197, 539, 0, 192, 193, 0, 0, 198, 0, 0, + 197, 542, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 541, 0, 192, 193, 0, 0, 0, 196, + 78, 0, 547, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, - 196, 0, 0, 0, 0, 0, 197, 546, 0, 192, + 196, 0, 0, 0, 0, 0, 197, 556, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, - 209, 194, 195, 0, 0, 0, 78, 0, 555, 0, + 209, 194, 195, 0, 0, 0, 78, 0, 564, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, - 0, 0, 197, 563, 0, 192, 193, 0, 0, 198, + 0, 0, 197, 566, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, - 0, 0, 78, 0, 565, 0, 192, 193, 0, 0, + 0, 0, 78, 0, 591, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, - 208, 209, 196, 0, 0, 0, 0, 0, 197, 590, + 208, 209, 196, 0, 0, 0, 0, 0, 197, 608, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, - 607, 0, 192, 193, 0, 0, 0, 196, 0, 0, + 675, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, - 0, 0, 0, 0, 197, 674, 0, 192, 193, 0, + 0, 0, 0, 0, 197, 679, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, - 195, 0, 0, 0, 78, 0, 678, 0, 192, 193, + 195, 0, 0, 0, 78, 0, 685, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, - 197, 684, 0, 192, 193, 0, 0, 198, 0, 0, + 197, 711, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 710, 0, 192, 193, 0, 0, 0, 196, + 78, 0, 574, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, - 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, + 0, 0, 198, 0, 0, 0, 199, 660, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, - 201, 0, 0, 202, 0, 0, 194, 195, 0, 0, - 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, - 196, 0, 0, 0, 0, 0, 197, 0, 573, 0, - 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, - 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, - 200, 201, 0, 659, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, - 209, -286, -286, -286, 0, 0, 0, -286, 0, 0, - 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, - 0, 0, -286, 0, 0, 721, 0, 194, 195, -286, - 0, 0, 78, -286, 0, 0, 0, 0, 0, -286, - 0, 196, -286, -286, 0, 0, 0, 197, 0, 0, - -286, 0, 0, 0, 198, 0, -286, 0, 199, -286, - -286, -286, -286, 0, 80, -286, -286, 81, 20, 194, - 195, 0, 0, 0, 78, 276, -294, 0, 0, 0, - 0, 0, 0, 196, 204, 205, 206, 207, 0, 197, - 208, 209, 657, 0, 0, 0, 198, 0, 0, 0, - 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, - 20, 0, 0, 0, 0, 0, 0, 276, -294, 0, - 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, - 0, 0, 208, 209, 676, 0, 194, 195, 0, 0, - 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, - 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, - 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, - 0, 0, 0, 80, 0, 0, 81, 20, 192, 193, - 0, 0, 0, 78, 276, 0, 0, 0, 0, 0, - 0, 0, 196, 204, 205, 206, 207, 0, 197, 208, - 209, 0, 0, 0, 0, 198, 0, 0, 0, 199, - 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, - 194, 195, 200, 201, 0, 78, 202, 0, 0, 0, + 201, 0, 0, 202, 0, -287, -287, -287, 0, 0, + 0, -287, 204, 205, 206, 207, 0, 0, 208, 209, + -287, 0, 0, 0, 0, 0, -287, 0, 0, 722, + 0, 194, 195, -287, 0, 0, 78, -287, 0, 0, + 0, 0, 0, -287, 0, 196, -287, -287, 0, 0, + 0, 197, 0, 0, -287, 0, 192, 193, 198, 0, + -287, 0, 199, -287, -287, -287, -287, 0, 80, -287, + -287, 81, 20, 194, 195, 0, 0, 0, 78, 277, + -295, 0, 0, 0, 0, 0, 0, 196, 204, 205, + 206, 207, 0, 197, 208, 209, 658, 0, 194, 195, + 198, 0, 0, 78, 199, 0, 0, 0, 0, 0, + 80, 0, 196, 81, 20, 0, 0, 0, 197, 0, + 0, 277, -295, 192, 193, 198, 0, 0, 0, 199, + 204, 205, 206, 207, 0, 80, 208, 209, 81, 20, + 194, 195, 200, 201, 0, 78, 202, 0, 203, 356, 0, 0, 0, 0, 196, 204, 205, 206, 207, 0, - 197, 208, 209, 192, 193, 0, 0, 198, 0, 0, - 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, - 81, 20, 0, 0, 200, 201, 0, 0, 202, 0, - 203, 355, 0, 0, 0, 0, 0, 204, 205, 206, - 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, - 78, 0, 0, 0, 192, 193, 0, 0, 0, 196, - 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, - 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, - 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, - 201, 0, 0, 202, 487, 0, 194, 195, 0, 0, + 197, 208, 209, 0, 0, 194, 195, 198, 0, 0, + 78, 199, 0, 0, 192, 193, 0, 80, 0, 196, + 81, 20, 0, 0, 0, 197, 0, 0, 277, 0, + 0, 0, 198, 0, 0, 0, 199, 204, 205, 206, + 207, 0, 80, 208, 209, 81, 20, 0, 0, 200, + 201, 0, 0, 202, 488, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, 197, 0, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, - 200, 201, 0, 0, 202, 623, 0, 0, 0, 0, + 200, 201, 0, 0, 202, 624, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, 0, 0, 192, 193, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, 202, - 665, 0, 194, 195, 0, 0, 0, 78, 204, 205, + 666, 0, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, 197, 0, 0, 192, 193, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, 0, 0, 200, 201, 0, 0, - 202, 680, 0, 0, 0, 0, 0, 0, 0, 204, + 202, 681, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, 0, 208, 209, 194, 195, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 197, 0, 0, @@ -1661,195 +1644,195 @@ static const short yytable[] = { 21, 0, 200, 201, 0, 0, 202, 0, 2, 194, 195, 0, 0, 0, 78, 204, 205, 206, 207, 0, 0, 208, 209, 196, 0, 0, 0, 0, 0, 197, 0, - 0, 0, 0, 0, 0, 198, 0, 0, 78, 199, - 0, 0, 0, 0, 0, 80, 0, 196, 81, 20, - 0, 0, 0, 197, 0, 0, 276, 0, 0, 0, - 198, 0, 0, 0, 199, 204, 205, 206, 207, 0, - 80, 208, 209, 81, 20, 0, 0, 200, 201, 0, - 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 204, 205, 206, 207, 0, 0, 208, 209 + 0, 0, 0, 0, 0, 198, 0, 0, 0, 199, + 0, 0, 0, 0, 0, 80, 0, 0, 81, 20, + 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 204, 205, 206, 207, 0, + 0, 208, 209 }; static const short yycheck[] = { 3, - 123, 62, 6, 327, 132, 179, 306, 286, 62, 175, - 42, 203, 134, 482, 46, 117, 0, 97, 1, 1, - 1, 101, 1, 1, 129, 9, 10, 11, 89, 1, - 654, 62, 64, 94, 1, 89, 345, 69, 42, 1, - 94, 662, 46, 352, 353, 1, 30, 1, 150, 33, - 34, 153, 402, 86, 175, 94, 53, 162, 62, 1, - 64, 1, 101, 94, 169, 69, 1, 51, 129, 1, - 172, 52, 133, 99, 100, 129, 198, 1, 62, 133, - 192, 193, 194, 195, 1, 89, 633, 1, 200, 201, - 94, 715, 1, 1, 434, 1, 128, 1, 129, 160, - 97, 162, 134, 94, 1, 95, 160, 63, 162, 100, - 94, 1, 1, 95, 95, 93, 99, 99, 101, 180, - 99, 175, 101, 101, 128, 129, 180, 99, 100, 133, - 134, 162, 753, 1, 101, 475, 98, 4, 5, 95, - 94, 762, 611, 1, 198, 129, 100, 694, 202, 133, - 697, 325, 254, 258, 1, 278, 160, 99, 162, 99, - 469, 501, 94, 472, 99, 286, 198, 272, 100, 36, - 37, 175, 293, 40, 98, 140, 180, 86, 162, 1, - 301, 98, 303, 50, 98, 306, 1, 95, 192, 193, - 194, 195, 253, 99, 198, 99, 200, 201, 202, 253, - 1, 551, 99, 633, 554, 94, 328, 0, 1, 99, - 100, 100, 79, 760, 1, 1, 83, 1, 765, 1, - 767, 282, 769, 1, 1, 1, 9, 1, 282, 1, - 1, 99, 286, 52, 92, 93, 402, 202, 203, 97, - 98, 99, 100, 1, 95, 1, 1, 94, 99, 253, - 33, 44, 306, 100, 594, 122, 123, 369, 370, 371, - 1, 1, 55, 100, 694, 1, 327, 697, 61, 253, - 633, 86, 139, 327, 67, 554, 98, 293, 282, 629, - 620, 402, 286, 67, 99, 301, 586, 303, 588, 293, - 630, 1, 484, 1, 101, 633, 328, 301, 99, 303, - 265, 1, 306, 268, 1, 645, 99, 94, 175, 95, - 433, 276, 179, 100, 638, 86, 98, 1, 95, 95, - 1, 99, 306, 327, 328, 99, 98, 381, 99, 1, - 760, 694, 1, 1, 697, 765, 1, 767, 93, 769, - 98, 1, 98, 327, 52, 1, 94, 1, 402, 1, - 629, 218, 100, 94, 94, 63, 694, 67, 94, 697, - 1, 1, 662, 1, 476, 369, 370, 371, 372, 373, + 132, 403, 6, 287, 307, 123, 328, 42, 62, 175, + 203, 46, 134, 294, 483, 179, 0, 83, 117, 1, + 62, 302, 129, 304, 86, 9, 10, 11, 1, 64, + 1, 1, 663, 1, 69, 89, 62, 1, 42, 655, + 94, 97, 46, 1, 95, 101, 30, 1, 634, 33, + 34, 150, 94, 1, 153, 162, 122, 123, 62, 1, + 64, 1, 169, 89, 94, 69, 1, 51, 94, 1, + 100, 129, 100, 172, 1, 129, 198, 1, 62, 133, + 192, 193, 194, 195, 346, 89, 1, 129, 200, 201, + 94, 353, 354, 128, 1, 1, 67, 67, 101, 134, + 716, 72, 1, 129, 162, 76, 160, 133, 162, 695, + 94, 175, 698, 1, 1, 86, 1, 99, 435, 101, + 162, 175, 1, 754, 128, 129, 180, 1, 101, 133, + 134, 99, 763, 101, 160, 99, 162, 4, 5, 93, + 98, 634, 1, 612, 198, 129, 86, 101, 202, 133, + 552, 99, 259, 555, 180, 254, 160, 99, 162, 476, + 1, 279, 326, 198, 99, 100, 273, 99, 100, 36, + 37, 175, 99, 40, 98, 761, 180, 1, 162, 94, + 766, 52, 768, 50, 770, 502, 634, 94, 192, 193, + 194, 195, 98, 100, 198, 94, 200, 201, 202, 253, + 634, 100, 695, 1, 140, 698, 93, 329, 470, 94, + 98, 473, 79, 92, 93, 100, 83, 1, 97, 98, + 99, 100, 63, 287, 1, 99, 95, 253, 630, 283, + 294, 47, 1, 287, 1, 94, 47, 403, 302, 1, + 304, 100, 1, 307, 0, 1, 62, 695, 1, 253, + 698, 62, 97, 307, 95, 122, 123, 283, 370, 371, + 372, 695, 1, 1, 698, 1, 202, 203, 761, 253, + 94, 555, 139, 766, 328, 768, 100, 770, 595, 283, + 96, 94, 15, 287, 587, 96, 589, 100, 44, 1, + 294, 1, 485, 97, 329, 1, 1, 95, 302, 55, + 304, 99, 328, 307, 621, 61, 1, 1, 175, 1, + 1, 67, 179, 761, 631, 99, 434, 639, 766, 1, + 768, 98, 770, 307, 328, 329, 95, 761, 382, 646, + 266, 98, 766, 269, 768, 100, 770, 99, 1, 403, + 99, 277, 1, 99, 328, 98, 630, 52, 86, 403, + 1, 218, 1, 634, 87, 1, 1, 98, 63, 98, + 663, 99, 98, 45, 46, 477, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 551, 447, 95, 1, 729, - 1, 63, 52, 447, 94, 360, 93, 760, 402, 364, - 267, 1, 765, 63, 767, 1, 769, 274, 92, 1, - 94, 278, 93, 97, 98, 99, 100, 1, 175, 286, - 88, 1, 760, 95, 389, 94, 293, 765, 93, 767, - 551, 769, 1, 554, 301, 95, 303, 93, 717, 93, - 0, 93, 407, 447, 0, 1, 86, 88, 86, 9, - 10, 11, 417, 753, 419, 0, 1, 1, 325, 129, - 99, 100, 762, 568, 429, 586, 571, 588, 1, 97, - 30, 1, 476, 33, 34, 342, 1, 605, 482, 1, - 93, 97, 93, 5, 471, 101, 473, 452, 44, 454, - 86, 51, 162, 93, 361, 623, 363, 551, 610, 44, - 554, 93, 62, 468, 1, 61, 86, 129, 629, 93, - 55, 67, 633, 72, 479, 97, 61, 86, 1, 484, - 1, 65, 67, 67, 0, 1, 1, 86, 72, 286, - 75, 1, 76, 654, 94, 402, 293, 0, 1, 100, - 162, 662, 86, 99, 301, 673, 303, 551, 175, 306, - 554, 91, 92, 86, 99, 683, 86, 0, 1, 664, - 95, 86, 1, 430, 86, 93, 433, 65, 44, 129, - 0, 1, 98, 694, 72, 629, 697, 638, 47, 55, - 83, 44, 1, 1, 638, 61, 1, 1, 1, 86, - 1, 67, 55, 62, 715, 1, 717, 96, 61, 720, - 654, 44, 162, 86, 67, 86, 610, 611, 175, 107, - 15, 86, 733, 95, 44, 1, 86, 633, 61, 122, - 123, 93, 626, 99, 67, 629, 747, 96, 64, 633, - 95, 61, 753, 69, 638, 50, 99, 67, 9, 760, - 11, 762, 0, 1, 765, 402, 767, 86, 769, 94, - 654, 95, 617, 97, 638, 100, 99, 1, 44, 286, - 44, 715, 33, 717, 50, 175, 293, 82, 86, 99, - 85, 86, 86, 86, 301, 86, 303, 61, 694, 306, - 86, 697, 87, 67, 551, 650, 44, 554, 1, 175, - 694, 656, 128, 697, 129, 94, 82, 1, 93, 85, - 86, 100, 97, 61, 720, 1, 101, 94, 94, 67, - 97, 715, 94, 717, 1, 47, 720, 733, 100, 286, - 96, 65, 53, 67, 100, 160, 293, 162, 72, 733, - 62, 747, 76, 100, 301, 94, 303, 50, 97, 306, - 44, 99, 86, 747, 760, 101, 50, 469, 44, 765, - 472, 767, 101, 769, 50, 101, 760, 97, 45, 46, - 627, 765, 629, 767, 96, 769, 633, 732, 10, 82, - 60, 736, 85, 86, 64, 402, 286, 11, 82, 1, - 1, 85, 86, 293, 91, 92, 82, 654, 30, 85, - 86, 301, 34, 303, 551, 12, 306, 554, 13, 86, - 286, 88, 45, 46, 91, 92, 93, 293, 694, 51, - 97, 697, 14, 92, 101, 301, 99, 303, 97, 98, - 306, 95, 44, 18, 19, 20, 21, 694, 50, 586, - 697, 588, 45, 46, 93, 402, 94, 59, 93, 61, - 94, 97, 100, 97, 95, 67, 67, 101, 715, 99, - 717, 72, 99, 720, 97, 76, 100, 175, 101, 99, - 82, 99, 57, 85, 86, 86, 733, 95, 96, 44, - 66, 99, 629, 93, 760, 50, 633, 45, 46, 765, - 747, 767, 93, 769, 97, 91, 92, 93, 101, 3, - 4, 97, 402, 760, 1, 101, 88, 654, 765, 93, - 767, 94, 769, 44, 1, 662, 93, 82, 99, 50, - 85, 86, 16, 17, 175, 44, 402, 94, 59, 94, - 61, 50, 91, 92, 551, 97, 67, 554, 86, 94, - 59, 1, 61, 91, 92, 93, 44, 694, 67, 97, - 697, 82, 50, 101, 85, 86, 377, 378, 379, 380, - 5, 6, 7, 82, 95, 96, 85, 86, 715, 586, - 717, 588, 94, 720, 45, 46, 95, 96, 286, 8, - 9, 10, 45, 46, 82, 293, 733, 85, 86, 97, - 98, 99, 56, 301, 551, 303, 86, 554, 306, 100, - 747, 91, 92, 93, 97, 98, 753, 97, 372, 373, - 56, 101, 629, 760, 99, 762, 633, 94, 765, 86, - 767, 44, 769, 1, 91, 92, 93, 50, 94, 586, - 97, 588, 382, 383, 101, 286, 59, 654, 61, 94, - 94, 44, 293, 44, 67, 662, 1, 50, 99, 50, - 301, 551, 303, 94, 554, 306, 59, 99, 61, 82, - 56, 94, 85, 86, 67, 0, 67, 374, 375, 376, - 0, 381, 629, 96, 11, 551, 633, 694, 554, 82, - 697, 82, 85, 86, 85, 86, 586, 54, 588, 91, - 92, 93, 75, 96, 402, 97, 139, 654, 715, 101, - 717, 162, 253, 720, 160, 662, 402, 91, 92, 93, - 586, 52, 588, 97, 94, 260, 733, 101, 306, 652, - 652, 569, 569, 345, 384, 386, 306, 385, 387, 629, - 747, 388, 626, 633, -1, -1, 753, 694, 392, -1, - 697, -1, -1, 760, -1, 762, -1, -1, 765, -1, - 767, 402, 769, 629, 654, -1, -1, 633, 715, -1, - 717, -1, 662, 720, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 733, -1, 654, -1, - -1, -1, -1, -1, -1, -1, 662, -1, -1, -1, - 747, -1, -1, -1, 694, -1, 753, 697, -1, -1, - -1, -1, -1, 760, -1, 762, -1, -1, 765, -1, - 767, -1, 769, -1, -1, 715, -1, 717, 694, -1, - 720, 697, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 733, -1, -1, -1, -1, -1, 715, - -1, 717, -1, 551, 720, -1, 554, 747, -1, -1, - -1, -1, -1, 753, -1, -1, -1, 733, -1, -1, - 760, -1, 762, -1, -1, 765, -1, 767, -1, 769, - -1, 747, -1, -1, -1, -1, -1, 753, 586, -1, - 588, -1, -1, -1, 760, -1, 762, -1, -1, 765, - -1, 767, -1, 769, -1, -1, -1, -1, -1, -1, - 551, -1, -1, 554, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 629, -1, -1, -1, 633, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 586, -1, 588, -1, -1, - -1, -1, 192, 193, 194, 195, 654, -1, -1, -1, - 200, 201, -1, -1, 662, -1, -1, -1, -1, -1, - -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, - 200, 201, -1, -1, -1, -1, -1, -1, 629, -1, - -1, -1, 633, -1, -1, -1, 694, -1, -1, 697, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 654, -1, -1, -1, 715, -1, 717, - -1, 662, 720, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 733, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 747, - -1, -1, -1, 694, -1, 753, 697, -1, -1, -1, - -1, -1, 760, -1, 762, -1, -1, 765, -1, 767, - -1, 769, -1, -1, 715, -1, 717, -1, -1, 720, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 733, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 747, -1, -1, -1, - -1, -1, 753, -1, -1, -1, -1, -1, -1, 760, - -1, 762, -1, -1, 765, -1, 767, 1, 769, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, -1, 382, 383, 384, 385, 386, 387, 388, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, -1, 382, 383, 384, 385, 386, 387, 388, -1, - 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, - 54, -1, -1, -1, 58, 59, -1, -1, 62, -1, - -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, - 1, -1, 76, -1, -1, -1, -1, -1, 82, -1, - -1, 85, 86, -1, -1, -1, -1, -1, -1, 93, - -1, 95, 96, -1, -1, 99, -1, -1, 102, 103, - 104, 105, -1, -1, 108, 109, 476, -1, -1, -1, - -1, -1, 482, 44, 45, 46, 47, 48, 49, 50, - 51, -1, -1, 54, -1, -1, 476, 58, 59, -1, - -1, 62, 482, -1, 65, 66, 67, 68, -1, 70, - 71, 72, 73, -1, 1, 76, -1, -1, -1, -1, - -1, 82, -1, -1, 85, 86, -1, -1, -1, -1, - -1, -1, 93, -1, 95, 96, -1, -1, 99, -1, - -1, 102, 103, 104, 105, -1, -1, 108, 109, -1, - -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, + 384, 385, 386, 387, 388, 389, 552, 99, 94, 99, + 95, 1, 86, 52, 448, 86, 1, 175, 93, 403, + 63, 268, 1, 95, 86, 99, 88, 52, 275, 91, + 92, 93, 279, 730, 695, 97, 1, 698, 63, 101, + 287, 1, 448, 1, 1, 361, 1, 294, 175, 365, + 1, 53, 95, 129, 718, 302, 95, 304, 1, 1, + 721, 92, 88, 94, 448, 94, 97, 98, 99, 100, + 95, 754, 94, 734, 390, 97, 1, 9, 1, 326, + 763, 1, 569, 93, 44, 572, 162, 748, 1, 1, + 50, 1, 408, 477, 606, 97, 343, 1, 1, 483, + 761, 33, 418, 93, 420, 766, 1, 768, 552, 770, + 95, 555, 624, 65, 430, 362, 95, 364, 552, 611, + 72, 555, 82, 1, 1, 85, 86, 5, 93, 287, + 1, 88, 0, 1, 94, 93, 294, 453, 93, 455, + 1, 1, 93, 587, 302, 589, 304, 91, 92, 307, + 1, 94, 94, 469, 67, 107, 403, 0, 1, 1, + 287, 86, 674, 94, 480, 72, 97, 294, 552, 485, + 93, 555, 684, 93, 175, 302, 44, 304, 665, 86, + 307, 93, 1, 93, 431, 1, 630, 434, 1, 93, + 634, 86, 470, 61, 1, 473, 630, 0, 1, 67, + 1, 44, 1, 1, 95, 639, 97, 94, 86, 86, + 1, 655, 55, 1, 101, 86, 95, 96, 61, 663, + 99, 655, 0, 1, 67, 86, 86, 611, 612, 0, + 44, 99, 75, 639, 96, 86, 175, 95, 9, 10, + 11, 44, 1, 627, 86, 403, 630, 61, 0, 1, + 634, 695, 55, 67, 698, 639, 99, 93, 61, 30, + 93, 97, 33, 34, 67, 101, 44, 86, 99, 100, + 86, 655, 716, 86, 718, 639, 403, 721, 695, 86, + 51, 698, 716, 61, 718, 86, 287, 86, 86, 67, + 734, 62, 44, 294, 99, 86, 99, 53, 86, 0, + 1, 302, 618, 304, 748, 552, 307, 100, 555, 61, + 754, 695, 0, 1, 698, 67, 95, 761, 10, 763, + 1, 99, 766, 94, 768, 175, 770, 86, 64, 101, + 94, 1, 716, 69, 718, 651, 100, 721, 30, 1, + 94, 657, 34, 44, 761, 129, 100, 99, 287, 766, + 734, 768, 101, 770, 55, 294, 44, 1, 129, 51, + 61, 94, 101, 302, 748, 304, 67, 100, 307, 50, + 45, 46, 97, 61, 44, 11, 160, 761, 162, 67, + 50, 628, 766, 630, 768, 95, 770, 634, 50, 99, + 13, 162, 128, 12, 552, 1, 94, 555, 99, 97, + 44, 82, 403, 101, 85, 86, 50, 1, 655, 96, + 14, 99, 82, 100, 175, 85, 86, 733, 95, 1, + 82, 737, 97, 85, 86, 552, 101, 92, 555, 587, + 99, 589, 97, 98, 9, 93, 11, 287, 82, 94, + 93, 85, 86, 99, 294, 100, 45, 46, 695, 97, + 44, 698, 302, 101, 304, 97, 50, 307, 33, 65, + 587, 67, 589, 100, 403, 59, 72, 61, 95, 716, + 76, 718, 630, 67, 721, 60, 634, 99, 100, 64, + 86, 91, 92, 65, 472, 67, 474, 734, 82, 66, + 72, 85, 86, 44, 76, 45, 46, 655, 97, 50, + 1, 748, 101, 630, 86, 663, 99, 634, 59, 99, + 61, 5, 6, 7, 761, 99, 67, 3, 4, 766, + 93, 768, 93, 770, 16, 17, 287, 88, 655, 91, + 92, 82, 44, 294, 85, 86, 663, 695, 50, 93, + 698, 302, 94, 304, 175, 96, 307, 59, 1, 61, + 93, 552, 99, 403, 555, 67, 45, 46, 716, 44, + 718, 45, 46, 721, 94, 50, 97, 98, 695, 94, + 82, 698, 1, 85, 86, 97, 734, 8, 9, 10, + 94, 44, 100, 95, 96, 56, 587, 50, 589, 716, + 748, 718, 373, 374, 721, 56, 754, 82, 383, 384, + 85, 86, 99, 761, 67, 763, 94, 734, 766, 94, + 768, 44, 770, 552, 94, 1, 555, 50, 94, 82, + 94, 748, 85, 86, 97, 98, 99, 754, 1, 630, + 375, 376, 377, 634, 761, 99, 763, 99, 94, 766, + 56, 768, 403, 770, 18, 19, 20, 21, 587, 82, + 589, 44, 85, 86, 655, 94, 287, 50, 0, 91, + 92, 93, 663, 294, 0, 97, 59, 382, 61, 101, + 11, 302, 54, 304, 67, 75, 307, 253, 378, 379, + 380, 381, 139, 57, 44, 162, 403, 52, 160, 82, + 50, 630, 85, 86, 695, 634, 94, 698, 261, 59, + 307, 61, 552, 96, 653, 555, 653, 67, 91, 92, + 93, 307, 346, 570, 97, 716, 655, 718, 101, 385, + 721, 570, 82, 86, 663, 85, 86, 386, 91, 92, + 93, 388, 393, 734, 97, 95, 96, 587, 101, 589, + 387, 627, -1, 86, 389, -1, -1, 748, 91, 92, + 93, -1, -1, 754, 97, -1, 695, -1, 101, 698, + 761, -1, 763, -1, -1, 766, -1, 768, -1, 770, + -1, -1, 403, -1, -1, -1, -1, 716, -1, 718, + 630, 86, 721, -1, 634, -1, 91, 92, 93, -1, + -1, 552, 97, -1, 555, 734, 101, 91, 92, 93, + -1, -1, -1, 97, -1, 655, -1, 101, -1, 748, + -1, -1, -1, 663, -1, 754, -1, -1, -1, -1, + -1, -1, 761, -1, 763, -1, 587, 766, 589, 768, + -1, 770, -1, -1, 192, 193, 194, 195, -1, -1, + -1, -1, 200, 201, -1, 695, -1, -1, 698, -1, + -1, -1, -1, -1, -1, 192, 193, 194, 195, -1, + -1, -1, -1, 200, 201, -1, 716, -1, 718, 630, + -1, 721, -1, 634, -1, -1, -1, -1, 1, -1, + 3, 4, -1, -1, 734, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 655, -1, -1, -1, 748, -1, + -1, -1, 663, -1, 754, -1, -1, -1, -1, -1, + -1, 761, -1, 763, -1, -1, 766, -1, 768, -1, + 770, 552, 45, 46, 555, -1, -1, 50, -1, -1, + -1, -1, -1, -1, 695, -1, 59, 698, -1, -1, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, + -1, -1, -1, 76, -1, 716, 587, 718, 589, 82, + 721, -1, 85, 86, -1, -1, 89, 90, -1, -1, + 93, -1, 95, 734, -1, -1, -1, -1, -1, 102, + 103, 104, 105, -1, -1, 108, 109, 748, -1, -1, + -1, -1, -1, 754, -1, -1, -1, -1, -1, 630, + 761, -1, 763, 634, -1, 766, -1, 768, 1, 770, + -1, -1, 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 655, 383, 384, 385, 386, 387, + 388, 389, 663, 370, 371, 372, 373, 374, 375, 376, + 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, + 387, 388, 389, -1, -1, -1, -1, 50, -1, -1, + -1, -1, -1, -1, 695, -1, 59, 698, -1, -1, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, + -1, -1, -1, 76, -1, 716, -1, 718, -1, 82, + 721, -1, 85, 86, -1, -1, 89, 90, -1, -1, + 93, -1, -1, 734, 1, -1, -1, -1, -1, 102, + 103, 104, 105, -1, -1, 108, 109, 748, -1, 477, + -1, -1, -1, 754, -1, 483, -1, -1, -1, -1, + 761, -1, 763, -1, -1, 766, -1, 768, -1, 770, + 477, -1, -1, -1, -1, -1, 483, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, 58, 59, -1, -1, 62, -1, -1, 65, 66, - 67, 68, -1, 70, 71, 72, 73, -1, -1, 76, - 1, -1, -1, -1, -1, 82, -1, -1, 85, 86, + 67, 68, -1, 70, 71, 72, 73, -1, 50, 76, + -1, -1, -1, -1, -1, 82, -1, 59, 85, 86, + -1, -1, -1, 65, -1, -1, 93, -1, 95, 96, + 72, -1, 99, -1, 76, 102, 103, 104, 105, -1, + 82, 108, 109, 85, 86, -1, -1, 89, 90, -1, + -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, + 102, 103, 104, 105, 1, -1, 108, 109, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 611, 612, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 627, + -1, -1, -1, -1, 611, 612, -1, 44, 45, 46, + 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, + 627, 58, 59, -1, -1, 62, -1, -1, 65, 66, + 67, 68, 1, 70, 71, 72, 73, -1, -1, 76, + -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, 93, -1, 95, 96, - 610, 611, 99, -1, -1, 102, 103, 104, 105, -1, - -1, 108, 109, -1, -1, -1, 626, -1, -1, -1, - 610, 611, -1, 44, 45, 46, -1, 48, 49, 50, - 51, -1, -1, 54, -1, -1, 626, 58, 59, -1, + -1, -1, 99, -1, -1, 102, 103, 104, 105, -1, + -1, 108, 109, -1, -1, 44, 45, 46, 47, 48, + 49, 50, 51, -1, -1, 54, -1, -1, -1, 58, + 59, -1, -1, 62, -1, -1, 65, 66, 67, 68, + 1, 70, 71, 72, 73, -1, -1, 76, -1, -1, + -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, + -1, -1, -1, -1, 93, -1, 95, 96, -1, -1, + 99, -1, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 44, 45, 46, -1, 48, 49, 50, + 51, -1, -1, 54, -1, -1, -1, 58, 59, -1, -1, -1, -1, -1, 65, 66, 67, 68, 1, 70, 71, 72, 73, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, -1, -1, @@ -1887,54 +1870,54 @@ static const short yycheck[] = { 3, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, - 90, -1, -1, 93, -1, 95, 45, 46, -1, -1, + 90, -1, -1, 93, -1, -1, 45, 46, -1, 99, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, - -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, + -1, -1, -1, 82, -1, -1, 85, 86, -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, - 99, -1, -1, 102, 103, 104, 105, -1, -1, 108, + -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, 50, -1, 1, -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, - -1, 85, 86, -1, 88, 89, 90, -1, -1, 93, - -1, -1, 45, 46, -1, -1, -1, 50, 102, 103, + -1, 85, 86, -1, -1, 89, 90, -1, -1, 93, + -1, -1, 45, 46, 98, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, - 93, -1, -1, -1, -1, 98, -1, -1, -1, 102, + 93, 94, -1, -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, 50, -1, 1, -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, - -1, 89, 90, -1, -1, 93, 94, -1, 45, 46, - -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, + -1, 89, 90, -1, -1, 93, -1, -1, 45, 46, + -1, 99, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, 93, -1, -1, -1, - -1, -1, 99, -1, -1, 102, 103, 104, 105, -1, + -1, 98, -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, 50, -1, 1, -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, 90, -1, - -1, 93, -1, -1, 45, 46, 98, -1, -1, 50, + -1, 93, 94, -1, 45, 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, 90, - -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, + -1, -1, 93, -1, -1, -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, 50, -1, 1, -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, - 86, -1, -1, 89, 90, -1, -1, 93, -1, -1, - 45, 46, 98, -1, -1, 50, 102, 103, 104, 105, + 86, -1, -1, 89, 90, -1, -1, 93, 94, -1, + 45, 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, @@ -1950,14 +1933,14 @@ static const short yycheck[] = { 3, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, - 89, 90, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, + 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, + 99, -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, 50, -1, 1, -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, 93, - -1, -1, 45, 46, -1, 99, -1, 50, 102, 103, + -1, -1, 45, 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, @@ -2173,50 +2156,31 @@ static const short yycheck[] = { 3, 85, 86, -1, -1, 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, - 50, -1, 1, -1, 3, 4, -1, -1, -1, 59, + 50, -1, 1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, + -1, -1, 72, -1, -1, -1, 76, 1, -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, - 90, -1, -1, 93, -1, -1, 45, 46, -1, -1, + 90, -1, -1, 93, -1, 44, 45, 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, - 59, -1, -1, -1, -1, -1, 65, -1, 1, -1, - -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, - -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, - 89, 90, -1, 1, 93, -1, -1, -1, -1, -1, - -1, -1, -1, 102, 103, 104, 105, -1, -1, 108, - 109, 44, 45, 46, -1, -1, -1, 50, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, - -1, -1, 65, -1, -1, 1, -1, 45, 46, 72, - -1, -1, 50, 76, -1, -1, -1, -1, -1, 82, - -1, 59, 85, 86, -1, -1, -1, 65, -1, -1, - 93, -1, -1, -1, 72, -1, 99, -1, 76, 102, - 103, 104, 105, -1, 82, 108, 109, 85, 86, 45, - 46, -1, -1, -1, 50, 93, 94, -1, -1, -1, - -1, -1, -1, 59, 102, 103, 104, 105, -1, 65, - 108, 109, 1, -1, -1, -1, 72, -1, -1, -1, - 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, - 86, -1, -1, -1, -1, -1, -1, 93, 94, -1, - -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, - -1, -1, 108, 109, 1, -1, 45, 46, -1, -1, - -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, - -1, -1, -1, 82, -1, -1, 85, 86, 3, 4, - -1, -1, -1, 50, 93, -1, -1, -1, -1, -1, - -1, -1, 59, 102, 103, 104, 105, -1, 65, 108, - 109, -1, -1, -1, -1, 72, -1, -1, -1, 76, - -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, - 45, 46, 89, 90, -1, 50, 93, -1, -1, -1, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 1, + -1, 45, 46, 72, -1, -1, 50, 76, -1, -1, + -1, -1, -1, 82, -1, 59, 85, 86, -1, -1, + -1, 65, -1, -1, 93, -1, 3, 4, 72, -1, + 99, -1, 76, 102, 103, 104, 105, -1, 82, 108, + 109, 85, 86, 45, 46, -1, -1, -1, 50, 93, + 94, -1, -1, -1, -1, -1, -1, 59, 102, 103, + 104, 105, -1, 65, 108, 109, 1, -1, 45, 46, + 72, -1, -1, 50, 76, -1, -1, -1, -1, -1, + 82, -1, 59, 85, 86, -1, -1, -1, 65, -1, + -1, 93, 94, 3, 4, 72, -1, -1, -1, 76, + 102, 103, 104, 105, -1, 82, 108, 109, 85, 86, + 45, 46, 89, 90, -1, 50, 93, -1, 95, 96, -1, -1, -1, -1, 59, 102, 103, 104, 105, -1, - 65, 108, 109, 3, 4, -1, -1, 72, -1, -1, - -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, - 85, 86, -1, -1, 89, 90, -1, -1, 93, -1, - 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, - 105, -1, -1, 108, 109, 45, 46, -1, -1, -1, - 50, -1, -1, -1, 3, 4, -1, -1, -1, 59, - -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, - -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, + 65, 108, 109, -1, -1, 45, 46, 72, -1, -1, + 50, 76, -1, -1, 3, 4, -1, 82, -1, 59, + 85, 86, -1, -1, -1, 65, -1, -1, 93, -1, + -1, -1, 72, -1, -1, -1, 76, 102, 103, 104, + 105, -1, 82, 108, 109, 85, 86, -1, -1, 89, 90, -1, -1, 93, 94, -1, 45, 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, -1, -1, 3, @@ -2243,18 +2207,16 @@ static const short yycheck[] = { 3, -1, 89, 90, -1, -1, 93, -1, 44, 45, 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, -1, - -1, -1, -1, -1, -1, 72, -1, -1, 50, 76, - -1, -1, -1, -1, -1, 82, -1, 59, 85, 86, - -1, -1, -1, 65, -1, -1, 93, -1, -1, -1, - 72, -1, -1, -1, 76, 102, 103, 104, 105, -1, - 82, 108, 109, 85, 86, -1, -1, 89, 90, -1, - -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, - 102, 103, 104, 105, -1, -1, 108, 109 + -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, + -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, + -1, -1, -1, -1, -1, -1, 93, -1, -1, -1, + -1, -1, -1, -1, -1, 102, 103, 104, 105, -1, + -1, 108, 109 }; #define YYPURE 1 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/misc/bison.simple" +#line 3 "/usr/cygnus/gnupro-98r2/share/bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -2271,7 +2233,7 @@ static const short yycheck[] = { 3, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. @@ -2447,7 +2409,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "/usr/share/misc/bison.simple" +#line 196 "/usr/cygnus/gnupro-98r2/share/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -2937,87 +2899,94 @@ case 62: break;} case 63: #line 674 "./parse.y" -{if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1);; +{ + if (!ctxp->class_err) yyerror ("'{' expected"); + DRECOVER(class1); + ; break;} case 64: -#line 676 "./parse.y" +#line 679 "./parse.y" {if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER;; break;} case 65: -#line 680 "./parse.y" +#line 683 "./parse.y" { yyval.node = NULL; ; break;} case 66: -#line 682 "./parse.y" +#line 685 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} case 67: -#line 684 "./parse.y" +#line 687 "./parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;; break;} case 68: -#line 686 "./parse.y" +#line 689 "./parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;; break;} case 69: -#line 690 "./parse.y" +#line 693 "./parse.y" { yyval.node = NULL_TREE; ; break;} case 70: -#line 692 "./parse.y" +#line 695 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} case 71: -#line 694 "./parse.y" +#line 697 "./parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); ; break;} case 72: -#line 702 "./parse.y" +#line 705 "./parse.y" { ctxp->interface_number = 1; yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 73: -#line 707 "./parse.y" +#line 710 "./parse.y" { ctxp->interface_number++; yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ; break;} case 74: -#line 712 "./parse.y" +#line 715 "./parse.y" {yyerror ("Missing interface name"); RECOVER;; break;} case 75: -#line 717 "./parse.y" +#line 720 "./parse.y" { yyval.node = ctxp->current_parsed_class; ; break;} case 76: -#line 719 "./parse.y" +#line 722 "./parse.y" { yyval.node = ctxp->current_parsed_class; ; break;} case 82: -#line 732 "./parse.y" +#line 735 "./parse.y" { yyval.node = parse_jdk1_1_error ("instance initializer"); ; break;} -case 85: -#line 739 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("inner classe declaration"); ; +case 84: +#line 741 "./parse.y" +{ yyval.node = yyvsp[-1].node; ; break;} case 86: -#line 741 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("inner interface declaration"); ; +#line 744 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("inner classe declaration"); ; break;} case 87: -#line 747 "./parse.y" -{ register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ; +#line 746 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("inner interface declaration"); ; break;} case 88: -#line 749 "./parse.y" +#line 752 "./parse.y" +{ register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ; + break;} +case 89: +#line 754 "./parse.y" { check_modifiers ("Illegal modifier `%s' for field declaration", @@ -3026,20 +2995,20 @@ case 88: register_fields (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node); ; break;} -case 90: -#line 762 "./parse.y" -{ yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; - break;} case 91: -#line 764 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 767 "./parse.y" +{ yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; break;} case 92: #line 769 "./parse.y" -{ yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; +{yyerror ("Missing term"); RECOVER;; break;} case 93: -#line 771 "./parse.y" +#line 774 "./parse.y" +{ yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; + break;} +case 94: +#line 776 "./parse.y" { if (java_error_count) yyvsp[0].node = NULL_TREE; @@ -3047,102 +3016,102 @@ case 93: (yyvsp[-2].node, build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node)); ; break;} -case 94: -#line 778 "./parse.y" +case 95: +#line 783 "./parse.y" { yyerror ("Missing variable initializer"); yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE); RECOVER; ; break;} -case 95: -#line 784 "./parse.y" +case 96: +#line 789 "./parse.y" { yyerror ("';' expected"); yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE); RECOVER; ; break;} -case 97: -#line 794 "./parse.y" +case 98: +#line 799 "./parse.y" { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ; break;} -case 98: -#line 796 "./parse.y" +case 99: +#line 801 "./parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);; break;} -case 99: -#line 798 "./parse.y" +case 100: +#line 803 "./parse.y" {yyerror ("']' expected"); DRECOVER(vdi);; break;} -case 100: -#line 800 "./parse.y" +case 101: +#line 805 "./parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);; break;} -case 103: -#line 811 "./parse.y" +case 104: +#line 816 "./parse.y" { current_function_decl = yyvsp[0].node; source_start_java_method (current_function_decl); ; break;} -case 104: -#line 816 "./parse.y" -{ complete_method_declaration (yyvsp[0].node); ; - break;} case 105: -#line 818 "./parse.y" -{YYNOT_TWICE yyerror ("'{' expected"); RECOVER;; +#line 821 "./parse.y" +{ complete_method_declaration (yyvsp[0].node); ; break;} case 106: #line 823 "./parse.y" -{ yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; +{YYNOT_TWICE yyerror ("'{' expected"); RECOVER;; break;} case 107: -#line 825 "./parse.y" -{ yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; +#line 828 "./parse.y" +{ yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 108: -#line 827 "./parse.y" -{ yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; +#line 830 "./parse.y" +{ yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 109: -#line 829 "./parse.y" -{ yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; +#line 832 "./parse.y" +{ yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 110: -#line 831 "./parse.y" -{RECOVER;; +#line 834 "./parse.y" +{ yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 111: -#line 833 "./parse.y" +#line 836 "./parse.y" {RECOVER;; break;} case 112: -#line 835 "./parse.y" -{yyerror ("Identifier expected"); RECOVER;; +#line 838 "./parse.y" +{RECOVER;; break;} case 113: -#line 837 "./parse.y" +#line 840 "./parse.y" {yyerror ("Identifier expected"); RECOVER;; break;} case 114: -#line 839 "./parse.y" +#line 842 "./parse.y" +{yyerror ("Identifier expected"); RECOVER;; + break;} +case 115: +#line 844 "./parse.y" { yyerror ("Invalid method declaration, return type required"); RECOVER; ; break;} -case 115: -#line 847 "./parse.y" +case 116: +#line 852 "./parse.y" { yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; break;} -case 116: -#line 849 "./parse.y" +case 117: +#line 854 "./parse.y" { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; break;} -case 117: -#line 851 "./parse.y" +case 118: +#line 856 "./parse.y" { EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location; TREE_PURPOSE (yyvsp[-2].node) = @@ -3152,170 +3121,170 @@ case 117: "Discouraged form of returned type specification"); ; break;} -case 118: -#line 860 "./parse.y" -{yyerror ("')' expected"); DRECOVER(method_declarator);; - break;} case 119: -#line 862 "./parse.y" -{yyerror ("']' expected"); RECOVER;; +#line 865 "./parse.y" +{yyerror ("')' expected"); DRECOVER(method_declarator);; break;} case 120: #line 867 "./parse.y" +{yyerror ("']' expected"); RECOVER;; + break;} +case 121: +#line 872 "./parse.y" { ctxp->formal_parameter_number = 1; ; break;} -case 121: -#line 871 "./parse.y" +case 122: +#line 876 "./parse.y" { ctxp->formal_parameter_number += 1; yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; break;} -case 122: -#line 876 "./parse.y" -{yyerror ("Missing formal parameter term"); RECOVER;; - break;} case 123: #line 881 "./parse.y" +{yyerror ("Missing formal parameter term"); RECOVER;; + break;} +case 124: +#line 886 "./parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ; break;} -case 124: -#line 885 "./parse.y" +case 125: +#line 890 "./parse.y" { yyval.node = parse_jdk1_1_error ("final parameters"); ; break;} -case 125: -#line 887 "./parse.y" +case 126: +#line 892 "./parse.y" {yyerror ("Missing identifier"); RECOVER;; break;} -case 126: -#line 889 "./parse.y" +case 127: +#line 894 "./parse.y" { SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[-2].value)); yyerror ("Missing identifier"); RECOVER; ; break;} -case 127: -#line 896 "./parse.y" -{ yyval.node = NULL_TREE; ; - break;} case 128: -#line 898 "./parse.y" -{ yyval.node = yyvsp[0].node; ; +#line 901 "./parse.y" +{ yyval.node = NULL_TREE; ; break;} case 129: -#line 900 "./parse.y" -{yyerror ("Missing class type term"); RECOVER;; +#line 903 "./parse.y" +{ yyval.node = yyvsp[0].node; ; break;} case 130: #line 905 "./parse.y" -{ yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ; +{yyerror ("Missing class type term"); RECOVER;; break;} case 131: -#line 907 "./parse.y" -{ yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ; +#line 910 "./parse.y" +{ yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ; break;} case 132: -#line 909 "./parse.y" +#line 912 "./parse.y" +{ yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ; + break;} +case 133: +#line 914 "./parse.y" {yyerror ("Missing class type term"); RECOVER;; break;} -case 135: -#line 916 "./parse.y" +case 136: +#line 921 "./parse.y" { yyval.node = NULL_TREE; ; break;} -case 136: -#line 922 "./parse.y" +case 137: +#line 927 "./parse.y" { RULE ("STATIC_INITIALIZER"); ; break;} -case 137: -#line 926 "./parse.y" +case 138: +#line 931 "./parse.y" { RULE ("STATIC_INITIALIZER"); ; break;} -case 138: -#line 933 "./parse.y" +case 139: +#line 938 "./parse.y" { SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[0].value)); ; break;} -case 139: -#line 941 "./parse.y" +case 140: +#line 946 "./parse.y" { current_function_decl = yyvsp[0].node; source_start_java_method (current_function_decl); ; break;} -case 140: -#line 946 "./parse.y" -{ complete_method_declaration (yyvsp[0].node); ; - break;} case 141: #line 951 "./parse.y" -{ yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; +{ complete_method_declaration (yyvsp[0].node); ; break;} case 142: -#line 953 "./parse.y" -{ yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; +#line 956 "./parse.y" +{ yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; break;} case 143: #line 958 "./parse.y" -{ yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; +{ yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; break;} case 144: -#line 960 "./parse.y" -{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; +#line 963 "./parse.y" +{ yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; break;} case 145: -#line 968 "./parse.y" +#line 965 "./parse.y" +{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; + break;} +case 146: +#line 973 "./parse.y" { BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node; yyval.node = yyvsp[0].node; ; break;} -case 146: -#line 973 "./parse.y" -{ yyval.node = yyvsp[0].node; ; - break;} case 147: -#line 975 "./parse.y" +#line 978 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} case 148: -#line 977 "./parse.y" +#line 980 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} case 149: -#line 983 "./parse.y" +#line 982 "./parse.y" +{ yyval.node = yyvsp[0].node; ; + break;} +case 150: +#line 988 "./parse.y" { yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE); yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node); yyval.node = java_method_add_stmt (current_function_decl, yyval.node); ; break;} -case 150: -#line 989 "./parse.y" +case 151: +#line 994 "./parse.y" { yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node); yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node); yyval.node = java_method_add_stmt (current_function_decl, yyval.node); ; break;} -case 151: -#line 997 "./parse.y" -{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; - break;} case 152: -#line 999 "./parse.y" +#line 1002 "./parse.y" {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; break;} case 153: #line 1004 "./parse.y" +{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; + break;} +case 154: +#line 1009 "./parse.y" { tree wfl = build_wfl_node (this_identifier_node, input_filename, 0, 0); @@ -3323,8 +3292,8 @@ case 153: yyval.node = wfl; ; break;} -case 154: -#line 1011 "./parse.y" +case 155: +#line 1016 "./parse.y" { tree wfl = build_wfl_node (super_identifier_node, input_filename, 0, 0); @@ -3332,169 +3301,169 @@ case 154: yyval.node = wfl; ; break;} -case 155: -#line 1023 "./parse.y" +case 156: +#line 1028 "./parse.y" { create_interface (0, yyvsp[0].node, NULL_TREE); ; break;} -case 156: -#line 1025 "./parse.y" +case 157: +#line 1030 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} -case 157: -#line 1029 "./parse.y" +case 158: +#line 1034 "./parse.y" { create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ; break;} -case 158: -#line 1031 "./parse.y" +case 159: +#line 1036 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} -case 159: -#line 1035 "./parse.y" +case 160: +#line 1040 "./parse.y" { create_interface (0, yyvsp[-1].node, yyvsp[0].node); ; break;} -case 160: -#line 1037 "./parse.y" +case 161: +#line 1042 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} -case 161: -#line 1041 "./parse.y" +case 162: +#line 1046 "./parse.y" { create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ; break;} -case 162: -#line 1043 "./parse.y" +case 163: +#line 1048 "./parse.y" { yyval.node = yyvsp[0].node; ; break;} -case 163: -#line 1047 "./parse.y" -{yyerror ("(here)'{' expected"); RECOVER;; - break;} case 164: -#line 1049 "./parse.y" -{yyerror ("(there)'{' expected"); RECOVER;; +#line 1052 "./parse.y" +{yyerror ("'{' expected"); RECOVER;; break;} case 165: #line 1054 "./parse.y" +{yyerror ("'{' expected"); RECOVER;; + break;} +case 166: +#line 1059 "./parse.y" { ctxp->interface_number = 1; yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} -case 166: -#line 1059 "./parse.y" +case 167: +#line 1064 "./parse.y" { ctxp->interface_number++; yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ; break;} -case 167: -#line 1064 "./parse.y" -{yyerror ("Invalid interface type"); RECOVER;; - break;} case 168: -#line 1066 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1069 "./parse.y" +{yyerror ("Invalid interface type"); RECOVER;; break;} case 169: #line 1071 "./parse.y" -{ yyval.node = NULL_TREE; ; +{yyerror ("Missing term"); RECOVER;; break;} case 170: -#line 1073 "./parse.y" +#line 1076 "./parse.y" { yyval.node = NULL_TREE; ; break;} -case 175: -#line 1085 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("inner class declaration"); ; +case 171: +#line 1078 "./parse.y" +{ yyval.node = NULL_TREE; ; break;} case 176: -#line 1087 "./parse.y" +#line 1090 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("inner class declaration"); ; + break;} +case 177: +#line 1092 "./parse.y" { yyval.node = parse_jdk1_1_error ("inner interface declaration"); ; break;} -case 178: -#line 1096 "./parse.y" +case 179: +#line 1101 "./parse.y" { check_abstract_method_header (yyvsp[-1].node); current_function_decl = NULL_TREE; /* FIXME ? */ ; break;} -case 179: -#line 1101 "./parse.y" -{yyerror ("';' expected"); RECOVER;; - break;} case 180: -#line 1107 "./parse.y" -{ yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ; +#line 1106 "./parse.y" +{yyerror ("';' expected"); RECOVER;; break;} case 181: -#line 1109 "./parse.y" -{ yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ; +#line 1112 "./parse.y" +{ yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ; break;} case 182: -#line 1111 "./parse.y" -{ yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ; +#line 1114 "./parse.y" +{ yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ; break;} case 183: #line 1116 "./parse.y" +{ yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ; + break;} +case 184: +#line 1121 "./parse.y" { yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, NULL_TREE); ; break;} -case 184: -#line 1121 "./parse.y" +case 185: +#line 1126 "./parse.y" { yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node); ; break;} -case 185: -#line 1125 "./parse.y" -{yyerror ("Missing term"); RECOVER;; - break;} case 186: -#line 1131 "./parse.y" -{ yyval.node = empty_stmt_node; ; +#line 1130 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 187: -#line 1133 "./parse.y" -{ yyval.node = yyvsp[0].node; ; +#line 1136 "./parse.y" +{ yyval.node = empty_stmt_node; ; break;} case 188: #line 1138 "./parse.y" -{ enter_block (); ; +{ yyval.node = yyvsp[0].node; ; break;} case 189: #line 1143 "./parse.y" +{ enter_block (); ; + break;} +case 190: +#line 1148 "./parse.y" { maybe_absorb_scoping_blocks (); yyval.node = exit_block (); ; break;} -case 193: -#line 1157 "./parse.y" +case 194: +#line 1162 "./parse.y" { java_method_add_stmt (current_function_decl, yyvsp[0].node); ; break;} -case 194: -#line 1159 "./parse.y" +case 195: +#line 1164 "./parse.y" { parse_jdk1_1_error ("inner class declaration"); ; break;} -case 196: -#line 1168 "./parse.y" +case 197: +#line 1173 "./parse.y" { declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ; break;} -case 197: -#line 1170 "./parse.y" +case 198: +#line 1175 "./parse.y" { declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ; break;} -case 203: -#line 1180 "./parse.y" +case 204: +#line 1185 "./parse.y" { /* If the for loop is unlabeled, we must return the block it was defined it. It our last chance to @@ -3503,12 +3472,12 @@ case 203: yyval.node = exit_block (); ; break;} -case 220: -#line 1213 "./parse.y" -{ yyval.node = empty_stmt_node; ; - break;} case 221: #line 1218 "./parse.y" +{ yyval.node = empty_stmt_node; ; + break;} +case 222: +#line 1223 "./parse.y" { yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node), EXPR_WFL_NODE (yyvsp[-1].node)); @@ -3517,28 +3486,28 @@ case 221: PUSH_LABELED_BLOCK (yyval.node); ; break;} -case 222: -#line 1229 "./parse.y" +case 223: +#line 1234 "./parse.y" { yyval.node = complete_labeled_statement (yyvsp[-1].node, yyvsp[0].node); pop_labeled_block (); POP_LABELED_BLOCK (); ; break;} -case 223: -#line 1235 "./parse.y" -{yyerror ("':' expected"); RECOVER;; - break;} case 224: #line 1240 "./parse.y" +{yyerror ("':' expected"); RECOVER;; + break;} +case 225: +#line 1245 "./parse.y" { yyval.node = complete_labeled_statement (yyvsp[-1].node, yyvsp[0].node); pop_labeled_block (); POP_LABELED_BLOCK (); ; break;} -case 225: -#line 1251 "./parse.y" +case 226: +#line 1256 "./parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ @@ -3548,93 +3517,89 @@ case 225: yyval.node = JAVA_MAYBE_GENERATE_DEBUG_INFO (yyval.node); ; break;} -case 226: -#line 1260 "./parse.y" +case 227: +#line 1265 "./parse.y" { if (ctxp->prevent_ese != lineno) yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} -case 227: -#line 1266 "./parse.y" +case 228: +#line 1271 "./parse.y" { if (ctxp->prevent_ese != lineno) yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} -case 228: -#line 1272 "./parse.y" +case 229: +#line 1277 "./parse.y" { if (ctxp->prevent_ese != lineno) yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} -case 229: -#line 1278 "./parse.y" +case 230: +#line 1283 "./parse.y" {yyerror ("')' expected"); RECOVER;; break;} -case 230: -#line 1280 "./parse.y" +case 231: +#line 1285 "./parse.y" { yyerror ("Constructor invocation must be first " "thing in a constructor"); RECOVER; ; break;} -case 231: -#line 1286 "./parse.y" +case 232: +#line 1291 "./parse.y" {yyerror ("')' expected"); RECOVER;; break;} -case 232: -#line 1288 "./parse.y" +case 233: +#line 1293 "./parse.y" { yyerror ("Constructor invocation must be first " "thing in a constructor"); RECOVER; ; break;} -case 233: -#line 1294 "./parse.y" -{yyerror ("'(' expected"); RECOVER;; - break;} case 234: -#line 1296 "./parse.y" -{yyerror ("')' expected"); RECOVER;; +#line 1299 "./parse.y" +{yyerror ("'(' expected"); RECOVER;; break;} case 235: -#line 1298 "./parse.y" +#line 1301 "./parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 236: -#line 1300 "./parse.y" -{yyerror ("';' expected"); RECOVER;; +#line 1303 "./parse.y" +{yyerror ("')' expected"); RECOVER;; break;} case 237: -#line 1302 "./parse.y" +#line 1305 "./parse.y" {yyerror ("';' expected"); RECOVER;; break;} -case 245: -#line 1317 "./parse.y" -{ yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node, NULL_TREE); ; +case 238: +#line 1307 "./parse.y" +{yyerror ("';' expected"); RECOVER;; break;} case 246: -#line 1319 "./parse.y" -{yyerror ("'(' expected"); RECOVER;; +#line 1322 "./parse.y" +{ yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node, NULL_TREE); ; break;} case 247: -#line 1321 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1324 "./parse.y" +{yyerror ("'(' expected"); RECOVER;; break;} case 248: -#line 1323 "./parse.y" -{yyerror ("')' expected"); RECOVER;; +#line 1326 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 249: #line 1328 "./parse.y" -{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; +{yyerror ("')' expected"); RECOVER;; break;} case 250: #line 1333 "./parse.y" @@ -3642,12 +3607,16 @@ case 250: break;} case 251: #line 1338 "./parse.y" +{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; + break;} +case 252: +#line 1343 "./parse.y" { enter_block (); ; break;} -case 252: -#line 1342 "./parse.y" +case 253: +#line 1347 "./parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statment also have its own @@ -3657,113 +3626,113 @@ case 252: yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-2].node), yyvsp[-2].node); ; break;} -case 253: -#line 1354 "./parse.y" +case 254: +#line 1359 "./parse.y" { yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location; ; break;} -case 254: -#line 1359 "./parse.y" -{yyerror ("'(' expected"); RECOVER;; - break;} case 255: -#line 1361 "./parse.y" -{yyerror ("Missing term or ')'"); DRECOVER(switch_statement);; +#line 1364 "./parse.y" +{yyerror ("'(' expected"); RECOVER;; break;} case 256: -#line 1363 "./parse.y" -{yyerror ("'{' expected"); RECOVER;; +#line 1366 "./parse.y" +{yyerror ("Missing term or ')'"); DRECOVER(switch_statement);; break;} case 257: -#line 1371 "./parse.y" -{ yyval.node = NULL_TREE; ; +#line 1368 "./parse.y" +{yyerror ("'{' expected"); RECOVER;; break;} case 258: -#line 1373 "./parse.y" +#line 1376 "./parse.y" { yyval.node = NULL_TREE; ; break;} case 259: -#line 1375 "./parse.y" +#line 1378 "./parse.y" { yyval.node = NULL_TREE; ; break;} case 260: -#line 1377 "./parse.y" +#line 1380 "./parse.y" +{ yyval.node = NULL_TREE; ; + break;} +case 261: +#line 1382 "./parse.y" { yyval.node = NULL_TREE; ; break;} -case 266: -#line 1396 "./parse.y" +case 267: +#line 1401 "./parse.y" { tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node); EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location; java_method_add_stmt (current_function_decl, lab); ; break;} -case 267: -#line 1402 "./parse.y" +case 268: +#line 1407 "./parse.y" { tree lab = build1 (DEFAULT_EXPR, NULL_TREE, NULL_TREE); EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location; java_method_add_stmt (current_function_decl, lab); ; break;} -case 268: -#line 1408 "./parse.y" -{yyerror ("Missing or invalid constant expression"); RECOVER;; - break;} case 269: -#line 1410 "./parse.y" -{yyerror ("':' expected"); RECOVER;; +#line 1413 "./parse.y" +{yyerror ("Missing or invalid constant expression"); RECOVER;; break;} case 270: -#line 1412 "./parse.y" +#line 1415 "./parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 271: #line 1417 "./parse.y" +{yyerror ("':' expected"); RECOVER;; + break;} +case 272: +#line 1422 "./parse.y" { tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0); yyval.node = build_new_loop (body); ; break;} -case 272: -#line 1425 "./parse.y" -{ yyval.node = complete_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; - break;} case 273: -#line 1427 "./parse.y" -{YYERROR_NOW; yyerror ("'(' expected"); RECOVER;; +#line 1430 "./parse.y" +{ yyval.node = complete_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; break;} case 274: -#line 1429 "./parse.y" -{yyerror ("Missing term and ')' expected"); RECOVER;; +#line 1432 "./parse.y" +{YYERROR_NOW; yyerror ("'(' expected"); RECOVER;; break;} case 275: -#line 1431 "./parse.y" -{yyerror ("')' expected"); RECOVER;; +#line 1434 "./parse.y" +{yyerror ("Missing term and ')' expected"); RECOVER;; break;} case 276: #line 1436 "./parse.y" -{ yyval.node = complete_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; +{yyerror ("')' expected"); RECOVER;; break;} case 277: #line 1441 "./parse.y" +{ yyval.node = complete_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; + break;} +case 278: +#line 1446 "./parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); yyval.node = build_new_loop (body); ; break;} -case 278: -#line 1450 "./parse.y" -{ yyval.node = complete_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ; - break;} case 279: #line 1455 "./parse.y" -{ yyval.node = complete_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);; +{ yyval.node = complete_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ; break;} case 280: -#line 1457 "./parse.y" +#line 1460 "./parse.y" +{ yyval.node = complete_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);; + break;} +case 281: +#line 1462 "./parse.y" { yyval.node = complete_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ @@ -3771,24 +3740,24 @@ case 280: empty_stmt_node; ; break;} -case 281: -#line 1464 "./parse.y" -{yyerror ("Invalid control expression"); RECOVER;; - break;} case 282: -#line 1466 "./parse.y" -{yyerror ("Invalid update expression"); RECOVER;; +#line 1469 "./parse.y" +{yyerror ("Invalid control expression"); RECOVER;; break;} case 283: -#line 1468 "./parse.y" +#line 1471 "./parse.y" {yyerror ("Invalid update expression"); RECOVER;; break;} case 284: #line 1473 "./parse.y" -{ yyval.node = complete_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);; +{yyerror ("Invalid update expression"); RECOVER;; break;} case 285: -#line 1475 "./parse.y" +#line 1478 "./parse.y" +{ yyval.node = complete_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);; + break;} +case 286: +#line 1480 "./parse.y" { yyval.node = complete_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ @@ -3796,24 +3765,24 @@ case 285: empty_stmt_node; ; break;} -case 286: -#line 1485 "./parse.y" +case 287: +#line 1490 "./parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ enter_block (); ; break;} -case 287: -#line 1491 "./parse.y" -{yyerror ("'(' expected"); DRECOVER(for_1);; - break;} case 288: -#line 1493 "./parse.y" -{yyerror ("Invalid init statement"); RECOVER;; +#line 1496 "./parse.y" +{yyerror ("'(' expected"); DRECOVER(for_1);; break;} case 289: #line 1498 "./parse.y" +{yyerror ("Invalid init statement"); RECOVER;; + break;} +case 290: +#line 1503 "./parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ @@ -3825,177 +3794,177 @@ case 289: java_method_add_stmt (current_function_decl, yyval.node); ; break;} -case 290: -#line 1510 "./parse.y" +case 291: +#line 1515 "./parse.y" { yyval.node = empty_stmt_node; ; break;} -case 291: -#line 1512 "./parse.y" +case 292: +#line 1517 "./parse.y" { /* Init statement recorded within the previously defined block scope */ yyval.node = java_method_add_stmt (current_function_decl, yyvsp[0].node); ; break;} -case 292: -#line 1518 "./parse.y" +case 293: +#line 1523 "./parse.y" { /* Local variable are recorded within the previously defined block scope */ yyval.node = NULL_TREE; ; break;} -case 293: -#line 1524 "./parse.y" -{yyerror ("';' expected"); DRECOVER(for_init_1);; - break;} case 294: -#line 1528 "./parse.y" -{yyval.node = empty_stmt_node;; +#line 1529 "./parse.y" +{yyerror ("';' expected"); DRECOVER(for_init_1);; break;} case 295: -#line 1530 "./parse.y" -{ yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ; +#line 1533 "./parse.y" +{yyval.node = empty_stmt_node;; break;} case 296: #line 1535 "./parse.y" -{ yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ; +{ yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ; break;} case 297: -#line 1537 "./parse.y" -{ yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ; +#line 1540 "./parse.y" +{ yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ; break;} case 298: -#line 1539 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1542 "./parse.y" +{ yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ; break;} case 299: #line 1544 "./parse.y" -{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ; +{yyerror ("Missing term"); RECOVER;; break;} case 300: -#line 1546 "./parse.y" -{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ; +#line 1549 "./parse.y" +{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ; break;} case 301: -#line 1548 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1551 "./parse.y" +{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ; break;} case 302: -#line 1550 "./parse.y" -{yyerror ("';' expected"); RECOVER;; +#line 1553 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 303: #line 1555 "./parse.y" -{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ; +{yyerror ("';' expected"); RECOVER;; break;} case 304: -#line 1557 "./parse.y" -{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ; +#line 1560 "./parse.y" +{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ; break;} case 305: -#line 1559 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1562 "./parse.y" +{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ; break;} case 306: -#line 1561 "./parse.y" -{yyerror ("';' expected"); RECOVER;; +#line 1564 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 307: #line 1566 "./parse.y" -{ yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ; +{yyerror ("';' expected"); RECOVER;; break;} case 308: -#line 1568 "./parse.y" -{ yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ; +#line 1571 "./parse.y" +{ yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ; break;} case 309: -#line 1570 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1573 "./parse.y" +{ yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ; break;} case 310: -#line 1572 "./parse.y" -{yyerror ("';' expected"); RECOVER;; +#line 1575 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 311: #line 1577 "./parse.y" +{yyerror ("';' expected"); RECOVER;; + break;} +case 312: +#line 1582 "./parse.y" { yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location; ; break;} -case 312: -#line 1582 "./parse.y" -{yyerror ("Missing term"); RECOVER;; - break;} case 313: -#line 1584 "./parse.y" -{yyerror ("';' expected"); RECOVER;; +#line 1587 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 314: #line 1589 "./parse.y" +{yyerror ("';' expected"); RECOVER;; + break;} +case 315: +#line 1594 "./parse.y" { yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); EXPR_WFL_LINECOL (yyval.node) = EXPR_WFL_LINECOL (MODIFIER_WFL (SYNCHRONIZED_TK)); ; break;} -case 315: -#line 1595 "./parse.y" -{yyerror ("'{' expected"); RECOVER;; - break;} case 316: -#line 1597 "./parse.y" -{yyerror ("'(' expected"); RECOVER;; +#line 1600 "./parse.y" +{yyerror ("'{' expected"); RECOVER;; break;} case 317: -#line 1599 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 1602 "./parse.y" +{yyerror ("'(' expected"); RECOVER;; break;} case 318: -#line 1601 "./parse.y" +#line 1604 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 319: #line 1606 "./parse.y" +{yyerror ("Missing term"); RECOVER;; + break;} +case 320: +#line 1611 "./parse.y" { if ((1 << yyvsp[0].value) != ACC_SYNCHRONIZED) fatal ("synchronized was '%d' - yyparse", (1 << yyvsp[0].value)); ; break;} -case 320: -#line 1614 "./parse.y" +case 321: +#line 1619 "./parse.y" { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node, NULL_TREE); ; break;} -case 321: -#line 1616 "./parse.y" +case 322: +#line 1621 "./parse.y" { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, NULL_TREE, yyvsp[0].node); ; break;} -case 322: -#line 1618 "./parse.y" +case 323: +#line 1623 "./parse.y" { yyval.node = build_try_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} -case 323: -#line 1620 "./parse.y" +case 324: +#line 1625 "./parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);; break;} -case 325: -#line 1626 "./parse.y" +case 326: +#line 1631 "./parse.y" { TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node; yyval.node = yyvsp[0].node; ; break;} -case 326: -#line 1634 "./parse.y" +case 327: +#line 1639 "./parse.y" { java_method_add_stmt (current_function_decl, yyvsp[0].node); exit_block (); yyval.node = yyvsp[-1].node; ; break;} -case 327: -#line 1642 "./parse.y" +case 328: +#line 1647 "./parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is @@ -4012,188 +3981,188 @@ case 327: EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location; ; break;} -case 328: -#line 1658 "./parse.y" -{yyerror ("'(' expected"); RECOVER;; - break;} case 329: -#line 1660 "./parse.y" -{yyerror ("Missing term or ')' expected"); DRECOVER (2);; +#line 1663 "./parse.y" +{yyerror ("'(' expected"); RECOVER;; break;} case 330: -#line 1662 "./parse.y" -{yyerror ("')' expected"); DRECOVER (1);; +#line 1665 "./parse.y" +{yyerror ("Missing term or ')' expected"); DRECOVER (2);; break;} case 331: #line 1667 "./parse.y" +{yyerror ("')' expected"); DRECOVER (1);; + break;} +case 332: +#line 1672 "./parse.y" { yyval.node = build (FINALLY_EXPR, NULL_TREE, create_label_decl (generate_name ()), yyvsp[0].node); ; break;} -case 332: -#line 1672 "./parse.y" +case 333: +#line 1677 "./parse.y" {yyerror ("'{' expected"); RECOVER; ; break;} -case 336: -#line 1684 "./parse.y" +case 337: +#line 1689 "./parse.y" { yyval.node = build_this (yyvsp[0].operator.location); ; break;} -case 337: -#line 1686 "./parse.y" +case 338: +#line 1691 "./parse.y" {yyval.node = yyvsp[-1].node;; break;} -case 342: -#line 1695 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("named class literals"); ; - break;} case 343: -#line 1697 "./parse.y" -{ yyval.node = build_class_ref (yyvsp[-2].node); ; +#line 1700 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("named class literals"); ; break;} case 344: -#line 1699 "./parse.y" -{ yyval.node = build_class_ref (void_type_node); ; +#line 1702 "./parse.y" +{ yyval.node = build_class_ref (yyvsp[-2].node); ; break;} case 345: #line 1704 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("class literals"); ; +{ yyval.node = build_class_ref (void_type_node); ; break;} case 346: -#line 1706 "./parse.y" -{yyerror ("')' expected"); RECOVER;; +#line 1709 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("class literals"); ; break;} case 347: -#line 1708 "./parse.y" -{yyerror ("'class' or 'this' expected" ); RECOVER;; +#line 1711 "./parse.y" +{yyerror ("')' expected"); RECOVER;; break;} case 348: -#line 1710 "./parse.y" -{yyerror ("'class' expected" ); RECOVER;; +#line 1713 "./parse.y" +{yyerror ("'class' or 'this' expected" ); RECOVER;; break;} case 349: -#line 1712 "./parse.y" +#line 1715 "./parse.y" {yyerror ("'class' expected" ); RECOVER;; break;} case 350: #line 1717 "./parse.y" -{ yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ; +{yyerror ("'class' expected" ); RECOVER;; break;} case 351: -#line 1719 "./parse.y" -{ yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ; +#line 1722 "./parse.y" +{ yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 352: #line 1724 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ; +{ yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ; break;} case 353: -#line 1726 "./parse.y" +#line 1729 "./parse.y" { yyval.node = parse_jdk1_1_error ("inner class instance creation"); ; break;} -case 358: -#line 1735 "./parse.y" -{yyerror ("'(' expected"); DRECOVER(new_1);; +case 354: +#line 1731 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ; break;} case 359: -#line 1737 "./parse.y" -{yyerror ("'(' expected"); RECOVER;; +#line 1740 "./parse.y" +{yyerror ("'(' expected"); DRECOVER(new_1);; break;} case 360: -#line 1739 "./parse.y" -{yyerror ("')' or term expected"); RECOVER;; +#line 1742 "./parse.y" +{yyerror ("'(' expected"); RECOVER;; break;} case 361: -#line 1741 "./parse.y" -{yyerror ("')' expected"); RECOVER;; +#line 1744 "./parse.y" +{yyerror ("')' or term expected"); RECOVER;; break;} case 362: -#line 1743 "./parse.y" -{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;; +#line 1746 "./parse.y" +{yyerror ("')' expected"); RECOVER;; break;} case 363: -#line 1745 "./parse.y" +#line 1748 "./parse.y" +{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;; + break;} +case 364: +#line 1750 "./parse.y" {yyerror ("'(' expected"); RECOVER;; break;} -case 366: -#line 1755 "./parse.y" +case 367: +#line 1760 "./parse.y" { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE); ctxp->formal_parameter_number = 1; ; break;} -case 367: -#line 1760 "./parse.y" +case 368: +#line 1765 "./parse.y" { ctxp->formal_parameter_number += 1; yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node); ; break;} -case 368: -#line 1765 "./parse.y" -{yyerror ("Missing term"); RECOVER;; - break;} case 369: #line 1770 "./parse.y" -{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; +{yyerror ("Missing term"); RECOVER;; break;} case 370: -#line 1772 "./parse.y" +#line 1775 "./parse.y" { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; break;} case 371: -#line 1774 "./parse.y" -{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));; +#line 1777 "./parse.y" +{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; break;} case 372: -#line 1776 "./parse.y" +#line 1779 "./parse.y" { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));; break;} case 373: -#line 1780 "./parse.y" -{ yyval.node = parse_jdk1_1_error ("anonymous array"); ; +#line 1781 "./parse.y" +{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));; break;} case 374: -#line 1782 "./parse.y" +#line 1785 "./parse.y" { yyval.node = parse_jdk1_1_error ("anonymous array"); ; break;} case 375: -#line 1784 "./parse.y" -{yyerror ("'[' expected"); DRECOVER ("]");; +#line 1787 "./parse.y" +{ yyval.node = parse_jdk1_1_error ("anonymous array"); ; break;} case 376: -#line 1786 "./parse.y" -{yyerror ("']' expected"); RECOVER;; +#line 1789 "./parse.y" +{yyerror ("'[' expected"); DRECOVER ("]");; break;} case 377: #line 1791 "./parse.y" -{ yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ; +{yyerror ("']' expected"); RECOVER;; break;} case 378: -#line 1793 "./parse.y" -{ yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ; +#line 1796 "./parse.y" +{ yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ; break;} case 379: #line 1798 "./parse.y" +{ yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ; + break;} +case 380: +#line 1803 "./parse.y" { EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location; yyval.node = yyvsp[-1].node; ; break;} -case 380: -#line 1803 "./parse.y" +case 381: +#line 1808 "./parse.y" {yyerror ("']' expected"); RECOVER;; break;} -case 381: -#line 1805 "./parse.y" +case 382: +#line 1810 "./parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); RECOVER; ; break;} -case 382: -#line 1814 "./parse.y" +case 383: +#line 1819 "./parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb @@ -4220,20 +4189,20 @@ case 382: CURRENT_OSB (ctxp) = 1; ; break;} -case 383: -#line 1840 "./parse.y" -{ CURRENT_OSB (ctxp)++; ; - break;} case 384: -#line 1842 "./parse.y" -{ yyerror ("']' expected"); RECOVER;; +#line 1845 "./parse.y" +{ CURRENT_OSB (ctxp)++; ; break;} case 385: #line 1847 "./parse.y" -{ yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ; +{ yyerror ("']' expected"); RECOVER;; break;} case 386: -#line 1851 "./parse.y" +#line 1852 "./parse.y" +{ yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ; + break;} +case 387: +#line 1856 "./parse.y" { tree super_wfl = build_wfl_node (super_identifier_node, @@ -4242,20 +4211,20 @@ case 386: yyval.node = make_qualified_name (super_wfl, yyvsp[0].node, yyvsp[-1].operator.location); ; break;} -case 387: -#line 1859 "./parse.y" -{yyerror ("Field expected"); DRECOVER (super_field_acces);; - break;} case 388: #line 1864 "./parse.y" -{ yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ; +{yyerror ("Field expected"); DRECOVER (super_field_acces);; break;} case 389: -#line 1866 "./parse.y" -{ yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ; +#line 1869 "./parse.y" +{ yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ; break;} case 390: -#line 1868 "./parse.y" +#line 1871 "./parse.y" +{ yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ; + break;} +case 391: +#line 1873 "./parse.y" { if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR) yyval.node = build_this_super_qualified_invocation @@ -4267,8 +4236,8 @@ case 390: } ; break;} -case 391: -#line 1879 "./parse.y" +case 392: +#line 1884 "./parse.y" { if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR) yyval.node = build_this_super_qualified_invocation @@ -4280,122 +4249,122 @@ case 391: } ; break;} -case 392: -#line 1890 "./parse.y" +case 393: +#line 1895 "./parse.y" { yyval.node = build_this_super_qualified_invocation (0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location); ; break;} -case 393: -#line 1895 "./parse.y" +case 394: +#line 1900 "./parse.y" { yyval.node = build_this_super_qualified_invocation (0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location); ; break;} -case 394: -#line 1904 "./parse.y" -{ yyerror ("'(' expected"); DRECOVER (method_invocation); ; - break;} case 395: -#line 1906 "./parse.y" +#line 1909 "./parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ; break;} case 396: #line 1911 "./parse.y" -{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; +{ yyerror ("'(' expected"); DRECOVER (method_invocation); ; break;} case 397: -#line 1913 "./parse.y" +#line 1916 "./parse.y" { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 398: -#line 1915 "./parse.y" -{ - yyerror ("Missing term and ']' expected"); - DRECOVER(array_access); - ; +#line 1918 "./parse.y" +{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 399: #line 1920 "./parse.y" { - yyerror ("']' expected"); + yyerror ("Missing term and ']' expected"); DRECOVER(array_access); ; break;} case 400: #line 1925 "./parse.y" { - yyerror ("Missing term and ']' expected"); + yyerror ("']' expected"); DRECOVER(array_access); ; break;} case 401: #line 1930 "./parse.y" { - yyerror ("']' expected"); + yyerror ("Missing term and ']' expected"); DRECOVER(array_access); ; break;} -case 406: -#line 1945 "./parse.y" -{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; +case 402: +#line 1935 "./parse.y" +{ + yyerror ("']' expected"); + DRECOVER(array_access); + ; break;} case 407: #line 1950 "./parse.y" { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; break;} -case 410: -#line 1957 "./parse.y" -{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; +case 408: +#line 1955 "./parse.y" +{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; break;} case 411: -#line 1959 "./parse.y" +#line 1962 "./parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} -case 413: -#line 1962 "./parse.y" -{yyerror ("Missing term"); RECOVER; +case 412: +#line 1964 "./parse.y" +{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 414: -#line 1964 "./parse.y" +#line 1967 "./parse.y" {yyerror ("Missing term"); RECOVER; break;} case 415: #line 1969 "./parse.y" -{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; +{yyerror ("Missing term"); RECOVER; break;} case 416: -#line 1971 "./parse.y" -{yyerror ("Missing term"); RECOVER; +#line 1974 "./parse.y" +{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; break;} case 417: #line 1976 "./parse.y" -{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; +{yyerror ("Missing term"); RECOVER; break;} case 418: -#line 1978 "./parse.y" -{yyerror ("Missing term"); RECOVER; +#line 1981 "./parse.y" +{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; break;} -case 420: -#line 1984 "./parse.y" -{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; +case 419: +#line 1983 "./parse.y" +{yyerror ("Missing term"); RECOVER; break;} case 421: -#line 1986 "./parse.y" +#line 1989 "./parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} -case 423: -#line 1989 "./parse.y" -{yyerror ("Missing term"); RECOVER; +case 422: +#line 1991 "./parse.y" +{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 424: -#line 1991 "./parse.y" +#line 1994 "./parse.y" {yyerror ("Missing term"); RECOVER; break;} case 425: #line 1996 "./parse.y" +{yyerror ("Missing term"); RECOVER; + break;} +case 426: +#line 2001 "./parse.y" { tree type = yyvsp[-3].node; while (CURRENT_OSB (ctxp)--) @@ -4404,16 +4373,16 @@ case 425: yyval.node = build_cast (yyvsp[-4].operator.location, type, yyvsp[0].node); ; break;} -case 426: -#line 2004 "./parse.y" -{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; - break;} case 427: -#line 2006 "./parse.y" +#line 2009 "./parse.y" { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 428: -#line 2008 "./parse.y" +#line 2011 "./parse.y" +{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; + break;} +case 429: +#line 2013 "./parse.y" { char *ptr; while (CURRENT_OSB (ctxp)--) @@ -4427,42 +4396,35 @@ case 428: yyval.node = build_cast (yyvsp[-4].operator.location, yyvsp[-3].node, yyvsp[0].node); ; break;} -case 429: -#line 2021 "./parse.y" +case 430: +#line 2026 "./parse.y" {yyerror ("']' expected, invalid type expression");; break;} -case 430: -#line 2023 "./parse.y" +case 431: +#line 2028 "./parse.y" { if (ctxp->prevent_ese != lineno) yyerror ("Invalid type expression"); RECOVER; RECOVER; ; break;} -case 431: -#line 2029 "./parse.y" -{yyerror ("Missing term"); RECOVER;; - break;} case 432: -#line 2031 "./parse.y" +#line 2034 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 433: -#line 2033 "./parse.y" +#line 2036 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 435: -#line 2039 "./parse.y" -{ - yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), - yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); - ; +case 434: +#line 2038 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 436: #line 2044 "./parse.y" -{ - yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, - yyvsp[-2].node, yyvsp[0].node); +{ + yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), + yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 437: @@ -4474,22 +4436,22 @@ case 437: break;} case 438: #line 2054 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +{ + yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, + yyvsp[-2].node, yyvsp[0].node); + ; break;} case 439: -#line 2056 "./parse.y" +#line 2059 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 440: -#line 2058 "./parse.y" +#line 2061 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 442: -#line 2064 "./parse.y" -{ - yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, - yyvsp[-2].node, yyvsp[0].node); - ; +case 441: +#line 2063 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 443: #line 2069 "./parse.y" @@ -4500,19 +4462,19 @@ case 443: break;} case 444: #line 2074 "./parse.y" -{yyerror ("Missing term"); RECOVER;; - break;} -case 445: -#line 2076 "./parse.y" -{yyerror ("Missing term"); RECOVER;; - break;} -case 447: -#line 2082 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} +case 445: +#line 2079 "./parse.y" +{yyerror ("Missing term"); RECOVER;; + break;} +case 446: +#line 2081 "./parse.y" +{yyerror ("Missing term"); RECOVER;; + break;} case 448: #line 2087 "./parse.y" { @@ -4529,22 +4491,22 @@ case 449: break;} case 450: #line 2097 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +{ + yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, + yyvsp[-2].node, yyvsp[0].node); + ; break;} case 451: -#line 2099 "./parse.y" +#line 2102 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 452: -#line 2101 "./parse.y" +#line 2104 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 454: -#line 2107 "./parse.y" -{ - yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, - yyvsp[-2].node, yyvsp[0].node); - ; +case 453: +#line 2106 "./parse.y" +{yyerror ("Missing term"); RECOVER;; break;} case 455: #line 2112 "./parse.y" @@ -4569,134 +4531,141 @@ case 457: break;} case 458: #line 2127 "./parse.y" -{ yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; +{ + yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, + yyvsp[-2].node, yyvsp[0].node); + ; break;} case 459: -#line 2129 "./parse.y" -{yyerror ("Missing term"); RECOVER;; +#line 2132 "./parse.y" +{ yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 460: -#line 2131 "./parse.y" +#line 2134 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 461: -#line 2133 "./parse.y" +#line 2136 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 462: -#line 2135 "./parse.y" +#line 2138 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 463: -#line 2137 "./parse.y" +#line 2140 "./parse.y" +{yyerror ("Missing term"); RECOVER;; + break;} +case 464: +#line 2142 "./parse.y" {yyerror ("Invalid reference type"); RECOVER;; break;} -case 465: -#line 2143 "./parse.y" +case 466: +#line 2148 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 466: -#line 2148 "./parse.y" +case 467: +#line 2153 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 467: -#line 2153 "./parse.y" +case 468: +#line 2158 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 468: -#line 2155 "./parse.y" +case 469: +#line 2160 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 470: -#line 2161 "./parse.y" +case 471: +#line 2166 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 471: -#line 2166 "./parse.y" +case 472: +#line 2171 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 473: -#line 2172 "./parse.y" +case 474: +#line 2177 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 474: -#line 2177 "./parse.y" +case 475: +#line 2182 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 476: -#line 2183 "./parse.y" +case 477: +#line 2188 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 477: -#line 2188 "./parse.y" +case 478: +#line 2193 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 479: -#line 2194 "./parse.y" +case 480: +#line 2199 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 480: -#line 2199 "./parse.y" +case 481: +#line 2204 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 482: -#line 2205 "./parse.y" +case 483: +#line 2210 "./parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 483: -#line 2210 "./parse.y" +case 484: +#line 2215 "./parse.y" {yyerror ("Missing term"); RECOVER;; break;} -case 485: -#line 2216 "./parse.y" +case 486: +#line 2221 "./parse.y" { yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location; ; break;} -case 486: -#line 2221 "./parse.y" +case 487: +#line 2226 "./parse.y" { YYERROR_NOW; yyerror ("Missing term"); DRECOVER (1); ; break;} -case 487: -#line 2227 "./parse.y" +case 488: +#line 2232 "./parse.y" {yyerror ("Missing term"); DRECOVER (2);; break;} -case 488: -#line 2229 "./parse.y" +case 489: +#line 2234 "./parse.y" {yyerror ("Missing term"); DRECOVER (3);; break;} -case 491: -#line 2239 "./parse.y" +case 492: +#line 2244 "./parse.y" { yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 492: -#line 2241 "./parse.y" +case 493: +#line 2246 "./parse.y" { if (ctxp->prevent_ese != lineno) yyerror ("Missing term"); @@ -4705,7 +4674,7 @@ case 492: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/share/misc/bison.simple" +#line 498 "/usr/cygnus/gnupro-98r2/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -4901,7 +4870,7 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 2267 "./parse.y" +#line 2272 "./parse.y" @@ -9689,13 +9658,9 @@ lookup_method_invoke (lc, cl, class, name, arg_list) /* Fix the arguments */ for (node = arg_list; node; node = TREE_CHAIN (node)) { - tree current_arg = TREE_VALUE (node); - /* Integer constant 0 passed as itself, not as a type */ - if (current_arg != integer_zero_node) - current_arg = TREE_TYPE (TREE_VALUE (node)); + tree current_arg = TREE_TYPE (TREE_VALUE (node)); /* Non primitive type may have to be resolved */ - if (current_arg != integer_zero_node - && !JPRIMITIVE_TYPE_P (current_arg)) + if (!JPRIMITIVE_TYPE_P (current_arg)) resolve_and_layout (current_arg, NULL_TREE); /* And promoted */ if (TREE_CODE (current_arg) == RECORD_TYPE) @@ -9735,9 +9700,6 @@ lookup_method_invoke (lc, cl, class, name, arg_list) candidates = obstack_finish (&temporary_obstack); } /* Issue the error message */ - for (node = atl; node; node = TREE_CHAIN (node)) - if (TREE_VALUE (node) == integer_zero_node) - TREE_VALUE (node) = long_type_node; method = make_node (FUNCTION_TYPE); TYPE_ARG_TYPES (method) = atl; signature = build_java_argument_signature (method); @@ -11240,11 +11202,6 @@ valid_builtin_assignconv_identity_widening_p (lhs_type, rhs_type) if (lhs_type == rhs_type) return 1; - /* Sometimes, instead of passing a type, we pass integer_zero_node - so we know that a numeric type can accomodate it */ - if (JNUMERIC_TYPE_P (lhs_type) && (rhs_type == integer_zero_node)) - return 1; - /* Reject non primitive types */ if (!JPRIMITIVE_TYPE_P (lhs_type) || !JPRIMITIVE_TYPE_P (rhs_type)) return 0; @@ -11431,8 +11388,7 @@ static int valid_method_invocation_conversion_p (dest, source) tree dest, source; { - return (((JPRIMITIVE_TYPE_P (source) || (source == integer_zero_node)) - && JPRIMITIVE_TYPE_P (dest) + return ((JPRIMITIVE_TYPE_P (source) && JPRIMITIVE_TYPE_P (dest) && valid_builtin_assignconv_identity_widening_p (dest, source)) || ((JREFERENCE_TYPE_P (source) || JNULLP_TYPE_P (source)) && (JREFERENCE_TYPE_P (dest) || JNULLP_TYPE_P (dest)) @@ -11554,10 +11510,16 @@ patch_binop (node, wfl_op1, wfl_op2) /* Change the division operator if necessary */ if (code == RDIV_EXPR && TREE_CODE (prom_type) == INTEGER_TYPE) TREE_SET_CODE (node, TRUNC_DIV_EXPR); - /* This one is more complicated. FLOATs are processed by a function - call to soft_fmod. */ + + /* This one is more complicated. FLOATs are processed by a + function call to soft_fmod. Duplicate the value of the + COMPOUND_ASSIGN_P flag. */ if (code == TRUNC_MOD_EXPR) - return build_java_binop (TRUNC_MOD_EXPR, prom_type, op1, op2); + { + tree mod = build_java_binop (TRUNC_MOD_EXPR, prom_type, op1, op2); + COMPOUND_ASSIGN_P (mod) = COMPOUND_ASSIGN_P (node); + return mod; + } break; /* 15.17 Additive Operators */ @@ -11632,13 +11594,17 @@ patch_binop (node, wfl_op1, wfl_op2) /* The >>> operator is a >> operating on unsigned quantities */ if (code == URSHIFT_EXPR && ! flag_emit_class_files) { + tree to_return; tree utype = unsigned_type (prom_type); op1 = convert (utype, op1); TREE_SET_CODE (node, RSHIFT_EXPR); TREE_OPERAND (node, 0) = op1; TREE_OPERAND (node, 1) = op2; TREE_TYPE (node) = utype; - return convert (prom_type, node); + to_return = convert (prom_type, node); + /* Copy the original value of the COMPOUND_ASSIGN_P flag */ + COMPOUND_ASSIGN_P (to_return) = COMPOUND_ASSIGN_P (node); + return to_return; } break; @@ -12307,12 +12273,21 @@ patch_cast (node, wfl_operator) if (cast_type == op_type) return node; + /* float and double type are converted to the original type main + variant and then to the target type. */ + if (JFLOAT_TYPE_P (op_type) && TREE_CODE (cast_type) == CHAR_TYPE) + op = convert (integer_type_node, op); + /* Try widening/narowwing convertion. Potentially, things need to be worked out in gcc so we implement the extreme cases correctly. fold_convert() needs to be fixed. */ return convert (cast_type, op); } + /* It's also valid to cast a boolean into a boolean */ + if (op_type == boolean_type_node && cast_type == boolean_type_node) + return node; + /* null can be casted to references */ if (op == null_pointer_node && JREFERENCE_TYPE_P (cast_type)) return build_null_of_type (cast_type); diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 3a212523548..4358dc123c9 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -671,7 +671,10 @@ class_declaration: | CLASS_TK error {yyerror ("Missing class name"); RECOVER;} | CLASS_TK identifier error - {if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1);} + { + if (!ctxp->class_err) yyerror ("'{' expected"); + DRECOVER(class1); + } | modifiers CLASS_TK identifier error {if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER;} ; @@ -734,6 +737,8 @@ class_body_declaration: class_member_declaration: field_declaration +| field_declaration SC_TK + { $$ = $1; } | method_declaration | class_declaration /* Added, JDK1.1 inner classes */ { $$ = parse_jdk1_1_error ("inner classe declaration"); } @@ -1044,9 +1049,9 @@ interface_declaration: $$ = $6; } | INTERFACE_TK identifier error - {yyerror ("(here)'{' expected"); RECOVER;} + {yyerror ("'{' expected"); RECOVER;} | modifiers INTERFACE_TK identifier error - {yyerror ("(there)'{' expected"); RECOVER;} + {yyerror ("'{' expected"); RECOVER;} ; extends_interfaces: @@ -8903,10 +8908,16 @@ patch_binop (node, wfl_op1, wfl_op2) /* Change the division operator if necessary */ if (code == RDIV_EXPR && TREE_CODE (prom_type) == INTEGER_TYPE) TREE_SET_CODE (node, TRUNC_DIV_EXPR); - /* This one is more complicated. FLOATs are processed by a function - call to soft_fmod. */ + + /* This one is more complicated. FLOATs are processed by a + function call to soft_fmod. Duplicate the value of the + COMPOUND_ASSIGN_P flag. */ if (code == TRUNC_MOD_EXPR) - return build_java_binop (TRUNC_MOD_EXPR, prom_type, op1, op2); + { + tree mod = build_java_binop (TRUNC_MOD_EXPR, prom_type, op1, op2); + COMPOUND_ASSIGN_P (mod) = COMPOUND_ASSIGN_P (node); + return mod; + } break; /* 15.17 Additive Operators */ @@ -8981,13 +8992,17 @@ patch_binop (node, wfl_op1, wfl_op2) /* The >>> operator is a >> operating on unsigned quantities */ if (code == URSHIFT_EXPR && ! flag_emit_class_files) { + tree to_return; tree utype = unsigned_type (prom_type); op1 = convert (utype, op1); TREE_SET_CODE (node, RSHIFT_EXPR); TREE_OPERAND (node, 0) = op1; TREE_OPERAND (node, 1) = op2; TREE_TYPE (node) = utype; - return convert (prom_type, node); + to_return = convert (prom_type, node); + /* Copy the original value of the COMPOUND_ASSIGN_P flag */ + COMPOUND_ASSIGN_P (to_return) = COMPOUND_ASSIGN_P (node); + return to_return; } break; @@ -9656,12 +9671,21 @@ patch_cast (node, wfl_operator) if (cast_type == op_type) return node; + /* float and double type are converted to the original type main + variant and then to the target type. */ + if (JFLOAT_TYPE_P (op_type) && TREE_CODE (cast_type) == CHAR_TYPE) + op = convert (integer_type_node, op); + /* Try widening/narowwing convertion. Potentially, things need to be worked out in gcc so we implement the extreme cases correctly. fold_convert() needs to be fixed. */ return convert (cast_type, op); } + /* It's also valid to cast a boolean into a boolean */ + if (op_type == boolean_type_node && cast_type == boolean_type_node) + return node; + /* null can be casted to references */ if (op == null_pointer_node && JREFERENCE_TYPE_P (cast_type)) return build_null_of_type (cast_type);