1 /* Code generated from eC source file: type.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
54 IDENTIFIER = 258, CONSTANT = 259, STRING_LITERAL = 260, SIZEOF = 261, PTR_OP = 262, INC_OP = 263, DEC_OP = 264, LEFT_OP = 265, RIGHT_OP = 266, LE_OP = 267, GE_OP = 268, EQ_OP = 269, NE_OP = 270, AND_OP = 271, OR_OP = 272, MUL_ASSIGN = 273, DIV_ASSIGN = 274, MOD_ASSIGN = 275, ADD_ASSIGN = 276, SUB_ASSIGN = 277, LEFT_ASSIGN = 278, RIGHT_ASSIGN = 279, AND_ASSIGN = 280, XOR_ASSIGN = 281, OR_ASSIGN = 282, TYPE_NAME = 283, TYPEDEF = 284, EXTERN = 285, STATIC = 286, AUTO = 287, REGISTER = 288, CHAR = 289, SHORT = 290, INT = 291, UINT = 292, INT64 = 293, INT128 = 294, LONG = 295, SIGNED = 296, UNSIGNED = 297, FLOAT = 298, DOUBLE = 299, CONST = 300, VOLATILE = 301, VOID = 302, VALIST = 303, STRUCT = 304, UNION = 305, ENUM = 306, ELLIPSIS = 307, CASE = 308, DEFAULT = 309, IF = 310, SWITCH = 311, WHILE = 312, DO = 313, FOR = 314, GOTO = 315, CONTINUE = 316, BREAK = 317, RETURN = 318, IFX = 319, ELSE = 320, CLASS = 321, THISCLASS = 322, CLASS_NAME = 323, PROPERTY = 324, SETPROP = 325, GETPROP = 326, NEWOP = 327, RENEW = 328, DELETE = 329, EXT_DECL = 330, EXT_STORAGE = 331, IMPORT = 332, DEFINE = 333, VIRTUAL = 334, ATTRIB = 335, PUBLIC = 336, PRIVATE = 337, TYPED_OBJECT = 338, ANY_OBJECT = 339, _INCREF = 340, EXTENSION = 341, ASM = 342, TYPEOF = 343, WATCH = 344, STOPWATCHING = 345, FIREWATCHERS = 346, WATCHABLE = 347, CLASS_DESIGNER = 348, CLASS_NO_EXPANSION = 349, CLASS_FIXED = 350, ISPROPSET = 351, CLASS_DEFAULT_PROPERTY = 352, PROPERTY_CATEGORY = 353, CLASS_DATA = 354, CLASS_PROPERTY = 355, SUBCLASS = 356, NAMESPACE = 357, NEW0OP = 358, RENEW0 = 359, VAARG = 360, DBTABLE = 361, DBFIELD = 362, DBINDEX = 363, DATABASE_OPEN = 364, ALIGNOF = 365, ATTRIB_DEP = 366, __ATTRIB = 367, BOOL = 368, _BOOL = 369, _COMPLEX = 370, _IMAGINARY = 371, RESTRICT = 372, THREAD = 373, WIDE_STRING_LITERAL = 374, BUILTIN_OFFSETOF = 375
57 extern unsigned int parseTypeError;
65 typedef unsigned char yytype_uint8;
67 typedef signed char yytype_int8;
69 typedef unsigned short int yytype_uint16;
71 typedef short int yytype_int16;
73 void * malloc(size_t);
77 static const yytype_uint8 yytranslate[] =
79 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 135, 2, 2, 127, 137, 132, 2, 124, 125, 121, 133, 131, 134, 128, 136, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 141, 143, 122, 142, 123, 140, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 129, 2, 130, 138, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 144, 139, 145, 126, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120
82 static const yytype_uint16 yyprhs[] =
84 0, 0, 3, 6, 9, 12, 14, 17, 19, 21, 26, 31, 34, 36, 40, 45, 49, 52, 54, 56, 60, 62, 64, 66, 68, 70, 73, 78, 81, 88, 94, 101, 107, 115, 122, 130, 137, 139, 141, 146, 150, 155, 159, 162, 166, 169, 172, 174, 176, 178, 182, 186, 189, 192, 195, 198, 203, 206, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 236, 238, 242, 246, 250, 252, 256, 260, 262, 266, 270, 273, 275, 278, 282, 286, 290, 292, 296, 300, 302, 306, 308, 312, 314, 318, 320, 324, 326, 330, 332, 338, 340, 344, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 376, 378, 381, 385, 388, 394, 396, 399, 401, 404, 406, 409, 411, 414, 416, 419, 421, 424, 426, 429, 431, 434, 436, 439, 441, 444, 446, 449, 451, 454, 456, 459, 461, 464, 466, 469, 471, 474, 476, 479, 481, 484, 486, 489, 491, 494, 496, 498, 500, 503, 505, 508, 510, 513, 515, 518, 523, 529, 531, 534, 536, 539, 541, 544, 546, 549, 551, 554, 556, 559, 564, 570, 572, 576, 578, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 623, 625, 628, 632, 639, 645, 647, 649, 651, 653, 655, 657, 659, 661, 663, 665, 667, 669, 671, 673, 675, 677, 679, 681, 683, 685, 687, 689, 691, 696, 701, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750, 755, 760, 765, 767, 773, 778, 783, 787, 793, 800, 806, 812, 817, 824, 827, 830, 834, 838, 840, 843, 845, 848, 850, 852, 854, 858, 862, 866, 870, 872, 876, 878, 880, 882, 885, 889, 891, 895, 905, 915, 923, 931, 937, 948, 959, 968, 977, 984, 993, 1002, 1009, 1016, 1021, 1031, 1041, 1049, 1057, 1063, 1067, 1070, 1073, 1076, 1078, 1081, 1083, 1085, 1087, 1091, 1093, 1096, 1099, 1103, 1109, 1112, 1115, 1120, 1126, 1134, 1142, 1148, 1150, 1154, 1156, 1160, 1164, 1167, 1171, 1175, 1179, 1184, 1189, 1192, 1196, 1200, 1205, 1209, 1212, 1216, 1220, 1225, 1227, 1229, 1232, 1235, 1238, 1242, 1244, 1246, 1249, 1252, 1255, 1259, 1261, 1264, 1268, 1271, 1273, 1277, 1282, 1286, 1291, 1293, 1296, 1299, 1303, 1307, 1310, 1314, 1318, 1321, 1323, 1325, 1328, 1331, 1333, 1336, 1339, 1343, 1347, 1349, 1352, 1354, 1357, 1360, 1364, 1366, 1370, 1372, 1376, 1379, 1382, 1385, 1389, 1391, 1393, 1395, 1399, 1401, 1404, 1406, 1409, 1411, 1415, 1420, 1422, 1424, 1426, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1446, 1451, 1455, 1457, 1460, 1462, 1465, 1468, 1470, 1472, 1475, 1477, 1480, 1484, 1486, 1489, 1495, 1503, 1509, 1515, 1523, 1530, 1538, 1543, 1549, 1554, 1558, 1561, 1564, 1567, 1571, 1573, 1579, 1584, 1590, 1595, 1600, 1604, 1609, 1613, 1617, 1620, 1623, 1626, 1629, 1632, 1635, 1638, 1641, 1644, 1648, 1650, 1652, 1656, 1659, 1661, 1663, 1666, 1669, 1671, 1674, 1676, 1678, 1681, 1683
87 static const yytype_int16 yyrhs[] =
89 268, 0, -1, 156, 121, -1, 156, 122, -1, 156, 1, -1, 151, -1, 156, 156, -1, 28, -1, 150, -1, 150, 122, 209, 123, -1, 150, 122, 209, 11, -1, 186, 228, -1, 228, -1, 186, 124, 125, -1, 126, 186, 124, 125, -1, 79, 186, 228, -1, 79, 228, -1, 3, -1, 158, -1, 124, 180, 125, -1, 156, -1, 258, -1, 4, -1, 119, -1, 255, -1, 127, 255, -1, 127, 255, 128, 255, -1, 124, 125, -1, 72, 186, 225, 129, 181, 130, -1, 72, 186, 129, 181, 130, -1, 103, 186, 225, 129, 181, 130, -1, 103, 186, 129, 181, 130, -1, 73, 181, 189, 225, 129, 181, 130, -1, 73, 181, 189, 129, 181, 130, -1, 104, 181, 189, 225, 129, 181, 130, -1, 104, 181, 189, 129, 181, 130, -1, 1, -1, 157, -1, 159, 129, 180, 130, -1, 159, 124, 125, -1, 159, 124, 161, 125, -1, 159, 128, 156, -1, 159, 156, -1, 159, 7, 156, -1, 159, 8, -1, 159, 9, -1, 259, -1, 178, -1, 160, -1, 161, 131, 178, -1, 161, 131, 160, -1, 8, 163, -1, 9, 163, -1, 164, 165, -1, 6, 163, -1, 6, 124, 240, 125, -1, 110, 163, -1, 110, 124, 240, 125, -1, 162, -1, 159, -1, 132, -1, 121, -1, 133, -1, 134, -1, 126, -1, 135, -1, 74, -1, 163, -1, 124, 239, 125, 165, -1, 165, -1, 166, 121, 165, -1, 166, 136, 165, -1, 166, 137, 165, -1, 166, -1, 167, 133, 166, -1, 167, 134, 166, -1, 167, -1, 168, 10, 167, -1, 168, 11, 167, -1, 170, 122, -1, 168, -1, 169, 168, -1, 170, 123, 168, -1, 170, 12, 168, -1, 170, 13, 168, -1, 170, -1, 171, 14, 170, -1, 171, 15, 170, -1, 171, -1, 172, 132, 171, -1, 172, -1, 173, 138, 172, -1, 173, -1, 174, 139, 173, -1, 174, -1, 175, 16, 174, -1, 175, -1, 176, 17, 175, -1, 176, -1, 176, 140, 180, 141, 177, -1, 177, -1, 163, 179, 178, -1, 163, 179, 160, -1, 142, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 178, -1, 180, 131, 178, -1, 177, -1, 185, 143, -1, 185, 190, 143, -1, 256, 143, -1, 78, 156, 142, 181, 143, -1, 200, -1, 183, 200, -1, 201, -1, 183, 201, -1, 219, -1, 183, 219, -1, 203, -1, 183, 203, -1, 200, -1, 184, 200, -1, 201, -1, 184, 201, -1, 147, -1, 184, 147, -1, 219, -1, 184, 219, -1, 203, -1, 184, 203, -1, 192, -1, 185, 192, -1, 200, -1, 185, 200, -1, 201, -1, 185, 201, -1, 219, -1, 185, 219, -1, 203, -1, 185, 203, -1, 192, -1, 186, 192, -1, 200, -1, 186, 200, -1, 201, -1, 186, 201, -1, 147, -1, 186, 147, -1, 203, -1, 186, 203, -1, 219, -1, 186, 219, -1, 186, -1, 148, -1, 192, -1, 188, 192, -1, 200, -1, 188, 200, -1, 202, -1, 188, 202, -1, 156, -1, 188, 156, -1, 156, 122, 209, 123, -1, 188, 156, 122, 209, 123, -1, 192, -1, 189, 192, -1, 200, -1, 189, 200, -1, 202, -1, 189, 202, -1, 203, -1, 189, 203, -1, 219, -1, 189, 219, -1, 156, -1, 189, 156, -1, 156, 122, 209, 123, -1, 189, 156, 122, 209, 123, -1, 191, -1, 190, 131, 191, -1, 226, -1, 226, 142, 241, -1, 29, -1, 30, -1, 31, -1, 32, -1, 33, -1, 118, -1, 75, -1, 76, -1, 198, -1, 80, -1, 111, -1, 112, -1, 3, -1, 28, -1, 76, -1, 75, -1, 45, -1, 195, -1, 195, 124, 180, 125, -1, 196, -1, 197, 196, -1, 197, 131, 196, -1, 194, 124, 124, 197, 125, 125, -1, 194, 124, 124, 125, 125, -1, 193, -1, 45, -1, 46, -1, 199, -1, 47, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 48, -1, 40, -1, 43, -1, 44, -1, 41, -1, 42, -1, 86, -1, 114, -1, 113, -1, 204, -1, 218, -1, 149, -1, 88, 124, 178, 125, -1, 101, 124, 149, 125, -1, 101, 124, 156, 125, -1, 67, -1, 83, -1, 84, -1, 47, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 48, -1, 40, -1, 43, -1, 44, -1, 41, -1, 42, -1, 86, -1, 114, -1, 113, -1, 204, -1, 218, -1, 151, -1, 88, 124, 178, 125, -1, 101, 124, 149, 125, -1, 101, 124, 156, 125, -1, 67, -1, 210, 156, 144, 211, 145, -1, 210, 144, 211, 145, -1, 210, 156, 144, 145, -1, 210, 144, 145, -1, 210, 150, 144, 211, 145, -1, 210, 193, 156, 144, 211, 145, -1, 210, 193, 144, 211, 145, -1, 210, 193, 156, 144, 145, -1, 210, 193, 144, 145, -1, 210, 193, 151, 144, 211, 145, -1, 210, 156, -1, 210, 151, -1, 210, 193, 156, -1, 210, 193, 151, -1, 186, -1, 186, 224, -1, 186, -1, 186, 224, -1, 168, -1, 207, -1, 206, -1, 156, 142, 207, -1, 156, 142, 206, -1, 205, 142, 207, -1, 205, 142, 206, -1, 208, -1, 209, 131, 208, -1, 49, -1, 50, -1, 215, -1, 211, 215, -1, 159, 142, 242, -1, 212, -1, 213, 131, 212, -1, 69, 188, 156, 144, 70, 250, 71, 250, 145, -1, 69, 188, 156, 144, 71, 250, 70, 250, 145, -1, 69, 188, 156, 144, 70, 250, 145, -1, 69, 188, 156, 144, 71, 250, 145, -1, 69, 188, 156, 144, 145, -1, 69, 188, 224, 156, 144, 70, 250, 71, 250, 145, -1, 69, 188, 224, 156, 144, 71, 250, 70, 250, 145, -1, 69, 188, 224, 156, 144, 70, 250, 145, -1, 69, 188, 224, 156, 144, 71, 250, 145, -1, 69, 188, 224, 156, 144, 145, -1, 69, 188, 144, 70, 250, 71, 250, 145, -1, 69, 188, 144, 71, 250, 70, 250, 145, -1, 69, 188, 144, 70, 250, 145, -1, 69, 188, 144, 71, 250, 145, -1, 69, 188, 144, 145, -1, 69, 188, 224, 144, 70, 250, 71, 250, 145, -1, 69, 188, 224, 144, 71, 250, 70, 250, 145, -1, 69, 188, 224, 144, 70, 250, 145, -1, 69, 188, 224, 144, 71, 250, 145, -1, 69, 188, 224, 144, 145, -1, 186, 216, 143, -1, 186, 143, -1, 258, 143, -1, 257, 143, -1, 260, -1, 213, 143, -1, 214, -1, 143, -1, 217, -1, 216, 131, 217, -1, 232, -1, 232, 198, -1, 141, 181, -1, 232, 141, 181, -1, 232, 141, 181, 141, 181, -1, 51, 156, -1, 51, 151, -1, 51, 144, 220, 145, -1, 51, 156, 144, 220, 145, -1, 51, 156, 144, 220, 143, 211, 145, -1, 51, 151, 144, 220, 143, 211, 145, -1, 51, 151, 144, 220, 145, -1, 221, -1, 220, 131, 221, -1, 156, -1, 156, 142, 181, -1, 124, 224, 125, -1, 129, 130, -1, 129, 181, 130, -1, 129, 149, 130, -1, 222, 129, 130, -1, 222, 129, 181, 130, -1, 222, 129, 149, 130, -1, 124, 125, -1, 124, 235, 125, -1, 222, 124, 125, -1, 222, 124, 235, 125, -1, 124, 225, 125, -1, 124, 125, -1, 124, 235, 125, -1, 223, 124, 125, -1, 223, 124, 235, 125, -1, 234, -1, 222, -1, 234, 222, -1, 193, 234, -1, 193, 222, -1, 193, 234, 222, -1, 234, -1, 223, -1, 234, 223, -1, 193, 234, -1, 193, 223, -1, 193, 234, 223, -1, 231, -1, 234, 231, -1, 193, 234, 231, -1, 226, 193, -1, 156, -1, 124, 226, 125, -1, 227, 129, 181, 130, -1, 227, 129, 130, -1, 227, 129, 149, 130, -1, 230, -1, 234, 230, -1, 193, 230, -1, 193, 234, 230, -1, 234, 193, 230, -1, 227, 124, -1, 229, 235, 125, -1, 229, 238, 125, -1, 229, 125, -1, 230, -1, 227, -1, 193, 230, -1, 193, 227, -1, 227, -1, 234, 227, -1, 193, 227, -1, 193, 234, 227, -1, 234, 193, 227, -1, 200, -1, 233, 200, -1, 121, -1, 121, 233, -1, 121, 234, -1, 121, 233, 234, -1, 236, -1, 236, 131, 52, -1, 237, -1, 236, 131, 237, -1, 186, 226, -1, 186, 224, -1, 186, 132, -1, 186, 132, 226, -1, 187, -1, 66, -1, 156, -1, 238, 131, 156, -1, 183, -1, 183, 224, -1, 184, -1, 184, 224, -1, 178, -1, 144, 243, 145, -1, 144, 243, 131, 145, -1, 177, -1, 160, -1, 241, -1, 243, 131, 241, -1, 245, -1, 250, -1, 251, -1, 252, -1, 253, -1, 254, -1, 156, 141, 244, -1, 53, 181, 141, 244, -1, 54, 141, 244, -1, 182, -1, 246, 182, -1, 244, -1, 247, 244, -1, 247, 182, -1, 247, -1, 246, -1, 246, 247, -1, 144, -1, 144, 145, -1, 249, 248, 145, -1, 143, -1, 180, 143, -1, 55, 124, 180, 125, 244, -1, 55, 124, 180, 125, 244, 65, 244, -1, 56, 124, 180, 125, 244, -1, 57, 124, 180, 125, 244, -1, 58, 244, 57, 124, 180, 125, 143, -1, 59, 124, 251, 251, 125, 244, -1, 59, 124, 251, 251, 180, 125, 244, -1, 57, 124, 125, 244, -1, 59, 124, 251, 125, 244, -1, 59, 124, 125, 244, -1, 60, 156, 143, -1, 61, 143, -1, 62, 143, -1, 63, 143, -1, 63, 180, 143, -1, 5, -1, 185, 156, 144, 267, 145, -1, 185, 156, 144, 145, -1, 186, 156, 144, 267, 145, -1, 186, 156, 144, 145, -1, 149, 144, 267, 145, -1, 149, 144, 145, -1, 156, 144, 267, 145, -1, 156, 144, 145, -1, 144, 267, 145, -1, 144, 145, -1, 152, 250, -1, 155, 250, -1, 155, 143, -1, 153, 250, -1, 154, 250, -1, 185, 228, -1, 185, 232, -1, 261, 250, -1, 159, 142, 242, -1, 242, -1, 263, -1, 264, 131, 263, -1, 264, 143, -1, 265, -1, 262, -1, 266, 265, -1, 266, 262, -1, 143, -1, 266, 143, -1, 266, -1, 264, -1, 266, 264, -1, 237, -1, 237, 141, 181, -1
92 static const yytype_uint16 yyrline[] =
94 0, 231, 231, 249, 273, 313, 314, 341, 345, 346, 347, 364, 366, 371, 376, 381, 383, 388, 393, 394, 399, 401, 403, 405, 406, 408, 409, 410, 413, 414, 415, 416, 417, 418, 419, 420, 421, 425, 426, 427, 428, 429, 430, 443, 444, 445, 449, 478, 479, 480, 481, 485, 486, 487, 489, 490, 492, 493, 497, 498, 507, 508, 509, 510, 511, 512, 513, 517, 518, 522, 523, 524, 525, 529, 530, 531, 535, 536, 537, 541, 549, 550, 551, 552, 553, 557, 558, 559, 563, 564, 568, 569, 573, 574, 578, 579, 583, 584, 588, 589, 593, 594, 595, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 613, 614, 618, 622, 623, 624, 625, 629, 630, 631, 632, 633, 634, 635, 636, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 681, 682, 686, 687, 688, 689, 690, 691, 692, 693, 694, 702, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 731, 740, 741, 745, 746, 750, 751, 752, 753, 754, 755, 759, 760, 761, 765, 766, 767, 772, 773, 774, 775, 776, 780, 781, 785, 786, 787, 791, 792, 796, 800, 801, 802, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 862, 863, 864, 865, 866, 869, 870, 871, 872, 873, 878, 879, 882, 884, 889, 890, 895, 896, 907, 911, 913, 914, 916, 917, 941, 956, 957, 961, 962, 966, 967, 971, 975, 976, 980, 982, 984, 986, 988, 991, 993, 995, 997, 999, 1002, 1004, 1006, 1008, 1010, 1013, 1015, 1017, 1019, 1021, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1037, 1039, 1044, 1046, 1048, 1050, 1052, 1057, 1058, 1062, 1064, 1065, 1066, 1067, 1071, 1073, 1078, 1080, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1111, 1113, 1115, 1117, 1119, 1124, 1125, 1126, 1127, 1128, 1129, 1133, 1134, 1135, 1136, 1137, 1138, 1184, 1185, 1187, 1189, 1194, 1196, 1198, 1200, 1202, 1207, 1208, 1211, 1213, 1215, 1221, 1225, 1227, 1229, 1234, 1235, 1236, 1238, 1243, 1244, 1245, 1246, 1247, 1251, 1252, 1256, 1257, 1258, 1259, 1263, 1264, 1268, 1269, 1273, 1274, 1275, 1276, 1277, 1288, 1313, 1314, 1318, 1319, 1323, 1324, 1328, 1330, 1332, 1348, 1350, 1372, 1374, 1379, 1380, 1381, 1382, 1383, 1384, 1388, 1390, 1392, 1397, 1398, 1402, 1403, 1406, 1410, 1411, 1412, 1416, 1420, 1428, 1433, 1434, 1438, 1439, 1440, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1455, 1456, 1457, 1458, 1459, 1463, 1467, 1469, 1474, 1476, 1501, 1503, 1505, 1507, 1512, 1514, 1518, 1520, 1522, 1524, 1526, 1532, 1534, 1539, 1544, 1545, 1549, 1551, 1556, 1561, 1562, 1563, 1564, 1565, 1566, 1570, 1571, 1572, 1576, 1577
97 static const char * const yytname[] =
99 "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT", "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR", "SHORT", "INT", "UINT", "INT64", "INT128", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION", "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS", "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP", "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE", "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT", "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING", "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION", "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY", "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS", "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD", "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL", "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD", "WIDE_STRING_LITERAL", "BUILTIN_OFFSETOF", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "'$'", "'.'", "'['", "']'", "','", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", "$accept", "guess_type", "real_guess_type", "type", "base_strict_type", "strict_type", "class_function_definition_start", "constructor_function_definition_start", "destructor_function_definition_start", "virtual_class_function_definition_start", "identifier", "primary_expression", "simple_primary_expression", "postfix_expression", "anon_instantiation_expression", "argument_expression_list", "common_unary_expression", "unary_expression", "unary_operator", "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression_smaller_than", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "assignment_expression", "assignment_operator", "expression", "constant_expression", "declaration", "specifier_qualifier_list", "guess_specifier_qualifier_list", "declaration_specifiers", "guess_declaration_specifiers", "real_guess_declaration_specifiers", "property_specifiers", "renew_specifiers", "init_declarator_list", "init_declarator", "storage_class_specifier", "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list", "attrib", "ext_storage", "type_qualifier", "type_specifier", "strict_type_specifier", "struct_or_union_specifier_compound", "struct_or_union_specifier_nocompound", "template_datatype", "template_type_argument", "template_expression_argument", "template_argument", "template_arguments_list", "struct_or_union", "struct_declaration_list", "default_property", "default_property_list", "property", "struct_declaration", "struct_declarator_list", "struct_declarator", "enum_specifier_nocompound", "enum_specifier_compound", "enumerator_list", "enumerator", "direct_abstract_declarator", "direct_abstract_declarator_noarray", "abstract_declarator", "abstract_declarator_noarray", "declarator", "direct_declarator_nofunction", "declarator_function", "direct_declarator_function_start", "direct_declarator_function", "direct_declarator", "declarator_nofunction", "type_qualifier_list", "pointer", "parameter_type_list", "parameter_list", "parameter_declaration", "identifier_list", "type_name", "guess_type_name", "initializer", "initializer_condition", "initializer_list", "statement", "labeled_statement", "declaration_list", "statement_list", "compound_inside", "compound_start", "compound_statement", "expression_statement", "selection_statement", "iteration_statement", "jump_statement", "string_literal", "instantiation_named", "guess_instantiation_named", "instantiation_unnamed", "instantiation_anon", "class_function_definition", "instance_class_function_definition_start", "instance_class_function_definition", "data_member_initialization", "data_member_initialization_list", "data_member_initialization_list_coloned", "members_initialization_list_coloned", "members_initialization_list", "type_unit", 0
102 static const yytype_uint16 yyr1[] =
104 0, 146, 147, 147, 148, 149, 149, 150, 151, 151, 151, 152, 152, 153, 154, 155, 155, 156, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, 161, 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, 163, 163, 164, 164, 164, 164, 164, 164, 164, 165, 165, 166, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 170, 170, 170, 170, 170, 171, 171, 171, 172, 172, 173, 173, 174, 174, 175, 175, 176, 176, 177, 177, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 180, 180, 181, 182, 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, 183, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 190, 190, 191, 191, 192, 192, 192, 192, 192, 192, 193, 193, 193, 194, 194, 194, 195, 195, 195, 195, 195, 196, 196, 197, 197, 197, 198, 198, 199, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204, 204, 204, 205, 205, 206, 206, 207, 208, 208, 208, 208, 208, 208, 209, 209, 210, 210, 211, 211, 212, 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 217, 217, 217, 217, 217, 218, 218, 219, 219, 219, 219, 219, 220, 220, 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, 227, 227, 227, 227, 227, 228, 228, 228, 228, 228, 229, 230, 230, 230, 231, 231, 231, 231, 232, 232, 232, 232, 232, 233, 233, 234, 234, 234, 234, 235, 235, 236, 236, 237, 237, 237, 237, 237, 237, 238, 238, 239, 239, 240, 240, 241, 241, 241, 242, 242, 243, 243, 244, 244, 244, 244, 244, 244, 245, 245, 245, 246, 246, 247, 247, 247, 248, 248, 248, 249, 250, 250, 251, 251, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 256, 256, 257, 257, 258, 258, 258, 258, 259, 259, 260, 260, 260, 260, 260, 261, 261, 262, 263, 263, 264, 264, 265, 266, 266, 266, 266, 266, 266, 267, 267, 267, 268, 268
107 static const yytype_uint8 yyr2[] =
109 0, 2, 2, 2, 2, 1, 2, 1, 1, 4, 4, 2, 1, 3, 4, 3, 2, 1, 1, 3, 1, 1, 1, 1, 1, 2, 4, 2, 6, 5, 6, 5, 7, 6, 7, 6, 1, 1, 4, 3, 4, 3, 2, 3, 2, 2, 1, 1, 1, 3, 3, 2, 2, 2, 2, 4, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 2, 1, 2, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 3, 2, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 2, 3, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 5, 4, 4, 3, 5, 6, 5, 5, 4, 6, 2, 2, 3, 3, 1, 2, 1, 2, 1, 1, 1, 3, 3, 3, 3, 1, 3, 1, 1, 1, 2, 3, 1, 3, 9, 9, 7, 7, 5, 10, 10, 8, 8, 6, 8, 8, 6, 6, 4, 9, 9, 7, 7, 5, 3, 2, 2, 2, 1, 2, 1, 1, 1, 3, 1, 2, 2, 3, 5, 2, 2, 4, 5, 7, 7, 5, 1, 3, 1, 3, 3, 2, 3, 3, 3, 4, 4, 2, 3, 3, 4, 3, 2, 3, 3, 4, 1, 1, 2, 2, 2, 3, 1, 1, 2, 2, 2, 3, 1, 2, 3, 2, 1, 3, 4, 3, 4, 1, 2, 2, 3, 3, 2, 3, 3, 2, 1, 1, 2, 2, 1, 2, 2, 3, 3, 1, 2, 1, 2, 2, 3, 1, 3, 1, 3, 2, 2, 2, 3, 1, 1, 1, 3, 1, 2, 1, 2, 1, 3, 4, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 4, 3, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 3, 1, 2, 5, 7, 5, 5, 7, 6, 7, 4, 5, 4, 3, 2, 2, 2, 3, 1, 5, 4, 5, 4, 4, 3, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 1, 1, 3, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 3
112 static const yytype_uint16 yydefact[] =
114 0, 17, 7, 191, 192, 193, 194, 195, 220, 221, 222, 223, 224, 225, 227, 230, 231, 228, 229, 216, 217, 219, 226, 294, 295, 0, 417, 241, 197, 198, 200, 242, 243, 232, 0, 0, 201, 202, 234, 233, 196, 155, 162, 237, 8, 5, 0, 161, 416, 149, 215, 0, 199, 218, 151, 153, 157, 235, 0, 236, 159, 501, 0, 0, 337, 336, 0, 0, 0, 4, 2, 3, 6, 404, 0, 0, 414, 156, 379, 150, 215, 152, 154, 158, 160, 364, 413, 412, 394, 0, 393, 375, 363, 0, 0, 8, 278, 277, 0, 0, 1, 345, 0, 343, 0, 0, 36, 22, 468, 0, 0, 0, 0, 0, 66, 0, 0, 0, 23, 61, 0, 64, 0, 60, 62, 63, 65, 0, 20, 37, 18, 59, 58, 67, 0, 69, 73, 76, 80, 0, 85, 88, 90, 92, 94, 96, 98, 100, 0, 24, 21, 0, 0, 237, 20, 67, 285, 283, 0, 287, 286, 292, 0, 402, 405, 406, 354, 0, 0, 0, 0, 408, 410, 348, 0, 116, 0, 0, 379, 0, 415, 0, 367, 396, 395, 366, 0, 0, 378, 389, 0, 392, 0, 0, 0, 0, 365, 376, 0, 0, 0, 0, 0, 328, 270, 0, 0, 0, 0, 20, 0, 0, 215, 0, 299, 0, 327, 296, 0, 12, 384, 0, 0, 21, 325, 0, 0, 0, 280, 279, 502, 0, 0, 338, 0, 0, 0, 54, 0, 51, 52, 0, 0, 0, 0, 0, 0, 56, 27, 114, 0, 420, 121, 123, 127, 125, 0, 25, 0, 0, 0, 44, 45, 0, 0, 0, 42, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 103, 0, 53, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 239, 240, 0, 0, 215, 284, 363, 0, 10, 9, 0, 403, 407, 347, 380, 355, 0, 350, 349, 0, 368, 377, 356, 0, 351, 0, 0, 382, 0, 0, 390, 391, 0, 203, 204, 207, 206, 205, 0, 208, 210, 0, 245, 246, 247, 248, 249, 250, 252, 255, 256, 253, 254, 244, 251, 0, 266, 257, 0, 0, 259, 258, 262, 169, 0, 163, 165, 167, 260, 0, 261, 0, 16, 61, 0, 20, 0, 448, 0, 479, 482, 483, 481, 480, 0, 0, 0, 322, 379, 215, 0, 329, 397, 11, 331, 0, 386, 0, 268, 297, 0, 326, 0, 385, 324, 323, 0, 269, 0, 275, 0, 0, 0, 346, 344, 0, 342, 0, 339, 133, 20, 422, 129, 131, 137, 135, 0, 0, 0, 215, 370, 0, 369, 183, 0, 173, 175, 177, 179, 181, 0, 0, 0, 0, 19, 0, 0, 122, 124, 128, 126, 421, 0, 0, 496, 0, 474, 59, 428, 427, 0, 139, 141, 143, 147, 145, 488, 46, 0, 493, 489, 499, 492, 0, 0, 476, 0, 43, 39, 48, 0, 47, 41, 0, 102, 101, 70, 71, 72, 74, 75, 77, 78, 83, 84, 82, 86, 87, 89, 91, 93, 95, 97, 0, 283, 289, 288, 366, 291, 290, 293, 409, 411, 357, 353, 352, 383, 381, 419, 214, 0, 0, 0, 211, 337, 336, 0, 0, 0, 0, 170, 164, 166, 168, 0, 277, 0, 15, 215, 0, 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 20, 0, 440, 0, 442, 431, 0, 0, 0, 432, 433, 434, 435, 436, 0, 298, 13, 333, 0, 399, 0, 0, 321, 0, 332, 0, 398, 387, 300, 388, 271, 267, 273, 0, 274, 0, 0, 0, 134, 130, 132, 138, 136, 423, 55, 359, 0, 0, 0, 373, 372, 0, 0, 371, 0, 0, 184, 174, 176, 178, 180, 182, 0, 0, 0, 0, 0, 57, 115, 68, 26, 478, 0, 0, 379, 140, 142, 144, 148, 146, 484, 485, 486, 0, 491, 497, 495, 500, 494, 473, 475, 40, 0, 38, 0, 284, 0, 213, 212, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 280, 279, 14, 0, 0, 0, 0, 0, 0, 0, 0, 464, 465, 466, 0, 0, 0, 452, 117, 379, 0, 187, 189, 441, 0, 444, 443, 450, 119, 472, 0, 400, 0, 330, 397, 0, 334, 401, 276, 272, 341, 340, 358, 360, 29, 374, 361, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 477, 487, 490, 50, 49, 99, 209, 263, 264, 265, 171, 0, 0, 0, 0, 0, 305, 0, 0, 320, 0, 0, 439, 0, 0, 0, 0, 0, 0, 0, 463, 467, 0, 437, 0, 0, 118, 0, 471, 399, 0, 0, 398, 0, 362, 28, 185, 33, 0, 0, 30, 35, 0, 0, 313, 0, 314, 172, 0, 0, 0, 0, 0, 0, 310, 438, 0, 0, 460, 0, 0, 462, 0, 0, 0, 470, 0, 188, 0, 424, 190, 400, 401, 335, 186, 32, 34, 0, 0, 0, 303, 0, 304, 0, 318, 0, 319, 0, 0, 453, 455, 456, 0, 461, 0, 0, 120, 469, 429, 0, 311, 312, 0, 0, 0, 0, 0, 308, 0, 309, 0, 0, 458, 0, 0, 425, 301, 302, 316, 317, 0, 0, 454, 457, 459, 426, 430, 306, 307
117 static const yytype_int16 yydefgoto[] =
119 -1, 41, 42, 127, 44, 45, 205, 206, 207, 208, 128, 129, 130, 131, 459, 481, 132, 155, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 249, 278, 556, 176, 690, 251, 422, 461, 211, 48, 365, 435, 685, 686, 49, 50, 51, 340, 341, 342, 52, 53, 54, 55, 438, 56, 57, 158, 159, 160, 161, 162, 58, 213, 214, 215, 216, 217, 391, 392, 59, 60, 102, 103, 85, 431, 168, 432, 169, 218, 219, 89, 220, 91, 395, 164, 221, 170, 171, 172, 194, 256, 427, 802, 467, 831, 559, 560, 561, 562, 563, 379, 564, 565, 566, 567, 568, 149, 569, 222, 150, 468, 224, 469, 470, 471, 472, 473, 474, 475, 62
122 static const yytype_int16 yypact[] =
124 8948, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, 53, -765, -765, -765, -765, -765, -765, -765, -765, -84, -17, -765, -765, -765, -765, -765, -765, -765, -765, 11, -765, 69, 7351, -765, -765, -765, 24, -765, -765, -765, -765, -765, -765, 15, -765, -765, -6, 141, 166, 21, 34, 7061, 81, 6291, -765, -765, -765, -765, 618, 7456, 6705, 837, -765, 259, -765, 165, -765, -765, -765, -765, 396, -765, 399, 427, 8366, -765, -765, 717, 173, 3521, -69, -765, 155, 74, 7061, -765, 177, -62, -765, 166, 166, -765, -765, -765, 7102, 7210, 7210, 9039, 7061, -765, 9039, 7061, 7243, -765, -765, 6426, -765, 323, -765, -765, -765, -765, 200, 76, -765, -765, 846, -765, 1068, 7061, -765, -15, 383, 490, 7061, 278, 72, 255, 268, 258, 416, 5, -765, 309, -765, -765, 332, 26, 200, 117, -765, 490, 6169, 294, -765, -765, -765, 126, -765, 618, -765, -765, 566, 341, 419, 345, 366, -765, -765, -14, -765, 388, 837, -765, 98, 399, 987, 396, 427, -765, 717, 8465, 6738, -765, -765, 6846, -765, 365, 425, -7, 32, 396, -765, 298, 9130, 8663, 6649, 9039, -765, -765, 410, 410, 410, 443, 61, 469, 5937, 98, 3648, -765, 135, -765, -765, 427, -765, -765, 987, 420, 423, -765, 5538, 3775, 3902, 424, 426, -765, 7061, 166, -765, 226, 403, 6426, -765, 6879, -765, -765, 259, 7660, 9221, 7762, 9221, 6426, -765, -765, -765, 151, 8165, -765, -765, -765, -765, 447, 446, 2661, 2806, 166, -765, -765, 5231, 166, 7061, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, 5266, -765, 7061, 7061, 7061, 7061, 7061, 7061, 7061, 490, 7061, 7061, -765, 7061, 7061, 7061, 7061, 7061, 7061, 7061, 7061, 7061, -765, -765, -765, 6291, 7558, 225, 435, 428, 6291, -765, -765, 6291, -765, -765, -765, -765, -765, 8857, -765, -765, 987, 396, -765, -765, 457, -765, 154, 459, -765, 195, 466, -765, -765, 166, -765, -765, -765, -765, -765, 474, 484, -765, 277, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, 81, -765, -765, 486, 491, -765, -765, -765, 492, 5820, -765, -765, -765, -765, 556, -765, 8663, -765, 618, 6561, 63, 8760, 473, 5045, -765, -765, -765, -765, -765, 5266, 634, 7061, -765, 152, 98, 207, -765, 427, -765, 303, 987, -765, 32, -765, -765, 819, -765, 32, -765, -765, -765, 4029, -765, 4156, -765, 4283, 5538, 4410, -765, -765, 5538, -765, 5538, -765, -765, 61, 8165, -765, -765, -765, -765, 497, 8267, 7061, 224, 499, 495, 503, 511, 7966, -765, -765, -765, -765, -765, 7061, 509, 8068, 518, -765, 7061, 166, -765, -765, -765, -765, -765, 7061, 323, -765, 2951, -765, 506, -765, -765, 8663, -765, -765, -765, -765, -765, -765, -765, 410, -765, -765, 251, -765, 3096, 512, -765, 513, -765, -765, -765, 187, -765, -765, 412, -765, -765, -765, -765, -765, -15, -15, 383, 383, 490, 490, 490, 278, 278, 72, 255, 268, 258, 416, 106, 7864, -765, -765, 428, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, 7061, 526, 600, -765, -765, -765, 7061, 81, 6291, -16, -12, -765, -765, -765, 85, -765, 81, -765, 98, 535, -765, 7061, 525, 546, 548, 549, 5189, 550, 166, 536, 539, 5703, 166, -765, 17, 286, -765, 6053, -765, -765, 2226, 2371, 538, -765, -765, -765, -765, -765, 542, -765, -765, -765, 3241, 427, 32, 344, -765, 7061, -765, 32, 427, -765, -765, -765, -765, -765, -765, 4537, -765, 4664, 4791, 4918, -765, -765, -765, -765, -765, -765, -765, -765, 561, 567, 569, 499, 503, 8564, 7061, 499, 6291, 7061, 579, -765, -765, -765, -765, -765, 577, 578, 7061, 7061, 584, -765, -765, -765, -765, -765, 562, 5266, 166, -765, -765, -765, -765, -765, -765, -765, -765, 5266, -765, -765, -765, 251, -765, -765, -765, -765, 5266, -765, 7061, -765, 253, -765, -765, 590, 592, 28, 146, 410, 410, -765, 6291, -11, -9, 580, -765, -765, -765, 582, 5189, 7061, 7061, 6920, 664, 5595, 583, -765, -765, -765, 306, 591, 5189, -765, -765, 90, 310, -765, 662, -765, 2516, -765, -765, -765, -765, -765, 587, 427, 98, -765, 611, 987, 603, 427, -765, -765, -765, -765, -765, -765, -765, 499, -765, 616, 619, 307, 622, 6291, 7061, -765, 624, 630, 7061, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -765, -20, -32, 350, 410, 410, -765, 410, 410, -765, 222, 5189, -765, 302, 321, 5189, 367, 637, 5189, 5669, -765, -765, 7061, -765, 3386, 837, -765, 5403, -765, 611, 32, 32, 611, 7061, -765, -765, -765, -765, 360, 639, -765, -765, 640, 410, -765, 410, -765, -765, 162, -28, 185, -26, 410, 410, -765, -765, 5189, 5189, -765, 5189, 7061, -765, 5189, 7028, 605, -765, 626, -765, 5403, -765, -765, 611, 611, -765, -765, -765, -765, 627, 631, 410, -765, 410, -765, 410, -765, 410, -765, 197, -5, 702, -765, -765, 377, -765, 5189, 402, -765, -765, -765, 164, -765, -765, 632, 633, 638, 641, 410, -765, 410, -765, 5189, 636, -765, 5189, 2042, -765, -765, -765, -765, -765, 642, 645, -765, -765, -765, -765, -765, -765, -765
127 static const yytype_int16 yypgoto[] =
129 -765, 149, -765, 815, 726, 89, -765, -765, -765, -765, 0, -765, -765, 555, -255, -765, -765, 204, -765, -118, 311, 316, -36, -765, 312, 481, 500, 489, 501, 498, -765, 1461, -47, -765, 64, 465, -358, -765, -765, -373, 336, -765, -765, 557, -765, 43, 460, 1077, -765, -765, -309, -765, 413, -765, 1310, 1539, -185, 1351, -195, -765, 181, 257, 505, -512, -171, -54, 408, -765, -765, -128, -765, 235, -172, 1559, 508, 585, -77, -381, -34, -220, -46, -35, -174, -765, 1280, -85, 357, -765, 1339, -87, -765, 10, -765, -765, 573, -764, -374, -765, 288, -765, -765, 260, -765, -765, 1318, -640, -765, -765, -765, -117, -765, -765, 394, -765, -765, -765, 353, 192, 359, 362, -765, -250, -765
132 static const yytype_int16 yytable[] =
134 46, 87, 193, 182, 369, 257, 558, 197, 480, 477, 61, 570, 88, 86, 368, 196, 279, 657, 1, 148, 1, 557, 298, 485, 442, 65, 373, 371, 370, 1, 180, 1, 156, 524, 751, 1, 830, 394, 777, 88, 66, 88, 813, 2, 817, 183, 72, 78, 369, 604, 369, 775, 608, 68, 658, 659, 1, 88, 97, 736, 737, 739, 740, 101, 1, 840, 1, 152, 154, 232, 69, 371, 1, 371, 167, 225, 178, 1, 72, 1, 178, 2, 858, 233, 1, 400, 292, 293, 1, 192, 28, 29, 178, 1, 209, 30, 197, 714, 229, 324, 322, 1, 2, 287, 101, 101, 280, 67, 321, 2, 661, 795, 241, 778, 64, 241, 318, 814, 332, 818, 1, 281, 282, 306, 333, 776, 36, 37, 72, 660, 258, 266, 662, 68, 738, 99, 741, 309, -379, -379, 841, 100, 88, -379, 183, 299, 88, 96, 93, 735, 88, 302, 72, 731, 72, 1, 177, 241, 681, 94, 183, 259, 487, 488, 489, 104, 88, 72, 1, 1, 369, 407, 409, 411, -379, -379, 393, 178, 105, 178, 534, 178, 70, 71, 250, 178, 46, 228, 558, 558, 70, 71, 72, 371, 370, 178, 77, 63, 538, 364, 78, 376, 241, 688, 770, 259, 627, 259, 601, 72, 266, 389, 178, 209, 653, 617, 482, 452, 227, 73, 259, 178, 177, 621, 710, 209, 209, 209, 182, 663, 196, 486, 101, 811, 756, 322, 421, 446, 70, 71, 369, 72, 241, 434, 241, 434, 421, 649, 369, 310, 614, 447, 494, 495, 723, 496, 815, 311, 614, 303, 478, 259, 1, 371, 483, 250, 401, 156, 838, 732, 133, 371, 156, 70, 71, 156, 445, 311, 402, 400, 334, 400, 446, 400, 515, 88, 73, 635, 363, 74, 288, 289, 784, 785, 75, 846, 573, 198, 258, 226, 250, 334, 250, 421, 46, 335, 77, 812, 421, 847, 250, 154, 646, 237, 239, 240, 558, 46, 647, 231, 178, 247, 336, 695, 133, 517, 335, 513, 108, 484, 816, 535, 363, 519, 363, 624, 47, 625, 576, 258, 88, 602, 839, 336, 258, 73, 73, 1, 428, 304, 577, 88, 337, 338, 75, 574, 526, 232, 588, 590, 77, 581, 591, 504, 592, 531, 69, 786, 1, 416, 536, 417, 78, 337, 338, 376, 72, 241, 728, 555, 70, 71, 638, 30, 446, 420, 178, 294, 598, 72, 178, 77, 725, 77, 639, 420, 178, 296, 178, 623, 290, 291, 522, 178, 157, 133, 295, 209, 523, 209, 47, 209, 209, 209, 36, 37, 209, 446, 209, 28, 29, 72, 241, 339, 30, 47, 393, 788, 46, 682, 768, 321, 297, 446, 300, 611, 308, 446, 311, 250, 133, 757, 133, 611, 578, 525, 789, 72, 242, 753, 133, 244, 446, 758, 363, 36, 37, 301, 266, 96, 400, 629, 400, 400, 400, 73, 314, 133, 177, 133, 316, 650, 1, 779, 28, 29, 260, 261, 262, 30, 654, 311, 133, 806, 506, 387, 70, 71, 223, 509, -418, 311, 791, 156, 28, 29, -418, 317, 446, 30, 285, 286, 843, 133, 183, 241, 798, 79, 446, 1, 36, 37, 687, 260, 261, 262, 283, 284, 319, 712, 186, 77, 47, 88, 363, 187, 77, 845, 656, 154, 36, 37, 363, 446, 232, 664, 372, 666, 377, 178, 696, 699, 648, 446, 315, 702, 418, 555, 419, 675, 331, 189, 304, 680, 378, 72, 190, 75, 684, 1, 507, 555, 555, 405, 230, 510, 406, 69, 412, 1, 413, 593, 453, 156, 454, 178, 178, -282, 243, 133, 178, 245, 514, 133, 2, 651, 383, 378, 209, 516, 209, 209, 209, 263, 490, 491, 518, 264, 265, 520, 726, 492, 493, 334, 497, 498, 46, 223, 521, 154, 527, 385, 234, 235, 529, 528, 679, 79, 541, 223, 223, 223, 599, 606, 607, 156, 665, 428, 335, 72, 263, 28, 29, 609, 264, 265, 30, 1, 619, 505, 47, -379, -379, 622, 505, 336, -379, 157, 628, 210, 133, 652, 327, 47, 77, 330, 72, 644, 645, 366, 667, 154, 761, 19, 20, 764, 669, 36, 37, 555, 670, 79, 671, 672, 674, 337, 338, -379, -379, 676, 156, 555, 677, 692, 72, 693, 707, 70, 71, 555, -379, -379, 708, 28, 29, -379, 414, 178, 30, 709, 178, 716, 79, 436, 79, 436, 717, 722, 718, 28, 29, 687, 801, 721, 30, 729, 154, 730, 462, 462, 1, 749, 88, 743, 742, 133, 752, 803, 804, 36, 37, 133, 760, 754, 745, 746, 748, 28, 29, 73, 190, 766, 30, 555, 765, 36, 37, 555, 828, 767, 555, 133, 769, 801, 772, 73, 133, 178, 177, 571, 773, 792, 178, 178, 47, 133, 133, 842, 210, 807, 808, 829, 832, 36, 37, 499, 833, 848, 849, 855, 210, 210, 210, 850, 95, 501, 851, 859, 555, 555, 860, 555, 28, 29, 555, 500, 503, 30, 502, 801, 799, 223, 443, 223, 759, 223, 223, 223, 579, 583, 223, 698, 223, 458, 458, 43, 511, 415, 636, 444, 106, 689, 1, 107, 108, 532, 555, 641, 36, 37, 724, 0, 79, 642, 0, 673, 643, 79, 0, 462, 1, 74, 555, 0, 0, 555, 75, 2, 0, 1, 691, 133, 572, 260, 261, 262, 824, 0, 0, 827, 0, 0, 43, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 133, 133, 133, 133, 0, 133, 0, 0, 0, 151, 153, 0, 133, 0, 0, 0, 43, 174, 112, 113, 133, 603, 612, 0, 0, 0, 0, 0, 0, 0, 612, 43, 0, 618, 0, 0, 153, 0, 0, 28, 29, 0, 0, 462, 30, 0, 0, 0, 630, 115, 116, 0, 0, 0, 43, 0, 0, 43, 0, 0, 0, 462, 153, 0, 0, 118, 0, 0, 0, 47, 238, 0, 157, 122, 133, 36, 37, 0, 133, 0, 0, 133, 133, 210, 744, 73, 0, 0, 177, 210, 133, 210, 79, 210, 210, 210, 755, 263, 210, 43, 210, 264, 265, 0, 691, 0, 0, 0, 0, 223, 0, 223, 223, 223, 0, 0, 0, 1, 0, 133, 133, 0, 133, 133, 157, 133, 133, 0, 43, 326, 0, 133, 329, 0, 668, 0, 0, 0, 458, 0, 0, 0, 43, 0, 43, 630, 0, 0, 462, 462, 0, 0, 0, 43, 0, 153, 458, 133, 787, 0, 462, 0, 790, 0, 0, 793, 0, 153, 153, 153, 701, 0, 0, 133, 0, 0, 133, 133, 153, 157, 0, 0, 0, 0, 43, 0, 43, 0, 153, 28, 29, 0, 0, 43, 30, 0, 0, 0, 0, 713, 153, 153, 715, 821, 822, 0, 823, 0, 0, 825, 0, 719, 720, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 844, 0, 0, 0, 153, 43, 0, 0, 0, 153, 80, 0, 153, 0, 458, 0, 854, 0, 43, 856, 0, 98, 0, 0, 0, 0, 0, 0, 0, 210, 0, 210, 210, 210, 0, 462, 0, 80, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 195, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 774, 43, 0, 0, 153, 0, 43, 458, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 462, 0, 0, 796, 0, 0, 153, 0, 153, 0, 153, 153, 153, 0, 805, 153, 0, 153, 305, 0, 0, 43, 0, 0, 0, 0, 0, 43, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 188, 195, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 43, 212, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 153, 212, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 212, 212, 212, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, 430, 43, 430, 0, 0, 0, 0, 0, 90, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 90, 81, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 43, 0, 0, 153, 153, 0, 0, 0, 305, 0, 163, 0, 0, 92, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 195, 83, 0, 0, 0, 0, 153, 0, 153, 153, 153, 0, 0, 0, 0, 165, 92, 0, 181, 0, 0, 0, 185, 0, 43, 0, 0, 153, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 537, 0, 212, 0, 0, 539, 0, 0, 0, 0, 90, 0, 184, 0, 90, 0, 179, 0, 90, 0, 81, 0, 0, 0, 254, 0, 580, 312, 184, 153, 0, 0, 0, 0, 90, 0, 0, 212, 0, 212, 0, 212, 212, 212, 0, 397, 212, 0, 212, 307, 0, 0, 305, 0, 404, 0, 313, 153, 430, 0, 0, 83, 367, 0, 0, 430, 0, 0, 0, 181, 0, 320, 0, 430, 81, 0, 380, 381, 382, 384, 0, 0, 0, 0, 153, 0, 0, 0, 0, 175, 0, 390, 0, 181, 0, 0, 0, 0, 0, 423, 0, 0, 0, 396, 398, 81, 437, 81, 437, 423, 0, 0, 0, 175, 448, 83, 0, 0, 0, 0, 0, 463, 463, 0, 153, 0, 0, 175, 0, 0, 175, 0, 0, 0, 433, 305, 433, 0, 0, 82, 425, 0, 0, 307, 0, 0, 83, 439, 83, 439, 425, 0, 0, 90, 0, 450, 0, 0, 0, 84, 0, 0, 465, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 0, 0, 0, 0, 0, 0, 0, 307, 508, 0, 0, 0, 175, 0, 0, 175, 0, 697, 0, 90, 0, 0, 0, 253, 0, 0, 0, 0, 0, 212, 90, 212, 212, 212, 397, 0, 0, 0, 0, 533, 404, 0, 582, 255, 0, 0, 81, 584, 163, 252, 0, 81, 0, 463, 0, 0, 175, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 165, 181, 0, 84, 0, 0, 460, 460, 0, 0, 83, 0, 181, 254, 0, 83, 575, 465, 0, 594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 82, 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 188, 0, 463, 433, 0, 605, 84, 631, 0, 596, 433, 424, 0, 763, 0, 0, 0, 82, 433, 82, 463, 424, 615, 637, 0, 0, 449, 0, 0, 0, 615, 426, 0, 464, 464, 0, 396, 84, 440, 84, 440, 426, 0, 465, 0, 0, 451, 0, 633, 0, 0, 81, 0, 466, 466, 184, 0, 0, 0, 0, 0, 465, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 90, 0, 0, 0, 0, 0, 307, 0, 460, 0, 175, 0, 0, 0, 0, 0, 0, 582, 83, 0, 0, 0, 584, 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, 463, 463, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 463, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 633, 0, 82, 465, 465, 253, 700, 82, 460, 464, 0, 0, 0, 0, 0, 465, 0, 0, 0, 0, 0, 0, 84, 0, 0, 255, 460, 84, 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 734, 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 464, 0, 0, 0, 463, 632, 0, 616, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 0, 466, 0, 0, 0, 0, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 460, 0, 762, 90, 0, 175, 465, 0, 0, 106, 82, 1, 107, 108, 109, 0, 110, 111, 0, 0, 780, 781, 0, 782, 783, 0, 0, 0, 0, 0, 84, 0, 463, 0, 175, 0, 2, 175, 0, 0, 0, 0, 0, 0, 0, 0, 175, 175, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 809, 0, 810, 181, 632, 0, 460, 464, 464, 819, 820, 0, 0, 0, 465, 0, 0, 727, 0, 464, 0, 112, 113, 114, 634, 0, 0, 466, 466, 0, 0, 0, 0, 0, 0, 0, 834, 0, 835, 466, 836, 0, 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 0, 117, 0, 0, 0, 852, 0, 853, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 175, 0, 0, 0, 175, 0, 0, 0, 800, 857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 175, 106, 464, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, 27, 0, 464, 0, 0, 112, 113, 114, 28, 29, 0, 553, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 554, 378, -446, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 553, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 554, 378, -445, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 553, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 554, 378, -447, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 455, 456, 457, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 455, 456, 476, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 455, 456, 626, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 640, 456, -498, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 455, 456, 694, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 106, 0, 1, 107, 108, 0, 0, 455, 456, 797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 203, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 553, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 554, 378, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, 0, 2, 0, 112, 113, 114, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 2, 0, 0, 0, 0, 117, 0, 0, 0, 112, 113, 114, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 554, 378, 115, 116, 0, 0, 112, 113, 114, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 479, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 115, 116, 0, 0, 0, 0, 456, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 106, 0, 1, 107, 108, 109, 456, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 106, 0, 1, 107, 108, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 27, 0, 199, 0, 0, 112, 113, 0, 28, 29, 0, 0, 200, 30, 0, 0, 31, 32, 2, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 73, 0, 0, 201, 0, 202, 122, 0, 112, 113, 114, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 115, 116, 0, 0, 0, 0, 106, 117, 1, 107, 108, 109, 0, 110, 111, 0, 118, 0, 119, 0, 0, 120, 750, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 2, 0, 0, 0, 0, 0, 0, 554, 0, 0, 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 112, 113, 114, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 794, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 115, 116, 0, 0, 0, 0, 554, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 1, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 678, 0, 2, 3, 4, 5, 6, 7, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 19, 20, 354, 355, 23, 24, 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 358, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 361, 362, 0, 0, 0, 40, 0, 1, 73, 0, 0, 304, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 1, 0, 73, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, 388, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 1, 0, 73, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 106, 304, 1, 107, 108, 109, 75, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 40, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 248, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 35, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 38, 39, 0, 2, 0, 0, 118, 0, 374, 0, 0, 375, 248, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 112, 113, 114, 28, 29, 0, 0, 0, 30, 0, 0, 0, 2, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 0, 117, 36, 37, 0, 0, 0, 0, 2, 0, 118, 0, 374, 0, 0, 375, 248, 121, 122, 112, 113, 114, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 112, 113, 114, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 173, 0, 123, 124, 125, 126, 115, 116, 0, 0, 0, 0, 106, 117, 1, 107, 108, 109, 0, 110, 111, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 325, 0, 123, 124, 125, 126, 2, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 113, 114, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 115, 116, 112, 113, 114, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 328, 0, 123, 124, 125, 126, 115, 116, 0, 0, 0, 0, 0, 117, 0, 0, 112, 113, 114, 0, 0, 0, 118, 0, 119, 0, 0, 120, 248, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 106, 117, 1, 107, 108, 109, 0, 110, 111, 0, 118, 0, 119, 0, 0, 120, 747, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 2, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 113, 114, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 115, 116, 112, 113, 114, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 120, 826, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 115, 116, 0, 0, 0, 0, 0, 117, 0, 0, 112, 113, 114, 0, 0, 0, 118, 0, 119, 0, 0, 120, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 106, 117, 1, 107, 108, 109, 0, 110, 111, 0, 118, 0, 119, 0, 0, 236, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 2, 0, 0, 0, 0, 0, 106, 0, 1, 107, 108, 109, 0, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 112, 113, 114, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 238, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 115, 116, 0, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 246, 0, 121, 122, 0, 0, 0, 0, 123, 124, 125, 126, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 1, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 74, 0, 0, 0, 0, 75, 0, 0, 76, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 74, 166, 0, 0, 0, 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 304, 166, 0, 0, 0, 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 428, 0, 0, 0, 0, 429, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 428, 0, 0, 0, 0, 441, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 304, 0, 0, 0, 0, 75, 2, 3, 4, 5, 6, 7, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 19, 20, 354, 355, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 358, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 361, 362, 0, 0, 0, 40, 0, 0, 73, 0, 0, 428, 0, 0, 0, 0, 610, 2, 3, 4, 5, 6, 7, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 19, 20, 354, 355, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 358, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 361, 362, 0, 0, 0, 40, 0, 0, 73, 0, 0, 428, 2, 0, 0, 0, 620, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 73, 0, 0, 304, 0, 0, 0, 0, 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 428, 600, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 191, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 323, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 711, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 73, 0, 0, 177, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 540, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 31, 32, 0, 33, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 0, 0, 0, 40, 2, 3, 4, 5, 6, 7, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 19, 20, 354, 355, 23, 24, 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 358, 0, 359, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 361, 362, 0, 0, 0, 40, 2, 3, 4, 5, 6, 7, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 19, 20, 354, 355, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 358, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 361, 362, 0, 0, 0, 40
137 static const yytype_int16 yycheck[] =
139 0, 47, 89, 80, 199, 122, 379, 92, 263, 259, 0, 385, 47, 47, 199, 92, 134, 529, 3, 66, 3, 379, 17, 278, 244, 25, 200, 199, 199, 3, 76, 3, 68, 342, 674, 3, 800, 211, 70, 74, 124, 76, 70, 28, 70, 80, 46, 47, 243, 430, 245, 71, 433, 122, 70, 71, 3, 92, 58, 70, 71, 70, 71, 63, 3, 70, 3, 67, 68, 131, 1, 243, 3, 245, 74, 144, 76, 3, 78, 3, 80, 28, 846, 145, 3, 213, 14, 15, 3, 89, 75, 76, 92, 3, 94, 80, 181, 609, 98, 186, 185, 3, 28, 139, 104, 105, 121, 124, 185, 28, 122, 751, 112, 145, 25, 115, 130, 145, 125, 145, 3, 136, 137, 157, 131, 145, 111, 112, 128, 145, 144, 131, 144, 122, 145, 141, 145, 11, 75, 76, 145, 0, 177, 80, 179, 140, 181, 58, 124, 661, 185, 125, 152, 125, 154, 3, 124, 157, 141, 144, 195, 144, 280, 281, 282, 144, 201, 167, 3, 3, 365, 225, 226, 227, 111, 112, 211, 177, 144, 179, 365, 181, 121, 122, 120, 185, 186, 98, 561, 562, 121, 122, 192, 365, 365, 195, 47, 144, 372, 199, 200, 201, 202, 561, 716, 144, 456, 144, 428, 209, 210, 211, 212, 213, 523, 435, 263, 251, 144, 121, 144, 221, 124, 443, 605, 225, 226, 227, 305, 144, 307, 278, 232, 71, 144, 320, 236, 131, 121, 122, 435, 241, 242, 243, 244, 245, 246, 141, 443, 123, 435, 251, 288, 289, 628, 291, 71, 131, 443, 142, 260, 144, 3, 435, 264, 201, 131, 303, 71, 123, 66, 443, 308, 121, 122, 311, 125, 131, 143, 407, 3, 409, 131, 411, 130, 320, 121, 461, 199, 124, 12, 13, 70, 71, 129, 131, 144, 124, 144, 144, 236, 3, 238, 303, 304, 28, 157, 145, 308, 145, 246, 311, 125, 109, 110, 111, 689, 317, 131, 142, 320, 117, 45, 573, 120, 130, 28, 317, 5, 265, 145, 365, 243, 333, 245, 453, 0, 454, 131, 144, 375, 428, 145, 45, 144, 121, 121, 3, 124, 124, 143, 386, 75, 76, 129, 390, 356, 131, 412, 413, 211, 396, 416, 299, 418, 365, 1, 145, 3, 143, 370, 145, 372, 75, 76, 375, 376, 377, 125, 379, 121, 122, 131, 80, 131, 236, 386, 132, 422, 389, 390, 242, 647, 244, 143, 246, 396, 139, 398, 446, 122, 123, 125, 403, 68, 201, 138, 407, 131, 409, 74, 411, 412, 413, 111, 112, 416, 131, 418, 75, 76, 421, 422, 125, 80, 89, 461, 125, 428, 143, 123, 508, 16, 131, 125, 435, 142, 131, 131, 375, 236, 131, 238, 443, 141, 356, 125, 447, 112, 143, 246, 115, 131, 143, 365, 111, 112, 125, 458, 370, 588, 461, 590, 591, 592, 121, 125, 263, 124, 265, 125, 505, 3, 123, 75, 76, 7, 8, 9, 80, 527, 131, 278, 123, 303, 141, 121, 122, 94, 308, 125, 131, 125, 529, 75, 76, 131, 131, 131, 80, 10, 11, 125, 299, 539, 505, 756, 47, 131, 3, 111, 112, 558, 7, 8, 9, 133, 134, 130, 606, 124, 372, 186, 558, 435, 129, 377, 125, 528, 529, 111, 112, 443, 131, 131, 535, 200, 537, 202, 539, 575, 576, 130, 131, 125, 580, 143, 547, 145, 549, 125, 124, 124, 553, 144, 555, 129, 129, 558, 3, 303, 561, 562, 143, 99, 308, 143, 1, 144, 3, 144, 422, 125, 609, 128, 575, 576, 142, 113, 375, 580, 116, 125, 379, 28, 521, 143, 144, 588, 130, 590, 591, 592, 124, 283, 284, 130, 128, 129, 125, 647, 285, 286, 3, 292, 293, 606, 213, 124, 609, 124, 142, 104, 105, 122, 124, 552, 157, 145, 225, 226, 227, 125, 124, 129, 661, 537, 124, 28, 629, 124, 75, 76, 122, 128, 129, 80, 3, 129, 303, 304, 75, 76, 125, 308, 45, 80, 311, 142, 94, 446, 125, 187, 317, 505, 190, 656, 145, 145, 199, 125, 661, 697, 45, 46, 700, 141, 111, 112, 669, 124, 211, 124, 124, 124, 75, 76, 111, 112, 143, 716, 681, 143, 145, 684, 143, 125, 121, 122, 689, 124, 125, 125, 75, 76, 129, 231, 697, 80, 130, 700, 122, 242, 243, 244, 245, 129, 145, 130, 75, 76, 757, 759, 129, 80, 125, 716, 125, 258, 259, 3, 57, 757, 141, 144, 521, 143, 762, 763, 111, 112, 527, 145, 142, 670, 671, 672, 75, 76, 121, 129, 125, 80, 743, 141, 111, 112, 747, 143, 130, 750, 547, 130, 800, 130, 121, 552, 757, 124, 125, 130, 124, 762, 763, 428, 561, 562, 65, 213, 130, 130, 145, 145, 111, 112, 294, 145, 145, 145, 143, 225, 226, 227, 145, 58, 296, 145, 145, 788, 789, 145, 791, 75, 76, 794, 295, 298, 80, 297, 846, 757, 407, 245, 409, 142, 411, 412, 413, 395, 401, 416, 576, 418, 258, 259, 0, 311, 232, 461, 246, 1, 561, 3, 4, 5, 365, 826, 474, 111, 112, 638, -1, 372, 474, -1, 547, 474, 377, -1, 379, 3, 124, 842, -1, -1, 845, 129, 28, -1, 3, 562, 647, 387, 7, 8, 9, 792, -1, -1, 795, -1, -1, 47, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, 669, 670, 671, 672, -1, 674, -1, -1, -1, 67, 68, -1, 681, -1, -1, -1, 74, 75, 72, 73, 689, 429, 435, -1, -1, -1, -1, -1, -1, -1, 443, 89, -1, 441, -1, -1, 94, -1, -1, 75, 76, -1, -1, 456, 80, -1, -1, -1, 461, 103, 104, -1, -1, -1, 112, -1, -1, 115, -1, -1, -1, 474, 120, -1, -1, 119, -1, -1, -1, 606, 124, -1, 609, 127, 743, 111, 112, -1, 747, -1, -1, 750, 751, 401, 669, 121, -1, -1, 124, 407, 759, 409, 505, 411, 412, 413, 681, 124, 416, 157, 418, 128, 129, -1, 689, -1, -1, -1, -1, 588, -1, 590, 591, 592, -1, -1, -1, 3, -1, 788, 789, -1, 791, 792, 661, 794, 795, -1, 186, 187, -1, 800, 190, -1, 542, -1, -1, -1, 456, -1, -1, -1, 200, -1, 202, 558, -1, -1, 561, 562, -1, -1, -1, 211, -1, 213, 474, 826, 743, -1, 573, -1, 747, -1, -1, 750, -1, 225, 226, 227, 578, -1, -1, 842, -1, -1, 845, 846, 236, 716, -1, -1, -1, -1, 242, -1, 244, -1, 246, 75, 76, -1, -1, 251, 80, -1, -1, -1, -1, 607, 258, 259, 610, 788, 789, -1, 791, -1, -1, 794, -1, 619, 620, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, 826, -1, -1, -1, 303, 304, -1, -1, -1, 308, 47, -1, 311, -1, 573, -1, 842, -1, 317, 845, -1, 58, -1, -1, -1, -1, -1, -1, -1, 588, -1, 590, 591, 592, -1, 689, -1, 74, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 92, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, 721, 372, -1, -1, 375, -1, 377, 638, 379, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, 756, -1, -1, 754, -1, -1, 407, -1, 409, -1, 411, 412, 413, -1, 765, 416, -1, 418, 157, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, 180, 181, -1, -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, -1, 456, -1, -1, -1, -1, 461, 200, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 474, 213, -1, -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, 225, 226, 227, -1, -1, -1, -1, -1, -1, 756, -1, -1, -1, -1, -1, -1, -1, 242, 505, 244, -1, -1, -1, -1, -1, 47, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 528, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, -1, 76, 47, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 558, -1, -1, 561, 562, -1, -1, -1, 304, -1, 73, -1, -1, 47, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, 320, 47, -1, -1, -1, -1, 588, -1, 590, 591, 592, -1, -1, -1, -1, 73, 74, -1, 76, -1, -1, -1, 80, -1, 606, -1, -1, 609, -1, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, -1, -1, -1, -1, 370, -1, 372, -1, -1, 375, -1, -1, -1, -1, 177, -1, 179, -1, 181, -1, 386, -1, 185, -1, 157, -1, -1, -1, 120, -1, 396, 164, 195, 661, -1, -1, -1, -1, 201, -1, -1, 407, -1, 409, -1, 411, 412, 413, -1, 212, 416, -1, 418, 157, -1, -1, 422, -1, 221, -1, 164, 689, 428, -1, -1, 157, 199, -1, -1, 435, -1, -1, -1, 177, -1, 179, -1, 443, 211, -1, 205, 206, 207, 208, -1, -1, -1, -1, 716, -1, -1, -1, -1, 75, -1, 461, -1, 201, -1, -1, -1, -1, -1, 236, -1, -1, -1, 211, 212, 242, 243, 244, 245, 246, -1, -1, -1, 99, 251, 211, -1, -1, -1, -1, -1, 258, 259, -1, 756, -1, -1, 113, -1, -1, 116, -1, -1, -1, 242, 505, 244, -1, -1, 47, 236, -1, -1, 251, -1, -1, 242, 243, 244, 245, 246, -1, -1, 320, -1, 251, -1, -1, -1, 47, -1, -1, 258, 259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, -1, -1, -1, -1, -1, -1, -1, 304, 305, -1, -1, -1, 187, -1, -1, 190, -1, 576, -1, 375, -1, -1, -1, 120, -1, -1, -1, -1, -1, 588, 386, 590, 591, 592, 390, -1, -1, -1, -1, 365, 396, -1, 398, 120, -1, -1, 372, 403, 374, 375, -1, 377, -1, 379, -1, -1, 231, -1, -1, -1, 157, -1, -1, -1, -1, -1, -1, -1, 365, -1, -1, -1, -1, -1, -1, -1, -1, 374, 375, -1, 157, -1, -1, 258, 259, -1, -1, 372, -1, 386, 375, -1, 377, 390, 379, -1, 422, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, 211, -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, 687, -1, 456, 428, -1, 430, 211, 461, -1, 422, 435, 236, -1, 700, -1, -1, -1, 242, 443, 244, 474, 246, 435, 469, -1, -1, 251, -1, -1, -1, 443, 236, -1, 258, 259, -1, 461, 242, 243, 244, 245, 246, -1, 456, -1, -1, 251, -1, 461, -1, -1, 505, -1, 258, 259, 539, -1, -1, -1, -1, -1, 474, -1, -1, -1, -1, -1, -1, -1, -1, 757, -1, -1, -1, 558, -1, -1, -1, -1, -1, 505, -1, 385, -1, 387, -1, -1, -1, -1, -1, -1, 575, 505, -1, -1, -1, 580, -1, -1, -1, -1, -1, -1, -1, 558, -1, -1, 561, 562, -1, -1, -1, -1, -1, 539, -1, -1, -1, -1, 573, -1, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, 558, -1, -1, -1, -1, 441, -1, -1, -1, -1, -1, -1, 558, -1, 372, 561, 562, 375, 576, 377, 456, 379, -1, -1, -1, -1, -1, 573, -1, -1, -1, -1, -1, -1, 372, -1, -1, 375, 474, 377, -1, 379, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 658, 659, -1, -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, 456, -1, -1, -1, 689, 461, -1, 443, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, 474, -1, 456, -1, -1, -1, -1, 461, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 474, 573, -1, 697, 757, -1, 578, 689, -1, -1, 1, 505, 3, 4, 5, 6, -1, 8, 9, -1, -1, 736, 737, -1, 739, 740, -1, -1, -1, -1, -1, 505, -1, 756, -1, 607, -1, 28, 610, -1, -1, -1, -1, -1, -1, -1, -1, 619, 620, -1, -1, -1, -1, -1, -1, -1, 628, -1, -1, -1, 775, -1, 777, 757, 558, -1, 638, 561, 562, 784, 785, -1, -1, -1, 756, -1, -1, 649, -1, 573, -1, 72, 73, 74, 558, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 811, -1, 813, 573, 815, -1, 817, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, -1, -1, -1, -1, 110, -1, -1, -1, 838, -1, 840, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 717, -1, -1, -1, 721, -1, -1, -1, 144, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 754, -1, 756, -1, -1, -1, -1, -1, -1, -1, -1, 765, 1, 689, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, 67, -1, 756, -1, -1, 72, 73, 74, 75, 76, -1, 78, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, 756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, 78, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, 78, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 145, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 1, -1, 3, 4, 5, -1, -1, 143, 144, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, 143, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, 78, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, 28, -1, 72, 73, 74, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, 28, -1, -1, -1, -1, 110, -1, -1, -1, 72, 73, 74, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, 144, 103, 104, -1, -1, 72, 73, 74, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, 103, 104, -1, -1, -1, -1, 144, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, 1, -1, 3, 4, 5, 6, 144, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 1, -1, 3, 4, 5, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, 28, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 72, 73, 74, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 103, 104, -1, -1, -1, -1, 1, 110, 3, 4, 5, 6, -1, 8, 9, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 28, -1, -1, -1, -1, -1, -1, 143, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, 72, 73, 74, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, 103, 104, -1, -1, -1, -1, 143, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 3, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, 143, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, 3, 121, -1, -1, 124, -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 144, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, 143, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, 1, 124, 3, 4, 5, 6, 129, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, -1, 28, -1, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, 28, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, -1, -1, -1, -1, 28, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, 72, 73, 74, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, 72, 73, 74, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, 130, -1, 132, 133, 134, 135, 103, 104, -1, -1, -1, -1, 1, 110, 3, 4, 5, 6, -1, 8, 9, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, 130, -1, 132, 133, 134, 135, 28, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 103, 104, 72, 73, 74, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, 130, -1, 132, 133, 134, 135, 103, 104, -1, -1, -1, -1, -1, 110, -1, -1, 72, 73, 74, -1, -1, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, -1, -1, -1, 1, 110, 3, 4, 5, 6, -1, 8, 9, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 28, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 103, 104, 72, 73, 74, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 103, 104, -1, -1, -1, -1, -1, 110, -1, -1, 72, 73, 74, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, -1, -1, -1, 1, 110, 3, 4, 5, 6, -1, 8, 9, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 28, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, 72, 73, 74, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 103, 104, -1, -1, -1, -1, -1, 110, 3, -1, -1, -1, -1, -1, -1, -1, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, -1, 132, 133, 134, 135, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, 3, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, 129, -1, -1, 132, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 28, -1, -1, -1, 129, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, 129, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, -1, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, -1, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, 118
142 static const yytype_uint16 yystos[] =
144 0, 3, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 66, 67, 75, 76, 80, 83, 84, 86, 88, 101, 111, 112, 113, 114, 118, 147, 148, 149, 150, 151, 156, 186, 187, 192, 193, 194, 198, 199, 200, 201, 203, 204, 210, 218, 219, 237, 268, 144, 151, 156, 124, 124, 122, 1, 121, 122, 156, 121, 124, 129, 132, 147, 156, 192, 193, 200, 201, 203, 219, 222, 224, 226, 227, 229, 230, 231, 234, 124, 144, 150, 151, 156, 193, 141, 0, 156, 220, 221, 144, 144, 1, 4, 5, 6, 8, 9, 72, 73, 74, 103, 104, 110, 119, 121, 124, 126, 127, 132, 133, 134, 135, 149, 156, 157, 158, 159, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 255, 258, 149, 156, 149, 156, 163, 168, 186, 205, 206, 207, 208, 209, 200, 233, 234, 125, 156, 224, 226, 235, 236, 237, 130, 149, 177, 181, 124, 156, 193, 226, 234, 222, 227, 230, 234, 124, 129, 193, 124, 129, 125, 156, 235, 238, 193, 222, 231, 124, 69, 79, 124, 126, 143, 145, 152, 153, 154, 155, 156, 159, 186, 193, 211, 212, 213, 214, 215, 227, 228, 230, 234, 257, 258, 260, 144, 144, 144, 151, 156, 181, 142, 131, 145, 220, 220, 124, 163, 124, 163, 163, 156, 186, 181, 186, 181, 124, 163, 125, 178, 180, 183, 200, 201, 203, 219, 239, 255, 144, 144, 7, 8, 9, 124, 128, 129, 156, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 142, 179, 165, 121, 136, 137, 133, 134, 10, 11, 168, 12, 13, 122, 123, 14, 15, 132, 138, 139, 16, 17, 140, 125, 125, 125, 142, 124, 193, 224, 234, 142, 11, 123, 131, 200, 234, 125, 125, 125, 131, 130, 130, 234, 222, 231, 125, 235, 130, 149, 181, 130, 149, 181, 125, 125, 131, 3, 28, 45, 75, 76, 125, 195, 196, 197, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 51, 67, 86, 88, 101, 113, 114, 151, 156, 188, 192, 200, 202, 204, 210, 218, 186, 228, 121, 124, 156, 186, 144, 249, 250, 250, 250, 143, 250, 142, 124, 141, 143, 156, 193, 216, 217, 227, 228, 232, 234, 230, 234, 145, 215, 131, 143, 193, 230, 143, 143, 211, 145, 211, 145, 211, 144, 144, 181, 221, 143, 145, 143, 145, 147, 156, 184, 200, 201, 203, 219, 240, 124, 129, 193, 223, 225, 234, 156, 189, 192, 200, 202, 203, 219, 129, 225, 189, 240, 125, 131, 156, 200, 201, 203, 219, 224, 125, 128, 143, 144, 145, 159, 160, 177, 185, 192, 200, 201, 203, 219, 242, 259, 261, 262, 263, 264, 265, 266, 267, 145, 267, 156, 125, 160, 161, 178, 156, 180, 160, 178, 165, 165, 165, 166, 166, 167, 167, 168, 168, 168, 170, 170, 171, 172, 173, 174, 175, 180, 186, 206, 207, 234, 206, 207, 208, 52, 237, 125, 130, 130, 130, 130, 156, 125, 124, 125, 131, 196, 151, 156, 124, 124, 122, 144, 156, 192, 200, 202, 224, 156, 193, 228, 193, 124, 145, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 78, 143, 156, 180, 182, 185, 244, 245, 246, 247, 248, 250, 251, 252, 253, 254, 256, 242, 125, 181, 144, 227, 234, 131, 143, 141, 198, 193, 227, 230, 212, 230, 145, 145, 145, 211, 145, 211, 211, 211, 147, 200, 201, 203, 219, 224, 125, 125, 225, 235, 181, 223, 234, 124, 129, 223, 122, 129, 156, 192, 200, 202, 203, 219, 225, 181, 129, 129, 225, 125, 178, 165, 255, 145, 267, 142, 156, 192, 200, 201, 203, 219, 228, 232, 250, 131, 143, 143, 262, 264, 265, 145, 145, 125, 131, 130, 141, 224, 180, 125, 196, 178, 149, 156, 209, 70, 71, 145, 122, 144, 144, 156, 151, 156, 125, 181, 141, 124, 124, 124, 244, 124, 156, 143, 143, 143, 180, 156, 141, 143, 143, 156, 190, 191, 226, 182, 247, 182, 244, 145, 143, 145, 267, 227, 193, 217, 227, 234, 181, 227, 145, 145, 145, 145, 125, 125, 130, 223, 125, 235, 181, 209, 181, 122, 129, 130, 181, 181, 129, 145, 242, 263, 160, 178, 177, 125, 125, 125, 125, 123, 250, 250, 209, 70, 71, 145, 70, 71, 145, 144, 141, 244, 180, 180, 125, 180, 57, 125, 251, 143, 143, 142, 244, 144, 131, 143, 142, 145, 227, 234, 193, 227, 141, 125, 130, 123, 130, 209, 181, 130, 130, 181, 71, 145, 70, 145, 123, 250, 250, 250, 250, 70, 71, 145, 244, 125, 125, 244, 125, 124, 244, 125, 251, 181, 145, 267, 191, 144, 178, 241, 227, 227, 181, 123, 130, 130, 250, 250, 71, 145, 70, 145, 71, 145, 70, 145, 250, 250, 244, 244, 244, 180, 244, 125, 180, 143, 145, 241, 243, 145, 145, 250, 250, 250, 250, 71, 145, 70, 145, 65, 125, 244, 125, 131, 145, 145, 145, 145, 145, 250, 250, 244, 143, 244, 145, 241, 145, 145
147 void exit(int status);
149 void * calloc(size_t nmemb, size_t size);
151 void free(void * ptr);
153 void * malloc(size_t size);
155 void * realloc(void * ptr, size_t size);
157 long int strtol(const char * nptr, char ** endptr, int base);
159 long long int strtoll(const char * nptr, char ** endptr, int base);
161 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
163 typedef __builtin_va_list va_list;
167 FILE * bsl_stdin(void);
169 FILE * bsl_stdout(void);
171 FILE * bsl_stderr(void);
173 char * fgets(char * s, int size, FILE * stream);
175 FILE * fopen(const char * path, const char * mode);
177 int fclose(FILE * fp);
179 int fflush(FILE * stream);
181 int fgetc(FILE * stream);
183 int fprintf(FILE * stream, const char * format, ...);
185 int fputc(int c, FILE * stream);
187 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
189 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
191 int vsnprintf(char *, size_t, const char *, va_list args);
193 int snprintf(char * str, size_t, const char * format, ...);
195 int fseek(FILE * stream, long offset, int whence);
197 long ftell(FILE * stream);
199 int feof(FILE * stream);
201 int ferror(FILE * stream);
203 int fileno(FILE * stream);
207 int type_yyparse(void);
213 extern unsigned int skipErrors;
217 struct __ecereNameSpace__ecere__sys__OldList
226 struct __ecereNameSpace__ecere__sys__BTNode;
230 struct __ecereNameSpace__ecere__com__DataValue
245 } ecere_gcc_struct __anon1;
248 struct __ecereNameSpace__ecere__com__SerialBuffer
250 unsigned char * _buffer;
256 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
258 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
260 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
262 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
264 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
270 struct FunctionDefinition;
280 struct ClassDefinition;
284 struct PropertyWatch;
286 struct TemplateParameter;
302 extern size_t strlen(const char * );
304 extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
306 static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop)
308 fprintf((bsl_stderr()), "Stack now");
309 for(; yybottom <= yytop; yybottom++)
311 int yybot = *yybottom;
313 fprintf((bsl_stderr()), " %d", yybot);
315 fprintf((bsl_stderr()), "\n");
318 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void * ));
320 extern struct __ecereNameSpace__ecere__sys__OldList * MkListOne(void * item);
322 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
324 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
326 extern void FreeEnumerator(struct Enumerator * enumerator);
328 extern void FreePointer(struct Pointer * pointer);
330 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
332 extern void PopContext(struct Context * ctx);
334 extern void FreeContext(struct Context * context);
336 extern struct Context * PushContext(void);
338 extern void FreeExtDecl(struct ExtDecl * extDecl);
340 extern struct ExtDecl * MkExtDeclString(char * s);
344 struct CodePosition start;
345 struct CodePosition end;
348 extern void resetScannerPos(struct CodePosition * pos);
350 extern struct Location yylloc;
352 struct Location type_yylloc;
358 struct __ecereNameSpace__ecere__sys__OldList * attribs;
361 extern void FreeAttrib(struct Attrib * attr);
363 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
365 extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList * attribs);
369 struct TypeName * parsedType;
371 extern void FreeTypeName(struct TypeName * typeName);
373 struct __ecereNameSpace__ecere__com__Class;
375 struct __ecereNameSpace__ecere__com__Instance
378 struct __ecereNameSpace__ecere__com__Class * _class;
382 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
384 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
386 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
388 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
390 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
392 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
394 struct __ecereNameSpace__ecere__com__Property;
396 struct __ecereNameSpace__ecere__com__Property
398 struct __ecereNameSpace__ecere__com__Property * prev;
399 struct __ecereNameSpace__ecere__com__Property * next;
401 unsigned int isProperty;
404 struct __ecereNameSpace__ecere__com__Class * _class;
405 const char * dataTypeString;
406 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
407 struct Type * dataType;
408 void (* Set)(void * , int);
409 int (* Get)(void * );
410 unsigned int (* IsSet)(void * );
414 unsigned int conversion;
415 unsigned int watcherOffset;
416 const char * category;
417 unsigned int compiled;
418 unsigned int selfWatchable;
419 unsigned int isWatchable;
422 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
424 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
426 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
428 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
432 extern void FreeSpecifier(struct Specifier * spec);
434 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
436 extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name);
438 extern struct Specifier * MkSpecifierName(const char * name);
440 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
442 extern struct Specifier * MkSpecifierNameArgs(const char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
444 extern struct Specifier * MkSpecifier(int specifier);
446 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
448 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
450 struct ClassFunction;
452 extern void FreeClassFunction(struct ClassFunction * func);
456 extern void FreeIdentifier(struct Identifier * id);
460 struct Identifier * prev;
461 struct Identifier * next;
463 struct Symbol * classSym;
464 struct Specifier * _class;
466 struct Identifier * badID;
469 extern struct Identifier * MkIdentifier(const char * string);
471 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
473 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
477 extern void FreeExpression(struct Expression * exp);
481 struct Specifier * prev;
482 struct Specifier * next;
490 struct ExtDecl * extDecl;
492 struct Symbol * symbol;
493 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
494 struct Specifier * nsSpec;
495 } ecere_gcc_struct __anon1;
498 struct Identifier * id;
499 struct __ecereNameSpace__ecere__sys__OldList * list;
500 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
501 struct __ecereNameSpace__ecere__sys__OldList * definitions;
502 unsigned int addNameSpace;
503 struct Context * ctx;
504 struct ExtDecl * extDeclStruct;
505 } ecere_gcc_struct __anon2;
506 struct Expression * expression;
507 struct Specifier * _class;
508 struct TemplateParameter * templateParameter;
509 } ecere_gcc_struct __anon1;
512 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
514 extern struct Expression * MkExpIdentifier(struct Identifier * id);
516 extern struct Expression * MkExpConstant(const char * string);
518 extern struct Expression * MkExpWideString(const char * string);
520 extern struct Expression * MkExpString(const char * string);
522 extern struct Expression * MkExpIntlString(const char * string, const char * context);
524 extern struct Expression * MkExpDummy(void);
526 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
528 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
530 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
532 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
534 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
536 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
538 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
540 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
542 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
544 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
546 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
548 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
550 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
552 extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression);
554 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
558 extern void FreeDeclaration(struct Declaration * decl);
560 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
562 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
564 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
566 struct InitDeclarator;
568 extern void FreeInitDeclarator(struct InitDeclarator * decl);
572 extern void FreeAttribute(struct Attribute * attr);
574 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
578 struct Attribute * prev;
579 struct Attribute * next;
582 struct Expression * exp;
585 struct TemplateDatatype;
587 extern void FreeTemplateDataType(struct TemplateDatatype * type);
589 struct TemplateArgument;
591 extern void FreeTemplateArgument(struct TemplateArgument * arg);
593 extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype);
595 extern struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr);
597 struct TemplateArgument
599 struct TemplateArgument * prev;
600 struct TemplateArgument * next;
602 struct Identifier * name;
606 struct Expression * expression;
607 struct Identifier * identifier;
608 struct TemplateDatatype * templateDatatype;
609 } ecere_gcc_struct __anon1;
614 extern void FreeClassDef(struct ClassDef * def);
616 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
618 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
620 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
624 extern void FreeMemberInit(struct MemberInit * init);
628 extern void FreeProperty(struct PropertyDef * def);
630 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
634 extern void FreeDeclarator(struct Declarator * decl);
636 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
638 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
640 extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
642 struct TemplateDatatype
644 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
645 struct Declarator * decl;
648 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
652 struct Declarator * prev;
653 struct Declarator * next;
656 struct Symbol * symbol;
657 struct Declarator * declarator;
660 struct Identifier * identifier;
663 struct Expression * exp;
664 struct Expression * posExp;
665 struct Attrib * attrib;
666 } ecere_gcc_struct structDecl;
669 struct Expression * exp;
670 struct Specifier * enumClass;
671 } ecere_gcc_struct array;
674 struct __ecereNameSpace__ecere__sys__OldList * parameters;
675 } ecere_gcc_struct function;
678 struct Pointer * pointer;
679 } ecere_gcc_struct pointer;
682 struct ExtDecl * extended;
683 } ecere_gcc_struct extended;
684 } ecere_gcc_struct __anon1;
687 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
689 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
691 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
693 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
695 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
697 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
699 extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator);
701 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
705 struct TypeName * prev;
706 struct TypeName * next;
708 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
709 struct Declarator * declarator;
711 struct Expression * bitCount;
716 extern void FreeInitializer(struct Initializer * initializer);
718 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
720 struct InitDeclarator
722 struct InitDeclarator * prev;
723 struct InitDeclarator * next;
725 struct Declarator * declarator;
726 struct Initializer * initializer;
731 struct Initializer * prev;
732 struct Initializer * next;
737 struct Expression * exp;
738 struct __ecereNameSpace__ecere__sys__OldList * list;
739 } ecere_gcc_struct __anon1;
740 unsigned int isConstant;
741 struct Identifier * id;
744 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
748 struct MemberInit * prev;
749 struct MemberInit * next;
751 struct Location realLoc;
752 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
753 struct Initializer * initializer;
755 unsigned int variable;
756 unsigned int takeOutExp;
761 struct ClassDef * prev;
762 struct ClassDef * next;
767 struct Declaration * decl;
768 struct ClassFunction * function;
769 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
770 struct PropertyDef * propertyDef;
771 struct PropertyWatch * propertyWatch;
773 struct Identifier * defaultProperty;
776 struct Identifier * id;
777 struct Initializer * initializer;
778 } ecere_gcc_struct __anon1;
779 } ecere_gcc_struct __anon1;
784 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
786 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
788 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
792 extern void FreeStatement(struct Statement * stmt);
796 struct ClassFunction * prev;
797 struct ClassFunction * next;
799 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
800 struct Declarator * declarator;
801 struct __ecereNameSpace__ecere__sys__OldList * declarations;
802 struct Statement * body;
803 struct __ecereNameSpace__ecere__com__Class * _class;
804 struct __ecereNameSpace__ecere__sys__OldList attached;
807 struct Symbol * propSet;
808 unsigned int isVirtual;
809 unsigned int isConstructor;
810 unsigned int isDestructor;
811 unsigned int dontMangle;
816 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
820 struct PropertyDef * prev;
821 struct PropertyDef * next;
823 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
824 struct Declarator * declarator;
825 struct Identifier * id;
826 struct Statement * getStmt;
827 struct Statement * setStmt;
828 struct Statement * issetStmt;
829 struct Symbol * symbol;
830 struct Expression * category;
833 unsigned int conversion : 1;
834 unsigned int isWatchable : 1;
835 unsigned int isDBProp : 1;
836 } ecere_gcc_struct __anon1;
839 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
843 struct Statement * prev;
844 struct Statement * next;
849 struct __ecereNameSpace__ecere__sys__OldList * expressions;
852 struct Identifier * id;
853 struct Statement * stmt;
854 } ecere_gcc_struct labeled;
857 struct Expression * exp;
858 struct Statement * stmt;
859 } ecere_gcc_struct caseStmt;
862 struct __ecereNameSpace__ecere__sys__OldList * declarations;
863 struct __ecereNameSpace__ecere__sys__OldList * statements;
864 struct Context * context;
865 unsigned int isSwitch;
866 } ecere_gcc_struct compound;
869 struct __ecereNameSpace__ecere__sys__OldList * exp;
870 struct Statement * stmt;
871 struct Statement * elseStmt;
872 } ecere_gcc_struct ifStmt;
875 struct __ecereNameSpace__ecere__sys__OldList * exp;
876 struct Statement * stmt;
877 } ecere_gcc_struct switchStmt;
880 struct __ecereNameSpace__ecere__sys__OldList * exp;
881 struct Statement * stmt;
882 } ecere_gcc_struct whileStmt;
885 struct __ecereNameSpace__ecere__sys__OldList * exp;
886 struct Statement * stmt;
887 } ecere_gcc_struct doWhile;
890 struct Statement * init;
891 struct Statement * check;
892 struct __ecereNameSpace__ecere__sys__OldList * increment;
893 struct Statement * stmt;
894 } ecere_gcc_struct forStmt;
897 struct Identifier * id;
898 } ecere_gcc_struct gotoStmt;
901 struct Specifier * spec;
903 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
904 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
905 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
906 } ecere_gcc_struct asmStmt;
909 struct Expression * watcher;
910 struct Expression * object;
911 struct __ecereNameSpace__ecere__sys__OldList * watches;
912 } ecere_gcc_struct _watch;
915 struct Identifier * id;
916 struct __ecereNameSpace__ecere__sys__OldList * exp;
917 struct __ecereNameSpace__ecere__sys__OldList * filter;
918 struct Statement * stmt;
919 } ecere_gcc_struct forEachStmt;
920 struct Declaration * decl;
921 } ecere_gcc_struct __anon1;
924 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
926 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
928 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
930 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
932 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
934 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
936 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
938 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
940 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
942 extern struct Statement * MkGotoStmt(struct Identifier * id);
944 extern struct Statement * MkContinueStmt(void);
946 extern struct Statement * MkBreakStmt(void);
948 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
950 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
952 struct Instantiation;
954 extern void FreeInstance(struct Instantiation * inst);
958 struct Expression * prev;
959 struct Expression * next;
967 struct Identifier * identifier;
968 } ecere_gcc_struct __anon1;
969 struct Statement * compound;
970 struct Instantiation * instance;
974 unsigned int intlString;
975 unsigned int wideString;
976 } ecere_gcc_struct __anon2;
977 struct __ecereNameSpace__ecere__sys__OldList * list;
980 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
981 struct Declarator * decl;
982 } ecere_gcc_struct _classExp;
985 struct Identifier * id;
986 } ecere_gcc_struct classData;
989 struct Expression * exp;
990 struct __ecereNameSpace__ecere__sys__OldList * arguments;
991 struct Location argLoc;
992 } ecere_gcc_struct call;
995 struct Expression * exp;
996 struct __ecereNameSpace__ecere__sys__OldList * index;
997 } ecere_gcc_struct index;
1000 struct Expression * exp;
1001 struct Identifier * member;
1003 unsigned int thisPtr;
1004 } ecere_gcc_struct member;
1008 struct Expression * exp1;
1009 struct Expression * exp2;
1010 } ecere_gcc_struct op;
1011 struct TypeName * typeName;
1012 struct Specifier * _class;
1015 struct TypeName * typeName;
1016 struct Expression * exp;
1017 } ecere_gcc_struct cast;
1020 struct Expression * cond;
1021 struct __ecereNameSpace__ecere__sys__OldList * exp;
1022 struct Expression * elseExp;
1023 } ecere_gcc_struct cond;
1026 struct TypeName * typeName;
1027 struct Expression * size;
1028 } ecere_gcc_struct _new;
1031 struct TypeName * typeName;
1032 struct Expression * size;
1033 struct Expression * exp;
1034 } ecere_gcc_struct _renew;
1038 struct Identifier * id;
1039 } ecere_gcc_struct db;
1042 struct Expression * ds;
1043 struct Expression * name;
1044 } ecere_gcc_struct dbopen;
1047 struct TypeName * typeName;
1048 struct Initializer * initializer;
1049 } ecere_gcc_struct initializer;
1052 struct Expression * exp;
1053 struct TypeName * typeName;
1054 } ecere_gcc_struct vaArg;
1057 struct TypeName * typeName;
1058 struct Identifier * id;
1059 } ecere_gcc_struct offset;
1060 } ecere_gcc_struct __anon1;
1061 unsigned int debugValue;
1062 struct __ecereNameSpace__ecere__com__DataValue val;
1064 unsigned int hasAddress;
1065 struct Type * expType;
1066 struct Type * destType;
1069 unsigned int byReference;
1070 unsigned int isConstant;
1071 unsigned int addedThis;
1072 unsigned int needCast;
1073 unsigned int thisPtr;
1074 unsigned int opDestType;
1075 unsigned int usedInComparison;
1076 unsigned int ambiguousUnits;
1077 unsigned int parentOpDestType;
1078 unsigned int needTemplateCast;
1081 extern struct Expression * MkExpInstance(struct Instantiation * inst);
1085 struct Declaration * prev;
1086 struct Declaration * next;
1087 struct Location loc;
1093 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1094 struct __ecereNameSpace__ecere__sys__OldList * declarators;
1095 } ecere_gcc_struct __anon1;
1096 struct Instantiation * inst;
1099 struct Identifier * id;
1100 struct Expression * exp;
1101 } ecere_gcc_struct __anon2;
1102 } ecere_gcc_struct __anon1;
1103 struct Specifier * extStorage;
1104 struct Symbol * symbol;
1108 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1110 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1112 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1114 struct Instantiation
1116 struct Instantiation * prev;
1117 struct Instantiation * next;
1118 struct Location loc;
1119 struct Specifier * _class;
1120 struct Expression * exp;
1121 struct __ecereNameSpace__ecere__sys__OldList * members;
1122 struct Symbol * symbol;
1123 unsigned int fullSet;
1124 unsigned int isConstant;
1125 unsigned char * data;
1126 struct Location nameLoc;
1127 struct Location insideLoc;
1131 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1135 typedef union YYSTYPE
1140 struct Identifier * id;
1141 struct Expression * exp;
1142 struct Specifier * specifier;
1143 struct __ecereNameSpace__ecere__sys__OldList * list;
1144 struct Enumerator * enumerator;
1145 struct Declarator * declarator;
1146 struct Pointer * pointer;
1147 struct Initializer * initializer;
1148 struct InitDeclarator * initDeclarator;
1149 struct TypeName * typeName;
1150 struct Declaration * declaration;
1151 struct Statement * stmt;
1152 struct FunctionDefinition * function;
1153 struct External * external;
1154 struct Context * context;
1155 struct AsmField * asmField;
1156 struct Attrib * attrib;
1157 struct ExtDecl * extDecl;
1158 struct Attribute * attribute;
1159 struct Instantiation * instance;
1160 struct MembersInit * membersInit;
1161 struct MemberInit * memberInit;
1162 struct ClassFunction * classFunction;
1163 struct ClassDefinition * _class;
1164 struct ClassDef * classDef;
1165 struct PropertyDef * prop;
1167 struct Symbol * symbol;
1168 struct PropertyWatch * propertyWatch;
1169 struct TemplateParameter * templateParameter;
1170 struct TemplateArgument * templateArgument;
1171 struct TemplateDatatype * templateDatatype;
1172 struct DBTableEntry * dbtableEntry;
1173 struct DBIndexItem * dbindexItem;
1174 struct DBTableDef * dbtableDef;
1175 } ecere_gcc_struct YYSTYPE;
1177 extern YYSTYPE yylval;
1181 yytype_int16 yyss_alloc;
1183 struct Location yyls_alloc;
1186 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1190 ((void)(yylocationp));
1199 extern void FreeMembersInit(struct MembersInit * init);
1201 YYSTYPE type_yylval;
1203 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
1207 struct MembersInit * prev;
1208 struct MembersInit * next;
1209 struct Location loc;
1213 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1214 struct ClassFunction * function;
1215 } ecere_gcc_struct __anon1;
1218 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
1220 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1223 fprintf(yyoutput, "token %s (", yytname[yytype]);
1225 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1227 fprintf(yyoutput, ": ");
1228 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1229 fprintf(yyoutput, ")");
1232 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1234 int yynrhs = yyr2[yyrule];
1236 unsigned long int yylno = yyrline[yyrule];
1238 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1239 for(yyi = 0; yyi < yynrhs; yyi++)
1241 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1242 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1243 fprintf((bsl_stderr()), "\n");
1247 struct __ecereNameSpace__ecere__sys__BinaryTree;
1249 struct __ecereNameSpace__ecere__sys__BinaryTree
1251 struct __ecereNameSpace__ecere__sys__BTNode * root;
1253 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1254 void (* FreeKey)(void * key);
1257 struct __ecereNameSpace__ecere__com__Method;
1259 struct __ecereNameSpace__ecere__com__Method
1262 struct __ecereNameSpace__ecere__com__Method * parent;
1263 struct __ecereNameSpace__ecere__com__Method * left;
1264 struct __ecereNameSpace__ecere__com__Method * right;
1269 struct __ecereNameSpace__ecere__com__Class * _class;
1271 const char * dataTypeString;
1272 struct Type * dataType;
1276 struct __ecereNameSpace__ecere__com__NameSpace;
1278 struct __ecereNameSpace__ecere__com__NameSpace
1281 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
1282 struct __ecereNameSpace__ecere__com__NameSpace * left;
1283 struct __ecereNameSpace__ecere__com__NameSpace * right;
1285 struct __ecereNameSpace__ecere__com__NameSpace * parent;
1286 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1287 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1288 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1289 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1292 struct __ecereNameSpace__ecere__com__Application
1295 const char * * argv;
1297 unsigned int isGUIApp;
1298 struct __ecereNameSpace__ecere__sys__OldList allModules;
1299 char * parsedCommand;
1300 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1303 struct __ecereNameSpace__ecere__com__DataMember;
1305 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1311 const char * dataTypeString;
1312 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1313 } ecere_gcc_struct __anon1;
1314 struct __ecereNameSpace__ecere__com__DataValue expression;
1317 const char * memberString;
1320 struct __ecereNameSpace__ecere__com__DataMember * member;
1321 struct __ecereNameSpace__ecere__com__Property * prop;
1322 struct __ecereNameSpace__ecere__com__Method * method;
1323 } ecere_gcc_struct __anon1;
1324 } ecere_gcc_struct __anon2;
1325 } ecere_gcc_struct __anon1;
1328 struct __ecereNameSpace__ecere__com__DataMember
1330 struct __ecereNameSpace__ecere__com__DataMember * prev;
1331 struct __ecereNameSpace__ecere__com__DataMember * next;
1333 unsigned int isProperty;
1336 struct __ecereNameSpace__ecere__com__Class * _class;
1337 const char * dataTypeString;
1338 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1339 struct Type * dataType;
1343 struct __ecereNameSpace__ecere__sys__OldList members;
1344 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1346 short structAlignment;
1347 short pointerAlignment;
1350 struct __ecereNameSpace__ecere__com__Module;
1352 struct __ecereNameSpace__ecere__com__Module
1354 struct __ecereNameSpace__ecere__com__Instance * application;
1355 struct __ecereNameSpace__ecere__sys__OldList classes;
1356 struct __ecereNameSpace__ecere__sys__OldList defines;
1357 struct __ecereNameSpace__ecere__sys__OldList functions;
1358 struct __ecereNameSpace__ecere__sys__OldList modules;
1359 struct __ecereNameSpace__ecere__com__Instance * prev;
1360 struct __ecereNameSpace__ecere__com__Instance * next;
1366 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1367 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1370 struct __ecereNameSpace__ecere__com__Class
1372 struct __ecereNameSpace__ecere__com__Class * prev;
1373 struct __ecereNameSpace__ecere__com__Class * next;
1379 unsigned int (* Constructor)(void * );
1380 void (* Destructor)(void * );
1383 struct __ecereNameSpace__ecere__com__Class * base;
1384 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1385 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1386 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1387 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1388 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1389 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1393 struct __ecereNameSpace__ecere__com__Instance * module;
1394 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
1395 const char * dataTypeString;
1396 struct Type * dataType;
1398 int defaultAlignment;
1399 void (* Initialize)();
1401 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1402 const char * designerClass;
1403 unsigned int noExpansion;
1404 const char * defaultProperty;
1405 unsigned int comRedefinition;
1408 unsigned int internalDecl;
1410 unsigned int computeSize;
1411 short structAlignment;
1412 short pointerAlignment;
1413 int destructionWatchOffset;
1415 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1416 int inheritanceAccess;
1417 const char * fullName;
1419 struct __ecereNameSpace__ecere__sys__OldList conversions;
1420 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1421 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1422 struct __ecereNameSpace__ecere__com__Class * templateClass;
1423 struct __ecereNameSpace__ecere__sys__OldList templatized;
1425 unsigned int isInstanceClass;
1426 unsigned int byValueSystemClass;
1429 void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
1431 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1435 void __ecereUnregisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
1440 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1442 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1444 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1447 ((void)(yylocationp));
1454 fprintf((bsl_stderr()), "%s ", yymsg);
1455 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1456 fprintf((bsl_stderr()), "\n");
1463 FreeSpecifier((*yyvaluep).specifier);
1469 FreeSpecifier((*yyvaluep).specifier);
1475 FreeSpecifier((*yyvaluep).specifier);
1481 FreeSpecifier((*yyvaluep).specifier);
1487 FreeClassFunction((*yyvaluep).classFunction);
1493 FreeClassFunction((*yyvaluep).classFunction);
1499 FreeClassFunction((*yyvaluep).classFunction);
1505 FreeClassFunction((*yyvaluep).classFunction);
1511 FreeIdentifier((*yyvaluep).id);
1517 FreeExpression((*yyvaluep).exp);
1523 FreeExpression((*yyvaluep).exp);
1529 FreeList((*yyvaluep).list, (void *)(FreeExpression));
1535 FreeExpression((*yyvaluep).exp);
1541 FreeExpression((*yyvaluep).exp);
1547 FreeExpression((*yyvaluep).exp);
1553 FreeExpression((*yyvaluep).exp);
1559 FreeExpression((*yyvaluep).exp);
1565 FreeExpression((*yyvaluep).exp);
1571 FreeExpression((*yyvaluep).exp);
1577 FreeExpression((*yyvaluep).exp);
1583 FreeExpression((*yyvaluep).exp);
1589 FreeExpression((*yyvaluep).exp);
1595 FreeExpression((*yyvaluep).exp);
1601 FreeExpression((*yyvaluep).exp);
1607 FreeExpression((*yyvaluep).exp);
1613 FreeExpression((*yyvaluep).exp);
1619 FreeList((*yyvaluep).list, (void *)(FreeExpression));
1625 FreeExpression((*yyvaluep).exp);
1631 FreeDeclaration((*yyvaluep).declaration);
1637 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1643 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1649 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1655 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1661 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
1667 FreeInitDeclarator((*yyvaluep).initDeclarator);
1673 FreeSpecifier((*yyvaluep).specifier);
1679 FreeExtDecl((*yyvaluep).extDecl);
1685 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1691 FreeAttribute((*yyvaluep).attribute);
1697 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
1703 FreeAttrib((*yyvaluep).attrib);
1709 FreeSpecifier((*yyvaluep).specifier);
1715 FreeSpecifier((*yyvaluep).specifier);
1721 FreeSpecifier((*yyvaluep).specifier);
1727 FreeSpecifier((*yyvaluep).specifier);
1733 FreeSpecifier((*yyvaluep).specifier);
1739 FreeSpecifier((*yyvaluep).specifier);
1745 FreeTemplateDataType((*yyvaluep).templateDatatype);
1751 FreeTemplateArgument((*yyvaluep).templateArgument);
1757 FreeTemplateArgument((*yyvaluep).templateArgument);
1763 FreeTemplateArgument((*yyvaluep).templateArgument);
1769 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1775 FreeMemberInit((*yyvaluep).memberInit);
1781 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1787 FreeProperty((*yyvaluep).prop);
1793 FreeClassDef((*yyvaluep).classDef);
1799 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
1805 FreeDeclarator((*yyvaluep).declarator);
1811 FreeSpecifier((*yyvaluep).specifier);
1817 FreeSpecifier((*yyvaluep).specifier);
1823 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
1829 FreeEnumerator((*yyvaluep).enumerator);
1835 FreeDeclarator((*yyvaluep).declarator);
1841 FreeDeclarator((*yyvaluep).declarator);
1847 FreeDeclarator((*yyvaluep).declarator);
1853 FreeDeclarator((*yyvaluep).declarator);
1859 FreeDeclarator((*yyvaluep).declarator);
1865 FreeDeclarator((*yyvaluep).declarator);
1871 FreeDeclarator((*yyvaluep).declarator);
1877 FreeDeclarator((*yyvaluep).declarator);
1883 FreeDeclarator((*yyvaluep).declarator);
1889 FreeDeclarator((*yyvaluep).declarator);
1895 FreeDeclarator((*yyvaluep).declarator);
1901 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1907 FreePointer((*yyvaluep).pointer);
1913 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1919 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1925 FreeTypeName((*yyvaluep).typeName);
1931 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1937 FreeTypeName((*yyvaluep).typeName);
1943 FreeTypeName((*yyvaluep).typeName);
1949 FreeInitializer((*yyvaluep).initializer);
1955 FreeInitializer((*yyvaluep).initializer);
1961 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
1967 FreeStatement((*yyvaluep).stmt);
1973 FreeStatement((*yyvaluep).stmt);
1979 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
1985 FreeList((*yyvaluep).list, (void *)(FreeStatement));
1991 FreeStatement((*yyvaluep).stmt);
1997 PopContext((*yyvaluep).context);
1998 FreeContext((*yyvaluep).context);
1999 (((*yyvaluep).context ? __extension__ ({
2000 void * __ecerePtrToDelete = ((*yyvaluep).context);
2002 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2003 }) : 0), (*yyvaluep).context = 0);
2009 FreeStatement((*yyvaluep).stmt);
2015 FreeStatement((*yyvaluep).stmt);
2021 FreeStatement((*yyvaluep).stmt);
2027 FreeStatement((*yyvaluep).stmt);
2033 FreeStatement((*yyvaluep).stmt);
2039 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2045 FreeInstance((*yyvaluep).instance);
2051 FreeInstance((*yyvaluep).instance);
2057 FreeClassFunction((*yyvaluep).classFunction);
2063 FreeClassFunction((*yyvaluep).classFunction);
2069 FreeClassFunction((*yyvaluep).classFunction);
2075 FreeMemberInit((*yyvaluep).memberInit);
2081 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2087 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2093 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2099 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2108 int type_yyparse(void)
2112 yytype_int16 yyssa[200];
2113 yytype_int16 * yyss;
2114 yytype_int16 * yyssp;
2118 struct Location yylsa[200];
2119 struct Location * yyls;
2120 struct Location * yylsp;
2121 struct Location yyerror_range[2];
2127 struct Location yyloc;
2138 fprintf((bsl_stderr()), "Starting parse\n");
2152 if(yyss + yystacksize - 1 <= yyssp)
2154 size_t yysize = yyssp - yyss + 1;
2156 if(10000 <= yystacksize)
2157 goto yyexhaustedlab;
2159 if(10000 < yystacksize)
2160 yystacksize = 10000;
2162 yytype_int16 * yyss1 = yyss;
2163 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
2166 goto yyexhaustedlab;
2171 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
2172 yyss = &(*yyptr).yyss_alloc;
2173 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
2174 yyptr += yynewbytes / sizeof (*yyptr);
2180 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
2181 yyvs = &(*yyptr).yyvs_alloc;
2182 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
2183 yyptr += yynewbytes / sizeof (*yyptr);
2189 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
2190 yyls = &(*yyptr).yyls_alloc;
2191 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
2192 yyptr += yynewbytes / sizeof (*yyptr);
2197 yyssp = yyss + yysize - 1;
2198 yyvsp = yyvs + yysize - 1;
2199 yylsp = yyls + yysize - 1;
2203 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
2205 if(yyss + yystacksize - 1 <= yyssp)
2211 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
2217 yyn = yypact[yystate];
2220 if(type_yychar == (-2))
2225 fprintf((bsl_stderr()), "Reading a token: ");
2227 type_yychar = yylex();
2229 if(type_yychar <= 0)
2231 type_yychar = yytoken = 0;
2235 fprintf((bsl_stderr()), "Now at end of input.\n");
2240 yytoken = ((unsigned int)(type_yychar) <= 375 ? yytranslate[type_yychar] : 2);
2245 fprintf((bsl_stderr()), "%s ", "Next token is");
2246 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2247 fprintf((bsl_stderr()), "\n");
2252 if(yyn < 0 || 9339 < yyn || yycheck[yyn] != yytoken)
2257 if(yyn == 0 || yyn == -499)
2268 fprintf((bsl_stderr()), "%s ", "Shifting");
2269 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2270 fprintf((bsl_stderr()), "\n");
2275 *++yyvsp = type_yylval;
2276 *++yylsp = type_yylloc;
2279 yyn = yydefact[yystate];
2285 yyval = yyvsp[1 - yylen];
2286 (yyloc.start = ((yylsp - yylen))[1].start);
2287 (yyloc.end = ((yylsp - yylen))[yylen].end);
2292 yy_reduce_print(yyvsp, yylsp, yyn);
2298 yyval.specifier = (((void *)0));
2299 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2301 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2303 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2304 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2306 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2307 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2308 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2310 resetScannerPos(&(yylsp[(1) - (2)]).start);
2311 (type_yychar = (-2));
2312 FreeIdentifier(yyvsp[(1) - (2)].id);
2313 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2318 yy_stack_print((yyss), (yyssp));
2320 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2325 yy_stack_print((yyss), (yyssp));
2333 yyval.specifier = (((void *)0));
2334 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2335 FreeIdentifier(yyvsp[(1) - (2)].id);
2337 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2339 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2340 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2342 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2343 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2344 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2346 resetScannerPos(&(yylsp[(1) - (2)]).start);
2347 (type_yychar = (-2));
2348 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2353 yy_stack_print((yyss), (yyssp));
2355 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2360 yy_stack_print((yyss), (yyssp));
2368 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2370 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2372 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2373 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2375 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2376 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2377 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2379 parseTypeError = (unsigned int)0;
2380 resetScannerPos(&(yylsp[(1) - (2)]).start);
2381 (type_yychar = (-2));
2382 FreeIdentifier(yyvsp[(1) - (2)].id);
2383 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2388 yy_stack_print((yyss), (yyssp));
2390 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2395 yy_stack_print((yyss), (yyssp));
2403 yyval.specifier = yyvsp[(1) - (1)].specifier;
2409 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2411 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2413 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2414 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2416 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2417 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2418 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2420 resetScannerPos(&(yylsp[(1) - (2)]).start);
2421 (type_yychar = (-2));
2422 FreeIdentifier(yyvsp[(1) - (2)].id);
2423 FreeIdentifier(yyvsp[(2) - (2)].id);
2424 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2429 yy_stack_print((yyss), (yyssp));
2431 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2436 yy_stack_print((yyss), (yyssp));
2444 yyval.specifier = MkSpecifierName(yytext);
2450 yyval.specifier = yyvsp[(1) - (4)].specifier;
2451 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2452 yyval.specifier->loc = (yyloc);
2458 yyval.specifier = yyvsp[(1) - (4)].specifier;
2459 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2460 yyval.specifier->loc = (yyloc);
2461 (yylsp[(4) - (4)]).end.pos--;
2463 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2465 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2466 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2468 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2469 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2470 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(4) - (4)]).end.pos, 0) : (unsigned int)1;
2472 resetScannerPos(&(yylsp[(4) - (4)]).end);
2473 (type_yychar = (-2));
2479 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2480 yyval.classFunction->loc = (yyloc);
2486 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
2487 yyval.classFunction->loc = (yyloc);
2493 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2494 yyval.classFunction->isConstructor = 1;
2495 yyval.classFunction->loc = (yyloc);
2496 FreeList(yyvsp[(1) - (3)].list, (void *)(FreeSpecifier));
2502 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2503 yyval.classFunction->isDestructor = 1;
2504 yyval.classFunction->loc = (yyloc);
2505 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
2511 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
2512 yyval.classFunction->isVirtual = 1;
2513 yyval.classFunction->loc = (yyloc);
2519 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2520 yyval.classFunction->isVirtual = 1;
2521 yyval.classFunction->loc = (yyloc);
2527 yyval.id = MkIdentifier(yytext);
2528 yyval.id->loc = (yylsp[(1) - (1)]);
2534 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
2535 yyval.exp->loc = (yyloc);
2541 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
2542 yyval.exp->loc = (yyloc);
2548 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2549 yyval.exp->loc = (yyloc);
2555 yyval.exp = MkExpConstant(yytext);
2556 yyval.exp->loc = (yyloc);
2562 yyval.exp = MkExpWideString(yytext);
2563 yyval.exp->loc = (yyloc);
2569 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
2570 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
2571 yyval.exp->loc = (yyloc);
2577 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
2578 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
2579 yyval.exp->loc = (yyloc);
2585 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
2586 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
2587 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
2588 yyval.exp->loc = (yyloc);
2594 struct Expression * exp = MkExpDummy();
2596 exp->loc.start = (yylsp[(1) - (2)]).end;
2597 exp->loc.end = (yylsp[(2) - (2)]).start;
2598 yyval.exp = MkExpBrackets(MkListOne(exp));
2599 yyval.exp->loc = (yyloc);
2606 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2607 yyval.exp->loc = (yyloc);
2613 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2614 yyval.exp->loc = (yyloc);
2620 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2621 yyval.exp->loc = (yyloc);
2627 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2628 yyval.exp->loc = (yyloc);
2634 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2635 yyval.exp->loc = (yyloc);
2641 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2642 yyval.exp->loc = (yyloc);
2648 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2649 yyval.exp->loc = (yyloc);
2655 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2656 yyval.exp->loc = (yyloc);
2662 yyval.exp = MkExpDummy();
2668 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2669 yyval.exp->loc = (yyloc);
2675 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
2676 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
2677 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
2678 yyval.exp->loc = (yyloc);
2684 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2685 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
2686 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
2687 yyval.exp->loc = (yyloc);
2693 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2694 yyval.exp->loc = (yyloc);
2700 char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
2701 int len = constant ? strlen(constant) : 0;
2703 if(constant && constant[len - 1] == '.')
2705 constant[len - 1] = 0;
2706 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
2707 yyval.exp->loc = (yyloc);
2716 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2717 yyval.exp->loc = (yyloc);
2723 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
2724 yyval.exp->loc = (yyloc);
2730 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
2731 yyval.exp->loc = (yyloc);
2737 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2738 yyval.exp->loc = (yyloc);
2744 yyval.list = MkList();
2745 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2751 yyval.list = MkList();
2752 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2758 yyval.list = yyvsp[(1) - (3)].list;
2759 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2765 yyval.list = yyvsp[(1) - (3)].list;
2766 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2772 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
2773 yyval.exp->loc = (yyloc);
2779 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
2780 yyval.exp->loc = (yyloc);
2786 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
2787 yyval.exp->loc = (yyloc);
2793 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
2794 yyval.exp->loc = (yyloc);
2800 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
2801 yyval.exp->loc = (yyloc);
2807 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
2808 yyval.exp->loc = (yyloc);
2814 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
2815 yyval.exp->loc = (yyloc);
2863 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
2864 yyval.exp->loc = (yyloc);
2870 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
2871 yyval.exp->loc = (yyloc);
2877 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
2878 yyval.exp->loc = (yyloc);
2884 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
2885 yyval.exp->loc = (yyloc);
2891 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
2892 yyval.exp->loc = (yyloc);
2898 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
2899 yyval.exp->loc = (yyloc);
2905 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
2906 yyval.exp->loc = (yyloc);
2912 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
2913 yyval.exp->loc = (yyloc);
2919 yyval.exp = yyvsp[(1) - (2)].exp;
2927 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
2928 yyval.exp->loc = (yyloc);
2934 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
2935 yyval.exp->loc = (yyloc);
2941 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
2942 yyval.exp->loc = (yyloc);
2948 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
2949 yyval.exp->loc = (yyloc);
2955 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
2956 yyval.exp->loc = (yyloc);
2962 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
2963 yyval.exp->loc = (yyloc);
2969 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
2970 yyval.exp->loc = (yyloc);
2976 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
2977 yyval.exp->loc = (yyloc);
2983 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
2984 yyval.exp->loc = (yyloc);
2990 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
2991 yyval.exp->loc = (yyloc);
2997 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
2998 yyval.exp->loc = (yyloc);
3004 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
3005 yyval.exp->loc = (yyloc);
3011 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
3012 yyval.exp->loc = (yyloc);
3018 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
3019 yyval.exp->loc = (yyloc);
3031 yyval.i = MUL_ASSIGN;
3037 yyval.i = DIV_ASSIGN;
3043 yyval.i = MOD_ASSIGN;
3049 yyval.i = ADD_ASSIGN;
3055 yyval.i = SUB_ASSIGN;
3061 yyval.i = LEFT_ASSIGN;
3067 yyval.i = RIGHT_ASSIGN;
3073 yyval.i = AND_ASSIGN;
3079 yyval.i = XOR_ASSIGN;
3085 yyval.i = OR_ASSIGN;
3091 yyval.list = MkList();
3092 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
3098 yyval.list = yyvsp[(1) - (3)].list;
3099 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
3105 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
3106 yyval.declaration->loc = (yyloc);
3112 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
3113 yyval.declaration->loc = (yyloc);
3119 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
3120 yyval.declaration->loc = (yyloc);
3126 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
3127 yyval.declaration->loc = (yyloc);
3133 yyval.list = MkList();
3134 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3140 yyval.list = yyvsp[(1) - (2)].list;
3141 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3147 yyval.list = MkList();
3148 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3154 yyval.list = yyvsp[(1) - (2)].list;
3155 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3161 yyval.list = MkList();
3162 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3168 yyval.list = yyvsp[(1) - (2)].list;
3169 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3175 yyval.list = MkList();
3176 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3182 yyval.list = yyvsp[(1) - (2)].list;
3183 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3189 yyval.list = MkList();
3190 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3196 yyval.list = yyvsp[(1) - (2)].list;
3197 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3203 yyval.list = MkList();
3204 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3210 yyval.list = yyvsp[(1) - (2)].list;
3211 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3217 yyval.list = MkList();
3218 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3224 yyval.list = yyvsp[(1) - (2)].list;
3225 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3231 yyval.list = MkList();
3232 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3238 yyval.list = yyvsp[(1) - (2)].list;
3239 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3245 yyval.list = MkList();
3246 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3252 yyval.list = yyvsp[(1) - (2)].list;
3253 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3259 yyval.list = MkList();
3260 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3266 yyval.list = yyvsp[(1) - (2)].list;
3267 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3273 yyval.list = MkList();
3274 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3280 yyval.list = yyvsp[(1) - (2)].list;
3281 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3287 yyval.list = MkList();
3288 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3294 yyval.list = yyvsp[(1) - (2)].list;
3295 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3301 yyval.list = MkList();
3302 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3308 yyval.list = yyvsp[(1) - (2)].list;
3309 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3315 yyval.list = MkList();
3316 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3322 yyval.list = yyvsp[(1) - (2)].list;
3323 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3329 yyval.list = MkList();
3330 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3336 yyval.list = yyvsp[(1) - (2)].list;
3337 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3343 yyval.list = MkList();
3344 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3350 yyval.list = yyvsp[(1) - (2)].list;
3351 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3357 yyval.list = MkList();
3358 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3364 yyval.list = yyvsp[(1) - (2)].list;
3365 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3371 yyval.list = MkList();
3372 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3378 yyval.list = yyvsp[(1) - (2)].list;
3379 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3385 yyval.list = MkList();
3386 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3392 yyval.list = yyvsp[(1) - (2)].list;
3393 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3399 yyval.list = MkList();
3400 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3406 yyval.list = yyvsp[(1) - (2)].list;
3407 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3413 yyval.list = yyvsp[(1) - (1)].list;
3419 yyval.list = MkList();
3420 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3426 yyval.list = MkList();
3427 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3433 yyval.list = yyvsp[(1) - (2)].list;
3434 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3440 yyval.list = MkList();
3441 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3447 yyval.list = yyvsp[(1) - (2)].list;
3448 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3454 yyval.list = MkList();
3455 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3461 yyval.list = yyvsp[(1) - (2)].list;
3462 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3468 yyval.list = MkList();
3469 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3470 FreeIdentifier(yyvsp[(1) - (1)].id);
3476 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3477 FreeIdentifier(yyvsp[(2) - (2)].id);
3483 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3484 yyval.list = MkList();
3485 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3486 FreeIdentifier(yyvsp[(1) - (4)].id);
3492 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3493 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3494 FreeIdentifier(yyvsp[(2) - (5)].id);
3500 yyval.list = MkList();
3501 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3507 yyval.list = yyvsp[(1) - (2)].list;
3508 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3514 yyval.list = MkList();
3515 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3521 yyval.list = yyvsp[(1) - (2)].list;
3522 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3528 yyval.list = MkList();
3529 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3535 yyval.list = yyvsp[(1) - (2)].list;
3536 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3542 yyval.list = MkList();
3543 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3549 yyval.list = yyvsp[(1) - (2)].list;
3550 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3556 yyval.list = MkList();
3557 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3563 yyval.list = yyvsp[(1) - (2)].list;
3564 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3570 yyval.list = MkList();
3571 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3572 FreeIdentifier(yyvsp[(1) - (1)].id);
3578 yyval.list = yyvsp[(1) - (2)].list;
3579 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3580 FreeIdentifier(yyvsp[(2) - (2)].id);
3585 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3586 yyval.list = MkList();
3587 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3588 FreeIdentifier(yyvsp[(1) - (4)].id);
3594 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3595 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3596 FreeIdentifier(yyvsp[(2) - (5)].id);
3602 yyval.list = MkList();
3603 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
3609 yyval.list = yyvsp[(1) - (3)].list;
3610 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
3616 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3617 yyval.initDeclarator->loc = (yyloc);
3623 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
3624 yyval.initDeclarator->loc = (yyloc);
3625 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
3631 yyval.specifier = MkSpecifier(TYPEDEF);
3637 yyval.specifier = MkSpecifier(EXTERN);
3643 yyval.specifier = MkSpecifier(STATIC);
3649 yyval.specifier = MkSpecifier(AUTO);
3655 yyval.specifier = MkSpecifier(REGISTER);
3661 yyval.specifier = MkSpecifier(THREAD);
3667 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3673 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3679 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
3691 yyval.i = ATTRIB_DEP;
3703 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3709 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3715 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3721 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3727 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3733 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
3734 yyval.attribute->loc = (yyloc);
3740 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
3741 yyval.attribute->loc = (yyloc);
3747 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
3753 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
3754 yyval.list = yyvsp[(1) - (2)].list;
3760 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
3761 yyval.list = yyvsp[(1) - (3)].list;
3767 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
3768 yyval.attrib->loc = (yyloc);
3774 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
3775 yyval.attrib->loc = (yyloc);
3781 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
3787 yyval.specifier = MkSpecifier(CONST);
3793 yyval.specifier = MkSpecifier(VOLATILE);
3799 yyval.specifier = yyvsp[(1) - (1)].specifier;
3805 yyval.specifier = MkSpecifier(VOID);
3811 yyval.specifier = MkSpecifier(CHAR);
3817 yyval.specifier = MkSpecifier(SHORT);
3823 yyval.specifier = MkSpecifier(INT);
3829 yyval.specifier = MkSpecifier(UINT);
3835 yyval.specifier = MkSpecifier(INT64);
3841 yyval.specifier = MkSpecifier(INT128);
3847 yyval.specifier = MkSpecifier(VALIST);
3853 yyval.specifier = MkSpecifier(LONG);
3859 yyval.specifier = MkSpecifier(FLOAT);
3865 yyval.specifier = MkSpecifier(DOUBLE);
3871 yyval.specifier = MkSpecifier(SIGNED);
3877 yyval.specifier = MkSpecifier(UNSIGNED);
3883 yyval.specifier = MkSpecifier(EXTENSION);
3889 yyval.specifier = MkSpecifier(_BOOL);
3895 yyval.specifier = MkSpecifier(BOOL);
3901 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
3907 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3913 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
3914 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
3915 FreeIdentifier(yyvsp[(3) - (4)].id);
3921 yyval.specifier = MkSpecifier(THISCLASS);
3927 yyval.specifier = MkSpecifier(TYPED_OBJECT);
3933 yyval.specifier = MkSpecifier(ANY_OBJECT);
3939 yyval.specifier = MkSpecifier(VOID);
3945 yyval.specifier = MkSpecifier(CHAR);
3951 yyval.specifier = MkSpecifier(SHORT);
3957 yyval.specifier = MkSpecifier(INT);
3963 yyval.specifier = MkSpecifier(UINT);
3969 yyval.specifier = MkSpecifier(INT64);
3975 yyval.specifier = MkSpecifier(INT128);
3981 yyval.specifier = MkSpecifier(VALIST);
3987 yyval.specifier = MkSpecifier(LONG);
3993 yyval.specifier = MkSpecifier(FLOAT);
3999 yyval.specifier = MkSpecifier(DOUBLE);
4005 yyval.specifier = MkSpecifier(SIGNED);
4011 yyval.specifier = MkSpecifier(UNSIGNED);
4017 yyval.specifier = MkSpecifier(EXTENSION);
4023 yyval.specifier = MkSpecifier(_BOOL);
4029 yyval.specifier = MkSpecifier(BOOL);
4035 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
4041 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
4047 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
4048 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
4049 FreeIdentifier(yyvsp[(3) - (4)].id);
4055 yyval.specifier = MkSpecifier(THISCLASS);
4061 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4063 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4069 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
4075 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
4077 DeclClass(yyvsp[(2) - (4)].id->_class, yyvsp[(2) - (4)].id->string);
4083 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
4089 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4091 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4092 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4098 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
4099 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4101 DeclClass(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
4107 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
4108 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4114 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
4115 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4117 DeclClass(yyvsp[(3) - (5)].id->_class, yyvsp[(3) - (5)].id->string);
4123 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
4124 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
4130 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
4131 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4133 DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
4134 FreeSpecifier(yyvsp[(3) - (6)].specifier);
4140 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
4142 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4148 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4150 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4151 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4157 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
4158 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4160 DeclClass(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
4166 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
4167 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4169 DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
4170 FreeSpecifier(yyvsp[(3) - (3)].specifier);
4176 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4182 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4188 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4194 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4200 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
4206 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4207 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4208 yyval.templateArgument->loc = (yyloc);
4214 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4215 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4216 yyval.templateArgument->loc = (yyloc);
4222 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4223 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4225 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4228 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4230 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4231 yyval.templateArgument->loc = (yyloc);
4237 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4238 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4240 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4243 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4245 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4246 yyval.templateArgument->loc = (yyloc);
4252 yyval.list = MkList();
4253 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
4259 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
4265 yyval.specifierType = 3;
4271 yyval.specifierType = 4;
4277 yyval.list = MkList();
4278 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4284 yyval.list = yyvsp[(1) - (2)].list;
4285 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4291 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4292 yyval.memberInit->loc = (yyloc);
4293 yyval.memberInit->realLoc = (yyloc);
4299 yyval.list = MkList();
4300 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4301 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4307 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4308 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4309 yyval.list = yyvsp[(1) - (3)].list;
4315 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4316 yyval.prop->loc = (yyloc);
4322 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4323 yyval.prop->loc = (yyloc);
4329 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
4330 yyval.prop->loc = (yyloc);
4336 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
4337 yyval.prop->loc = (yyloc);
4343 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
4344 yyval.prop->loc = (yyloc);
4350 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
4351 yyval.prop->loc = (yyloc);
4357 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
4358 yyval.prop->loc = (yyloc);
4364 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
4365 yyval.prop->loc = (yyloc);
4371 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
4372 yyval.prop->loc = (yyloc);
4378 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
4379 yyval.prop->loc = (yyloc);
4385 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
4386 yyval.prop->loc = (yyloc);
4392 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
4393 yyval.prop->loc = (yyloc);
4399 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
4400 yyval.prop->loc = (yyloc);
4406 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
4407 yyval.prop->loc = (yyloc);
4413 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4414 yyval.prop->loc = (yyloc);
4420 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4421 yyval.prop->loc = (yyloc);
4427 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4428 yyval.prop->loc = (yyloc);
4434 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
4435 yyval.prop->loc = (yyloc);
4441 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
4442 yyval.prop->loc = (yyloc);
4448 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4449 yyval.prop->loc = (yyloc);
4455 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
4456 yyval.classDef->__anon1.decl->loc = (yyloc);
4457 yyval.classDef->loc = (yyloc);
4463 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
4464 yyval.classDef->__anon1.decl->loc = (yyloc);
4465 yyval.classDef->loc = (yyloc);
4471 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4472 yyval.classDef->loc = (yyloc);
4473 yyval.classDef->__anon1.decl->loc = (yyloc);
4479 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4480 yyval.classDef->loc = (yyloc);
4481 yyval.classDef->__anon1.decl->loc = (yyloc);
4487 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4488 yyval.classDef->loc = (yyloc);
4494 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4495 if((*yyvsp[(1) - (2)].list).last)
4496 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4497 yyval.classDef->loc = (yyloc);
4503 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4504 yyval.classDef->loc = (yyloc);
4510 yyval.classDef = (((void *)0));
4516 yyval.list = MkList();
4517 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
4523 yyval.list = yyvsp[(1) - (3)].list;
4524 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
4530 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
4531 yyval.declarator->loc = (yyloc);
4537 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
4538 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
4539 yyval.declarator->loc = (yyloc);
4545 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
4546 yyval.declarator->loc = (yyloc);
4552 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
4553 yyval.declarator->loc = (yyloc);
4559 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
4560 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
4561 yyval.declarator->loc = (yyloc);
4567 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
4569 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4575 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4577 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4578 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4584 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
4590 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4592 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4598 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
4599 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4601 DeclClass(yyvsp[(2) - (7)].id->_class, yyvsp[(2) - (7)].id->string);
4607 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
4608 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4610 DeclClass(yyvsp[(2) - (7)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
4611 FreeSpecifier(yyvsp[(2) - (7)].specifier);
4617 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4619 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4620 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4626 yyval.list = MkList();
4627 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
4633 yyval.list = yyvsp[(1) - (3)].list;
4634 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
4640 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
4646 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
4652 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4658 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
4664 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
4670 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
4676 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4682 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4688 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4694 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4700 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4706 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4712 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4718 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4724 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4730 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4736 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4742 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4748 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4754 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4760 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4766 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4772 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4778 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4784 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4790 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4796 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4802 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4808 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4814 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4820 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
4826 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
4832 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4838 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4844 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4850 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4856 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4862 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4868 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4874 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4880 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4886 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4892 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
4898 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4904 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4910 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4916 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4922 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4928 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4934 yyval.list = MkList();
4935 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
4941 yyval.list = yyvsp[(1) - (2)].list;
4942 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
4948 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
4954 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
4960 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
4966 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
4972 yyval.list = yyvsp[(1) - (3)].list;
4973 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
4979 yyval.list = MkList();
4980 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
4986 yyval.list = yyvsp[(1) - (3)].list;
4987 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
4993 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4999 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5005 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
5011 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
5017 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5023 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
5029 yyval.list = MkList();
5030 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
5036 yyval.list = yyvsp[(1) - (3)].list;
5037 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
5043 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5049 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5055 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5061 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5067 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5068 yyval.initializer->loc = (yyloc);
5074 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
5075 yyval.initializer->loc = (yyloc);
5081 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
5082 yyval.initializer->loc = (yyloc);
5084 struct Expression * exp = MkExpDummy();
5085 struct Initializer * init = MkInitializerAssignment(exp);
5087 init->loc = (yylsp[(3) - (4)]);
5088 exp->loc = (yylsp[(3) - (4)]);
5089 ListAdd(yyvsp[(2) - (4)].list, init);
5096 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5097 yyval.initializer->loc = (yyloc);
5103 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5104 yyval.initializer->loc = (yyloc);
5110 yyval.list = MkList();
5111 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
5117 yyval.list = yyvsp[(1) - (3)].list;
5118 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
5124 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
5125 yyval.stmt->loc = (yyloc);
5131 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
5132 yyval.stmt->loc = (yyloc);
5133 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
5139 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
5140 yyval.stmt->loc = (yyloc);
5146 yyval.list = MkList();
5147 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
5153 yyval.list = yyvsp[(1) - (2)].list;
5154 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
5160 yyval.list = MkList();
5161 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
5167 yyval.list = yyvsp[(1) - (2)].list;
5168 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
5174 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
5176 stmt->loc = (yylsp[(2) - (2)]);
5177 ListAdd(yyvsp[(1) - (2)].list, stmt);
5178 yyval.list = yyvsp[(1) - (2)].list;
5184 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
5190 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
5196 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
5202 yyval.context = PushContext();
5208 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
5209 yyval.stmt->__anon1.compound.context = PushContext();
5210 PopContext(yyval.stmt->__anon1.compound.context);
5211 yyval.stmt->loc = (yyloc);
5217 yyval.stmt = yyvsp[(2) - (3)].stmt;
5218 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
5219 PopContext(yyvsp[(1) - (3)].context);
5220 yyval.stmt->loc = (yyloc);
5226 yyval.stmt = MkExpressionStmt((((void *)0)));
5227 yyval.stmt->loc = (yyloc);
5233 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
5234 yyval.stmt->loc = (yyloc);
5240 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
5241 yyval.stmt->loc = (yyloc);
5247 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
5248 yyval.stmt->loc = (yyloc);
5254 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5255 yyval.stmt->loc = (yyloc);
5261 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5262 yyval.stmt->loc = (yyloc);
5268 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
5269 yyval.stmt->loc = (yyloc);
5275 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
5276 yyval.stmt->loc = (yyloc);
5282 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
5283 yyval.stmt->loc = (yyloc);
5289 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
5290 yyval.stmt->loc = (yyloc);
5296 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
5297 yyval.stmt->loc = (yyloc);
5303 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
5304 yyval.stmt->loc = (yyloc);
5310 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
5311 yyval.stmt->loc = (yyloc);
5317 yyval.stmt = MkContinueStmt();
5318 yyval.stmt->loc = (yyloc);
5324 yyval.stmt = MkBreakStmt();
5325 yyval.stmt->loc = (yyloc);
5331 struct Expression * exp = MkExpDummy();
5333 yyval.stmt = MkReturnStmt(MkListOne(exp));
5334 yyval.stmt->loc = (yyloc);
5335 exp->loc = (yylsp[(2) - (2)]);
5341 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
5342 yyval.stmt->loc = (yyloc);
5348 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
5354 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5355 yyval.instance->loc = (yyloc);
5356 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5357 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5358 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5364 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5365 yyval.instance->loc = (yyloc);
5366 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5367 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5368 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5374 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5375 yyval.instance->loc = (yyloc);
5376 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5377 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5378 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5384 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5385 yyval.instance->loc = (yyloc);
5386 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5387 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5388 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5394 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
5395 yyval.instance->loc = (yyloc);
5396 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5397 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5403 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
5404 yyval.instance->loc = (yyloc);
5405 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5406 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5412 struct Location tmpLoc = type_yylloc;
5414 type_yylloc = (yylsp[(1) - (4)]);
5415 type_yylloc = tmpLoc;
5416 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
5417 yyval.instance->loc = (yyloc);
5418 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5419 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5420 FreeIdentifier(yyvsp[(1) - (4)].id);
5426 struct Location tmpLoc = type_yylloc;
5428 type_yylloc = (yylsp[(1) - (3)]);
5429 type_yylloc = tmpLoc;
5430 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
5431 yyval.instance->loc = (yyloc);
5432 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5433 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5434 FreeIdentifier(yyvsp[(1) - (3)].id);
5440 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
5441 yyval.instance->loc = (yyloc);
5442 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
5443 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5449 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
5450 yyval.instance->loc = (yyloc);
5451 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
5452 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
5458 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5459 yyval.classFunction->loc = (yyloc);
5465 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5466 yyval.classFunction->loc = (yyloc);
5472 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
5473 yyval.classFunction->loc = (yyloc);
5479 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5480 yyval.classFunction->loc = (yyloc);
5486 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5487 yyval.classFunction->loc = (yyloc);
5493 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5494 yyval.classFunction->loc = (yyloc);
5500 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5501 yyval.classFunction->loc = (yyloc);
5507 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5508 yyval.classFunction->loc = (yyloc);
5514 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
5515 yyval.memberInit->loc = (yyloc);
5516 yyval.memberInit->realLoc = (yyloc);
5517 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
5523 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
5524 yyval.memberInit->loc = (yyloc);
5525 yyval.memberInit->realLoc = (yyloc);
5531 yyval.list = MkList();
5532 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
5538 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
5539 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
5540 yyval.list = yyvsp[(1) - (3)].list;
5546 if((*yyvsp[(1) - (2)].list).last)
5547 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
5548 yyval.list = yyvsp[(1) - (2)].list;
5554 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
5556 yyval.list = MkList();
5557 ListAdd(yyval.list, members);
5558 members->loc = (yylsp[(1) - (1)]);
5564 yyval.list = MkList();
5565 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
5566 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5572 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
5574 ListAdd(yyval.list, members);
5575 members->loc = (yylsp[(2) - (2)]);
5576 yyval.list = yyvsp[(1) - (2)].list;
5582 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
5583 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5584 yyval.list = yyvsp[(1) - (2)].list;
5590 struct MembersInit * members = MkMembersInitList(MkList());
5592 yyval.list = MkList();
5593 ListAdd(yyval.list, members);
5594 members->loc = (yylsp[(1) - (1)]);
5600 struct MembersInit * members = MkMembersInitList(MkList());
5602 ListAdd(yyval.list, members);
5603 members->loc = (yylsp[(2) - (2)]);
5604 yyval.list = yyvsp[(1) - (2)].list;
5610 yyval.list = MkList();
5611 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
5612 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5618 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
5619 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5625 parsedType = yyvsp[(1) - (1)].typeName;
5631 parsedType = yyvsp[(1) - (3)].typeName;
5632 parsedType->bitCount = yyvsp[(3) - (3)].exp;
5643 fprintf((bsl_stderr()), "%s ", "-> $$ =");
5644 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
5645 fprintf((bsl_stderr()), "\n");
5648 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5653 yy_stack_print((yyss), (yyssp));
5658 yystate = yypgoto[yyn - 146] + *yyssp;
5659 if(0 <= yystate && yystate <= 9339 && yycheck[yystate] == *yyssp)
5660 yystate = yytable[yystate];
5662 yystate = yydefgoto[yyn - 146];
5668 yyerror("syntax error");
5670 yyerror_range[0] = type_yylloc;
5671 if(yyerrstatus == 3)
5673 if(type_yychar <= 0)
5675 if(type_yychar == 0)
5680 yydestruct("Error: discarding", yytoken, &type_yylval, &type_yylloc);
5688 yyerror_range[0] = yylsp[1 - yylen];
5689 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5694 yy_stack_print((yyss), (yyssp));
5702 yyn = yypact[yystate];
5706 if(0 <= yyn && yyn <= 9339 && yycheck[yyn] == 1)
5715 yyerror_range[0] = *yylsp;
5716 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
5717 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
5722 yy_stack_print((yyss), (yyssp));
5725 *++yyvsp = type_yylval;
5726 yyerror_range[1] = type_yylloc;
5727 (yyloc.start = ((yyerror_range - 1))[1].start);
5728 (yyloc.end = ((yyerror_range - 1))[2].end);
5735 fprintf((bsl_stderr()), "%s ", "Shifting");
5736 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
5737 fprintf((bsl_stderr()), "\n");
5749 yyerror("memory exhausted");
5752 if(type_yychar != (-2))
5753 yydestruct("Cleanup: discarding lookahead", yytoken, &type_yylval, &type_yylloc);
5754 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5758 yy_stack_print((yyss), (yyssp));
5760 while(yyssp != yyss)
5762 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
5763 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));