diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-11-02 01:46:26 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-11-02 01:46:26 -0700 |
commit | c3bcf315fa71e2dd20d719a192f4dac3c25e8895 (patch) | |
tree | e8b0579ef78e912fd52ada9b501d9ef921391281 /gcc/objc | |
parent | 336b436af56bf1082c50897581fef100f92ad23d (diff) | |
download | gcc-c3bcf315fa71e2dd20d719a192f4dac3c25e8895.zip gcc-c3bcf315fa71e2dd20d719a192f4dac3c25e8895.tar.gz gcc-c3bcf315fa71e2dd20d719a192f4dac3c25e8895.tar.bz2 |
This commit was generated by cvs2svn to compensate for changes in r16274,
which included commits to RCS files with non-trunk default branches.
From-SVN: r16275
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/objc-parse.c | 3500 | ||||
-rw-r--r-- | gcc/objc/objc-parse.y | 41 |
2 files changed, 1778 insertions, 1763 deletions
diff --git a/gcc/objc/objc-parse.c b/gcc/objc/objc-parse.c index 6a04682..9c80c87 100644 --- a/gcc/objc/objc-parse.c +++ b/gcc/objc/objc-parse.c @@ -66,11 +66,12 @@ #line 33 "objc-parse.y" +#include "config.h" + #include <stdio.h> #include <errno.h> #include <setjmp.h> -#include "config.h" #include "tree.h" #include "input.h" #include "c-lex.h" @@ -100,14 +101,16 @@ void yyerror (); /* Cause the `yydebug' variable to be defined. */ #define YYDEBUG 1 -#line 71 "objc-parse.y" +#line 72 "objc-parse.y" typedef union {long itype; tree ttype; enum tree_code code; char *filename; int lineno; int ends_in_label; } YYSTYPE; -#line 198 "objc-parse.y" +#line 199 "objc-parse.y" -/* Number of statements (loosely speaking) seen so far. */ +/* Number of statements (loosely speaking) and compound statements + seen so far. */ static int stmt_count; - +static int compstmt_count; + /* Input file and line number of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ static char *if_stmt_file; @@ -166,11 +169,11 @@ typedef -#define YYFINAL 940 +#define YYFINAL 941 #define YYFLAG -32768 #define YYNTBASE 84 -#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 305) +#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 306) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -240,37 +243,37 @@ static const short yyprhs[] = { 0, 873, 875, 879, 882, 885, 886, 888, 890, 893, 894, 897, 901, 905, 908, 912, 917, 921, 924, 928, 931, 933, 935, 938, 941, 942, 944, 947, 948, 949, 951, - 953, 956, 960, 962, 965, 968, 975, 981, 987, 990, - 993, 998, 999, 1004, 1005, 1006, 1010, 1015, 1019, 1021, - 1023, 1025, 1027, 1030, 1031, 1036, 1038, 1042, 1043, 1044, - 1052, 1058, 1061, 1062, 1063, 1064, 1077, 1078, 1085, 1088, - 1091, 1094, 1098, 1105, 1114, 1125, 1138, 1142, 1147, 1149, - 1151, 1152, 1159, 1163, 1169, 1172, 1175, 1176, 1178, 1179, - 1181, 1182, 1184, 1186, 1190, 1195, 1197, 1201, 1202, 1205, - 1208, 1209, 1214, 1217, 1218, 1220, 1222, 1226, 1228, 1232, - 1237, 1242, 1247, 1252, 1257, 1258, 1261, 1263, 1266, 1268, - 1272, 1274, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, - 1294, 1298, 1302, 1307, 1308, 1309, 1320, 1321, 1328, 1329, - 1330, 1343, 1344, 1353, 1354, 1361, 1364, 1365, 1374, 1379, - 1380, 1390, 1396, 1397, 1404, 1405, 1407, 1411, 1415, 1417, - 1419, 1421, 1423, 1424, 1428, 1431, 1435, 1439, 1441, 1442, - 1444, 1448, 1450, 1454, 1457, 1458, 1459, 1460, 1468, 1469, - 1470, 1471, 1479, 1480, 1481, 1484, 1486, 1488, 1491, 1492, - 1496, 1498, 1500, 1501, 1502, 1508, 1509, 1510, 1516, 1521, - 1523, 1529, 1532, 1533, 1536, 1537, 1539, 1541, 1543, 1546, - 1549, 1554, 1557, 1560, 1562, 1566, 1569, 1572, 1575, 1576, - 1579, 1580, 1584, 1586, 1588, 1591, 1593, 1595, 1597, 1599, + 953, 956, 960, 962, 965, 967, 970, 977, 983, 989, + 992, 995, 1000, 1001, 1006, 1007, 1008, 1012, 1017, 1021, + 1023, 1025, 1027, 1029, 1032, 1033, 1038, 1040, 1044, 1045, + 1046, 1054, 1060, 1063, 1064, 1065, 1066, 1079, 1080, 1087, + 1090, 1093, 1096, 1100, 1107, 1116, 1127, 1140, 1144, 1149, + 1151, 1153, 1154, 1161, 1165, 1171, 1174, 1177, 1178, 1180, + 1181, 1183, 1184, 1186, 1188, 1192, 1197, 1199, 1203, 1204, + 1207, 1210, 1211, 1216, 1219, 1220, 1222, 1224, 1228, 1230, + 1234, 1239, 1244, 1249, 1254, 1259, 1260, 1263, 1265, 1268, + 1270, 1274, 1276, 1280, 1282, 1284, 1286, 1288, 1290, 1292, + 1294, 1296, 1300, 1304, 1309, 1310, 1311, 1322, 1323, 1330, + 1331, 1332, 1345, 1346, 1355, 1356, 1363, 1366, 1367, 1376, + 1381, 1382, 1392, 1398, 1399, 1406, 1407, 1409, 1413, 1417, + 1419, 1421, 1423, 1425, 1426, 1430, 1433, 1437, 1441, 1443, + 1444, 1446, 1450, 1452, 1456, 1459, 1460, 1461, 1462, 1470, + 1471, 1472, 1473, 1481, 1482, 1483, 1486, 1488, 1490, 1493, + 1494, 1498, 1500, 1502, 1503, 1504, 1510, 1511, 1512, 1518, + 1523, 1525, 1531, 1534, 1535, 1538, 1539, 1541, 1543, 1545, + 1548, 1551, 1556, 1559, 1562, 1564, 1568, 1571, 1574, 1577, + 1578, 1581, 1582, 1586, 1588, 1590, 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 1615, 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1631, 1633, 1635, 1637, 1639, - 1641, 1648, 1652, 1658, 1661, 1663, 1665, 1667, 1670, 1672, - 1676, 1679, 1681, 1683, 1684, 1685, 1692, 1694, 1696, 1698, - 1701, 1704, 1706, 1711, 1716 + 1641, 1643, 1650, 1654, 1660, 1663, 1665, 1667, 1669, 1672, + 1674, 1678, 1681, 1683, 1685, 1686, 1687, 1694, 1696, 1698, + 1700, 1703, 1706, 1708, 1713, 1718 }; static const short yyrhs[] = { -1, 85, 0, 0, 86, 88, 0, 0, 85, 87, 88, - 0, 90, 0, 89, 0, 236, 0, 27, 59, 99, - 76, 77, 0, 235, 88, 0, 123, 137, 77, 0, + 0, 90, 0, 89, 0, 237, 0, 27, 59, 99, + 76, 77, 0, 236, 88, 0, 123, 137, 77, 0, 130, 123, 137, 77, 0, 126, 123, 136, 77, 0, 130, 77, 0, 126, 77, 0, 1, 77, 0, 1, 78, 0, 77, 0, 0, 0, 126, 123, 163, 91, @@ -281,7 +284,7 @@ static const short yyrhs[] = { -1, 0, 72, 0, 67, 0, 43, 0, 49, 0, 48, 0, 54, 0, 55, 0, 79, 0, 80, 0, 101, 0, 0, 101, 0, 107, 0, 101, 81, 107, 0, - 113, 0, 50, 105, 0, 235, 105, 0, 98, 105, + 113, 0, 50, 105, 0, 236, 105, 0, 98, 105, 0, 40, 97, 0, 103, 102, 0, 103, 59, 181, 76, 0, 104, 102, 0, 104, 59, 181, 76, 0, 33, 105, 0, 34, 105, 0, 11, 0, 29, 0, @@ -297,27 +300,27 @@ static const short yyrhs[] = { -1, 37, 112, 38, 107, 0, 107, 36, 107, 0, 107, 35, 107, 0, 3, 0, 8, 0, 115, 0, 59, 99, 76, 0, 59, 1, 76, 0, 0, 59, 114, - 195, 76, 0, 113, 59, 100, 76, 0, 113, 60, + 196, 76, 0, 113, 59, 100, 76, 0, 113, 60, 99, 83, 0, 113, 58, 97, 0, 113, 57, 97, - 0, 113, 54, 0, 113, 55, 0, 296, 0, 302, - 0, 303, 0, 304, 0, 116, 0, 9, 0, 115, + 0, 113, 54, 0, 113, 55, 0, 297, 0, 303, + 0, 304, 0, 305, 0, 116, 0, 9, 0, 115, 9, 0, 75, 0, 116, 75, 0, 0, 119, 0, - 119, 10, 0, 200, 201, 120, 0, 118, 0, 189, + 119, 10, 0, 201, 202, 120, 0, 118, 0, 189, 0, 119, 118, 0, 118, 189, 0, 128, 123, 136, 77, 0, 131, 123, 137, 77, 0, 128, 77, 0, - 131, 77, 0, 200, 201, 125, 0, 121, 0, 189, + 131, 77, 0, 201, 202, 125, 0, 121, 0, 189, 0, 122, 121, 0, 121, 189, 0, 0, 0, 126, 123, 136, 77, 0, 130, 123, 137, 77, 0, 126, 123, 157, 0, 130, 123, 160, 0, 126, 77, 0, - 130, 77, 0, 235, 125, 0, 134, 127, 0, 130, + 130, 77, 0, 236, 125, 0, 134, 127, 0, 130, 134, 127, 0, 0, 127, 135, 0, 127, 5, 0, 127, 144, 0, 134, 129, 0, 131, 134, 129, 0, 0, 129, 135, 0, 129, 5, 0, 131, 0, 144, 0, 130, 131, 0, 130, 144, 0, 7, 0, 5, 0, 131, 7, 0, 131, 5, 0, 134, 133, 0, 183, 134, 133, 0, 0, 133, 135, 0, 6, 0, - 167, 0, 4, 0, 67, 252, 0, 72, 252, 0, - 253, 0, 28, 59, 99, 76, 0, 28, 59, 181, + 167, 0, 4, 0, 67, 253, 0, 72, 253, 0, + 254, 0, 28, 59, 99, 76, 0, 28, 59, 181, 76, 0, 6, 0, 7, 0, 167, 0, 139, 0, 136, 81, 139, 0, 141, 0, 137, 81, 139, 0, 0, 27, 59, 115, 76, 0, 0, 163, 138, 143, @@ -332,14 +335,14 @@ static const short yyrhs[] = { -1, 152, 172, 0, 153, 0, 152, 81, 153, 0, 107, 0, 0, 82, 154, 151, 78, 0, 1, 0, 0, 97, 38, 155, 153, 0, 0, 58, 97, 36, 156, - 153, 0, 0, 0, 163, 158, 117, 159, 195, 0, - 0, 0, 166, 161, 117, 162, 195, 0, 164, 0, - 166, 0, 59, 164, 76, 0, 164, 59, 230, 0, + 153, 0, 0, 0, 163, 158, 117, 159, 196, 0, + 0, 0, 166, 161, 117, 162, 196, 0, 164, 0, + 166, 0, 59, 164, 76, 0, 164, 59, 231, 0, 164, 60, 99, 83, 0, 164, 60, 83, 0, 50, 184, 164, 0, 144, 124, 164, 0, 4, 0, 72, - 0, 165, 59, 230, 0, 165, 60, 99, 83, 0, + 0, 165, 59, 231, 0, 165, 60, 99, 83, 0, 165, 60, 83, 0, 50, 184, 165, 0, 144, 124, - 165, 0, 4, 0, 166, 59, 230, 0, 59, 166, + 165, 0, 4, 0, 166, 59, 231, 0, 59, 166, 76, 0, 50, 184, 166, 0, 166, 60, 99, 83, 0, 166, 60, 83, 0, 144, 124, 166, 0, 3, 0, 0, 13, 97, 82, 168, 174, 78, 143, 0, @@ -351,157 +354,158 @@ static const short yyrhs[] = { -1, 81, 0, 0, 81, 0, 175, 0, 175, 176, 0, 0, 175, 176, 77, 0, 175, 77, 0, 65, 59, 67, 76, 0, 132, 123, 177, 0, 132, 0, 183, - 123, 177, 0, 183, 0, 1, 0, 235, 176, 0, - 178, 0, 177, 81, 178, 0, 200, 201, 163, 143, - 0, 200, 201, 163, 38, 107, 143, 0, 200, 201, + 123, 177, 0, 183, 0, 1, 0, 236, 176, 0, + 178, 0, 177, 81, 178, 0, 201, 202, 163, 143, + 0, 201, 202, 163, 38, 107, 143, 0, 201, 202, 38, 107, 143, 0, 180, 0, 179, 81, 180, 0, 1, 0, 97, 0, 97, 36, 107, 0, 132, 182, 0, 183, 182, 0, 0, 185, 0, 7, 0, 183, 7, 0, 0, 184, 7, 0, 59, 185, 76, 0, - 50, 184, 185, 0, 50, 184, 0, 185, 59, 223, + 50, 184, 185, 0, 50, 184, 0, 185, 59, 224, 0, 185, 60, 99, 83, 0, 185, 60, 83, 0, - 59, 223, 0, 60, 99, 83, 0, 60, 83, 0, - 187, 0, 203, 0, 187, 203, 0, 187, 189, 0, + 59, 224, 0, 60, 99, 83, 0, 60, 83, 0, + 187, 0, 204, 0, 187, 204, 0, 187, 189, 0, 0, 186, 0, 1, 77, 0, 0, 0, 192, 0, - 193, 0, 192, 193, 0, 32, 234, 77, 0, 195, - 0, 1, 195, 0, 82, 78, 0, 82, 190, 191, - 122, 188, 78, 0, 82, 190, 191, 1, 78, 0, - 82, 190, 191, 186, 78, 0, 197, 202, 0, 197, - 1, 0, 15, 59, 99, 76, 0, 0, 18, 199, - 202, 17, 0, 0, 0, 200, 201, 205, 0, 200, - 201, 216, 202, 0, 200, 201, 204, 0, 205, 0, - 216, 0, 195, 0, 213, 0, 99, 77, 0, 0, - 196, 16, 206, 202, 0, 196, 0, 196, 16, 1, - 0, 0, 0, 17, 207, 59, 99, 76, 208, 202, - 0, 198, 59, 99, 76, 77, 0, 198, 1, 0, - 0, 0, 0, 19, 59, 218, 77, 209, 218, 77, - 210, 218, 76, 211, 202, 0, 0, 20, 59, 99, - 76, 212, 202, 0, 23, 77, 0, 24, 77, 0, - 25, 77, 0, 25, 99, 77, 0, 27, 217, 59, - 99, 76, 77, 0, 27, 217, 59, 99, 38, 219, - 76, 77, 0, 27, 217, 59, 99, 38, 219, 38, - 219, 76, 77, 0, 27, 217, 59, 99, 38, 219, - 38, 219, 38, 222, 76, 77, 0, 26, 97, 77, - 0, 26, 50, 99, 77, 0, 77, 0, 214, 0, - 0, 19, 59, 113, 76, 215, 202, 0, 21, 107, - 38, 0, 21, 107, 10, 107, 38, 0, 22, 38, - 0, 97, 38, 0, 0, 7, 0, 0, 99, 0, - 0, 220, 0, 221, 0, 220, 81, 221, 0, 9, - 59, 99, 76, 0, 115, 0, 222, 81, 115, 0, - 0, 224, 225, 0, 227, 76, 0, 0, 228, 77, - 226, 225, 0, 1, 76, 0, 0, 10, 0, 228, - 0, 228, 81, 10, 0, 229, 0, 228, 81, 229, - 0, 126, 123, 165, 143, 0, 126, 123, 166, 143, - 0, 126, 123, 182, 143, 0, 130, 123, 166, 143, - 0, 130, 123, 182, 143, 0, 0, 231, 232, 0, - 225, 0, 233, 76, 0, 3, 0, 233, 81, 3, - 0, 97, 0, 234, 81, 97, 0, 31, 0, 240, - 0, 238, 0, 239, 0, 250, 0, 260, 0, 63, - 0, 97, 0, 237, 81, 97, 0, 73, 237, 77, - 0, 74, 97, 97, 77, 0, 0, 0, 61, 97, - 252, 82, 241, 254, 78, 242, 267, 63, 0, 0, - 61, 97, 252, 243, 267, 63, 0, 0, 0, 61, - 97, 38, 97, 252, 82, 244, 254, 78, 245, 267, - 63, 0, 0, 61, 97, 38, 97, 252, 246, 267, - 63, 0, 0, 62, 97, 82, 247, 254, 78, 0, - 62, 97, 0, 0, 62, 97, 38, 97, 82, 248, - 254, 78, 0, 62, 97, 38, 97, 0, 0, 61, - 97, 59, 97, 76, 252, 249, 267, 63, 0, 62, - 97, 59, 97, 76, 0, 0, 71, 97, 252, 251, - 267, 63, 0, 0, 253, 0, 45, 237, 45, 0, - 254, 255, 256, 0, 256, 0, 69, 0, 70, 0, - 68, 0, 0, 256, 257, 77, 0, 256, 77, 0, - 132, 123, 258, 0, 183, 123, 258, 0, 1, 0, - 0, 259, 0, 258, 81, 259, 0, 163, 0, 163, - 38, 107, 0, 38, 107, 0, 0, 0, 0, 48, - 261, 277, 262, 278, 263, 194, 0, 0, 0, 0, - 49, 264, 277, 265, 278, 266, 194, 0, 0, 0, - 268, 269, 0, 272, 0, 89, 0, 269, 272, 0, - 0, 269, 270, 89, 0, 77, 0, 1, 0, 0, - 0, 48, 273, 277, 274, 271, 0, 0, 0, 49, - 275, 277, 276, 271, 0, 59, 181, 76, 286, 0, - 286, 0, 59, 181, 76, 287, 284, 0, 287, 284, - 0, 0, 77, 279, 0, 0, 280, 0, 281, 0, - 189, 0, 280, 281, 0, 281, 189, 0, 126, 123, - 282, 77, 0, 126, 77, 0, 130, 77, 0, 283, - 0, 282, 81, 283, 0, 165, 143, 0, 166, 143, - 0, 182, 143, 0, 0, 81, 10, 0, 0, 81, - 285, 227, 0, 288, 0, 290, 0, 287, 290, 0, - 3, 0, 4, 0, 72, 0, 289, 0, 12, 0, - 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, - 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, - 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, - 11, 0, 28, 0, 29, 0, 6, 0, 7, 0, - 288, 38, 59, 181, 76, 97, 0, 288, 38, 97, - 0, 38, 59, 181, 76, 97, 0, 38, 97, 0, - 288, 0, 292, 0, 294, 0, 292, 294, 0, 101, - 0, 288, 38, 293, 0, 38, 293, 0, 99, 0, - 67, 0, 0, 0, 60, 297, 295, 298, 291, 83, - 0, 288, 0, 300, 0, 301, 0, 300, 301, 0, - 288, 38, 0, 38, 0, 64, 59, 299, 76, 0, - 71, 59, 97, 76, 0, 66, 59, 181, 76, 0 + 193, 0, 192, 193, 0, 32, 235, 77, 0, 196, + 0, 1, 196, 0, 82, 0, 195, 78, 0, 195, + 190, 191, 122, 188, 78, 0, 195, 190, 191, 1, + 78, 0, 195, 190, 191, 186, 78, 0, 198, 203, + 0, 198, 1, 0, 15, 59, 99, 76, 0, 0, + 18, 200, 203, 17, 0, 0, 0, 201, 202, 206, + 0, 201, 202, 217, 203, 0, 201, 202, 205, 0, + 206, 0, 217, 0, 196, 0, 214, 0, 99, 77, + 0, 0, 197, 16, 207, 203, 0, 197, 0, 197, + 16, 1, 0, 0, 0, 17, 208, 59, 99, 76, + 209, 203, 0, 199, 59, 99, 76, 77, 0, 199, + 1, 0, 0, 0, 0, 19, 59, 219, 77, 210, + 219, 77, 211, 219, 76, 212, 203, 0, 0, 20, + 59, 99, 76, 213, 203, 0, 23, 77, 0, 24, + 77, 0, 25, 77, 0, 25, 99, 77, 0, 27, + 218, 59, 99, 76, 77, 0, 27, 218, 59, 99, + 38, 220, 76, 77, 0, 27, 218, 59, 99, 38, + 220, 38, 220, 76, 77, 0, 27, 218, 59, 99, + 38, 220, 38, 220, 38, 223, 76, 77, 0, 26, + 97, 77, 0, 26, 50, 99, 77, 0, 77, 0, + 215, 0, 0, 19, 59, 113, 76, 216, 203, 0, + 21, 107, 38, 0, 21, 107, 10, 107, 38, 0, + 22, 38, 0, 97, 38, 0, 0, 7, 0, 0, + 99, 0, 0, 221, 0, 222, 0, 221, 81, 222, + 0, 9, 59, 99, 76, 0, 115, 0, 223, 81, + 115, 0, 0, 225, 226, 0, 228, 76, 0, 0, + 229, 77, 227, 226, 0, 1, 76, 0, 0, 10, + 0, 229, 0, 229, 81, 10, 0, 230, 0, 229, + 81, 230, 0, 126, 123, 165, 143, 0, 126, 123, + 166, 143, 0, 126, 123, 182, 143, 0, 130, 123, + 166, 143, 0, 130, 123, 182, 143, 0, 0, 232, + 233, 0, 226, 0, 234, 76, 0, 3, 0, 234, + 81, 3, 0, 97, 0, 235, 81, 97, 0, 31, + 0, 241, 0, 239, 0, 240, 0, 251, 0, 261, + 0, 63, 0, 97, 0, 238, 81, 97, 0, 73, + 238, 77, 0, 74, 97, 97, 77, 0, 0, 0, + 61, 97, 253, 82, 242, 255, 78, 243, 268, 63, + 0, 0, 61, 97, 253, 244, 268, 63, 0, 0, + 0, 61, 97, 38, 97, 253, 82, 245, 255, 78, + 246, 268, 63, 0, 0, 61, 97, 38, 97, 253, + 247, 268, 63, 0, 0, 62, 97, 82, 248, 255, + 78, 0, 62, 97, 0, 0, 62, 97, 38, 97, + 82, 249, 255, 78, 0, 62, 97, 38, 97, 0, + 0, 61, 97, 59, 97, 76, 253, 250, 268, 63, + 0, 62, 97, 59, 97, 76, 0, 0, 71, 97, + 253, 252, 268, 63, 0, 0, 254, 0, 45, 238, + 45, 0, 255, 256, 257, 0, 257, 0, 69, 0, + 70, 0, 68, 0, 0, 257, 258, 77, 0, 257, + 77, 0, 132, 123, 259, 0, 183, 123, 259, 0, + 1, 0, 0, 260, 0, 259, 81, 260, 0, 163, + 0, 163, 38, 107, 0, 38, 107, 0, 0, 0, + 0, 48, 262, 278, 263, 279, 264, 194, 0, 0, + 0, 0, 49, 265, 278, 266, 279, 267, 194, 0, + 0, 0, 269, 270, 0, 273, 0, 89, 0, 270, + 273, 0, 0, 270, 271, 89, 0, 77, 0, 1, + 0, 0, 0, 48, 274, 278, 275, 272, 0, 0, + 0, 49, 276, 278, 277, 272, 0, 59, 181, 76, + 287, 0, 287, 0, 59, 181, 76, 288, 285, 0, + 288, 285, 0, 0, 77, 280, 0, 0, 281, 0, + 282, 0, 189, 0, 281, 282, 0, 282, 189, 0, + 126, 123, 283, 77, 0, 126, 77, 0, 130, 77, + 0, 284, 0, 283, 81, 284, 0, 165, 143, 0, + 166, 143, 0, 182, 143, 0, 0, 81, 10, 0, + 0, 81, 286, 228, 0, 289, 0, 291, 0, 288, + 291, 0, 3, 0, 4, 0, 72, 0, 290, 0, + 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, + 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, + 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, + 27, 0, 11, 0, 28, 0, 29, 0, 6, 0, + 7, 0, 289, 38, 59, 181, 76, 97, 0, 289, + 38, 97, 0, 38, 59, 181, 76, 97, 0, 38, + 97, 0, 289, 0, 293, 0, 295, 0, 293, 295, + 0, 101, 0, 289, 38, 294, 0, 38, 294, 0, + 99, 0, 67, 0, 0, 0, 60, 298, 296, 299, + 292, 83, 0, 289, 0, 301, 0, 302, 0, 301, + 302, 0, 289, 38, 0, 38, 0, 64, 59, 300, + 76, 0, 71, 59, 97, 76, 0, 66, 59, 181, + 76, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 236, 241, 255, 257, 257, 258, 260, 262, 263, 264, - 272, 276, 287, 292, 297, 299, 301, 302, 303, 308, - 315, 317, 322, 327, 333, 335, 340, 345, 351, 353, - 358, 365, 367, 368, 369, 372, 374, 376, 378, 380, - 382, 384, 388, 392, 395, 398, 401, 405, 407, 410, - 413, 417, 445, 451, 454, 457, 460, 462, 466, 470, - 474, 476, 479, 483, 510, 512, 514, 516, 518, 520, - 522, 524, 526, 528, 530, 532, 534, 536, 540, 542, - 546, 548, 551, 555, 557, 564, 567, 570, 576, 736, - 737, 739, 745, 747, 761, 784, 786, 788, 800, 814, - 816, 818, 820, 822, 824, 826, 831, 833, 839, 841, - 845, 847, 848, 858, 863, 865, 866, 867, 874, 880, - 885, 888, 896, 901, 903, 904, 905, 912, 923, 927, - 933, 938, 943, 948, 950, 952, 961, 964, 968, 970, - 972, 977, 981, 984, 988, 991, 993, 1005, 1008, 1010, - 1012, 1016, 1020, 1022, 1025, 1038, 1041, 1045, 1047, 1055, - 1056, 1057, 1061, 1063, 1068, 1070, 1072, 1078, 1079, 1080, - 1083, 1085, 1088, 1090, 1093, 1096, 1102, 1109, 1111, 1118, - 1125, 1128, 1135, 1138, 1142, 1145, 1149, 1154, 1157, 1161, - 1164, 1166, 1168, 1170, 1177, 1179, 1180, 1181, 1186, 1188, - 1193, 1201, 1206, 1210, 1213, 1215, 1220, 1223, 1225, 1227, - 1231, 1234, 1234, 1237, 1239, 1250, 1258, 1262, 1273, 1281, - 1288, 1290, 1295, 1298, 1303, 1305, 1307, 1314, 1316, 1317, - 1325, 1331, 1333, 1335, 1342, 1344, 1350, 1356, 1358, 1360, - 1362, 1369, 1371, 1374, 1379, 1381, 1385, 1387, 1389, 1391, - 1395, 1397, 1400, 1403, 1406, 1409, 1413, 1415, 1418, 1420, - 1424, 1427, 1432, 1434, 1436, 1440, 1464, 1471, 1476, 1482, - 1487, 1489, 1494, 1496, 1500, 1504, 1508, 1518, 1520, 1525, - 1530, 1533, 1537, 1540, 1544, 1547, 1550, 1553, 1557, 1560, - 1564, 1568, 1570, 1572, 1574, 1576, 1578, 1580, 1582, 1592, - 1600, 1602, 1604, 1608, 1610, 1613, 1616, 1629, 1631, 1636, - 1638, 1641, 1655, 1658, 1661, 1663, 1671, 1679, 1690, 1695, - 1698, 1711, 1719, 1723, 1727, 1731, 1737, 1741, 1746, 1749, - 1754, 1757, 1758, 1775, 1780, 1783, 1795, 1797, 1807, 1817, - 1818, 1826, 1829, 1841, 1845, 1862, 1872, 1881, 1886, 1891, - 1896, 1900, 1904, 1915, 1922, 1929, 1936, 1947, 1953, 1956, - 1961, 1984, 2018, 2043, 2074, 2089, 2100, 2104, 2108, 2111, - 2116, 2118, 2121, 2123, 2127, 2132, 2135, 2141, 2146, 2151, - 2153, 2162, 2163, 2169, 2171, 2181, 2183, 2187, 2190, 2196, - 2206, 2215, 2224, 2234, 2248, 2253, 2258, 2260, 2269, 2272, - 2277, 2280, 2284, 2292, 2294, 2295, 2296, 2297, 2298, 2312, - 2315, 2319, 2325, 2331, 2338, 2343, 2349, 2356, 2362, 2368, - 2373, 2379, 2386, 2392, 2398, 2404, 2412, 2418, 2424, 2432, - 2439, 2445, 2454, 2461, 2469, 2474, 2477, 2487, 2489, 2492, - 2494, 2495, 2498, 2503, 2504, 2521, 2528, 2534, 2538, 2541, - 2542, 2545, 2553, 2559, 2568, 2578, 2585, 2589, 2594, 2603, - 2610, 2614, 2624, 2626, 2627, 2629, 2631, 2632, 2633, 2634, - 2636, 2638, 2641, 2647, 2652, 2652, 2657, 2661, 2663, 2669, - 2674, 2679, 2688, 2690, 2696, 2698, 2701, 2703, 2704, 2705, - 2708, 2714, 2716, 2720, 2723, 2730, 2736, 2741, 2748, 2753, - 2758, 2763, 2770, 2774, 2777, 2783, 2785, 2786, 2787, 2790, - 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, - 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2810, - 2813, 2819, 2824, 2829, 2835, 2837, 2840, 2842, 2849, 2861, - 2866, 2872, 2874, 2880, 2884, 2885, 2891, 2893, 2896, 2898, - 2904, 2909, 2915, 2922, 2931 + 239, 244, 258, 260, 260, 261, 263, 265, 266, 267, + 275, 279, 290, 295, 300, 302, 304, 305, 306, 311, + 318, 320, 325, 330, 336, 338, 343, 348, 354, 356, + 361, 368, 370, 371, 372, 375, 377, 379, 381, 383, + 385, 387, 391, 395, 398, 401, 404, 408, 410, 413, + 416, 420, 448, 454, 457, 460, 463, 465, 469, 473, + 477, 479, 482, 486, 513, 515, 517, 519, 521, 523, + 525, 527, 529, 531, 533, 535, 537, 539, 543, 545, + 549, 551, 554, 558, 560, 567, 570, 573, 579, 739, + 740, 742, 748, 750, 764, 787, 789, 791, 803, 817, + 819, 821, 823, 825, 827, 829, 834, 836, 842, 844, + 848, 850, 851, 861, 866, 868, 869, 870, 877, 883, + 888, 891, 899, 904, 906, 907, 908, 915, 926, 930, + 936, 941, 946, 951, 953, 955, 964, 967, 971, 973, + 975, 980, 984, 987, 991, 994, 996, 1008, 1011, 1013, + 1015, 1019, 1023, 1025, 1028, 1041, 1044, 1048, 1050, 1058, + 1059, 1060, 1064, 1066, 1071, 1073, 1075, 1081, 1082, 1083, + 1086, 1088, 1091, 1093, 1096, 1099, 1105, 1112, 1114, 1121, + 1128, 1131, 1138, 1141, 1145, 1148, 1152, 1157, 1160, 1164, + 1167, 1169, 1171, 1173, 1180, 1182, 1183, 1184, 1189, 1191, + 1196, 1204, 1209, 1213, 1216, 1218, 1223, 1226, 1228, 1230, + 1234, 1237, 1237, 1240, 1242, 1253, 1261, 1265, 1276, 1284, + 1291, 1293, 1298, 1301, 1306, 1308, 1310, 1317, 1319, 1320, + 1328, 1334, 1336, 1338, 1345, 1347, 1353, 1359, 1361, 1363, + 1365, 1372, 1374, 1377, 1382, 1384, 1388, 1390, 1392, 1394, + 1398, 1400, 1403, 1406, 1409, 1412, 1416, 1418, 1421, 1423, + 1427, 1430, 1435, 1437, 1439, 1443, 1467, 1474, 1479, 1485, + 1490, 1492, 1497, 1499, 1503, 1507, 1511, 1521, 1523, 1528, + 1533, 1536, 1540, 1543, 1547, 1550, 1553, 1556, 1560, 1563, + 1567, 1571, 1573, 1575, 1577, 1579, 1581, 1583, 1585, 1595, + 1603, 1605, 1607, 1611, 1613, 1616, 1619, 1632, 1634, 1639, + 1641, 1644, 1658, 1661, 1664, 1666, 1668, 1676, 1684, 1695, + 1700, 1703, 1717, 1726, 1730, 1734, 1738, 1744, 1748, 1753, + 1756, 1761, 1764, 1765, 1782, 1787, 1790, 1802, 1804, 1814, + 1824, 1825, 1833, 1836, 1848, 1852, 1869, 1879, 1888, 1893, + 1898, 1903, 1907, 1911, 1922, 1929, 1936, 1943, 1954, 1960, + 1963, 1968, 1991, 2025, 2050, 2081, 2096, 2107, 2111, 2115, + 2118, 2123, 2125, 2128, 2130, 2134, 2139, 2142, 2148, 2153, + 2158, 2160, 2169, 2170, 2176, 2178, 2188, 2190, 2194, 2197, + 2203, 2213, 2222, 2231, 2241, 2255, 2260, 2265, 2267, 2276, + 2279, 2284, 2287, 2291, 2299, 2301, 2302, 2303, 2304, 2305, + 2319, 2322, 2326, 2332, 2338, 2345, 2350, 2356, 2363, 2369, + 2375, 2380, 2386, 2393, 2399, 2405, 2411, 2419, 2425, 2431, + 2439, 2446, 2452, 2461, 2468, 2476, 2481, 2484, 2494, 2496, + 2499, 2501, 2502, 2505, 2510, 2511, 2528, 2535, 2541, 2545, + 2548, 2549, 2552, 2560, 2566, 2575, 2585, 2592, 2596, 2601, + 2610, 2617, 2621, 2631, 2633, 2634, 2636, 2638, 2639, 2640, + 2641, 2643, 2645, 2648, 2654, 2659, 2659, 2664, 2668, 2670, + 2676, 2681, 2686, 2695, 2697, 2703, 2705, 2708, 2710, 2711, + 2712, 2715, 2721, 2723, 2727, 2730, 2737, 2743, 2748, 2755, + 2760, 2765, 2770, 2777, 2781, 2784, 2790, 2792, 2793, 2794, + 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, + 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, + 2817, 2820, 2826, 2831, 2836, 2842, 2844, 2847, 2849, 2856, + 2868, 2873, 2879, 2881, 2887, 2891, 2892, 2898, 2900, 2903, + 2905, 2911, 2916, 2922, 2929, 2938 }; static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", @@ -530,17 +534,17 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER" "component_decl_list2","component_decl","components","component_declarator", "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals", "absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls", -"label_decls","label_decl","compstmt_or_error","compstmt","simple_if","if_prefix", -"do_stmt_start","@30","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label", -"stmt_or_label","stmt","@31","@32","@33","@34","@35","@36","@37","all_iter_stmt", -"all_iter_stmt_simple","@38","label","maybe_type_qual","xexpr","asm_operands", -"nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@39","parmlist_1", -"@40","parmlist_2","parms","parm","parmlist_or_identifiers","@41","parmlist_or_identifiers_1", -"identifiers","identifiers_or_typenames","extension","objcdef","identifier_list", -"classdecl","aliasdecl","classdef","@42","@43","@44","@45","@46","@47","@48", -"@49","@50","protocoldef","@51","protocolrefs","non_empty_protocolrefs","ivar_decl_list", -"visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef", -"@52","@53","@54","@55","@56","@57","methodprotolist","@58","methodprotolist2", +"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt","simple_if", +"if_prefix","do_stmt_start","@30","save_filename","save_lineno","lineno_labeled_stmt", +"lineno_stmt_or_label","stmt_or_label","stmt","@31","@32","@33","@34","@35", +"@36","@37","all_iter_stmt","all_iter_stmt_simple","@38","label","maybe_type_qual", +"xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist", +"@39","parmlist_1","@40","parmlist_2","parms","parm","parmlist_or_identifiers", +"@41","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames","extension", +"objcdef","identifier_list","classdecl","aliasdecl","classdef","@42","@43","@44", +"@45","@46","@47","@48","@49","@50","protocoldef","@51","protocolrefs","non_empty_protocolrefs", +"ivar_decl_list","visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator", +"methoddef","@52","@53","@54","@55","@56","@57","methodprotolist","@58","methodprotolist2", "@59","semi_or_error","methodproto","@60","@61","@62","@63","methoddecl","optarglist", "myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@64","unaryselector", "keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist", @@ -582,31 +586,31 @@ static const short yyr1[] = { 0, 180, 180, 181, 181, 182, 182, 183, 183, 184, 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, 187, 187, 187, 188, 188, 189, 190, 191, 191, 192, - 192, 193, 194, 194, 195, 195, 195, 195, 196, 196, - 197, 199, 198, 200, 201, 202, 202, 203, 204, 204, - 205, 205, 205, 206, 205, 205, 205, 207, 208, 205, - 205, 205, 209, 210, 211, 205, 212, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 213, - 215, 214, 216, 216, 216, 216, 217, 217, 218, 218, - 219, 219, 220, 220, 221, 222, 222, 224, 223, 225, - 226, 225, 225, 227, 227, 227, 227, 228, 228, 229, - 229, 229, 229, 229, 231, 230, 232, 232, 233, 233, - 234, 234, 235, 236, 236, 236, 236, 236, 236, 237, - 237, 238, 239, 241, 242, 240, 243, 240, 244, 245, - 240, 246, 240, 247, 240, 240, 248, 240, 240, 249, - 240, 240, 251, 250, 252, 252, 253, 254, 254, 255, - 255, 255, 256, 256, 256, 257, 257, 257, 258, 258, - 258, 259, 259, 259, 261, 262, 263, 260, 264, 265, - 266, 260, 267, 268, 267, 269, 269, 269, 270, 269, - 271, 271, 273, 274, 272, 275, 276, 272, 277, 277, - 277, 277, 278, 278, 279, 279, 280, 280, 280, 280, - 281, 281, 281, 282, 282, 283, 283, 283, 284, 284, - 285, 284, 286, 287, 287, 288, 288, 288, 288, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 290, 290, 290, 290, 291, 291, 292, 292, 293, 294, - 294, 295, 295, 297, 298, 296, 299, 299, 300, 300, - 301, 301, 302, 303, 304 + 192, 193, 194, 194, 195, 196, 196, 196, 196, 197, + 197, 198, 200, 199, 201, 202, 203, 203, 204, 205, + 205, 206, 206, 206, 207, 206, 206, 206, 208, 209, + 206, 206, 206, 210, 211, 212, 206, 213, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 214, 216, 215, 217, 217, 217, 217, 218, 218, 219, + 219, 220, 220, 221, 221, 222, 223, 223, 225, 224, + 226, 227, 226, 226, 228, 228, 228, 228, 229, 229, + 230, 230, 230, 230, 230, 232, 231, 233, 233, 234, + 234, 235, 235, 236, 237, 237, 237, 237, 237, 237, + 238, 238, 239, 240, 242, 243, 241, 244, 241, 245, + 246, 241, 247, 241, 248, 241, 241, 249, 241, 241, + 250, 241, 241, 252, 251, 253, 253, 254, 255, 255, + 256, 256, 256, 257, 257, 257, 258, 258, 258, 259, + 259, 259, 260, 260, 260, 262, 263, 264, 261, 265, + 266, 267, 261, 268, 269, 268, 270, 270, 270, 271, + 270, 272, 272, 274, 275, 273, 276, 277, 273, 278, + 278, 278, 278, 279, 279, 280, 280, 281, 281, 281, + 281, 282, 282, 282, 283, 283, 284, 284, 284, 285, + 285, 286, 285, 287, 288, 288, 289, 289, 289, 289, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 291, 291, 291, 291, 292, 292, 293, 293, 294, + 295, 295, 296, 296, 298, 299, 297, 300, 300, 301, + 301, 302, 302, 303, 304, 305 }; static const short yyr2[] = { 0, @@ -641,54 +645,54 @@ static const short yyr2[] = { 0, 1, 3, 2, 2, 0, 1, 1, 2, 0, 2, 3, 3, 2, 3, 4, 3, 2, 3, 2, 1, 1, 2, 2, 0, 1, 2, 0, 0, 1, 1, - 2, 3, 1, 2, 2, 6, 5, 5, 2, 2, - 4, 0, 4, 0, 0, 3, 4, 3, 1, 1, - 1, 1, 2, 0, 4, 1, 3, 0, 0, 7, - 5, 2, 0, 0, 0, 12, 0, 6, 2, 2, - 2, 3, 6, 8, 10, 12, 3, 4, 1, 1, - 0, 6, 3, 5, 2, 2, 0, 1, 0, 1, - 0, 1, 1, 3, 4, 1, 3, 0, 2, 2, - 0, 4, 2, 0, 1, 1, 3, 1, 3, 4, - 4, 4, 4, 4, 0, 2, 1, 2, 1, 3, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 3, 4, 0, 0, 10, 0, 6, 0, 0, - 12, 0, 8, 0, 6, 2, 0, 8, 4, 0, - 9, 5, 0, 6, 0, 1, 3, 3, 1, 1, - 1, 1, 0, 3, 2, 3, 3, 1, 0, 1, - 3, 1, 3, 2, 0, 0, 0, 7, 0, 0, - 0, 7, 0, 0, 2, 1, 1, 2, 0, 3, - 1, 1, 0, 0, 5, 0, 0, 5, 4, 1, - 5, 2, 0, 2, 0, 1, 1, 1, 2, 2, - 4, 2, 2, 1, 3, 2, 2, 2, 0, 2, - 0, 3, 1, 1, 2, 1, 1, 1, 1, 1, + 2, 3, 1, 2, 1, 2, 6, 5, 5, 2, + 2, 4, 0, 4, 0, 0, 3, 4, 3, 1, + 1, 1, 1, 2, 0, 4, 1, 3, 0, 0, + 7, 5, 2, 0, 0, 0, 12, 0, 6, 2, + 2, 2, 3, 6, 8, 10, 12, 3, 4, 1, + 1, 0, 6, 3, 5, 2, 2, 0, 1, 0, + 1, 0, 1, 1, 3, 4, 1, 3, 0, 2, + 2, 0, 4, 2, 0, 1, 1, 3, 1, 3, + 4, 4, 4, 4, 4, 0, 2, 1, 2, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 3, 4, 0, 0, 10, 0, 6, 0, + 0, 12, 0, 8, 0, 6, 2, 0, 8, 4, + 0, 9, 5, 0, 6, 0, 1, 3, 3, 1, + 1, 1, 1, 0, 3, 2, 3, 3, 1, 0, + 1, 3, 1, 3, 2, 0, 0, 0, 7, 0, + 0, 0, 7, 0, 0, 2, 1, 1, 2, 0, + 3, 1, 1, 0, 0, 5, 0, 0, 5, 4, + 1, 5, 2, 0, 2, 0, 1, 1, 1, 2, + 2, 4, 2, 2, 1, 3, 2, 2, 2, 0, + 2, 0, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6, 3, 5, 2, 1, 1, 1, 2, 1, 3, - 2, 1, 1, 0, 0, 6, 1, 1, 1, 2, - 2, 1, 4, 4, 4 + 1, 6, 3, 5, 2, 1, 1, 1, 2, 1, + 3, 2, 1, 1, 0, 0, 6, 1, 1, 1, + 2, 2, 1, 4, 4, 4 }; static const short yydefact[] = { 3, 5, 0, 0, 0, 162, 153, 160, 152, 0, 0, - 0, 0, 0, 0, 403, 0, 455, 459, 0, 0, - 409, 435, 0, 435, 0, 0, 19, 4, 8, 7, + 0, 0, 0, 0, 404, 0, 456, 460, 0, 0, + 410, 436, 0, 436, 0, 0, 19, 4, 8, 7, 0, 128, 128, 148, 139, 149, 185, 161, 0, 9, - 405, 406, 404, 407, 165, 408, 6, 17, 18, 32, + 406, 407, 405, 408, 165, 409, 6, 17, 18, 32, 33, 35, 34, 254, 256, 263, 247, 263, 251, 0, - 0, 0, 410, 0, 0, 0, 435, 426, 163, 436, - 435, 164, 0, 0, 243, 289, 0, 0, 173, 129, + 0, 0, 411, 0, 0, 0, 436, 427, 163, 437, + 436, 164, 0, 0, 243, 289, 0, 0, 173, 129, 0, 16, 0, 15, 0, 150, 139, 151, 155, 154, 137, 186, 11, 0, 252, 0, 0, 0, 244, 0, 248, 89, 90, 107, 59, 60, 0, 0, 0, 36, - 38, 37, 0, 39, 40, 0, 544, 0, 0, 0, + 38, 37, 0, 39, 40, 0, 545, 0, 0, 0, 109, 41, 42, 0, 0, 43, 61, 0, 0, 65, 46, 48, 91, 106, 0, 102, 103, 104, 105, 287, - 0, 285, 158, 0, 285, 190, 437, 0, 506, 507, - 529, 530, 526, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 527, - 528, 0, 0, 508, 456, 480, 499, 503, 509, 504, - 460, 0, 0, 417, 0, 0, 424, 433, 412, 0, - 0, 0, 12, 0, 0, 31, 0, 395, 0, 0, + 0, 285, 158, 0, 285, 190, 438, 0, 507, 508, + 530, 531, 527, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 528, + 529, 0, 0, 509, 457, 481, 500, 504, 510, 505, + 461, 0, 0, 418, 0, 0, 425, 434, 413, 0, + 0, 0, 12, 0, 0, 31, 0, 396, 0, 0, 183, 229, 289, 0, 230, 0, 171, 129, 0, 221, 222, 0, 0, 138, 141, 168, 169, 140, 142, 170, 280, 281, 259, 278, 0, 0, 183, 271, 265, 128, @@ -697,790 +701,781 @@ static const short yydefact[] = { 3, 0, 0, 53, 0, 55, 0, 0, 82, 80, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 0, 0, 44, 0, 108, 110, - 50, 166, 289, 378, 0, 283, 286, 156, 167, 288, - 158, 284, 196, 197, 198, 195, 0, 188, 191, 411, - 0, 534, 0, 483, 501, 482, 0, 505, 0, 483, - 435, 0, 414, 464, 429, 0, 443, 464, 413, 290, + 50, 166, 289, 379, 0, 283, 286, 156, 167, 288, + 158, 284, 196, 197, 198, 195, 0, 188, 191, 412, + 0, 535, 0, 484, 502, 483, 0, 506, 0, 484, + 436, 0, 415, 465, 430, 0, 444, 465, 414, 290, 239, 238, 174, 175, 242, 0, 237, 0, 241, 0, - 0, 29, 0, 324, 116, 325, 182, 184, 0, 0, - 14, 0, 0, 23, 0, 183, 395, 0, 13, 27, - 0, 0, 260, 0, 259, 0, 246, 324, 264, 324, - 272, 0, 250, 0, 93, 92, 307, 0, 0, 543, - 542, 545, 552, 547, 0, 548, 549, 0, 0, 10, - 47, 0, 0, 88, 87, 0, 0, 0, 0, 76, - 77, 75, 74, 73, 71, 72, 66, 67, 68, 69, - 70, 99, 98, 0, 45, 0, 293, 0, 297, 0, - 299, 0, 378, 0, 159, 157, 0, 190, 44, 0, - 0, 0, 457, 500, 384, 0, 532, 461, 422, 435, - 443, 0, 0, 427, 432, 0, 0, 0, 0, 0, - 399, 385, 128, 128, 397, 0, 386, 388, 396, 0, - 240, 306, 0, 118, 113, 117, 0, 180, 227, 223, - 172, 228, 21, 179, 224, 226, 0, 25, 282, 279, - 183, 0, 266, 267, 273, 325, 269, 183, 183, 315, - 308, 95, 63, 62, 0, 551, 553, 0, 550, 555, - 554, 54, 56, 0, 0, 81, 79, 96, 97, 292, - 291, 379, 298, 294, 296, 0, 187, 189, 89, 0, - 0, 479, 499, 128, 0, 488, 484, 486, 0, 0, - 502, 386, 0, 0, 419, 464, 430, 0, 418, 473, - 476, 467, 0, 128, 128, 469, 466, 443, 442, 440, - 441, 425, 443, 448, 445, 128, 128, 0, 434, 176, - 383, 285, 285, 380, 381, 0, 398, 0, 0, 30, - 313, 114, 128, 128, 145, 0, 0, 177, 225, 0, - 255, 183, 324, 0, 245, 249, 0, 0, 309, 310, - 0, 0, 535, 0, 536, 537, 83, 86, 295, 192, - 0, 194, 533, 481, 492, 285, 493, 489, 490, 458, - 0, 462, 443, 0, 464, 415, 0, 0, 175, 0, - 0, 0, 468, 0, 0, 449, 449, 444, 236, 289, - 378, 129, 183, 183, 183, 289, 183, 183, 0, 387, - 389, 400, 314, 121, 0, 122, 0, 145, 143, 202, - 200, 199, 181, 22, 0, 26, 253, 274, 0, 183, - 401, 0, 0, 0, 324, 0, 0, 125, 325, 301, - 311, 210, 89, 0, 208, 0, 207, 0, 257, 205, - 539, 541, 0, 546, 0, 538, 0, 0, 183, 183, - 183, 0, 494, 531, 0, 423, 0, 464, 474, 477, - 470, 428, 0, 452, 446, 450, 447, 293, 0, 395, - 0, 390, 391, 392, 293, 393, 394, 382, 0, 0, - 144, 147, 146, 0, 178, 183, 0, 275, 312, 0, - 317, 127, 126, 305, 0, 318, 303, 325, 302, 0, - 0, 0, 211, 64, 0, 204, 540, 84, 193, 496, - 497, 498, 491, 285, 420, 431, 0, 0, 0, 454, - 0, 0, 234, 289, 235, 231, 233, 0, 119, 120, - 0, 277, 183, 402, 316, 0, 162, 0, 338, 322, - 0, 0, 0, 0, 0, 0, 0, 0, 367, 435, - 435, 359, 0, 0, 123, 128, 128, 331, 336, 0, - 0, 328, 329, 332, 360, 330, 0, 213, 0, 0, - 206, 495, 464, 416, 472, 471, 475, 478, 453, 451, - 0, 232, 201, 276, 0, 0, 324, 369, 0, 0, - 365, 349, 350, 351, 0, 0, 0, 368, 0, 366, - 333, 134, 0, 135, 0, 0, 320, 325, 319, 342, - 0, 136, 0, 209, 212, 0, 0, 0, 0, 370, - 48, 0, 0, 0, 363, 352, 0, 357, 0, 0, - 132, 215, 0, 133, 218, 337, 324, 0, 0, 214, - 421, 321, 0, 323, 361, 343, 347, 0, 358, 0, - 130, 0, 131, 0, 335, 326, 324, 0, 339, 324, - 369, 324, 364, 371, 0, 216, 219, 327, 341, 324, - 362, 0, 348, 0, 0, 372, 373, 353, 0, 0, - 340, 344, 0, 371, 0, 0, 217, 220, 369, 0, - 0, 354, 374, 0, 375, 0, 0, 345, 376, 0, - 355, 324, 0, 0, 346, 356, 377, 0, 0, 0 + 0, 29, 0, 325, 116, 326, 182, 184, 0, 0, + 14, 0, 0, 23, 0, 183, 396, 0, 13, 27, + 0, 0, 260, 0, 259, 0, 246, 325, 264, 325, + 272, 0, 250, 0, 93, 92, 315, 307, 0, 0, + 544, 543, 546, 553, 548, 0, 549, 550, 0, 0, + 10, 47, 0, 0, 88, 87, 0, 0, 0, 0, + 76, 77, 75, 74, 73, 71, 72, 66, 67, 68, + 69, 70, 99, 98, 0, 45, 0, 293, 0, 297, + 0, 299, 0, 379, 0, 159, 157, 0, 190, 44, + 0, 0, 0, 458, 501, 385, 0, 533, 462, 423, + 436, 444, 0, 0, 428, 433, 0, 0, 0, 0, + 0, 400, 386, 128, 128, 398, 0, 387, 389, 397, + 0, 240, 306, 0, 118, 113, 117, 0, 180, 227, + 223, 172, 228, 21, 179, 224, 226, 0, 25, 282, + 279, 183, 0, 266, 267, 273, 326, 269, 183, 183, + 316, 308, 95, 63, 62, 0, 552, 554, 0, 551, + 556, 555, 54, 56, 0, 0, 81, 79, 96, 97, + 292, 291, 380, 298, 294, 296, 0, 187, 189, 89, + 0, 0, 480, 500, 128, 0, 489, 485, 487, 0, + 0, 503, 387, 0, 0, 420, 465, 431, 0, 419, + 474, 477, 468, 0, 128, 128, 470, 467, 444, 443, + 441, 442, 426, 444, 449, 446, 128, 128, 0, 435, + 176, 384, 285, 285, 381, 382, 0, 399, 0, 0, + 30, 313, 114, 128, 128, 145, 0, 0, 177, 225, + 0, 255, 183, 325, 0, 245, 249, 0, 0, 309, + 310, 0, 0, 536, 0, 537, 538, 83, 86, 295, + 192, 0, 194, 534, 482, 493, 285, 494, 490, 491, + 459, 0, 463, 444, 0, 465, 416, 0, 0, 175, + 0, 0, 0, 469, 0, 0, 450, 450, 445, 236, + 289, 379, 129, 183, 183, 183, 289, 183, 183, 0, + 388, 390, 401, 314, 121, 0, 122, 0, 145, 143, + 202, 200, 199, 181, 22, 0, 26, 253, 274, 0, + 183, 402, 0, 0, 0, 325, 0, 0, 125, 326, + 301, 311, 210, 89, 0, 208, 0, 207, 0, 257, + 205, 540, 542, 0, 547, 0, 539, 0, 0, 183, + 183, 183, 0, 495, 532, 0, 424, 0, 465, 475, + 478, 471, 429, 0, 453, 447, 451, 448, 293, 0, + 396, 0, 391, 392, 393, 293, 394, 395, 383, 0, + 0, 144, 147, 146, 0, 178, 183, 0, 275, 312, + 0, 318, 127, 126, 305, 0, 319, 303, 326, 302, + 0, 0, 0, 211, 64, 0, 204, 541, 84, 193, + 497, 498, 499, 492, 285, 421, 432, 0, 0, 0, + 455, 0, 0, 234, 289, 235, 231, 233, 0, 119, + 120, 0, 277, 183, 403, 317, 0, 162, 0, 339, + 323, 0, 0, 0, 0, 0, 0, 0, 0, 368, + 436, 436, 360, 0, 0, 123, 128, 128, 332, 337, + 0, 0, 329, 330, 333, 361, 331, 0, 213, 0, + 0, 206, 496, 465, 417, 473, 472, 476, 479, 454, + 452, 0, 232, 201, 276, 0, 0, 325, 370, 0, + 0, 366, 350, 351, 352, 0, 0, 0, 369, 0, + 367, 334, 134, 0, 135, 0, 0, 321, 326, 320, + 343, 0, 136, 0, 209, 212, 0, 0, 0, 0, + 371, 48, 0, 0, 0, 364, 353, 0, 358, 0, + 0, 132, 215, 0, 133, 218, 338, 325, 0, 0, + 214, 422, 322, 0, 324, 362, 344, 348, 0, 359, + 0, 130, 0, 131, 0, 336, 327, 325, 0, 340, + 325, 370, 325, 365, 372, 0, 216, 219, 328, 342, + 325, 363, 0, 349, 0, 0, 373, 374, 354, 0, + 0, 341, 345, 0, 372, 0, 0, 217, 220, 370, + 0, 0, 355, 375, 0, 376, 0, 0, 346, 377, + 0, 356, 325, 0, 0, 347, 357, 378, 0, 0, + 0 }; -static const short yydefgoto[] = { 938, - 1, 2, 3, 28, 29, 30, 345, 567, 351, 570, - 200, 453, 666, 124, 242, 404, 126, 127, 128, 129, - 130, 581, 131, 389, 388, 386, 677, 387, 132, 243, - 133, 134, 332, 333, 334, 562, 654, 655, 31, 195, - 785, 443, 91, 563, 639, 444, 34, 142, 288, 35, - 218, 206, 78, 201, 207, 645, 79, 566, 337, 338, - 37, 297, 298, 299, 643, 714, 668, 669, 670, 732, - 800, 843, 861, 882, 909, 864, 884, 910, 324, 210, - 679, 211, 38, 234, 236, 225, 94, 736, 354, 97, - 98, 231, 474, 475, 223, 224, 144, 681, 145, 191, - 287, 656, 657, 725, 335, 481, 578, 579, 580, 560, - 561, 789, 790, 791, 817, 838, 457, 839, 660, 792, - 793, 867, 816, 900, 891, 919, 932, 892, 794, 795, - 890, 796, 829, 852, 905, 906, 907, 930, 409, 410, - 445, 629, 446, 447, 448, 327, 328, 449, 450, 652, - 135, 40, 64, 41, 42, 43, 431, 688, 314, 603, - 803, 526, 317, 538, 605, 44, 318, 69, 45, 436, - 543, 437, 548, 695, 696, 46, 65, 304, 520, 66, - 310, 524, 432, 433, 536, 612, 807, 537, 607, 748, - 608, 749, 175, 423, 517, 518, 519, 682, 683, 306, - 425, 176, 177, 178, 179, 180, 584, 585, 672, 586, - 372, 136, 245, 485, 375, 376, 377, 137, 138, 139 +static const short yydefgoto[] = { 939, + 1, 2, 3, 28, 29, 30, 345, 568, 351, 571, + 200, 454, 667, 124, 242, 405, 126, 127, 128, 129, + 130, 582, 131, 390, 389, 387, 678, 388, 132, 243, + 133, 134, 332, 333, 334, 563, 655, 656, 31, 195, + 786, 444, 91, 564, 640, 445, 34, 142, 288, 35, + 218, 206, 78, 201, 207, 646, 79, 567, 337, 338, + 37, 297, 298, 299, 644, 715, 669, 670, 671, 733, + 801, 844, 862, 883, 910, 865, 885, 911, 324, 210, + 680, 211, 38, 234, 236, 225, 94, 737, 354, 97, + 98, 231, 475, 476, 223, 224, 144, 682, 145, 191, + 287, 657, 658, 726, 335, 482, 579, 580, 581, 561, + 368, 562, 790, 791, 792, 818, 839, 458, 840, 661, + 793, 794, 868, 817, 901, 892, 920, 933, 893, 795, + 796, 891, 797, 830, 853, 906, 907, 908, 931, 410, + 411, 446, 630, 447, 448, 449, 327, 328, 450, 451, + 653, 135, 40, 64, 41, 42, 43, 432, 689, 314, + 604, 804, 527, 317, 539, 606, 44, 318, 69, 45, + 437, 544, 438, 549, 696, 697, 46, 65, 304, 521, + 66, 310, 525, 433, 434, 537, 613, 808, 538, 608, + 749, 609, 750, 175, 424, 518, 519, 520, 683, 684, + 306, 426, 176, 177, 178, 179, 180, 585, 586, 673, + 587, 373, 136, 245, 486, 376, 377, 378, 137, 138, + 139 }; -static const short yypact[] = { 128, - 132, 2936, 2936, 108,-32768,-32768,-32768,-32768, 139, 253, - 266, 86, 103, 111,-32768, 99,-32768,-32768, 99, 99, --32768, 158, 99, 158, 99, 99,-32768,-32768,-32768,-32768, - 169, 137, 2416, 115,-32768, 197,-32768,-32768, 2936,-32768, +static const short yypact[] = { 120, + 131, 2895, 2895, 468,-32768,-32768,-32768,-32768, 98, 118, + 257, 110, 122, 132,-32768, 266,-32768,-32768, 266, 266, +-32768, 158, 266, 158, 266, 266,-32768,-32768,-32768,-32768, + 234, 153, 2375, 497,-32768, 218,-32768,-32768, 2895,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 155, 214, 210, 214, 212, 2645, - 2483, 252,-32768, 50, 3210, 3210, 151, 51,-32768,-32768, - 158,-32768, 209, 99,-32768,-32768, 169, 286,-32768, 197, - 1661,-32768, 319,-32768, 169, 115,-32768, 197,-32768,-32768, - 729,-32768,-32768, 120,-32768, 255, 277, 1592,-32768, 283, --32768,-32768,-32768,-32768,-32768,-32768, 2645, 2645, 99,-32768, --32768,-32768, 2645,-32768,-32768, 932,-32768, 288, 312, 314, --32768,-32768,-32768, 2645, 305, 311,-32768, 2699, 2753,-32768, - 3581, 622, 396, 346, 2645,-32768,-32768,-32768,-32768,-32768, - 356, 267,-32768, 359, 3364, 269,-32768, 99,-32768,-32768, +-32768,-32768,-32768,-32768, 172, 210, 203, 210, 221, 2604, + 2442, 254,-32768, 61, 3182, 3182, 81, 133,-32768,-32768, + 158,-32768, 151, 266,-32768,-32768, 234, 253,-32768, 218, + 1662,-32768, 540,-32768, 234, 497,-32768, 218,-32768,-32768, + 879,-32768,-32768, 94,-32768, 263, 289, 1593,-32768, 298, +-32768,-32768,-32768,-32768,-32768,-32768, 2604, 2604, 266,-32768, +-32768,-32768, 2604,-32768,-32768, 933,-32768, 278, 323, 326, +-32768,-32768,-32768, 2604, 331, 361,-32768, 2658, 2712,-32768, + 3553, 1169, 403, 370, 2604,-32768,-32768,-32768,-32768,-32768, + 396, 267,-32768, 402, 3336, 302,-32768, 266,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 398, 3487,-32768,-32768,-32768, 2377, 415,-32768,-32768, --32768, 99, 99, 377, 99, 99,-32768,-32768,-32768, 397, - 105, 119,-32768, 319, 169,-32768, 420,-32768, 1846, 1806, - 197,-32768,-32768, 319,-32768, 327,-32768, 197, 1759, 434, - 484, 364, 1680, 729,-32768,-32768,-32768,-32768, 197,-32768, --32768, 473, 439,-32768, 120, 448, 197,-32768,-32768, 534, - 445, 352, 3175, 214, 197, 214,-32768,-32768,-32768,-32768, - 454, 456, 472, 481, 2537, 3272, 3487, 99,-32768, 485, - 2645, 932,-32768, 932,-32768, 2645, 2645, 557,-32768,-32768, - 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, - 2645, 2645,-32768,-32768, 99, 99, 2645, 2645,-32768,-32768, --32768,-32768,-32768, 267, 1905,-32768, 562, 766,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 225,-32768, 547,-32768, - 3487,-32768, 542, 550, 624,-32768, 415,-32768, 408, 550, - 158, 560,-32768, 581, 566, 578,-32768, 581,-32768,-32768, - 484,-32768,-32768, 641, 484, 660,-32768, 3089,-32768, 602, - 614,-32768, 682, 83,-32768,-32768, 634, 197, 110, 243, --32768, 319, 319,-32768, 1806, 197,-32768, 1964,-32768,-32768, - 1806, 2645, 99, 619, 439, 627,-32768,-32768,-32768,-32768, --32768, 620,-32768, 628,-32768,-32768, 629, 633, 2297,-32768, --32768,-32768,-32768, 662, 640, 3272,-32768, 642, 644,-32768, - 3581, 648, 650, 3581, 3581, 2645, 679, 2645, 2645, 2456, - 783, 879, 1653, 1750, 760, 760, 537, 537,-32768,-32768, --32768,-32768,-32768, 652, 311, 667, 336, 245,-32768, 3108, --32768, 673,-32768, 2023,-32768, 766, 669, 269, 2807, 695, - 3300, 850,-32768,-32768, 3375, 3487,-32768,-32768, 693, 158, --32768, 718, 3011,-32768,-32768, 184, 2884, 719, 78, 707, --32768,-32768,-32768, 3450,-32768, 711, 430,-32768,-32768, 298, --32768,-32768, 76,-32768,-32768,-32768, 3469,-32768, 434,-32768, --32768, 434,-32768, 752,-32768,-32768, 708,-32768, 3581,-32768, - 197, 715,-32768, 713,-32768,-32768, 713, 197, 197,-32768, - 763,-32768,-32768,-32768, 3336,-32768,-32768, 662,-32768,-32768, --32768,-32768,-32768, 761, 2645, 1473, 1820,-32768,-32768, 562, --32768,-32768,-32768,-32768,-32768, 722,-32768,-32768, 339, 730, - 99,-32768, 2377, 740, 3119,-32768,-32768, 3450, 1778, 76, --32768, 741, 765, 76,-32768, 581,-32768, 348,-32768,-32768, --32768,-32768, 169, 137, 2416, 335,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 3506, 767,-32768,-32768, --32768, 593, 238,-32768,-32768, 3439,-32768, 834, 472,-32768, --32768,-32768, 768, 725,-32768, 839, 76,-32768,-32768, 76, --32768, 197,-32768, 257,-32768,-32768, 99, 1101, 763,-32768, - 1421, 2645, 805, 769, 3336,-32768,-32768, 1394,-32768,-32768, - 2645,-32768,-32768,-32768,-32768, 593,-32768,-32768,-32768,-32768, - 99,-32768,-32768, 790, 581,-32768, 3210, 3210, 70, 319, - 169, 3039,-32768, 459, 2902, 280, 280,-32768,-32768,-32768, - 238, 197, 340, 347, 197,-32768, 347, 197, 3108,-32768, --32768,-32768,-32768,-32768, 319,-32768, 169,-32768, 659,-32768, --32768, 3581,-32768,-32768, 839,-32768,-32768,-32768, 2645, 81, --32768, 435, 564, 1021, 780, 782, 1181,-32768,-32768,-32768, --32768,-32768, 828, 99,-32768, 833, 3581, 796, 800,-32768, - 311,-32768, 2645,-32768, 805,-32768, 2645, 427, 340, 347, - 197, 464,-32768,-32768, 515,-32768, 820, 581,-32768,-32768, --32768,-32768, 2645, 846, 804,-32768, 804, 587, 510,-32768, - 2082,-32768,-32768,-32768, 600,-32768,-32768,-32768, 501, 521, - 659,-32768,-32768, 1421,-32768, 3214, 2645,-32768,-32768, 99, --32768,-32768,-32768,-32768, 808,-32768,-32768,-32768,-32768, 2163, - 854, 1421,-32768,-32768, 1501,-32768,-32768, 1394,-32768,-32768, --32768,-32768,-32768, 593,-32768,-32768, 829, 80, 80, 3581, - 2645, 280, 598,-32768, 598,-32768,-32768, 813,-32768,-32768, - 822,-32768, 3214,-32768,-32768, 2243, 853, 842,-32768,-32768, - 843, 845, 2645, 868, 830, 831, 2591, 372, 902, 187, - 226,-32768, 873, 838,-32768, 865, 3138,-32768, 900, 1261, - 91,-32768,-32768,-32768,-32768,-32768, 2405,-32768, 869, 1581, --32768,-32768, 581,-32768,-32768,-32768,-32768,-32768, 3581,-32768, - 278,-32768,-32768,-32768, 2645, 861,-32768, 2645, 2645, 3545, --32768,-32768,-32768,-32768, 871, 2645, 872,-32768, 891,-32768, --32768,-32768, 319,-32768, 169, 1341,-32768,-32768,-32768,-32768, - 2645,-32768, 1581,-32768,-32768, 888, 877, 2645, 937,-32768, - 441, 880, 882, 2645,-32768,-32768, 885,-32768, 2645, 523, --32768, 442, 524,-32768, 663,-32768,-32768, 2243, 892,-32768, --32768,-32768, 893,-32768,-32768,-32768,-32768, 3563,-32768, 58, --32768, 1806,-32768, 1806,-32768,-32768,-32768, 887,-32768,-32768, - 2645,-32768,-32768, 947, 890,-32768,-32768,-32768,-32768,-32768, --32768, 896,-32768, 911, 60, 895,-32768,-32768, 472, 472, --32768,-32768, 2645, 947, 897, 947,-32768,-32768, 2645, 903, - 68,-32768,-32768, 907,-32768, 660, 901,-32768, 396, 429, --32768,-32768, 908, 660,-32768,-32768, 396, 984, 988,-32768 +-32768, 129, 3459,-32768,-32768,-32768, 2336, 457,-32768,-32768, +-32768, 266, 266, 449, 266, 266,-32768,-32768,-32768, 461, + 642, 54,-32768, 540, 234,-32768, 474,-32768, 1805, 683, + 218,-32768,-32768, 540,-32768, 259,-32768, 218, 1760, 526, + 529, 318, 1681, 879,-32768,-32768,-32768,-32768, 218,-32768, +-32768, 505, 470,-32768, 94, 491, 218,-32768,-32768, 525, + 486, 3078, 374, 210, 218, 210,-32768,-32768,-32768,-32768, + 490, 499, 495, 503, 2496, 3244, 3459, 266,-32768, 517, + 2604, 933,-32768, 933,-32768, 2604, 2604, 558,-32768,-32768, + 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, + 2604, 2604,-32768,-32768, 266, 266, 2604, 2604,-32768,-32768, +-32768,-32768,-32768, 267, 1864,-32768, 547, 711,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 29,-32768, 539,-32768, + 3459,-32768, 537, 542, 618,-32768, 457,-32768, 147, 542, + 158, 559,-32768, 574, 573, 585,-32768, 574,-32768,-32768, + 529,-32768,-32768, 635, 529, 654,-32768, 3048,-32768, 582, + 589,-32768, 276, 82,-32768,-32768, 631, 218, 269, 219, +-32768, 540, 540,-32768, 683, 218,-32768, 1923,-32768,-32768, + 683, 2604, 266, 591, 470, 595,-32768,-32768,-32768,-32768, +-32768, 592,-32768, 596,-32768,-32768,-32768, 599, 597, 2256, +-32768,-32768,-32768,-32768, 640, 606, 3244,-32768, 607, 610, +-32768, 3553, 615, 617, 3553, 3553, 2604, 656, 2604, 2604, + 2834, 2942, 880, 784, 1653, 900, 900, 478, 478,-32768, +-32768,-32768,-32768,-32768, 622, 361, 616, 456, 242,-32768, + 3067,-32768, 621,-32768, 1982,-32768, 711, 624, 302, 2766, + 632, 3272, 851,-32768,-32768, 3347, 3459,-32768,-32768, 628, + 158,-32768, 658, 2970,-32768,-32768, 347, 2843, 666, 84, + 643,-32768,-32768,-32768, 3422,-32768, 659, 327,-32768,-32768, + 176,-32768,-32768, 86,-32768,-32768,-32768, 3441,-32768, 526, +-32768,-32768, 526,-32768, 701,-32768,-32768, 660,-32768, 3553, +-32768, 218, 663,-32768, 661,-32768,-32768, 661, 218, 218, +-32768, 713,-32768,-32768,-32768, 3308,-32768,-32768, 640,-32768, +-32768,-32768,-32768,-32768, 708, 2604, 2417, 1396,-32768,-32768, + 547,-32768,-32768,-32768,-32768,-32768, 668,-32768,-32768, 211, + 681, 266,-32768, 2336, 676, 3097,-32768,-32768, 3422, 1779, + 86,-32768, 679, 700, 86,-32768, 574,-32768, 352,-32768, +-32768,-32768,-32768, 234, 153, 2375, 262,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3478, 705,-32768, +-32768,-32768, 464, 93,-32768,-32768, 3411,-32768, 780, 495, +-32768,-32768,-32768, 707, 726,-32768, 840, 86,-32768,-32768, + 86,-32768, 218,-32768, 368,-32768,-32768, 266, 1102, 713, +-32768, 1422, 2604, 750, 706, 3308,-32768,-32768, 1475,-32768, +-32768, 2604,-32768,-32768,-32768,-32768, 464,-32768,-32768,-32768, +-32768, 266,-32768,-32768, 729, 574,-32768, 3182, 3182, 76, + 540, 234, 2998,-32768, 430, 2861, 1377, 1377,-32768,-32768, +-32768, 93, 218, 238, 330, 218,-32768, 330, 218, 3067, +-32768,-32768,-32768,-32768,-32768, 540,-32768, 234,-32768, 767, +-32768,-32768, 3553,-32768,-32768, 840,-32768,-32768,-32768, 2604, + 212,-32768, 377, 545, 1022, 716, 717, 1182,-32768,-32768, +-32768,-32768,-32768, 758, 266,-32768, 762, 3553, 735, 737, +-32768, 361,-32768, 2604,-32768, 750,-32768, 2604, 273, 238, + 330, 218, 383,-32768,-32768, 442,-32768, 760, 574,-32768, +-32768,-32768,-32768, 2604, 789, 757,-32768, 757, 588, 677, +-32768, 2041,-32768,-32768,-32768, 594,-32768,-32768,-32768, 389, + 416, 767,-32768,-32768, 1422,-32768, 3186, 2604,-32768,-32768, + 266,-32768,-32768,-32768,-32768, 764,-32768,-32768,-32768,-32768, + 2122, 808, 1422,-32768,-32768, 1502,-32768,-32768, 1475,-32768, +-32768,-32768,-32768,-32768, 464,-32768,-32768, 782, 72, 72, + 3553, 2604, 1377, 583,-32768, 583,-32768,-32768, 763,-32768, +-32768, 775,-32768, 3186,-32768,-32768, 2202, 816, 800,-32768, +-32768, 802, 813, 2604, 829, 798, 805, 2550, 429, 890, + 79, 141,-32768, 849, 824,-32768, 825, 3147,-32768, 887, + 1262, 103,-32768,-32768,-32768,-32768,-32768, 2364,-32768, 827, + 1582,-32768,-32768, 574,-32768,-32768,-32768,-32768,-32768, 3553, +-32768, 601,-32768,-32768,-32768, 2604, 848,-32768, 2604, 2604, + 3517,-32768,-32768,-32768,-32768, 831, 2604, 833,-32768, 853, +-32768,-32768,-32768, 540,-32768, 234, 1342,-32768,-32768,-32768, +-32768, 2604,-32768, 1582,-32768,-32768, 854, 845, 2604, 899, +-32768, 752, 866, 878, 2604,-32768,-32768, 881,-32768, 2604, + 432,-32768, 320, 440,-32768, 332,-32768,-32768, 2202, 883, +-32768,-32768,-32768, 889,-32768,-32768,-32768,-32768, 3535,-32768, + 52,-32768, 683,-32768, 683,-32768,-32768,-32768, 886,-32768, +-32768, 2604,-32768,-32768, 946, 891,-32768,-32768,-32768,-32768, +-32768,-32768, 892,-32768, 898, 69, 893,-32768,-32768, 495, + 495,-32768,-32768, 2604, 946, 894, 946,-32768,-32768, 2604, + 901, 145,-32768,-32768, 903,-32768, 654, 907,-32768, 403, + 303,-32768,-32768, 908, 654,-32768,-32768, 403, 970, 975, +-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768, 102, -367,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -9,-32768, -52, 570, -231, 533,-32768,-32768, - -45,-32768, 220,-32768,-32768,-32768,-32768,-32768, 172,-32768, - -295,-32768, -308, 661,-32768,-32768, 342,-32768, 17, -195, - 203, 16, 914,-32768, 367, 21, -11, -65, 703, 11, - -249, -574, -58, -206, -127,-32768,-32768,-32768, 196, 3, - -6,-32768, 584,-32768, 361,-32768, -607,-32768, -662,-32768, +-32768,-32768,-32768, 192, -367,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, -9,-32768, -52, 560, -231, 530,-32768,-32768, + -54,-32768, 220,-32768,-32768,-32768,-32768,-32768, 167,-32768, + -295,-32768, -312, 655,-32768,-32768, 334,-32768, 17, -195, + 193, 16, 909,-32768, 356, 21, -11, -61, 710, 11, + -276, -575, -58, -206, -118,-32768,-32768,-32768, 196, 3, + -6,-32768, 579,-32768, 357,-32768, -604,-32768, -657,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -68, -135, - -498, 14, -66,-32768,-32768,-32768,-32768,-32768, 653, 12, --32768, 776, 655, 437, 788, 664, -12, -89, -50, -168, - -232, 363,-32768,-32768, -269,-32768,-32768,-32768, 440, -290, - -205,-32768,-32768,-32768,-32768, -122, -435, -741, 366,-32768, - 148,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 153,-32768, -739, 117,-32768, 121,-32768, 643,-32768, - -351,-32768, 632, 635, 497, -307,-32768,-32768,-32768,-32768, - 18,-32768, 1033,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -20, 4, -348, --32768, 516,-32768, 450, 310,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -306,-32768,-32768,-32768, 316, 532,-32768,-32768, --32768,-32768, -37, 762,-32768,-32768, 555,-32768, 333, 565, --32768, 658, 665, -145,-32768, -119,-32768,-32768, 409, 498, --32768,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768,-32768 + -489, 14, -66,-32768,-32768,-32768,-32768,-32768, 647, 19, +-32768, 773, 649, 433, 785, 664, -27, -79, -55, -168, + -226, 355,-32768,-32768, -285,-32768,-32768,-32768, 434, -413, +-32768, -205,-32768,-32768,-32768,-32768, -122, -415, -734, 358, +-32768, 149,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 150,-32768, -658, 105,-32768, 107,-32768, 608, +-32768, -359,-32768, 612, 633, 475, -307,-32768,-32768,-32768, +-32768, 18,-32768, 1029,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -20, 4, + -364,-32768, 513,-32768, 443, 305,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, -286,-32768,-32768,-32768, 310, 531,-32768, +-32768,-32768,-32768, -25, 753,-32768,-32768, 550,-32768, 321, + 564,-32768, 651, 652, -121,-32768, -148,-32768,-32768, 405, + 494,-32768,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768, +-32768 }; -#define YYLAST 3633 +#define YYLAST 3605 static const short yytable[] = { 55, 57, 59, 346, 72, 36, 36, 63, 125, 141, 67, - 68, 438, 343, 71, 209, 63, 74, 32, 32, 39, - 39, 86, 33, 33, 220, 70, 212, 70, 181, 92, - 439, 307, 230, 80, 339, 88, 463, 368, 415, 465, - 574, 36, 468, 87, 81, 405, 184, 232, 83, 85, - 188, 408, 286, 623, 32, 292, 39, 308, 502, 33, - 709, 237, 238, 454, 190, 532, 323, 240, 340, 100, - 70, 143, 801, 92, 70, 849, 559, 336, 249, 80, - 805, 92, 528, -112, 222, 208, 279, 80, 185, 281, - 192, 840, 455, 219, 147, 894, 197, 914, 213, 239, - 374, 50, 51, 244, 47, 926, 761, 75, 143, 186, - 14, 320, 75, 202, 407, 233, 320, 346, 717, 89, - 221, 90, 50, 51, 799, 885, 143, -1, 198, 199, - 148, -2, 187, 895, 14, 915, 296, 845, 300, 14, - 93, 50, 51, 927, 60, 898, 330, 220, 901, 841, - 903, 902, 516, 550, 76, 291, 806, 367, 911, 203, - 303, 61, 302, 77, -112, 52, 415, 230, 204, 62, - 53, 75, 311, 312, 500, 315, 316, 198, 199, 924, - 870, 205, 232, 143, 48, 49, 52, 405, 182, 614, - 935, 53, 371, 80, 322, 16, 208, 80, 14, 753, - 755, 92, 16, 459, 321, 52, 208, 462, 325, 183, - 53, 336, 92, 82, 461, 222, 219, 192, 76, 604, - 54, 220, 336, 730, -35, 406, 14, 77, 336, 600, - 488, 16, 412, 602, 378, 476, 95, 476, 379, 382, - 75, 383, 291, 143, 691, 362, 358, 364, 360, 599, - 233, 539, 540, 541, 685, 50, 51, 143, 860, 75, - 202, 542, 143, -34, 143, 402, 403, 14, 50, 51, - 16, 50, 51, 293, 294, 295, 644, 708, 96, 646, - 75, 619, 75, 202, 320, 189, 14, 626, 420, 148, - 429, 99, 766, 101, 649, 467, 621, 285, 687, 427, - 417, 347, 348, 413, 414, 418, 203, 14, 658, 14, - 146, 143, 753, 226, 70, 204, 283, 693, 460, 52, - 501, 75, 202, 484, 53, 284, 285, 754, 205, 203, - 36, 92, 52, 494, 56, 52, 77, 53, 204, 583, - 53, 208, 320, 222, 208, 208, 246, 58, 14, 220, - 671, 205, 321, 633, 227, 5, 325, 7, 290, 678, - 235, 506, 193, 9, 10, 11, 194, 307, 203, 14, - 247, 546, 248, 557, 50, 51, 14, 204, 558, 13, - 250, 747, 530, 531, 722, 283, 547, 727, 408, 713, - 205, 251, 756, 308, 284, 285, 16, -465, 700, 701, - 50, 51, 868, 341, 279, 198, 199, 342, 296, 527, - 50, 51, 36, 523, 590, 539, 540, 541, 22, 591, - 280, 826, 357, 24, 36, 606, 699, 36, -270, -270, - 363, 282, 86, 70, 289, 36, 143, 514, 52, 675, - 349, 671, 515, 53, 194, 564, 88, 143, 534, 533, - 476, 698, 309, 535, 87, 659, 301, 705, 313, 552, - 553, 713, 625, 628, 52, 500, 426, 565, 197, 53, - 381, -175, 500, 319, 52, 384, 385, -175, 326, 53, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 347, 348, 273, 274, 846, 275, 276, 277, - 278, 593, 739, 86, 933, 650, 555, 251, 352, 934, - 556, 719, 75, 619, 356, 720, 875, 88, -175, 353, - 36, 359, -175, 86, 788, 87, 539, 540, 541, 365, - 596, 366, 659, 514, 728, 80, 692, 88, 515, 14, - 743, 464, 198, 199, 744, 87, 609, 694, 694, 546, - 610, 611, 212, 367, 622, 80, 369, 291, 36, 754, - 788, 380, 616, 617, 547, 624, 627, 651, 77, 689, - 690, 469, 220, 896, 638, 897, 208, 759, 710, 635, - 637, 342, 539, 540, 541, 811, 270, 271, 272, 75, - 619, 684, 745, 320, -85, 75, 619, 760, 622, 881, - 883, 194, 75, 342, 194, 419, 320, 496, 497, 680, - -268, -268, 208, 80, 36, 92, 14, 421, 208, 208, - 413, 414, 14, 80, 609, 143, 422, 534, 533, 14, - 929, 36, 535, 424, 192, 430, 620, 208, 937, 80, - 452, 721, 620, -463, 220, 621, 285, 434, 758, 626, - 609, 621, 285, 435, 731, 346, 700, 701, 621, 285, - 253, 255, 788, 712, 216, 217, 571, 197, 104, 458, - 9, 10, 11, 575, 576, 273, 274, 784, 275, 276, - 277, 278, 331, 694, 451, -115, -115, -115, -115, 197, - 452, -115, -175, -115, -115, -115, 471, 478, -175, 486, - 622, 622, 473, 917, 918, 479, 480, 80, 482, -115, - 764, 321, 325, 784, 588, 487, 495, 490, 321, 491, - 783, 198, 199, 492, 825, 493, -115, 498, 5, 89, - 7, 90, 36, 215, 216, 217, 9, 10, 11, -175, - 9, 10, 11, -175, 507, 786, 622, 797, -115, 499, - 787, 281, 13, -115, 208, 503, 783, 680, 14, 336, - 72, 336, 847, -115, 862, 850, 853, 647, 827, 16, - 511, 216, 217, 857, 525, 86, 863, 9, 10, 11, - 529, 549, 551, 70, 70, 642, 554, 568, 869, 88, - 569, 22, 572, 573, 577, 873, 24, 87, 587, 36, - 667, 636, 833, 835, 589, 592, 880, 268, 269, 270, - 271, 272, 786, 622, 797, 784, 595, 787, 702, 703, - 704, 556, 706, 707, 321, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 208, 632, 80, 850, 640, - 601, 102, 673, 618, 634, 718, 103, 104, 865, 105, - 331, 674, 686, 5, 6, 7, 8, -304, 783, 726, - 920, 9, 10, 11, 642, -32, 850, 106, 716, 15, - 733, 107, 108, 734, 740, 741, 742, 13, 109, 14, - 735, 110, 746, 751, 752, 765, 111, 112, 113, 798, - -33, 804, 114, 115, 16, 812, 738, 116, 117, 813, - 815, 818, 118, 819, 119, 821, 822, 823, 828, 120, - 830, 762, 750, 121, 831, 836, 22, 122, 123, 848, - 641, 24, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -485, 241, 667, 102, 5, 763, 7, 140, 103, - 104, 832, 105, 9, 10, 11, 844, 856, 858, 859, - 871, 667, 872, 874, 667, 904, 876, 877, 814, 13, - 106, 879, 15, 899, 107, 108, 908, 888, 889, 913, - 809, 109, 912, 922, 110, 916, 16, 931, 925, 111, - 112, 113, 928, 939, 936, 114, 115, 940, 510, 851, - 116, 117, 820, 416, 456, 118, 723, 119, 22, 842, - 214, 508, 120, 24, 711, 715, 121, 472, 361, 648, - 122, 123, 355, -94, 477, 886, 470, 724, 661, 667, - 887, 331, 729, -124, -124, -124, -124, -124, -124, -124, - 921, -124, -124, -124, -124, -124, 923, -124, -124, -124, + 68, 416, 343, 71, 209, 63, 74, 32, 32, 39, + 39, 86, 33, 33, 220, 70, 212, 70, 308, 92, + 440, 439, 464, 80, 339, 88, 230, 369, 469, 466, + 181, 36, 232, 87, 81, 406, 184, 455, 83, 85, + 188, 503, 237, 238, 32, 307, 39, 409, 240, 33, + 710, 575, 286, 624, 190, 292, 533, 529, 340, 249, + 70, 143, 806, 92, 70, 323, 100, 336, 802, 80, + 281, 92, -112, 850, 222, 208, 560, 80, 244, 895, + 192, 456, 279, 219, 221, 75, 50, 51, 213, 239, + 50, 51, 197, 841, 418, 147, 915, 601, 143, 419, + 762, 603, 198, 199, 408, 233, -35, 346, 182, -1, + 50, 51, 14, 16, 375, 16, 143, 896, 800, 322, + -2, 50, 51, 886, 198, 199, 296, 517, 300, 183, + 416, 148, 627, 846, 916, 303, 330, 220, 807, 50, + 51, 622, 285, 899, 645, 291, 902, 647, 904, 551, + 52, 842, 302, -112, 52, 53, 912, 367, 60, 53, + 185, 230, 311, 312, 615, 315, 316, 232, -34, 54, + 61, 501, 927, 143, 52, 16, 871, 301, 406, 53, + 62, 186, 372, 80, 47, 52, 208, 80, 936, 56, + 53, 92, 16, 460, 321, 427, 208, 463, 325, 754, + 756, 336, 92, 52, 187, 222, 219, 192, 53, 379, + 928, 220, 336, 462, 383, 407, 384, 189, 336, 82, + 93, 148, 413, 903, 600, 477, 75, 477, 380, 686, + 605, 14, 291, 143, 731, 692, 358, 14, 360, 718, + 233, 558, 362, 95, 364, 489, 559, 143, 861, 50, + 51, 925, 143, 14, 143, 403, 404, 14, 50, 51, + 709, 75, 202, 421, 96, 320, 331, 347, 348, -115, + -115, -115, -115, 76, 99, -115, 591, -115, -115, -115, + 430, 592, 77, 659, 461, 468, 701, 702, 14, 428, + 414, 415, 101, -115, 50, 51, 293, 294, 295, 531, + 532, 143, 146, 767, 70, 485, 283, 502, 203, 688, + -115, 226, 754, 52, -466, 284, 285, 204, 53, 193, + 36, 92, 52, 194, 495, 341, 246, 53, 58, 342, + 205, 208, -115, 222, 208, 208, 197, -115, 740, -175, + 220, 672, 321, 251, 634, -175, 325, -115, 197, 14, + 679, -175, 507, 714, 584, 308, 227, -175, 52, 723, + 75, 202, 728, 53, 228, 235, 547, 5, 934, 7, + 140, 247, 548, 935, 248, 9, 10, 11, 198, 199, + 198, 199, 307, 757, 349, 409, -175, 14, 194, 524, + -175, 13, 748, 556, 15, 650, 250, 557, -175, 296, + 528, 279, -175, 36, 540, 541, 542, 203, 16, 540, + 541, 542, 357, 869, 543, 36, 204, 700, 36, 607, + 363, 50, 51, 86, 70, 714, 36, 143, 515, 205, + 22, 251, 672, 516, 280, 24, 565, 88, 143, 535, + 534, 477, 699, 720, 536, 87, 660, 721, 706, 744, + 553, 554, 320, 745, 676, 760, 75, 620, 566, 342, + 382, 282, 501, 626, 629, 385, 386, 289, 827, 501, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 761, 14, 309, 52, 194, 540, 541, 542, + 53, 89, 594, 90, 86, 283, 651, 693, 882, 540, + 541, 542, 342, 621, 284, 285, 884, 847, 88, 746, + 194, 36, 622, 285, 86, 789, 87, 270, 271, 272, + 313, 597, 326, 660, 515, 729, 80, 319, 88, 516, + 352, 465, 75, 202, 48, 49, 87, 610, 695, 695, + 353, 611, 612, 212, 547, 623, 80, 356, 291, 36, + 548, 789, 359, 617, 618, 365, 625, 628, 652, 14, + 897, 470, 898, 220, 366, 639, 367, 208, 370, 711, + 636, 638, 690, 691, 347, 348, 812, 198, 199, 203, + 75, 620, 685, 381, 320, -85, 75, 420, 204, 623, + 320, -268, -268, 75, 620, 414, 415, 320, 497, 498, + 681, 205, 422, 208, 80, 36, 92, 14, 423, 208, + 208, 453, 722, 14, 80, 610, 143, 425, 535, 534, + 14, 930, 36, 536, 431, 192, -464, 621, 208, 938, + 80, 701, 702, 627, 75, 220, 622, 285, 320, 759, + 755, 610, 622, 285, 435, 732, 346, 253, 255, 77, + 436, 197, 104, 789, 452, 453, 459, 572, 472, 479, + 474, 14, 483, 480, 576, 577, 481, 487, 785, 75, + 620, 488, 491, 331, 695, 492, -325, -325, -325, -325, + 493, 76, 494, 496, -325, -325, -325, 499, 500, 508, + 77, 623, 623, 504, 918, 919, 14, 512, 80, 526, + -325, 765, 321, 325, 785, 589, 216, 217, 552, 321, + 530, 784, 9, 10, 11, 826, 755, -325, 550, 5, + 89, 7, 90, 36, 555, 77, 569, 9, 10, 11, + 573, 574, 570, 281, 578, 588, 787, 623, 798, -325, + 590, 788, 596, 13, -325, 208, 593, 784, 681, 557, + 336, 72, 336, 848, -111, 863, 851, 854, 648, 828, + 16, 713, 216, 217, 858, 602, 86, 864, 9, 10, + 11, 619, 633, 635, 70, 70, 643, 674, 675, 870, + 88, 687, 22, -304, 727, -32, 874, 24, 87, 734, + 36, 668, 637, 834, 836, 273, 274, 881, 275, 276, + 277, 278, 735, 787, 623, 798, 785, 736, 788, 703, + 704, 705, 747, 707, 708, 321, 752, 876, 265, 266, + 267, 268, 269, 270, 271, 272, 208, 753, 80, 851, + 641, 766, 102, 799, 805, 813, 719, 103, 104, 866, + 105, 331, 814, -33, 5, 6, 7, 8, 816, 784, + 819, 921, 9, 10, 11, 643, 822, 851, 106, 717, + 15, 820, 107, 108, 823, 741, 742, 743, 13, 109, + 14, 824, 110, 215, 216, 217, 831, 111, 112, 113, + 9, 10, 11, 114, 115, 16, 829, 739, 116, 117, + 832, 833, 837, 118, 845, 119, 849, 857, 14, 859, + 120, 860, 763, 751, 121, 875, 872, 22, 122, 123, + 873, 642, 24, 264, 265, 266, 267, 268, 269, 270, + 271, 272, -486, 241, 668, 102, 5, 764, 7, 140, + 103, 104, 877, 105, 9, 10, 11, 268, 269, 270, + 271, 272, 668, 878, 905, 668, 914, 880, 889, 815, + 13, 106, 900, 15, 890, 107, 108, 909, 913, 940, + 923, 810, 109, 917, 941, 110, 926, 16, 929, 511, + 111, 112, 113, 932, 937, 852, 114, 115, 457, 724, + 843, 116, 117, 821, 712, 214, 118, 509, 119, 22, + 417, 473, 716, 120, 24, 361, 649, 121, 478, 355, + 725, 122, 123, 662, -94, 730, 471, 887, 888, 922, + 668, 505, 331, 924, -124, -124, -124, -124, -124, -124, + -124, 632, -124, -124, -124, -124, -124, 522, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, 631, -124, -124, 504, 521, 73, 615, 522, - -124, 810, 667, -124, 808, -124, 697, 613, -124, -124, - -124, 428, 598, 878, -124, -124, 802, 594, 512, -124, - -124, 737, 676, 0, -124, 513, -124, -124, 0, 489, - 0, -124, -124, 0, 0, -124, 0, -124, -124, -124, - -124, 653, -124, -324, -324, -324, -324, -324, -324, -324, - 0, -324, -324, -324, -324, -324, 0, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, 0, -324, -324, 0, 0, 0, 0, 0, - -324, 0, 0, -324, 0, -324, 0, 0, -324, -324, - -324, 0, 0, 0, -324, -324, 0, 0, 0, -324, - -324, 0, 0, 0, -324, 0, -324, -324, 0, 0, - 0, -324, -324, 0, 0, -324, 0, -324, 0, -324, - -324, 331, -324, -324, -324, 0, 0, 0, -324, -324, - 0, -324, 0, 0, 0, -324, 0, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, 0, -324, - 0, -324, 0, -324, -324, 0, 0, 0, 0, 0, - -324, 0, 0, -324, 0, 0, 0, 0, -324, -324, - -324, 0, 0, 0, -324, -324, 0, 0, 0, -324, - -324, 0, 0, 0, -324, 0, -324, -324, 0, 0, - 0, -324, -324, 0, 0, -324, 0, -324, -300, -324, - -324, 837, -324, -324, -324, 0, 0, 0, -324, -324, - 0, -324, 0, 0, 0, -324, 0, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, 0, -324, - 0, -324, 0, -324, -324, 0, 0, 0, 0, 0, - -324, 0, 0, -324, 0, 0, 0, 0, -324, -324, - -324, 0, 0, 0, -324, -324, 0, 0, 0, -324, - -324, 0, 0, 0, -324, 0, -324, -324, 0, 0, - 0, -324, -324, 0, 0, -324, 0, -324, 0, -324, - -324, 866, -324, -334, -334, 0, 0, 0, -334, -334, - 0, -334, 0, 0, 0, -334, 0, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, 0, -334, - 0, -334, 0, -334, -334, 0, 0, 0, 0, 0, - -334, 0, 0, -334, 0, 0, 0, 0, -334, -334, - -334, 0, 0, 0, -334, -334, 0, 0, 0, -334, - -334, 0, 0, 0, -334, 0, -334, -334, 0, 0, - 0, -334, -334, 0, 0, -334, 0, -334, 0, -334, - -334, 662, -334, 663, 51, 0, 0, 0, 103, 104, - 258, 105, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 0, 0, 0, 106, - 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, - 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 0, 0, 664, 116, - 117, 0, 0, 0, 118, 0, 119, 52, 0, 0, - 0, 120, 53, 0, 0, 121, 0, 0, -203, 122, - 123, 662, 665, 663, 51, 0, 0, 0, 103, 104, - 0, 105, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 0, 0, 0, 0, 106, - 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, - 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 0, 0, 664, 116, - 117, 0, 0, 0, 118, 0, 119, 52, 0, 0, - 0, 120, 53, 0, 0, 121, 0, 0, -258, 122, - 123, 662, 665, 663, 51, 0, 0, 0, 103, 104, - 0, 105, 228, 0, 0, 5, 0, 7, 140, 0, - 0, 0, 0, 9, 10, 11, 0, 0, 0, 106, - 0, 15, 0, 107, 108, 0, 0, 0, 0, 13, - 109, 0, 15, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 16, 0, 664, 116, - 117, 0, 0, 0, 118, 0, 119, 52, 0, 0, - 0, 120, 53, 0, 0, 121, 0, 0, 22, 122, - 123, 196, 665, 24, -28, -28, -28, -28, 229, -261, - 0, 0, -28, -28, -28, 0, 0, 0, 0, 0, - 350, 0, 0, -24, -24, -24, -24, 197, -28, 0, - -175, -24, -24, -24, 0, 0, -175, 265, 266, 267, - 268, 269, 270, 271, 272, -28, 197, -24, 0, -175, - 0, 0, 0, 0, 0, -175, 0, 0, 0, 198, - 199, 0, 0, 0, -24, 0, 0, -28, 0, 0, - 0, 0, -28, 0, 0, 0, 0, -175, 198, 199, - 0, -175, -28, 0, 0, 0, -24, 0, 0, 0, - 0, -24, 0, 0, 0, 0, -175, 0, 0, 344, - -175, -24, -20, -20, -20, -20, 0, 0, 0, 0, - -20, -20, -20, 0, 0, 0, 0, 0, 331, 0, - 0, -487, -487, -487, -487, 197, -20, 0, -175, -487, - -487, -487, 0, 0, -175, 266, 267, 268, 269, 270, - 271, 272, 0, -20, 0, -487, 331, -487, 0, -324, - -324, -324, -324, 0, 0, 0, 0, -324, -324, -324, - 0, 0, -487, 0, 0, -20, 0, 0, 0, 0, - -20, 0, 0, -324, 0, -175, 0, 0, 0, -175, - -20, 0, 0, 0, -487, 0, 0, 0, 102, -487, - -324, 0, 0, 103, 104, 0, 105, 0, 0, -487, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -324, 0, 106, 0, 15, -324, 107, 108, - 0, 0, 0, 0, 0, 109, 0, -111, 110, 0, - 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, - 115, 0, 0, 0, 116, 117, 0, 102, 0, 118, - 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, - 121, 0, 0, 0, 122, 123, 0, 0, 329, 0, - 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, - 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, - 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, - 0, 0, 0, 116, 117, 0, 102, 0, 118, 0, + -124, -124, -124, 73, -124, -124, 616, 811, 523, 809, + 698, -124, 429, 668, -124, 803, -124, 614, 599, -124, + -124, -124, 513, 514, 879, -124, -124, 595, 738, 677, + -124, -124, 0, 0, 0, -124, 0, -124, -124, 0, + 490, 0, -124, -124, 0, 0, -124, 0, -124, -124, + -124, -124, 654, -124, -325, -325, -325, -325, -325, -325, + -325, 0, -325, -325, -325, -325, -325, 0, -325, -325, + -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, + -325, -325, -325, 0, -325, -325, 0, 0, 0, 0, + 0, -325, 0, 0, -325, 0, -325, 0, 0, -325, + -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, + -325, -325, 0, 0, 0, -325, 0, -325, -325, 0, + 0, 0, -325, -325, 0, 0, -325, 0, -325, 0, + -325, -325, 331, -325, -325, -325, 0, 0, 0, -325, + -325, 0, -325, 0, 0, 0, -325, 0, -325, -325, + -325, -325, -325, -325, -325, -325, -325, -325, -325, 0, + -325, 0, -325, 0, -325, -325, 0, 0, 0, 0, + 0, -325, 273, 274, -325, 275, 276, 277, 278, -325, + -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, + -325, -325, 0, 0, 0, -325, 0, -325, -325, 0, + 0, 0, -325, -325, 0, 0, -325, 0, -325, -300, + -325, -325, 838, -325, -325, -325, 0, 0, 0, -325, + -325, 0, -325, 0, 0, 0, -325, 0, -325, -325, + -325, -325, -325, -325, -325, -325, -325, -325, -325, 0, + -325, 0, -325, 0, -325, -325, 0, 0, 0, 0, + 0, -325, 0, 0, -325, 0, 0, 0, 0, -325, + -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, + -325, -325, 0, 0, 0, -325, 0, -325, -325, 0, + 0, 0, -325, -325, 0, 0, -325, 0, -325, 0, + -325, -325, 867, -325, -335, -335, 0, 0, 0, -335, + -335, 0, -335, 0, 0, 0, -335, 0, -335, -335, + -335, -335, -335, -335, -335, -335, -335, -335, -335, 0, + -335, 0, -335, 0, -335, -335, 0, 0, 0, 75, + 202, -335, 0, 0, -335, 0, 0, 0, 0, -335, + -335, -335, 0, 0, 0, -335, -335, 0, 0, 0, + -335, -335, 0, 0, 0, -335, 14, -335, -335, 0, + 0, 0, -335, -335, 694, 0, -335, 0, -335, 0, + -335, -335, 663, -335, 664, 51, 203, 0, 0, 103, + 104, 0, 105, 0, 0, 204, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 205, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 0, 665, + 116, 117, 0, 0, 0, 118, 0, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 0, -203, + 122, 123, 663, 666, 664, 51, 0, 0, 0, 103, + 104, 258, 105, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 0, 0, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 0, 665, + 116, 117, 0, 0, 0, 118, 0, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 0, -258, + 122, 123, 663, 666, 664, 51, 0, 0, 0, 103, + 104, 0, 105, 228, 0, 0, 5, 0, 7, 140, + 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 13, 109, 0, 15, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 16, 0, 665, + 116, 117, 0, 0, 0, 118, 0, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 0, 22, + 122, 123, 196, 666, 24, -28, -28, -28, -28, 229, + -261, 0, 0, -28, -28, -28, 0, 0, 0, 0, + 0, 350, 0, 0, -24, -24, -24, -24, 197, -28, + 0, -175, -24, -24, -24, 0, 0, -175, 266, 267, + 268, 269, 270, 271, 272, 0, -28, 197, -24, 0, + -175, 0, 0, 0, 0, 0, -175, 0, 0, 0, + 198, 199, 0, 0, 0, -24, 0, 0, -28, 0, + 0, 0, 0, -28, 0, 0, 0, 0, -175, 198, + 199, 0, -175, -28, 0, 0, 0, -24, 0, 0, + 0, 0, -24, 0, 0, 0, 0, -175, 0, 0, + 344, -175, -24, -20, -20, -20, -20, 0, 0, 0, + 0, -20, -20, -20, 0, 0, 0, 0, 0, 331, + 0, 0, -488, -488, -488, -488, 197, -20, 0, -175, + -488, -488, -488, 0, 0, -175, 0, 0, 0, 0, + 0, 0, 0, 0, -20, 0, -488, 102, -488, 0, + 0, 0, 103, 104, 0, 105, 0, 0, 0, 0, + 0, 0, 0, -488, 0, 0, -20, 0, 0, 0, + 0, -20, 0, 106, 0, 15, -175, 107, 108, 0, + -175, -20, 0, 0, 109, -488, 0, 110, 0, 0, + -488, 0, 111, 112, 113, 0, 0, 0, 114, 115, + -488, 0, 0, 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, 121, - 0, 0, 0, 122, 123, 0, 0, 411, 0, 0, + 0, 0, 0, 122, 123, 0, 0, 329, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, 121, 0, - 0, 0, 122, 123, 0, 0, 466, 0, 0, 0, + 0, 0, 122, 123, 0, 0, 412, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, 121, 0, 0, - 0, 122, 123, 0, 0, 505, 0, 0, 0, 0, + 0, 122, 123, 0, 0, 467, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, - 116, 117, 0, 0, 0, 118, 0, 119, 0, 0, - 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, - 122, 123, 0, 0, 757, 663, 767, 6, 7, 8, - 103, 104, 0, 105, 9, 10, 11, 768, 0, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - 13, 106, 14, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 16, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, - 0, 116, 117, 0, 0, 0, 118, 0, 119, 780, - 0, 0, 0, 120, 781, 0, 0, 121, 0, 782, - 0, 122, 123, 0, 367, 663, 51, 0, 0, 0, - 103, 104, 0, 105, 0, 0, 0, 768, 0, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 102, - 0, 116, 117, 0, 103, 104, 118, 105, 119, 52, - 0, 0, 0, 120, 53, 0, 0, 121, 0, 782, - 0, 122, 123, 0, 367, 106, 0, 15, 0, 107, - 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, - 114, 115, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 119, 0, 0, 0, 0, 120, 0, 0, - 0, 121, 0, 0, 0, 122, 123, 0, 483, 149, - 150, 0, 151, 152, 0, 0, 0, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 0, 102, 5, 6, - 7, 8, 103, 104, 172, 105, 9, 10, 11, 5, - 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, - 0, 0, 13, 106, 14, 15, 0, 107, 108, 0, - 0, 0, 0, 13, 109, 14, 0, 110, 174, 16, - 0, 0, 111, 112, 113, 0, 0, 305, 114, 115, - 16, 0, 0, 116, 117, 0, 0, 0, 118, 0, - 119, 22, 0, 0, 0, 120, 24, 0, 0, 121, - 0, 0, 22, 122, 123, 102, 5, 24, 7, 140, - 103, 104, 84, 105, 9, 10, 11, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 0, 0, - 13, 106, 0, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 16, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 102, - 0, 116, 117, 0, 103, 104, 118, 105, 119, 22, - 0, 0, 0, 120, 24, 0, 0, 121, 0, 0, - 0, 122, 123, 0, 0, 106, 0, 15, 0, 107, - 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, - 114, 115, 0, 102, 0, 116, 117, 0, 103, 104, - 118, 105, 119, 370, 0, 0, 0, 120, 0, 0, - 0, 121, 0, 0, 0, 122, 123, 0, 0, 106, + 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, + 0, 105, 120, 0, 0, 0, 121, 0, 0, 0, + 122, 123, 0, 0, 506, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 0, 102, 0, 116, - 117, 0, 103, 104, 118, 105, 119, 0, 0, 0, - 0, 120, 0, 0, 0, 121, 0, 824, 0, 122, - 123, 0, 0, 106, 0, 15, 0, 107, 108, 0, - 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, - 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, - 0, 102, 0, 116, 117, 0, 103, 104, 118, 105, - 119, 0, 0, 0, 0, 120, 0, 0, 0, 121, - 0, 0, 0, 122, 123, 0, 0, 106, 0, 15, - 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, - 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, - 0, 0, 114, 115, 0, 102, 0, 252, 117, 0, - 103, 104, 118, 105, 119, 0, 0, 0, 0, 120, - 0, 0, 0, 121, 0, 0, 0, 122, 123, 0, - 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 509, - 0, 254, 117, 0, 103, 104, 118, 105, 119, 0, - 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, - 0, 122, 123, 0, 0, 106, 0, 15, 0, 107, - 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, - 114, 115, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 119, 0, 0, 0, 0, 120, 0, 0, - 0, 121, 0, 0, 544, 122, 123, 5, 0, 7, - 140, 0, 0, 0, 0, 9, 10, 11, 0, 0, - 0, 0, 544, 0, 0, 5, 0, 7, 140, 0, - 0, 13, 0, 9, 10, 11, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 13, - 0, 0, 0, 0, 0, 0, 4, 0, -128, 5, - 6, 7, 8, 0, 0, 0, 16, 9, 10, 11, - 22, -439, -439, -439, 0, 24, 0, 0, 0, 0, - 545, -439, 12, 13, 0, 14, 15, 0, 22, -438, - -438, -438, 0, 24, 0, 0, 0, 0, 545, -438, - 16, 0, 0, 17, 18, -128, 0, 0, 0, 0, - 0, 0, 0, 0, -128, 0, 19, 20, 21, 0, - 0, 0, 22, 0, 0, 0, 23, 24, 25, 26, - 0, 4, 27, -128, 5, 6, 7, 8, 0, 0, - 0, 0, 9, 10, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 4, - 14, -128, 5, 6, 7, 8, 0, 0, 0, 0, - 9, 10, 11, 0, 0, 16, 0, 0, 530, 531, - -128, 0, 0, 0, 0, 0, 13, 0, 14, -128, - 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, - 0, 0, 24, 16, 0, 0, 0, 27, -128, 440, - 0, 441, 5, 6, 7, 8, 0, -128, 442, 0, - 9, 10, 11, 0, 0, 22, 0, 0, 440, 0, - 24, 5, 6, 7, 8, 27, 13, 442, 14, 9, - 10, 11, 5, 6, 7, 8, 0, 0, 0, 0, - 9, 10, 11, 16, 0, 13, 0, 14, 0, 0, - 0, 5, 6, 7, 8, 0, 13, 0, 14, 9, - 10, 11, 16, 0, 0, 22, 0, 0, 0, 0, - 24, 0, 0, 16, -384, 13, 0, 14, 0, 0, - 0, 0, 0, 0, 22, 228, 0, 0, 5, 24, - 7, 140, 16, -384, 0, 22, 9, 10, 11, 0, - 24, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 0, 0, 13, 0, 22, 15, 0, 0, 0, 24, - 0, 0, 149, 150, 834, 151, 152, 0, 0, 16, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 0, - 0, 22, 0, 14, 0, 0, 24, 172, 256, 257, - 258, 0, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 0, 0, 173, 0, + 113, 0, 0, 0, 114, 115, 0, 0, 0, 116, + 117, 0, 0, 0, 118, 0, 119, 0, 0, 0, + 0, 120, 0, 0, 0, 121, 0, 0, 0, 122, + 123, 0, 0, 758, 664, 768, 6, 7, 8, 103, + 104, 0, 105, 9, 10, 11, 769, 0, 770, 771, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 13, + 106, 14, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 16, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, + 116, 117, 0, 0, 0, 118, 0, 119, 781, 0, + 0, 0, 120, 782, 0, 0, 121, 0, 783, 0, + 122, 123, 0, 367, 664, 51, 0, 0, 0, 103, + 104, 0, 105, 0, 0, 0, 769, 0, 770, 771, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 102, 0, + 116, 117, 0, 103, 104, 118, 105, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 783, 0, + 122, 123, 0, 367, 106, 0, 15, 0, 107, 108, + 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, + 115, 0, 0, 0, 116, 117, 0, 0, 0, 118, + 0, 119, 0, 0, 0, 0, 120, 0, 0, 0, + 121, 0, 0, 0, 122, 123, 0, 484, 149, 150, + 0, 151, 152, 0, 0, 0, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 0, 102, 5, 6, 7, + 8, 103, 104, 172, 105, 9, 10, 11, 5, 6, + 7, 8, 0, 0, 0, 0, 9, 10, 11, 0, + 0, 13, 106, 14, 15, 0, 107, 108, 0, 0, + 0, 0, 13, 109, 14, 0, 110, 174, 16, 0, + 0, 111, 112, 113, 0, 0, 305, 114, 115, 16, + 0, 0, 116, 117, 0, 0, 0, 118, 0, 119, + 22, 0, 0, 0, 120, 24, 0, 0, 121, 0, + 0, 22, 122, 123, 102, 5, 24, 7, 140, 103, + 104, 84, 105, 9, 10, 11, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 13, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 16, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 102, 0, + 116, 117, 0, 103, 104, 118, 105, 119, 22, 0, + 0, 0, 120, 24, 0, 0, 121, 0, 0, 0, + 122, 123, 0, 0, 106, 0, 15, 0, 107, 108, + 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, + 115, 0, 102, 0, 116, 117, 0, 103, 104, 118, + 105, 119, 371, 0, 0, 0, 120, 0, 0, 0, + 121, 0, 0, 0, 122, 123, 0, 0, 106, 0, + 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, + 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, + 0, 0, 0, 114, 115, 0, 102, 0, 116, 117, + 0, 103, 104, 118, 105, 119, 0, 0, 0, 0, + 120, 0, 0, 0, 121, 0, 825, 0, 122, 123, + 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, + 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, + 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, + 102, 0, 116, 117, 0, 103, 104, 118, 105, 119, + 0, 0, 0, 0, 120, 0, 0, 0, 121, 0, + 0, 0, 122, 123, 0, 0, 106, 0, 15, 0, + 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, + 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, + 0, 114, 115, 0, 102, 0, 252, 117, 0, 103, + 104, 118, 105, 119, 0, 0, 0, 0, 120, 0, + 0, 0, 121, 0, 0, 0, 122, 123, 0, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 510, 0, + 254, 117, 0, 103, 104, 118, 105, 119, 0, 0, + 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, + 122, 123, 0, 0, 106, 0, 15, 0, 107, 108, + 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, + 115, 0, 0, 0, 116, 117, 0, 0, 0, 118, + 0, 119, 0, 0, 0, 0, 120, 0, 0, 0, + 121, 0, 0, 545, 122, 123, 5, 0, 7, 140, + 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, + 0, 545, 0, 0, 5, 0, 7, 140, 0, 0, + 13, 0, 9, 10, 11, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 0, 16, 13, 0, + 0, 0, 0, 0, 0, 4, 0, -128, 5, 6, + 7, 8, 0, 0, 0, 16, 9, 10, 11, 22, + -440, -440, -440, 0, 24, 0, 0, 0, 0, 546, + -440, 12, 13, 0, 14, 15, 0, 22, -439, -439, + -439, 0, 24, 0, 0, 0, 0, 546, -439, 16, + 0, 0, 17, 18, -128, 0, 0, 0, 0, 0, + 0, 0, 0, -128, 0, 19, 20, 21, 0, 0, + 0, 22, 0, 0, 0, 23, 24, 25, 26, 0, + 4, 27, -128, 5, 6, 7, 8, 0, 0, 0, + 0, 9, 10, 11, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 0, 0, 0, 13, 4, 14, + -128, 5, 6, 7, 8, 0, 0, 0, 0, 9, + 10, 11, 0, 0, 16, 0, 0, 531, 532, -128, + 0, 0, 0, 0, 0, 13, 0, 14, -128, 0, + 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, + 0, 24, 16, 0, 0, 0, 27, -128, 441, 0, + 442, 5, 6, 7, 8, 0, -128, 443, 0, 9, + 10, 11, 0, 0, 22, 0, 0, 441, 0, 24, + 5, 6, 7, 8, 27, 13, 443, 14, 9, 10, + 11, 5, 0, 7, 290, 0, 0, 0, 0, 9, + 10, 11, 16, 0, 13, 0, 14, 0, 0, 0, + 5, 6, 7, 8, 0, 13, 0, 0, 9, 10, + 11, 16, 0, 0, 22, 0, 0, 0, 0, 24, + 0, 0, 16, -385, 13, 0, 14, 0, 0, 0, + 0, 0, 0, 22, 0, 0, 0, 0, 24, 0, + 0, 16, -385, 0, 22, 0, 0, 0, 0, 24, + 5, 6, 7, 8, -270, -270, 0, 0, 9, 10, + 11, 0, 0, 22, 0, 0, 0, 0, 24, 0, + 0, 0, 0, 598, 13, 0, 14, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 151, 152, 0, - 0, 174, 153, 154, 155, 156, 157, 158, 159, 160, + 0, 16, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 0, 149, 150, 0, 151, 152, 0, 0, 373, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 149, 150, - 0, 151, 152, 174, 0, 0, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 0, 0, 5, 0, 7, - 290, 174, 0, 582, 0, 9, 10, 11, 5, 6, - 7, 8, 0, 0, 442, 0, 9, 10, 11, 0, - 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 13, 0, 14, 0, 0, 174, 16, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 16, - 0, 0, 284, 285, 0, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 22, 5, 6, 7, 8, 24, 0, 630, 0, - 9, 10, 11, 5, 6, 7, 8, 0, 0, 0, - 0, 9, 10, 11, 0, 0, 13, 0, 14, 0, - 0, 0, 5, 6, 7, 8, 0, 13, 0, 14, - 9, 10, 11, 16, 0, 0, 0, 0, 0, 0, - 5, 0, 7, 140, 16, 0, 13, 0, 9, 10, - 11, 0, 0, 0, 0, 22, 0, 0, 0, 5, - 24, 7, 290, 16, 13, 0, 22, 9, 10, 11, - 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 13, 0, 22, 0, 0, 0, 0, + 171, 0, 0, 22, 0, 14, 0, 0, 24, 172, + 256, 257, 258, 835, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 0, 0, + 173, 0, 0, 0, 0, 0, 149, 150, 0, 151, + 152, 0, 0, 174, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 0, 149, 150, 0, 151, 152, 0, + 0, 374, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 149, 150, 0, 151, 152, 174, 0, 0, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 0, 0, 5, + 0, 7, 290, 174, 0, 583, 0, 9, 10, 11, + 5, 6, 7, 8, 0, 0, 443, 0, 9, 10, + 11, 0, 0, 13, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 13, 0, 14, 0, 0, 174, + 16, 0, 0, 0, 0, 283, 0, 0, 0, 0, + 0, 16, 0, 0, 284, 285, 0, 0, 0, 0, + 0, 0, 22, 0, 0, 0, 0, 24, 0, 0, + 0, 0, 0, 22, 5, 6, 7, 8, 24, 0, + 631, 0, 9, 10, 11, 5, 6, 7, 8, 0, + 0, 0, 0, 9, 10, 11, 0, 0, 13, 0, + 14, 0, 0, 0, 5, 6, 7, 8, 0, 13, + 0, 14, 9, 10, 11, 16, 0, 0, 0, 0, + 0, 0, 5, 0, 7, 140, 16, 0, 13, 0, + 9, 10, 11, 0, 0, 0, 0, 22, 0, 0, + 0, 5, 24, 7, 290, 16, 13, 0, 22, 9, + 10, 11, 0, 24, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 13, 0, 22, 0, 0, + 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 22, 855, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 0, 22, 854, 0, 0, 0, 24, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 0, 0, 0, 0, 24, 0, 256, - 257, 258, 855, 259, 260, 261, 262, 263, 264, 265, + 0, 0, 0, 0, 22, 0, 0, 0, 0, 24, + 0, 256, 257, 258, 856, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 256, + 257, 258, 894, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 256, 257, 258, - 893, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 256, 257, 258, 0, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272 + 0, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272 }; static const short yycheck[] = { 9, 10, 11, 209, 24, 2, 3, 16, 60, 61, 19, - 20, 318, 208, 23, 83, 25, 26, 2, 3, 2, - 3, 33, 2, 3, 91, 22, 85, 24, 66, 36, - 326, 177, 98, 31, 203, 33, 345, 243, 288, 347, - 476, 39, 351, 33, 31, 277, 67, 98, 32, 33, - 71, 284, 142, 552, 39, 145, 39, 177, 410, 39, - 635, 107, 108, 333, 74, 433, 194, 113, 204, 58, - 67, 61, 735, 80, 71, 817, 1, 200, 124, 77, - 1, 88, 431, 1, 94, 83, 9, 85, 38, 135, - 77, 1, 10, 91, 45, 38, 27, 38, 85, 109, - 246, 3, 4, 116, 3, 38, 714, 3, 98, 59, - 30, 7, 3, 4, 283, 98, 7, 324, 38, 5, - 1, 7, 3, 4, 732, 867, 116, 0, 59, 60, - 81, 0, 82, 76, 30, 76, 146, 800, 148, 30, - 39, 3, 4, 76, 59, 887, 199, 214, 890, 59, - 892, 891, 422, 76, 50, 145, 77, 82, 900, 50, - 173, 59, 172, 59, 82, 67, 416, 233, 59, 59, - 72, 3, 182, 183, 407, 185, 186, 59, 60, 919, - 843, 72, 233, 173, 77, 78, 67, 419, 38, 538, - 932, 72, 245, 191, 76, 45, 194, 195, 30, 698, - 699, 208, 45, 339, 191, 67, 204, 343, 195, 59, - 72, 334, 219, 77, 342, 225, 214, 204, 50, 526, - 82, 288, 345, 659, 38, 278, 30, 59, 351, 520, - 376, 45, 285, 524, 247, 358, 82, 360, 248, 252, - 3, 254, 232, 233, 612, 234, 230, 236, 232, 519, - 233, 68, 69, 70, 603, 3, 4, 247, 833, 3, - 4, 78, 252, 38, 254, 275, 276, 30, 3, 4, - 45, 3, 4, 5, 6, 7, 567, 629, 65, 570, - 3, 4, 3, 4, 7, 77, 30, 50, 301, 81, - 311, 82, 728, 82, 38, 348, 59, 60, 605, 309, - 76, 59, 60, 59, 60, 81, 50, 30, 578, 30, - 59, 301, 811, 59, 311, 59, 50, 38, 76, 67, - 76, 3, 4, 369, 72, 59, 60, 50, 72, 50, - 328, 338, 67, 386, 82, 67, 59, 72, 59, 485, - 72, 339, 7, 353, 342, 343, 59, 82, 30, 416, - 582, 72, 339, 559, 78, 4, 343, 6, 7, 591, - 78, 414, 77, 12, 13, 14, 81, 513, 50, 30, - 59, 437, 59, 76, 3, 4, 30, 59, 81, 28, - 76, 688, 48, 49, 654, 50, 437, 657, 621, 639, - 72, 81, 700, 513, 59, 60, 45, 63, 59, 60, - 3, 4, 838, 77, 9, 59, 60, 81, 418, 430, - 3, 4, 410, 426, 76, 68, 69, 70, 67, 81, - 75, 50, 227, 72, 422, 78, 622, 425, 77, 78, - 235, 76, 444, 430, 76, 433, 426, 422, 67, 585, - 77, 673, 422, 72, 81, 457, 444, 437, 433, 433, - 573, 620, 38, 433, 444, 578, 59, 626, 82, 443, - 444, 711, 552, 553, 67, 698, 59, 457, 27, 72, - 251, 30, 705, 77, 67, 256, 257, 36, 59, 72, + 20, 288, 208, 23, 83, 25, 26, 2, 3, 2, + 3, 33, 2, 3, 91, 22, 85, 24, 177, 36, + 326, 318, 345, 31, 203, 33, 98, 243, 351, 347, + 66, 39, 98, 33, 31, 277, 67, 333, 32, 33, + 71, 411, 107, 108, 39, 177, 39, 284, 113, 39, + 636, 477, 142, 553, 74, 145, 434, 432, 204, 124, + 67, 61, 1, 80, 71, 194, 58, 200, 736, 77, + 135, 88, 1, 818, 94, 83, 1, 85, 116, 38, + 77, 10, 9, 91, 1, 3, 3, 4, 85, 109, + 3, 4, 27, 1, 76, 45, 38, 521, 98, 81, + 715, 525, 59, 60, 283, 98, 38, 324, 38, 0, + 3, 4, 30, 45, 246, 45, 116, 76, 733, 76, + 0, 3, 4, 868, 59, 60, 146, 423, 148, 59, + 417, 81, 50, 801, 76, 173, 199, 214, 77, 3, + 4, 59, 60, 888, 568, 145, 891, 571, 893, 76, + 67, 59, 172, 82, 67, 72, 901, 82, 59, 72, + 38, 233, 182, 183, 539, 185, 186, 233, 38, 82, + 59, 408, 38, 173, 67, 45, 844, 59, 420, 72, + 59, 59, 245, 191, 3, 67, 194, 195, 933, 82, + 72, 208, 45, 339, 191, 59, 204, 343, 195, 699, + 700, 334, 219, 67, 82, 225, 214, 204, 72, 247, + 76, 288, 345, 342, 252, 278, 254, 77, 351, 77, + 39, 81, 285, 892, 520, 358, 3, 360, 248, 604, + 527, 30, 232, 233, 660, 613, 230, 30, 232, 38, + 233, 76, 234, 82, 236, 377, 81, 247, 834, 3, + 4, 920, 252, 30, 254, 275, 276, 30, 3, 4, + 630, 3, 4, 301, 65, 7, 1, 59, 60, 4, + 5, 6, 7, 50, 82, 10, 76, 12, 13, 14, + 311, 81, 59, 579, 76, 348, 59, 60, 30, 309, + 59, 60, 82, 28, 3, 4, 5, 6, 7, 48, + 49, 301, 59, 729, 311, 370, 50, 76, 50, 606, + 45, 59, 812, 67, 63, 59, 60, 59, 72, 77, + 328, 338, 67, 81, 387, 77, 59, 72, 82, 81, + 72, 339, 67, 353, 342, 343, 27, 72, 76, 30, + 417, 583, 339, 81, 560, 36, 343, 82, 27, 30, + 592, 30, 415, 640, 486, 514, 78, 36, 67, 655, + 3, 4, 658, 72, 1, 78, 438, 4, 76, 6, + 7, 59, 438, 81, 59, 12, 13, 14, 59, 60, + 59, 60, 514, 701, 77, 622, 77, 30, 81, 427, + 81, 28, 689, 77, 31, 38, 76, 81, 77, 419, + 431, 9, 81, 411, 68, 69, 70, 50, 45, 68, + 69, 70, 227, 839, 78, 423, 59, 623, 426, 78, + 235, 3, 4, 445, 431, 712, 434, 427, 423, 72, + 67, 81, 674, 423, 75, 72, 458, 445, 438, 434, + 434, 574, 621, 77, 434, 445, 579, 81, 627, 77, + 444, 445, 7, 81, 586, 77, 3, 4, 458, 81, + 251, 76, 699, 553, 554, 256, 257, 76, 50, 706, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 59, 60, 54, 55, 803, 57, 58, 59, - 60, 511, 76, 515, 76, 574, 77, 81, 36, 81, - 81, 77, 3, 4, 67, 81, 76, 515, 77, 81, - 518, 77, 81, 535, 730, 515, 68, 69, 70, 76, - 514, 76, 655, 518, 657, 533, 78, 535, 518, 30, - 77, 346, 59, 60, 81, 535, 533, 616, 617, 615, - 534, 535, 611, 82, 552, 553, 76, 547, 556, 50, - 766, 77, 546, 547, 615, 552, 553, 577, 59, 607, - 608, 352, 639, 882, 564, 884, 574, 77, 637, 563, - 564, 81, 68, 69, 70, 754, 50, 51, 52, 3, - 4, 601, 78, 7, 38, 3, 4, 77, 596, 77, - 77, 81, 3, 81, 81, 59, 7, 388, 389, 596, - 77, 78, 610, 611, 612, 622, 30, 76, 616, 617, - 59, 60, 30, 621, 611, 615, 77, 612, 612, 30, - 926, 629, 612, 10, 621, 76, 50, 635, 934, 637, - 77, 78, 50, 63, 711, 59, 60, 82, 701, 50, - 637, 59, 60, 76, 664, 862, 59, 60, 59, 60, - 128, 129, 868, 5, 6, 7, 471, 27, 9, 36, - 12, 13, 14, 478, 479, 54, 55, 730, 57, 58, - 59, 60, 1, 752, 83, 4, 5, 6, 7, 27, - 77, 10, 30, 12, 13, 14, 78, 78, 36, 38, - 698, 699, 76, 909, 910, 78, 78, 705, 76, 28, - 720, 698, 699, 766, 495, 76, 38, 76, 705, 76, - 730, 59, 60, 76, 777, 76, 45, 76, 4, 5, - 6, 7, 730, 5, 6, 7, 12, 13, 14, 77, - 12, 13, 14, 81, 76, 730, 744, 730, 67, 83, - 730, 797, 28, 72, 752, 83, 766, 744, 30, 882, - 781, 884, 815, 82, 833, 818, 819, 572, 778, 45, - 76, 6, 7, 826, 82, 787, 835, 12, 13, 14, - 63, 63, 76, 780, 781, 566, 76, 36, 841, 787, - 83, 67, 78, 81, 32, 848, 72, 787, 38, 797, - 581, 77, 786, 787, 83, 76, 859, 48, 49, 50, - 51, 52, 797, 811, 797, 868, 77, 797, 623, 624, - 625, 81, 627, 628, 811, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 833, 3, 835, 891, 1, - 76, 3, 38, 77, 77, 650, 8, 9, 835, 11, - 1, 83, 63, 4, 5, 6, 7, 78, 868, 78, - 913, 12, 13, 14, 645, 38, 919, 29, 649, 31, - 38, 33, 34, 78, 679, 680, 681, 28, 40, 30, - 81, 43, 63, 38, 81, 78, 48, 49, 50, 36, - 38, 63, 54, 55, 45, 83, 677, 59, 60, 78, - 59, 59, 64, 59, 66, 38, 77, 77, 7, 71, - 38, 716, 693, 75, 77, 16, 67, 79, 80, 59, - 82, 72, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 82, 1, 714, 3, 4, 717, 6, 7, 8, - 9, 77, 11, 12, 13, 14, 78, 77, 77, 59, - 63, 732, 76, 17, 735, 9, 77, 76, 763, 28, - 29, 77, 31, 77, 33, 34, 77, 76, 76, 59, - 751, 40, 77, 77, 43, 81, 45, 77, 76, 48, - 49, 50, 76, 0, 77, 54, 55, 0, 419, 818, - 59, 60, 773, 291, 334, 64, 655, 66, 67, 797, - 87, 418, 71, 72, 638, 645, 75, 355, 233, 573, - 79, 80, 225, 82, 360, 868, 353, 655, 579, 800, - 868, 1, 657, 3, 4, 5, 6, 7, 8, 9, - 914, 11, 12, 13, 14, 15, 916, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 556, 33, 34, 413, 425, 25, 543, 425, - 40, 752, 843, 43, 749, 45, 617, 536, 48, 49, - 50, 310, 518, 854, 54, 55, 744, 513, 421, 59, - 60, 673, 585, -1, 64, 421, 66, 67, -1, 376, - -1, 71, 72, -1, -1, 75, -1, 77, 78, 79, - 80, 1, 82, 3, 4, 5, 6, 7, 8, 9, - -1, 11, 12, 13, 14, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, 45, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, -1, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, 78, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, -1, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, -1, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - 37, 11, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, -1, 78, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, -1, 78, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, 1, -1, -1, 4, -1, 6, 7, -1, - -1, -1, -1, 12, 13, 14, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, 28, - 40, -1, 31, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, 45, -1, 58, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, -1, 67, 79, - 80, 1, 82, 72, 4, 5, 6, 7, 77, 78, - -1, -1, 12, 13, 14, -1, -1, -1, -1, -1, - 1, -1, -1, 4, 5, 6, 7, 27, 28, -1, - 30, 12, 13, 14, -1, -1, 36, 45, 46, 47, - 48, 49, 50, 51, 52, 45, 27, 28, -1, 30, - -1, -1, -1, -1, -1, 36, -1, -1, -1, 59, - 60, -1, -1, -1, 45, -1, -1, 67, -1, -1, - -1, -1, 72, -1, -1, -1, -1, 77, 59, 60, - -1, 81, 82, -1, -1, -1, 67, -1, -1, -1, - -1, 72, -1, -1, -1, -1, 77, -1, -1, 1, - 81, 82, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, -1, -1, -1, -1, -1, 1, -1, - -1, 4, 5, 6, 7, 27, 28, -1, 30, 12, - 13, 14, -1, -1, 36, 46, 47, 48, 49, 50, - 51, 52, -1, 45, -1, 28, 1, 30, -1, 4, - 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, - -1, -1, 45, -1, -1, 67, -1, -1, -1, -1, - 72, -1, -1, 28, -1, 77, -1, -1, -1, 81, - 82, -1, -1, -1, 67, -1, -1, -1, 3, 72, - 45, -1, -1, 8, 9, -1, 11, -1, -1, 82, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 67, -1, 29, -1, 31, 72, 33, 34, - -1, -1, -1, -1, -1, 40, -1, 82, 43, -1, - -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, - 55, -1, -1, -1, 59, 60, -1, 3, -1, 64, - -1, 66, 8, 9, -1, 11, 71, -1, -1, -1, - 75, -1, -1, -1, 79, 80, -1, -1, 83, -1, - -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, - -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, - -1, -1, -1, 59, 60, -1, 3, -1, 64, -1, + 271, 272, 77, 30, 38, 67, 81, 68, 69, 70, + 72, 5, 512, 7, 516, 50, 575, 78, 77, 68, + 69, 70, 81, 50, 59, 60, 77, 804, 516, 78, + 81, 519, 59, 60, 536, 731, 516, 50, 51, 52, + 82, 515, 59, 656, 519, 658, 534, 77, 536, 519, + 36, 346, 3, 4, 77, 78, 536, 534, 617, 618, + 81, 535, 536, 612, 616, 553, 554, 67, 548, 557, + 616, 767, 77, 547, 548, 76, 553, 554, 578, 30, + 883, 352, 885, 640, 76, 565, 82, 575, 76, 638, + 564, 565, 608, 609, 59, 60, 755, 59, 60, 50, + 3, 4, 602, 77, 7, 38, 3, 59, 59, 597, + 7, 77, 78, 3, 4, 59, 60, 7, 389, 390, + 597, 72, 76, 611, 612, 613, 623, 30, 77, 617, + 618, 77, 78, 30, 622, 612, 616, 10, 613, 613, + 30, 927, 630, 613, 76, 622, 63, 50, 636, 935, + 638, 59, 60, 50, 3, 712, 59, 60, 7, 702, + 50, 638, 59, 60, 82, 665, 863, 128, 129, 59, + 76, 27, 9, 869, 83, 77, 36, 472, 78, 78, + 76, 30, 76, 78, 479, 480, 78, 38, 731, 3, + 4, 76, 76, 1, 753, 76, 4, 5, 6, 7, + 76, 50, 76, 38, 12, 13, 14, 76, 83, 76, + 59, 699, 700, 83, 910, 911, 30, 76, 706, 82, + 28, 721, 699, 700, 767, 496, 6, 7, 76, 706, + 63, 731, 12, 13, 14, 778, 50, 45, 63, 4, + 5, 6, 7, 731, 76, 59, 36, 12, 13, 14, + 78, 81, 83, 798, 32, 38, 731, 745, 731, 67, + 83, 731, 77, 28, 72, 753, 76, 767, 745, 81, + 883, 782, 885, 816, 82, 834, 819, 820, 573, 779, + 45, 5, 6, 7, 827, 76, 788, 836, 12, 13, + 14, 77, 3, 77, 781, 782, 567, 38, 83, 842, + 788, 63, 67, 78, 78, 38, 849, 72, 788, 38, + 798, 582, 77, 787, 788, 54, 55, 860, 57, 58, + 59, 60, 78, 798, 812, 798, 869, 81, 798, 624, + 625, 626, 63, 628, 629, 812, 38, 76, 45, 46, + 47, 48, 49, 50, 51, 52, 834, 81, 836, 892, + 1, 78, 3, 36, 63, 83, 651, 8, 9, 836, + 11, 1, 78, 38, 4, 5, 6, 7, 59, 869, + 59, 914, 12, 13, 14, 646, 38, 920, 29, 650, + 31, 59, 33, 34, 77, 680, 681, 682, 28, 40, + 30, 77, 43, 5, 6, 7, 38, 48, 49, 50, + 12, 13, 14, 54, 55, 45, 7, 678, 59, 60, + 77, 77, 16, 64, 78, 66, 59, 77, 30, 77, + 71, 59, 717, 694, 75, 17, 63, 67, 79, 80, + 76, 82, 72, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 82, 1, 715, 3, 4, 718, 6, 7, + 8, 9, 77, 11, 12, 13, 14, 48, 49, 50, + 51, 52, 733, 76, 9, 736, 59, 77, 76, 764, + 28, 29, 77, 31, 76, 33, 34, 77, 77, 0, + 77, 752, 40, 81, 0, 43, 76, 45, 76, 420, + 48, 49, 50, 77, 77, 819, 54, 55, 334, 656, + 798, 59, 60, 774, 639, 87, 64, 419, 66, 67, + 291, 355, 646, 71, 72, 233, 574, 75, 360, 225, + 656, 79, 80, 580, 82, 658, 353, 869, 869, 915, + 801, 414, 1, 917, 3, 4, 5, 6, 7, 8, + 9, 557, 11, 12, 13, 14, 15, 426, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 25, 33, 34, 544, 753, 426, 750, + 618, 40, 310, 844, 43, 745, 45, 537, 519, 48, + 49, 50, 422, 422, 855, 54, 55, 514, 674, 586, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + 377, -1, 71, 72, -1, -1, 75, -1, 77, 78, + 79, 80, 1, 82, 3, 4, 5, 6, 7, 8, + 9, -1, 11, 12, 13, 14, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, 54, 55, 43, 57, 58, 59, 60, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, 78, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, 3, + 4, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, 30, 66, 67, -1, + -1, -1, 71, 72, 38, -1, 75, -1, 77, -1, + 79, 80, 1, 82, 3, 4, 50, -1, -1, 8, + 9, -1, 11, -1, -1, 59, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 72, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 78, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, 37, 11, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 78, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, 1, -1, -1, 4, -1, 6, 7, + -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + 28, 40, -1, 31, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, 45, -1, 58, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 67, + 79, 80, 1, 82, 72, 4, 5, 6, 7, 77, + 78, -1, -1, 12, 13, 14, -1, -1, -1, -1, + -1, 1, -1, -1, 4, 5, 6, 7, 27, 28, + -1, 30, 12, 13, 14, -1, -1, 36, 46, 47, + 48, 49, 50, 51, 52, -1, 45, 27, 28, -1, + 30, -1, -1, -1, -1, -1, 36, -1, -1, -1, + 59, 60, -1, -1, -1, 45, -1, -1, 67, -1, + -1, -1, -1, 72, -1, -1, -1, -1, 77, 59, + 60, -1, 81, 82, -1, -1, -1, 67, -1, -1, + -1, -1, 72, -1, -1, -1, -1, 77, -1, -1, + 1, 81, 82, 4, 5, 6, 7, -1, -1, -1, + -1, 12, 13, 14, -1, -1, -1, -1, -1, 1, + -1, -1, 4, 5, 6, 7, 27, 28, -1, 30, + 12, 13, 14, -1, -1, 36, -1, -1, -1, -1, + -1, -1, -1, -1, 45, -1, 28, 3, 30, -1, + -1, -1, 8, 9, -1, 11, -1, -1, -1, -1, + -1, -1, -1, 45, -1, -1, 67, -1, -1, -1, + -1, 72, -1, 29, -1, 31, 77, 33, 34, -1, + 81, 82, -1, -1, 40, 67, -1, 43, -1, -1, + 72, -1, 48, 49, 50, -1, -1, -1, 54, 55, + 82, -1, -1, 59, 60, -1, 3, -1, 64, -1, 66, 8, 9, -1, 11, 71, -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, 83, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, @@ -1498,156 +1493,163 @@ static const short yycheck[] = { 9, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, - 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, - -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, - 79, 80, -1, -1, 83, 3, 4, 5, 6, 7, - 8, 9, -1, 11, 12, 13, 14, 15, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, - -1, 59, 60, -1, -1, -1, 64, -1, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, 77, - -1, 79, 80, -1, 82, 3, 4, -1, -1, -1, - 8, 9, -1, 11, -1, -1, -1, 15, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, - -1, 59, 60, -1, 8, 9, 64, 11, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, 77, - -1, 79, 80, -1, 82, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, -1, 66, -1, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, -1, 79, 80, -1, 82, 3, - 4, -1, 6, 7, -1, -1, -1, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 3, 4, 5, - 6, 7, 8, 9, 38, 11, 12, 13, 14, 4, - 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, - -1, -1, 28, 29, 30, 31, -1, 33, 34, -1, - -1, -1, -1, 28, 40, 30, -1, 43, 72, 45, - -1, -1, 48, 49, 50, -1, -1, 81, 54, 55, - 45, -1, -1, 59, 60, -1, -1, -1, 64, -1, - 66, 67, -1, -1, -1, 71, 72, -1, -1, 75, - -1, -1, 67, 79, 80, 3, 4, 72, 6, 7, - 8, 9, 77, 11, 12, 13, 14, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, - 28, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, - -1, 59, 60, -1, 8, 9, 64, 11, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, -1, - -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, 3, -1, 59, 60, -1, 8, 9, - 64, 11, 66, 67, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, -1, 79, 80, -1, -1, 29, + 59, 60, -1, 3, -1, 64, -1, 66, 8, 9, + -1, 11, 71, -1, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 83, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, 3, -1, 59, - 60, -1, 8, 9, 64, 11, 66, -1, -1, -1, - -1, 71, -1, -1, -1, 75, -1, 77, -1, 79, - 80, -1, -1, 29, -1, 31, -1, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, - -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, - -1, 3, -1, 59, 60, -1, 8, 9, 64, 11, - 66, -1, -1, -1, -1, 71, -1, -1, -1, 75, - -1, -1, -1, 79, 80, -1, -1, 29, -1, 31, - -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, - -1, -1, 54, 55, -1, 3, -1, 59, 60, -1, - 8, 9, 64, 11, 66, -1, -1, -1, -1, 71, - -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, - -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, - -1, 59, 60, -1, 8, 9, 64, 11, 66, -1, - -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, - -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, -1, 66, -1, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, 1, 79, 80, 4, -1, 6, - 7, -1, -1, -1, -1, 12, 13, 14, -1, -1, - -1, -1, 1, -1, -1, 4, -1, 6, 7, -1, - -1, 28, -1, 12, 13, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, 28, - -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, - 5, 6, 7, -1, -1, -1, 45, 12, 13, 14, - 67, 68, 69, 70, -1, 72, -1, -1, -1, -1, - 77, 78, 27, 28, -1, 30, 31, -1, 67, 68, - 69, 70, -1, 72, -1, -1, -1, -1, 77, 78, - 45, -1, -1, 48, 49, 50, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, 61, 62, 63, -1, - -1, -1, 67, -1, -1, -1, 71, 72, 73, 74, - -1, 1, 77, 3, 4, 5, 6, 7, -1, -1, - -1, -1, 12, 13, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 1, - 30, 3, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, -1, -1, 45, -1, -1, 48, 49, - 50, -1, -1, -1, -1, -1, 28, -1, 30, 59, - -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, - -1, -1, 72, 45, -1, -1, -1, 77, 50, 1, - -1, 3, 4, 5, 6, 7, -1, 59, 10, -1, - 12, 13, 14, -1, -1, 67, -1, -1, 1, -1, - 72, 4, 5, 6, 7, 77, 28, 10, 30, 12, - 13, 14, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, 45, -1, 28, -1, 30, -1, -1, - -1, 4, 5, 6, 7, -1, 28, -1, 30, 12, - 13, 14, 45, -1, -1, 67, -1, -1, -1, -1, - 72, -1, -1, 45, 76, 28, -1, 30, -1, -1, - -1, -1, -1, -1, 67, 1, -1, -1, 4, 72, - 6, 7, 45, 76, -1, 67, 12, 13, 14, -1, - 72, -1, -1, -1, -1, 77, -1, -1, -1, -1, - -1, -1, 28, -1, 67, 31, -1, -1, -1, 72, - -1, -1, 3, 4, 77, 6, 7, -1, -1, 45, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, - -1, 67, -1, 30, -1, -1, 72, 38, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, -1, 59, -1, - -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, - -1, 72, 11, 12, 13, 14, 15, 16, 17, 18, + 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, -1, + -1, 71, -1, -1, -1, 75, -1, -1, -1, 79, + 80, -1, -1, 83, 3, 4, 5, 6, 7, 8, + 9, -1, 11, 12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 3, 4, -1, 6, 7, -1, -1, 38, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, - -1, -1, -1, -1, -1, -1, -1, 38, 3, 4, - -1, 6, 7, 72, -1, -1, 11, 12, 13, 14, + 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, -1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, + 59, 60, -1, 8, 9, 64, 11, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, -1, 82, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, -1, -1, 71, -1, -1, -1, + 75, -1, -1, -1, 79, 80, -1, 82, 3, 4, + -1, 6, 7, -1, -1, -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, -1, -1, 4, -1, 6, - 7, 72, -1, 38, -1, 12, 13, 14, 4, 5, - 6, 7, -1, -1, 10, -1, 12, 13, 14, -1, - -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 28, -1, 30, -1, -1, 72, 45, -1, - -1, -1, -1, 50, -1, -1, -1, -1, -1, 45, - -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, - 67, -1, -1, -1, -1, 72, -1, -1, -1, -1, - -1, 67, 4, 5, 6, 7, 72, -1, 10, -1, - 12, 13, 14, 4, 5, 6, 7, -1, -1, -1, - -1, 12, 13, 14, -1, -1, 28, -1, 30, -1, - -1, -1, 4, 5, 6, 7, -1, 28, -1, 30, - 12, 13, 14, 45, -1, -1, -1, -1, -1, -1, - 4, -1, 6, 7, 45, -1, 28, -1, 12, 13, - 14, -1, -1, -1, -1, 67, -1, -1, -1, 4, - 72, 6, 7, 45, 28, -1, 67, 12, 13, 14, - -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 45, -1, 28, -1, 67, -1, -1, -1, -1, + 25, 26, 27, 28, 29, -1, 3, 4, 5, 6, + 7, 8, 9, 38, 11, 12, 13, 14, 4, 5, + 6, 7, -1, -1, -1, -1, 12, 13, 14, -1, + -1, 28, 29, 30, 31, -1, 33, 34, -1, -1, + -1, -1, 28, 40, 30, -1, 43, 72, 45, -1, + -1, 48, 49, 50, -1, -1, 81, 54, 55, 45, + -1, -1, 59, 60, -1, -1, -1, 64, -1, 66, + 67, -1, -1, -1, 71, 72, -1, -1, 75, -1, + -1, 67, 79, 80, 3, 4, 72, 6, 7, 8, + 9, 77, 11, 12, 13, 14, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 28, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, + 59, 60, -1, 8, 9, 64, 11, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, 3, -1, 59, 60, -1, 8, 9, 64, + 11, 66, 67, -1, -1, -1, 71, -1, -1, -1, + 75, -1, -1, -1, 79, 80, -1, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, + -1, 8, 9, 64, 11, 66, -1, -1, -1, -1, + 71, -1, -1, -1, 75, -1, 77, -1, 79, 80, + -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, + 3, -1, 59, 60, -1, 8, 9, 64, 11, 66, + -1, -1, -1, -1, 71, -1, -1, -1, 75, -1, + -1, -1, 79, 80, -1, -1, 29, -1, 31, -1, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, + -1, 54, 55, -1, 3, -1, 59, 60, -1, 8, + 9, 64, 11, 66, -1, -1, -1, -1, 71, -1, + -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, + 59, 60, -1, 8, 9, 64, 11, 66, -1, -1, + -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, -1, -1, 71, -1, -1, -1, + 75, -1, -1, 1, 79, 80, 4, -1, 6, 7, + -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, + -1, 1, -1, -1, 4, -1, 6, 7, -1, -1, + 28, -1, 12, 13, 14, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, -1, 45, 28, -1, + -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, + 6, 7, -1, -1, -1, 45, 12, 13, 14, 67, + 68, 69, 70, -1, 72, -1, -1, -1, -1, 77, + 78, 27, 28, -1, 30, 31, -1, 67, 68, 69, + 70, -1, 72, -1, -1, -1, -1, 77, 78, 45, + -1, -1, 48, 49, 50, -1, -1, -1, -1, -1, + -1, -1, -1, 59, -1, 61, 62, 63, -1, -1, + -1, 67, -1, -1, -1, 71, 72, 73, 74, -1, + 1, 77, 3, 4, 5, 6, 7, -1, -1, -1, + -1, 12, 13, 14, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, -1, -1, 28, 1, 30, + 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, + 13, 14, -1, -1, 45, -1, -1, 48, 49, 50, + -1, -1, -1, -1, -1, 28, -1, 30, 59, -1, + -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, + -1, 72, 45, -1, -1, -1, 77, 50, 1, -1, + 3, 4, 5, 6, 7, -1, 59, 10, -1, 12, + 13, 14, -1, -1, 67, -1, -1, 1, -1, 72, + 4, 5, 6, 7, 77, 28, 10, 30, 12, 13, + 14, 4, -1, 6, 7, -1, -1, -1, -1, 12, + 13, 14, 45, -1, 28, -1, 30, -1, -1, -1, + 4, 5, 6, 7, -1, 28, -1, -1, 12, 13, + 14, 45, -1, -1, 67, -1, -1, -1, -1, 72, + -1, -1, 45, 76, 28, -1, 30, -1, -1, -1, + -1, -1, -1, 67, -1, -1, -1, -1, 72, -1, + -1, 45, 76, -1, 67, -1, -1, -1, -1, 72, + 4, 5, 6, 7, 77, 78, -1, -1, 12, 13, + 14, -1, -1, 67, -1, -1, -1, -1, 72, -1, + -1, -1, -1, 77, 28, -1, 30, -1, -1, -1, + -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, + -1, 45, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, -1, -1, 67, -1, 30, -1, -1, 72, 38, + 35, 36, 37, 77, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, + 59, -1, -1, -1, -1, -1, 3, 4, -1, 6, + 7, -1, -1, 72, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, -1, 3, 4, -1, 6, 7, -1, + -1, 38, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, -1, -1, -1, -1, -1, -1, -1, -1, 38, + 3, 4, -1, 6, 7, 72, -1, -1, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, -1, -1, 4, + -1, 6, 7, 72, -1, 38, -1, 12, 13, 14, + 4, 5, 6, 7, -1, -1, 10, -1, 12, 13, + 14, -1, -1, 28, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 28, -1, 30, -1, -1, 72, + 45, -1, -1, -1, -1, 50, -1, -1, -1, -1, + -1, 45, -1, -1, 59, 60, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, 72, -1, -1, + -1, -1, -1, 67, 4, 5, 6, 7, 72, -1, + 10, -1, 12, 13, 14, 4, 5, 6, 7, -1, + -1, -1, -1, 12, 13, 14, -1, -1, 28, -1, + 30, -1, -1, -1, 4, 5, 6, 7, -1, 28, + -1, 30, 12, 13, 14, 45, -1, -1, -1, -1, + -1, -1, 4, -1, 6, 7, 45, -1, 28, -1, + 12, 13, 14, -1, -1, -1, -1, 67, -1, -1, + -1, 4, 72, 6, 7, 45, 28, -1, 67, 12, + 13, 14, -1, 72, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 45, -1, 28, -1, 67, -1, -1, + -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 45, -1, -1, 67, 10, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 45, -1, -1, 67, 10, -1, -1, -1, 72, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, 72, -1, 35, + -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, + -1, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52 + -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/local/share/bison.simple" @@ -2142,14 +2144,14 @@ yyreduce: switch (yyn) { case 1: -#line 237 "objc-parse.y" +#line 240 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids an empty source file"); finish_file (); ; break;} case 2: -#line 242 "objc-parse.y" +#line 245 "objc-parse.y" { /* In case there were missing closebraces, get us back to the global binding level. */ @@ -2159,15 +2161,15 @@ case 2: ; break;} case 3: -#line 256 "objc-parse.y" +#line 259 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} case 5: -#line 257 "objc-parse.y" +#line 260 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} case 10: -#line 265 "objc-parse.y" +#line 268 "objc-parse.y" { STRIP_NOPS (yyvsp[-2].ttype); if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) @@ -2177,11 +2179,11 @@ case 10: error ("argument of `asm' is not a constant string"); ; break;} case 11: -#line 273 "objc-parse.y" +#line 276 "objc-parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 12: -#line 278 "objc-parse.y" +#line 281 "objc-parse.y" { if (pedantic) error ("ANSI C forbids data definition with no type or storage class"); else if (!flag_traditional) @@ -2193,45 +2195,45 @@ case 12: resume_momentary (yyvsp[-2].itype); ; break;} case 13: -#line 288 "objc-parse.y" +#line 291 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 14: -#line 293 "objc-parse.y" +#line 296 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 15: -#line 298 "objc-parse.y" +#line 301 "objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 16: -#line 300 "objc-parse.y" +#line 303 "objc-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 19: -#line 304 "objc-parse.y" +#line 307 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C does not allow extra `;' outside of a function"); ; break;} case 20: -#line 310 "objc-parse.y" +#line 313 "objc-parse.y" { if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 21: -#line 315 "objc-parse.y" +#line 318 "objc-parse.y" { store_parm_decls (); ; break;} case 22: -#line 317 "objc-parse.y" +#line 320 "objc-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2239,25 +2241,25 @@ case 22: resume_momentary (yyvsp[-5].itype); ; break;} case 23: -#line 323 "objc-parse.y" +#line 326 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 24: -#line 328 "objc-parse.y" +#line 331 "objc-parse.y" { if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 25: -#line 333 "objc-parse.y" +#line 336 "objc-parse.y" { store_parm_decls (); ; break;} case 26: -#line 335 "objc-parse.y" +#line 338 "objc-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2265,25 +2267,25 @@ case 26: resume_momentary (yyvsp[-5].itype); ; break;} case 27: -#line 341 "objc-parse.y" +#line 344 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 28: -#line 346 "objc-parse.y" +#line 349 "objc-parse.y" { if (! start_function (NULL_TREE, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 29: -#line 351 "objc-parse.y" +#line 354 "objc-parse.y" { store_parm_decls (); ; break;} case 30: -#line 353 "objc-parse.y" +#line 356 "objc-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2291,72 +2293,72 @@ case 30: resume_momentary (yyvsp[-5].itype); ; break;} case 31: -#line 359 "objc-parse.y" +#line 362 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 36: -#line 373 "objc-parse.y" +#line 376 "objc-parse.y" { yyval.code = ADDR_EXPR; ; break;} case 37: -#line 375 "objc-parse.y" +#line 378 "objc-parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 38: -#line 377 "objc-parse.y" +#line 380 "objc-parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 39: -#line 379 "objc-parse.y" +#line 382 "objc-parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 40: -#line 381 "objc-parse.y" +#line 384 "objc-parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 41: -#line 383 "objc-parse.y" +#line 386 "objc-parse.y" { yyval.code = BIT_NOT_EXPR; ; break;} case 42: -#line 385 "objc-parse.y" +#line 388 "objc-parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 43: -#line 389 "objc-parse.y" +#line 392 "objc-parse.y" { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ; break;} case 44: -#line 394 "objc-parse.y" +#line 397 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 46: -#line 400 "objc-parse.y" +#line 403 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 47: -#line 402 "objc-parse.y" +#line 405 "objc-parse.y" { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 49: -#line 408 "objc-parse.y" +#line 411 "objc-parse.y" { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 50: -#line 411 "objc-parse.y" +#line 414 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 51: -#line 414 "objc-parse.y" +#line 417 "objc-parse.y" { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); overflow_warning (yyval.ttype); ; break;} case 52: -#line 418 "objc-parse.y" +#line 421 "objc-parse.y" { tree label = lookup_label (yyvsp[0].ttype); if (pedantic) pedwarn ("ANSI C forbids `&&'"); @@ -2371,57 +2373,57 @@ case 52: ; break;} case 53: -#line 446 "objc-parse.y" +#line 449 "objc-parse.y" { skip_evaluation--; if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF - && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) + && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) error ("`sizeof' applied to a bit-field"); yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ; break;} case 54: -#line 452 "objc-parse.y" +#line 455 "objc-parse.y" { skip_evaluation--; yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ; break;} case 55: -#line 455 "objc-parse.y" +#line 458 "objc-parse.y" { skip_evaluation--; yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ; break;} case 56: -#line 458 "objc-parse.y" +#line 461 "objc-parse.y" { skip_evaluation--; yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ; break;} case 57: -#line 461 "objc-parse.y" +#line 464 "objc-parse.y" { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ; break;} case 58: -#line 463 "objc-parse.y" +#line 466 "objc-parse.y" { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ; break;} case 59: -#line 467 "objc-parse.y" +#line 470 "objc-parse.y" { skip_evaluation++; ; break;} case 60: -#line 471 "objc-parse.y" +#line 474 "objc-parse.y" { skip_evaluation++; ; break;} case 62: -#line 477 "objc-parse.y" +#line 480 "objc-parse.y" { tree type = groktypename (yyvsp[-2].ttype); yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ; break;} case 63: -#line 480 "objc-parse.y" +#line 483 "objc-parse.y" { start_init (NULL_TREE, NULL, 0); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); really_start_incremental_init (yyvsp[-2].ttype); ; break;} case 64: -#line 484 "objc-parse.y" +#line 487 "objc-parse.y" { char *name; tree result = pop_init_level (0); tree type = yyvsp[-5].ttype; @@ -2448,90 +2450,90 @@ case 64: ; break;} case 66: -#line 513 "objc-parse.y" +#line 516 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 67: -#line 515 "objc-parse.y" +#line 518 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 68: -#line 517 "objc-parse.y" +#line 520 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 69: -#line 519 "objc-parse.y" +#line 522 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 70: -#line 521 "objc-parse.y" +#line 524 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 71: -#line 523 "objc-parse.y" +#line 526 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 72: -#line 525 "objc-parse.y" +#line 528 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 73: -#line 527 "objc-parse.y" +#line 530 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 74: -#line 529 "objc-parse.y" +#line 532 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 75: -#line 531 "objc-parse.y" +#line 534 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 76: -#line 533 "objc-parse.y" +#line 536 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 77: -#line 535 "objc-parse.y" +#line 538 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 78: -#line 537 "objc-parse.y" +#line 540 "objc-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} case 79: -#line 540 "objc-parse.y" +#line 543 "objc-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 80: -#line 543 "objc-parse.y" +#line 546 "objc-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} case 81: -#line 546 "objc-parse.y" +#line 549 "objc-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 82: -#line 549 "objc-parse.y" +#line 552 "objc-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} case 83: -#line 552 "objc-parse.y" +#line 555 "objc-parse.y" { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) - (yyvsp[-4].ttype == boolean_false_node)); ; break;} case 84: -#line 555 "objc-parse.y" +#line 558 "objc-parse.y" { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 85: -#line 558 "objc-parse.y" +#line 561 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ @@ -2540,23 +2542,23 @@ case 85: skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} case 86: -#line 565 "objc-parse.y" +#line 568 "objc-parse.y" { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 87: -#line 568 "objc-parse.y" +#line 571 "objc-parse.y" { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 88: -#line 571 "objc-parse.y" +#line 574 "objc-parse.y" { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); /* This inhibits warnings in truthvalue_conversion. */ C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ; break;} case 89: -#line 578 "objc-parse.y" +#line 581 "objc-parse.y" { yyval.ttype = lastiddecl; if (!yyval.ttype || yyval.ttype == error_mark_node) @@ -2717,11 +2719,11 @@ case 89: ; break;} case 91: -#line 738 "objc-parse.y" +#line 741 "objc-parse.y" { yyval.ttype = combine_strings (yyvsp[0].ttype); ; break;} case 92: -#line 740 "objc-parse.y" +#line 743 "objc-parse.y" { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); if (class == 'e' || class == '1' || class == '2' || class == '<') @@ -2729,11 +2731,11 @@ case 92: yyval.ttype = yyvsp[-1].ttype; ; break;} case 93: -#line 746 "objc-parse.y" +#line 749 "objc-parse.y" { yyval.ttype = error_mark_node; ; break;} case 94: -#line 748 "objc-parse.y" +#line 751 "objc-parse.y" { if (current_function_decl == 0) { error ("braced-group within expression allowed only inside a function"); @@ -2749,7 +2751,7 @@ case 94: yyval.ttype = expand_start_stmt_expr (); ; break;} case 95: -#line 762 "objc-parse.y" +#line 765 "objc-parse.y" { tree rtl_exp; if (pedantic) pedwarn ("ANSI C forbids braced-groups within expressions"); @@ -2774,15 +2776,15 @@ case 95: ; break;} case 96: -#line 785 "objc-parse.y" +#line 788 "objc-parse.y" { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 97: -#line 787 "objc-parse.y" +#line 790 "objc-parse.y" { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 98: -#line 789 "objc-parse.y" +#line 792 "objc-parse.y" { if (doing_objc_thang) { @@ -2796,7 +2798,7 @@ case 98: ; break;} case 99: -#line 801 "objc-parse.y" +#line 804 "objc-parse.y" { tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); @@ -2812,80 +2814,80 @@ case 99: ; break;} case 100: -#line 815 "objc-parse.y" +#line 818 "objc-parse.y" { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} case 101: -#line 817 "objc-parse.y" +#line 820 "objc-parse.y" { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} case 102: -#line 819 "objc-parse.y" +#line 822 "objc-parse.y" { yyval.ttype = build_message_expr (yyvsp[0].ttype); ; break;} case 103: -#line 821 "objc-parse.y" +#line 824 "objc-parse.y" { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ; break;} case 104: -#line 823 "objc-parse.y" +#line 826 "objc-parse.y" { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ; break;} case 105: -#line 825 "objc-parse.y" +#line 828 "objc-parse.y" { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ; break;} case 106: -#line 827 "objc-parse.y" +#line 830 "objc-parse.y" { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ; break;} case 108: -#line 834 "objc-parse.y" +#line 837 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 110: -#line 842 "objc-parse.y" +#line 845 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 113: -#line 850 "objc-parse.y" +#line 853 "objc-parse.y" { c_mark_varargs (); if (pedantic) pedwarn ("ANSI C does not permit use of `varargs.h'"); ; break;} case 114: -#line 860 "objc-parse.y" +#line 863 "objc-parse.y" { ; break;} case 119: -#line 876 "objc-parse.y" +#line 879 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 120: -#line 881 "objc-parse.y" +#line 884 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 121: -#line 886 "objc-parse.y" +#line 889 "objc-parse.y" { shadow_tag_warned (yyvsp[-1].ttype, 1); pedwarn ("empty declaration"); ; break;} case 122: -#line 889 "objc-parse.y" +#line 892 "objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 123: -#line 898 "objc-parse.y" +#line 901 "objc-parse.y" { ; break;} case 128: -#line 913 "objc-parse.y" +#line 916 "objc-parse.y" { yyval.itype = suspend_momentary (); pending_xref_error (); declspec_stack = tree_cons (prefix_attributes, @@ -2895,131 +2897,131 @@ case 128: ¤t_declspecs, &prefix_attributes); ; break;} case 129: -#line 924 "objc-parse.y" +#line 927 "objc-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ; break;} case 130: -#line 929 "objc-parse.y" +#line 932 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 131: -#line 934 "objc-parse.y" +#line 937 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 132: -#line 939 "objc-parse.y" +#line 942 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} case 133: -#line 944 "objc-parse.y" +#line 947 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} case 134: -#line 949 "objc-parse.y" +#line 952 "objc-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 135: -#line 951 "objc-parse.y" +#line 954 "objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 136: -#line 953 "objc-parse.y" +#line 956 "objc-parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 137: -#line 963 "objc-parse.y" +#line 966 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 138: -#line 965 "objc-parse.y" +#line 968 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 139: -#line 969 "objc-parse.y" +#line 972 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 140: -#line 971 "objc-parse.y" +#line 974 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 141: -#line 973 "objc-parse.y" +#line 976 "objc-parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 142: -#line 978 "objc-parse.y" +#line 981 "objc-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 143: -#line 983 "objc-parse.y" +#line 986 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 144: -#line 985 "objc-parse.y" +#line 988 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 145: -#line 990 "objc-parse.y" +#line 993 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 146: -#line 992 "objc-parse.y" +#line 995 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 147: -#line 994 "objc-parse.y" +#line 997 "objc-parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 148: -#line 1007 "objc-parse.y" +#line 1010 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 149: -#line 1009 "objc-parse.y" +#line 1012 "objc-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 150: -#line 1011 "objc-parse.y" +#line 1014 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 151: -#line 1013 "objc-parse.y" +#line 1016 "objc-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 152: -#line 1018 "objc-parse.y" +#line 1021 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 1; ; break;} case 153: -#line 1021 "objc-parse.y" +#line 1024 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 154: -#line 1023 "objc-parse.y" +#line 1026 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 155: -#line 1026 "objc-parse.y" +#line 1029 "objc-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); @@ -3027,150 +3029,150 @@ case 155: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 156: -#line 1040 "objc-parse.y" +#line 1043 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 157: -#line 1042 "objc-parse.y" +#line 1045 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 158: -#line 1046 "objc-parse.y" +#line 1049 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 159: -#line 1048 "objc-parse.y" +#line 1051 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 162: -#line 1058 "objc-parse.y" +#line 1061 "objc-parse.y" { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ yyval.ttype = lookup_name (yyvsp[0].ttype); ; break;} case 163: -#line 1062 "objc-parse.y" +#line 1065 "objc-parse.y" { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 164: -#line 1064 "objc-parse.y" +#line 1067 "objc-parse.y" { yyval.ttype = get_object_reference (yyvsp[0].ttype); ; break;} case 165: -#line 1069 "objc-parse.y" +#line 1072 "objc-parse.y" { yyval.ttype = get_object_reference (yyvsp[0].ttype); ; break;} case 166: -#line 1071 "objc-parse.y" +#line 1074 "objc-parse.y" { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; break;} case 167: -#line 1073 "objc-parse.y" +#line 1076 "objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; break;} case 175: -#line 1095 "objc-parse.y" +#line 1098 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 176: -#line 1097 "objc-parse.y" +#line 1100 "objc-parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 177: -#line 1104 "objc-parse.y" +#line 1107 "objc-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} case 178: -#line 1109 "objc-parse.y" +#line 1112 "objc-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 179: -#line 1112 "objc-parse.y" +#line 1115 "objc-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 180: -#line 1120 "objc-parse.y" +#line 1123 "objc-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} case 181: -#line 1125 "objc-parse.y" +#line 1128 "objc-parse.y" { finish_init (); decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 182: -#line 1129 "objc-parse.y" +#line 1132 "objc-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 183: -#line 1137 "objc-parse.y" +#line 1140 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 184: -#line 1139 "objc-parse.y" +#line 1142 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 185: -#line 1144 "objc-parse.y" +#line 1147 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 186: -#line 1146 "objc-parse.y" +#line 1149 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 187: -#line 1151 "objc-parse.y" +#line 1154 "objc-parse.y" { yyval.ttype = yyvsp[-2].ttype; ; break;} case 188: -#line 1156 "objc-parse.y" +#line 1159 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 189: -#line 1158 "objc-parse.y" +#line 1161 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 190: -#line 1163 "objc-parse.y" +#line 1166 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 191: -#line 1165 "objc-parse.y" +#line 1168 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} case 192: -#line 1167 "objc-parse.y" +#line 1170 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} case 193: -#line 1169 "objc-parse.y" +#line 1172 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} case 194: -#line 1171 "objc-parse.y" +#line 1174 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 200: -#line 1189 "objc-parse.y" +#line 1192 "objc-parse.y" { really_start_incremental_init (NULL_TREE); /* Note that the call to clear_momentary is in process_init_element. */ push_momentary (); ; break;} case 201: -#line 1194 "objc-parse.y" +#line 1197 "objc-parse.y" { yyval.ttype = pop_init_level (0); if (yyval.ttype == error_mark_node && ! (yychar == STRING || yychar == CONSTANT)) @@ -3179,36 +3181,36 @@ case 201: pop_momentary_nofree (); ; break;} case 202: -#line 1202 "objc-parse.y" +#line 1205 "objc-parse.y" { yyval.ttype = error_mark_node; ; break;} case 203: -#line 1208 "objc-parse.y" +#line 1211 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids empty initializer braces"); ; break;} case 207: -#line 1222 "objc-parse.y" +#line 1225 "objc-parse.y" { process_init_element (yyvsp[0].ttype); ; break;} case 208: -#line 1224 "objc-parse.y" +#line 1227 "objc-parse.y" { push_init_level (0); ; break;} case 209: -#line 1226 "objc-parse.y" +#line 1229 "objc-parse.y" { process_init_element (pop_init_level (0)); ; break;} case 211: -#line 1232 "objc-parse.y" +#line 1235 "objc-parse.y" { set_init_label (yyvsp[-1].ttype); ; break;} case 213: -#line 1235 "objc-parse.y" +#line 1238 "objc-parse.y" { set_init_label (yyvsp[-1].ttype); ; break;} case 215: -#line 1241 "objc-parse.y" +#line 1244 "objc-parse.y" { push_c_function_context (); if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 1)) @@ -3219,16 +3221,16 @@ case 215: reinit_parse_for_function (); ; break;} case 216: -#line 1250 "objc-parse.y" +#line 1253 "objc-parse.y" { store_parm_decls (); ; break;} case 217: -#line 1258 "objc-parse.y" +#line 1261 "objc-parse.y" { finish_function (1); pop_c_function_context (); ; break;} case 218: -#line 1264 "objc-parse.y" +#line 1267 "objc-parse.y" { push_c_function_context (); if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 1)) @@ -3239,172 +3241,172 @@ case 218: reinit_parse_for_function (); ; break;} case 219: -#line 1273 "objc-parse.y" +#line 1276 "objc-parse.y" { store_parm_decls (); ; break;} case 220: -#line 1281 "objc-parse.y" +#line 1284 "objc-parse.y" { finish_function (1); pop_c_function_context (); ; break;} case 223: -#line 1297 "objc-parse.y" +#line 1300 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 224: -#line 1299 "objc-parse.y" +#line 1302 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 225: -#line 1304 "objc-parse.y" +#line 1307 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 226: -#line 1306 "objc-parse.y" +#line 1309 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 227: -#line 1308 "objc-parse.y" +#line 1311 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 228: -#line 1315 "objc-parse.y" +#line 1318 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 231: -#line 1327 "objc-parse.y" +#line 1330 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 232: -#line 1332 "objc-parse.y" +#line 1335 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 233: -#line 1334 "objc-parse.y" +#line 1337 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 234: -#line 1336 "objc-parse.y" +#line 1339 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 235: -#line 1343 "objc-parse.y" +#line 1346 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 237: -#line 1352 "objc-parse.y" +#line 1355 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 238: -#line 1357 "objc-parse.y" +#line 1360 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 239: -#line 1359 "objc-parse.y" +#line 1362 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 240: -#line 1361 "objc-parse.y" +#line 1364 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 241: -#line 1363 "objc-parse.y" +#line 1366 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 242: -#line 1370 "objc-parse.y" +#line 1373 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 244: -#line 1376 "objc-parse.y" +#line 1379 "objc-parse.y" { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); /* Start scope of tag before parsing components. */ ; break;} case 245: -#line 1380 "objc-parse.y" +#line 1383 "objc-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 246: -#line 1382 "objc-parse.y" +#line 1385 "objc-parse.y" { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 247: -#line 1386 "objc-parse.y" +#line 1389 "objc-parse.y" { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; break;} case 248: -#line 1388 "objc-parse.y" +#line 1391 "objc-parse.y" { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; break;} case 249: -#line 1390 "objc-parse.y" +#line 1393 "objc-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 250: -#line 1392 "objc-parse.y" +#line 1395 "objc-parse.y" { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 251: -#line 1396 "objc-parse.y" +#line 1399 "objc-parse.y" { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; break;} case 252: -#line 1398 "objc-parse.y" +#line 1401 "objc-parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_enum (yyvsp[-1].ttype); ; break;} case 253: -#line 1401 "objc-parse.y" +#line 1404 "objc-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), yyvsp[0].ttype); resume_momentary (yyvsp[-5].itype); ; break;} case 254: -#line 1404 "objc-parse.y" +#line 1407 "objc-parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_enum (NULL_TREE); ; break;} case 255: -#line 1407 "objc-parse.y" +#line 1410 "objc-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), yyvsp[0].ttype); resume_momentary (yyvsp[-5].itype); ; break;} case 256: -#line 1410 "objc-parse.y" +#line 1413 "objc-parse.y" { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ; break;} case 260: -#line 1421 "objc-parse.y" +#line 1424 "objc-parse.y" { if (pedantic) pedwarn ("comma at end of enumerator list"); ; break;} case 261: -#line 1426 "objc-parse.y" +#line 1429 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 262: -#line 1428 "objc-parse.y" +#line 1431 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); pedwarn ("no semicolon at end of struct or union"); ; break;} case 263: -#line 1433 "objc-parse.y" +#line 1436 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 264: -#line 1435 "objc-parse.y" +#line 1438 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 265: -#line 1437 "objc-parse.y" +#line 1440 "objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} case 266: -#line 1441 "objc-parse.y" +#line 1444 "objc-parse.y" { tree interface = lookup_interface (yyvsp[-1].ttype); @@ -3419,7 +3421,7 @@ case 266: ; break;} case 267: -#line 1466 "objc-parse.y" +#line 1469 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -3427,14 +3429,14 @@ case 267: resume_momentary (yyvsp[-1].itype); ; break;} case 268: -#line 1472 "objc-parse.y" +#line 1475 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} case 269: -#line 1477 "objc-parse.y" +#line 1480 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -3442,140 +3444,140 @@ case 269: resume_momentary (yyvsp[-1].itype); ; break;} case 270: -#line 1483 "objc-parse.y" +#line 1486 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} case 271: -#line 1488 "objc-parse.y" +#line 1491 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 272: -#line 1490 "objc-parse.y" +#line 1493 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 274: -#line 1497 "objc-parse.y" +#line 1500 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 275: -#line 1502 "objc-parse.y" +#line 1505 "objc-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 276: -#line 1506 "objc-parse.y" +#line 1509 "objc-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 277: -#line 1509 "objc-parse.y" +#line 1512 "objc-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 279: -#line 1521 "objc-parse.y" +#line 1524 "objc-parse.y" { if (yyvsp[-2].ttype == error_mark_node) yyval.ttype = yyvsp[-2].ttype; else yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 280: -#line 1526 "objc-parse.y" +#line 1529 "objc-parse.y" { yyval.ttype = error_mark_node; ; break;} case 281: -#line 1532 "objc-parse.y" +#line 1535 "objc-parse.y" { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; break;} case 282: -#line 1534 "objc-parse.y" +#line 1537 "objc-parse.y" { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 283: -#line 1539 "objc-parse.y" +#line 1542 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 284: -#line 1541 "objc-parse.y" +#line 1544 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 285: -#line 1546 "objc-parse.y" +#line 1549 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 287: -#line 1552 "objc-parse.y" +#line 1555 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 288: -#line 1554 "objc-parse.y" +#line 1557 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 289: -#line 1559 "objc-parse.y" +#line 1562 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 290: -#line 1561 "objc-parse.y" +#line 1564 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 291: -#line 1566 "objc-parse.y" +#line 1569 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 292: -#line 1569 "objc-parse.y" +#line 1572 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 293: -#line 1571 "objc-parse.y" +#line 1574 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 294: -#line 1573 "objc-parse.y" +#line 1576 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 295: -#line 1575 "objc-parse.y" +#line 1578 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 296: -#line 1577 "objc-parse.y" +#line 1580 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 297: -#line 1579 "objc-parse.y" +#line 1582 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 298: -#line 1581 "objc-parse.y" +#line 1584 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} case 299: -#line 1583 "objc-parse.y" +#line 1586 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} case 300: -#line 1594 "objc-parse.y" +#line 1597 "objc-parse.y" { if (pedantic && yyvsp[0].ends_in_label) pedwarn ("ANSI C forbids label at end of compound statement"); ; break;} case 302: -#line 1603 "objc-parse.y" +#line 1606 "objc-parse.y" { yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 303: -#line 1605 "objc-parse.y" +#line 1608 "objc-parse.y" { yyval.ends_in_label = 0; ; break;} case 307: -#line 1617 "objc-parse.y" +#line 1620 "objc-parse.y" { emit_line_note (input_filename, lineno); pushlevel (0); clear_last_expr (); @@ -3586,12 +3588,12 @@ case 307: ; break;} case 309: -#line 1632 "objc-parse.y" +#line 1635 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids label declarations"); ; break;} case 312: -#line 1643 "objc-parse.y" +#line 1646 "objc-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { @@ -3602,15 +3604,19 @@ case 312: ; break;} case 313: -#line 1657 "objc-parse.y" +#line 1660 "objc-parse.y" {; break;} case 315: -#line 1662 "objc-parse.y" -{ yyval.ttype = convert (void_type_node, integer_zero_node); ; +#line 1664 "objc-parse.y" +{ compstmt_count++; ; break;} case 316: -#line 1664 "objc-parse.y" +#line 1667 "objc-parse.y" +{ yyval.ttype = convert (void_type_node, integer_zero_node); ; + break;} +case 317: +#line 1669 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); yyval.ttype = poplevel (1, 1, 0); @@ -3619,8 +3625,8 @@ case 316: else pop_momentary (); ; break;} -case 317: -#line 1672 "objc-parse.y" +case 318: +#line 1677 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3629,8 +3635,8 @@ case 317: else pop_momentary (); ; break;} -case 318: -#line 1680 "objc-parse.y" +case 319: +#line 1685 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3639,62 +3645,64 @@ case 318: else pop_momentary (); ; break;} -case 321: -#line 1700 "objc-parse.y" +case 322: +#line 1705 "objc-parse.y" { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); - expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0); + c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, + compstmt_count); yyval.itype = stmt_count; if_stmt_file = yyvsp[-5].filename; if_stmt_line = yyvsp[-4].lineno; position_after_white_space (); ; break;} -case 322: -#line 1713 "objc-parse.y" +case 323: +#line 1719 "objc-parse.y" { stmt_count++; + compstmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* See comment in `while' alternative, above. */ emit_nop (); expand_start_loop_continue_elsewhere (1); position_after_white_space (); ; break;} -case 323: -#line 1720 "objc-parse.y" -{ expand_loop_continue_here (); ; - break;} case 324: -#line 1724 "objc-parse.y" -{ yyval.filename = input_filename; ; +#line 1727 "objc-parse.y" +{ expand_loop_continue_here (); ; break;} case 325: -#line 1728 "objc-parse.y" -{ yyval.lineno = lineno; ; +#line 1731 "objc-parse.y" +{ yyval.filename = input_filename; ; break;} case 326: -#line 1733 "objc-parse.y" -{ ; +#line 1735 "objc-parse.y" +{ yyval.lineno = lineno; ; break;} case 327: -#line 1738 "objc-parse.y" +#line 1740 "objc-parse.y" { ; break;} case 328: -#line 1743 "objc-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; +#line 1745 "objc-parse.y" +{ ; break;} case 329: -#line 1748 "objc-parse.y" -{ yyval.ends_in_label = 0; ; +#line 1750 "objc-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 330: -#line 1750 "objc-parse.y" -{ yyval.ends_in_label = 1; ; +#line 1755 "objc-parse.y" +{ yyval.ends_in_label = 0; ; break;} case 331: -#line 1756 "objc-parse.y" +#line 1757 "objc-parse.y" +{ yyval.ends_in_label = 1; ; + break;} +case 332: +#line 1763 "objc-parse.y" { stmt_count++; ; break;} -case 333: -#line 1759 "objc-parse.y" +case 334: +#line 1766 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); /* It appears that this should not be done--that a non-lvalue array @@ -3712,21 +3720,21 @@ case 333: iterator_expand (yyvsp[-1].ttype); clear_momentary (); ; break;} -case 334: -#line 1776 "objc-parse.y" -{ expand_start_else (); +case 335: +#line 1783 "objc-parse.y" +{ c_expand_start_else (); yyvsp[-1].itype = stmt_count; position_after_white_space (); ; break;} -case 335: -#line 1780 "objc-parse.y" -{ expand_end_cond (); +case 336: +#line 1787 "objc-parse.y" +{ c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} -case 336: -#line 1784 "objc-parse.y" -{ expand_end_cond (); +case 337: +#line 1791 "objc-parse.y" +{ c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an else statement. Increment stmt_count so we don't @@ -3735,12 +3743,12 @@ case 336: warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} -case 337: -#line 1796 "objc-parse.y" -{ expand_end_cond (); ; - break;} case 338: -#line 1798 "objc-parse.y" +#line 1803 "objc-parse.y" +{ c_expand_end_cond (); ; + break;} +case 339: +#line 1805 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* The emit_nop used to come before emit_line_note, @@ -3751,8 +3759,8 @@ case 338: We will see. --rms, July 15, 1991. */ emit_nop (); ; break;} -case 339: -#line 1808 "objc-parse.y" +case 340: +#line 1815 "objc-parse.y" { /* Don't start the loop till we have succeeded in parsing the end test. This is to make sure that we end every loop we start. */ @@ -3762,25 +3770,25 @@ case 339: truthvalue_conversion (yyvsp[-1].ttype)); position_after_white_space (); ; break;} -case 340: -#line 1817 "objc-parse.y" +case 341: +#line 1824 "objc-parse.y" { expand_end_loop (); ; break;} -case 341: -#line 1820 "objc-parse.y" +case 342: +#line 1827 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_exit_loop_if_false (NULL_PTR, truthvalue_conversion (yyvsp[-2].ttype)); expand_end_loop (); clear_momentary (); ; break;} -case 342: -#line 1827 "objc-parse.y" +case 343: +#line 1834 "objc-parse.y" { expand_end_loop (); clear_momentary (); ; break;} -case 343: -#line 1831 "objc-parse.y" +case 344: +#line 1838 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); /* See comment in `while' alternative, above. */ @@ -3792,13 +3800,13 @@ case 343: fn without calling expand_end_loop. */ ; break;} -case 344: -#line 1843 "objc-parse.y" +case 345: +#line 1850 "objc-parse.y" { yyvsp[0].lineno = lineno; yyval.filename = input_filename; ; break;} -case 345: -#line 1846 "objc-parse.y" +case 346: +#line 1853 "objc-parse.y" { /* Start the loop. Doing this after parsing all the expressions ensures we will end the loop. */ @@ -3815,8 +3823,8 @@ case 345: yyvsp[-2].filename = input_filename; position_after_white_space (); ; break;} -case 346: -#line 1862 "objc-parse.y" +case 347: +#line 1869 "objc-parse.y" { /* Emit the increment expression, with a line number. */ emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); expand_loop_continue_here (); @@ -3828,8 +3836,8 @@ case 346: pop_momentary (); expand_end_loop (); ; break;} -case 347: -#line 1873 "objc-parse.y" +case 348: +#line 1880 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_case (yyvsp[-1].ttype); @@ -3838,42 +3846,42 @@ case 347: push_momentary (); position_after_white_space (); ; break;} -case 348: -#line 1881 "objc-parse.y" +case 349: +#line 1888 "objc-parse.y" { expand_end_case (yyvsp[-3].ttype); if (yychar == CONSTANT || yychar == STRING) pop_momentary_nofree (); else pop_momentary (); ; break;} -case 349: -#line 1887 "objc-parse.y" +case 350: +#line 1894 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if ( ! expand_exit_something ()) error ("break statement not within loop or switch"); ; break;} -case 350: -#line 1892 "objc-parse.y" +case 351: +#line 1899 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if (! expand_continue_loop (NULL_PTR)) error ("continue statement not within a loop"); ; break;} -case 351: -#line 1897 "objc-parse.y" +case 352: +#line 1904 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); c_expand_return (NULL_TREE); ; break;} -case 352: -#line 1901 "objc-parse.y" +case 353: +#line 1908 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); c_expand_return (yyvsp[-1].ttype); ; break;} -case 353: -#line 1905 "objc-parse.y" +case 354: +#line 1912 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); STRIP_NOPS (yyvsp[-2].ttype); @@ -3884,32 +3892,32 @@ case 353: else error ("argument of `asm' is not a constant string"); ; break;} -case 354: -#line 1916 "objc-parse.y" +case 355: +#line 1923 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 355: -#line 1923 "objc-parse.y" +case 356: +#line 1930 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 356: -#line 1931 "objc-parse.y" +case 357: +#line 1938 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 357: -#line 1937 "objc-parse.y" +case 358: +#line 1944 "objc-parse.y" { tree decl; stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); @@ -3921,16 +3929,16 @@ case 357: } ; break;} -case 358: -#line 1948 "objc-parse.y" +case 359: +#line 1955 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids `goto *expr;'"); stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; break;} -case 361: -#line 1963 "objc-parse.y" +case 362: +#line 1970 "objc-parse.y" { /* The value returned by this action is */ /* 1 if everything is OK */ @@ -3952,15 +3960,15 @@ case 361: } ; break;} -case 362: -#line 1984 "objc-parse.y" +case 363: +#line 1991 "objc-parse.y" { if (yyvsp[-1].itype) iterator_for_loop_end (yyvsp[-3].ttype); ; break;} -case 363: -#line 2019 "objc-parse.y" +case 364: +#line 2026 "objc-parse.y" { register tree value = check_case_value (yyvsp[-1].ttype); register tree label = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); @@ -3986,8 +3994,8 @@ case 363: } position_after_white_space (); ; break;} -case 364: -#line 2044 "objc-parse.y" +case 365: +#line 2051 "objc-parse.y" { register tree value1 = check_case_value (yyvsp[-3].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype); register tree label @@ -4019,8 +4027,8 @@ case 364: } position_after_white_space (); ; break;} -case 365: -#line 2075 "objc-parse.y" +case 366: +#line 2082 "objc-parse.y" { tree duplicate; register tree label @@ -4036,8 +4044,8 @@ case 365: } position_after_white_space (); ; break;} -case 366: -#line 2090 "objc-parse.y" +case 367: +#line 2097 "objc-parse.y" { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype); stmt_count++; emit_nop (); @@ -4045,53 +4053,53 @@ case 366: expand_label (label); position_after_white_space (); ; break;} -case 367: -#line 2102 "objc-parse.y" +case 368: +#line 2109 "objc-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} -case 368: -#line 2105 "objc-parse.y" -{ emit_line_note (input_filename, lineno); ; - break;} case 369: -#line 2110 "objc-parse.y" -{ yyval.ttype = NULL_TREE; ; +#line 2112 "objc-parse.y" +{ emit_line_note (input_filename, lineno); ; break;} -case 371: +case 370: #line 2117 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 374: +case 372: #line 2124 "objc-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; +{ yyval.ttype = NULL_TREE; ; break;} case 375: -#line 2129 "objc-parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; +#line 2131 "objc-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 376: -#line 2134 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; +#line 2136 "objc-parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 377: -#line 2136 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; +#line 2141 "objc-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 378: -#line 2142 "objc-parse.y" +#line 2143 "objc-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; + break;} +case 379: +#line 2149 "objc-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} -case 379: -#line 2146 "objc-parse.y" +case 380: +#line 2153 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 381: -#line 2154 "objc-parse.y" +case 382: +#line 2161 "objc-parse.y" { tree parm; if (pedantic) pedwarn ("ANSI C forbids forward parameter declarations"); @@ -4100,20 +4108,20 @@ case 381: TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} -case 382: -#line 2162 "objc-parse.y" +case 383: +#line 2169 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 383: -#line 2164 "objc-parse.y" +case 384: +#line 2171 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} -case 384: -#line 2170 "objc-parse.y" +case 385: +#line 2177 "objc-parse.y" { yyval.ttype = get_parm_info (0); ; break;} -case 385: -#line 2172 "objc-parse.y" +case 386: +#line 2179 "objc-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. @@ -4124,24 +4132,24 @@ case 385: error ("ANSI C requires a named argument before `...'"); ; break;} -case 386: -#line 2182 "objc-parse.y" -{ yyval.ttype = get_parm_info (1); ; - break;} case 387: -#line 2184 "objc-parse.y" -{ yyval.ttype = get_parm_info (0); ; +#line 2189 "objc-parse.y" +{ yyval.ttype = get_parm_info (1); ; break;} case 388: -#line 2189 "objc-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2191 "objc-parse.y" +{ yyval.ttype = get_parm_info (0); ; break;} case 389: -#line 2191 "objc-parse.y" +#line 2196 "objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 390: #line 2198 "objc-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 391: +#line 2205 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4151,8 +4159,8 @@ case 390: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 391: -#line 2207 "objc-parse.y" +case 392: +#line 2214 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4162,8 +4170,8 @@ case 391: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 392: -#line 2216 "objc-parse.y" +case 393: +#line 2223 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4173,8 +4181,8 @@ case 392: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 393: -#line 2225 "objc-parse.y" +case 394: +#line 2232 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4184,8 +4192,8 @@ case 393: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 394: -#line 2235 "objc-parse.y" +case 395: +#line 2242 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4195,49 +4203,49 @@ case 394: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 395: -#line 2249 "objc-parse.y" +case 396: +#line 2256 "objc-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} -case 396: -#line 2253 "objc-parse.y" +case 397: +#line 2260 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 398: -#line 2261 "objc-parse.y" +case 399: +#line 2268 "objc-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) error ("`...' in old-style identifier list"); yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 399: -#line 2271 "objc-parse.y" +case 400: +#line 2278 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 400: -#line 2273 "objc-parse.y" +case 401: +#line 2280 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 401: -#line 2279 "objc-parse.y" +case 402: +#line 2286 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 402: -#line 2281 "objc-parse.y" +case 403: +#line 2288 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 403: -#line 2286 "objc-parse.y" +case 404: +#line 2293 "objc-parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} -case 409: -#line 2299 "objc-parse.y" +case 410: +#line 2306 "objc-parse.y" { if (objc_implementation_context) { @@ -4249,115 +4257,115 @@ case 409: warning ("`@end' must appear in an implementation context"); ; break;} -case 410: -#line 2314 "objc-parse.y" +case 411: +#line 2321 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 411: -#line 2316 "objc-parse.y" +case 412: +#line 2323 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 412: -#line 2321 "objc-parse.y" +case 413: +#line 2328 "objc-parse.y" { objc_declare_class (yyvsp[-1].ttype); ; break;} -case 413: -#line 2327 "objc-parse.y" +case 414: +#line 2334 "objc-parse.y" { objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} -case 414: -#line 2333 "objc-parse.y" +case 415: +#line 2340 "objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} -case 415: -#line 2339 "objc-parse.y" +case 416: +#line 2346 "objc-parse.y" { continue_class (objc_interface_context); ; break;} -case 416: -#line 2344 "objc-parse.y" +case 417: +#line 2351 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 417: -#line 2350 "objc-parse.y" +case 418: +#line 2357 "objc-parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 418: -#line 2357 "objc-parse.y" +case 419: +#line 2364 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 419: -#line 2363 "objc-parse.y" +case 420: +#line 2370 "objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} -case 420: -#line 2369 "objc-parse.y" +case 421: +#line 2376 "objc-parse.y" { continue_class (objc_interface_context); ; break;} -case 421: -#line 2374 "objc-parse.y" +case 422: +#line 2381 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 422: -#line 2380 "objc-parse.y" +case 423: +#line 2387 "objc-parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 423: -#line 2387 "objc-parse.y" +case 424: +#line 2394 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 424: -#line 2393 "objc-parse.y" +case 425: +#line 2400 "objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); objc_public_flag = 0; ; break;} -case 425: -#line 2399 "objc-parse.y" +case 426: +#line 2406 "objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} -case 426: -#line 2405 "objc-parse.y" +case 427: +#line 2412 "objc-parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE); @@ -4365,23 +4373,23 @@ case 426: = continue_class (objc_implementation_context); ; break;} -case 427: -#line 2413 "objc-parse.y" +case 428: +#line 2420 "objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); objc_public_flag = 0; ; break;} -case 428: -#line 2419 "objc-parse.y" +case 429: +#line 2426 "objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} -case 429: -#line 2425 "objc-parse.y" +case 430: +#line 2432 "objc-parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); @@ -4389,23 +4397,23 @@ case 429: = continue_class (objc_implementation_context); ; break;} -case 430: -#line 2433 "objc-parse.y" +case 431: +#line 2440 "objc-parse.y" { objc_interface_context = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 431: -#line 2440 "objc-parse.y" +case 432: +#line 2447 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 432: -#line 2446 "objc-parse.y" +case 433: +#line 2453 "objc-parse.y" { objc_implementation_context = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); @@ -4413,30 +4421,30 @@ case 432: = continue_class (objc_implementation_context); ; break;} -case 433: -#line 2456 "objc-parse.y" +case 434: +#line 2463 "objc-parse.y" { remember_protocol_qualifiers (); objc_interface_context = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 434: -#line 2462 "objc-parse.y" +case 435: +#line 2469 "objc-parse.y" { forget_protocol_qualifiers(); finish_protocol(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 435: -#line 2471 "objc-parse.y" +case 436: +#line 2478 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 437: -#line 2479 "objc-parse.y" +case 438: +#line 2486 "objc-parse.y" { if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR) yyval.ttype = yyvsp[-1].ttype; @@ -4444,57 +4452,57 @@ case 437: YYERROR1; ; break;} -case 440: -#line 2493 "objc-parse.y" +case 441: +#line 2500 "objc-parse.y" { objc_public_flag = 2; ; break;} -case 441: -#line 2494 "objc-parse.y" +case 442: +#line 2501 "objc-parse.y" { objc_public_flag = 0; ; break;} -case 442: -#line 2495 "objc-parse.y" +case 443: +#line 2502 "objc-parse.y" { objc_public_flag = 1; ; break;} -case 443: -#line 2500 "objc-parse.y" +case 444: +#line 2507 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 445: -#line 2505 "objc-parse.y" +case 446: +#line 2512 "objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} -case 446: -#line 2523 "objc-parse.y" +case 447: +#line 2530 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} -case 447: -#line 2529 "objc-parse.y" +case 448: +#line 2536 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} -case 448: -#line 2535 "objc-parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} case 449: -#line 2540 "objc-parse.y" +#line 2542 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 452: +case 450: #line 2547 "objc-parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 453: +#line 2554 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, @@ -4502,16 +4510,16 @@ case 452: NULL_TREE); ; break;} -case 453: -#line 2554 "objc-parse.y" +case 454: +#line 2561 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype); ; break;} -case 454: -#line 2560 "objc-parse.y" +case 455: +#line 2567 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, @@ -4519,8 +4527,8 @@ case 454: current_declspecs, yyvsp[0].ttype); ; break;} -case 455: -#line 2570 "objc-parse.y" +case 456: +#line 2577 "objc-parse.y" { remember_protocol_qualifiers (); if (objc_implementation_context) @@ -4529,8 +4537,8 @@ case 455: fatal ("method definition not in class context"); ; break;} -case 456: -#line 2578 "objc-parse.y" +case 457: +#line 2585 "objc-parse.y" { forget_protocol_qualifiers (); add_class_method (objc_implementation_context, yyvsp[0].ttype); @@ -4538,21 +4546,21 @@ case 456: objc_method_context = yyvsp[0].ttype; ; break;} -case 457: -#line 2585 "objc-parse.y" +case 458: +#line 2592 "objc-parse.y" { continue_method_def (); ; break;} -case 458: -#line 2589 "objc-parse.y" +case 459: +#line 2596 "objc-parse.y" { finish_method_def (); objc_method_context = NULL_TREE; ; break;} -case 459: -#line 2595 "objc-parse.y" +case 460: +#line 2602 "objc-parse.y" { remember_protocol_qualifiers (); if (objc_implementation_context) @@ -4561,8 +4569,8 @@ case 459: fatal ("method definition not in class context"); ; break;} -case 460: -#line 2603 "objc-parse.y" +case 461: +#line 2610 "objc-parse.y" { forget_protocol_qualifiers (); add_instance_method (objc_implementation_context, yyvsp[0].ttype); @@ -4570,260 +4578,260 @@ case 460: objc_method_context = yyvsp[0].ttype; ; break;} -case 461: -#line 2610 "objc-parse.y" +case 462: +#line 2617 "objc-parse.y" { continue_method_def (); ; break;} -case 462: -#line 2614 "objc-parse.y" +case 463: +#line 2621 "objc-parse.y" { finish_method_def (); objc_method_context = NULL_TREE; ; break;} -case 464: -#line 2626 "objc-parse.y" +case 465: +#line 2633 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} -case 469: -#line 2633 "objc-parse.y" +case 470: +#line 2640 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} -case 473: -#line 2643 "objc-parse.y" +case 474: +#line 2650 "objc-parse.y" { objc_inherit_code = CLASS_METHOD_DECL; ; break;} -case 474: -#line 2647 "objc-parse.y" +case 475: +#line 2654 "objc-parse.y" { add_class_method (objc_interface_context, yyvsp[0].ttype); ; break;} -case 476: -#line 2653 "objc-parse.y" +case 477: +#line 2660 "objc-parse.y" { objc_inherit_code = INSTANCE_METHOD_DECL; ; break;} -case 477: -#line 2657 "objc-parse.y" +case 478: +#line 2664 "objc-parse.y" { add_instance_method (objc_interface_context, yyvsp[0].ttype); ; break;} -case 479: -#line 2665 "objc-parse.y" +case 480: +#line 2672 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} -case 480: -#line 2670 "objc-parse.y" +case 481: +#line 2677 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} -case 481: -#line 2675 "objc-parse.y" +case 482: +#line 2682 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 482: -#line 2680 "objc-parse.y" +case 483: +#line 2687 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 491: -#line 2710 "objc-parse.y" +case 492: +#line 2717 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 492: -#line 2715 "objc-parse.y" -{ shadow_tag (yyvsp[-1].ttype); ; - break;} case 493: -#line 2717 "objc-parse.y" -{ pedwarn ("empty declaration"); ; +#line 2722 "objc-parse.y" +{ shadow_tag (yyvsp[-1].ttype); ; break;} case 494: -#line 2722 "objc-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2724 "objc-parse.y" +{ pedwarn ("empty declaration"); ; break;} case 495: -#line 2724 "objc-parse.y" +#line 2729 "objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 496: -#line 2732 "objc-parse.y" +#line 2731 "objc-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 497: +#line 2739 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} -case 497: -#line 2737 "objc-parse.y" +case 498: +#line 2744 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} -case 498: -#line 2742 "objc-parse.y" +case 499: +#line 2749 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} -case 499: -#line 2750 "objc-parse.y" +case 500: +#line 2757 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 500: -#line 2754 "objc-parse.y" +case 501: +#line 2761 "objc-parse.y" { /* oh what a kludge! */ yyval.ttype = (tree)1; ; break;} -case 501: -#line 2759 "objc-parse.y" +case 502: +#line 2766 "objc-parse.y" { pushlevel (0); ; break;} -case 502: -#line 2763 "objc-parse.y" +case 503: +#line 2770 "objc-parse.y" { /* returns a tree list node generated by get_parm_info */ yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} -case 505: -#line 2778 "objc-parse.y" +case 506: +#line 2785 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 510: -#line 2791 "objc-parse.y" -{ yyval.ttype = get_identifier (token_buffer); ; - break;} case 511: -#line 2792 "objc-parse.y" +#line 2798 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 512: -#line 2793 "objc-parse.y" +#line 2799 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 513: -#line 2794 "objc-parse.y" +#line 2800 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 514: -#line 2795 "objc-parse.y" +#line 2801 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 515: -#line 2796 "objc-parse.y" +#line 2802 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 516: -#line 2797 "objc-parse.y" +#line 2803 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 517: -#line 2798 "objc-parse.y" +#line 2804 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 518: -#line 2799 "objc-parse.y" +#line 2805 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 519: -#line 2800 "objc-parse.y" +#line 2806 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 520: -#line 2801 "objc-parse.y" +#line 2807 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 521: -#line 2802 "objc-parse.y" +#line 2808 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 522: -#line 2803 "objc-parse.y" +#line 2809 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 523: -#line 2804 "objc-parse.y" +#line 2810 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 524: -#line 2805 "objc-parse.y" +#line 2811 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 525: -#line 2806 "objc-parse.y" +#line 2812 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 526: -#line 2807 "objc-parse.y" +#line 2813 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 527: -#line 2808 "objc-parse.y" +#line 2814 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 528: -#line 2809 "objc-parse.y" +#line 2815 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 531: -#line 2815 "objc-parse.y" +case 529: +#line 2816 "objc-parse.y" +{ yyval.ttype = get_identifier (token_buffer); ; + break;} +case 532: +#line 2822 "objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 532: -#line 2820 "objc-parse.y" +case 533: +#line 2827 "objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} -case 533: -#line 2825 "objc-parse.y" +case 534: +#line 2832 "objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 534: -#line 2830 "objc-parse.y" +case 535: +#line 2837 "objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} -case 538: -#line 2843 "objc-parse.y" +case 539: +#line 2850 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 539: -#line 2851 "objc-parse.y" +case 540: +#line 2858 "objc-parse.y" { if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) /* just return the expr., remove a level of indirection */ @@ -4833,60 +4841,54 @@ case 539: yyval.ttype = yyvsp[0].ttype; ; break;} -case 540: -#line 2863 "objc-parse.y" +case 541: +#line 2870 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 541: -#line 2867 "objc-parse.y" +case 542: +#line 2874 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 543: -#line 2875 "objc-parse.y" +case 544: +#line 2882 "objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} -case 544: -#line 2882 "objc-parse.y" +case 545: +#line 2889 "objc-parse.y" { objc_receiver_context = 1; ; break;} -case 545: -#line 2884 "objc-parse.y" +case 546: +#line 2891 "objc-parse.y" { objc_receiver_context = 0; ; break;} -case 546: -#line 2886 "objc-parse.y" +case 547: +#line 2893 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 550: -#line 2899 "objc-parse.y" -{ - yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} case 551: #line 2906 "objc-parse.y" { - yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); + yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 552: -#line 2910 "objc-parse.y" +#line 2913 "objc-parse.y" { - yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); + yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); ; break;} case 553: #line 2917 "objc-parse.y" { - yyval.ttype = yyvsp[-1].ttype; + yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); ; break;} case 554: @@ -4896,7 +4898,13 @@ case 554: ; break;} case 555: -#line 2933 "objc-parse.y" +#line 2931 "objc-parse.y" +{ + yyval.ttype = yyvsp[-1].ttype; + ; + break;} +case 556: +#line 2940 "objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; @@ -5099,5 +5107,5 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 2938 "objc-parse.y" +#line 2945 "objc-parse.y" diff --git a/gcc/objc/objc-parse.y b/gcc/objc/objc-parse.y index e063599..4dc0bcf 100644 --- a/gcc/objc/objc-parse.y +++ b/gcc/objc/objc-parse.y @@ -31,11 +31,12 @@ Boston, MA 02111-1307, USA. */ %expect 66 %{ +#include "config.h" + #include <stdio.h> #include <errno.h> #include <setjmp.h> -#include "config.h" #include "tree.h" #include "input.h" #include "c-lex.h" @@ -196,9 +197,11 @@ void yyerror (); %type <ttype> CLASSNAME OBJC_STRING OBJECTNAME %{ -/* Number of statements (loosely speaking) seen so far. */ +/* Number of statements (loosely speaking) and compound statements + seen so far. */ static int stmt_count; - +static int compstmt_count; + /* Input file and line number of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ static char *if_stmt_file; @@ -445,7 +448,7 @@ unary_expr: | sizeof unary_expr %prec UNARY { skip_evaluation--; if (TREE_CODE ($2) == COMPONENT_REF - && DECL_BIT_FIELD (TREE_OPERAND ($2, 1))) + && DECL_C_BIT_FIELD (TREE_OPERAND ($2, 1))) error ("`sizeof' applied to a bit-field"); $$ = c_sizeof (TREE_TYPE ($2)); } | sizeof '(' typename ')' %prec HYPERUNARY @@ -1658,9 +1661,11 @@ compstmt_or_error: | error compstmt ; -compstmt: '{' '}' +compstmt_start: '{' { compstmt_count++; } + +compstmt: compstmt_start '}' { $$ = convert (void_type_node, integer_zero_node); } - | '{' pushlevel maybe_label_decls decls xstmts '}' + | compstmt_start pushlevel maybe_label_decls decls xstmts '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); $$ = poplevel (1, 1, 0); @@ -1668,7 +1673,7 @@ compstmt: '{' '}' pop_momentary_nofree (); else pop_momentary (); } - | '{' pushlevel maybe_label_decls error '}' + | compstmt_start pushlevel maybe_label_decls error '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); $$ = poplevel (kept_level_p (), 0, 0); @@ -1676,7 +1681,7 @@ compstmt: '{' '}' pop_momentary_nofree (); else pop_momentary (); } - | '{' pushlevel maybe_label_decls stmts '}' + | compstmt_start pushlevel maybe_label_decls stmts '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); $$ = poplevel (kept_level_p (), 0, 0); @@ -1689,8 +1694,8 @@ compstmt: '{' '}' /* Value is number of statements counted as of the closeparen. */ simple_if: if_prefix lineno_labeled_stmt -/* Make sure expand_end_cond is run once - for each call to expand_start_cond. +/* Make sure c_expand_end_cond is run once + for each call to c_expand_start_cond. Otherwise a crash is likely. */ | if_prefix error ; @@ -1698,7 +1703,8 @@ simple_if: if_prefix: IF '(' expr ')' { emit_line_note ($<filename>-1, $<lineno>0); - expand_start_cond (truthvalue_conversion ($3), 0); + c_expand_start_cond (truthvalue_conversion ($3), 0, + compstmt_count); $<itype>$ = stmt_count; if_stmt_file = $<filename>-1; if_stmt_line = $<lineno>0; @@ -1711,6 +1717,7 @@ if_prefix: do_stmt_start: DO { stmt_count++; + compstmt_count++; emit_line_note ($<filename>-1, $<lineno>0); /* See comment in `while' alternative, above. */ emit_nop (); @@ -1773,15 +1780,15 @@ stmt: iterator_expand ($1); clear_momentary (); } | simple_if ELSE - { expand_start_else (); + { c_expand_start_else (); $<itype>1 = stmt_count; position_after_white_space (); } lineno_labeled_stmt - { expand_end_cond (); + { c_expand_end_cond (); if (extra_warnings && stmt_count == $<itype>1) warning ("empty body in an else-statement"); } | simple_if %prec IF - { expand_end_cond (); + { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an else statement. Increment stmt_count so we don't @@ -1789,11 +1796,11 @@ stmt: if (extra_warnings && stmt_count++ == $<itype>1) warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); } -/* Make sure expand_end_cond is run once - for each call to expand_start_cond. +/* Make sure c_expand_end_cond is run once + for each call to c_expand_start_cond. Otherwise a crash is likely. */ | simple_if ELSE error - { expand_end_cond (); } + { c_expand_end_cond (); } | WHILE { stmt_count++; emit_line_note ($<filename>-1, $<lineno>0); |