X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FyaccParser%2Fhsparser.tab.c;h=64e3327200d798eaa338c0cb14ca93c114ccb2e8;hb=b52838bcf54a3d5d07cf29f17f3af6f584fc0f4e;hp=1fbc148f4c3be350e76350afbc27cc8f0f0dcd32;hpb=ed7464364646a28aaf27d1dbc2ceaf7a9d9ce62f;p=ghc-hetmet.git diff --git a/ghc/compiler/yaccParser/hsparser.tab.c b/ghc/compiler/yaccParser/hsparser.tab.c index 1fbc148..64e3327 100644 --- a/ghc/compiler/yaccParser/hsparser.tab.c +++ b/ghc/compiler/yaccParser/hsparser.tab.c @@ -199,8 +199,7 @@ extern BOOLEAN haskell1_3Flag; /* True if we are attempting (proto)Haskell 1.3 extern int thisIfacePragmaVersion; - -#line 100 "yaccParser/hsparser.y" +#line 99 "yaccParser/hsparser.y" typedef union { tree utree; list ulist; @@ -246,11 +245,11 @@ typedef -#define YYFINAL 1094 +#define YYFINAL 1105 #define YYFLAG -32768 #define YYNTBASE 120 -#define YYTRANSLATE(x) ((unsigned)(x) <= 374 ? yytranslate[x] : 347) +#define YYTRANSLATE(x) ((unsigned)(x) <= 374 ? yytranslate[x] : 343) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -300,308 +299,309 @@ static const short yyprhs[] = { 0, 74, 78, 81, 85, 90, 93, 94, 96, 98, 102, 104, 106, 111, 116, 121, 125, 130, 134, 135, 138, 139, 141, 145, 149, 153, 154, 158, 159, 164, 165, - 170, 176, 182, 183, 186, 187, 190, 194, 195, 197, - 204, 206, 209, 211, 214, 216, 218, 220, 223, 227, - 231, 232, 234, 237, 241, 243, 249, 251, 255, 257, - 260, 262, 266, 272, 274, 278, 285, 287, 291, 293, - 295, 296, 298, 300, 304, 308, 313, 318, 323, 330, - 335, 339, 345, 352, 361, 368, 374, 376, 378, 382, - 386, 387, 390, 396, 397, 400, 405, 407, 411, 413, - 417, 421, 424, 429, 436, 443, 450, 452, 454, 456, - 458, 462, 466, 470, 476, 483, 489, 492, 496, 500, - 502, 504, 513, 522, 531, 540, 542, 543, 546, 552, - 555, 559, 561, 565, 567, 569, 571, 574, 576, 580, - 583, 587, 589, 593, 595, 597, 601, 603, 605, 606, - 609, 610, 613, 614, 617, 619, 623, 624, 629, 632, - 637, 640, 644, 646, 650, 654, 658, 659, 662, 664, - 668, 674, 682, 683, 689, 695, 699, 705, 709, 710, - 713, 715, 719, 720, 725, 726, 731, 732, 737, 738, - 742, 743, 747, 748, 752, 754, 758, 760, 764, 766, - 768, 770, 772, 774, 776, 781, 788, 793, 802, 809, - 815, 819, 820, 825, 830, 837, 842, 843, 848, 853, - 855, 859, 863, 866, 870, 876, 879, 885, 887, 889, - 893, 900, 905, 911, 917, 923, 928, 933, 937, 941, - 943, 944, 945, 947, 949, 953, 955, 959, 961, 965, - 967, 969, 971, 973, 975, 976, 983, 988, 994, 1000, - 1004, 1012, 1018, 1027, 1034, 1041, 1046, 1053, 1058, 1061, - 1063, 1067, 1069, 1073, 1078, 1080, 1083, 1086, 1088, 1090, - 1094, 1097, 1099, 1105, 1107, 1109, 1112, 1116, 1120, 1127, - 1129, 1131, 1134, 1137, 1139, 1143, 1146, 1151, 1153, 1157, - 1161, 1165, 1168, 1170, 1172, 1176, 1180, 1182, 1184, 1188, - 1189, 1191, 1195, 1200, 1205, 1207, 1211, 1213, 1215, 1219, - 1221, 1225, 1226, 1230, 1233, 1235, 1238, 1242, 1247, 1252, - 1257, 1258, 1261, 1264, 1266, 1272, 1276, 1278, 1280, 1284, - 1287, 1289, 1290, 1291, 1298, 1305, 1312, 1319, 1326, 1333, - 1337, 1340, 1344, 1347, 1351, 1354, 1358, 1361, 1365, 1367, - 1370, 1372, 1375, 1377, 1379, 1381, 1383, 1387, 1392, 1397, - 1399, 1401, 1403, 1405, 1409, 1411, 1414, 1416, 1420, 1422, - 1426, 1429, 1431, 1434, 1436, 1439, 1441, 1444, 1446, 1448, - 1450, 1454, 1456, 1458, 1461, 1467, 1471, 1477, 1481, 1484, - 1487, 1489, 1491, 1495, 1497, 1499, 1502, 1508, 1512, 1518, - 1522, 1525, 1528, 1534, 1537, 1539, 1543, 1546, 1550, 1552, - 1556, 1564, 1570, 1576, 1578, 1582, 1583, 1584, 1589, 1592, - 1593, 1595, 1599, 1600, 1604, 1605, 1608, 1612, 1617, 1621, - 1622, 1624, 1628, 1630, 1632, 1636, 1638, 1640, 1643, 1646, - 1648, 1651, 1653, 1655, 1657, 1661, 1663, 1665, 1668, 1674, - 1678, 1684, 1688, 1691, 1694, 1696, 1698, 1700, 1702, 1704, - 1706, 1708, 1710, 1712, 1714, 1718, 1721, 1725, 1728, 1730, - 1732, 1734, 1736, 1738, 1740, 1742, 1744, 1746, 1748, 1750, - 1752, 1754, 1756, 1758, 1760, 1764, 1766, 1768, 1772, 1774, - 1778, 1780, 1782, 1784, 1786, 1788, 1790, 1794, 1796, 1800, - 1802, 1806, 1808, 1812, 1814, 1816, 1820, 1824, 1826, 1829, - 1831, 1833, 1835, 1837, 1840, 1842, 1843, 1845, 1846, 1849, - 1851 + 170, 176, 177, 180, 181, 185, 186, 188, 195, 197, + 200, 202, 205, 207, 209, 211, 214, 218, 222, 223, + 225, 228, 232, 234, 240, 242, 246, 248, 251, 253, + 257, 263, 265, 269, 271, 273, 275, 279, 285, 289, + 294, 299, 304, 311, 316, 320, 326, 333, 342, 349, + 355, 357, 359, 363, 367, 368, 371, 377, 378, 381, + 386, 388, 392, 394, 398, 402, 405, 410, 417, 424, + 431, 433, 435, 437, 439, 443, 447, 451, 457, 464, + 470, 473, 477, 481, 483, 485, 494, 503, 512, 521, + 523, 524, 527, 533, 536, 540, 542, 546, 548, 550, + 552, 555, 557, 561, 564, 568, 570, 574, 576, 578, + 582, 584, 586, 587, 590, 591, 594, 595, 598, 600, + 604, 605, 610, 613, 618, 621, 625, 627, 631, 635, + 639, 640, 643, 645, 649, 655, 663, 664, 670, 676, + 680, 686, 690, 691, 694, 696, 700, 701, 706, 707, + 712, 713, 718, 719, 723, 724, 728, 729, 733, 735, + 739, 741, 745, 747, 749, 751, 753, 755, 757, 762, + 769, 774, 783, 790, 796, 800, 801, 806, 811, 818, + 823, 824, 829, 834, 836, 841, 847, 850, 854, 860, + 862, 867, 873, 876, 880, 886, 889, 895, 897, 899, + 903, 910, 915, 921, 927, 933, 938, 943, 947, 951, + 953, 954, 955, 957, 959, 963, 965, 969, 971, 975, + 977, 979, 981, 983, 985, 986, 993, 998, 1004, 1010, + 1014, 1022, 1028, 1037, 1044, 1051, 1056, 1063, 1068, 1071, + 1073, 1077, 1079, 1083, 1088, 1090, 1093, 1096, 1098, 1100, + 1104, 1107, 1109, 1115, 1117, 1119, 1122, 1126, 1130, 1137, + 1139, 1141, 1144, 1146, 1150, 1153, 1158, 1160, 1164, 1168, + 1172, 1175, 1177, 1179, 1183, 1187, 1189, 1191, 1195, 1196, + 1198, 1202, 1208, 1213, 1218, 1220, 1224, 1226, 1228, 1232, + 1234, 1238, 1239, 1243, 1246, 1248, 1251, 1255, 1260, 1265, + 1270, 1271, 1274, 1277, 1279, 1285, 1289, 1291, 1293, 1297, + 1300, 1302, 1303, 1304, 1311, 1318, 1325, 1332, 1339, 1346, + 1350, 1353, 1357, 1360, 1364, 1367, 1371, 1374, 1378, 1380, + 1383, 1385, 1388, 1390, 1392, 1394, 1396, 1400, 1405, 1410, + 1412, 1414, 1416, 1418, 1422, 1424, 1427, 1429, 1433, 1435, + 1439, 1442, 1444, 1447, 1449, 1452, 1454, 1457, 1459, 1461, + 1463, 1467, 1469, 1471, 1474, 1480, 1484, 1490, 1494, 1497, + 1500, 1502, 1504, 1508, 1510, 1512, 1515, 1521, 1525, 1531, + 1535, 1538, 1541, 1547, 1550, 1552, 1556, 1559, 1563, 1565, + 1569, 1577, 1583, 1589, 1591, 1595, 1596, 1597, 1602, 1605, + 1606, 1608, 1612, 1613, 1617, 1618, 1621, 1625, 1630, 1634, + 1635, 1637, 1641, 1643, 1645, 1649, 1651, 1653, 1656, 1659, + 1661, 1664, 1666, 1668, 1670, 1674, 1676, 1678, 1681, 1687, + 1691, 1697, 1701, 1704, 1707, 1709, 1711, 1713, 1715, 1717, + 1719, 1721, 1723, 1725, 1727, 1731, 1734, 1738, 1741, 1743, + 1745, 1747, 1749, 1751, 1753, 1755, 1757, 1759, 1761, 1763, + 1765, 1767, 1769, 1771, 1773, 1777, 1779, 1781, 1785, 1787, + 1791, 1793, 1795, 1797, 1799, 1801, 1803, 1807, 1809, 1813, + 1815, 1819, 1821, 1825, 1827, 1829, 1831, 1835, 1837, 1840, + 1842, 1844, 1846, 1848, 1851, 1853, 1854, 1856, 1857, 1860, + 1862 }; -static const short yyrhs[] = { 188, - 190, 121, 0, 0, 317, 339, 125, 122, 41, 124, - 0, 0, 123, 124, 0, 340, 192, 207, 217, 343, - 0, 341, 192, 207, 217, 344, 0, 341, 193, 344, - 0, 340, 193, 343, 0, 341, 192, 344, 0, 340, - 192, 343, 0, 0, 24, 126, 25, 0, 127, 0, - 126, 26, 127, 0, 329, 0, 338, 0, 338, 24, - 32, 25, 0, 338, 24, 260, 25, 0, 338, 24, - 258, 25, 0, 338, 24, 25, 0, 338, 32, 0, +static const short yyrhs[] = { 184, + 186, 121, 0, 0, 313, 335, 125, 122, 41, 124, + 0, 0, 123, 124, 0, 336, 188, 203, 213, 339, + 0, 337, 188, 203, 213, 340, 0, 337, 189, 340, + 0, 336, 189, 339, 0, 337, 188, 340, 0, 336, + 188, 339, 0, 0, 24, 126, 25, 0, 127, 0, + 126, 26, 127, 0, 325, 0, 334, 0, 334, 24, + 32, 25, 0, 334, 24, 256, 25, 0, 334, 24, + 254, 25, 0, 334, 24, 25, 0, 334, 32, 0, 24, 130, 25, 0, 55, 24, 130, 25, 0, 24, 25, 0, 0, 128, 0, 131, 0, 130, 26, 131, - 0, 329, 0, 338, 0, 338, 24, 32, 25, 0, - 338, 24, 260, 25, 0, 338, 24, 258, 25, 0, - 338, 24, 25, 0, 68, 250, 133, 69, 0, 68, + 0, 325, 0, 334, 0, 334, 24, 32, 25, 0, + 334, 24, 256, 25, 0, 334, 24, 254, 25, 0, + 334, 24, 25, 0, 68, 246, 133, 69, 0, 68, 133, 69, 0, 0, 73, 134, 0, 0, 135, 0, - 134, 26, 135, 0, 22, 157, 23, 0, 68, 72, - 69, 0, 0, 68, 151, 69, 0, 0, 68, 143, - 143, 69, 0, 0, 68, 140, 143, 69, 0, 68, - 140, 143, 160, 69, 0, 68, 140, 143, 141, 69, - 0, 0, 74, 339, 0, 0, 73, 155, 0, 68, - 143, 69, 0, 0, 71, 0, 144, 145, 146, 147, - 149, 152, 0, 70, 0, 75, 8, 0, 70, 0, - 76, 8, 0, 70, 0, 81, 0, 70, 0, 77, - 89, 0, 77, 11, 148, 0, 18, 143, 19, 0, - 0, 70, 0, 80, 330, 0, 79, 150, 162, 0, - 107, 0, 108, 8, 8, 4, 8, 0, 143, 0, - 151, 26, 143, 0, 70, 0, 73, 153, 0, 154, - 0, 153, 26, 154, 0, 22, 157, 23, 8, 148, - 0, 156, 0, 155, 26, 156, 0, 22, 157, 23, - 8, 148, 159, 0, 158, 0, 157, 26, 158, 0, - 70, 0, 242, 0, 0, 160, 0, 161, 0, 160, - 26, 161, 0, 329, 30, 143, 0, 38, 176, 28, - 162, 0, 88, 181, 28, 162, 0, 89, 331, 183, - 178, 0, 89, 106, 339, 331, 183, 178, 0, 90, - 175, 183, 178, 0, 91, 162, 178, 0, 92, 162, - 18, 185, 19, 0, 42, 162, 43, 18, 163, 19, - 0, 39, 18, 177, 30, 162, 19, 40, 162, 0, - 98, 18, 169, 19, 40, 162, 0, 60, 18, 171, - 19, 162, 0, 309, 0, 174, 0, 95, 164, 168, - 0, 96, 166, 168, 0, 0, 164, 165, 0, 174, - 176, 28, 162, 21, 0, 0, 166, 167, 0, 309, - 28, 162, 21, 0, 97, 0, 177, 28, 162, 0, - 170, 0, 169, 21, 170, 0, 177, 30, 162, 0, - 112, 173, 0, 113, 11, 11, 173, 0, 114, 11, - 11, 11, 173, 172, 0, 115, 174, 11, 11, 173, - 172, 0, 116, 174, 11, 11, 173, 172, 0, 70, - 0, 117, 0, 70, 0, 118, 0, 99, 338, 338, - 0, 100, 338, 329, 0, 101, 338, 329, 0, 102, - 338, 24, 185, 25, 0, 103, 338, 329, 24, 185, - 25, 0, 104, 174, 22, 186, 23, 0, 105, 174, - 0, 106, 339, 329, 0, 106, 339, 331, 0, 329, - 0, 331, 0, 24, 56, 333, 18, 183, 185, 19, - 25, 0, 24, 57, 333, 18, 183, 185, 19, 25, - 0, 24, 58, 309, 18, 183, 185, 19, 25, 0, - 24, 59, 309, 18, 183, 185, 19, 25, 0, 3, - 0, 0, 176, 177, 0, 24, 3, 33, 185, 25, - 0, 22, 23, 0, 22, 179, 23, 0, 180, 0, - 179, 26, 180, 0, 309, 0, 174, 0, 3, 0, - 181, 3, 0, 94, 0, 182, 26, 94, 0, 22, - 23, 0, 22, 184, 23, 0, 185, 0, 184, 26, - 185, 0, 242, 0, 187, 0, 186, 26, 187, 0, - 70, 0, 185, 0, 0, 189, 197, 0, 0, 191, - 197, 0, 0, 193, 21, 0, 194, 0, 193, 21, - 194, 0, 0, 53, 339, 195, 196, 0, 197, 129, - 0, 197, 129, 64, 198, 0, 204, 67, 0, 24, - 199, 25, 0, 200, 0, 199, 26, 200, 0, 329, - 66, 329, 0, 331, 66, 331, 0, 0, 202, 21, - 0, 203, 0, 202, 21, 203, 0, 310, 339, 24, - 130, 25, 0, 310, 339, 24, 130, 25, 64, 198, - 0, 0, 54, 339, 205, 41, 206, 0, 340, 201, - 207, 233, 343, 0, 340, 202, 343, 0, 341, 201, - 207, 233, 344, 0, 341, 202, 344, 0, 0, 208, - 21, 0, 209, 0, 208, 21, 209, 0, 0, 50, - 8, 210, 216, 0, 0, 51, 8, 211, 216, 0, - 0, 49, 8, 212, 216, 0, 0, 50, 213, 216, - 0, 0, 51, 214, 216, 0, 0, 49, 215, 216, - 0, 322, 0, 216, 26, 322, 0, 218, 0, 217, - 21, 218, 0, 219, 0, 220, 0, 221, 0, 223, - 0, 226, 0, 229, 0, 312, 248, 30, 242, 0, - 311, 254, 31, 248, 30, 250, 0, 311, 248, 30, - 250, 0, 311, 254, 31, 248, 30, 250, 65, 252, - 0, 311, 248, 30, 250, 65, 252, 0, 315, 254, - 31, 240, 222, 0, 315, 240, 222, 0, 0, 41, - 340, 228, 343, 0, 41, 341, 228, 344, 0, 313, - 254, 31, 337, 225, 224, 0, 313, 337, 225, 224, - 0, 0, 41, 340, 256, 343, 0, 41, 341, 256, - 344, 0, 338, 0, 24, 249, 25, 0, 24, 334, - 25, 0, 24, 25, 0, 22, 246, 23, 0, 24, - 246, 28, 246, 25, 0, 314, 227, 0, 24, 242, - 26, 241, 25, 0, 245, 0, 229, 0, 228, 21, - 229, 0, 258, 33, 242, 31, 242, 138, 0, 258, - 33, 242, 138, 0, 82, 330, 33, 231, 87, 0, - 82, 47, 4, 225, 87, 0, 82, 45, 338, 244, - 87, 0, 83, 330, 230, 87, 0, 84, 330, 330, - 87, 0, 86, 330, 87, 0, 85, 338, 87, 0, - 261, 0, 0, 0, 4, 0, 232, 0, 231, 26, - 232, 0, 242, 0, 242, 30, 330, 0, 234, 0, - 233, 21, 234, 0, 236, 0, 237, 0, 238, 0, - 239, 0, 235, 0, 0, 258, 33, 242, 31, 242, - 142, 0, 258, 33, 242, 142, 0, 312, 248, 30, - 242, 136, 0, 311, 254, 31, 248, 132, 0, 311, - 248, 132, 0, 311, 254, 31, 248, 30, 250, 132, - 0, 311, 248, 30, 250, 132, 0, 311, 254, 31, - 248, 30, 250, 65, 252, 0, 311, 248, 30, 250, - 65, 252, 0, 315, 254, 31, 240, 137, 222, 0, - 315, 240, 137, 222, 0, 313, 254, 31, 337, 225, - 139, 0, 313, 337, 225, 139, 0, 338, 336, 0, - 242, 0, 241, 26, 242, 0, 243, 0, 243, 28, - 242, 0, 93, 182, 31, 242, 0, 246, 0, 338, - 244, 0, 244, 246, 0, 246, 0, 247, 0, 243, - 28, 242, 0, 338, 244, 0, 247, 0, 24, 242, - 26, 241, 25, 0, 336, 0, 338, 0, 24, 25, - 0, 24, 242, 25, 0, 22, 242, 23, 0, 18, - 18, 4, 242, 19, 19, 0, 94, 0, 338, 0, - 338, 335, 0, 338, 244, 0, 251, 0, 250, 29, - 251, 0, 338, 244, 0, 24, 6, 25, 244, 0, - 338, 0, 24, 6, 25, 0, 243, 325, 243, 0, - 24, 253, 25, 0, 24, 25, 0, 337, 0, 337, - 0, 253, 26, 337, 0, 24, 255, 25, 0, 240, - 0, 240, 0, 255, 26, 240, 0, 0, 257, 0, - 256, 21, 257, 0, 83, 330, 230, 87, 0, 84, - 330, 330, 87, 0, 261, 0, 330, 26, 259, 0, - 330, 0, 329, 0, 259, 26, 329, 0, 331, 0, - 260, 26, 331, 0, 0, 278, 262, 263, 0, 264, - 266, 0, 265, 0, 30, 269, 0, 267, 30, 269, - 0, 267, 30, 269, 265, 0, 41, 340, 228, 343, - 0, 41, 341, 228, 344, 0, 0, 29, 270, 0, - 307, 268, 0, 307, 0, 270, 33, 242, 31, 242, - 0, 270, 33, 242, 0, 270, 0, 271, 0, 270, - 322, 270, 0, 7, 272, 0, 272, 0, 0, 0, - 38, 273, 268, 274, 28, 269, 0, 39, 340, 228, - 343, 40, 269, 0, 39, 341, 228, 344, 40, 269, - 0, 61, 269, 62, 269, 63, 269, 0, 42, 269, - 43, 340, 297, 343, 0, 42, 269, 43, 341, 297, - 344, 0, 56, 333, 276, 0, 56, 333, 0, 57, - 333, 276, 0, 57, 333, 0, 58, 17, 276, 0, - 58, 17, 0, 59, 17, 276, 0, 59, 17, 0, - 60, 11, 269, 0, 275, 0, 275, 277, 0, 277, - 0, 276, 277, 0, 277, 0, 329, 0, 331, 0, - 309, 0, 24, 269, 25, 0, 24, 270, 322, 25, - 0, 24, 321, 270, 25, 0, 286, 0, 288, 0, - 290, 0, 291, 0, 329, 36, 277, 0, 35, 0, - 37, 277, 0, 282, 0, 278, 322, 279, 0, 280, - 0, 279, 322, 279, 0, 7, 281, 0, 281, 0, - 281, 284, 0, 284, 0, 316, 281, 0, 283, 0, - 283, 284, 0, 285, 0, 331, 0, 329, 0, 329, - 36, 307, 0, 309, 0, 35, 0, 24, 25, 0, - 24, 329, 119, 8, 25, 0, 24, 279, 25, 0, - 24, 279, 26, 303, 25, 0, 22, 303, 23, 0, - 22, 23, 0, 37, 307, 0, 332, 0, 330, 0, - 330, 36, 307, 0, 309, 0, 35, 0, 318, 25, - 0, 318, 329, 119, 8, 25, 0, 318, 279, 25, - 0, 318, 279, 26, 303, 25, 0, 319, 303, 23, - 0, 319, 23, 0, 320, 307, 0, 24, 269, 26, - 287, 25, 0, 24, 25, 0, 269, 0, 269, 26, - 287, 0, 22, 23, 0, 22, 289, 23, 0, 269, - 0, 269, 26, 289, 0, 22, 269, 26, 269, 32, - 302, 23, 0, 22, 269, 32, 302, 23, 0, 22, - 269, 29, 292, 23, 0, 293, 0, 292, 26, 293, - 0, 0, 0, 294, 269, 295, 296, 0, 34, 269, - 0, 0, 298, 0, 297, 21, 298, 0, 0, 304, - 299, 300, 0, 0, 301, 266, 0, 28, 269, 266, - 0, 267, 28, 269, 301, 0, 267, 28, 269, 0, - 0, 269, 0, 304, 26, 303, 0, 304, 0, 305, - 0, 304, 325, 305, 0, 308, 0, 306, 0, 7, - 8, 0, 7, 9, 0, 331, 0, 306, 307, 0, - 331, 0, 308, 0, 329, 0, 329, 36, 307, 0, - 309, 0, 35, 0, 24, 25, 0, 24, 329, 119, - 8, 25, 0, 24, 304, 25, 0, 24, 304, 26, - 303, 25, 0, 22, 303, 23, 0, 22, 23, 0, - 37, 307, 0, 8, 0, 9, 0, 10, 0, 11, - 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, - 0, 17, 0, 17, 78, 4, 0, 109, 8, 0, - 110, 8, 8, 0, 111, 11, 0, 53, 0, 45, - 0, 44, 0, 47, 0, 48, 0, 46, 0, 7, - 0, 52, 0, 24, 0, 22, 0, 37, 0, 325, - 0, 324, 0, 325, 0, 323, 0, 326, 0, 27, - 3, 27, 0, 5, 0, 328, 0, 27, 3, 27, - 0, 6, 0, 27, 4, 27, 0, 5, 0, 328, - 0, 327, 0, 7, 0, 119, 0, 3, 0, 24, - 326, 25, 0, 3, 0, 318, 326, 25, 0, 338, - 0, 24, 6, 25, 0, 338, 0, 318, 6, 25, - 0, 3, 0, 4, 0, 246, 26, 246, 0, 246, - 26, 334, 0, 336, 0, 335, 336, 0, 3, 0, - 338, 0, 4, 0, 4, 0, 342, 18, 0, 342, - 0, 0, 19, 0, 0, 345, 346, 0, 20, 0, - 1, 0 + 134, 26, 135, 0, 22, 154, 23, 0, 68, 72, + 69, 0, 0, 68, 150, 69, 0, 0, 68, 142, + 142, 69, 0, 0, 68, 140, 142, 69, 0, 68, + 140, 142, 156, 69, 0, 0, 74, 335, 0, 0, + 68, 142, 69, 0, 0, 71, 0, 143, 144, 145, + 146, 148, 151, 0, 70, 0, 75, 8, 0, 70, + 0, 76, 8, 0, 70, 0, 81, 0, 70, 0, + 77, 89, 0, 77, 11, 147, 0, 18, 142, 19, + 0, 0, 70, 0, 80, 326, 0, 79, 149, 158, + 0, 107, 0, 108, 8, 8, 4, 8, 0, 142, + 0, 150, 26, 142, 0, 70, 0, 73, 152, 0, + 153, 0, 152, 26, 153, 0, 22, 154, 23, 8, + 147, 0, 155, 0, 154, 26, 155, 0, 70, 0, + 239, 0, 157, 0, 156, 26, 157, 0, 325, 30, + 18, 142, 19, 0, 325, 30, 142, 0, 38, 172, + 28, 158, 0, 88, 177, 28, 158, 0, 89, 327, + 179, 174, 0, 89, 106, 335, 327, 179, 174, 0, + 90, 171, 179, 174, 0, 91, 158, 174, 0, 92, + 158, 18, 181, 19, 0, 42, 158, 43, 18, 159, + 19, 0, 39, 18, 173, 30, 158, 19, 40, 158, + 0, 98, 18, 165, 19, 40, 158, 0, 60, 18, + 167, 19, 158, 0, 305, 0, 170, 0, 95, 160, + 164, 0, 96, 162, 164, 0, 0, 160, 161, 0, + 170, 172, 28, 158, 21, 0, 0, 162, 163, 0, + 305, 28, 158, 21, 0, 97, 0, 173, 28, 158, + 0, 166, 0, 165, 21, 166, 0, 173, 30, 158, + 0, 112, 169, 0, 113, 11, 11, 169, 0, 114, + 11, 11, 11, 169, 168, 0, 115, 170, 11, 11, + 169, 168, 0, 116, 170, 11, 11, 169, 168, 0, + 70, 0, 117, 0, 70, 0, 118, 0, 99, 334, + 334, 0, 100, 334, 325, 0, 101, 334, 325, 0, + 102, 334, 24, 181, 25, 0, 103, 334, 325, 24, + 181, 25, 0, 104, 170, 22, 182, 23, 0, 105, + 170, 0, 106, 335, 325, 0, 106, 335, 327, 0, + 325, 0, 327, 0, 24, 56, 329, 18, 179, 181, + 19, 25, 0, 24, 57, 329, 18, 179, 181, 19, + 25, 0, 24, 58, 305, 18, 179, 181, 19, 25, + 0, 24, 59, 305, 18, 179, 181, 19, 25, 0, + 3, 0, 0, 172, 173, 0, 24, 3, 33, 181, + 25, 0, 22, 23, 0, 22, 175, 23, 0, 176, + 0, 175, 26, 176, 0, 305, 0, 170, 0, 3, + 0, 177, 3, 0, 94, 0, 178, 26, 94, 0, + 22, 23, 0, 22, 180, 23, 0, 181, 0, 180, + 26, 181, 0, 239, 0, 183, 0, 182, 26, 183, + 0, 70, 0, 181, 0, 0, 185, 193, 0, 0, + 187, 193, 0, 0, 189, 21, 0, 190, 0, 189, + 21, 190, 0, 0, 53, 335, 191, 192, 0, 193, + 129, 0, 193, 129, 64, 194, 0, 200, 67, 0, + 24, 195, 25, 0, 196, 0, 195, 26, 196, 0, + 325, 66, 325, 0, 327, 66, 327, 0, 0, 198, + 21, 0, 199, 0, 198, 21, 199, 0, 306, 335, + 24, 130, 25, 0, 306, 335, 24, 130, 25, 64, + 194, 0, 0, 54, 335, 201, 41, 202, 0, 336, + 197, 203, 230, 339, 0, 336, 198, 339, 0, 337, + 197, 203, 230, 340, 0, 337, 198, 340, 0, 0, + 204, 21, 0, 205, 0, 204, 21, 205, 0, 0, + 50, 8, 206, 212, 0, 0, 51, 8, 207, 212, + 0, 0, 49, 8, 208, 212, 0, 0, 50, 209, + 212, 0, 0, 51, 210, 212, 0, 0, 49, 211, + 212, 0, 318, 0, 212, 26, 318, 0, 214, 0, + 213, 21, 214, 0, 215, 0, 216, 0, 217, 0, + 219, 0, 223, 0, 226, 0, 308, 245, 30, 239, + 0, 307, 250, 31, 245, 30, 246, 0, 307, 245, + 30, 246, 0, 307, 250, 31, 245, 30, 246, 65, + 248, 0, 307, 245, 30, 246, 65, 248, 0, 311, + 250, 31, 237, 218, 0, 311, 237, 218, 0, 0, + 41, 336, 225, 339, 0, 41, 337, 225, 340, 0, + 309, 250, 31, 333, 221, 220, 0, 309, 333, 222, + 220, 0, 0, 41, 336, 252, 339, 0, 41, 337, + 252, 340, 0, 334, 0, 24, 334, 331, 25, 0, + 24, 332, 26, 330, 25, 0, 24, 25, 0, 22, + 332, 23, 0, 24, 332, 28, 332, 25, 0, 334, + 0, 24, 334, 241, 25, 0, 24, 239, 26, 238, + 25, 0, 24, 25, 0, 22, 239, 23, 0, 24, + 240, 28, 239, 25, 0, 310, 224, 0, 24, 239, + 26, 238, 25, 0, 242, 0, 226, 0, 225, 21, + 226, 0, 254, 33, 239, 31, 239, 138, 0, 254, + 33, 239, 138, 0, 82, 326, 33, 228, 87, 0, + 82, 47, 4, 222, 87, 0, 82, 45, 334, 241, + 87, 0, 83, 326, 227, 87, 0, 84, 326, 326, + 87, 0, 86, 326, 87, 0, 85, 334, 87, 0, + 257, 0, 0, 0, 4, 0, 229, 0, 228, 26, + 229, 0, 239, 0, 239, 30, 326, 0, 231, 0, + 230, 21, 231, 0, 233, 0, 234, 0, 235, 0, + 236, 0, 232, 0, 0, 254, 33, 239, 31, 239, + 141, 0, 254, 33, 239, 141, 0, 308, 245, 30, + 239, 136, 0, 307, 250, 31, 245, 132, 0, 307, + 245, 132, 0, 307, 250, 31, 245, 30, 246, 132, + 0, 307, 245, 30, 246, 132, 0, 307, 250, 31, + 245, 30, 246, 65, 248, 0, 307, 245, 30, 246, + 65, 248, 0, 311, 250, 31, 237, 137, 218, 0, + 311, 237, 137, 218, 0, 309, 250, 31, 333, 222, + 139, 0, 309, 333, 222, 139, 0, 334, 332, 0, + 239, 0, 238, 26, 239, 0, 240, 0, 240, 28, + 239, 0, 93, 178, 31, 239, 0, 243, 0, 334, + 241, 0, 241, 243, 0, 243, 0, 244, 0, 240, + 28, 239, 0, 334, 241, 0, 244, 0, 24, 239, + 26, 238, 25, 0, 332, 0, 334, 0, 24, 25, + 0, 24, 239, 25, 0, 22, 239, 23, 0, 18, + 18, 4, 239, 19, 19, 0, 94, 0, 334, 0, + 334, 331, 0, 247, 0, 246, 29, 247, 0, 334, + 241, 0, 24, 6, 25, 241, 0, 334, 0, 24, + 6, 25, 0, 240, 321, 240, 0, 24, 249, 25, + 0, 24, 25, 0, 333, 0, 333, 0, 249, 26, + 333, 0, 24, 251, 25, 0, 237, 0, 237, 0, + 251, 26, 237, 0, 0, 253, 0, 252, 21, 253, + 0, 82, 326, 33, 228, 87, 0, 83, 326, 227, + 87, 0, 84, 326, 326, 87, 0, 257, 0, 326, + 26, 255, 0, 326, 0, 325, 0, 255, 26, 325, + 0, 327, 0, 256, 26, 327, 0, 0, 274, 258, + 259, 0, 260, 262, 0, 261, 0, 30, 265, 0, + 263, 30, 265, 0, 263, 30, 265, 261, 0, 41, + 336, 225, 339, 0, 41, 337, 225, 340, 0, 0, + 29, 266, 0, 303, 264, 0, 303, 0, 266, 33, + 239, 31, 239, 0, 266, 33, 239, 0, 266, 0, + 267, 0, 266, 318, 266, 0, 7, 268, 0, 268, + 0, 0, 0, 38, 269, 264, 270, 28, 265, 0, + 39, 336, 225, 339, 40, 265, 0, 39, 337, 225, + 340, 40, 265, 0, 61, 265, 62, 265, 63, 265, + 0, 42, 265, 43, 336, 293, 339, 0, 42, 265, + 43, 337, 293, 340, 0, 56, 329, 272, 0, 56, + 329, 0, 57, 329, 272, 0, 57, 329, 0, 58, + 17, 272, 0, 58, 17, 0, 59, 17, 272, 0, + 59, 17, 0, 60, 11, 265, 0, 271, 0, 271, + 273, 0, 273, 0, 272, 273, 0, 273, 0, 325, + 0, 327, 0, 305, 0, 24, 265, 25, 0, 24, + 266, 318, 25, 0, 24, 317, 266, 25, 0, 282, + 0, 284, 0, 286, 0, 287, 0, 325, 36, 273, + 0, 35, 0, 37, 273, 0, 278, 0, 274, 318, + 275, 0, 276, 0, 275, 318, 275, 0, 7, 277, + 0, 277, 0, 277, 280, 0, 280, 0, 312, 277, + 0, 279, 0, 279, 280, 0, 281, 0, 327, 0, + 325, 0, 325, 36, 303, 0, 305, 0, 35, 0, + 24, 25, 0, 24, 325, 119, 8, 25, 0, 24, + 275, 25, 0, 24, 275, 26, 299, 25, 0, 22, + 299, 23, 0, 22, 23, 0, 37, 303, 0, 328, + 0, 326, 0, 326, 36, 303, 0, 305, 0, 35, + 0, 314, 25, 0, 314, 325, 119, 8, 25, 0, + 314, 275, 25, 0, 314, 275, 26, 299, 25, 0, + 315, 299, 23, 0, 315, 23, 0, 316, 303, 0, + 24, 265, 26, 283, 25, 0, 24, 25, 0, 265, + 0, 265, 26, 283, 0, 22, 23, 0, 22, 285, + 23, 0, 265, 0, 265, 26, 285, 0, 22, 265, + 26, 265, 32, 298, 23, 0, 22, 265, 32, 298, + 23, 0, 22, 265, 29, 288, 23, 0, 289, 0, + 288, 26, 289, 0, 0, 0, 290, 265, 291, 292, + 0, 34, 265, 0, 0, 294, 0, 293, 21, 294, + 0, 0, 300, 295, 296, 0, 0, 297, 262, 0, + 28, 265, 262, 0, 263, 28, 265, 297, 0, 263, + 28, 265, 0, 0, 265, 0, 300, 26, 299, 0, + 300, 0, 301, 0, 300, 321, 301, 0, 304, 0, + 302, 0, 7, 8, 0, 7, 9, 0, 327, 0, + 302, 303, 0, 327, 0, 304, 0, 325, 0, 325, + 36, 303, 0, 305, 0, 35, 0, 24, 25, 0, + 24, 325, 119, 8, 25, 0, 24, 300, 25, 0, + 24, 300, 26, 299, 25, 0, 22, 299, 23, 0, + 22, 23, 0, 37, 303, 0, 8, 0, 9, 0, + 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, + 15, 0, 16, 0, 17, 0, 17, 78, 4, 0, + 109, 8, 0, 110, 8, 8, 0, 111, 11, 0, + 53, 0, 45, 0, 44, 0, 47, 0, 48, 0, + 46, 0, 7, 0, 52, 0, 24, 0, 22, 0, + 37, 0, 321, 0, 320, 0, 321, 0, 319, 0, + 322, 0, 27, 3, 27, 0, 5, 0, 324, 0, + 27, 3, 27, 0, 6, 0, 27, 4, 27, 0, + 5, 0, 324, 0, 323, 0, 7, 0, 119, 0, + 3, 0, 24, 322, 25, 0, 3, 0, 314, 322, + 25, 0, 334, 0, 24, 6, 25, 0, 334, 0, + 314, 6, 25, 0, 3, 0, 4, 0, 332, 0, + 330, 26, 332, 0, 332, 0, 331, 332, 0, 3, + 0, 334, 0, 4, 0, 4, 0, 338, 18, 0, + 338, 0, 0, 19, 0, 0, 341, 342, 0, 20, + 0, 1, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 331, 334, 336, 337, 339, 342, 346, 351, 355, 361, - 365, 372, 373, 376, 378, 381, 383, 384, 385, 389, - 393, 397, 404, 405, 406, 409, 410, 413, 415, 418, - 420, 421, 422, 426, 430, 438, 441, 443, 446, 449, - 452, 454, 458, 462, 464, 467, 469, 472, 475, 479, - 483, 486, 489, 493, 496, 500, 503, 506, 510, 513, - 517, 519, 522, 524, 527, 529, 532, 534, 537, 541, - 543, 545, 547, 549, 553, 556, 560, 562, 565, 567, - 570, 572, 575, 580, 582, 585, 590, 592, 595, 597, - 600, 602, 605, 607, 610, 619, 622, 624, 626, 628, - 630, 632, 634, 636, 638, 640, 642, 643, 646, 649, - 653, 655, 658, 663, 665, 668, 672, 674, 677, 679, - 682, 686, 688, 689, 691, 693, 696, 697, 699, 700, - 702, 704, 705, 706, 708, 710, 712, 713, 714, 715, - 716, 719, 722, 724, 726, 728, 731, 733, 736, 739, - 741, 744, 746, 749, 751, 754, 756, 759, 761, 764, - 766, 769, 771, 774, 794, 796, 799, 801, 806, 821, - 828, 842, 849, 850, 853, 854, 857, 879, 885, 889, - 893, 901, 904, 906, 909, 910, 913, 914, 917, 918, - 921, 923, 928, 933, 946, 950, 954, 958, 964, 965, - 969, 970, 973, 976, 976, 979, 979, 982, 982, 985, - 985, 988, 988, 991, 993, 994, 997, 998, 1017, 1018, - 1019, 1020, 1021, 1022, 1025, 1029, 1031, 1033, 1035, 1039, - 1040, 1043, 1044, 1045, 1048, 1049, 1052, 1053, 1054, 1057, - 1058, 1060, 1061, 1062, 1063, 1066, 1069, 1070, 1077, 1078, - 1107, 1112, 1125, 1131, 1137, 1143, 1149, 1155, 1161, 1169, - 1170, 1173, 1175, 1177, 1179, 1182, 1184, 1186, 1187, 1190, - 1191, 1192, 1193, 1194, 1195, 1199, 1201, 1205, 1209, 1211, - 1213, 1215, 1217, 1219, 1223, 1225, 1229, 1231, 1238, 1242, - 1243, 1246, 1247, 1249, 1252, 1253, 1256, 1257, 1261, 1262, - 1263, 1266, 1267, 1270, 1271, 1272, 1273, 1274, 1276, 1278, - 1282, 1283, 1287, 1293, 1294, 1298, 1299, 1300, 1301, 1302, - 1305, 1306, 1307, 1310, 1311, 1314, 1315, 1318, 1319, 1322, - 1323, 1324, 1337, 1344, 1350, 1354, 1355, 1359, 1360, 1363, - 1364, 1368, 1394, 1408, 1411, 1412, 1415, 1416, 1419, 1421, - 1422, 1425, 1429, 1430, 1439, 1440, 1441, 1450, 1451, 1461, - 1462, 1469, 1477, 1480, 1486, 1487, 1490, 1493, 1494, 1497, - 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1507, 1518, 1523, - 1524, 1527, 1528, 1538, 1539, 1540, 1541, 1542, 1543, 1546, - 1547, 1548, 1549, 1552, 1553, 1554, 1567, 1568, 1582, 1583, - 1603, 1604, 1608, 1609, 1612, 1613, 1617, 1618, 1621, 1622, - 1623, 1624, 1625, 1626, 1627, 1631, 1632, 1633, 1634, 1635, - 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1648, 1649, 1650, - 1651, 1652, 1656, 1662, 1671, 1672, 1682, 1683, 1686, 1688, - 1703, 1704, 1707, 1710, 1711, 1714, 1714, 1715, 1735, 1736, - 1739, 1740, 1743, 1746, 1749, 1752, 1753, 1756, 1757, 1760, - 1761, 1764, 1765, 1769, 1770, 1773, 1774, 1775, 1776, 1779, - 1780, 1783, 1784, 1787, 1788, 1789, 1790, 1791, 1792, 1796, - 1797, 1798, 1799, 1800, 1803, 1805, 1806, 1807, 1808, 1809, - 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1823, 1826, - 1836, 1846, 1857, 1860, 1870, 1873, 1883, 1886, 1889, 1895, - 1896, 1899, 1900, 1903, 1904, 1908, 1909, 1910, 1913, 1914, - 1917, 1918, 1919, 1922, 1925, 1928, 1929, 1932, 1933, 1937, - 1938, 1941, 1942, 1945, 1946, 1950, 1951, 1955, 1956, 1959, - 1962, 1968, 1971, 1975, 1977, 1980, 1983, 1991, 1991, 1994, - 2000 + 329, 332, 334, 335, 337, 340, 344, 349, 353, 359, + 363, 370, 371, 374, 376, 379, 381, 382, 383, 387, + 391, 395, 402, 403, 404, 407, 408, 411, 413, 416, + 418, 419, 420, 424, 428, 436, 439, 441, 444, 447, + 450, 452, 456, 460, 462, 465, 467, 470, 473, 477, + 481, 484, 488, 491, 495, 498, 502, 505, 509, 511, + 514, 516, 519, 521, 524, 526, 529, 533, 535, 537, + 539, 541, 545, 548, 552, 554, 557, 559, 562, 564, + 567, 572, 574, 577, 579, 582, 584, 587, 598, 608, + 611, 613, 615, 617, 619, 621, 623, 625, 627, 629, + 631, 632, 635, 638, 642, 644, 647, 652, 654, 657, + 661, 663, 666, 668, 671, 675, 677, 678, 680, 682, + 685, 686, 688, 689, 691, 693, 694, 695, 697, 699, + 701, 702, 703, 704, 705, 708, 711, 713, 715, 717, + 720, 722, 725, 728, 730, 733, 735, 738, 740, 743, + 745, 748, 750, 753, 755, 758, 760, 763, 783, 785, + 788, 790, 795, 810, 817, 831, 838, 839, 842, 843, + 846, 868, 874, 878, 882, 890, 893, 895, 898, 899, + 902, 903, 906, 907, 910, 912, 917, 922, 935, 939, + 943, 947, 953, 954, 958, 959, 962, 965, 965, 968, + 968, 971, 971, 974, 974, 977, 977, 980, 982, 983, + 986, 987, 1006, 1007, 1008, 1009, 1010, 1011, 1014, 1018, + 1020, 1022, 1024, 1028, 1029, 1032, 1033, 1034, 1037, 1038, + 1041, 1042, 1043, 1046, 1047, 1048, 1049, 1050, 1051, 1054, + 1055, 1056, 1057, 1058, 1059, 1062, 1065, 1066, 1073, 1074, + 1103, 1108, 1121, 1127, 1133, 1139, 1145, 1151, 1157, 1165, + 1166, 1169, 1171, 1173, 1175, 1178, 1180, 1182, 1183, 1186, + 1187, 1188, 1189, 1190, 1191, 1195, 1197, 1201, 1205, 1207, + 1209, 1211, 1213, 1215, 1219, 1221, 1225, 1227, 1234, 1238, + 1239, 1242, 1243, 1245, 1248, 1249, 1252, 1253, 1257, 1258, + 1259, 1262, 1263, 1266, 1267, 1268, 1269, 1270, 1272, 1274, + 1278, 1279, 1282, 1283, 1287, 1288, 1289, 1290, 1291, 1294, + 1295, 1296, 1299, 1300, 1303, 1304, 1307, 1308, 1311, 1312, + 1313, 1326, 1333, 1339, 1345, 1349, 1350, 1353, 1354, 1357, + 1358, 1362, 1388, 1402, 1405, 1406, 1409, 1410, 1413, 1415, + 1416, 1419, 1423, 1424, 1434, 1435, 1436, 1445, 1446, 1456, + 1457, 1464, 1472, 1475, 1481, 1482, 1485, 1488, 1489, 1492, + 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1502, 1513, 1518, + 1519, 1522, 1523, 1533, 1534, 1535, 1536, 1537, 1538, 1541, + 1542, 1543, 1544, 1547, 1548, 1549, 1562, 1563, 1577, 1578, + 1598, 1599, 1603, 1604, 1607, 1608, 1612, 1613, 1616, 1617, + 1618, 1619, 1620, 1621, 1622, 1626, 1627, 1628, 1629, 1630, + 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1643, 1644, 1645, + 1646, 1647, 1651, 1657, 1666, 1667, 1677, 1678, 1681, 1683, + 1698, 1699, 1702, 1705, 1706, 1709, 1709, 1710, 1730, 1731, + 1734, 1735, 1738, 1741, 1744, 1747, 1748, 1751, 1752, 1755, + 1756, 1759, 1760, 1764, 1765, 1768, 1769, 1770, 1771, 1774, + 1775, 1778, 1779, 1782, 1783, 1784, 1785, 1786, 1787, 1791, + 1792, 1793, 1794, 1795, 1798, 1800, 1801, 1802, 1803, 1804, + 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1818, 1821, + 1831, 1841, 1852, 1855, 1865, 1868, 1878, 1881, 1884, 1890, + 1891, 1894, 1895, 1898, 1899, 1903, 1904, 1905, 1908, 1909, + 1912, 1913, 1914, 1917, 1920, 1923, 1924, 1927, 1928, 1932, + 1933, 1936, 1937, 1940, 1941, 1944, 1945, 1948, 1949, 1952, + 1955, 1961, 1964, 1968, 1970, 1973, 1976, 1984, 1984, 1987, + 1993 }; static const char * const yytname[] = { "$","error","$undefined.","VARID", @@ -624,24 +624,23 @@ static const char * const yytname[] = { "$","error","$undefined.","VARID", "CO_CAF_CC","CO_DUPD_CC","PLUS","pmodule","module","@1","@2","body","maybeexports", "export_list","export","impspec","maybeimpspec","import_list","import","idata_pragma", "idata_pragma_specs","idata_pragma_specslist","idata_pragma_spectypes","itype_pragma", -"iclas_pragma","iclasop_pragma","iinst_pragma","modname_pragma","restof_iinst_spec", -"ival_pragma","gen_pragma","arity_pragma","update_pragma","deforest_pragma", -"strictness_pragma","worker_info","unfolding_pragma","unfolding_guidance","gen_pragma_list", -"type_pragma_pairs_maybe","type_pragma_pairs","type_pragma_pair","type_instpragma_pairs", -"type_instpragma_pair","type_maybes","type_maybe","maybe_name_pragma_pairs", -"name_pragma_pairs","name_pragma_pair","core_expr","core_case_alts","core_alg_alts", -"core_alg_alt","core_prim_alts","core_prim_alt","core_default","corec_binds", -"corec_bind","co_scc","co_caf","co_dupd","core_id","co_primop","core_binders", -"core_binder","core_atoms","core_atom_list","core_atom","core_tyvars","core_tv_templates", -"core_types","core_type_list","core_type","core_type_maybes","core_type_maybe", -"readpreludecore","@3","readprelude","@4","maybeimpdecls","impdecls","impdecl", -"@5","impdecl_rest","readinterface","renamings","renaming_list","renaming","maybeiimports", -"iimports","iimport","interface","@6","ibody","maybefixes","fixes","fix","@7", -"@8","@9","@10","@11","@12","ops","topdecls","topdecl","typed","datad","classd", -"cbody","instd","rinst","inst","defaultd","dtypes","decls","decl","howto_inline_maybe", -"types_and_maybe_ids","type_and_maybe_id","itopdecls","itopdecl","ivarsd","ityped", -"idatad","iclassd","iinstd","class","types","type","btype","atypes","ttype", -"atype","ntatype","simple","simple_long","constrs","constr","tyclses","tycls_list", +"iclas_pragma","iclasop_pragma","iinst_pragma","modname_pragma","ival_pragma", +"gen_pragma","arity_pragma","update_pragma","deforest_pragma","strictness_pragma", +"worker_info","unfolding_pragma","unfolding_guidance","gen_pragma_list","type_pragma_pairs_maybe", +"type_pragma_pairs","type_pragma_pair","type_maybes","type_maybe","name_pragma_pairs", +"name_pragma_pair","core_expr","core_case_alts","core_alg_alts","core_alg_alt", +"core_prim_alts","core_prim_alt","core_default","corec_binds","corec_bind","co_scc", +"co_caf","co_dupd","core_id","co_primop","core_binders","core_binder","core_atoms", +"core_atom_list","core_atom","core_tyvars","core_tv_templates","core_types", +"core_type_list","core_type","core_type_maybes","core_type_maybe","readpreludecore", +"@3","readprelude","@4","maybeimpdecls","impdecls","impdecl","@5","impdecl_rest", +"readinterface","renamings","renaming_list","renaming","maybeiimports","iimports", +"iimport","interface","@6","ibody","maybefixes","fixes","fix","@7","@8","@9", +"@10","@11","@12","ops","topdecls","topdecl","typed","datad","classd","cbody", +"instd","rinst","restrict_inst","general_inst","defaultd","dtypes","decls","decl", +"howto_inline_maybe","types_and_maybe_ids","type_and_maybe_id","itopdecls","itopdecl", +"ivarsd","ityped","idatad","iclassd","iinstd","class","types","type","btype", +"atypes","ttype","atype","ntatype","simple","constrs","constr","tyclses","tycls_list", "context","context_list","instdefs","instdef","vars","varsrest","cons","valdef", "@13","valrhs","valrhs1","gdrhs","maybe_where","gd","lampats","exp","oexp","dexp", "kexp","@14","@15","fexp","cexp","aexp","opatk","opat","dpat","fpat","dpatk", @@ -650,7 +649,7 @@ static const char * const yytname[] = { "$","error","$undefined.","VARID", "pats","pat","bpat","conpat","apat","apatc","lit_constant","importkey","datakey", "typekey","instkey","defaultkey","classkey","minuskey","modulekey","oparenkey", "obrackkey","lazykey","op1","op","varop","varop1","conop","varsym","minus","plus", -"var","vark","con","conk","ccallid","atype_list","tyvars","tyvar","tycls","tycon", +"var","vark","con","conk","ccallid","tyvar_list","tyvars","tyvar","tycls","tycon", "modid","ocurly","vocurly","layout","ccurly","vccurly","@19","vccurly1","" }; #endif @@ -661,57 +660,57 @@ static const short yyr1[] = { 0, 127, 127, 128, 128, 128, 129, 129, 130, 130, 131, 131, 131, 131, 131, 131, 132, 132, 132, 133, 133, 134, 134, 135, 136, 136, 137, 137, 138, 138, 139, - 139, 139, 139, 140, 140, 141, 142, 142, 143, 143, - 144, 144, 145, 145, 146, 146, 147, 147, 147, 148, - 148, 149, 149, 149, 150, 150, 151, 151, 152, 152, - 153, 153, 154, 155, 155, 156, 157, 157, 158, 158, - 159, 159, 160, 160, 161, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 163, 163, - 164, 164, 165, 166, 166, 167, 168, 168, 169, 169, - 170, 171, 171, 171, 171, 171, 172, 172, 173, 173, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 175, 175, 175, 175, 175, 176, 176, 177, 178, - 178, 179, 179, 180, 180, 181, 181, 182, 182, 183, - 183, 184, 184, 185, 186, 186, 187, 187, 189, 188, - 191, 190, 192, 192, 193, 193, 195, 194, 196, 196, - 197, 198, 199, 199, 200, 200, 201, 201, 202, 202, - 203, 203, 205, 204, 206, 206, 206, 206, 207, 207, - 208, 208, 210, 209, 211, 209, 212, 209, 213, 209, - 214, 209, 215, 209, 216, 216, 217, 217, 218, 218, - 218, 218, 218, 218, 219, 220, 220, 220, 220, 221, - 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, - 225, 225, 225, 225, 225, 226, 227, 227, 228, 228, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 230, 230, 231, 231, 232, 232, 233, 233, 234, - 234, 234, 234, 234, 234, 235, 235, 236, 237, 237, - 237, 237, 237, 237, 238, 238, 239, 239, 240, 241, - 241, 242, 242, 242, 243, 243, 244, 244, 245, 245, - 245, 246, 246, 247, 247, 247, 247, 247, 247, 247, - 248, 248, 249, 250, 250, 251, 251, 251, 251, 251, - 252, 252, 252, 253, 253, 254, 254, 255, 255, 256, - 256, 256, 257, 257, 257, 258, 258, 259, 259, 260, - 260, 262, 261, 263, 264, 264, 265, 265, 266, 266, - 266, 267, 268, 268, 269, 269, 269, 270, 270, 271, - 271, 273, 274, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 275, - 275, 276, 276, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 278, 278, 279, 279, - 280, 280, 281, 281, 282, 282, 283, 283, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, - 285, 285, 286, 286, 287, 287, 288, 288, 289, 289, - 290, 290, 291, 292, 292, 294, 295, 293, 296, 296, - 297, 297, 299, 298, 298, 300, 300, 301, 301, 302, - 302, 303, 303, 304, 304, 305, 305, 305, 305, 306, - 306, 307, 307, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 309, 309, 309, 309, 309, 309, - 309, 309, 309, 309, 309, 309, 309, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 321, 322, 322, 323, 323, 324, 324, 324, 325, 325, - 326, 326, 326, 327, 328, 329, 329, 330, 330, 331, - 331, 332, 332, 333, 333, 334, 334, 335, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 345, 344, 346, - 346 + 139, 139, 140, 140, 141, 141, 142, 142, 143, 143, + 144, 144, 145, 145, 146, 146, 146, 147, 147, 148, + 148, 148, 149, 149, 150, 150, 151, 151, 152, 152, + 153, 154, 154, 155, 155, 156, 156, 157, 157, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 159, 159, 160, 160, 161, 162, 162, 163, + 164, 164, 165, 165, 166, 167, 167, 167, 167, 167, + 168, 168, 169, 169, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 171, 171, 171, 171, 171, + 172, 172, 173, 174, 174, 175, 175, 176, 176, 177, + 177, 178, 178, 179, 179, 180, 180, 181, 182, 182, + 183, 183, 185, 184, 187, 186, 188, 188, 189, 189, + 191, 190, 192, 192, 193, 194, 195, 195, 196, 196, + 197, 197, 198, 198, 199, 199, 201, 200, 202, 202, + 202, 202, 203, 203, 204, 204, 206, 205, 207, 205, + 208, 205, 209, 205, 210, 205, 211, 205, 212, 212, + 213, 213, 214, 214, 214, 214, 214, 214, 215, 216, + 216, 216, 216, 217, 217, 218, 218, 218, 219, 219, + 220, 220, 220, 221, 221, 221, 221, 221, 221, 222, + 222, 222, 222, 222, 222, 223, 224, 224, 225, 225, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, + 231, 231, 231, 231, 231, 232, 232, 233, 234, 234, + 234, 234, 234, 234, 235, 235, 236, 236, 237, 238, + 238, 239, 239, 239, 240, 240, 241, 241, 242, 242, + 242, 243, 243, 244, 244, 244, 244, 244, 244, 244, + 245, 245, 246, 246, 247, 247, 247, 247, 247, 248, + 248, 248, 249, 249, 250, 250, 251, 251, 252, 252, + 252, 253, 253, 253, 253, 254, 254, 255, 255, 256, + 256, 258, 257, 259, 260, 260, 261, 261, 262, 262, + 262, 263, 264, 264, 265, 265, 265, 266, 266, 267, + 267, 269, 270, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 271, + 271, 272, 272, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 274, 274, 275, 275, + 276, 276, 277, 277, 278, 278, 279, 279, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, + 281, 281, 282, 282, 283, 283, 284, 284, 285, 285, + 286, 286, 287, 288, 288, 290, 291, 289, 292, 292, + 293, 293, 295, 294, 294, 296, 296, 297, 297, 298, + 298, 299, 299, 300, 300, 301, 301, 301, 301, 302, + 302, 303, 303, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 317, 318, 318, 319, 319, 320, 320, 320, 321, 321, + 322, 322, 322, 323, 324, 325, 325, 326, 326, 327, + 327, 328, 328, 329, 329, 330, 330, 331, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 341, 340, 342, + 342 }; static const short yyr2[] = { 0, @@ -720,35 +719,35 @@ static const short yyr2[] = { 0, 3, 2, 3, 4, 2, 0, 1, 1, 3, 1, 1, 4, 4, 4, 3, 4, 3, 0, 2, 0, 1, 3, 3, 3, 0, 3, 0, 4, 0, 4, - 5, 5, 0, 2, 0, 2, 3, 0, 1, 6, - 1, 2, 1, 2, 1, 1, 1, 2, 3, 3, - 0, 1, 2, 3, 1, 5, 1, 3, 1, 2, - 1, 3, 5, 1, 3, 6, 1, 3, 1, 1, - 0, 1, 1, 3, 3, 4, 4, 4, 6, 4, - 3, 5, 6, 8, 6, 5, 1, 1, 3, 3, - 0, 2, 5, 0, 2, 4, 1, 3, 1, 3, - 3, 2, 4, 6, 6, 6, 1, 1, 1, 1, - 3, 3, 3, 5, 6, 5, 2, 3, 3, 1, - 1, 8, 8, 8, 8, 1, 0, 2, 5, 2, - 3, 1, 3, 1, 1, 1, 2, 1, 3, 2, - 3, 1, 3, 1, 1, 3, 1, 1, 0, 2, - 0, 2, 0, 2, 1, 3, 0, 4, 2, 4, - 2, 3, 1, 3, 3, 3, 0, 2, 1, 3, - 5, 7, 0, 5, 5, 3, 5, 3, 0, 2, - 1, 3, 0, 4, 0, 4, 0, 4, 0, 3, - 0, 3, 0, 3, 1, 3, 1, 3, 1, 1, - 1, 1, 1, 1, 4, 6, 4, 8, 6, 5, - 3, 0, 4, 4, 6, 4, 0, 4, 4, 1, - 3, 3, 2, 3, 5, 2, 5, 1, 1, 3, + 5, 0, 2, 0, 3, 0, 1, 6, 1, 2, + 1, 2, 1, 1, 1, 2, 3, 3, 0, 1, + 2, 3, 1, 5, 1, 3, 1, 2, 1, 3, + 5, 1, 3, 1, 1, 1, 3, 5, 3, 4, + 4, 4, 6, 4, 3, 5, 6, 8, 6, 5, + 1, 1, 3, 3, 0, 2, 5, 0, 2, 4, + 1, 3, 1, 3, 3, 2, 4, 6, 6, 6, + 1, 1, 1, 1, 3, 3, 3, 5, 6, 5, + 2, 3, 3, 1, 1, 8, 8, 8, 8, 1, + 0, 2, 5, 2, 3, 1, 3, 1, 1, 1, + 2, 1, 3, 2, 3, 1, 3, 1, 1, 3, + 1, 1, 0, 2, 0, 2, 0, 2, 1, 3, + 0, 4, 2, 4, 2, 3, 1, 3, 3, 3, + 0, 2, 1, 3, 5, 7, 0, 5, 5, 3, + 5, 3, 0, 2, 1, 3, 0, 4, 0, 4, + 0, 4, 0, 3, 0, 3, 0, 3, 1, 3, + 1, 3, 1, 1, 1, 1, 1, 1, 4, 6, + 4, 8, 6, 5, 3, 0, 4, 4, 6, 4, + 0, 4, 4, 1, 4, 5, 2, 3, 5, 1, + 4, 5, 2, 3, 5, 2, 5, 1, 1, 3, 6, 4, 5, 5, 5, 4, 4, 3, 3, 1, 0, 0, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 0, 6, 4, 5, 5, 3, 7, 5, 8, 6, 6, 4, 6, 4, 2, 1, 3, 1, 3, 4, 1, 2, 2, 1, 1, 3, 2, 1, 5, 1, 1, 2, 3, 3, 6, 1, - 1, 2, 2, 1, 3, 2, 4, 1, 3, 3, - 3, 2, 1, 1, 3, 3, 1, 1, 3, 0, - 1, 3, 4, 4, 1, 3, 1, 1, 3, 1, + 1, 2, 1, 3, 2, 4, 1, 3, 3, 3, + 2, 1, 1, 3, 3, 1, 1, 3, 0, 1, + 3, 5, 4, 4, 1, 3, 1, 1, 3, 1, 3, 0, 3, 2, 1, 2, 3, 4, 4, 4, 0, 2, 2, 1, 5, 3, 1, 1, 3, 2, 1, 0, 0, 6, 6, 6, 6, 6, 6, 3, @@ -768,837 +767,847 @@ static const short yyr2[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 1, 3, 3, 1, 2, 1, + 3, 1, 3, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 2, 1, 0, 1, 0, 2, 1, 1 }; -static const short yydefact[] = { 169, - 171, 0, 4, 0, 0, 170, 0, 506, 1, 546, - 0, 172, 543, 193, 181, 5, 173, 173, 545, 12, - 0, 0, 199, 0, 175, 199, 548, 544, 0, 2, - 546, 177, 547, 213, 209, 211, 261, 0, 201, 11, - 174, 9, 261, 10, 0, 8, 526, 542, 0, 0, - 14, 16, 17, 0, 194, 187, 187, 0, 207, 0, - 203, 0, 205, 0, 528, 505, 485, 486, 487, 488, +static const short yydefact[] = { 163, + 165, 0, 4, 0, 0, 164, 0, 506, 1, 546, + 0, 166, 543, 187, 175, 5, 167, 167, 545, 12, + 0, 0, 193, 0, 169, 193, 548, 544, 0, 2, + 546, 171, 547, 207, 203, 205, 261, 0, 195, 11, + 168, 9, 261, 10, 0, 8, 526, 542, 0, 0, + 14, 16, 17, 0, 188, 181, 181, 0, 201, 0, + 197, 0, 199, 0, 528, 505, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 508, 507, 425, 509, 501, 500, 504, 502, 503, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 217, 219, 220, 221, 222, 223, - 224, 0, 260, 342, 397, 406, 408, 424, 0, 0, + 0, 0, 0, 0, 211, 213, 214, 215, 216, 217, + 218, 0, 260, 342, 397, 406, 408, 424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 421, 532, - 200, 176, 548, 551, 550, 549, 521, 524, 525, 0, - 523, 522, 13, 0, 0, 22, 546, 499, 199, 0, - 189, 0, 199, 548, 178, 26, 0, 519, 0, 214, - 215, 513, 512, 514, 0, 210, 0, 212, 0, 0, + 194, 170, 548, 551, 550, 549, 521, 524, 525, 0, + 523, 522, 13, 0, 0, 22, 546, 499, 193, 0, + 183, 0, 193, 548, 172, 26, 0, 519, 0, 208, + 209, 513, 512, 514, 0, 204, 0, 206, 0, 0, 0, 0, 0, 262, 0, 0, 0, 496, 0, 498, 261, 6, 0, 0, 0, 0, 0, 413, 0, 407, - 412, 410, 409, 530, 0, 327, 0, 0, 311, 0, + 412, 410, 409, 530, 0, 326, 0, 0, 311, 0, 311, 0, 0, 541, 540, 0, 0, 0, 310, 246, - 0, 248, 295, 299, 304, 305, 232, 0, 0, 405, + 0, 248, 295, 299, 304, 305, 226, 0, 0, 405, 404, 0, 524, 426, 0, 399, 402, 0, 410, 0, 0, 431, 0, 477, 0, 0, 463, 464, 467, 466, - 476, 474, 470, 432, 473, 472, 0, 0, 202, 7, + 476, 474, 470, 432, 473, 472, 0, 0, 196, 7, 527, 15, 507, 21, 0, 0, 0, 337, 340, 3, - 275, 188, 196, 0, 275, 198, 0, 0, 27, 179, - 208, 0, 0, 0, 204, 206, 495, 0, 0, 0, - 263, 0, 0, 259, 258, 497, 218, 0, 0, 49, + 275, 182, 190, 0, 275, 192, 0, 0, 27, 173, + 202, 0, 0, 0, 198, 200, 495, 0, 0, 0, + 263, 0, 0, 259, 258, 497, 212, 0, 0, 49, 292, 302, 305, 0, 0, 343, 351, 345, 0, 0, - 398, 419, 0, 0, 414, 0, 410, 420, 0, 328, + 398, 419, 0, 0, 414, 0, 410, 420, 0, 327, 0, 0, 0, 312, 538, 0, 538, 0, 0, 0, - 237, 240, 289, 0, 0, 306, 0, 0, 301, 298, - 305, 546, 231, 0, 403, 533, 401, 428, 0, 0, + 231, 240, 289, 0, 0, 306, 0, 0, 301, 298, + 305, 546, 225, 0, 403, 533, 401, 428, 0, 0, 529, 0, 468, 469, 483, 0, 524, 478, 0, 474, 484, 430, 0, 0, 0, 471, 0, 336, 338, 423, 18, 20, 19, 0, 0, 268, 274, 270, 271, 272, - 273, 0, 0, 0, 0, 0, 190, 0, 548, 25, - 0, 28, 30, 31, 0, 0, 515, 520, 216, 0, - 0, 0, 264, 266, 256, 257, 0, 158, 0, 0, + 273, 0, 0, 0, 0, 0, 184, 0, 548, 25, + 0, 28, 30, 31, 0, 0, 515, 520, 210, 0, + 0, 0, 264, 266, 256, 257, 0, 152, 0, 0, 0, 252, 0, 296, 0, 0, 0, 395, 0, 362, 546, 0, 0, 0, 0, 0, 0, 0, 352, 358, 361, 379, 381, 390, 391, 392, 393, 386, 384, 385, 346, 357, 546, 344, 0, 418, 531, 416, 0, 0, - 411, 326, 0, 0, 0, 227, 314, 318, 0, 539, - 225, 0, 541, 0, 243, 0, 0, 0, 305, 546, - 236, 0, 308, 307, 0, 300, 297, 261, 261, 232, - 0, 400, 0, 482, 480, 0, 0, 462, 465, 475, - 0, 0, 341, 275, 195, 0, 38, 0, 0, 0, - 0, 47, 0, 0, 197, 23, 0, 0, 0, 0, - 180, 255, 254, 0, 253, 0, 0, 0, 0, 49, - 61, 59, 0, 0, 0, 293, 360, 437, 439, 0, - 516, 519, 524, 434, 0, 0, 357, 0, 511, 510, - 517, 396, 0, 261, 261, 0, 534, 535, 371, 373, - 375, 377, 0, 0, 0, 380, 0, 0, 261, 261, - 347, 0, 0, 329, 0, 0, 0, 0, 316, 0, - 237, 244, 0, 0, 241, 242, 313, 330, 330, 0, - 0, 290, 0, 249, 548, 230, 429, 427, 0, 0, - 339, 269, 58, 0, 40, 280, 0, 0, 0, 53, - 0, 232, 0, 191, 29, 35, 0, 0, 0, 24, - 0, 0, 183, 0, 0, 265, 267, 0, 159, 294, - 251, 62, 0, 63, 0, 0, 0, 446, 460, 438, + 411, 325, 0, 0, 0, 221, 313, 317, 0, 539, + 219, 0, 541, 0, 243, 0, 292, 305, 546, 230, + 0, 308, 307, 0, 300, 297, 261, 261, 226, 0, + 400, 0, 482, 480, 0, 0, 462, 465, 475, 0, + 0, 341, 275, 189, 0, 38, 0, 0, 0, 0, + 47, 0, 0, 191, 23, 0, 0, 0, 0, 174, + 255, 254, 0, 253, 0, 0, 0, 0, 49, 59, + 57, 0, 0, 0, 293, 360, 437, 439, 0, 516, + 519, 524, 434, 0, 0, 357, 0, 511, 510, 517, + 396, 0, 261, 261, 0, 534, 535, 371, 373, 375, + 377, 0, 0, 0, 380, 0, 0, 261, 261, 347, + 0, 0, 328, 0, 0, 0, 0, 315, 0, 0, + 0, 231, 234, 244, 0, 0, 296, 329, 329, 0, + 0, 290, 0, 249, 548, 224, 429, 427, 0, 0, + 339, 269, 56, 0, 40, 280, 0, 0, 0, 52, + 0, 226, 0, 185, 29, 35, 0, 0, 0, 24, + 0, 0, 177, 0, 0, 265, 267, 0, 153, 294, + 251, 60, 0, 61, 0, 0, 0, 446, 460, 438, 0, 387, 0, 0, 0, 363, 354, 0, 548, 546, 370, 383, 372, 374, 376, 378, 0, 359, 394, 356, - 0, 548, 348, 417, 415, 319, 320, 315, 0, 229, - 323, 226, 235, 536, 537, 0, 0, 0, 0, 331, - 335, 422, 548, 0, 247, 0, 261, 233, 234, 481, - 479, 0, 0, 277, 38, 0, 0, 40, 38, 45, - 0, 55, 288, 77, 0, 286, 47, 0, 32, 34, - 33, 182, 0, 0, 0, 303, 48, 64, 65, 66, - 0, 439, 440, 0, 444, 0, 461, 0, 518, 435, - 0, 388, 389, 0, 353, 0, 0, 455, 455, 382, - 0, 0, 349, 350, 317, 322, 0, 324, 0, 245, - 262, 0, 0, 238, 239, 309, 291, 250, 58, 0, - 0, 282, 0, 39, 41, 37, 0, 0, 279, 0, - 278, 53, 0, 0, 0, 46, 232, 192, 184, 185, - 186, 67, 0, 0, 0, 460, 443, 446, 447, 442, - 0, 433, 0, 0, 0, 0, 451, 453, 548, 0, - 355, 321, 0, 228, 0, 0, 332, 276, 57, 284, - 89, 0, 87, 90, 0, 36, 38, 0, 287, 54, - 0, 78, 285, 71, 68, 72, 0, 0, 0, 439, - 0, 445, 450, 436, 364, 365, 366, 455, 368, 0, - 369, 367, 325, 333, 334, 43, 0, 42, 0, 281, - 44, 50, 0, 0, 0, 93, 0, 0, 69, 75, - 0, 0, 73, 79, 0, 60, 441, 0, 448, 452, - 0, 0, 454, 351, 88, 283, 0, 56, 84, 52, - 0, 51, 0, 0, 0, 147, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 108, 107, 140, 141, 0, 80, - 81, 449, 351, 0, 456, 0, 0, 94, 95, 70, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 146, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 137, 0, 0, 0, 457, 459, 0, 85, 0, - 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, - 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 0, 119, 0, 131, 132, 133, - 0, 0, 0, 138, 139, 0, 82, 458, 71, 76, - 0, 96, 0, 0, 129, 130, 122, 0, 0, 0, - 0, 0, 97, 0, 160, 0, 162, 164, 98, 0, - 0, 0, 0, 100, 150, 155, 0, 152, 154, 0, - 0, 0, 0, 0, 0, 167, 168, 0, 165, 71, - 91, 0, 0, 111, 114, 0, 0, 0, 0, 0, - 106, 0, 161, 0, 0, 0, 0, 0, 151, 0, - 102, 0, 120, 121, 134, 0, 136, 0, 83, 86, - 92, 0, 0, 0, 0, 103, 123, 0, 0, 0, - 99, 163, 0, 0, 0, 0, 153, 105, 135, 166, - 149, 0, 0, 117, 112, 109, 147, 0, 115, 110, - 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, - 0, 0, 127, 128, 124, 125, 126, 0, 0, 0, - 0, 0, 118, 0, 142, 143, 144, 145, 0, 116, - 113, 0, 0, 0 + 0, 548, 348, 417, 415, 318, 319, 314, 0, 223, + 322, 220, 0, 237, 0, 0, 229, 0, 293, 241, + 0, 0, 0, 0, 330, 335, 422, 548, 0, 247, + 0, 261, 227, 228, 481, 479, 0, 0, 277, 38, + 0, 0, 40, 38, 45, 0, 54, 288, 75, 0, + 286, 47, 0, 32, 34, 33, 176, 0, 0, 0, + 303, 48, 62, 63, 64, 0, 439, 440, 0, 444, + 0, 461, 0, 518, 435, 0, 388, 389, 0, 353, + 0, 0, 455, 455, 382, 0, 0, 349, 350, 316, + 321, 0, 323, 0, 238, 0, 0, 0, 242, 245, + 0, 262, 0, 0, 232, 233, 309, 291, 250, 56, + 0, 0, 282, 0, 39, 41, 37, 0, 0, 279, + 0, 278, 52, 0, 0, 0, 46, 226, 186, 178, + 179, 180, 65, 0, 0, 0, 460, 443, 446, 447, + 442, 0, 433, 0, 0, 0, 0, 451, 453, 548, + 0, 355, 320, 0, 222, 0, 536, 0, 235, 0, + 0, 0, 331, 276, 55, 284, 84, 0, 82, 85, + 0, 36, 38, 0, 287, 53, 0, 76, 285, 69, + 66, 70, 0, 0, 0, 439, 0, 445, 450, 436, + 364, 365, 366, 455, 368, 0, 369, 367, 324, 236, + 0, 239, 0, 333, 334, 43, 0, 42, 0, 281, + 44, 50, 0, 86, 0, 0, 67, 73, 0, 0, + 71, 77, 0, 58, 441, 0, 448, 452, 0, 0, + 454, 351, 537, 332, 83, 283, 0, 51, 0, 0, + 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, + 102, 101, 134, 135, 0, 78, 79, 449, 351, 0, + 456, 87, 0, 89, 68, 0, 0, 0, 0, 0, + 150, 0, 0, 0, 140, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, + 457, 459, 0, 0, 0, 0, 142, 0, 0, 0, + 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 95, 0, 0, 113, + 0, 125, 126, 127, 0, 0, 0, 132, 133, 0, + 80, 458, 88, 74, 0, 90, 0, 0, 123, 124, + 116, 0, 0, 0, 0, 0, 91, 0, 154, 0, + 156, 158, 92, 0, 0, 0, 0, 94, 144, 149, + 0, 146, 148, 0, 0, 0, 0, 0, 0, 161, + 162, 0, 159, 69, 0, 0, 105, 108, 0, 0, + 0, 0, 0, 100, 0, 155, 0, 0, 0, 0, + 0, 145, 0, 96, 0, 114, 115, 128, 0, 130, + 0, 81, 0, 0, 0, 0, 97, 117, 0, 0, + 0, 93, 157, 0, 0, 0, 0, 147, 99, 129, + 160, 143, 0, 0, 111, 106, 103, 141, 0, 109, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 0, 0, 0, 121, 122, 118, 119, 120, 0, 0, + 0, 0, 0, 112, 0, 136, 137, 138, 139, 0, + 110, 107, 0, 0, 0 }; -static const short yydefgoto[] = { 1092, +static const short yydefgoto[] = { 1103, 9, 54, 10, 16, 30, 50, 51, 259, 260, 371, - 372, 576, 667, 734, 735, 741, 582, 392, 673, 744, - 824, 664, 504, 505, 606, 691, 754, 829, 799, 832, - 675, 836, 880, 881, 848, 849, 782, 783, 1030, 825, - 826, 874, 1006, 1034, 1055, 1035, 1059, 1056, 945, 946, - 931, 1075, 967, 875, 902, 892, 923, 943, 987, 988, - 897, 389, 936, 976, 997, 998, 999, 1, 2, 3, - 4, 23, 24, 25, 58, 145, 6, 491, 592, 593, - 139, 140, 141, 7, 21, 55, 37, 38, 39, 155, - 157, 147, 62, 64, 60, 150, 94, 95, 96, 97, - 98, 323, 99, 451, 311, 100, 200, 563, 564, 272, - 382, 383, 355, 356, 357, 358, 359, 360, 361, 186, - 561, 978, 281, 319, 202, 203, 282, 187, 447, 436, - 437, 640, 717, 188, 301, 649, 650, 102, 348, 247, - 103, 174, 286, 287, 288, 424, 289, 616, 697, 422, - 410, 411, 523, 704, 412, 621, 413, 104, 215, 216, - 217, 105, 106, 211, 107, 414, 701, 415, 693, 416, - 417, 694, 695, 696, 803, 839, 766, 767, 810, 843, - 844, 698, 226, 227, 228, 229, 617, 230, 418, 142, - 109, 110, 111, 112, 113, 114, 11, 162, 116, 117, - 518, 151, 152, 519, 153, 154, 131, 132, 419, 118, - 420, 119, 529, 448, 304, 205, 641, 184, 14, 17, - 18, 19, 40, 44, 45, 126 + 372, 576, 672, 745, 746, 752, 582, 392, 678, 755, + 669, 503, 504, 606, 696, 765, 847, 815, 850, 680, + 854, 896, 897, 798, 799, 843, 844, 890, 1019, 1045, + 1066, 1046, 1070, 1067, 959, 960, 945, 1086, 981, 891, + 917, 907, 937, 957, 1001, 1002, 912, 389, 950, 990, + 1011, 1012, 1013, 1, 2, 3, 4, 23, 24, 25, + 58, 145, 6, 490, 592, 593, 139, 140, 141, 7, + 21, 55, 37, 38, 39, 155, 157, 147, 62, 64, + 60, 150, 94, 95, 96, 97, 98, 323, 99, 450, + 552, 311, 100, 200, 563, 564, 272, 382, 383, 355, + 356, 357, 358, 359, 360, 361, 186, 561, 992, 281, + 319, 202, 203, 282, 187, 436, 437, 640, 722, 188, + 301, 654, 655, 102, 348, 247, 103, 174, 286, 287, + 288, 424, 289, 616, 702, 422, 410, 411, 522, 709, + 412, 621, 413, 104, 215, 216, 217, 105, 106, 211, + 107, 414, 706, 415, 698, 416, 417, 699, 700, 701, + 819, 857, 777, 778, 826, 861, 862, 703, 226, 227, + 228, 229, 617, 230, 418, 142, 109, 110, 111, 112, + 113, 114, 11, 162, 116, 117, 517, 151, 152, 518, + 153, 154, 131, 132, 419, 118, 420, 119, 528, 786, + 304, 205, 641, 184, 14, 17, 18, 19, 40, 44, + 45, 126 }; static const short yypact[] = {-32768, --32768, 58, 15, 58, 140,-32768, 197,-32768,-32768,-32768, - 140,-32768,-32768,-32768,-32768,-32768, 220, 220, 326, 342, - 405, 140, 424, 358,-32768, 649, 400,-32768, 415,-32768, --32768,-32768,-32768, 446, 480, 484, 1796, 487,-32768,-32768, - 220,-32768, 1796,-32768, 433,-32768,-32768,-32768, 59, 579, --32768,-32768, 409, 482,-32768, 486, 486, 58,-32768, 116, --32768, 116,-32768, 116,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 452,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 272, 174, 174, 545, 174, - 546, 576, 589, 577,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 578,-32768, 116,-32768, 1370,-32768,-32768, 291, 545, - 291, 815, 291, 1370, 1086, 2359, 2549, 471,-32768,-32768, - 649,-32768, 603,-32768,-32768,-32768,-32768,-32768,-32768, 614, --32768,-32768,-32768, 415, 700,-32768,-32768,-32768, 649, 597, --32768, 140, 649, 643,-32768, 199, 116,-32768, 656, 658, --32768,-32768,-32768,-32768, 116, 658, 116, 658, 678, 545, - 711, 59, 685, 732, 174, 644, 659,-32768, 759,-32768, - 1796,-32768, 782, 648, 2472, 2402, 1152,-32768, 2549,-32768, --32768, 728,-32768,-32768, 545,-32768, 757, 765, 787, 775, - 787, 777, 333, 787,-32768, 799, 782, 672,-32768,-32768, - 793,-32768,-32768, 800,-32768, 956, 500, 801, 787, 1370, --32768, 811, 1370,-32768, 336,-32768, 1370, 830, -8, 733, - 2437,-32768, 1550,-32768, 2549, 825, 359,-32768, 2549,-32768, --32768, 824,-32768,-32768,-32768,-32768, 255, 2549,-32768,-32768, --32768,-32768, 860,-32768, 844, 847, 719, 848,-32768,-32768, - 511, 486,-32768, 856, 511,-32768, 497, 866,-32768, 835, - 658, 870, 876, 116, 658, 658,-32768, 956, 333, 782, --32768, 818, 827,-32768,-32768,-32768,-32768, 672, 814, 149, - 883,-32768, 956, 1977, 1977,-32768, 879,-32768, 894, 1370, --32768,-32768, 907, 906,-32768, 442, 44,-32768, 2549,-32768, - 725, 1015, 545, 787, 908, 782,-32768, 545, 956, 944, - 897,-32768,-32768, 937, 921,-32768, 727, 782, 918,-32768, --32768,-32768,-32768, 545,-32768,-32768, 1370,-32768, 2514, 2472, --32768, 943,-32768,-32768,-32768, 929, 733,-32768, 388, 48, --32768,-32768, 2514, 949, 2514,-32768, 2549, 928,-32768,-32768, --32768,-32768,-32768, 324, 613,-32768,-32768,-32768,-32768,-32768, --32768, 922, 291, 545, 291, 291,-32768, 415, 942,-32768, - 729,-32768,-32768, 946, 415, 947,-32768,-32768,-32768, 979, - 880, 5,-32768, 945,-32768,-32768, 745,-32768, 159, 782, - 544,-32768, 782, 956, 2106, 1852, 1491,-32768, 2584,-32768, --32768, 1977, 769, 769, 962, 964, 973, 1977, 116,-32768, --32768, 2584,-32768,-32768,-32768,-32768,-32768,-32768, 952,-32768, --32768, 362,-32768,-32768, 1977,-32768,-32768,-32768, 2514, 965, --32768,-32768, 545, 663, 374, 216,-32768, 303, 955,-32768, --32768, 333,-32768, 967,-32768, 623, 969, 970, 956,-32768, --32768, 782,-32768,-32768, 782,-32768,-32768, 2168, 2168, 951, - 971,-32768, 974,-32768,-32768, 2514, 990,-32768,-32768,-32768, - 255, 860,-32768, 511,-32768, 782, 66, 976, 972, 977, - 333, 189, 980, 751,-32768,-32768, 415, 820, 758, 426, --32768,-32768,-32768, 782,-32768, 174, 782, 910, 782, 932, --32768,-32768, 1002, 544, 477,-32768,-32768,-32768, 536, 991, - 992, 906, 2106,-32768, 789, 805, 362, 1977,-32768,-32768, - 999,-32768, 2549, 2168, 2168, 982,-32768,-32768, 2584, 2584, - 2584, 2584, 1977, 954, 1977,-32768, 2584, 782, 2168, 2168, - 997, 1004, 1006,-32768, 1007, 956, 1015, 403, 867, 1015, - 897,-32768, 956, 956,-32768,-32768, 956, 2324, 2324, 1008, - 821,-32768, 652,-32768, 1013,-32768,-32768,-32768, 1011, 1016, --32768,-32768, 198, 1015, 688,-32768, 545, 782, 545, 978, - 544, 951, 545, 983,-32768,-32768, 1019, 1023, 828,-32768, - 237, 833,-32768, 985, 986,-32768,-32768, 857,-32768,-32768, --32768,-32768, 987,-32768, 1032, 207, 1977,-32768, 1977,-32768, - 1022,-32768, 1977, 1916, 521,-32768, 2549, 652, 1013,-32768, - 2584,-32768, 2584, 2584, 2584,-32768, 1977,-32768,-32768, 1026, - 652, 1013,-32768,-32768,-32768, 956,-32768,-32768, 398,-32768, --32768, 217,-32768, 1033,-32768, 1038, 174, 174, 674,-32768, --32768, 1031, 1048, 1053, 1046, 782, 2168,-32768,-32768,-32768, --32768, 782, 544,-32768, 106, 1065, 1035, 27, 86, 1020, - 333, 1039,-32768,-32768, 49,-32768, 1037, 947,-32768,-32768, --32768,-32768, 426, 255, 324,-32768,-32768,-32768,-32768,-32768, - 13, 538,-32768, 134,-32768, 1977,-32768, 1083,-32768, 1081, - 1087,-32768,-32768, 1091,-32768, 1074, 1082, 2514, 2514,-32768, - 1061, 782,-32768,-32768, 956,-32768, 862,-32768, 403,-32768, - 732, 174, 2324,-32768,-32768,-32768,-32768,-32768, 1057, 1059, - 403,-32768, 705, 1100,-32768,-32768, 1060, 1015,-32768, 1058, --32768, 978, 140, 544, 544,-32768, 951,-32768,-32768,-32768, --32768,-32768, 36, 169, 1977, 1977,-32768,-32768,-32768,-32768, - 1977,-32768, 1977, 1977, 1977, 686,-32768, 374, 1110, 1977, --32768,-32768, 545,-32768, 1047, 1049,-32768,-32768,-32768,-32768, --32768, 470,-32768,-32768, 1065,-32768, 261, 1064,-32768,-32768, - 330,-32768,-32768, 1117,-32768,-32768, 788, 174, 547, 1111, - 1115,-32768, 1105,-32768,-32768,-32768,-32768, 2514,-32768, 888, --32768,-32768,-32768,-32768,-32768,-32768, 705,-32768, 403,-32768, --32768,-32768, 1118, 1072, 50,-32768, 1113, 544,-32768,-32768, - 1136, 1629,-32768,-32768, 1125,-32768,-32768, 1977,-32768,-32768, - 1977, 1120,-32768, 879,-32768,-32768, 705, 1123,-32768,-32768, - 255,-32768, 544, 1131, 1143,-32768, 1134, 1629, 1135, 1151, - 39, 407, 1629, 1629, 1153, 545, 545, 545, 545, 545, - 474, 474, 140,-32768,-32768,-32768,-32768,-32768, 705, 1144, --32768,-32768, 879, 1977,-32768, 599, 1118,-32768,-32768,-32768, - 1168, 227, 1149, 1132, 515,-32768, 99, 140, 1159,-32768, - 533, 1159, 1160, 1165, 1149, 545, 255, 255, 1164, 255, - 1162,-32768, 426, 615, 1125,-32768, 997, 1183,-32768, 1184, - 1190, 1629,-32768, 1169, 1180, 11, 1189, 1191, 474, 474, - 1187,-32768, 1629, 324, 563, 1160, 769, 769, 1069, 1069, - 1160, 2185,-32768, 782, 709,-32768, 1173,-32768,-32768,-32768, - 782, 1185, 756,-32768,-32768, 1200,-32768,-32768, 1117,-32768, - 1179,-32768, 1629, 823,-32768,-32768,-32768, 1202, 1203, 1204, - 1205, 1629,-32768, 1159,-32768, 635,-32768,-32768,-32768, 1199, - 1211, 1212, 1213,-32768,-32768,-32768, 642,-32768,-32768, 1216, - 1192, 1149, 1629, 1215, 782,-32768,-32768, 660,-32768, 1117, - 255, 782, 1217,-32768,-32768, 1218, 11, 1227, 1230, 1231, --32768, 1160,-32768, 782, 1159, 1159, 1159, 1159,-32768, 2215, --32768, 1629,-32768,-32768,-32768, 1219,-32768, 756,-32768,-32768, - 1221, 1223, 1220, 710, 1210,-32768,-32768, 11, 11, 11, --32768,-32768, 782, 782, 782, 782,-32768,-32768,-32768,-32768, --32768, 1629, 88,-32768,-32768,-32768,-32768, 1222,-32768,-32768, - 1224, 3, 3, 3, 1238, 1239, 1240, 1245,-32768, 380, - 1629, 1629,-32768,-32768,-32768,-32768,-32768, 1241, 1242, 1243, - 1244, 1629,-32768, 1249,-32768,-32768,-32768,-32768, 1251,-32768, --32768, 1265, 1273,-32768 +-32768, 35, 61, 35, 113,-32768, 163,-32768,-32768,-32768, + 113,-32768,-32768,-32768,-32768,-32768, 232, 232, 275, 287, + 346, 113, 470, 612,-32768, 747, 312,-32768, 546,-32768, +-32768,-32768,-32768, 454, 466, 490, 1745, 353,-32768,-32768, + 232,-32768, 1745,-32768, 314,-32768,-32768,-32768, 194, 165, +-32768,-32768, 338, 482,-32768, 458, 458, 35,-32768, 74, +-32768, 74,-32768, 74,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 467,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 372, 301, 301, 564, 301, + 555, 567, 609, 661,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 605,-32768, 74,-32768, 2552,-32768,-32768, 295, 564, + 295, 1056, 295, 2552, 1171, 2358, 2587, 404,-32768,-32768, + 747,-32768, 623,-32768,-32768,-32768,-32768,-32768,-32768, 627, +-32768,-32768,-32768, 546, 755,-32768,-32768,-32768, 747, 667, +-32768, 113, 747, 637,-32768, 221, 74,-32768, 687, 640, +-32768,-32768,-32768,-32768, 74, 640, 74, 640, 679, 564, + 694, 194, 672, 709, 301, 647, 669,-32768, 744,-32768, + 1745,-32768, 1011, 691, 2475, 2405, 1455,-32768, 2587,-32768, +-32768, 758,-32768,-32768, 564,-32768, 782, 778, 811, 807, + 811, 809, 409, 811,-32768, 831, 1011, 441,-32768,-32768, + 829,-32768,-32768, 857,-32768, 1097, 296, 852, 811, 2552, +-32768, 870, 2552,-32768, 283,-32768, 2552, 877, 146, 731, + 2440,-32768, 1572,-32768, 2587, 883, 559,-32768, 2587,-32768, +-32768, 887,-32768,-32768,-32768,-32768, 408, 2587,-32768,-32768, +-32768,-32768, 903,-32768, 886, 906, 735, 902,-32768,-32768, + 321, 458,-32768, 921, 321,-32768, 537, 927,-32768, 895, + 640, 928, 931, 74, 640, 640,-32768, 1097, 409, 1011, +-32768, 874, 876,-32768,-32768,-32768,-32768, 441, 871, 29, + 939,-32768, 1097, 2079, 2079,-32768, 930,-32768, 943, 2552, +-32768,-32768, 945, 944,-32768, 474, 159,-32768, 2587,-32768, + 776, 1108, 564, 811, 949, 1011,-32768, 564, 1011, 711, + 933,-32768,-32768, 971, 958,-32768, 781, 1011, 983,-32768, +-32768,-32768,-32768, 564,-32768,-32768, 2552,-32768, 2517, 2475, +-32768, 974,-32768,-32768,-32768, 960, 731,-32768, 512, 177, +-32768,-32768, 2517, 980, 2517,-32768, 2587, 962,-32768,-32768, +-32768,-32768,-32768, 355, 697,-32768,-32768,-32768,-32768,-32768, +-32768, 966, 295, 564, 295, 295,-32768, 546, 982,-32768, + 794,-32768,-32768, 978, 546, 985,-32768,-32768,-32768, 632, + 923, 57,-32768, 988,-32768,-32768, 827,-32768, 552, 1011, + 633,-32768, 1011, 1097, 2138, 1925, 1374,-32768, 2629,-32768, +-32768, 2079, 851, 851, 995, 996, 1008, 2079, 74,-32768, +-32768, 2629,-32768,-32768,-32768,-32768,-32768,-32768, 984,-32768, +-32768, 128,-32768,-32768, 2079,-32768,-32768,-32768, 2517, 1013, +-32768,-32768, 564, 706, 415, 63,-32768, 719, 994,-32768, +-32768, 597,-32768, 1002,-32768, 1001, 1010, 1097,-32768,-32768, + 1011,-32768,-32768, 1011,-32768,-32768, 2197, 2197, 989, 1015, +-32768, 1017,-32768,-32768, 2517, 1037,-32768,-32768,-32768, 408, + 903,-32768, 321,-32768, 1011, 89, 1021, 1016, 1024, 409, + 155, 1027, 845,-32768,-32768, 546, 786, 849, 570,-32768, +-32768,-32768, 1011,-32768, 301, 1011, 967, 1011, 998,-32768, +-32768, 1055, 633, 414,-32768,-32768,-32768, 613, 1044, 1043, + 944, 2138,-32768, 873, 855, 128, 2079,-32768,-32768, 1045, +-32768, 2587, 2197, 2197, 1029,-32768,-32768, 2629, 2629, 2629, + 2629, 2079, 1031, 2079,-32768, 2629, 1011, 2197, 2197, 1050, + 1048, 1058,-32768, 1059, 1097, 1108, 568, 838, 1108, 811, + 339, 933,-32768,-32768, 1011, 1011, 1019, 2323, 2323, 1075, + 861,-32768, 734,-32768, 1074,-32768,-32768,-32768, 1071, 1077, +-32768,-32768, 263, 1108, 1047,-32768, 564, 1011, 564, 1038, + 633, 989, 564, 1035,-32768,-32768, 1082, 1083, 872,-32768, + 250, 875,-32768, 1051, 1052,-32768,-32768, 879,-32768,-32768, +-32768,-32768, 1040,-32768, 1102, 3, 2079,-32768, 2079,-32768, + 1087,-32768, 2079, 2002, 366,-32768, 2587, 734, 1074,-32768, + 2629,-32768, 2629, 2629, 2629,-32768, 2079,-32768,-32768, 1085, + 734, 1074,-32768,-32768,-32768, 1097,-32768,-32768, 444,-32768, +-32768, 242, 1099,-32768, 590, 811,-32768, 891, 1098,-32768, + 301, 301, 301, 753,-32768,-32768, 1088, 1104, 1110, 1103, + 1011, 2197,-32768,-32768,-32768,-32768, 1011, 633,-32768, 387, + 1105, 1064, 18, 211, 1066, 409, 1061,-32768,-32768, 181, +-32768, 1072, 985,-32768,-32768,-32768,-32768, 570, 408, 355, +-32768,-32768,-32768,-32768,-32768, 41, 476,-32768, 220,-32768, + 2079,-32768, 1123,-32768, 1122, 1124,-32768,-32768, 1125,-32768, + 1111, 1112, 2517, 2517,-32768, 1092, 1011,-32768,-32768, 1097, +-32768, 894,-32768, 568,-32768, 811, 811, 75,-32768,-32768, + 1127, 709, 301, 2323,-32768,-32768,-32768,-32768,-32768, 1090, + 1093, 568,-32768, 860, 1130,-32768,-32768, 1094, 1108,-32768, + 1089,-32768, 1038, 113, 633, 633,-32768, 989,-32768,-32768, +-32768,-32768,-32768, 32, 477, 2079, 2079,-32768,-32768,-32768, +-32768, 2079,-32768, 2079, 2079, 2079, 756,-32768, 415, 1143, + 2079,-32768,-32768, 564,-32768, 896,-32768, 1140,-32768, 1011, + 1079, 1080,-32768,-32768,-32768,-32768,-32768, 420,-32768,-32768, + 1105,-32768, 405, 1101,-32768,-32768, 43,-32768,-32768, 1150, +-32768,-32768, 826, 301, 578, 1145, 1166,-32768, 1156,-32768, +-32768,-32768,-32768, 2517,-32768, 907,-32768,-32768,-32768,-32768, + 811,-32768, 64,-32768,-32768,-32768, 860,-32768, 568,-32768, +-32768,-32768, 261,-32768, 1162, 633,-32768,-32768, 1186, 1616, +-32768,-32768, 1178,-32768,-32768, 2079,-32768,-32768, 2079, 1175, +-32768, 930,-32768,-32768,-32768,-32768, 408,-32768, 333, 1185, + 1197,-32768, 1189, 1616, 1191, 1207, 174, 453, 1616, 1616, + 1193, 564, 564, 564, 564, 564, 573, 573, 113,-32768, +-32768,-32768,-32768,-32768, 860, 1188,-32768,-32768, 930, 2079, +-32768,-32768, 633,-32768,-32768, 1211, 360, 1192, 1176, 635, +-32768, 329, 113, 1196,-32768, 777, 1196, 1198, 1204, 1192, + 564, 408, 408, 1199, 408, 1202,-32768, 570, 599, 1178, +-32768, 1050, 1206, 1218, 1225, 1616,-32768, 1201, 1216, 59, + 1227, 1229, 573, 573, 1210,-32768, 1616, 355, 506, 1198, + 851, 851, 981, 981, 1198, 2155,-32768, 1011, 762,-32768, + 1212,-32768,-32768,-32768, 1011, 1217, 938,-32768,-32768, 1236, +-32768,-32768,-32768,-32768, 1213,-32768, 1616, 842,-32768,-32768, +-32768, 1237, 1238, 1239, 1241, 1616,-32768, 1196,-32768, 606, +-32768,-32768,-32768, 1235, 1240, 1243, 1244,-32768,-32768,-32768, + 617,-32768,-32768, 1245, 1215, 1192, 1616, 1231, 1011,-32768, +-32768, 641,-32768, 1150, 1011, 1247,-32768,-32768, 1248, 59, + 1246, 1252, 1257,-32768, 1198,-32768, 1011, 1196, 1196, 1196, + 1196,-32768, 2214,-32768, 1616,-32768,-32768,-32768, 1249,-32768, + 938,-32768, 1251, 1230, 665, 815,-32768,-32768, 59, 59, + 59,-32768,-32768, 1011, 1011, 1011, 1011,-32768,-32768,-32768, +-32768,-32768, 1616, 119,-32768,-32768,-32768,-32768, 1250,-32768, +-32768, 1255, 147, 147, 147, 1254, 1260, 1265, 1266,-32768, + 585, 1616, 1616,-32768,-32768,-32768,-32768,-32768, 1261, 1262, + 1263, 1264, 1616,-32768, 1270,-32768,-32768,-32768,-32768, 1271, +-32768,-32768, 1269, 1293,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768, 1106,-32768,-32768, 1141,-32768,-32768, 95, - 791, -604, 611,-32768, 495,-32768, 604, 783, 540,-32768, --32768, 555, -477,-32768,-32768,-32768,-32768, -902,-32768,-32768, --32768,-32768,-32768, 370,-32768, 399, -746, 472,-32768, 286, - 437, -95,-32768,-32768,-32768,-32768,-32768, 258,-32768, 302, --32768, -135, -527, -427,-32768, 238, -732, -652,-32768, 276, --32768,-32768, -705,-32768, -401,-32768, 269,-32768,-32768,-32768, --32768, 1285, 1286, 1267,-32768,-32768, 68, 634,-32768, 630, - 1260, 1266, 1070,-32768,-32768,-32768, 52,-32768, 1207,-32768, --32768,-32768,-32768,-32768,-32768, 235, 1281, 1154,-32768,-32768, --32768, -442,-32768, 781, -243,-32768,-32768, -53, -22, 612, --32768, 840, 1084, 863,-32768,-32768,-32768,-32768,-32768, -88, - 839, -59, -90, -245,-32768, 353, 1226, -78,-32768, -505, - 794, -657,-32768, -72,-32768, 784, 617, -100,-32768, 854, - -508,-32768,-32768,-32768, 803, -662, -804, 730, -44, -255, --32768, -355,-32768,-32768,-32768, 208, -159,-32768, -117,-32768, - -60,-32768,-32768, -51,-32768,-32768, 584,-32768, 950,-32768, --32768,-32768, 590,-32768,-32768,-32768, 641, 543,-32768,-32768, - 436, 598, -142, -199, 1010,-32768, -73, -97, -7,-32768, - -218, -209, -203,-32768, -202,-32768,-32768, -34,-32768,-32768, --32768, 120,-32768,-32768, -208, -47,-32768, 960, -29, -76, - 1139,-32768, -400, 806,-32768, 43, -103, 752, -6, -18, - -14,-32768, -23, -20,-32768,-32768 +-32768,-32768,-32768, 1134,-32768,-32768, 1160,-32768,-32768, 22, + 810, -599, 622,-32768, 496,-32768, 616, 800, 547,-32768, + 561, -483,-32768,-32768,-32768,-32768, 290,-32768,-32768,-32768, +-32768,-32768, 375, 411, 471,-32768, 440, -290,-32768,-32768, +-32768,-32768,-32768, 264,-32768, 303,-32768, -131, -537, -785, +-32768, 243, -826, -664,-32768, 280,-32768,-32768, -777,-32768, + -362,-32768, 273,-32768,-32768,-32768,-32768, 1297, 1301, 1279, +-32768,-32768, 65, 639,-32768, 643, 1272, 1275, 1081,-32768, +-32768,-32768, 24,-32768, 1219,-32768,-32768,-32768,-32768,-32768, +-32768, 292, 1280, 1168,-32768,-32768,-32768, -430,-32768, 789, +-32768, -247,-32768,-32768, -129, -34, 610, 553, 853, 1095, + 882,-32768,-32768,-32768,-32768,-32768, -89, -441, 71, -78, + -251,-32768, 34, 1232, -82, -510, 799, -666,-32768, -60, +-32768, 788, 614, -95,-32768, 881, -497,-32768,-32768,-32768, + 819, -541, -789, 743, 10, -259,-32768, -338,-32768,-32768, +-32768, 317, 76,-32768, -105,-32768, -48,-32768,-32768, -68, +-32768,-32768, 589,-32768, 968,-32768,-32768,-32768, 594,-32768, +-32768,-32768, 652, 548,-32768,-32768, 438, 604, -117, -210, + 1028,-32768, -63, -84, -7,-32768, -224, -207, -206,-32768, + -199,-32768,-32768, -32,-32768,-32768,-32768, -62,-32768,-32768, + -208, -47,-32768, 977, -29, -72, 1022,-32768, -397,-32768, + 729, -168, -103, 779, -10, -25, 4,-32768, -20, -17, +-32768,-32768 }; -#define YYLAST 2695 +#define YYLAST 2740 static const short yytable[] = { 52, - 42, 130, 115, 530, 20, 842, 46, 193, 115, 163, - 164, 165, 56, 167, 101, 32, 57, 566, 345, 235, - 101, 201, 380, 339, 207, 381, 603, 299, 409, 108, - 494, 190, 363, 293, 246, 108, 363, 394, 192, 507, - 208, 364, 48, 234, 642, 364, 794, 365, 366, 651, - 651, 365, 366, 210, 180, 547, 1001, 291, 248, 296, - 732, 774, 472, 127, 739, 128, 8, 218, 665, 668, - 172, 12, 1073, 780, 745, 851, 182, 43, 336, 299, - 965, 235, 752, 347, 182, 219, 232, 232, 273, 753, - 961, 495, 127, 294, 128, 574, 300, 1029, 181, 666, - 886, 932, 240, 674, 52, 298, 181, 181, 231, 231, - 332, 5, 842, 280, 218, 738, 253, 746, 852, 1074, - 127, 148, 128, 256, 795, 146, 933, 235, 966, 130, - 345, 235, 914, 575, 547, 254, 115, 315, 317, 676, - 235, 517, 149, 13, 898, 182, 232, 297, 101, 232, - 362, 341, 327, 575, 362, 346, 757, 507, 325, 758, - 924, 846, 430, 108, 350, 325, 467, 181, 231, 181, - 731, 231, 947, 575, 248, 130, 65, 129, 248, 390, - 182, 885, 820, 182, 498, 730, 461, 182, 520, 499, - 251, 232, 549, 340, 255, 232, 941, 78, 551, 232, - 468, 235, 181, 557, 442, 181, 129, 349, 232, 181, - 384, 435, 462, 231, 651, 231, 391, 231, 387, -327, - 916, 231, 257, 175, 439, 431, 546, 373, 662, 327, - 231, 305, 787, 307, 129, 460, 313, 580, 796, 522, - 421, 127, 294, 128, 547, 547, 441, 797, 798, 235, - 921, 313, 536, 258, 922, 363, 581, 47, 456, 947, - 182, 481, 615, 15, 364, 663, 791, 792, 1012, 232, - 365, 366, 22, 470, 65, 325, 689, 482, 49, 628, - 548, 719, 181, 979, 477, 479, 542, 690, 984, 547, - 478, 231, 480, 483, 48, 78, 156, 182, 158, 232, - 182, 1058, 1058, 458, 793, 195, 48, 459, -305, 1043, - 1044, 1045, 1046, 232, 185, 232, 160, 232, 161, 181, - 196, 231, 181, 569, 197, 819, 278, 48, 575, -305, - 500, 475, 47, 506, 330, 231, 48, 231, 373, 231, - 127, 148, 128, 28, 544, 373, 440, 472, 485, 130, - 854, 509, 516, 49, 309, 129, 310, 526, 628, 1041, - 328, 329, 149, 534, 148, 29, 127, 148, 128, 622, - 622, 622, 622, 362, 387, 889, 33, 629, 41, 148, - 541, 261, 524, 379, 343, 344, 525, 588, 149, 265, - 715, 266, 560, 148, 538, 562, 199, 248, 822, 232, - 344, 48, 823, 921, 539, 565, 48, 1082, 540, 900, - 330, 248, 465, 466, 344, 330, 573, 47, 48, 597, - 41, 231, 716, 115, 115, 235, 639, 742, 47, 48, - 901, 558, 135, 124, 384, 559, 232, 562, 49, 600, - 136, 571, 33, 911, 912, 31, 127, 148, 128, 591, - 108, 108, 125, 59, 129, 637, 435, 373, 231, 435, - 594, 710, 484, 710, 710, 710, 428, 429, 149, 489, - 618, 619, 34, 35, 36, 671, 47, 48, 630, 1037, - 129, 652, 652, 435, 435, 631, 632, 61, 626, 115, - 115, 63, 816, 232, 677, 817, 237, 591, 669, 47, - 48, 970, 971, -337, 115, 115, 238, 121, 768, 768, - 1062, 1063, 1064, 65, 986, 231, 108, 108, 670, 235, - 49, 370, 137, 115, 115, 127, 148, 128, 535, 159, - -327, 108, 108, 977, 78, 718, 980, 981, 138, 658, - 322, 535, 990, 130, 659, 703, 604, 149, 48, 994, - 108, 108, 605, 168, 81, 82, 83, 84, 320, 345, - 129, 607, 692, 755, 608, 195, 48, 609, 700, 756, - 721, 722, 866, 867, 868, 869, 870, 871, 872, 873, - 196, 330, 711, 169, 197, 975, 278, 232, 937, 938, - 939, 940, 986, 1026, 706, 33, 727, 171, 707, 170, - 1032, 708, 729, 133, 134, 709, 1057, 713, 768, 231, - 173, 714, 1042, 501, 502, 33, 834, 252, 503, 835, - 320, 918, 115, 171, 817, 724, 926, 927, 928, 929, - 930, 33, 725, 474, 728, 320, 614, 956, 241, 129, - 817, 1065, 1066, 1067, 1068, 776, 652, 435, 553, 108, - 554, 759, 771, 594, 750, 279, 199, 1013, 262, 263, - 1014, 444, 446, 252, 1019, 195, 48, 1020, 545, 813, - 33, 457, 657, 784, 195, 48, 284, 285, 232, 232, - 196, 267, 1027, 264, 197, 1028, 278, 316, 115, 196, - 195, 48, 33, 197, 723, 278, 316, 34, 35, 36, - 231, 231, 65, 48, 33, 196, 808, 195, 48, 197, - 800, 434, 47, 48, 269, 108, 700, 270, 805, 806, - 807, 833, 196, 243, 244, 812, 197, 991, 278, 992, - 274, 245, 457, 1053, 535, 271, 790, 623, 624, 625, - 333, 334, 809, 353, 354, 275, 457, 535, 811, 432, - 433, 454, 455, 486, 487, 279, 199, 784, 195, 48, - 666, 827, 894, 299, 279, 199, 276, 903, 904, 454, - 497, 527, 528, 196, 781, 584, 487, 197, 232, 278, - 53, 199, 590, 487, 195, 48, 302, 784, 120, 195, - 320, 611, 263, 882, 120, 303, 883, 279, 199, 196, - 231, 320, 877, 197, 306, 278, 1054, 308, 866, 867, - 868, 869, 870, 871, 872, 873, 314, 195, 48, 784, - 318, 827, 65, 48, 876, 996, 962, -302, 877, 612, - 613, 324, 196, 877, 877, 326, 197, 973, 198, 917, - 166, 877, 877, 243, 586, 655, 656, 342, 279, 199, - 876, 587, 681, 354, 331, 876, 876, 682, 683, 347, - 189, 191, 194, 206, 209, 294, 913, 1003, 351, 195, - 48, 352, -296, 237, 279, 199, 1011, 949, 950, 368, - 952, 686, 656, 954, 196, 53, 772, 773, 197, 375, - 278, 934, 877, -296, 830, 831, 377, 1024, 376, 877, - 877, 457, 378, 877, 385, 644, 646, 388, 199, 457, - 393, 268, 877, 386, 876, 841, 284, 1004, 1005, 423, - 195, 48, 120, 425, 283, 876, 1048, 1076, 1077, 426, - 427, 982, 983, 877, 989, 196, 209, 450, -289, 197, - 452, 278, 877, 453, 312, -296, 195, 48, 283, 283, - 463, 464, 263, 471, 476, 876, 1069, 321, 195, 48, - 199, 196, 474, 877, 876, 197, 493, 278, 445, 488, - 490, 827, 543, 196, 496, 1083, 1084, 197, 531, 278, - 532, 195, 48, 533, 550, 876, 1089, 537, 320, 552, - 877, 322, 877, 555, 556, 567, 196, 570, 568, 391, - 197, 578, 278, 599, 877, 130, 577, 579, 374, 602, - 583, 199, 989, 610, 876, 627, -521, 195, 48, 321, - 312, 283, 877, -522, 620, 284, 654, 1061, 634, 283, - 635, 636, 196, 657, 321, 660, 197, 199, 434, 688, - 661, 877, 877, 679, 876, 672, 678, 680, 699, 199, - 684, 685, 877, 438, 191, 687, 712, 283, 553, 443, - 321, 449, 720, 876, 876, 492, 238, 457, 723, 283, - 321, 726, 199, -303, 876, 209, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 733, 740, 47, 48, - 127, 212, 213, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 736, 581, 760, 761, 176, 199, 177, - 214, 762, 743, 764, 189, 191, 194, 209, 763, 374, - 178, 765, 179, 770, 663, 785, 374, 779, 786, 788, - 808, 321, 821, 814, 828, 815, 755, 837, 838, 847, - 850, 283, 853, 855, 283, 321, 879, 884, 887, 890, - 891, 893, 895, 896, 47, 48, 127, 294, 213, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 915, - 905, 920, 921, 176, 925, 177, 295, 91, 92, 93, - 935, 942, 944, 953, 209, 283, 178, 951, 179, 321, - 959, 960, 961, 312, 91, 92, 93, 964, 963, 968, - 321, 969, 993, 283, 129, 972, 283, 1000, 995, 120, - 120, 1002, 1007, 1008, 1009, 1010, 1015, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 283, 1016, 1017, - 1018, 1022, 312, 921, 1021, 1033, 1036, 1038, 374, 1025, - 1039, 1040, 250, 1049, 183, 283, 851, 1051, 283, 1071, - 283, 1072, 183, 183, 233, 236, 1078, 1079, 1080, 1052, - 91, 92, 93, 1081, 1093, 1085, 1086, 1087, 1088, 1090, - 129, 1091, 1094, 249, 242, 120, 120, 585, 737, 818, - 747, 789, 601, 778, 957, 919, 1031, 888, 845, 283, - 120, 120, 1060, 1023, 1070, 1047, 1050, 283, 438, 443, - 321, 438, 26, 27, 321, 321, 1054, 122, 321, 120, - 120, 748, 749, 183, 233, 183, 143, 236, 91, 92, - 93, 367, 144, 123, 277, 438, 438, 239, 191, 283, - 443, 643, 775, 596, 209, 598, 572, 204, 369, 777, - 638, 589, 653, 633, 804, 510, 705, 802, 183, 769, - 840, 183, 958, 801, 469, 183, 521, 0, 645, 233, - 0, 233, 0, 236, 0, 0, 0, 236, 0, 0, - 0, 0, 47, 48, 0, 0, 236, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 321, 0, 0, - 443, 176, 0, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 0, 179, 283, 120, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, - 0, 0, 312, 0, 0, 0, 0, 0, 183, 0, - 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, + 20, 130, 101, 42, 115, 56, 529, 193, 101, 46, + 115, 32, 339, 163, 164, 165, 380, 167, 345, 603, + 305, 381, 307, 207, 409, 313, 363, 190, 566, 108, + 363, 394, 235, 201, 57, 108, 860, 180, 642, 246, + 313, 175, 810, 364, 365, 47, 546, 364, 365, 43, + 192, 366, 208, 234, 598, 366, 506, 785, 293, 390, + 656, 656, 248, 670, 673, 210, 49, 218, 12, 291, + 743, 296, 694, 172, 750, 796, 182, 195, 127, 148, + 128, 938, 493, 695, 182, 219, 232, 232, 5, 493, + 671, 546, 273, 961, 235, 300, 391, 679, 181, 789, + 149, 926, 927, 336, 52, 240, 181, 181, 231, 231, + 763, 842, 8, 648, 218, 298, 13, 764, 574, 253, + 811, 975, 146, 127, 294, 128, 256, 547, 979, 130, + 345, 254, 127, 148, 128, 440, 101, 516, 115, 955, + 235, 325, 860, 494, 235, 182, 232, 297, 325, 232, + 864, 681, 330, 235, 149, 362, 575, 984, 985, 362, + 537, 341, 251, 108, 327, 346, 255, 181, 231, 181, + 1000, 231, 866, 506, 350, 130, 980, 48, 248, 961, + 182, 299, 248, 182, 741, -326, 548, 182, 519, 133, + 134, 232, 129, 340, 299, 232, 557, 471, 127, 232, + 128, 379, 181, 840, 442, 181, 756, 349, 232, 181, + 1025, 460, 347, 231, 235, 231, 1084, 231, 1069, 1069, + 439, 231, 581, 435, 461, 467, 545, 373, 330, 15, + 231, 447, 580, 330, 459, 431, 656, 129, 803, 320, + 749, 327, 768, 280, 257, 769, 129, 1000, 363, 757, + 1054, 1055, 1056, 1057, 127, 294, 128, 615, 325, 1068, + 182, 480, 235, 1085, 332, 364, 365, 315, 317, 232, + 546, 807, 808, 366, 628, 258, 481, 430, 575, 913, + 476, 478, 181, 469, 22, 993, 867, 127, 148, 128, + 998, 231, 28, 667, 421, 466, 457, 182, 48, 232, + 182, 320, 477, 65, 479, 482, 724, 328, 329, 149, + 29, 541, 129, 232, 124, 232, 320, 232, 185, 181, + 901, 231, 181, 65, 78, 458, -326, 809, 565, 868, + 668, 946, 41, 125, 474, 231, 322, 231, 373, 231, + 384, 195, 48, 543, 78, 373, 534, 569, 387, 130, + 903, 484, 456, 156, 628, 158, 947, 931, 48, 534, + 1052, 135, 870, 644, 81, 82, 83, 84, 129, 136, + 127, 148, 128, 121, 65, 523, 441, 362, 471, 444, + 446, 643, 645, 935, 720, 904, 31, 936, 455, 483, + 708, 588, 149, 618, 619, 78, 488, 538, 330, 232, + 248, 129, 500, 501, 524, 508, 515, 502, 631, 632, + 47, 525, 48, 456, 248, 546, 160, 533, 161, 933, + 148, 231, 597, 558, 115, 115, 539, 456, 753, 237, + 309, 49, 310, 546, 540, 232, -337, 235, 261, 238, + 571, 344, 836, 195, 48, 837, 265, 48, 266, 108, + 108, 742, 559, 614, 575, 915, 373, 231, 196, 594, + 499, 59, 197, 505, 278, 316, 637, 435, 721, 839, + 435, 320, 575, 61, 521, 676, 916, 307, 127, 148, + 128, 320, 1048, 604, 129, 657, 657, 535, 33, 605, + 115, 115, 232, 682, 674, 435, 435, 63, 428, 429, + 149, 766, 779, 779, 387, 115, 115, 767, 195, 48, + 138, 1073, 1074, 1075, 231, 108, 108, 148, 34, 35, + 36, 560, 137, 196, 562, 115, 115, 197, 989, 278, + 108, 108, 235, 279, 199, 723, 464, 465, 344, 47, + 48, 626, 663, 130, 159, 573, 812, 664, 47, 48, + 108, 108, 534, 994, 995, 813, 814, 787, 788, 440, + 49, 370, 168, 384, 148, 534, 562, 48, 600, 49, + 345, 48, 47, 48, 169, 47, 48, 497, 731, 732, + 733, 456, 498, 909, 343, 344, 991, 232, 918, 919, + 456, 639, 129, 591, 713, 1004, 591, 711, 279, 199, + 48, 712, 1008, 622, 622, 622, 622, 630, 935, 231, + 718, 629, 1093, 779, 719, 726, 697, 727, 550, 170, + 551, 970, 705, 714, 837, 562, 649, 739, 1026, 115, + 33, 1027, 41, 735, 195, 48, 716, 173, 607, 1032, + 736, 608, 1033, 171, 609, 976, 1039, 852, 675, 196, + 853, 241, 1043, 197, 108, 278, 987, 252, 594, 761, + 792, 657, 863, 1040, 1053, 264, 1041, 47, 48, 320, + 435, 882, 883, 884, 885, 886, 887, 888, 889, 33, + 829, 171, 267, 232, 232, 33, 1016, 252, 1064, 262, + 263, 1076, 1077, 1078, 1079, 1024, 715, 269, 715, 715, + 715, 115, 500, 501, 270, 231, 231, 502, 195, 48, + 770, 544, 271, 195, 48, 33, 1037, 473, 491, 284, + 285, 195, 48, 196, -305, 199, 108, 197, 196, 278, + 316, 738, 197, 274, 278, 445, 196, 740, 333, 334, + 197, 851, 278, 806, 1059, -305, 940, 941, 942, 943, + 944, 276, 33, 456, 662, 275, 825, 65, 48, 353, + 354, 1065, 827, 882, 883, 884, 885, 886, 887, 888, + 889, 33, 1080, 734, 33, 816, 824, 845, 243, 244, + 1005, 705, 1006, 821, 822, 823, 245, 782, 65, 48, + 828, 1094, 1095, 299, 232, 34, 35, 36, 279, 199, + 432, 433, 1100, 279, 199, 453, 454, 53, 303, 243, + 586, 302, 199, 195, 800, 120, 231, 587, 485, 486, + 893, 120, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 951, 952, 953, 954, 306, 845, 935, 308, + 195, 48, 892, -296, 893, 623, 624, 625, 314, 893, + 893, 453, 496, 526, 527, 196, 318, 893, 893, 197, + 384, 278, 195, 48, -296, 898, 892, 166, 899, 584, + 486, 892, 892, 590, 486, 611, 263, 196, 928, 612, + 613, 197, 324, 278, -302, 660, 661, 189, 191, 194, + 206, 209, 963, 964, 326, 966, 686, 354, 968, 687, + 688, 331, 948, 691, 661, 342, 893, 800, 294, 932, + 351, 1065, 53, 893, 893, 729, 661, 893, 783, 784, + 830, 831, 347, 91, 92, 93, 893, 237, 892, 797, + 352, 199, 848, 849, 859, 284, 1017, 1018, 268, 892, + 195, 48, 1087, 1088, 368, 996, 997, 893, 1003, 120, + 375, 283, 279, 199, 377, 196, 893, 378, 376, 197, + 385, 278, 386, 209, 388, 800, 393, 426, 427, 892, + 423, 312, 425, 449, 451, 283, 283, 893, 892, -289, + 452, 462, 463, 263, 321, 195, 48, 470, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 475, 892, + 196, 487, 473, 893, 197, 893, 278, 1010, 489, 492, + -296, 530, 531, 195, 48, 893, 130, 495, 532, 536, + 542, 195, 48, 549, 554, 1003, 555, 892, 196, 322, + 279, 199, 197, 893, 278, 374, 196, 556, 1072, 567, + 197, 568, 278, 650, 570, 578, 321, 312, 283, 195, + 48, 577, 893, 893, 579, 892, 283, 583, 195, 48, + 599, 321, 602, 893, 196, 391, 610, -521, 197, -522, + 434, 620, 634, 196, 892, 892, 199, 197, 284, 198, + 438, 191, 635, 636, 283, 892, 443, 283, 448, 91, + 92, 93, 627, 659, 662, 665, 283, 321, 683, 195, + 48, 666, 209, 279, 199, 677, 684, 685, 692, 693, + 195, 48, 199, 704, 196, 717, 689, 690, 197, 671, + 278, 725, 730, 238, 734, 196, 744, 183, 737, 197, + -303, 434, 747, 751, 754, 183, 183, 233, 236, 581, + 199, 189, 191, 194, 209, 771, 374, 772, 773, 199, + 775, 776, 774, 374, 781, 801, 249, 668, 321, 790, + 804, 795, 802, 824, 832, 834, 835, 846, 283, 841, + 766, 283, 321, 47, 48, 127, 212, 213, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 855, 856, + 199, 869, 176, 871, 177, 214, 183, 233, 183, 895, + 236, 199, 900, 905, 906, 178, 908, 179, 910, 911, + 920, 209, 283, 930, 934, 935, 321, 949, 939, 956, + 553, 958, 965, 967, 973, 974, 321, 975, 986, 283, + 977, 183, 283, 978, 183, 120, 120, 982, 183, 983, + 1009, 1007, 233, 1014, 233, 1015, 236, 1020, 1021, 1022, + 236, 1023, 1028, 283, 1035, 1038, 1049, 1029, 312, 236, + 1030, 1031, 1050, 1034, 374, 1044, 1047, 1051, 1104, 1063, + 250, 283, 1089, 1060, 283, 1062, 283, 1082, 1090, 91, + 92, 93, 1083, 1091, 1092, 1096, 1097, 1098, 1099, 129, + 1101, 1102, 1105, 242, 748, 585, 838, 758, 601, 805, + 794, 120, 120, 1042, 971, 929, 902, 865, 1036, 1071, + 1081, 183, 1058, 1061, 26, 283, 120, 120, 27, 122, + 236, 759, 123, 283, 438, 443, 321, 438, 143, 646, + 760, 144, 367, 283, 283, 321, 120, 120, 277, 239, + 647, 791, 833, 204, 638, 596, 658, 793, 183, 369, + 233, 183, 438, 438, 572, 191, 283, 443, 633, 710, + 820, 209, 818, 509, 233, 780, 233, 589, 236, 972, + 817, 858, 468, 520, 728, 472, 47, 48, 510, 511, + 512, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 0, 0, 0, 0, 396, 0, 397, 513, 0, + 514, 0, 0, 0, 0, 0, 0, 0, 398, 0, + 399, 400, 401, 0, 321, 402, 0, 443, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, + 404, 405, 406, 407, 408, 0, 0, 0, 0, 283, + 120, 0, 0, 0, 0, 283, 0, 0, 0, 0, + 233, 0, 0, 0, 312, 0, 0, 47, 48, 127, + 294, 213, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 0, 0, 0, 0, 176, 0, 177, 295, + 0, 0, 91, 92, 93, 0, 233, 0, 0, 178, + 0, 179, 129, 0, 0, 283, 0, 0, 321, 0, + 0, 0, 443, 0, 0, 0, 0, 0, 249, 0, + 595, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 443, 0, 283, 0, 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 283, 0, 183, 321, 233, 183, 0, - 443, 0, 0, 0, 120, 0, 0, 0, 91, 92, - 93, 233, 443, 233, 283, 236, 0, 0, 0, 438, - 0, 0, 473, 47, 48, 511, 512, 513, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, - 0, 0, 396, 0, 397, 514, 0, 515, 0, 0, - 0, 0, 0, 0, 443, 398, 0, 399, 400, 401, - 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 403, 404, 405, 406, - 407, 408, 47, 48, 127, 294, 337, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 233, 283, 0, - 443, 221, 0, 223, 338, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 225, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 283, 91, - 92, 93, 0, 0, 233, 0, 0, 0, 0, 129, - 0, 0, 0, 0, 0, 0, 0, 906, 907, 908, - 909, 910, 0, 0, 0, 0, 249, 0, 595, 0, - 283, 47, 48, 0, 0, 0, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 0, 0, - 0, 0, 591, 0, 0, 0, 0, 948, 91, 92, - 93, 236, 0, 0, 0, 0, 856, 857, 129, 0, - 858, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 283, 0, 859, 0, - 0, 0, 0, 0, 0, 283, 0, 0, 0, 0, - 0, 0, 283, 0, 283, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 860, 861, 862, 863, - 864, 0, 0, 0, 0, 0, 865, 866, 867, 868, - 869, 870, 871, 872, 873, 0, 0, 91, 92, 93, - 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, - 0, 0, 0, 283, 0, 236, 0, 0, 0, 0, + 0, 0, 443, 91, 92, 93, 0, 0, 283, 0, + 0, 0, 0, 129, 47, 48, 127, 294, 337, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, + 0, 0, 0, 221, 0, 223, 338, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 225, 0, + 0, 0, 0, 0, 0, 283, 0, 443, 47, 48, + 0, 0, 0, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 0, 0, 0, 0, 0, 236, 591, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 872, 873, 0, 0, 874, 0, 0, + 921, 922, 923, 924, 925, 0, 0, 0, 0, 0, + 0, 0, 0, 283, 0, 875, 0, 0, 0, 0, + 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, + 129, 0, 0, 0, 0, 0, 0, 0, 0, 962, + 0, 0, 0, 876, 877, 878, 879, 880, 0, 595, + 0, 762, 0, 881, 882, 883, 884, 885, 886, 887, + 888, 889, 0, 0, 91, 92, 93, 283, 0, 0, + 0, 0, 0, 0, 233, 233, 283, 0, 0, 0, + 0, 0, 0, 283, 0, 283, 0, 65, 48, 0, + 0, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 0, 0, 0, 0, 77, 0, 78, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, + 0, 80, 0, 0, 0, 0, 0, 283, 81, 82, + 83, 84, 85, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, + 0, 0, 0, 0, 0, 0, 86, 87, 88, 89, + 90, 0, 283, 283, 283, 283, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 233, 0, 0, 0, 0, + 0, 0, 0, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 283, 283, 283, 283, 65, 48, - 0, 0, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 0, 0, 0, 0, 77, 0, 78, - 0, 595, 0, 751, 0, 0, 0, 0, 0, 0, - 79, 0, 80, 0, 0, 0, 0, 0, 0, 81, - 82, 83, 84, 85, 0, 0, 233, 233, 0, 0, - 0, 0, 0, 0, 47, 48, 0, 0, 395, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 0, 0, 0, 396, 508, 397, 0, 86, 87, 88, - 89, 90, 0, 0, 0, 0, 398, 0, 399, 400, - 401, 0, 0, 402, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 91, 92, 93, 403, 404, 405, - 406, 407, 408, 0, 0, 0, 0, 0, 47, 48, - 0, 0, 395, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 0, 0, 0, 0, 396, 0, 397, - 702, 0, 0, 0, 0, 0, 233, 0, 0, 0, - 398, 0, 399, 400, 401, 0, 0, 402, 0, 0, - 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, - 878, 403, 404, 405, 406, 407, 408, 0, 0, 47, - 48, 0, 0, 395, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 0, 0, 878, 0, 396, 899, - 397, 878, 878, 0, 0, 0, 0, 0, 0, 878, - 878, 398, 0, 399, 400, 401, 0, 0, 402, 0, - 0, 0, 0, 0, 91, 92, 93, 0, 0, 0, - 0, 0, 403, 404, 405, 406, 407, 408, 0, 0, + 0, 894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, - 878, 0, 0, 0, 0, 0, 0, 878, 878, 0, - 0, 878, 974, 0, 0, 0, 0, 0, 0, 0, - 878, 0, 0, 0, 0, 91, 92, 93, 0, 0, + 0, 0, 0, 0, 0, 894, 0, 0, 914, 0, + 894, 894, 0, 0, 0, 0, 0, 0, 894, 894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 47, 48, - 878, 0, 0, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 0, 0, 0, 0, 396, 0, 397, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 398, 0, 399, 400, 401, 0, 0, 402, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 878, 0, - 878, 403, 404, 405, 406, 407, 408, 0, 0, 0, - 65, 48, 878, 0, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 0, 0, 47, 48, 77, - 878, 78, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 79, 0, 80, 0, 0, 985, 591, 878, - 878, 0, 0, 0, 91, 92, 93, 47, 48, 0, - 878, 0, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 0, 0, 0, 0, 0, 0, 591, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 87, 88, 89, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 0, + 0, 395, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 0, 0, 0, 0, 396, 507, 397, 969, + 0, 0, 0, 0, 0, 0, 0, 894, 0, 398, + 0, 399, 400, 401, 894, 894, 402, 0, 894, 988, + 0, 0, 0, 0, 0, 0, 0, 894, 0, 0, + 403, 404, 405, 406, 407, 408, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 894, 0, + 0, 0, 0, 0, 47, 48, 0, 894, 395, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, + 0, 0, 0, 396, 0, 397, 707, 0, 894, 0, + 0, 0, 0, 91, 92, 93, 398, 0, 399, 400, + 401, 0, 0, 402, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 894, 0, 894, 403, 404, 405, + 406, 407, 408, 0, 0, 0, 894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 0, 894, 395, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 0, 0, 0, 0, + 396, 0, 397, 894, 894, 0, 0, 0, 0, 0, + 91, 92, 93, 398, 894, 399, 400, 401, 0, 0, + 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 403, 404, 405, 406, 407, 408, + 47, 48, 0, 0, 0, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 0, 0, 47, 48, 396, + 0, 397, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 398, 0, 399, 400, 401, 999, 591, 402, + 0, 0, 0, 0, 0, 0, 0, 91, 92, 93, + 0, 0, 0, 403, 404, 405, 406, 407, 408, 65, + 48, 0, 0, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 0, 0, 47, 48, 77, 0, + 78, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 79, 0, 80, 0, 0, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 91, 92, 93, 0, - 0, 0, 0, 866, 867, 868, 869, 870, 871, 872, - 873, 0, 0, 91, 92, 93, 0, 0, 0, 0, + 0, 0, 0, 882, 883, 884, 885, 886, 887, 888, + 889, 0, 0, 91, 92, 93, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 87, + 88, 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 866, 867, 868, 869, 870, 871, 872, - 873, 0, 0, 91, 92, 93, 65, 48, 0, 0, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 0, 0, 0, 0, 77, 0, 78, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, - 80, 47, 48, 0, 0, 220, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 0, 0, - 221, 222, 223, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 225, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 48, 647, 648, 220, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 0, 0, 0, 221, 292, 223, 0, 0, 0, 0, - 0, 0, 91, 92, 93, 0, 224, 0, 225, 47, + 0, 0, 0, 0, 0, 91, 92, 93, 0, 0, + 0, 0, 882, 883, 884, 885, 886, 887, 888, 889, + 0, 0, 91, 92, 93, 65, 48, 0, 0, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 0, 0, 0, 0, 77, 0, 78, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 79, 0, 80, + 47, 48, 0, 0, 220, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 0, 0, 0, 0, 221, + 222, 223, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 225, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 651, 652, 653, 47, 48, 0, + 0, 220, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 0, 0, 0, 0, 221, 292, 223, 0, + 0, 91, 92, 93, 0, 0, 0, 0, 0, 224, + 0, 225, 47, 48, 0, 0, 220, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 0, 0, 0, + 0, 221, 335, 223, 0, 0, 91, 92, 93, 0, + 0, 0, 0, 0, 224, 0, 225, 47, 48, 0, + 0, 290, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 0, 0, 0, 0, 176, 0, 177, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 179, 0, 91, 92, 93, 0, 0, 0, 47, 48, 0, 0, 220, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 0, 0, 0, 0, 221, 335, - 223, 0, 0, 0, 0, 0, 0, 91, 92, 93, - 0, 224, 0, 225, 47, 48, 0, 0, 290, 67, + 73, 74, 75, 76, 0, 0, 0, 0, 221, 0, + 223, 0, 0, 0, 0, 0, 0, 0, 91, 92, + 93, 224, 0, 225, 47, 48, 0, 0, 0, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, 0, 0, 176, 0, 177, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 0, 179, 0, - 91, 92, 93, 0, 0, 0, 47, 48, 0, 0, - 220, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 0, 0, 0, 0, 221, 0, 223, 0, 0, - 0, 0, 0, 0, 0, 91, 92, 93, 224, 0, - 225, 47, 48, 0, 0, 0, 67, 68, 69, 70, + 0, 0, 0, 91, 92, 93, 178, 0, 179, 47, + 48, 0, 0, 0, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 0, 0, 0, 0, 221, 0, + 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 224, 0, 225, 0, 91, 92, 93, 0, 0, + 0, 47, 48, 0, 0, 0, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, 0, 0, - 221, 0, 223, 0, 0, 0, 0, 0, 0, 0, - 91, 92, 93, 224, 0, 225, 47, 48, 0, 0, - 0, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 0, 0, 0, 0, 396, 0, 397, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, - 399, 0, 91, 92, 93, 0, 0, 0, 0, 0, + 396, 0, 397, 0, 0, 0, 0, 0, 0, 0, + 91, 92, 93, 398, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 91, 92, 93, + 0, 0, 0, 0, 0, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 91, 92, 93 + 0, 0, 0, 0, 0, 0, 0, 91, 92, 93 }; static const short yycheck[] = { 29, - 24, 49, 37, 404, 11, 810, 27, 111, 43, 86, - 87, 88, 31, 90, 37, 22, 31, 460, 227, 117, - 43, 112, 268, 223, 113, 269, 504, 36, 284, 37, - 26, 110, 251, 176, 135, 43, 255, 283, 111, 395, - 113, 251, 4, 117, 550, 255, 11, 251, 251, 558, - 559, 255, 255, 114, 106, 29, 959, 175, 135, 177, - 665, 719, 24, 5, 669, 7, 52, 115, 574, 575, - 94, 4, 70, 731, 26, 26, 106, 26, 221, 36, - 70, 179, 70, 36, 114, 115, 116, 117, 165, 77, - 3, 87, 5, 6, 7, 30, 185, 1000, 106, 73, - 847, 3, 123, 581, 134, 179, 114, 115, 116, 117, - 119, 54, 917, 173, 162, 30, 140, 69, 69, 117, - 5, 6, 7, 144, 89, 58, 28, 225, 118, 177, - 339, 229, 879, 68, 29, 142, 171, 197, 198, 582, - 238, 397, 27, 4, 106, 175, 176, 177, 171, 179, - 251, 225, 213, 68, 255, 229, 23, 513, 210, 26, - 893, 819, 119, 171, 238, 217, 119, 175, 176, 177, - 65, 179, 905, 68, 251, 223, 3, 119, 255, 31, - 210, 844, 787, 213, 26, 663, 329, 217, 397, 31, - 139, 221, 438, 223, 143, 225, 902, 24, 442, 229, - 343, 299, 210, 449, 308, 213, 119, 237, 238, 217, - 270, 302, 330, 221, 723, 223, 68, 225, 278, 31, - 883, 229, 24, 104, 303, 299, 435, 257, 31, 290, - 238, 189, 738, 191, 119, 324, 194, 481, 70, 399, - 285, 5, 6, 7, 29, 29, 306, 79, 80, 347, - 24, 209, 412, 55, 28, 474, 68, 3, 318, 992, - 290, 365, 518, 67, 474, 68, 744, 745, 974, 299, - 474, 474, 53, 347, 3, 327, 70, 366, 24, 535, - 65, 65, 290, 936, 363, 364, 429, 81, 941, 29, - 363, 299, 365, 366, 4, 24, 62, 327, 64, 329, - 330, 1034, 1035, 322, 747, 3, 4, 322, 6, 1015, - 1016, 1017, 1018, 343, 24, 345, 45, 347, 47, 327, - 18, 329, 330, 466, 22, 65, 24, 4, 68, 27, - 390, 355, 3, 393, 215, 343, 4, 345, 368, 347, - 5, 6, 7, 18, 433, 375, 304, 24, 369, 397, - 828, 396, 397, 24, 22, 119, 24, 402, 614, 1012, - 25, 26, 27, 408, 6, 24, 5, 6, 7, 529, - 530, 531, 532, 474, 434, 853, 19, 537, 21, 6, - 425, 147, 401, 264, 26, 27, 401, 488, 27, 155, - 636, 157, 452, 6, 33, 455, 94, 474, 69, 429, - 27, 4, 73, 24, 423, 459, 4, 28, 423, 3, - 291, 488, 25, 26, 27, 296, 476, 3, 4, 496, - 21, 429, 25, 458, 459, 523, 24, 671, 3, 4, - 24, 450, 24, 1, 494, 450, 466, 497, 24, 499, - 32, 471, 19, 871, 872, 41, 5, 6, 7, 24, - 458, 459, 20, 8, 119, 546, 547, 487, 466, 550, - 490, 621, 368, 623, 624, 625, 25, 26, 27, 375, - 524, 525, 49, 50, 51, 579, 3, 4, 538, 1007, - 119, 558, 559, 574, 575, 539, 540, 8, 533, 524, - 525, 8, 23, 523, 583, 26, 26, 24, 577, 3, - 4, 929, 930, 33, 539, 540, 36, 21, 708, 709, - 1038, 1039, 1040, 3, 942, 523, 524, 525, 578, 617, - 24, 25, 41, 558, 559, 5, 6, 7, 409, 78, - 31, 539, 540, 935, 24, 639, 937, 938, 53, 563, - 41, 422, 944, 591, 565, 25, 70, 27, 4, 951, - 558, 559, 76, 8, 44, 45, 46, 47, 206, 768, - 119, 26, 607, 26, 29, 3, 4, 32, 613, 32, - 647, 648, 99, 100, 101, 102, 103, 104, 105, 106, - 18, 462, 627, 8, 22, 23, 24, 617, 56, 57, - 58, 59, 1020, 995, 618, 19, 656, 21, 619, 11, - 1002, 620, 662, 25, 26, 620, 1034, 631, 808, 617, - 33, 632, 1014, 70, 71, 19, 70, 21, 75, 73, - 268, 23, 657, 21, 26, 649, 112, 113, 114, 115, - 116, 19, 653, 21, 657, 283, 517, 23, 25, 119, - 26, 1043, 1044, 1045, 1046, 722, 723, 738, 26, 657, - 28, 696, 712, 683, 684, 93, 94, 23, 3, 4, - 26, 309, 310, 21, 23, 3, 4, 26, 6, 773, - 19, 319, 21, 733, 3, 4, 29, 30, 708, 709, - 18, 4, 23, 26, 22, 26, 24, 25, 723, 18, - 3, 4, 19, 22, 21, 24, 25, 49, 50, 51, - 708, 709, 3, 4, 19, 18, 21, 3, 4, 22, - 755, 24, 3, 4, 4, 723, 761, 33, 763, 764, - 765, 798, 18, 24, 25, 770, 22, 19, 24, 21, - 87, 32, 380, 24, 615, 4, 743, 530, 531, 532, - 8, 9, 766, 25, 26, 87, 394, 628, 769, 25, - 26, 25, 26, 25, 26, 93, 94, 817, 3, 4, - 73, 791, 858, 36, 93, 94, 8, 863, 864, 25, - 26, 3, 4, 18, 70, 25, 26, 22, 808, 24, - 29, 94, 25, 26, 3, 4, 30, 847, 37, 3, - 438, 3, 4, 838, 43, 31, 841, 93, 94, 18, - 808, 449, 832, 22, 30, 24, 97, 31, 99, 100, - 101, 102, 103, 104, 105, 106, 18, 3, 4, 879, - 28, 851, 3, 4, 832, 70, 922, 28, 858, 25, - 26, 31, 18, 863, 864, 25, 22, 933, 24, 884, - 89, 871, 872, 24, 25, 25, 26, 23, 93, 94, - 858, 32, 25, 26, 25, 863, 864, 25, 26, 36, - 109, 110, 111, 112, 113, 6, 873, 963, 25, 3, - 4, 25, 6, 26, 93, 94, 972, 907, 908, 24, - 910, 25, 26, 913, 18, 134, 25, 26, 22, 24, - 24, 898, 922, 27, 107, 108, 27, 993, 64, 929, - 930, 549, 27, 933, 87, 553, 554, 94, 94, 557, - 28, 160, 942, 87, 922, 28, 29, 95, 96, 41, - 3, 4, 171, 30, 173, 933, 1022, 1063, 1064, 23, - 25, 939, 940, 963, 942, 18, 185, 41, 31, 22, - 4, 24, 972, 23, 193, 28, 3, 4, 197, 198, - 8, 23, 4, 26, 33, 963, 1052, 206, 3, 4, - 94, 18, 21, 993, 972, 22, 87, 24, 25, 24, - 24, 1001, 8, 18, 30, 1071, 1072, 22, 17, 24, - 17, 3, 4, 11, 30, 993, 1082, 36, 636, 23, - 1020, 41, 1022, 25, 25, 25, 18, 8, 25, 68, - 22, 30, 24, 94, 1034, 1053, 31, 31, 257, 8, - 31, 94, 1020, 23, 1022, 62, 25, 3, 4, 268, - 269, 270, 1052, 25, 43, 29, 19, 1035, 25, 278, - 25, 25, 18, 21, 283, 25, 22, 94, 24, 8, - 25, 1071, 1072, 25, 1052, 68, 64, 25, 27, 94, - 66, 66, 1082, 302, 303, 69, 31, 306, 26, 308, - 309, 310, 25, 1071, 1072, 87, 36, 715, 21, 318, - 319, 19, 94, 28, 1082, 324, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 22, 68, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 69, 68, 23, 26, 22, 94, 24, - 25, 25, 74, 40, 363, 364, 365, 366, 28, 368, - 35, 40, 37, 63, 68, 26, 375, 69, 69, 72, - 21, 380, 69, 87, 18, 87, 26, 23, 34, 22, - 69, 390, 30, 8, 393, 394, 22, 28, 26, 19, - 8, 18, 18, 3, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 26, - 18, 4, 24, 22, 43, 24, 25, 109, 110, 111, - 22, 22, 18, 22, 433, 434, 35, 24, 37, 438, - 8, 8, 3, 442, 109, 110, 111, 18, 30, 11, - 449, 11, 30, 452, 119, 19, 455, 8, 24, 458, - 459, 33, 11, 11, 11, 11, 18, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 476, 18, 18, - 18, 40, 481, 24, 19, 19, 19, 11, 487, 25, - 11, 11, 137, 25, 106, 494, 26, 25, 497, 28, - 499, 28, 114, 115, 116, 117, 19, 19, 19, 40, - 109, 110, 111, 19, 0, 25, 25, 25, 25, 21, - 119, 21, 0, 135, 134, 524, 525, 487, 668, 785, - 677, 742, 500, 729, 915, 887, 1001, 851, 817, 538, - 539, 540, 1035, 992, 1057, 1020, 1028, 546, 547, 548, - 549, 550, 18, 18, 553, 554, 97, 41, 557, 558, - 559, 678, 683, 175, 176, 177, 57, 179, 109, 110, - 111, 252, 57, 43, 171, 574, 575, 121, 577, 578, - 579, 551, 721, 494, 583, 497, 474, 112, 255, 723, - 547, 488, 559, 541, 761, 396, 617, 758, 210, 709, - 808, 213, 917, 756, 345, 217, 397, -1, 553, 221, - -1, 223, -1, 225, -1, -1, -1, 229, -1, -1, - -1, -1, 3, 4, -1, -1, 238, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 636, -1, -1, - 639, 22, -1, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 35, -1, 37, 656, 657, -1, - -1, -1, -1, 662, -1, -1, -1, -1, -1, -1, - -1, -1, 671, -1, -1, -1, -1, -1, 290, -1, - -1, -1, -1, -1, -1, -1, -1, 299, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 11, 49, 37, 24, 37, 31, 404, 111, 43, 27, + 43, 22, 223, 86, 87, 88, 268, 90, 227, 503, + 189, 269, 191, 113, 284, 194, 251, 110, 459, 37, + 255, 283, 117, 112, 31, 43, 826, 106, 549, 135, + 209, 104, 11, 251, 251, 3, 29, 255, 255, 26, + 111, 251, 113, 117, 496, 255, 395, 724, 176, 31, + 558, 559, 135, 574, 575, 114, 24, 115, 4, 175, + 670, 177, 70, 94, 674, 742, 106, 3, 5, 6, + 7, 908, 26, 81, 114, 115, 116, 117, 54, 26, + 73, 29, 165, 920, 179, 185, 68, 581, 106, 25, + 27, 887, 888, 221, 134, 123, 114, 115, 116, 117, + 70, 69, 52, 555, 162, 179, 4, 77, 30, 140, + 89, 3, 58, 5, 6, 7, 144, 65, 70, 177, + 339, 142, 5, 6, 7, 304, 171, 397, 171, 917, + 225, 210, 932, 87, 229, 175, 176, 177, 217, 179, + 87, 582, 215, 238, 27, 251, 68, 943, 944, 255, + 33, 225, 139, 171, 213, 229, 143, 175, 176, 177, + 956, 179, 839, 512, 238, 223, 118, 4, 251, 1006, + 210, 36, 255, 213, 668, 31, 438, 217, 397, 25, + 26, 221, 119, 223, 36, 225, 448, 24, 5, 229, + 7, 264, 210, 803, 308, 213, 26, 237, 238, 217, + 988, 329, 36, 221, 299, 223, 70, 225, 1045, 1046, + 303, 229, 68, 302, 330, 343, 435, 257, 291, 67, + 238, 310, 480, 296, 324, 299, 734, 119, 749, 206, + 30, 290, 23, 173, 24, 26, 119, 1033, 473, 69, + 1028, 1029, 1030, 1031, 5, 6, 7, 517, 327, 1045, + 290, 365, 347, 117, 119, 473, 473, 197, 198, 299, + 29, 755, 756, 473, 534, 55, 366, 119, 68, 106, + 363, 364, 290, 347, 53, 950, 26, 5, 6, 7, + 955, 299, 18, 31, 285, 119, 322, 327, 4, 329, + 330, 268, 363, 3, 365, 366, 65, 25, 26, 27, + 24, 429, 119, 343, 1, 345, 283, 347, 24, 327, + 862, 329, 330, 3, 24, 322, 31, 758, 458, 69, + 68, 3, 21, 20, 355, 343, 41, 345, 368, 347, + 270, 3, 4, 433, 24, 375, 409, 465, 278, 397, + 18, 369, 319, 62, 614, 64, 28, 899, 4, 422, + 1025, 24, 846, 25, 44, 45, 46, 47, 119, 32, + 5, 6, 7, 21, 3, 401, 306, 473, 24, 309, + 310, 550, 551, 24, 636, 869, 41, 28, 318, 368, + 25, 487, 27, 523, 524, 24, 375, 423, 461, 429, + 473, 119, 70, 71, 401, 396, 397, 75, 538, 539, + 3, 402, 4, 380, 487, 29, 45, 408, 47, 903, + 6, 429, 495, 449, 457, 458, 423, 394, 676, 26, + 22, 24, 24, 29, 425, 465, 33, 522, 147, 36, + 470, 27, 23, 3, 4, 26, 155, 4, 157, 457, + 458, 65, 449, 516, 68, 3, 486, 465, 18, 489, + 390, 8, 22, 393, 24, 25, 545, 546, 25, 65, + 549, 438, 68, 8, 399, 579, 24, 646, 5, 6, + 7, 448, 1020, 70, 119, 558, 559, 412, 19, 76, + 523, 524, 522, 583, 577, 574, 575, 8, 25, 26, + 27, 26, 713, 714, 434, 538, 539, 32, 3, 4, + 53, 1049, 1050, 1051, 522, 523, 524, 6, 49, 50, + 51, 451, 41, 18, 454, 558, 559, 22, 23, 24, + 538, 539, 617, 93, 94, 639, 25, 26, 27, 3, + 4, 532, 563, 591, 78, 475, 70, 565, 3, 4, + 558, 559, 615, 951, 952, 79, 80, 726, 727, 728, + 24, 25, 8, 493, 6, 628, 496, 4, 498, 24, + 779, 4, 3, 4, 8, 3, 4, 26, 651, 652, + 653, 548, 31, 874, 26, 27, 949, 617, 879, 880, + 557, 24, 119, 24, 620, 958, 24, 618, 93, 94, + 4, 619, 965, 528, 529, 530, 531, 537, 24, 617, + 631, 536, 28, 824, 632, 26, 607, 28, 22, 11, + 24, 23, 613, 620, 26, 555, 556, 662, 23, 662, + 19, 26, 21, 654, 3, 4, 627, 33, 26, 23, + 658, 29, 26, 21, 32, 936, 1009, 70, 578, 18, + 73, 25, 1015, 22, 662, 24, 947, 21, 688, 689, + 733, 734, 831, 23, 1027, 26, 26, 3, 4, 636, + 749, 99, 100, 101, 102, 103, 104, 105, 106, 19, + 784, 21, 4, 713, 714, 19, 977, 21, 24, 3, + 4, 1054, 1055, 1056, 1057, 986, 621, 4, 623, 624, + 625, 734, 70, 71, 33, 713, 714, 75, 3, 4, + 701, 6, 4, 3, 4, 19, 1007, 21, 87, 29, + 30, 3, 4, 18, 6, 94, 734, 22, 18, 24, + 25, 661, 22, 87, 24, 25, 18, 667, 8, 9, + 22, 814, 24, 754, 1035, 27, 112, 113, 114, 115, + 116, 8, 19, 720, 21, 87, 777, 3, 4, 25, + 26, 97, 780, 99, 100, 101, 102, 103, 104, 105, + 106, 19, 1063, 21, 19, 766, 21, 807, 24, 25, + 19, 772, 21, 774, 775, 776, 32, 717, 3, 4, + 781, 1082, 1083, 36, 824, 49, 50, 51, 93, 94, + 25, 26, 1093, 93, 94, 25, 26, 29, 31, 24, + 25, 30, 94, 3, 744, 37, 824, 32, 25, 26, + 850, 43, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 56, 57, 58, 59, 30, 867, 24, 31, + 3, 4, 850, 6, 874, 529, 530, 531, 18, 879, + 880, 25, 26, 3, 4, 18, 28, 887, 888, 22, + 790, 24, 3, 4, 27, 856, 874, 89, 859, 25, + 26, 879, 880, 25, 26, 3, 4, 18, 889, 25, + 26, 22, 31, 24, 28, 25, 26, 109, 110, 111, + 112, 113, 922, 923, 25, 925, 25, 26, 928, 25, + 26, 25, 913, 25, 26, 23, 936, 837, 6, 900, + 25, 97, 134, 943, 944, 25, 26, 947, 25, 26, + 25, 26, 36, 109, 110, 111, 956, 26, 936, 70, + 25, 94, 107, 108, 28, 29, 95, 96, 160, 947, + 3, 4, 1074, 1075, 24, 953, 954, 977, 956, 171, + 24, 173, 93, 94, 27, 18, 986, 27, 64, 22, + 87, 24, 87, 185, 94, 895, 28, 23, 25, 977, + 41, 193, 30, 41, 4, 197, 198, 1007, 986, 31, + 23, 8, 23, 4, 206, 3, 4, 26, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 33, 1007, + 18, 24, 21, 1033, 22, 1035, 24, 70, 24, 87, + 28, 17, 17, 3, 4, 1045, 1064, 30, 11, 36, + 8, 3, 4, 30, 23, 1033, 26, 1035, 18, 41, + 93, 94, 22, 1063, 24, 257, 18, 28, 1046, 25, + 22, 25, 24, 25, 8, 30, 268, 269, 270, 3, + 4, 31, 1082, 1083, 31, 1063, 278, 31, 3, 4, + 94, 283, 8, 1093, 18, 68, 23, 25, 22, 25, + 24, 43, 25, 18, 1082, 1083, 94, 22, 29, 24, + 302, 303, 25, 25, 306, 1093, 308, 309, 310, 109, + 110, 111, 62, 19, 21, 25, 318, 319, 64, 3, + 4, 25, 324, 93, 94, 68, 25, 25, 69, 8, + 3, 4, 94, 27, 18, 31, 66, 66, 22, 73, + 24, 23, 25, 36, 21, 18, 22, 106, 19, 22, + 28, 24, 69, 68, 74, 114, 115, 116, 117, 68, + 94, 363, 364, 365, 366, 23, 368, 26, 25, 94, + 40, 40, 28, 375, 63, 26, 135, 68, 380, 33, + 72, 69, 69, 21, 25, 87, 87, 18, 390, 69, + 26, 393, 394, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 23, 34, + 94, 30, 22, 8, 24, 25, 175, 176, 177, 22, + 179, 94, 28, 19, 8, 35, 18, 37, 18, 3, + 18, 433, 434, 26, 4, 24, 438, 22, 43, 22, + 442, 18, 24, 22, 19, 8, 448, 3, 19, 451, + 30, 210, 454, 18, 213, 457, 458, 11, 217, 11, + 24, 30, 221, 8, 223, 33, 225, 11, 11, 11, + 229, 11, 18, 475, 40, 25, 11, 18, 480, 238, + 18, 18, 11, 19, 486, 19, 19, 11, 0, 40, + 137, 493, 19, 25, 496, 25, 498, 28, 19, 109, + 110, 111, 28, 19, 19, 25, 25, 25, 25, 119, + 21, 21, 0, 134, 673, 486, 801, 682, 499, 753, + 740, 523, 524, 1014, 930, 895, 867, 837, 1006, 1046, + 1068, 290, 1033, 1041, 18, 537, 538, 539, 18, 41, + 299, 683, 43, 545, 546, 547, 548, 549, 57, 551, + 688, 57, 252, 555, 556, 557, 558, 559, 171, 121, + 552, 732, 790, 112, 546, 493, 559, 734, 327, 255, + 329, 330, 574, 575, 473, 577, 578, 579, 540, 617, + 772, 583, 769, 396, 343, 714, 345, 487, 347, 932, + 767, 824, 345, 397, 646, 354, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, -1, -1, -1, -1, 22, -1, 24, 25, -1, + 27, -1, -1, -1, -1, -1, -1, -1, 35, -1, + 37, 38, 39, -1, 636, 42, -1, 639, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, 58, 59, 60, 61, -1, -1, -1, -1, 661, + 662, -1, -1, -1, -1, 667, -1, -1, -1, -1, + 429, -1, -1, -1, 676, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, -1, -1, -1, 22, -1, 24, 25, + -1, -1, 109, 110, 111, -1, 465, -1, -1, 35, + -1, 37, 119, -1, -1, 717, -1, -1, 720, -1, + -1, -1, 724, -1, -1, -1, -1, -1, 487, -1, + 489, -1, 734, -1, -1, -1, -1, -1, -1, -1, + 742, -1, 744, -1, -1, -1, -1, 749, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 712, -1, 327, 715, 329, 330, -1, - 719, -1, -1, -1, 723, -1, -1, -1, 109, 110, - 111, 343, 731, 345, 733, 347, -1, -1, -1, 738, - -1, -1, 354, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, - -1, -1, 22, -1, 24, 25, -1, 27, -1, -1, - -1, -1, -1, -1, 773, 35, -1, 37, 38, 39, - -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, - 60, 61, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 429, 817, -1, - 819, 22, -1, 24, 25, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 35, -1, 37, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 847, 109, - 110, 111, -1, -1, 466, -1, -1, -1, -1, 119, - -1, -1, -1, -1, -1, -1, -1, 866, 867, 868, - 869, 870, -1, -1, -1, -1, 488, -1, 490, -1, - 879, 3, 4, -1, -1, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, - -1, -1, 24, -1, -1, -1, -1, 906, 109, 110, - 111, 523, -1, -1, -1, -1, 38, 39, 119, -1, - 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 935, -1, 60, -1, - -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, - -1, -1, 951, -1, 953, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, 89, 90, 91, - 92, -1, -1, -1, -1, -1, 98, 99, 100, 101, - 102, 103, 104, 105, 106, -1, -1, 109, 110, 111, - -1, -1, -1, -1, -1, -1, 995, -1, -1, -1, - -1, -1, -1, 1002, -1, 617, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1014, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1028, + -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1043, 1044, 1045, 1046, 3, 4, - -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, -1, -1, -1, 22, -1, 24, - -1, 683, -1, 685, -1, -1, -1, -1, -1, -1, - 35, -1, 37, -1, -1, -1, -1, -1, -1, 44, - 45, 46, 47, 48, -1, -1, 708, 709, -1, -1, - -1, -1, -1, -1, 3, 4, -1, -1, 7, 8, + -1, -1, 784, 109, 110, 111, -1, -1, 790, -1, + -1, -1, -1, 119, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, - -1, -1, -1, 22, 23, 24, -1, 82, 83, 84, - 85, 86, -1, -1, -1, -1, 35, -1, 37, 38, - 39, -1, -1, 42, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 109, 110, 111, 56, 57, 58, - 59, 60, 61, -1, -1, -1, -1, -1, 3, 4, - -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, -1, -1, -1, 22, -1, 24, - 25, -1, -1, -1, -1, -1, 808, -1, -1, -1, - 35, -1, 37, 38, 39, -1, -1, 42, -1, -1, + -1, -1, -1, 22, -1, 24, 25, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 35, -1, 37, -1, + -1, -1, -1, -1, -1, 837, -1, 839, 3, 4, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, -1, -1, -1, -1, -1, 617, 24, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 38, 39, -1, -1, 42, -1, -1, + 882, 883, 884, 885, 886, -1, -1, -1, -1, -1, + -1, -1, -1, 895, -1, 60, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, -1, -1, -1, -1, - 832, 56, 57, 58, 59, 60, 61, -1, -1, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, -1, -1, 858, -1, 22, 861, - 24, 863, 864, -1, -1, -1, -1, -1, -1, 871, - 872, 35, -1, 37, 38, 39, -1, -1, 42, -1, - -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, - -1, -1, 56, 57, 58, 59, 60, 61, -1, -1, + 119, -1, -1, -1, -1, -1, -1, -1, -1, 921, + -1, -1, -1, 88, 89, 90, 91, 92, -1, 688, + -1, 690, -1, 98, 99, 100, 101, 102, 103, 104, + 105, 106, -1, -1, 109, 110, 111, 949, -1, -1, + -1, -1, -1, -1, 713, 714, 958, -1, -1, -1, + -1, -1, -1, 965, -1, 967, -1, 3, 4, -1, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, -1, -1, -1, 22, -1, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, + -1, 37, -1, -1, -1, -1, -1, 1009, 44, 45, + 46, 47, 48, 1015, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1027, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1041, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, -1, 1054, 1055, 1056, 1057, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 824, -1, -1, -1, -1, + -1, -1, -1, 109, 110, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 913, -1, -1, -1, -1, -1, -1, -1, -1, - 922, -1, -1, -1, -1, -1, -1, 929, 930, -1, - -1, 933, 934, -1, -1, -1, -1, -1, -1, -1, - 942, -1, -1, -1, -1, 109, 110, 111, -1, -1, + -1, 850, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 963, -1, -1, -1, -1, -1, -1, 3, 4, - 972, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, -1, -1, -1, 22, -1, 24, - -1, 993, -1, -1, -1, -1, -1, -1, -1, -1, - 35, -1, 37, 38, 39, -1, -1, 42, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1020, -1, - 1022, 56, 57, 58, 59, 60, 61, -1, -1, -1, - 3, 4, 1034, -1, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, -1, -1, 3, 4, 22, - 1052, 24, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 35, -1, 37, -1, -1, 23, 24, 1071, - 1072, -1, -1, -1, 109, 110, 111, 3, 4, -1, - 1082, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, -1, -1, -1, -1, -1, -1, 24, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 874, -1, -1, 877, -1, + 879, 880, -1, -1, -1, -1, -1, -1, 887, 888, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, -1, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, -1, -1, -1, 22, 23, 24, 928, + -1, -1, -1, -1, -1, -1, -1, 936, -1, 35, + -1, 37, 38, 39, 943, 944, 42, -1, 947, 948, + -1, -1, -1, -1, -1, -1, -1, 956, -1, -1, + 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 977, -1, + -1, -1, -1, -1, 3, 4, -1, 986, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, + -1, -1, -1, 22, -1, 24, 25, -1, 1007, -1, + -1, -1, -1, 109, 110, 111, 35, -1, 37, 38, + 39, -1, -1, 42, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1033, -1, 1035, 56, 57, 58, + 59, 60, 61, -1, -1, -1, 1045, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3, 4, -1, 1063, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, + 22, -1, 24, 1082, 1083, -1, -1, -1, -1, -1, + 109, 110, 111, 35, 1093, 37, 38, 39, -1, -1, + 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 56, 57, 58, 59, 60, 61, + 3, 4, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, -1, -1, 3, 4, 22, + -1, 24, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 35, -1, 37, 38, 39, 23, 24, 42, + -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, + -1, -1, -1, 56, 57, 58, 59, 60, 61, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, -1, 3, 4, 22, -1, + 24, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 35, -1, 37, -1, -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, -1, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, 111, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 99, 100, 101, 102, 103, 104, 105, - 106, -1, -1, 109, 110, 111, 3, 4, -1, -1, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, -1, -1, -1, 22, -1, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, - 37, 3, 4, -1, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 35, -1, 37, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 83, 84, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, - -1, -1, -1, 22, 23, 24, -1, -1, -1, -1, - -1, -1, 109, 110, 111, -1, 35, -1, 37, 3, + -1, -1, -1, -1, -1, 109, 110, 111, -1, -1, + -1, -1, 99, 100, 101, 102, 103, 104, 105, 106, + -1, -1, 109, 110, 111, 3, 4, -1, -1, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + -1, -1, -1, -1, 22, -1, 24, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 35, -1, 37, + 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, -1, -1, -1, -1, 22, + 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 35, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 3, 4, -1, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, -1, -1, -1, 22, 23, 24, -1, + -1, 109, 110, 111, -1, -1, -1, -1, -1, 35, + -1, 37, 3, 4, -1, -1, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, + -1, 22, 23, 24, -1, -1, 109, 110, 111, -1, + -1, -1, -1, -1, 35, -1, 37, 3, 4, -1, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, -1, -1, -1, 22, -1, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, + -1, 37, -1, 109, 110, 111, -1, -1, -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, -1, -1, -1, -1, 22, 23, - 24, -1, -1, -1, -1, -1, -1, 109, 110, 111, - -1, 35, -1, 37, 3, 4, -1, -1, 7, 8, + 14, 15, 16, 17, -1, -1, -1, -1, 22, -1, + 24, -1, -1, -1, -1, -1, -1, -1, 109, 110, + 111, 35, -1, 37, 3, 4, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, 22, -1, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 35, -1, 37, -1, - 109, 110, 111, -1, -1, -1, 3, 4, -1, -1, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, -1, -1, -1, 22, -1, 24, -1, -1, - -1, -1, -1, -1, -1, 109, 110, 111, 35, -1, - 37, 3, 4, -1, -1, -1, 8, 9, 10, 11, + -1, -1, -1, 109, 110, 111, 35, -1, 37, 3, + 4, -1, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, -1, -1, -1, 22, -1, + 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 35, -1, 37, -1, 109, 110, 111, -1, -1, + -1, 3, 4, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, - 109, 110, 111, 35, -1, 37, 3, 4, -1, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, -1, -1, -1, 22, -1, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, - 37, -1, 109, 110, 111, -1, -1, -1, -1, -1, + 109, 110, 111, 35, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, + -1, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 109, 110, 111 + -1, -1, -1, -1, -1, -1, -1, 109, 110, 111 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/local/gnu/share/bison.simple" @@ -2093,695 +2102,671 @@ yyreduce: switch (yyn) { case 2: -#line 335 "yaccParser/hsparser.y" +#line 333 "yaccParser/hsparser.y" { the_module_name = yyvsp[-1].uid; module_exports = yyvsp[0].ulist; ; break;} case 4: -#line 337 "yaccParser/hsparser.y" +#line 335 "yaccParser/hsparser.y" { the_module_name = install_literal("Main"); module_exports = Lnil; ; break;} case 6: -#line 343 "yaccParser/hsparser.y" +#line 341 "yaccParser/hsparser.y" { root = mkhmodule(the_module_name,lconc(prelude_imports,yyvsp[-3].ulist),module_exports,yyvsp[-1].ubinding,startlineno); ; break;} case 7: -#line 347 "yaccParser/hsparser.y" +#line 345 "yaccParser/hsparser.y" { root = mkhmodule(the_module_name,lconc(prelude_imports,yyvsp[-3].ulist),module_exports,yyvsp[-1].ubinding,startlineno); ; break;} case 8: -#line 352 "yaccParser/hsparser.y" +#line 350 "yaccParser/hsparser.y" { root = mkhmodule(the_module_name,lconc(prelude_imports,yyvsp[-1].ulist),module_exports,mknullbind(),startlineno); ; break;} case 9: -#line 356 "yaccParser/hsparser.y" +#line 354 "yaccParser/hsparser.y" { root = mkhmodule(the_module_name,lconc(prelude_imports,yyvsp[-1].ulist),module_exports,mknullbind(),startlineno); ; break;} case 10: -#line 362 "yaccParser/hsparser.y" +#line 360 "yaccParser/hsparser.y" { root = mkhmodule(the_module_name,lconc(prelude_imports,yyvsp[-1].ulist),module_exports,mknullbind(),startlineno); ; break;} case 11: -#line 366 "yaccParser/hsparser.y" +#line 364 "yaccParser/hsparser.y" { root = mkhmodule(the_module_name,lconc(prelude_imports,yyvsp[-1].ulist),module_exports,mknullbind(),startlineno); ; break;} case 12: -#line 372 "yaccParser/hsparser.y" +#line 370 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} case 13: -#line 373 "yaccParser/hsparser.y" +#line 371 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; ; break;} case 14: -#line 377 "yaccParser/hsparser.y" +#line 375 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uentid); ; break;} case 15: -#line 378 "yaccParser/hsparser.y" +#line 376 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uentid); ; break;} case 16: -#line 382 "yaccParser/hsparser.y" +#line 380 "yaccParser/hsparser.y" { yyval.uentid = mkentid(yyvsp[0].uid); ; break;} case 17: -#line 383 "yaccParser/hsparser.y" +#line 381 "yaccParser/hsparser.y" { yyval.uentid = mkenttype(yyvsp[0].uid); ; break;} case 18: -#line 384 "yaccParser/hsparser.y" +#line 382 "yaccParser/hsparser.y" { yyval.uentid = mkenttypeall(yyvsp[-3].uid); ; break;} case 19: -#line 386 "yaccParser/hsparser.y" +#line 384 "yaccParser/hsparser.y" { yyval.uentid = mkenttypecons(yyvsp[-3].uid,yyvsp[-1].ulist); /* should be a datatype with cons representing all constructors */ ; break;} case 20: -#line 390 "yaccParser/hsparser.y" +#line 388 "yaccParser/hsparser.y" { yyval.uentid = mkentclass(yyvsp[-3].uid,yyvsp[-1].ulist); /* should be a class with vars representing all Class operations */ ; break;} case 21: -#line 394 "yaccParser/hsparser.y" +#line 392 "yaccParser/hsparser.y" { yyval.uentid = mkentclass(yyvsp[-2].uid,Lnil); /* "tycon" should be a class with no operations */ ; break;} case 22: -#line 398 "yaccParser/hsparser.y" +#line 396 "yaccParser/hsparser.y" { yyval.uentid = mkentmod(yyvsp[-1].uid); /* "tycon" is a module id (but "modid" is bad for your identifier's health [KH]) */ ; break;} case 23: -#line 404 "yaccParser/hsparser.y" +#line 402 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; hidden = FALSE; ; break;} case 24: -#line 405 "yaccParser/hsparser.y" +#line 403 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; hidden = TRUE; ; break;} case 25: -#line 406 "yaccParser/hsparser.y" +#line 404 "yaccParser/hsparser.y" { yyval.ulist = Lnil; hidden = FALSE; ; break;} case 26: -#line 409 "yaccParser/hsparser.y" +#line 407 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} case 27: -#line 410 "yaccParser/hsparser.y" +#line 408 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[0].ulist; ; break;} case 28: -#line 414 "yaccParser/hsparser.y" +#line 412 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uentid); ; break;} case 29: -#line 415 "yaccParser/hsparser.y" +#line 413 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uentid); ; break;} case 30: -#line 419 "yaccParser/hsparser.y" +#line 417 "yaccParser/hsparser.y" { yyval.uentid = mkentid(yyvsp[0].uid); ; break;} case 31: -#line 420 "yaccParser/hsparser.y" +#line 418 "yaccParser/hsparser.y" { yyval.uentid = mkenttype(yyvsp[0].uid); ; break;} case 32: -#line 421 "yaccParser/hsparser.y" +#line 419 "yaccParser/hsparser.y" { yyval.uentid = mkenttypeall(yyvsp[-3].uid); ; break;} case 33: -#line 423 "yaccParser/hsparser.y" +#line 421 "yaccParser/hsparser.y" { yyval.uentid = mkenttypecons(yyvsp[-3].uid,yyvsp[-1].ulist); /* should be a datatype with cons representing all constructors */ ; break;} case 34: -#line 427 "yaccParser/hsparser.y" +#line 425 "yaccParser/hsparser.y" { yyval.uentid = mkentclass(yyvsp[-3].uid,yyvsp[-1].ulist); /* should be a class with vars representing all Class operations */ ; break;} case 35: -#line 431 "yaccParser/hsparser.y" +#line 429 "yaccParser/hsparser.y" { yyval.uentid = mkentclass(yyvsp[-2].uid,Lnil); /* "tycon" should be a class with no operations */ ; break;} case 36: -#line 440 "yaccParser/hsparser.y" +#line 438 "yaccParser/hsparser.y" { yyval.uhpragma = mkidata_pragma(yyvsp[-2].ulist, yyvsp[-1].ulist); ; break;} case 37: -#line 442 "yaccParser/hsparser.y" +#line 440 "yaccParser/hsparser.y" { yyval.uhpragma = mkidata_pragma(Lnil, yyvsp[-1].ulist); ; break;} case 38: -#line 443 "yaccParser/hsparser.y" +#line 441 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 39: -#line 448 "yaccParser/hsparser.y" +#line 446 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[0].ulist; ; break;} case 40: -#line 449 "yaccParser/hsparser.y" +#line 447 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} case 41: -#line 453 "yaccParser/hsparser.y" +#line 451 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uhpragma); ; break;} case 42: -#line 455 "yaccParser/hsparser.y" +#line 453 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; break;} case 43: -#line 459 "yaccParser/hsparser.y" +#line 457 "yaccParser/hsparser.y" { yyval.uhpragma = mkidata_pragma_4s(yyvsp[-1].ulist); ; break;} case 44: -#line 463 "yaccParser/hsparser.y" +#line 461 "yaccParser/hsparser.y" { yyval.uhpragma = mkitype_pragma(); ; break;} case 45: -#line 464 "yaccParser/hsparser.y" +#line 462 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 46: -#line 468 "yaccParser/hsparser.y" +#line 466 "yaccParser/hsparser.y" { yyval.uhpragma = mkiclas_pragma(yyvsp[-1].ulist); ; break;} case 47: -#line 469 "yaccParser/hsparser.y" +#line 467 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 48: -#line 474 "yaccParser/hsparser.y" +#line 472 "yaccParser/hsparser.y" { yyval.uhpragma = mkiclasop_pragma(yyvsp[-2].uhpragma, yyvsp[-1].uhpragma); ; break;} case 49: -#line 476 "yaccParser/hsparser.y" +#line 474 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 50: -#line 481 "yaccParser/hsparser.y" +#line 479 "yaccParser/hsparser.y" { yyval.uhpragma = mkiinst_simpl_pragma(yyvsp[-2].uid, yyvsp[-1].uhpragma); ; break;} case 51: -#line 484 "yaccParser/hsparser.y" +#line 482 "yaccParser/hsparser.y" { yyval.uhpragma = mkiinst_const_pragma(yyvsp[-3].uid, yyvsp[-2].uhpragma, yyvsp[-1].ulist); ; break;} case 52: -#line 487 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiinst_spec_pragma(yyvsp[-3].uid, yyvsp[-2].uhpragma, yyvsp[-1].ulist); ; +#line 485 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkno_pragma(); ; break;} case 53: #line 490 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkno_pragma(); ; +{ yyval.uid = yyvsp[0].uid; ; break;} case 54: -#line 495 "yaccParser/hsparser.y" -{ yyval.uid = yyvsp[0].uid; ; +#line 492 "yaccParser/hsparser.y" +{ yyval.uid = install_literal(""); ; break;} case 55: #line 497 "yaccParser/hsparser.y" -{ yyval.uid = install_literal(""); ; +{ yyval.uhpragma = yyvsp[-1].uhpragma; ; break;} case 56: -#line 500 "yaccParser/hsparser.y" -{ yyval.ulist = yyvsp[0].ulist; ; +#line 499 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkno_pragma(); ; break;} case 57: -#line 505 "yaccParser/hsparser.y" -{ yyval.uhpragma = yyvsp[-1].uhpragma; ; +#line 504 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkno_pragma(); ; break;} case 58: -#line 507 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkno_pragma(); ; +#line 506 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkigen_pragma(yyvsp[-5].uhpragma, yyvsp[-4].uhpragma, yyvsp[-3].uhpragma, yyvsp[-2].uhpragma, yyvsp[-1].uhpragma, yyvsp[0].ulist); ; break;} case 59: -#line 512 "yaccParser/hsparser.y" +#line 510 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 60: -#line 514 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkigen_pragma(yyvsp[-5].uhpragma, yyvsp[-4].uhpragma, yyvsp[-3].uhpragma, yyvsp[-2].uhpragma, yyvsp[-1].uhpragma, yyvsp[0].ulist); ; +#line 511 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiarity_pragma(yyvsp[0].ustring); ; break;} case 61: -#line 518 "yaccParser/hsparser.y" +#line 515 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 62: -#line 519 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiarity_pragma(yyvsp[0].ustring); ; +#line 516 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiupdate_pragma(yyvsp[0].ustring); ; break;} case 63: -#line 523 "yaccParser/hsparser.y" +#line 520 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 64: -#line 524 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiupdate_pragma(yyvsp[0].ustring); ; +#line 521 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkideforest_pragma(); ; break;} case 65: -#line 528 "yaccParser/hsparser.y" +#line 525 "yaccParser/hsparser.y" { yyval.uhpragma = mkno_pragma(); ; break;} case 66: -#line 529 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkideforest_pragma(); ; +#line 526 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkistrictness_pragma(installHstring(1, "B"), + /* _!_ = COCON = bottom */ mkno_pragma()); + ; break;} case 67: -#line 533 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkno_pragma(); ; +#line 530 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkistrictness_pragma(yyvsp[-1].uhstring, yyvsp[0].uhpragma); ; break;} case 68: #line 534 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkistrictness_pragma(installHstring(1, "B"), - /* _!_ = COCON = bottom */ mkno_pragma()); - ; +{ yyval.uhpragma = yyvsp[-1].uhpragma; ; break;} case 69: -#line 538 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkistrictness_pragma(yyvsp[-1].uhstring, yyvsp[0].uhpragma); ; +#line 535 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkno_pragma(); ; break;} case 70: -#line 542 "yaccParser/hsparser.y" -{ yyval.uhpragma = yyvsp[-1].uhpragma; ; +#line 538 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkno_pragma(); ; break;} case 71: -#line 543 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkno_pragma(); ; +#line 540 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkimagic_unfolding_pragma(yyvsp[0].uid); ; break;} case 72: -#line 546 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkno_pragma(); ; +#line 542 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiunfolding_pragma(yyvsp[-1].uhpragma, yyvsp[0].ucoresyn); ; break;} case 73: -#line 548 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkimagic_unfolding_pragma(yyvsp[0].uid); ; +#line 547 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiunfold_always(); ; break;} case 74: -#line 550 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiunfolding_pragma(yyvsp[-1].uhpragma, yyvsp[0].ucoresyn); ; +#line 549 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiunfold_if_args(yyvsp[-3].ustring, yyvsp[-2].ustring, yyvsp[-1].uid, yyvsp[0].ustring); ; break;} case 75: -#line 555 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiunfold_always(); ; +#line 553 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; break;} case 76: -#line 557 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiunfold_if_args(yyvsp[-3].ustring, yyvsp[-2].ustring, yyvsp[-1].uid, yyvsp[0].ustring); ; +#line 554 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; break;} case 77: -#line 561 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; +#line 558 "yaccParser/hsparser.y" +{ yyval.ulist = Lnil; ; break;} case 78: -#line 562 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; +#line 559 "yaccParser/hsparser.y" +{ yyval.ulist = yyvsp[0].ulist; ; break;} case 79: -#line 566 "yaccParser/hsparser.y" -{ yyval.ulist = Lnil; ; +#line 563 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; break;} case 80: -#line 567 "yaccParser/hsparser.y" -{ yyval.ulist = yyvsp[0].ulist; ; +#line 564 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; break;} case 81: -#line 571 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; +#line 569 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkitype_pragma_pr(yyvsp[-3].ulist, yyvsp[-1].ustring, yyvsp[0].uhpragma); ; break;} case 82: -#line 572 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; +#line 573 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 83: -#line 577 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkitype_pragma_pr(yyvsp[-3].ulist, yyvsp[-1].ustring, yyvsp[0].uhpragma); ; +#line 574 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uttype); ; break;} case 84: -#line 581 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; +#line 578 "yaccParser/hsparser.y" +{ yyval.uttype = mkty_maybe_nothing(); ; break;} case 85: -#line 582 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uhpragma); ; +#line 579 "yaccParser/hsparser.y" +{ yyval.uttype = mkty_maybe_just(yyvsp[0].uttype); ; break;} case 86: -#line 587 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiinst_pragma_3s(yyvsp[-4].ulist, yyvsp[-2].ustring, yyvsp[-1].uhpragma, yyvsp[0].ulist); ; +#line 583 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; break;} case 87: -#line 591 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uttype); ; +#line 584 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; break;} case 88: -#line 592 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uttype); ; +#line 593 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiname_pragma_pr(yyvsp[-4].uid, yyvsp[-1].uhpragma); ; break;} case 89: -#line 596 "yaccParser/hsparser.y" -{ yyval.uttype = mkty_maybe_nothing(); ; +#line 599 "yaccParser/hsparser.y" +{ yyval.uhpragma = mkiname_pragma_pr(yyvsp[-2].uid, yyvsp[0].uhpragma); ; break;} case 90: -#line 597 "yaccParser/hsparser.y" -{ yyval.uttype = mkty_maybe_just(yyvsp[0].uttype); ; +#line 610 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcolam(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; break;} case 91: -#line 601 "yaccParser/hsparser.y" -{ yyval.ulist = Lnil; ; +#line 612 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcotylam(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; break;} case 92: -#line 602 "yaccParser/hsparser.y" -{ yyval.ulist = yyvsp[0].ulist; ; +#line 614 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcocon(mkco_id(yyvsp[-2].uid), yyvsp[-1].ulist, yyvsp[0].ulist); ; break;} case 93: -#line 606 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uhpragma); ; +#line 616 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcocon(mkco_orig_id(yyvsp[-3].uid,yyvsp[-2].uid), yyvsp[-1].ulist, yyvsp[0].ulist); ; break;} case 94: -#line 607 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uhpragma); ; +#line 618 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoprim(yyvsp[-2].ucoresyn, yyvsp[-1].ulist, yyvsp[0].ulist); ; break;} case 95: -#line 612 "yaccParser/hsparser.y" -{ yyval.uhpragma = mkiname_pragma_pr(yyvsp[-2].uid, yyvsp[0].uhpragma); ; +#line 620 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoapp(yyvsp[-1].ucoresyn, yyvsp[0].ulist); ; break;} case 96: -#line 621 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcolam(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; +#line 622 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcotyapp(yyvsp[-3].ucoresyn, yyvsp[-1].uttype); ; break;} case 97: -#line 623 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcotylam(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; +#line 624 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcocase(yyvsp[-4].ucoresyn, yyvsp[-1].ucoresyn); ; break;} case 98: -#line 625 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcocon(mkco_id(yyvsp[-2].uid), yyvsp[-1].ulist, yyvsp[0].ulist); ; +#line 626 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcolet(mkcononrec(yyvsp[-5].ucoresyn, yyvsp[-3].ucoresyn), yyvsp[0].ucoresyn); ; break;} case 99: -#line 627 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcocon(mkco_orig_id(yyvsp[-3].uid,yyvsp[-2].uid), yyvsp[-1].ulist, yyvsp[0].ulist); ; +#line 628 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcolet(mkcorec(yyvsp[-3].ulist), yyvsp[0].ucoresyn); ; break;} case 100: -#line 629 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoprim(yyvsp[-2].ucoresyn, yyvsp[-1].ulist, yyvsp[0].ulist); ; +#line 630 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoscc(yyvsp[-2].ucoresyn, yyvsp[0].ucoresyn); ; break;} case 101: #line 631 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoapp(yyvsp[-1].ucoresyn, yyvsp[0].ulist); ; +{ yyval.ucoresyn = mkcoliteral(yyvsp[0].uliteral); ; break;} case 102: -#line 633 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcotyapp(yyvsp[-3].ucoresyn, yyvsp[-1].uttype); ; +#line 632 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcovar(yyvsp[0].ucoresyn); ; break;} case 103: -#line 635 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcocase(yyvsp[-4].ucoresyn, yyvsp[-1].ucoresyn); ; +#line 637 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoalg_alts(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; break;} case 104: -#line 637 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcolet(mkcononrec(yyvsp[-5].ucoresyn, yyvsp[-3].ucoresyn), yyvsp[0].ucoresyn); ; +#line 639 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoprim_alts(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; break;} case 105: -#line 639 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcolet(mkcorec(yyvsp[-3].ulist), yyvsp[0].ucoresyn); ; +#line 643 "yaccParser/hsparser.y" +{ yyval.ulist = Lnil; ; break;} case 106: -#line 641 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoscc(yyvsp[-2].ucoresyn, yyvsp[0].ucoresyn); ; +#line 644 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; break;} case 107: -#line 642 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoliteral(yyvsp[0].uliteral); ; +#line 648 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoalg_alt(yyvsp[-4].ucoresyn, yyvsp[-3].ulist, yyvsp[-1].ucoresyn); ; break;} case 108: -#line 643 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcovar(yyvsp[0].ucoresyn); ; +#line 653 "yaccParser/hsparser.y" +{ yyval.ulist = Lnil; ; break;} case 109: -#line 648 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoalg_alts(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; +#line 654 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; break;} case 110: -#line 650 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoprim_alts(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; +#line 658 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcoprim_alt(yyvsp[-3].uliteral, yyvsp[-1].ucoresyn); ; break;} case 111: -#line 654 "yaccParser/hsparser.y" -{ yyval.ulist = Lnil; ; +#line 662 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkconodeflt(); ; break;} case 112: -#line 655 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; +#line 663 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcobinddeflt(yyvsp[-2].ucoresyn, yyvsp[0].ucoresyn); ; break;} case 113: -#line 659 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoalg_alt(yyvsp[-4].ucoresyn, yyvsp[-3].ulist, yyvsp[-1].ucoresyn); ; +#line 667 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].ucoresyn); ; break;} case 114: -#line 664 "yaccParser/hsparser.y" -{ yyval.ulist = Lnil; ; +#line 668 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; break;} case 115: -#line 665 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; +#line 672 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkcorec_pair(yyvsp[-2].ucoresyn, yyvsp[0].ucoresyn); ; break;} case 116: -#line 669 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcoprim_alt(yyvsp[-3].uliteral, yyvsp[-1].ucoresyn); ; +#line 676 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_preludedictscc(yyvsp[0].ucoresyn); ; break;} case 117: -#line 673 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkconodeflt(); ; +#line 677 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_alldictscc(yyvsp[-2].uhstring,yyvsp[-1].uhstring,yyvsp[0].ucoresyn); ; break;} case 118: -#line 674 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcobinddeflt(yyvsp[-2].ucoresyn, yyvsp[0].ucoresyn); ; +#line 679 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_usercc(yyvsp[-4].uhstring,yyvsp[-3].uhstring,yyvsp[-2].uhstring,yyvsp[-1].ucoresyn,yyvsp[0].ucoresyn); ; break;} case 119: -#line 678 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].ucoresyn); ; +#line 681 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_autocc(yyvsp[-4].ucoresyn,yyvsp[-3].uhstring,yyvsp[-2].uhstring,yyvsp[-1].ucoresyn,yyvsp[0].ucoresyn); ; break;} case 120: -#line 679 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; +#line 683 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_dictcc(yyvsp[-4].ucoresyn,yyvsp[-3].uhstring,yyvsp[-2].uhstring,yyvsp[-1].ucoresyn,yyvsp[0].ucoresyn); ; break;} case 121: -#line 683 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkcorec_pair(yyvsp[-2].ucoresyn, yyvsp[0].ucoresyn); ; +#line 685 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_scc_noncaf(); ; break;} case 122: -#line 687 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_preludedictscc(yyvsp[0].ucoresyn); ; +#line 686 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_scc_caf(); ; break;} case 123: #line 688 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_alldictscc(yyvsp[-2].uhstring,yyvsp[-1].uhstring,yyvsp[0].ucoresyn); ; +{ yyval.ucoresyn = mkco_scc_nondupd(); ; break;} case 124: -#line 690 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_usercc(yyvsp[-4].uhstring,yyvsp[-3].uhstring,yyvsp[-2].uhstring,yyvsp[-1].ucoresyn,yyvsp[0].ucoresyn); ; +#line 689 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_scc_dupd(); ; break;} case 125: #line 692 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_autocc(yyvsp[-4].ucoresyn,yyvsp[-3].uhstring,yyvsp[-2].uhstring,yyvsp[-1].ucoresyn,yyvsp[0].ucoresyn); ; +{ yyval.ucoresyn = mkco_sdselid(yyvsp[-1].uid, yyvsp[0].uid); ; break;} case 126: -#line 694 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_dictcc(yyvsp[-4].ucoresyn,yyvsp[-3].uhstring,yyvsp[-2].uhstring,yyvsp[-1].ucoresyn,yyvsp[0].ucoresyn); ; +#line 693 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_classopid(yyvsp[-1].uid, yyvsp[0].uid); ; break;} case 127: -#line 696 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_scc_noncaf(); ; +#line 694 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_defmid(yyvsp[-1].uid, yyvsp[0].uid); ; break;} case 128: -#line 697 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_scc_caf(); ; +#line 696 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_dfunid(yyvsp[-3].uid, yyvsp[-1].uttype); ; break;} case 129: -#line 699 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_scc_nondupd(); ; +#line 698 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_constmid(yyvsp[-4].uid, yyvsp[-3].uid, yyvsp[-1].uttype); ; break;} case 130: #line 700 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_scc_dupd(); ; +{ yyval.ucoresyn = mkco_specid(yyvsp[-3].ucoresyn, yyvsp[-1].ulist); ; break;} case 131: -#line 703 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_sdselid(yyvsp[-1].uid, yyvsp[0].uid); ; +#line 701 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_wrkrid(yyvsp[0].ucoresyn); ; break;} case 132: -#line 704 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_classopid(yyvsp[-1].uid, yyvsp[0].uid); ; +#line 702 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_orig_id(yyvsp[-1].uid, yyvsp[0].uid); ; break;} case 133: -#line 705 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_defmid(yyvsp[-1].uid, yyvsp[0].uid); ; +#line 703 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_orig_id(yyvsp[-1].uid, yyvsp[0].uid); ; break;} case 134: -#line 707 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_dfunid(yyvsp[-3].uid, yyvsp[-1].uttype); ; +#line 704 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_id(yyvsp[0].uid); ; break;} case 135: -#line 709 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_constmid(yyvsp[-4].uid, yyvsp[-3].uid, yyvsp[-1].uttype); ; +#line 705 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_id(yyvsp[0].uid); ; break;} case 136: -#line 711 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_specid(yyvsp[-3].ucoresyn, yyvsp[-1].ulist); ; +#line 710 "yaccParser/hsparser.y" +{ yyval.ucoresyn = mkco_ccall(yyvsp[-5].uid,0,yyvsp[-3].ulist,yyvsp[-2].uttype); ; break;} case 137: #line 712 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_wrkrid(yyvsp[0].ucoresyn); ; +{ yyval.ucoresyn = mkco_ccall(yyvsp[-5].uid,1,yyvsp[-3].ulist,yyvsp[-2].uttype); ; break;} case 138: -#line 713 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_orig_id(yyvsp[-1].uid, yyvsp[0].uid); ; - break;} -case 139: #line 714 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_orig_id(yyvsp[-1].uid, yyvsp[0].uid); ; - break;} -case 140: -#line 715 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_id(yyvsp[0].uid); ; - break;} -case 141: -#line 716 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_id(yyvsp[0].uid); ; - break;} -case 142: -#line 721 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_ccall(yyvsp[-5].uid,0,yyvsp[-3].ulist,yyvsp[-2].uttype); ; - break;} -case 143: -#line 723 "yaccParser/hsparser.y" -{ yyval.ucoresyn = mkco_ccall(yyvsp[-5].uid,1,yyvsp[-3].ulist,yyvsp[-2].uttype); ; - break;} -case 144: -#line 725 "yaccParser/hsparser.y" { yyval.ucoresyn = mkco_casm(yyvsp[-5].uliteral,0,yyvsp[-3].ulist,yyvsp[-2].uttype); ; break;} -case 145: -#line 727 "yaccParser/hsparser.y" +case 139: +#line 716 "yaccParser/hsparser.y" { yyval.ucoresyn = mkco_casm(yyvsp[-5].uliteral,1,yyvsp[-3].ulist,yyvsp[-2].uttype); ; break;} -case 146: -#line 728 "yaccParser/hsparser.y" +case 140: +#line 717 "yaccParser/hsparser.y" { yyval.ucoresyn = mkco_primop(yyvsp[0].uid); ; break;} -case 147: -#line 732 "yaccParser/hsparser.y" +case 141: +#line 721 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} -case 148: -#line 733 "yaccParser/hsparser.y" +case 142: +#line 722 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].ucoresyn); ; break;} -case 149: -#line 737 "yaccParser/hsparser.y" +case 143: +#line 726 "yaccParser/hsparser.y" { yyval.ucoresyn = mkcobinder(yyvsp[-3].uid, yyvsp[-1].uttype); ; break;} -case 150: -#line 740 "yaccParser/hsparser.y" +case 144: +#line 729 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} -case 151: -#line 741 "yaccParser/hsparser.y" +case 145: +#line 730 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; ; break;} -case 152: -#line 745 "yaccParser/hsparser.y" +case 146: +#line 734 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].ucoresyn); ; break;} -case 153: -#line 746 "yaccParser/hsparser.y" +case 147: +#line 735 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].ucoresyn); ; break;} -case 154: -#line 750 "yaccParser/hsparser.y" +case 148: +#line 739 "yaccParser/hsparser.y" { yyval.ucoresyn = mkcolit(yyvsp[0].uliteral); ; break;} -case 155: -#line 751 "yaccParser/hsparser.y" +case 149: +#line 740 "yaccParser/hsparser.y" { yyval.ucoresyn = mkcolocal(yyvsp[0].ucoresyn); ; break;} -case 156: -#line 755 "yaccParser/hsparser.y" +case 150: +#line 744 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} -case 157: -#line 756 "yaccParser/hsparser.y" +case 151: +#line 745 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].uid); ; break;} -case 158: -#line 760 "yaccParser/hsparser.y" +case 152: +#line 749 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} -case 159: -#line 761 "yaccParser/hsparser.y" +case 153: +#line 750 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uid); ; break;} -case 160: -#line 765 "yaccParser/hsparser.y" +case 154: +#line 754 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} -case 161: -#line 766 "yaccParser/hsparser.y" +case 155: +#line 755 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; ; break;} -case 162: -#line 770 "yaccParser/hsparser.y" +case 156: +#line 759 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} -case 163: -#line 771 "yaccParser/hsparser.y" +case 157: +#line 760 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uttype); ; break;} -case 164: -#line 775 "yaccParser/hsparser.y" +case 158: +#line 764 "yaccParser/hsparser.y" { yyval.uttype = yyvsp[0].uttype; ; break;} -case 165: -#line 795 "yaccParser/hsparser.y" +case 159: +#line 784 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} -case 166: -#line 796 "yaccParser/hsparser.y" +case 160: +#line 785 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].uttype); ; break;} -case 167: -#line 800 "yaccParser/hsparser.y" +case 161: +#line 789 "yaccParser/hsparser.y" { yyval.uttype = mkty_maybe_nothing(); ; break;} -case 168: -#line 801 "yaccParser/hsparser.y" +case 162: +#line 790 "yaccParser/hsparser.y" { yyval.uttype = mkty_maybe_just(yyvsp[0].uttype); ; break;} -case 169: -#line 807 "yaccParser/hsparser.y" +case 163: +#line 796 "yaccParser/hsparser.y" { if ( implicitPrelude && !etags ) { /* we try to avoid reading interfaces when etagging */ @@ -2796,16 +2781,16 @@ case 169: enteriscope(); ; break;} -case 170: -#line 821 "yaccParser/hsparser.y" +case 164: +#line 810 "yaccParser/hsparser.y" { binding prelude_core = mkimport(installid(iface_name),Lnil,Lnil,yyvsp[0].ubinding,xstrdup(interface_filename),hsplineno); prelude_core_import = implicitPrelude? lsing(prelude_core): Lnil; ; break;} -case 171: -#line 829 "yaccParser/hsparser.y" +case 165: +#line 818 "yaccParser/hsparser.y" { if ( implicitPrelude && !etags ) { find_module_on_imports_dirlist( @@ -2819,32 +2804,32 @@ case 171: enteriscope(); ; break;} -case 172: -#line 842 "yaccParser/hsparser.y" +case 166: +#line 831 "yaccParser/hsparser.y" { binding prelude = mkimport(installid(iface_name),Lnil,Lnil,yyvsp[0].ubinding,xstrdup(interface_filename),hsplineno); prelude_imports = (! implicitPrelude) ? Lnil : lconc(prelude_core_import,lsing(prelude)); ; break;} -case 173: -#line 849 "yaccParser/hsparser.y" +case 167: +#line 838 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} -case 174: -#line 850 "yaccParser/hsparser.y" +case 168: +#line 839 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; ; break;} -case 175: -#line 853 "yaccParser/hsparser.y" +case 169: +#line 842 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[0].ulist; ; break;} -case 176: -#line 854 "yaccParser/hsparser.y" +case 170: +#line 843 "yaccParser/hsparser.y" { yyval.ulist = lconc(yyvsp[-2].ulist,yyvsp[0].ulist); ; break;} -case 177: -#line 858 "yaccParser/hsparser.y" +case 171: +#line 847 "yaccParser/hsparser.y" { /* filename returned in "interface_filename" */ char *module_name = id_to_string(yyvsp[0].uid); if ( ! etags ) { @@ -2866,81 +2851,81 @@ case 177: } ; break;} -case 178: -#line 879 "yaccParser/hsparser.y" +case 172: +#line 868 "yaccParser/hsparser.y" { if (hidden) yyvsp[0].ubinding->tag = hiding; yyval.ulist = lsing(yyvsp[0].ubinding); ; break;} -case 179: -#line 887 "yaccParser/hsparser.y" +case 173: +#line 876 "yaccParser/hsparser.y" { yyval.ubinding = mkimport(installid(iface_name),yyvsp[0].ulist,Lnil,yyvsp[-1].ubinding,xstrdup(interface_filename),hsplineno); ; break;} -case 180: -#line 890 "yaccParser/hsparser.y" +case 174: +#line 879 "yaccParser/hsparser.y" { yyval.ubinding = mkimport(installid(iface_name),yyvsp[-2].ulist,yyvsp[0].ulist,yyvsp[-3].ubinding,xstrdup(interface_filename),hsplineno); ; break;} -case 181: -#line 895 "yaccParser/hsparser.y" +case 175: +#line 884 "yaccParser/hsparser.y" { exposeis(); /* partain: expose infix ops at level i+1 to level i */ yyval.ubinding = yyvsp[-1].ubinding; ; break;} -case 182: -#line 901 "yaccParser/hsparser.y" +case 176: +#line 890 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[-1].ulist; ; break;} -case 183: -#line 905 "yaccParser/hsparser.y" +case 177: +#line 894 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].ulist); ; break;} -case 184: -#line 906 "yaccParser/hsparser.y" +case 178: +#line 895 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist, yyvsp[0].ulist); ; break;} -case 185: -#line 909 "yaccParser/hsparser.y" +case 179: +#line 898 "yaccParser/hsparser.y" { yyval.ulist = ldub(yyvsp[-2].uid,yyvsp[0].uid); ; break;} -case 186: -#line 910 "yaccParser/hsparser.y" +case 180: +#line 899 "yaccParser/hsparser.y" { yyval.ulist = ldub(yyvsp[-2].uid,yyvsp[0].uid); ; break;} -case 187: -#line 913 "yaccParser/hsparser.y" +case 181: +#line 902 "yaccParser/hsparser.y" { yyval.ubinding = mknullbind(); ; break;} -case 188: -#line 914 "yaccParser/hsparser.y" +case 182: +#line 903 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[-1].ubinding; ; break;} -case 189: -#line 917 "yaccParser/hsparser.y" +case 183: +#line 906 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 190: -#line 918 "yaccParser/hsparser.y" +case 184: +#line 907 "yaccParser/hsparser.y" { yyval.ubinding = mkabind(yyvsp[-2].ubinding,yyvsp[0].ubinding); ; break;} -case 191: -#line 922 "yaccParser/hsparser.y" +case 185: +#line 911 "yaccParser/hsparser.y" { yyval.ubinding = mkmbind(yyvsp[-3].uid,yyvsp[-1].ulist,Lnil,startlineno); ; break;} -case 192: -#line 924 "yaccParser/hsparser.y" +case 186: +#line 913 "yaccParser/hsparser.y" { yyval.ubinding = mkmbind(yyvsp[-5].uid,yyvsp[-3].ulist,yyvsp[0].ulist,startlineno); ; break;} -case 193: -#line 930 "yaccParser/hsparser.y" +case 187: +#line 919 "yaccParser/hsparser.y" { /* OLD 95/08: fixlist = Lnil; */ strcpy(iface_name, id_to_string(yyvsp[0].uid)); ; break;} -case 194: -#line 934 "yaccParser/hsparser.y" +case 188: +#line 923 "yaccParser/hsparser.y" { /* WDP: not only do we not check the module name but we take the one in the interface to be what we really want @@ -2951,64 +2936,64 @@ case 194: yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 195: -#line 947 "yaccParser/hsparser.y" +case 189: +#line 936 "yaccParser/hsparser.y" { yyval.ubinding = mkabind(yyvsp[-3].ubinding,yyvsp[-1].ubinding); ; break;} -case 196: -#line 951 "yaccParser/hsparser.y" +case 190: +#line 940 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[-1].ubinding; ; break;} -case 197: -#line 955 "yaccParser/hsparser.y" +case 191: +#line 944 "yaccParser/hsparser.y" { yyval.ubinding = mkabind(yyvsp[-3].ubinding,yyvsp[-1].ubinding); ; break;} -case 198: -#line 959 "yaccParser/hsparser.y" +case 192: +#line 948 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[-1].ubinding; ; break;} -case 203: -#line 974 "yaccParser/hsparser.y" +case 197: +#line 963 "yaccParser/hsparser.y" { Precedence = checkfixity(yyvsp[0].ustring); Fixity = INFIXL; ; break;} -case 205: -#line 977 "yaccParser/hsparser.y" +case 199: +#line 966 "yaccParser/hsparser.y" { Precedence = checkfixity(yyvsp[0].ustring); Fixity = INFIXR; ; break;} -case 207: -#line 980 "yaccParser/hsparser.y" +case 201: +#line 969 "yaccParser/hsparser.y" { Precedence = checkfixity(yyvsp[0].ustring); Fixity = INFIX; ; break;} -case 209: -#line 983 "yaccParser/hsparser.y" +case 203: +#line 972 "yaccParser/hsparser.y" { Fixity = INFIXL; Precedence = 9; ; break;} -case 211: -#line 986 "yaccParser/hsparser.y" +case 205: +#line 975 "yaccParser/hsparser.y" { Fixity = INFIXR; Precedence = 9; ; break;} -case 213: -#line 989 "yaccParser/hsparser.y" +case 207: +#line 978 "yaccParser/hsparser.y" { Fixity = INFIX; Precedence = 9; ; break;} -case 215: -#line 993 "yaccParser/hsparser.y" +case 209: +#line 982 "yaccParser/hsparser.y" { makeinfix(id_to_string(yyvsp[0].uid),Fixity,Precedence); ; break;} -case 216: -#line 994 "yaccParser/hsparser.y" +case 210: +#line 983 "yaccParser/hsparser.y" { makeinfix(id_to_string(yyvsp[0].uid),Fixity,Precedence); ; break;} -case 218: -#line 999 "yaccParser/hsparser.y" +case 212: +#line 988 "yaccParser/hsparser.y" { if(yyvsp[-2].ubinding != NULL) if(yyvsp[0].ubinding != NULL) @@ -3026,128 +3011,152 @@ case 218: SAMEFN = 0; ; break;} -case 219: -#line 1017 "yaccParser/hsparser.y" +case 213: +#line 1006 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 220: -#line 1018 "yaccParser/hsparser.y" +case 214: +#line 1007 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 221: -#line 1019 "yaccParser/hsparser.y" +case 215: +#line 1008 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 222: -#line 1020 "yaccParser/hsparser.y" +case 216: +#line 1009 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 223: -#line 1021 "yaccParser/hsparser.y" +case 217: +#line 1010 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 224: -#line 1022 "yaccParser/hsparser.y" +case 218: +#line 1011 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 225: -#line 1025 "yaccParser/hsparser.y" +case 219: +#line 1014 "yaccParser/hsparser.y" { yyval.ubinding = mknbind(yyvsp[-2].uttype,yyvsp[0].uttype,startlineno,mkno_pragma()); ; break;} -case 226: -#line 1030 "yaccParser/hsparser.y" +case 220: +#line 1019 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(yyvsp[-4].ulist,yyvsp[-2].uttype,yyvsp[0].ulist,all,startlineno,mkno_pragma()); ; break;} -case 227: -#line 1032 "yaccParser/hsparser.y" +case 221: +#line 1021 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(Lnil,yyvsp[-2].uttype,yyvsp[0].ulist,all,startlineno,mkno_pragma()); ; break;} +case 222: +#line 1023 "yaccParser/hsparser.y" +{ yyval.ubinding = mktbind(yyvsp[-6].ulist,yyvsp[-4].uttype,yyvsp[-2].ulist,yyvsp[0].ulist,startlineno,mkno_pragma()); ; + break;} +case 223: +#line 1025 "yaccParser/hsparser.y" +{ yyval.ubinding = mktbind(Lnil,yyvsp[-4].uttype,yyvsp[-2].ulist,yyvsp[0].ulist,startlineno,mkno_pragma()); ; + break;} +case 224: +#line 1028 "yaccParser/hsparser.y" +{ yyval.ubinding = mkcbind(yyvsp[-3].ulist,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; + break;} +case 225: +#line 1029 "yaccParser/hsparser.y" +{ yyval.ubinding = mkcbind(Lnil,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; + break;} +case 226: +#line 1032 "yaccParser/hsparser.y" +{ yyval.ubinding = mknullbind(); ; + break;} +case 227: +#line 1033 "yaccParser/hsparser.y" +{ checkorder(yyvsp[-1].ubinding); yyval.ubinding = yyvsp[-1].ubinding; ; + break;} case 228: #line 1034 "yaccParser/hsparser.y" -{ yyval.ubinding = mktbind(yyvsp[-6].ulist,yyvsp[-4].uttype,yyvsp[-2].ulist,yyvsp[0].ulist,startlineno,mkno_pragma()); ; +{ checkorder(yyvsp[-1].ubinding); yyval.ubinding =yyvsp[-1].ubinding; ; break;} case 229: -#line 1036 "yaccParser/hsparser.y" -{ yyval.ubinding = mktbind(Lnil,yyvsp[-4].uttype,yyvsp[-2].ulist,yyvsp[0].ulist,startlineno,mkno_pragma()); ; +#line 1037 "yaccParser/hsparser.y" +{ yyval.ubinding = mkibind(yyvsp[-4].ulist,yyvsp[-2].uid,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; break;} case 230: -#line 1039 "yaccParser/hsparser.y" -{ yyval.ubinding = mkcbind(yyvsp[-3].ulist,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; +#line 1038 "yaccParser/hsparser.y" +{ yyval.ubinding = mkibind(Lnil,yyvsp[-2].uid,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; break;} case 231: -#line 1040 "yaccParser/hsparser.y" -{ yyval.ubinding = mkcbind(Lnil,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; +#line 1041 "yaccParser/hsparser.y" +{ yyval.ubinding = mknullbind(); ; break;} case 232: -#line 1043 "yaccParser/hsparser.y" -{ yyval.ubinding = mknullbind(); ; +#line 1042 "yaccParser/hsparser.y" +{ yyval.ubinding = yyvsp[-1].ubinding; ; break;} case 233: -#line 1044 "yaccParser/hsparser.y" -{ checkorder(yyvsp[-1].ubinding); yyval.ubinding = yyvsp[-1].ubinding; ; +#line 1043 "yaccParser/hsparser.y" +{ yyval.ubinding = yyvsp[-1].ubinding; ; break;} case 234: -#line 1045 "yaccParser/hsparser.y" -{ checkorder(yyvsp[-1].ubinding); yyval.ubinding =yyvsp[-1].ubinding; ; +#line 1046 "yaccParser/hsparser.y" +{ yyval.uttype = mktname(yyvsp[0].uid,Lnil); ; break;} case 235: -#line 1048 "yaccParser/hsparser.y" -{ yyval.ubinding = mkibind(yyvsp[-4].ulist,yyvsp[-2].uid,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; +#line 1047 "yaccParser/hsparser.y" +{ yyval.uttype = mktname(yyvsp[-2].uid,yyvsp[-1].ulist); ; break;} case 236: -#line 1049 "yaccParser/hsparser.y" -{ yyval.ubinding = mkibind(Lnil,yyvsp[-2].uid,yyvsp[-1].uttype,yyvsp[0].ubinding,startlineno,mkno_pragma()); ; +#line 1048 "yaccParser/hsparser.y" +{ yyval.uttype = mkttuple(mklcons(yyvsp[-3].uttype,yyvsp[-1].ulist)); ; break;} case 237: -#line 1052 "yaccParser/hsparser.y" -{ yyval.ubinding = mknullbind(); ; +#line 1049 "yaccParser/hsparser.y" +{ yyval.uttype = mkttuple(Lnil); ; break;} case 238: -#line 1053 "yaccParser/hsparser.y" -{ yyval.ubinding = yyvsp[-1].ubinding; ; +#line 1050 "yaccParser/hsparser.y" +{ yyval.uttype = mktllist(yyvsp[-1].uttype); ; break;} case 239: -#line 1054 "yaccParser/hsparser.y" -{ yyval.ubinding = yyvsp[-1].ubinding; ; +#line 1051 "yaccParser/hsparser.y" +{ yyval.uttype = mktfun(yyvsp[-3].uttype,yyvsp[-1].uttype); ; break;} case 240: -#line 1057 "yaccParser/hsparser.y" +#line 1054 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[0].uid,Lnil); ; break;} case 241: -#line 1058 "yaccParser/hsparser.y" -{ yyval.uttype = yyvsp[-1].uttype; ; +#line 1055 "yaccParser/hsparser.y" +{ yyval.uttype = mktname(yyvsp[-2].uid,yyvsp[-1].ulist); ; break;} case 242: -#line 1060 "yaccParser/hsparser.y" -{ yyval.uttype = mkttuple(yyvsp[-1].ulist); ; +#line 1056 "yaccParser/hsparser.y" +{ yyval.uttype = mkttuple(mklcons(yyvsp[-3].uttype,yyvsp[-1].ulist)); ; break;} case 243: -#line 1061 "yaccParser/hsparser.y" +#line 1057 "yaccParser/hsparser.y" { yyval.uttype = mkttuple(Lnil); ; break;} case 244: -#line 1062 "yaccParser/hsparser.y" +#line 1058 "yaccParser/hsparser.y" { yyval.uttype = mktllist(yyvsp[-1].uttype); ; break;} case 245: -#line 1063 "yaccParser/hsparser.y" +#line 1059 "yaccParser/hsparser.y" { yyval.uttype = mktfun(yyvsp[-3].uttype,yyvsp[-1].uttype); ; break;} case 246: -#line 1066 "yaccParser/hsparser.y" +#line 1062 "yaccParser/hsparser.y" { yyval.ubinding = mkdbind(yyvsp[0].ulist,startlineno); ; break;} case 247: -#line 1069 "yaccParser/hsparser.y" +#line 1065 "yaccParser/hsparser.y" { yyval.ulist = mklcons(yyvsp[-3].uttype,yyvsp[-1].ulist); ; break;} case 248: -#line 1070 "yaccParser/hsparser.y" +#line 1066 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 250: -#line 1079 "yaccParser/hsparser.y" +#line 1075 "yaccParser/hsparser.y" { if(SAMEFN) { @@ -3159,350 +3168,346 @@ case 250: ; break;} case 251: -#line 1108 "yaccParser/hsparser.y" +#line 1104 "yaccParser/hsparser.y" { /* type2context.c for code */ yyval.ubinding = mksbind(yyvsp[-5].ulist,mkcontext(type2context(yyvsp[-3].uttype),yyvsp[-1].uttype),startlineno,yyvsp[0].uhpragma); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 252: -#line 1113 "yaccParser/hsparser.y" +#line 1109 "yaccParser/hsparser.y" { yyval.ubinding = mksbind(yyvsp[-3].ulist,yyvsp[-1].uttype,startlineno,yyvsp[0].uhpragma); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 253: -#line 1126 "yaccParser/hsparser.y" +#line 1122 "yaccParser/hsparser.y" { yyval.ubinding = mkvspec_uprag(yyvsp[-3].uid, yyvsp[-1].ulist, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 254: -#line 1132 "yaccParser/hsparser.y" +#line 1128 "yaccParser/hsparser.y" { yyval.ubinding = mkispec_uprag(yyvsp[-2].uid, yyvsp[-1].uttype, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 255: -#line 1138 "yaccParser/hsparser.y" +#line 1134 "yaccParser/hsparser.y" { yyval.ubinding = mkdspec_uprag(yyvsp[-2].uid, yyvsp[-1].ulist, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 256: -#line 1144 "yaccParser/hsparser.y" +#line 1140 "yaccParser/hsparser.y" { yyval.ubinding = mkinline_uprag(yyvsp[-2].uid, yyvsp[-1].ulist, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 257: -#line 1150 "yaccParser/hsparser.y" +#line 1146 "yaccParser/hsparser.y" { yyval.ubinding = mkmagicuf_uprag(yyvsp[-2].uid, yyvsp[-1].uid, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 258: -#line 1156 "yaccParser/hsparser.y" +#line 1152 "yaccParser/hsparser.y" { yyval.ubinding = mkdeforest_uprag(yyvsp[-1].uid, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 259: -#line 1162 "yaccParser/hsparser.y" +#line 1158 "yaccParser/hsparser.y" { yyval.ubinding = mkabstract_uprag(yyvsp[-1].uid, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 261: -#line 1170 "yaccParser/hsparser.y" +#line 1166 "yaccParser/hsparser.y" { yyval.ubinding = mknullbind(); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 262: -#line 1174 "yaccParser/hsparser.y" +#line 1170 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} case 263: -#line 1175 "yaccParser/hsparser.y" +#line 1171 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} case 264: -#line 1178 "yaccParser/hsparser.y" +#line 1174 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].ubinding); ; break;} case 265: -#line 1179 "yaccParser/hsparser.y" +#line 1175 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].ubinding); ; break;} case 266: -#line 1183 "yaccParser/hsparser.y" +#line 1179 "yaccParser/hsparser.y" { yyval.ubinding = mkvspec_ty_and_id(yyvsp[0].uttype,Lnil); ; break;} case 267: -#line 1184 "yaccParser/hsparser.y" +#line 1180 "yaccParser/hsparser.y" { yyval.ubinding = mkvspec_ty_and_id(yyvsp[-2].uttype,lsing(yyvsp[0].uid)); ; break;} case 268: -#line 1186 "yaccParser/hsparser.y" +#line 1182 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} case 269: -#line 1187 "yaccParser/hsparser.y" +#line 1183 "yaccParser/hsparser.y" { yyval.ubinding = mkabind(yyvsp[-2].ubinding,yyvsp[0].ubinding); ; break;} case 270: -#line 1190 "yaccParser/hsparser.y" +#line 1186 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} case 271: -#line 1191 "yaccParser/hsparser.y" +#line 1187 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} case 272: -#line 1192 "yaccParser/hsparser.y" +#line 1188 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} case 273: -#line 1193 "yaccParser/hsparser.y" +#line 1189 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} case 274: -#line 1194 "yaccParser/hsparser.y" +#line 1190 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} case 275: -#line 1195 "yaccParser/hsparser.y" +#line 1191 "yaccParser/hsparser.y" { yyval.ubinding = mknullbind(); ; break;} case 276: -#line 1200 "yaccParser/hsparser.y" +#line 1196 "yaccParser/hsparser.y" { yyval.ubinding = mksbind(yyvsp[-5].ulist,mkcontext(type2context(yyvsp[-3].uttype),yyvsp[-1].uttype),startlineno,yyvsp[0].uhpragma); ; break;} case 277: -#line 1202 "yaccParser/hsparser.y" +#line 1198 "yaccParser/hsparser.y" { yyval.ubinding = mksbind(yyvsp[-3].ulist,yyvsp[-1].uttype,startlineno,yyvsp[0].uhpragma); ; break;} case 278: -#line 1206 "yaccParser/hsparser.y" +#line 1202 "yaccParser/hsparser.y" { yyval.ubinding = mknbind(yyvsp[-3].uttype,yyvsp[-1].uttype,startlineno,yyvsp[0].uhpragma); ; break;} case 279: -#line 1210 "yaccParser/hsparser.y" +#line 1206 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(yyvsp[-3].ulist,yyvsp[-1].uttype,Lnil,Lnil,startlineno,yyvsp[0].uhpragma); ; break;} case 280: -#line 1212 "yaccParser/hsparser.y" +#line 1208 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(Lnil,yyvsp[-1].uttype,Lnil,Lnil,startlineno,yyvsp[0].uhpragma); ; break;} case 281: -#line 1214 "yaccParser/hsparser.y" +#line 1210 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(yyvsp[-5].ulist,yyvsp[-3].uttype,yyvsp[-1].ulist,Lnil,startlineno,yyvsp[0].uhpragma); ; break;} case 282: -#line 1216 "yaccParser/hsparser.y" +#line 1212 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(Lnil,yyvsp[-3].uttype,yyvsp[-1].ulist,Lnil,startlineno,yyvsp[0].uhpragma); ; break;} case 283: -#line 1218 "yaccParser/hsparser.y" +#line 1214 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(yyvsp[-6].ulist,yyvsp[-4].uttype,yyvsp[-2].ulist,yyvsp[0].ulist,startlineno,mkno_pragma()); ; break;} case 284: -#line 1220 "yaccParser/hsparser.y" +#line 1216 "yaccParser/hsparser.y" { yyval.ubinding = mktbind(Lnil,yyvsp[-4].uttype,yyvsp[-2].ulist,yyvsp[0].ulist,startlineno,mkno_pragma()); ; break;} case 285: -#line 1224 "yaccParser/hsparser.y" +#line 1220 "yaccParser/hsparser.y" { yyval.ubinding = mkcbind(yyvsp[-4].ulist,yyvsp[-2].uttype,yyvsp[0].ubinding,startlineno,yyvsp[-1].uhpragma); ; break;} case 286: -#line 1226 "yaccParser/hsparser.y" +#line 1222 "yaccParser/hsparser.y" { yyval.ubinding = mkcbind(Lnil,yyvsp[-2].uttype,yyvsp[0].ubinding,startlineno,yyvsp[-1].uhpragma); ; break;} case 287: -#line 1230 "yaccParser/hsparser.y" +#line 1226 "yaccParser/hsparser.y" { yyval.ubinding = mkibind(yyvsp[-4].ulist,yyvsp[-2].uid,yyvsp[-1].uttype,mknullbind(),startlineno,yyvsp[0].uhpragma); ; break;} case 288: -#line 1232 "yaccParser/hsparser.y" +#line 1228 "yaccParser/hsparser.y" { yyval.ubinding = mkibind(Lnil,yyvsp[-2].uid,yyvsp[-1].uttype,mknullbind(),startlineno,yyvsp[0].uhpragma); ; break;} case 289: -#line 1238 "yaccParser/hsparser.y" +#line 1234 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[-1].uid,lsing(yyvsp[0].uttype)); ; break;} case 290: -#line 1242 "yaccParser/hsparser.y" +#line 1238 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 291: -#line 1243 "yaccParser/hsparser.y" +#line 1239 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uttype); ; break;} case 292: -#line 1246 "yaccParser/hsparser.y" +#line 1242 "yaccParser/hsparser.y" { yyval.uttype = yyvsp[0].uttype; ; break;} case 293: -#line 1247 "yaccParser/hsparser.y" +#line 1243 "yaccParser/hsparser.y" { yyval.uttype = mktfun(yyvsp[-2].uttype,yyvsp[0].uttype); ; break;} case 294: -#line 1250 "yaccParser/hsparser.y" +#line 1246 "yaccParser/hsparser.y" { yyval.uttype = mkuniforall(yyvsp[-2].ulist, yyvsp[0].uttype); ; break;} case 295: -#line 1252 "yaccParser/hsparser.y" +#line 1248 "yaccParser/hsparser.y" { yyval.uttype = yyvsp[0].uttype; ; break;} case 296: -#line 1253 "yaccParser/hsparser.y" +#line 1249 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[-1].uid,yyvsp[0].ulist); ; break;} case 297: -#line 1256 "yaccParser/hsparser.y" +#line 1252 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-1].ulist,yyvsp[0].uttype); ; break;} case 298: -#line 1257 "yaccParser/hsparser.y" +#line 1253 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 299: -#line 1261 "yaccParser/hsparser.y" +#line 1257 "yaccParser/hsparser.y" { yyval.uttype = yyvsp[0].uttype; ; break;} case 300: -#line 1262 "yaccParser/hsparser.y" +#line 1258 "yaccParser/hsparser.y" { yyval.uttype = mktfun(yyvsp[-2].uttype,yyvsp[0].uttype); ; break;} case 301: -#line 1263 "yaccParser/hsparser.y" +#line 1259 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[-1].uid,yyvsp[0].ulist); ; break;} case 303: -#line 1267 "yaccParser/hsparser.y" +#line 1263 "yaccParser/hsparser.y" { yyval.uttype = mkttuple(mklcons(yyvsp[-3].uttype,yyvsp[-1].ulist)); ; break;} case 304: -#line 1270 "yaccParser/hsparser.y" +#line 1266 "yaccParser/hsparser.y" { yyval.uttype = yyvsp[0].uttype; ; break;} case 305: -#line 1271 "yaccParser/hsparser.y" +#line 1267 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[0].uid,Lnil); ; break;} case 306: -#line 1272 "yaccParser/hsparser.y" +#line 1268 "yaccParser/hsparser.y" { yyval.uttype = mkttuple(Lnil); ; break;} case 307: -#line 1273 "yaccParser/hsparser.y" +#line 1269 "yaccParser/hsparser.y" { yyval.uttype = yyvsp[-1].uttype; ; break;} case 308: -#line 1274 "yaccParser/hsparser.y" +#line 1270 "yaccParser/hsparser.y" { yyval.uttype = mktllist(yyvsp[-1].uttype); ; break;} case 309: -#line 1277 "yaccParser/hsparser.y" +#line 1273 "yaccParser/hsparser.y" { yyval.uttype = mkunidict(yyvsp[-3].uid, yyvsp[-2].uttype); ; break;} case 310: -#line 1278 "yaccParser/hsparser.y" +#line 1274 "yaccParser/hsparser.y" { yyval.uttype = mkunityvartemplate(yyvsp[0].uid); ; break;} case 311: -#line 1282 "yaccParser/hsparser.y" +#line 1278 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[0].uid,Lnil); ; break;} case 312: -#line 1283 "yaccParser/hsparser.y" +#line 1279 "yaccParser/hsparser.y" { yyval.uttype = mktname(yyvsp[-1].uid,yyvsp[0].ulist); ; break;} case 313: -#line 1287 "yaccParser/hsparser.y" -{ yyval.uttype = mktname(yyvsp[-1].uid,yyvsp[0].ulist); ; +#line 1282 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uatype); ; break;} case 314: -#line 1293 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uatype); ; +#line 1283 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uatype); ; break;} case 315: -#line 1294 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uatype); ; +#line 1287 "yaccParser/hsparser.y" +{ yyval.uatype = mkatc(yyvsp[-1].uid,yyvsp[0].ulist,hsplineno); ; break;} case 316: -#line 1298 "yaccParser/hsparser.y" -{ yyval.uatype = mkatc(yyvsp[-1].uid,yyvsp[0].ulist,hsplineno); ; +#line 1288 "yaccParser/hsparser.y" +{ yyval.uatype = mkatc(yyvsp[-2].uid,yyvsp[0].ulist,hsplineno); ; break;} case 317: -#line 1299 "yaccParser/hsparser.y" -{ yyval.uatype = mkatc(yyvsp[-2].uid,yyvsp[0].ulist,hsplineno); ; +#line 1289 "yaccParser/hsparser.y" +{ yyval.uatype = mkatc(yyvsp[0].uid,Lnil,hsplineno); ; break;} case 318: -#line 1300 "yaccParser/hsparser.y" -{ yyval.uatype = mkatc(yyvsp[0].uid,Lnil,hsplineno); ; +#line 1290 "yaccParser/hsparser.y" +{ yyval.uatype = mkatc(yyvsp[-1].uid,Lnil,hsplineno); ; break;} case 319: -#line 1301 "yaccParser/hsparser.y" -{ yyval.uatype = mkatc(yyvsp[-1].uid,Lnil,hsplineno); ; +#line 1291 "yaccParser/hsparser.y" +{ yyval.uatype = mkatc(yyvsp[-1].uid, ldub(yyvsp[-2].uttype,yyvsp[0].uttype),hsplineno); ; break;} case 320: -#line 1302 "yaccParser/hsparser.y" -{ yyval.uatype = mkatc(yyvsp[-1].uid, ldub(yyvsp[-2].uttype,yyvsp[0].uttype),hsplineno); ; +#line 1294 "yaccParser/hsparser.y" +{ yyval.ulist = yyvsp[-1].ulist; ; break;} case 321: -#line 1305 "yaccParser/hsparser.y" -{ yyval.ulist = yyvsp[-1].ulist; ; +#line 1295 "yaccParser/hsparser.y" +{ yyval.ulist = Lnil; ; break;} case 322: -#line 1306 "yaccParser/hsparser.y" -{ yyval.ulist = Lnil; ; +#line 1296 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uid); ; break;} case 323: -#line 1307 "yaccParser/hsparser.y" +#line 1299 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} case 324: -#line 1310 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uid); ; +#line 1300 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uid); ; break;} case 325: -#line 1311 "yaccParser/hsparser.y" -{ yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uid); ; +#line 1303 "yaccParser/hsparser.y" +{ yyval.ulist = yyvsp[-1].ulist; ; break;} case 326: -#line 1314 "yaccParser/hsparser.y" -{ yyval.ulist = yyvsp[-1].ulist; ; +#line 1304 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 327: -#line 1315 "yaccParser/hsparser.y" +#line 1307 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 328: -#line 1318 "yaccParser/hsparser.y" -{ yyval.ulist = lsing(yyvsp[0].uttype); ; - break;} -case 329: -#line 1319 "yaccParser/hsparser.y" +#line 1308 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uttype); ; break;} -case 330: -#line 1322 "yaccParser/hsparser.y" +case 329: +#line 1311 "yaccParser/hsparser.y" { yyval.ubinding = mknullbind(); ; break;} -case 331: -#line 1323 "yaccParser/hsparser.y" +case 330: +#line 1312 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[0].ubinding; ; break;} -case 332: -#line 1325 "yaccParser/hsparser.y" +case 331: +#line 1314 "yaccParser/hsparser.y" { if(SAMEFN) { @@ -3513,46 +3518,53 @@ case 332: yyval.ubinding = mkabind(yyvsp[-2].ubinding,yyvsp[0].ubinding); ; break;} +case 332: +#line 1328 "yaccParser/hsparser.y" +{ + yyval.ubinding = mkvspec_uprag(yyvsp[-3].uid, yyvsp[-1].ulist, startlineno); + PREVPATT = NULL; FN = NULL; SAMEFN = 0; + ; + break;} case 333: -#line 1339 "yaccParser/hsparser.y" +#line 1334 "yaccParser/hsparser.y" { yyval.ubinding = mkinline_uprag(yyvsp[-2].uid, yyvsp[-1].ulist, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 334: -#line 1345 "yaccParser/hsparser.y" +#line 1340 "yaccParser/hsparser.y" { yyval.ubinding = mkmagicuf_uprag(yyvsp[-2].uid, yyvsp[-1].uid, startlineno); PREVPATT = NULL; FN = NULL; SAMEFN = 0; ; break;} case 336: -#line 1354 "yaccParser/hsparser.y" +#line 1349 "yaccParser/hsparser.y" { yyval.ulist = mklcons(yyvsp[-2].uid,yyvsp[0].ulist); ; break;} case 337: -#line 1355 "yaccParser/hsparser.y" +#line 1350 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} case 338: -#line 1359 "yaccParser/hsparser.y" +#line 1353 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} case 339: -#line 1360 "yaccParser/hsparser.y" +#line 1354 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uid); ; break;} case 340: -#line 1363 "yaccParser/hsparser.y" +#line 1357 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uid); ; break;} case 341: -#line 1364 "yaccParser/hsparser.y" +#line 1358 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uid); ; break;} case 342: -#line 1369 "yaccParser/hsparser.y" +#line 1363 "yaccParser/hsparser.y" { tree fn = function(yyvsp[0].utree); @@ -3579,7 +3591,7 @@ case 342: ; break;} case 343: -#line 1394 "yaccParser/hsparser.y" +#line 1388 "yaccParser/hsparser.y" { if ( lhs_is_patt(yyvsp[-2].utree) ) { @@ -3594,63 +3606,63 @@ case 343: ; break;} case 344: -#line 1408 "yaccParser/hsparser.y" +#line 1402 "yaccParser/hsparser.y" { yyval.ulist = lsing(createpat(yyvsp[-1].ulist, yyvsp[0].ubinding)); ; break;} case 346: -#line 1412 "yaccParser/hsparser.y" +#line 1406 "yaccParser/hsparser.y" { yyval.ulist = lsing(mktruecase(yyvsp[0].utree)); ; break;} case 347: -#line 1415 "yaccParser/hsparser.y" +#line 1409 "yaccParser/hsparser.y" { yyval.ulist = lsing(ldub(yyvsp[-2].utree,yyvsp[0].utree)); ; break;} case 348: -#line 1416 "yaccParser/hsparser.y" +#line 1410 "yaccParser/hsparser.y" { yyval.ulist = mklcons(ldub(yyvsp[-3].utree,yyvsp[-1].utree),yyvsp[0].ulist); ; break;} case 349: -#line 1420 "yaccParser/hsparser.y" +#line 1414 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[-1].ubinding; ; break;} case 350: -#line 1421 "yaccParser/hsparser.y" +#line 1415 "yaccParser/hsparser.y" { yyval.ubinding = yyvsp[-1].ubinding; ; break;} case 351: -#line 1422 "yaccParser/hsparser.y" +#line 1416 "yaccParser/hsparser.y" { yyval.ubinding = mknullbind(); ; break;} case 352: -#line 1425 "yaccParser/hsparser.y" +#line 1419 "yaccParser/hsparser.y" { yyval.utree = yyvsp[0].utree; ; break;} case 353: -#line 1429 "yaccParser/hsparser.y" +#line 1423 "yaccParser/hsparser.y" { yyval.ulist = mklcons(yyvsp[-1].utree,yyvsp[0].ulist); ; break;} case 354: -#line 1430 "yaccParser/hsparser.y" +#line 1424 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].utree); ; break;} case 355: -#line 1439 "yaccParser/hsparser.y" +#line 1434 "yaccParser/hsparser.y" { yyval.utree = mkrestr(yyvsp[-4].utree,mkcontext(type2context(yyvsp[-2].uttype),yyvsp[0].uttype)); ; break;} case 356: -#line 1440 "yaccParser/hsparser.y" +#line 1435 "yaccParser/hsparser.y" { yyval.utree = mkrestr(yyvsp[-2].utree,yyvsp[0].uttype); ; break;} case 359: -#line 1452 "yaccParser/hsparser.y" +#line 1447 "yaccParser/hsparser.y" { yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree); precparse(yyval.utree); ; break;} case 360: -#line 1461 "yaccParser/hsparser.y" +#line 1456 "yaccParser/hsparser.y" { yyval.utree = mknegate(yyvsp[0].utree); ; break;} case 362: -#line 1470 "yaccParser/hsparser.y" +#line 1465 "yaccParser/hsparser.y" { /* enteriscope(); /? I don't understand this -- KH */ hsincindent(); /* added by partain; push new context for */ /* FN = NULL; not actually concerned about */ @@ -3659,71 +3671,71 @@ case 362: ; break;} case 363: -#line 1477 "yaccParser/hsparser.y" +#line 1472 "yaccParser/hsparser.y" { hsendindent(); /* added by partain */ /* exitiscope(); /? Also not understood */ ; break;} case 364: -#line 1481 "yaccParser/hsparser.y" +#line 1476 "yaccParser/hsparser.y" { yyval.utree = mklambda(yyvsp[-3].ulist, yyvsp[0].utree, yyvsp[-4].uint); ; break;} case 365: -#line 1486 "yaccParser/hsparser.y" +#line 1481 "yaccParser/hsparser.y" { yyval.utree = mklet(yyvsp[-3].ubinding,yyvsp[0].utree); ; break;} case 366: -#line 1487 "yaccParser/hsparser.y" +#line 1482 "yaccParser/hsparser.y" { yyval.utree = mklet(yyvsp[-3].ubinding,yyvsp[0].utree); ; break;} case 367: -#line 1490 "yaccParser/hsparser.y" +#line 1485 "yaccParser/hsparser.y" { yyval.utree = mkife(yyvsp[-4].utree,yyvsp[-2].utree,yyvsp[0].utree); ; break;} case 368: -#line 1493 "yaccParser/hsparser.y" +#line 1488 "yaccParser/hsparser.y" { yyval.utree = mkcasee(yyvsp[-4].utree,yyvsp[-1].ulist); ; break;} case 369: -#line 1494 "yaccParser/hsparser.y" +#line 1489 "yaccParser/hsparser.y" { yyval.utree = mkcasee(yyvsp[-4].utree,yyvsp[-1].ulist); ; break;} case 370: -#line 1497 "yaccParser/hsparser.y" +#line 1492 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[-1].uid,installid("n"),yyvsp[0].ulist); ; break;} case 371: -#line 1498 "yaccParser/hsparser.y" +#line 1493 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[0].uid,installid("n"),Lnil); ; break;} case 372: -#line 1499 "yaccParser/hsparser.y" +#line 1494 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[-1].uid,installid("p"),yyvsp[0].ulist); ; break;} case 373: -#line 1500 "yaccParser/hsparser.y" +#line 1495 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[0].uid,installid("p"),Lnil); ; break;} case 374: -#line 1501 "yaccParser/hsparser.y" +#line 1496 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[-1].ustring,installid("N"),yyvsp[0].ulist); ; break;} case 375: -#line 1502 "yaccParser/hsparser.y" +#line 1497 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[0].ustring,installid("N"),Lnil); ; break;} case 376: -#line 1503 "yaccParser/hsparser.y" +#line 1498 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[-1].ustring,installid("P"),yyvsp[0].ulist); ; break;} case 377: -#line 1504 "yaccParser/hsparser.y" +#line 1499 "yaccParser/hsparser.y" { yyval.utree = mkccall(yyvsp[0].ustring,installid("P"),Lnil); ; break;} case 378: -#line 1508 "yaccParser/hsparser.y" +#line 1503 "yaccParser/hsparser.y" { if (ignoreSCC) { if (warnSCC) fprintf(stderr, @@ -3736,67 +3748,67 @@ case 378: ; break;} case 380: -#line 1523 "yaccParser/hsparser.y" +#line 1518 "yaccParser/hsparser.y" { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ; break;} case 382: -#line 1527 "yaccParser/hsparser.y" +#line 1522 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-1].ulist,yyvsp[0].utree); ; break;} case 383: -#line 1528 "yaccParser/hsparser.y" +#line 1523 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].utree); ; break;} case 384: -#line 1538 "yaccParser/hsparser.y" +#line 1533 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 385: -#line 1539 "yaccParser/hsparser.y" +#line 1534 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 386: -#line 1540 "yaccParser/hsparser.y" +#line 1535 "yaccParser/hsparser.y" { yyval.utree = mklit(yyvsp[0].uliteral); ; break;} case 387: -#line 1541 "yaccParser/hsparser.y" +#line 1536 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[-1].utree); ; break;} case 388: -#line 1542 "yaccParser/hsparser.y" +#line 1537 "yaccParser/hsparser.y" { checkprec(yyvsp[-2].utree,yyvsp[-1].uid,FALSE); yyval.utree = mklsection(yyvsp[-2].utree,yyvsp[-1].uid); ; break;} case 389: -#line 1543 "yaccParser/hsparser.y" +#line 1538 "yaccParser/hsparser.y" { checkprec(yyvsp[-1].utree,yyvsp[-2].uid,TRUE); yyval.utree = mkrsection(yyvsp[-2].uid,yyvsp[-1].utree); ; break;} case 391: -#line 1547 "yaccParser/hsparser.y" +#line 1542 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[0].utree); ; break;} case 392: -#line 1548 "yaccParser/hsparser.y" +#line 1543 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[0].utree); ; break;} case 393: -#line 1549 "yaccParser/hsparser.y" +#line 1544 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[0].utree); ; break;} case 394: -#line 1552 "yaccParser/hsparser.y" +#line 1547 "yaccParser/hsparser.y" { checkinpat(); yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ; break;} case 395: -#line 1553 "yaccParser/hsparser.y" +#line 1548 "yaccParser/hsparser.y" { checkinpat(); yyval.utree = mkwildp(); ; break;} case 396: -#line 1554 "yaccParser/hsparser.y" +#line 1549 "yaccParser/hsparser.y" { checkinpat(); yyval.utree = mklazyp(yyvsp[0].utree); ; break;} case 398: -#line 1569 "yaccParser/hsparser.y" +#line 1564 "yaccParser/hsparser.y" { yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree); @@ -3810,7 +3822,7 @@ case 398: ; break;} case 400: -#line 1584 "yaccParser/hsparser.y" +#line 1579 "yaccParser/hsparser.y" { yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree); @@ -3824,119 +3836,119 @@ case 400: ; break;} case 401: -#line 1603 "yaccParser/hsparser.y" +#line 1598 "yaccParser/hsparser.y" { yyval.utree = mknegate(yyvsp[0].utree); ; break;} case 403: -#line 1608 "yaccParser/hsparser.y" +#line 1603 "yaccParser/hsparser.y" { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ; break;} case 405: -#line 1612 "yaccParser/hsparser.y" +#line 1607 "yaccParser/hsparser.y" { yyval.utree = mknegate(yyvsp[0].utree); ; break;} case 407: -#line 1617 "yaccParser/hsparser.y" +#line 1612 "yaccParser/hsparser.y" { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ; break;} case 409: -#line 1621 "yaccParser/hsparser.y" +#line 1616 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 410: -#line 1622 "yaccParser/hsparser.y" +#line 1617 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 411: -#line 1623 "yaccParser/hsparser.y" +#line 1618 "yaccParser/hsparser.y" { yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ; break;} case 412: -#line 1624 "yaccParser/hsparser.y" +#line 1619 "yaccParser/hsparser.y" { yyval.utree = mklit(yyvsp[0].uliteral); ; break;} case 413: -#line 1625 "yaccParser/hsparser.y" +#line 1620 "yaccParser/hsparser.y" { yyval.utree = mkwildp(); ; break;} case 414: -#line 1626 "yaccParser/hsparser.y" +#line 1621 "yaccParser/hsparser.y" { yyval.utree = mktuple(Lnil); ; break;} case 415: -#line 1627 "yaccParser/hsparser.y" +#line 1622 "yaccParser/hsparser.y" { yyval.utree = mkplusp(mkident(yyvsp[-3].uid),mkinteger(yyvsp[-1].ustring)); ; break;} case 416: -#line 1631 "yaccParser/hsparser.y" +#line 1626 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[-1].utree); ; break;} case 417: -#line 1632 "yaccParser/hsparser.y" +#line 1627 "yaccParser/hsparser.y" { yyval.utree = mktuple(mklcons(yyvsp[-3].utree,yyvsp[-1].ulist)); ; break;} case 418: -#line 1633 "yaccParser/hsparser.y" +#line 1628 "yaccParser/hsparser.y" { yyval.utree = mkllist(yyvsp[-1].ulist); ; break;} case 419: -#line 1634 "yaccParser/hsparser.y" +#line 1629 "yaccParser/hsparser.y" { yyval.utree = mkllist(Lnil); ; break;} case 420: -#line 1635 "yaccParser/hsparser.y" +#line 1630 "yaccParser/hsparser.y" { yyval.utree = mklazyp(yyvsp[0].utree); ; break;} case 421: -#line 1638 "yaccParser/hsparser.y" +#line 1633 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 422: -#line 1639 "yaccParser/hsparser.y" +#line 1634 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 423: -#line 1640 "yaccParser/hsparser.y" +#line 1635 "yaccParser/hsparser.y" { yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ; break;} case 424: -#line 1641 "yaccParser/hsparser.y" +#line 1636 "yaccParser/hsparser.y" { yyval.utree = mklit(yyvsp[0].uliteral); setstartlineno(); ; break;} case 425: -#line 1642 "yaccParser/hsparser.y" +#line 1637 "yaccParser/hsparser.y" { yyval.utree = mkwildp(); setstartlineno(); ; break;} case 426: -#line 1643 "yaccParser/hsparser.y" +#line 1638 "yaccParser/hsparser.y" { yyval.utree = mktuple(Lnil); ; break;} case 427: -#line 1644 "yaccParser/hsparser.y" +#line 1639 "yaccParser/hsparser.y" { yyval.utree = mkplusp(mkident(yyvsp[-3].uid),mkinteger(yyvsp[-1].ustring)); ; break;} case 428: -#line 1648 "yaccParser/hsparser.y" +#line 1643 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[-1].utree); ; break;} case 429: -#line 1649 "yaccParser/hsparser.y" +#line 1644 "yaccParser/hsparser.y" { yyval.utree = mktuple(mklcons(yyvsp[-3].utree,yyvsp[-1].ulist)); ; break;} case 430: -#line 1650 "yaccParser/hsparser.y" +#line 1645 "yaccParser/hsparser.y" { yyval.utree = mkllist(yyvsp[-1].ulist); ; break;} case 431: -#line 1651 "yaccParser/hsparser.y" +#line 1646 "yaccParser/hsparser.y" { yyval.utree = mkllist(Lnil); ; break;} case 432: -#line 1652 "yaccParser/hsparser.y" +#line 1647 "yaccParser/hsparser.y" { yyval.utree = mklazyp(yyvsp[0].utree); ; break;} case 433: -#line 1657 "yaccParser/hsparser.y" +#line 1652 "yaccParser/hsparser.y" { if (ttree(yyvsp[-1].utree) == tuple) yyval.utree = mktuple(mklcons(yyvsp[-3].utree, gtuplelist((struct Stuple *) yyvsp[-1].utree))); else @@ -3944,15 +3956,15 @@ case 433: ; break;} case 434: -#line 1663 "yaccParser/hsparser.y" +#line 1658 "yaccParser/hsparser.y" { yyval.utree = mktuple(Lnil); ; break;} case 435: -#line 1671 "yaccParser/hsparser.y" +#line 1666 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[0].utree); ; break;} case 436: -#line 1673 "yaccParser/hsparser.y" +#line 1668 "yaccParser/hsparser.y" { if (ttree(yyvsp[0].utree) == tuple) yyval.utree = mktuple(mklcons(yyvsp[-2].utree, gtuplelist((struct Stuple *) yyvsp[0].utree))); else @@ -3960,51 +3972,51 @@ case 436: ; break;} case 437: -#line 1682 "yaccParser/hsparser.y" +#line 1677 "yaccParser/hsparser.y" { yyval.utree = mkllist(Lnil); ; break;} case 438: -#line 1683 "yaccParser/hsparser.y" +#line 1678 "yaccParser/hsparser.y" { yyval.utree = mkllist(yyvsp[-1].ulist); ; break;} case 439: -#line 1687 "yaccParser/hsparser.y" +#line 1682 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].utree); ; break;} case 440: -#line 1688 "yaccParser/hsparser.y" +#line 1683 "yaccParser/hsparser.y" { yyval.ulist = mklcons(yyvsp[-2].utree, yyvsp[0].ulist); ; break;} case 441: -#line 1703 "yaccParser/hsparser.y" +#line 1698 "yaccParser/hsparser.y" {yyval.utree = mkeenum(yyvsp[-5].utree,lsing(yyvsp[-3].utree),yyvsp[-1].ulist);; break;} case 442: -#line 1704 "yaccParser/hsparser.y" +#line 1699 "yaccParser/hsparser.y" { yyval.utree = mkeenum(yyvsp[-3].utree,Lnil,yyvsp[-1].ulist); ; break;} case 443: -#line 1707 "yaccParser/hsparser.y" +#line 1702 "yaccParser/hsparser.y" { yyval.utree = mkcomprh(yyvsp[-3].utree,yyvsp[-1].ulist); ; break;} case 444: -#line 1710 "yaccParser/hsparser.y" +#line 1705 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].utree); ; break;} case 445: -#line 1711 "yaccParser/hsparser.y" +#line 1706 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].utree); ; break;} case 446: -#line 1714 "yaccParser/hsparser.y" +#line 1709 "yaccParser/hsparser.y" { inpat = TRUE; ; break;} case 447: -#line 1714 "yaccParser/hsparser.y" +#line 1709 "yaccParser/hsparser.y" { inpat = FALSE; ; break;} case 448: -#line 1715 "yaccParser/hsparser.y" +#line 1710 "yaccParser/hsparser.y" { if (yyvsp[0].utree == NULL) { patternOrExpr(/*wanted:*/ LEGIT_EXPR,yyvsp[-2].utree); yyval.utree = mkguard(yyvsp[-2].utree); @@ -4025,197 +4037,197 @@ case 448: ; break;} case 449: -#line 1735 "yaccParser/hsparser.y" +#line 1730 "yaccParser/hsparser.y" { yyval.utree = yyvsp[0].utree; ; break;} case 450: -#line 1736 "yaccParser/hsparser.y" +#line 1731 "yaccParser/hsparser.y" { yyval.utree = NULL; ; break;} case 451: -#line 1739 "yaccParser/hsparser.y" +#line 1734 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[0].ulist; ; break;} case 452: -#line 1740 "yaccParser/hsparser.y" +#line 1735 "yaccParser/hsparser.y" { yyval.ulist = lconc(yyvsp[-2].ulist,yyvsp[0].ulist); ; break;} case 453: -#line 1744 "yaccParser/hsparser.y" +#line 1739 "yaccParser/hsparser.y" { PREVPATT = yyvsp[0].utree; ; break;} case 454: -#line 1746 "yaccParser/hsparser.y" +#line 1741 "yaccParser/hsparser.y" { yyval.ulist = yyvsp[0].ulist; PREVPATT = NULL; ; break;} case 455: -#line 1749 "yaccParser/hsparser.y" +#line 1744 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} case 456: -#line 1752 "yaccParser/hsparser.y" +#line 1747 "yaccParser/hsparser.y" { yyval.ulist = lsing(createpat(yyvsp[-1].ulist, yyvsp[0].ubinding)); ; break;} case 457: -#line 1753 "yaccParser/hsparser.y" +#line 1748 "yaccParser/hsparser.y" { yyval.ulist = lsing(createpat(lsing(mktruecase(yyvsp[-1].utree)), yyvsp[0].ubinding)); ; break;} case 458: -#line 1756 "yaccParser/hsparser.y" +#line 1751 "yaccParser/hsparser.y" { yyval.ulist = mklcons(ldub(yyvsp[-3].utree,yyvsp[-1].utree),yyvsp[0].ulist); ; break;} case 459: -#line 1757 "yaccParser/hsparser.y" +#line 1752 "yaccParser/hsparser.y" { yyval.ulist = lsing(ldub(yyvsp[-2].utree,yyvsp[0].utree)); ; break;} case 460: -#line 1760 "yaccParser/hsparser.y" +#line 1755 "yaccParser/hsparser.y" { yyval.ulist = Lnil; ; break;} case 461: -#line 1761 "yaccParser/hsparser.y" +#line 1756 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].utree); ; break;} case 462: -#line 1764 "yaccParser/hsparser.y" +#line 1759 "yaccParser/hsparser.y" { yyval.ulist = mklcons(yyvsp[-2].utree, yyvsp[0].ulist); ; break;} case 463: -#line 1765 "yaccParser/hsparser.y" +#line 1760 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].utree); ; break;} case 465: -#line 1770 "yaccParser/hsparser.y" +#line 1765 "yaccParser/hsparser.y" { yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree); precparse(yyval.utree); ; break;} case 468: -#line 1775 "yaccParser/hsparser.y" +#line 1770 "yaccParser/hsparser.y" { yyval.utree = mklit(mkinteger(ineg(yyvsp[0].ustring))); ; break;} case 469: -#line 1776 "yaccParser/hsparser.y" +#line 1771 "yaccParser/hsparser.y" { yyval.utree = mklit(mkfloatr(ineg(yyvsp[0].ustring))); ; break;} case 470: -#line 1779 "yaccParser/hsparser.y" +#line 1774 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 471: -#line 1780 "yaccParser/hsparser.y" +#line 1775 "yaccParser/hsparser.y" { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ; break;} case 472: -#line 1783 "yaccParser/hsparser.y" +#line 1778 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 474: -#line 1787 "yaccParser/hsparser.y" +#line 1782 "yaccParser/hsparser.y" { yyval.utree = mkident(yyvsp[0].uid); ; break;} case 475: -#line 1788 "yaccParser/hsparser.y" +#line 1783 "yaccParser/hsparser.y" { yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ; break;} case 476: -#line 1789 "yaccParser/hsparser.y" +#line 1784 "yaccParser/hsparser.y" { yyval.utree = mklit(yyvsp[0].uliteral); ; break;} case 477: -#line 1790 "yaccParser/hsparser.y" +#line 1785 "yaccParser/hsparser.y" { yyval.utree = mkwildp(); ; break;} case 478: -#line 1791 "yaccParser/hsparser.y" +#line 1786 "yaccParser/hsparser.y" { yyval.utree = mktuple(Lnil); ; break;} case 479: -#line 1792 "yaccParser/hsparser.y" +#line 1787 "yaccParser/hsparser.y" { yyval.utree = mkplusp(mkident(yyvsp[-3].uid),mkinteger(yyvsp[-1].ustring)); ; break;} case 480: -#line 1796 "yaccParser/hsparser.y" +#line 1791 "yaccParser/hsparser.y" { yyval.utree = mkpar(yyvsp[-1].utree); ; break;} case 481: -#line 1797 "yaccParser/hsparser.y" +#line 1792 "yaccParser/hsparser.y" { yyval.utree = mktuple(mklcons(yyvsp[-3].utree,yyvsp[-1].ulist)); ; break;} case 482: -#line 1798 "yaccParser/hsparser.y" +#line 1793 "yaccParser/hsparser.y" { yyval.utree = mkllist(yyvsp[-1].ulist); ; break;} case 483: -#line 1799 "yaccParser/hsparser.y" +#line 1794 "yaccParser/hsparser.y" { yyval.utree = mkllist(Lnil); ; break;} case 484: -#line 1800 "yaccParser/hsparser.y" +#line 1795 "yaccParser/hsparser.y" { yyval.utree = mklazyp(yyvsp[0].utree); ; break;} case 485: -#line 1804 "yaccParser/hsparser.y" +#line 1799 "yaccParser/hsparser.y" { yyval.uliteral = mkinteger(yyvsp[0].ustring); ; break;} case 486: -#line 1805 "yaccParser/hsparser.y" +#line 1800 "yaccParser/hsparser.y" { yyval.uliteral = mkfloatr(yyvsp[0].ustring); ; break;} case 487: -#line 1806 "yaccParser/hsparser.y" +#line 1801 "yaccParser/hsparser.y" { yyval.uliteral = mkcharr(yyvsp[0].uhstring); ; break;} case 488: -#line 1807 "yaccParser/hsparser.y" +#line 1802 "yaccParser/hsparser.y" { yyval.uliteral = mkstring(yyvsp[0].uhstring); ; break;} case 489: -#line 1808 "yaccParser/hsparser.y" +#line 1803 "yaccParser/hsparser.y" { yyval.uliteral = mkcharprim(yyvsp[0].uhstring); ; break;} case 490: -#line 1809 "yaccParser/hsparser.y" +#line 1804 "yaccParser/hsparser.y" { yyval.uliteral = mkstringprim(yyvsp[0].uhstring); ; break;} case 491: -#line 1810 "yaccParser/hsparser.y" +#line 1805 "yaccParser/hsparser.y" { yyval.uliteral = mkintprim(yyvsp[0].ustring); ; break;} case 492: -#line 1811 "yaccParser/hsparser.y" +#line 1806 "yaccParser/hsparser.y" { yyval.uliteral = mkfloatprim(yyvsp[0].ustring); ; break;} case 493: -#line 1812 "yaccParser/hsparser.y" +#line 1807 "yaccParser/hsparser.y" { yyval.uliteral = mkdoubleprim(yyvsp[0].ustring); ; break;} case 494: -#line 1813 "yaccParser/hsparser.y" +#line 1808 "yaccParser/hsparser.y" { yyval.uliteral = mkclitlit(yyvsp[0].ustring, ""); ; break;} case 495: -#line 1814 "yaccParser/hsparser.y" +#line 1809 "yaccParser/hsparser.y" { yyval.uliteral = mkclitlit(yyvsp[-2].ustring, yyvsp[0].uid); ; break;} case 496: -#line 1815 "yaccParser/hsparser.y" +#line 1810 "yaccParser/hsparser.y" { yyval.uliteral = mknorepi(yyvsp[0].ustring); ; break;} case 497: -#line 1816 "yaccParser/hsparser.y" +#line 1811 "yaccParser/hsparser.y" { yyval.uliteral = mknorepr(yyvsp[-1].ustring, yyvsp[0].ustring); ; break;} case 498: -#line 1817 "yaccParser/hsparser.y" +#line 1812 "yaccParser/hsparser.y" { yyval.uliteral = mknoreps(yyvsp[0].uhstring); ; break;} case 499: -#line 1823 "yaccParser/hsparser.y" +#line 1818 "yaccParser/hsparser.y" { setstartlineno(); ; break;} case 500: -#line 1826 "yaccParser/hsparser.y" +#line 1821 "yaccParser/hsparser.y" { setstartlineno(); if(etags) #if 1/*etags*/ @@ -4226,7 +4238,7 @@ case 500: ; break;} case 501: -#line 1836 "yaccParser/hsparser.y" +#line 1831 "yaccParser/hsparser.y" { setstartlineno(); if(etags) #if 1/*etags*/ @@ -4237,7 +4249,7 @@ case 501: ; break;} case 502: -#line 1846 "yaccParser/hsparser.y" +#line 1841 "yaccParser/hsparser.y" { setstartlineno(); #if 1/*etags*/ /* OUT: if(etags) @@ -4249,11 +4261,11 @@ case 502: ; break;} case 503: -#line 1857 "yaccParser/hsparser.y" +#line 1852 "yaccParser/hsparser.y" { setstartlineno(); ; break;} case 504: -#line 1860 "yaccParser/hsparser.y" +#line 1855 "yaccParser/hsparser.y" { setstartlineno(); if(etags) #if 1/*etags*/ @@ -4264,11 +4276,11 @@ case 504: ; break;} case 505: -#line 1870 "yaccParser/hsparser.y" +#line 1865 "yaccParser/hsparser.y" { setstartlineno(); ; break;} case 506: -#line 1873 "yaccParser/hsparser.y" +#line 1868 "yaccParser/hsparser.y" { setstartlineno(); if(etags) #if 1/*etags*/ @@ -4279,117 +4291,117 @@ case 506: ; break;} case 507: -#line 1883 "yaccParser/hsparser.y" +#line 1878 "yaccParser/hsparser.y" { setstartlineno(); ; break;} case 508: -#line 1886 "yaccParser/hsparser.y" +#line 1881 "yaccParser/hsparser.y" { setstartlineno(); ; break;} case 509: -#line 1889 "yaccParser/hsparser.y" +#line 1884 "yaccParser/hsparser.y" { setstartlineno(); ; break;} case 515: -#line 1904 "yaccParser/hsparser.y" +#line 1899 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 518: -#line 1910 "yaccParser/hsparser.y" +#line 1905 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 520: -#line 1914 "yaccParser/hsparser.y" +#line 1909 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 524: -#line 1922 "yaccParser/hsparser.y" +#line 1917 "yaccParser/hsparser.y" { yyval.uid = install_literal("-"); ; break;} case 525: -#line 1925 "yaccParser/hsparser.y" +#line 1920 "yaccParser/hsparser.y" { yyval.uid = install_literal("+"); ; break;} case 527: -#line 1929 "yaccParser/hsparser.y" +#line 1924 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 528: -#line 1932 "yaccParser/hsparser.y" +#line 1927 "yaccParser/hsparser.y" { setstartlineno(); yyval.uid = yyvsp[0].uid; ; break;} case 529: -#line 1933 "yaccParser/hsparser.y" +#line 1928 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 531: -#line 1938 "yaccParser/hsparser.y" +#line 1933 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 532: -#line 1941 "yaccParser/hsparser.y" +#line 1936 "yaccParser/hsparser.y" { setstartlineno(); yyval.uid = yyvsp[0].uid; ; break;} case 533: -#line 1942 "yaccParser/hsparser.y" +#line 1937 "yaccParser/hsparser.y" { yyval.uid = yyvsp[-1].uid; ; break;} case 536: -#line 1950 "yaccParser/hsparser.y" -{ yyval.ulist = mklcons(yyvsp[-2].uttype,lsing(yyvsp[0].uttype)); ; +#line 1944 "yaccParser/hsparser.y" +{ yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 537: -#line 1951 "yaccParser/hsparser.y" -{ yyval.ulist = mklcons(yyvsp[-2].uttype,yyvsp[0].ulist); ; +#line 1945 "yaccParser/hsparser.y" +{ yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].uttype); ; break;} case 538: -#line 1955 "yaccParser/hsparser.y" +#line 1948 "yaccParser/hsparser.y" { yyval.ulist = lsing(yyvsp[0].uttype); ; break;} case 539: -#line 1956 "yaccParser/hsparser.y" +#line 1949 "yaccParser/hsparser.y" { yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].uttype); ; break;} case 540: -#line 1959 "yaccParser/hsparser.y" +#line 1952 "yaccParser/hsparser.y" { yyval.uttype = mknamedtvar(yyvsp[0].uid); ; break;} case 544: -#line 1975 "yaccParser/hsparser.y" +#line 1968 "yaccParser/hsparser.y" { hsincindent(); ; break;} case 545: -#line 1977 "yaccParser/hsparser.y" +#line 1970 "yaccParser/hsparser.y" { hssetindent(); ; break;} case 546: -#line 1980 "yaccParser/hsparser.y" +#line 1973 "yaccParser/hsparser.y" { hsindentoff(); ; break;} case 547: -#line 1985 "yaccParser/hsparser.y" +#line 1978 "yaccParser/hsparser.y" { FN = NULL; SAMEFN = 0; PREVPATT = NULL; hsendindent(); ; break;} case 548: -#line 1991 "yaccParser/hsparser.y" +#line 1984 "yaccParser/hsparser.y" { expect_ccurly = 1; ; break;} case 549: -#line 1991 "yaccParser/hsparser.y" +#line 1984 "yaccParser/hsparser.y" { expect_ccurly = 0; ; break;} case 550: -#line 1996 "yaccParser/hsparser.y" +#line 1989 "yaccParser/hsparser.y" { FN = NULL; SAMEFN = 0; PREVPATT = NULL; hsendindent(); ; break;} case 551: -#line 2001 "yaccParser/hsparser.y" +#line 1994 "yaccParser/hsparser.y" { yyerrok; FN = NULL; SAMEFN = 0; PREVPATT = NULL; @@ -4594,7 +4606,7 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 2008 "yaccParser/hsparser.y" +#line 2001 "yaccParser/hsparser.y" /**********************************************************************