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;
396 extern void FreeSpecifier(struct Specifier * spec);
398 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
400 extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name);
402 extern struct Specifier * MkSpecifierName(const char * name);
404 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
406 extern struct Specifier * MkSpecifierNameArgs(const char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
408 extern struct Specifier * MkSpecifier(int specifier);
410 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
412 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
414 struct ClassFunction;
416 extern void FreeClassFunction(struct ClassFunction * func);
420 extern void FreeIdentifier(struct Identifier * id);
424 struct Identifier * prev;
425 struct Identifier * next;
427 struct Symbol * classSym;
428 struct Specifier * _class;
430 struct Identifier * badID;
433 extern struct Identifier * MkIdentifier(const char * string);
435 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
437 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
441 extern void FreeExpression(struct Expression * exp);
445 struct Specifier * prev;
446 struct Specifier * next;
454 struct ExtDecl * extDecl;
456 struct Symbol * symbol;
457 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
458 struct Specifier * nsSpec;
459 } ecere_gcc_struct __anon1;
462 struct Identifier * id;
463 struct __ecereNameSpace__ecere__sys__OldList * list;
464 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
465 struct __ecereNameSpace__ecere__sys__OldList * definitions;
466 unsigned int addNameSpace;
467 struct Context * ctx;
468 struct ExtDecl * extDeclStruct;
469 } ecere_gcc_struct __anon2;
470 struct Expression * expression;
471 struct Specifier * _class;
472 struct TemplateParameter * templateParameter;
473 } ecere_gcc_struct __anon1;
476 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
478 extern struct Expression * MkExpIdentifier(struct Identifier * id);
480 extern struct Expression * MkExpConstant(const char * string);
482 extern struct Expression * MkExpWideString(const char * string);
484 extern struct Expression * MkExpString(const char * string);
486 extern struct Expression * MkExpIntlString(const char * string, const char * context);
488 extern struct Expression * MkExpDummy(void);
490 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
492 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
494 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
496 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
498 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
500 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
502 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
504 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
506 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
508 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
510 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
512 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
514 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
516 extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression);
518 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
522 extern void FreeDeclaration(struct Declaration * decl);
524 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
526 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
528 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
530 struct InitDeclarator;
532 extern void FreeInitDeclarator(struct InitDeclarator * decl);
536 extern void FreeAttribute(struct Attribute * attr);
538 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
542 struct Attribute * prev;
543 struct Attribute * next;
546 struct Expression * exp;
549 struct TemplateDatatype;
551 extern void FreeTemplateDataType(struct TemplateDatatype * type);
553 struct TemplateArgument;
555 extern void FreeTemplateArgument(struct TemplateArgument * arg);
557 extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype);
559 extern struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr);
561 struct TemplateArgument
563 struct TemplateArgument * prev;
564 struct TemplateArgument * next;
566 struct Identifier * name;
570 struct Expression * expression;
571 struct Identifier * identifier;
572 struct TemplateDatatype * templateDatatype;
573 } ecere_gcc_struct __anon1;
578 extern void FreeClassDef(struct ClassDef * def);
580 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
582 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
584 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
588 extern void FreeMemberInit(struct MemberInit * init);
592 extern void FreeProperty(struct PropertyDef * def);
594 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
598 extern void FreeDeclarator(struct Declarator * decl);
600 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
602 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
604 extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
606 struct TemplateDatatype
608 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
609 struct Declarator * decl;
612 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
616 struct Declarator * prev;
617 struct Declarator * next;
620 struct Symbol * symbol;
621 struct Declarator * declarator;
624 struct Identifier * identifier;
627 struct Expression * exp;
628 struct Expression * posExp;
629 struct Attrib * attrib;
630 } ecere_gcc_struct structDecl;
633 struct Expression * exp;
634 struct Specifier * enumClass;
635 } ecere_gcc_struct array;
638 struct __ecereNameSpace__ecere__sys__OldList * parameters;
639 } ecere_gcc_struct function;
642 struct Pointer * pointer;
643 } ecere_gcc_struct pointer;
646 struct ExtDecl * extended;
647 } ecere_gcc_struct extended;
648 } ecere_gcc_struct __anon1;
651 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
653 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
655 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
657 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
659 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
661 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
663 extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator);
665 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
669 struct TypeName * prev;
670 struct TypeName * next;
672 struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
673 struct Declarator * declarator;
675 struct Expression * bitCount;
680 extern void FreeInitializer(struct Initializer * initializer);
682 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
684 struct InitDeclarator
686 struct InitDeclarator * prev;
687 struct InitDeclarator * next;
689 struct Declarator * declarator;
690 struct Initializer * initializer;
695 struct Initializer * prev;
696 struct Initializer * next;
701 struct Expression * exp;
702 struct __ecereNameSpace__ecere__sys__OldList * list;
703 } ecere_gcc_struct __anon1;
704 unsigned int isConstant;
705 struct Identifier * id;
708 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
712 struct MemberInit * prev;
713 struct MemberInit * next;
715 struct Location realLoc;
716 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
717 struct Initializer * initializer;
719 unsigned int variable;
720 unsigned int takeOutExp;
725 struct ClassDef * prev;
726 struct ClassDef * next;
731 struct Declaration * decl;
732 struct ClassFunction * function;
733 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
734 struct PropertyDef * propertyDef;
735 struct PropertyWatch * propertyWatch;
737 struct Identifier * defaultProperty;
740 struct Identifier * id;
741 struct Initializer * initializer;
742 } ecere_gcc_struct __anon1;
743 } ecere_gcc_struct __anon1;
748 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
750 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
752 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
756 extern void FreeStatement(struct Statement * stmt);
760 struct ClassFunction * prev;
761 struct ClassFunction * next;
763 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
764 struct Declarator * declarator;
765 struct __ecereNameSpace__ecere__sys__OldList * declarations;
766 struct Statement * body;
767 struct __ecereNameSpace__ecere__com__Class * _class;
768 struct __ecereNameSpace__ecere__sys__OldList attached;
771 struct Symbol * propSet;
772 unsigned int isVirtual;
773 unsigned int isConstructor;
774 unsigned int isDestructor;
775 unsigned int dontMangle;
780 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
784 struct PropertyDef * prev;
785 struct PropertyDef * next;
787 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
788 struct Declarator * declarator;
789 struct Identifier * id;
790 struct Statement * getStmt;
791 struct Statement * setStmt;
792 struct Statement * issetStmt;
793 struct Symbol * symbol;
794 struct Expression * category;
797 unsigned int conversion : 1;
798 unsigned int isWatchable : 1;
799 unsigned int isDBProp : 1;
800 } ecere_gcc_struct __anon1;
803 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
807 struct Statement * prev;
808 struct Statement * next;
813 struct __ecereNameSpace__ecere__sys__OldList * expressions;
816 struct Identifier * id;
817 struct Statement * stmt;
818 } ecere_gcc_struct labeled;
821 struct Expression * exp;
822 struct Statement * stmt;
823 } ecere_gcc_struct caseStmt;
826 struct __ecereNameSpace__ecere__sys__OldList * declarations;
827 struct __ecereNameSpace__ecere__sys__OldList * statements;
828 struct Context * context;
829 unsigned int isSwitch;
830 } ecere_gcc_struct compound;
833 struct __ecereNameSpace__ecere__sys__OldList * exp;
834 struct Statement * stmt;
835 struct Statement * elseStmt;
836 } ecere_gcc_struct ifStmt;
839 struct __ecereNameSpace__ecere__sys__OldList * exp;
840 struct Statement * stmt;
841 } ecere_gcc_struct switchStmt;
844 struct __ecereNameSpace__ecere__sys__OldList * exp;
845 struct Statement * stmt;
846 } ecere_gcc_struct whileStmt;
849 struct __ecereNameSpace__ecere__sys__OldList * exp;
850 struct Statement * stmt;
851 } ecere_gcc_struct doWhile;
854 struct Statement * init;
855 struct Statement * check;
856 struct __ecereNameSpace__ecere__sys__OldList * increment;
857 struct Statement * stmt;
858 } ecere_gcc_struct forStmt;
861 struct Identifier * id;
862 } ecere_gcc_struct gotoStmt;
865 struct Specifier * spec;
867 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
868 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
869 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
870 } ecere_gcc_struct asmStmt;
873 struct Expression * watcher;
874 struct Expression * object;
875 struct __ecereNameSpace__ecere__sys__OldList * watches;
876 } ecere_gcc_struct _watch;
879 struct Identifier * id;
880 struct __ecereNameSpace__ecere__sys__OldList * exp;
881 struct __ecereNameSpace__ecere__sys__OldList * filter;
882 struct Statement * stmt;
883 } ecere_gcc_struct forEachStmt;
884 struct Declaration * decl;
885 } ecere_gcc_struct __anon1;
888 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
890 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
892 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
894 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
896 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
898 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
900 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
902 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
904 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
906 extern struct Statement * MkGotoStmt(struct Identifier * id);
908 extern struct Statement * MkContinueStmt(void);
910 extern struct Statement * MkBreakStmt(void);
912 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
914 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
916 struct Instantiation;
918 extern void FreeInstance(struct Instantiation * inst);
922 struct Expression * prev;
923 struct Expression * next;
931 struct Identifier * identifier;
932 } ecere_gcc_struct __anon1;
933 struct Statement * compound;
934 struct Instantiation * instance;
938 unsigned int intlString;
939 unsigned int wideString;
940 } ecere_gcc_struct __anon2;
941 struct __ecereNameSpace__ecere__sys__OldList * list;
944 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
945 struct Declarator * decl;
946 } ecere_gcc_struct _classExp;
949 struct Identifier * id;
950 } ecere_gcc_struct classData;
953 struct Expression * exp;
954 struct __ecereNameSpace__ecere__sys__OldList * arguments;
955 struct Location argLoc;
956 } ecere_gcc_struct call;
959 struct Expression * exp;
960 struct __ecereNameSpace__ecere__sys__OldList * index;
961 } ecere_gcc_struct index;
964 struct Expression * exp;
965 struct Identifier * member;
967 unsigned int thisPtr;
968 } ecere_gcc_struct member;
972 struct Expression * exp1;
973 struct Expression * exp2;
974 } ecere_gcc_struct op;
975 struct TypeName * typeName;
976 struct Specifier * _class;
979 struct TypeName * typeName;
980 struct Expression * exp;
981 } ecere_gcc_struct cast;
984 struct Expression * cond;
985 struct __ecereNameSpace__ecere__sys__OldList * exp;
986 struct Expression * elseExp;
987 } ecere_gcc_struct cond;
990 struct TypeName * typeName;
991 struct Expression * size;
992 } ecere_gcc_struct _new;
995 struct TypeName * typeName;
996 struct Expression * size;
997 struct Expression * exp;
998 } ecere_gcc_struct _renew;
1002 struct Identifier * id;
1003 } ecere_gcc_struct db;
1006 struct Expression * ds;
1007 struct Expression * name;
1008 } ecere_gcc_struct dbopen;
1011 struct TypeName * typeName;
1012 struct Initializer * initializer;
1013 } ecere_gcc_struct initializer;
1016 struct Expression * exp;
1017 struct TypeName * typeName;
1018 } ecere_gcc_struct vaArg;
1021 struct TypeName * typeName;
1022 struct Identifier * id;
1023 } ecere_gcc_struct offset;
1024 } ecere_gcc_struct __anon1;
1025 unsigned int debugValue;
1026 struct __ecereNameSpace__ecere__com__DataValue val;
1028 unsigned int hasAddress;
1029 struct Type * expType;
1030 struct Type * destType;
1033 unsigned int byReference;
1034 unsigned int isConstant;
1035 unsigned int addedThis;
1036 unsigned int needCast;
1037 unsigned int thisPtr;
1038 unsigned int opDestType;
1039 unsigned int usedInComparison;
1040 unsigned int ambiguousUnits;
1041 unsigned int parentOpDestType;
1042 unsigned int needTemplateCast;
1045 extern struct Expression * MkExpInstance(struct Instantiation * inst);
1049 struct Declaration * prev;
1050 struct Declaration * next;
1051 struct Location loc;
1057 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1058 struct __ecereNameSpace__ecere__sys__OldList * declarators;
1059 } ecere_gcc_struct __anon1;
1060 struct Instantiation * inst;
1063 struct Identifier * id;
1064 struct Expression * exp;
1065 } ecere_gcc_struct __anon2;
1066 } ecere_gcc_struct __anon1;
1067 struct Specifier * extStorage;
1068 struct Symbol * symbol;
1072 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1074 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1076 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1078 struct Instantiation
1080 struct Instantiation * prev;
1081 struct Instantiation * next;
1082 struct Location loc;
1083 struct Specifier * _class;
1084 struct Expression * exp;
1085 struct __ecereNameSpace__ecere__sys__OldList * members;
1086 struct Symbol * symbol;
1087 unsigned int fullSet;
1088 unsigned int isConstant;
1089 unsigned char * data;
1090 struct Location nameLoc;
1091 struct Location insideLoc;
1095 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1099 typedef union YYSTYPE
1104 struct Identifier * id;
1105 struct Expression * exp;
1106 struct Specifier * specifier;
1107 struct __ecereNameSpace__ecere__sys__OldList * list;
1108 struct Enumerator * enumerator;
1109 struct Declarator * declarator;
1110 struct Pointer * pointer;
1111 struct Initializer * initializer;
1112 struct InitDeclarator * initDeclarator;
1113 struct TypeName * typeName;
1114 struct Declaration * declaration;
1115 struct Statement * stmt;
1116 struct FunctionDefinition * function;
1117 struct External * external;
1118 struct Context * context;
1119 struct AsmField * asmField;
1120 struct Attrib * attrib;
1121 struct ExtDecl * extDecl;
1122 struct Attribute * attribute;
1123 struct Instantiation * instance;
1124 struct MembersInit * membersInit;
1125 struct MemberInit * memberInit;
1126 struct ClassFunction * classFunction;
1127 struct ClassDefinition * _class;
1128 struct ClassDef * classDef;
1129 struct PropertyDef * prop;
1131 struct Symbol * symbol;
1132 struct PropertyWatch * propertyWatch;
1133 struct TemplateParameter * templateParameter;
1134 struct TemplateArgument * templateArgument;
1135 struct TemplateDatatype * templateDatatype;
1136 struct DBTableEntry * dbtableEntry;
1137 struct DBIndexItem * dbindexItem;
1138 struct DBTableDef * dbtableDef;
1139 } ecere_gcc_struct YYSTYPE;
1141 extern YYSTYPE yylval;
1145 yytype_int16 yyss_alloc;
1147 struct Location yyls_alloc;
1150 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1154 ((void)(yylocationp));
1163 extern void FreeMembersInit(struct MembersInit * init);
1165 YYSTYPE type_yylval;
1167 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
1171 struct MembersInit * prev;
1172 struct MembersInit * next;
1173 struct Location loc;
1177 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1178 struct ClassFunction * function;
1179 } ecere_gcc_struct __anon1;
1182 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
1184 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1187 fprintf(yyoutput, "token %s (", yytname[yytype]);
1189 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1191 fprintf(yyoutput, ": ");
1192 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1193 fprintf(yyoutput, ")");
1196 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1198 int yynrhs = yyr2[yyrule];
1200 unsigned long int yylno = yyrline[yyrule];
1202 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1203 for(yyi = 0; yyi < yynrhs; yyi++)
1205 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1206 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1207 fprintf((bsl_stderr()), "\n");
1211 struct __ecereNameSpace__ecere__sys__BinaryTree;
1213 struct __ecereNameSpace__ecere__sys__BinaryTree
1215 struct __ecereNameSpace__ecere__sys__BTNode * root;
1217 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1218 void (* FreeKey)(void * key);
1221 struct __ecereNameSpace__ecere__com__DataMember;
1223 struct __ecereNameSpace__ecere__com__DataMember
1225 struct __ecereNameSpace__ecere__com__DataMember * prev;
1226 struct __ecereNameSpace__ecere__com__DataMember * next;
1228 unsigned int isProperty;
1231 struct __ecereNameSpace__ecere__com__Class * _class;
1232 const char * dataTypeString;
1233 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1234 struct Type * dataType;
1238 struct __ecereNameSpace__ecere__sys__OldList members;
1239 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1241 short structAlignment;
1242 short pointerAlignment;
1245 struct __ecereNameSpace__ecere__com__Property;
1247 struct __ecereNameSpace__ecere__com__Property
1249 struct __ecereNameSpace__ecere__com__Property * prev;
1250 struct __ecereNameSpace__ecere__com__Property * next;
1252 unsigned int isProperty;
1255 struct __ecereNameSpace__ecere__com__Class * _class;
1256 const char * dataTypeString;
1257 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1258 struct Type * dataType;
1259 void (* Set)(void * , int);
1260 int (* Get)(void * );
1261 unsigned int (* IsSet)(void * );
1265 unsigned int conversion;
1266 unsigned int watcherOffset;
1267 const char * category;
1268 unsigned int compiled;
1269 unsigned int selfWatchable;
1270 unsigned int isWatchable;
1273 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
1275 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);
1277 extern void __ecereNameSpace__ecere__com__eInstance_Watch(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
1279 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
1281 struct __ecereNameSpace__ecere__com__Method;
1283 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1289 const char * dataTypeString;
1290 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1291 } ecere_gcc_struct __anon1;
1292 struct __ecereNameSpace__ecere__com__DataValue expression;
1295 const char * memberString;
1298 struct __ecereNameSpace__ecere__com__DataMember * member;
1299 struct __ecereNameSpace__ecere__com__Property * prop;
1300 struct __ecereNameSpace__ecere__com__Method * method;
1301 } ecere_gcc_struct __anon1;
1302 } ecere_gcc_struct __anon2;
1303 } ecere_gcc_struct __anon1;
1306 struct __ecereNameSpace__ecere__com__Method
1309 struct __ecereNameSpace__ecere__com__Method * parent;
1310 struct __ecereNameSpace__ecere__com__Method * left;
1311 struct __ecereNameSpace__ecere__com__Method * right;
1316 struct __ecereNameSpace__ecere__com__Class * _class;
1318 const char * dataTypeString;
1319 struct Type * dataType;
1323 struct __ecereNameSpace__ecere__com__NameSpace;
1325 struct __ecereNameSpace__ecere__com__NameSpace
1328 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
1329 struct __ecereNameSpace__ecere__com__NameSpace * left;
1330 struct __ecereNameSpace__ecere__com__NameSpace * right;
1332 struct __ecereNameSpace__ecere__com__NameSpace * parent;
1333 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1334 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1335 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1336 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1339 struct __ecereNameSpace__ecere__com__Application
1342 const char * * argv;
1344 unsigned int isGUIApp;
1345 struct __ecereNameSpace__ecere__sys__OldList allModules;
1346 char * parsedCommand;
1347 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
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;
1427 void * bindingsClass;
1430 void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
1432 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1436 void __ecereUnregisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
1441 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1443 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1445 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1448 ((void)(yylocationp));
1455 fprintf((bsl_stderr()), "%s ", yymsg);
1456 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1457 fprintf((bsl_stderr()), "\n");
1464 FreeSpecifier((*yyvaluep).specifier);
1470 FreeSpecifier((*yyvaluep).specifier);
1476 FreeSpecifier((*yyvaluep).specifier);
1482 FreeSpecifier((*yyvaluep).specifier);
1488 FreeClassFunction((*yyvaluep).classFunction);
1494 FreeClassFunction((*yyvaluep).classFunction);
1500 FreeClassFunction((*yyvaluep).classFunction);
1506 FreeClassFunction((*yyvaluep).classFunction);
1512 FreeIdentifier((*yyvaluep).id);
1518 FreeExpression((*yyvaluep).exp);
1524 FreeExpression((*yyvaluep).exp);
1530 FreeList((*yyvaluep).list, (void *)(FreeExpression));
1536 FreeExpression((*yyvaluep).exp);
1542 FreeExpression((*yyvaluep).exp);
1548 FreeExpression((*yyvaluep).exp);
1554 FreeExpression((*yyvaluep).exp);
1560 FreeExpression((*yyvaluep).exp);
1566 FreeExpression((*yyvaluep).exp);
1572 FreeExpression((*yyvaluep).exp);
1578 FreeExpression((*yyvaluep).exp);
1584 FreeExpression((*yyvaluep).exp);
1590 FreeExpression((*yyvaluep).exp);
1596 FreeExpression((*yyvaluep).exp);
1602 FreeExpression((*yyvaluep).exp);
1608 FreeExpression((*yyvaluep).exp);
1614 FreeExpression((*yyvaluep).exp);
1620 FreeList((*yyvaluep).list, (void *)(FreeExpression));
1626 FreeExpression((*yyvaluep).exp);
1632 FreeDeclaration((*yyvaluep).declaration);
1638 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1644 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1650 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1656 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1662 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
1668 FreeInitDeclarator((*yyvaluep).initDeclarator);
1674 FreeSpecifier((*yyvaluep).specifier);
1680 FreeExtDecl((*yyvaluep).extDecl);
1686 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1692 FreeAttribute((*yyvaluep).attribute);
1698 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
1704 FreeAttrib((*yyvaluep).attrib);
1710 FreeSpecifier((*yyvaluep).specifier);
1716 FreeSpecifier((*yyvaluep).specifier);
1722 FreeSpecifier((*yyvaluep).specifier);
1728 FreeSpecifier((*yyvaluep).specifier);
1734 FreeSpecifier((*yyvaluep).specifier);
1740 FreeSpecifier((*yyvaluep).specifier);
1746 FreeTemplateDataType((*yyvaluep).templateDatatype);
1752 FreeTemplateArgument((*yyvaluep).templateArgument);
1758 FreeTemplateArgument((*yyvaluep).templateArgument);
1764 FreeTemplateArgument((*yyvaluep).templateArgument);
1770 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1776 FreeMemberInit((*yyvaluep).memberInit);
1782 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1788 FreeProperty((*yyvaluep).prop);
1794 FreeClassDef((*yyvaluep).classDef);
1800 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
1806 FreeDeclarator((*yyvaluep).declarator);
1812 FreeSpecifier((*yyvaluep).specifier);
1818 FreeSpecifier((*yyvaluep).specifier);
1824 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
1830 FreeEnumerator((*yyvaluep).enumerator);
1836 FreeDeclarator((*yyvaluep).declarator);
1842 FreeDeclarator((*yyvaluep).declarator);
1848 FreeDeclarator((*yyvaluep).declarator);
1854 FreeDeclarator((*yyvaluep).declarator);
1860 FreeDeclarator((*yyvaluep).declarator);
1866 FreeDeclarator((*yyvaluep).declarator);
1872 FreeDeclarator((*yyvaluep).declarator);
1878 FreeDeclarator((*yyvaluep).declarator);
1884 FreeDeclarator((*yyvaluep).declarator);
1890 FreeDeclarator((*yyvaluep).declarator);
1896 FreeDeclarator((*yyvaluep).declarator);
1902 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1908 FreePointer((*yyvaluep).pointer);
1914 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1920 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1926 FreeTypeName((*yyvaluep).typeName);
1932 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1938 FreeTypeName((*yyvaluep).typeName);
1944 FreeTypeName((*yyvaluep).typeName);
1950 FreeInitializer((*yyvaluep).initializer);
1956 FreeInitializer((*yyvaluep).initializer);
1962 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
1968 FreeStatement((*yyvaluep).stmt);
1974 FreeStatement((*yyvaluep).stmt);
1980 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
1986 FreeList((*yyvaluep).list, (void *)(FreeStatement));
1992 FreeStatement((*yyvaluep).stmt);
1998 PopContext((*yyvaluep).context);
1999 FreeContext((*yyvaluep).context);
2000 (((*yyvaluep).context ? __extension__ ({
2001 void * __ecerePtrToDelete = ((*yyvaluep).context);
2003 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2004 }) : 0), (*yyvaluep).context = 0);
2010 FreeStatement((*yyvaluep).stmt);
2016 FreeStatement((*yyvaluep).stmt);
2022 FreeStatement((*yyvaluep).stmt);
2028 FreeStatement((*yyvaluep).stmt);
2034 FreeStatement((*yyvaluep).stmt);
2040 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2046 FreeInstance((*yyvaluep).instance);
2052 FreeInstance((*yyvaluep).instance);
2058 FreeClassFunction((*yyvaluep).classFunction);
2064 FreeClassFunction((*yyvaluep).classFunction);
2070 FreeClassFunction((*yyvaluep).classFunction);
2076 FreeMemberInit((*yyvaluep).memberInit);
2082 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2088 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2094 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2100 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2109 int type_yyparse(void)
2113 yytype_int16 yyssa[200];
2114 yytype_int16 * yyss;
2115 yytype_int16 * yyssp;
2119 struct Location yylsa[200];
2120 struct Location * yyls;
2121 struct Location * yylsp;
2122 struct Location yyerror_range[2];
2128 struct Location yyloc;
2139 fprintf((bsl_stderr()), "Starting parse\n");
2153 if(yyss + yystacksize - 1 <= yyssp)
2155 size_t yysize = yyssp - yyss + 1;
2157 if(10000 <= yystacksize)
2158 goto yyexhaustedlab;
2160 if(10000 < yystacksize)
2161 yystacksize = 10000;
2163 yytype_int16 * yyss1 = yyss;
2164 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
2167 goto yyexhaustedlab;
2172 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
2173 yyss = &(*yyptr).yyss_alloc;
2174 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
2175 yyptr += yynewbytes / sizeof (*yyptr);
2181 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
2182 yyvs = &(*yyptr).yyvs_alloc;
2183 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
2184 yyptr += yynewbytes / sizeof (*yyptr);
2190 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
2191 yyls = &(*yyptr).yyls_alloc;
2192 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
2193 yyptr += yynewbytes / sizeof (*yyptr);
2198 yyssp = yyss + yysize - 1;
2199 yyvsp = yyvs + yysize - 1;
2200 yylsp = yyls + yysize - 1;
2204 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
2206 if(yyss + yystacksize - 1 <= yyssp)
2212 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
2218 yyn = yypact[yystate];
2221 if(type_yychar == (-2))
2226 fprintf((bsl_stderr()), "Reading a token: ");
2228 type_yychar = yylex();
2230 if(type_yychar <= 0)
2232 type_yychar = yytoken = 0;
2236 fprintf((bsl_stderr()), "Now at end of input.\n");
2241 yytoken = ((unsigned int)(type_yychar) <= 375 ? yytranslate[type_yychar] : 2);
2246 fprintf((bsl_stderr()), "%s ", "Next token is");
2247 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2248 fprintf((bsl_stderr()), "\n");
2253 if(yyn < 0 || 9339 < yyn || yycheck[yyn] != yytoken)
2258 if(yyn == 0 || yyn == -499)
2269 fprintf((bsl_stderr()), "%s ", "Shifting");
2270 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2271 fprintf((bsl_stderr()), "\n");
2276 *++yyvsp = type_yylval;
2277 *++yylsp = type_yylloc;
2280 yyn = yydefact[yystate];
2286 yyval = yyvsp[1 - yylen];
2287 (yyloc.start = ((yylsp - yylen))[1].start);
2288 (yyloc.end = ((yylsp - yylen))[yylen].end);
2293 yy_reduce_print(yyvsp, yylsp, yyn);
2299 yyval.specifier = (((void *)0));
2300 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2302 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2304 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2305 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2307 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2308 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2309 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2311 resetScannerPos(&(yylsp[(1) - (2)]).start);
2312 (type_yychar = (-2));
2313 FreeIdentifier(yyvsp[(1) - (2)].id);
2314 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2319 yy_stack_print((yyss), (yyssp));
2321 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2326 yy_stack_print((yyss), (yyssp));
2334 yyval.specifier = (((void *)0));
2335 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2336 FreeIdentifier(yyvsp[(1) - (2)].id);
2338 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2340 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2341 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2343 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2344 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2345 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2347 resetScannerPos(&(yylsp[(1) - (2)]).start);
2348 (type_yychar = (-2));
2349 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2354 yy_stack_print((yyss), (yyssp));
2356 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2361 yy_stack_print((yyss), (yyssp));
2369 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2371 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2373 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2374 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2376 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2377 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2378 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2380 parseTypeError = (unsigned int)0;
2381 resetScannerPos(&(yylsp[(1) - (2)]).start);
2382 (type_yychar = (-2));
2383 FreeIdentifier(yyvsp[(1) - (2)].id);
2384 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2389 yy_stack_print((yyss), (yyssp));
2391 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2396 yy_stack_print((yyss), (yyssp));
2404 yyval.specifier = yyvsp[(1) - (1)].specifier;
2410 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2412 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2414 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2415 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2417 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2418 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2419 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
2421 resetScannerPos(&(yylsp[(1) - (2)]).start);
2422 (type_yychar = (-2));
2423 FreeIdentifier(yyvsp[(1) - (2)].id);
2424 FreeIdentifier(yyvsp[(2) - (2)].id);
2425 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2430 yy_stack_print((yyss), (yyssp));
2432 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2437 yy_stack_print((yyss), (yyssp));
2445 yyval.specifier = MkSpecifierName(yytext);
2451 yyval.specifier = yyvsp[(1) - (4)].specifier;
2452 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2453 yyval.specifier->loc = (yyloc);
2459 yyval.specifier = yyvsp[(1) - (4)].specifier;
2460 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2461 yyval.specifier->loc = (yyloc);
2462 (yylsp[(4) - (4)]).end.pos--;
2464 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
2466 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2467 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2469 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2470 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
2471 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(4) - (4)]).end.pos, 0) : (unsigned int)1;
2473 resetScannerPos(&(yylsp[(4) - (4)]).end);
2474 (type_yychar = (-2));
2480 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2481 yyval.classFunction->loc = (yyloc);
2487 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
2488 yyval.classFunction->loc = (yyloc);
2494 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2495 yyval.classFunction->isConstructor = 1;
2496 yyval.classFunction->loc = (yyloc);
2497 FreeList(yyvsp[(1) - (3)].list, (void *)(FreeSpecifier));
2503 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2504 yyval.classFunction->isDestructor = 1;
2505 yyval.classFunction->loc = (yyloc);
2506 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
2512 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
2513 yyval.classFunction->isVirtual = 1;
2514 yyval.classFunction->loc = (yyloc);
2520 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2521 yyval.classFunction->isVirtual = 1;
2522 yyval.classFunction->loc = (yyloc);
2528 yyval.id = MkIdentifier(yytext);
2529 yyval.id->loc = (yylsp[(1) - (1)]);
2535 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
2536 yyval.exp->loc = (yyloc);
2542 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
2543 yyval.exp->loc = (yyloc);
2549 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2550 yyval.exp->loc = (yyloc);
2556 yyval.exp = MkExpConstant(yytext);
2557 yyval.exp->loc = (yyloc);
2563 yyval.exp = MkExpWideString(yytext);
2564 yyval.exp->loc = (yyloc);
2570 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
2571 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
2572 yyval.exp->loc = (yyloc);
2578 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
2579 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
2580 yyval.exp->loc = (yyloc);
2586 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
2587 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
2588 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
2589 yyval.exp->loc = (yyloc);
2595 struct Expression * exp = MkExpDummy();
2597 exp->loc.start = (yylsp[(1) - (2)]).end;
2598 exp->loc.end = (yylsp[(2) - (2)]).start;
2599 yyval.exp = MkExpBrackets(MkListOne(exp));
2600 yyval.exp->loc = (yyloc);
2607 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2608 yyval.exp->loc = (yyloc);
2614 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2615 yyval.exp->loc = (yyloc);
2621 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2622 yyval.exp->loc = (yyloc);
2628 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2629 yyval.exp->loc = (yyloc);
2635 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2636 yyval.exp->loc = (yyloc);
2642 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2643 yyval.exp->loc = (yyloc);
2649 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2650 yyval.exp->loc = (yyloc);
2656 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2657 yyval.exp->loc = (yyloc);
2663 yyval.exp = MkExpDummy();
2669 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2670 yyval.exp->loc = (yyloc);
2676 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
2677 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
2678 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
2679 yyval.exp->loc = (yyloc);
2685 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2686 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
2687 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
2688 yyval.exp->loc = (yyloc);
2694 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2695 yyval.exp->loc = (yyloc);
2701 char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
2702 int len = constant ? strlen(constant) : 0;
2704 if(constant && constant[len - 1] == '.')
2706 constant[len - 1] = 0;
2707 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
2708 yyval.exp->loc = (yyloc);
2717 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2718 yyval.exp->loc = (yyloc);
2724 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
2725 yyval.exp->loc = (yyloc);
2731 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
2732 yyval.exp->loc = (yyloc);
2738 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2739 yyval.exp->loc = (yyloc);
2745 yyval.list = MkList();
2746 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2752 yyval.list = MkList();
2753 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2759 yyval.list = yyvsp[(1) - (3)].list;
2760 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2766 yyval.list = yyvsp[(1) - (3)].list;
2767 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2773 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
2774 yyval.exp->loc = (yyloc);
2780 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
2781 yyval.exp->loc = (yyloc);
2787 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
2788 yyval.exp->loc = (yyloc);
2794 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
2795 yyval.exp->loc = (yyloc);
2801 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
2802 yyval.exp->loc = (yyloc);
2808 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
2809 yyval.exp->loc = (yyloc);
2815 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
2816 yyval.exp->loc = (yyloc);
2864 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
2865 yyval.exp->loc = (yyloc);
2871 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
2872 yyval.exp->loc = (yyloc);
2878 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
2879 yyval.exp->loc = (yyloc);
2885 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
2886 yyval.exp->loc = (yyloc);
2892 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
2893 yyval.exp->loc = (yyloc);
2899 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
2900 yyval.exp->loc = (yyloc);
2906 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
2907 yyval.exp->loc = (yyloc);
2913 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
2914 yyval.exp->loc = (yyloc);
2920 yyval.exp = yyvsp[(1) - (2)].exp;
2928 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
2929 yyval.exp->loc = (yyloc);
2935 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
2936 yyval.exp->loc = (yyloc);
2942 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
2943 yyval.exp->loc = (yyloc);
2949 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
2950 yyval.exp->loc = (yyloc);
2956 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
2957 yyval.exp->loc = (yyloc);
2963 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
2964 yyval.exp->loc = (yyloc);
2970 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
2971 yyval.exp->loc = (yyloc);
2977 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
2978 yyval.exp->loc = (yyloc);
2984 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
2985 yyval.exp->loc = (yyloc);
2991 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
2992 yyval.exp->loc = (yyloc);
2998 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
2999 yyval.exp->loc = (yyloc);
3005 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
3006 yyval.exp->loc = (yyloc);
3012 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
3013 yyval.exp->loc = (yyloc);
3019 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
3020 yyval.exp->loc = (yyloc);
3032 yyval.i = MUL_ASSIGN;
3038 yyval.i = DIV_ASSIGN;
3044 yyval.i = MOD_ASSIGN;
3050 yyval.i = ADD_ASSIGN;
3056 yyval.i = SUB_ASSIGN;
3062 yyval.i = LEFT_ASSIGN;
3068 yyval.i = RIGHT_ASSIGN;
3074 yyval.i = AND_ASSIGN;
3080 yyval.i = XOR_ASSIGN;
3086 yyval.i = OR_ASSIGN;
3092 yyval.list = MkList();
3093 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
3099 yyval.list = yyvsp[(1) - (3)].list;
3100 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
3106 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
3107 yyval.declaration->loc = (yyloc);
3113 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
3114 yyval.declaration->loc = (yyloc);
3120 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
3121 yyval.declaration->loc = (yyloc);
3127 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
3128 yyval.declaration->loc = (yyloc);
3134 yyval.list = MkList();
3135 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3141 yyval.list = yyvsp[(1) - (2)].list;
3142 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3148 yyval.list = MkList();
3149 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3155 yyval.list = yyvsp[(1) - (2)].list;
3156 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3162 yyval.list = MkList();
3163 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3169 yyval.list = yyvsp[(1) - (2)].list;
3170 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3176 yyval.list = MkList();
3177 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3183 yyval.list = yyvsp[(1) - (2)].list;
3184 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3190 yyval.list = MkList();
3191 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3197 yyval.list = yyvsp[(1) - (2)].list;
3198 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3204 yyval.list = MkList();
3205 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3211 yyval.list = yyvsp[(1) - (2)].list;
3212 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3218 yyval.list = MkList();
3219 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3225 yyval.list = yyvsp[(1) - (2)].list;
3226 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3232 yyval.list = MkList();
3233 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3239 yyval.list = yyvsp[(1) - (2)].list;
3240 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3246 yyval.list = MkList();
3247 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3253 yyval.list = yyvsp[(1) - (2)].list;
3254 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3260 yyval.list = MkList();
3261 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3267 yyval.list = yyvsp[(1) - (2)].list;
3268 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3274 yyval.list = MkList();
3275 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3281 yyval.list = yyvsp[(1) - (2)].list;
3282 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3288 yyval.list = MkList();
3289 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3295 yyval.list = yyvsp[(1) - (2)].list;
3296 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3302 yyval.list = MkList();
3303 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3309 yyval.list = yyvsp[(1) - (2)].list;
3310 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3316 yyval.list = MkList();
3317 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3323 yyval.list = yyvsp[(1) - (2)].list;
3324 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3330 yyval.list = MkList();
3331 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3337 yyval.list = yyvsp[(1) - (2)].list;
3338 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3344 yyval.list = MkList();
3345 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3351 yyval.list = yyvsp[(1) - (2)].list;
3352 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3358 yyval.list = MkList();
3359 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3365 yyval.list = yyvsp[(1) - (2)].list;
3366 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3372 yyval.list = MkList();
3373 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3379 yyval.list = yyvsp[(1) - (2)].list;
3380 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3386 yyval.list = MkList();
3387 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3393 yyval.list = yyvsp[(1) - (2)].list;
3394 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3400 yyval.list = MkList();
3401 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3407 yyval.list = yyvsp[(1) - (2)].list;
3408 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3414 yyval.list = yyvsp[(1) - (1)].list;
3420 yyval.list = MkList();
3421 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3427 yyval.list = MkList();
3428 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3434 yyval.list = yyvsp[(1) - (2)].list;
3435 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3441 yyval.list = MkList();
3442 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3448 yyval.list = yyvsp[(1) - (2)].list;
3449 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3455 yyval.list = MkList();
3456 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3462 yyval.list = yyvsp[(1) - (2)].list;
3463 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3469 yyval.list = MkList();
3470 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3471 FreeIdentifier(yyvsp[(1) - (1)].id);
3477 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3478 FreeIdentifier(yyvsp[(2) - (2)].id);
3484 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3485 yyval.list = MkList();
3486 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3487 FreeIdentifier(yyvsp[(1) - (4)].id);
3493 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3494 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3495 FreeIdentifier(yyvsp[(2) - (5)].id);
3501 yyval.list = MkList();
3502 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3508 yyval.list = yyvsp[(1) - (2)].list;
3509 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3515 yyval.list = MkList();
3516 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3522 yyval.list = yyvsp[(1) - (2)].list;
3523 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3529 yyval.list = MkList();
3530 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3536 yyval.list = yyvsp[(1) - (2)].list;
3537 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3543 yyval.list = MkList();
3544 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3550 yyval.list = yyvsp[(1) - (2)].list;
3551 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3557 yyval.list = MkList();
3558 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3564 yyval.list = yyvsp[(1) - (2)].list;
3565 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3571 yyval.list = MkList();
3572 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3573 FreeIdentifier(yyvsp[(1) - (1)].id);
3579 yyval.list = yyvsp[(1) - (2)].list;
3580 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3581 FreeIdentifier(yyvsp[(2) - (2)].id);
3586 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3587 yyval.list = MkList();
3588 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3589 FreeIdentifier(yyvsp[(1) - (4)].id);
3595 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3596 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3597 FreeIdentifier(yyvsp[(2) - (5)].id);
3603 yyval.list = MkList();
3604 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
3610 yyval.list = yyvsp[(1) - (3)].list;
3611 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
3617 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3618 yyval.initDeclarator->loc = (yyloc);
3624 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
3625 yyval.initDeclarator->loc = (yyloc);
3626 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
3632 yyval.specifier = MkSpecifier(TYPEDEF);
3638 yyval.specifier = MkSpecifier(EXTERN);
3644 yyval.specifier = MkSpecifier(STATIC);
3650 yyval.specifier = MkSpecifier(AUTO);
3656 yyval.specifier = MkSpecifier(REGISTER);
3662 yyval.specifier = MkSpecifier(THREAD);
3668 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3674 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3680 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
3692 yyval.i = ATTRIB_DEP;
3704 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3710 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3716 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3722 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3728 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3734 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
3735 yyval.attribute->loc = (yyloc);
3741 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
3742 yyval.attribute->loc = (yyloc);
3748 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
3754 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
3755 yyval.list = yyvsp[(1) - (2)].list;
3761 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
3762 yyval.list = yyvsp[(1) - (3)].list;
3768 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
3769 yyval.attrib->loc = (yyloc);
3775 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
3776 yyval.attrib->loc = (yyloc);
3782 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
3788 yyval.specifier = MkSpecifier(CONST);
3794 yyval.specifier = MkSpecifier(VOLATILE);
3800 yyval.specifier = yyvsp[(1) - (1)].specifier;
3806 yyval.specifier = MkSpecifier(VOID);
3812 yyval.specifier = MkSpecifier(CHAR);
3818 yyval.specifier = MkSpecifier(SHORT);
3824 yyval.specifier = MkSpecifier(INT);
3830 yyval.specifier = MkSpecifier(UINT);
3836 yyval.specifier = MkSpecifier(INT64);
3842 yyval.specifier = MkSpecifier(INT128);
3848 yyval.specifier = MkSpecifier(VALIST);
3854 yyval.specifier = MkSpecifier(LONG);
3860 yyval.specifier = MkSpecifier(FLOAT);
3866 yyval.specifier = MkSpecifier(DOUBLE);
3872 yyval.specifier = MkSpecifier(SIGNED);
3878 yyval.specifier = MkSpecifier(UNSIGNED);
3884 yyval.specifier = MkSpecifier(EXTENSION);
3890 yyval.specifier = MkSpecifier(_BOOL);
3896 yyval.specifier = MkSpecifier(BOOL);
3902 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
3908 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3914 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
3915 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
3916 FreeIdentifier(yyvsp[(3) - (4)].id);
3922 yyval.specifier = MkSpecifier(THISCLASS);
3928 yyval.specifier = MkSpecifier(TYPED_OBJECT);
3934 yyval.specifier = MkSpecifier(ANY_OBJECT);
3940 yyval.specifier = MkSpecifier(VOID);
3946 yyval.specifier = MkSpecifier(CHAR);
3952 yyval.specifier = MkSpecifier(SHORT);
3958 yyval.specifier = MkSpecifier(INT);
3964 yyval.specifier = MkSpecifier(UINT);
3970 yyval.specifier = MkSpecifier(INT64);
3976 yyval.specifier = MkSpecifier(INT128);
3982 yyval.specifier = MkSpecifier(VALIST);
3988 yyval.specifier = MkSpecifier(LONG);
3994 yyval.specifier = MkSpecifier(FLOAT);
4000 yyval.specifier = MkSpecifier(DOUBLE);
4006 yyval.specifier = MkSpecifier(SIGNED);
4012 yyval.specifier = MkSpecifier(UNSIGNED);
4018 yyval.specifier = MkSpecifier(EXTENSION);
4024 yyval.specifier = MkSpecifier(_BOOL);
4030 yyval.specifier = MkSpecifier(BOOL);
4036 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
4042 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
4048 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
4049 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
4050 FreeIdentifier(yyvsp[(3) - (4)].id);
4056 yyval.specifier = MkSpecifier(THISCLASS);
4062 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4064 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4070 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
4076 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
4078 DeclClass(yyvsp[(2) - (4)].id->_class, yyvsp[(2) - (4)].id->string);
4084 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
4090 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4092 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4093 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4099 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
4100 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4102 DeclClass(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
4108 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
4109 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4115 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
4116 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4118 DeclClass(yyvsp[(3) - (5)].id->_class, yyvsp[(3) - (5)].id->string);
4124 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
4125 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
4131 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
4132 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4134 DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
4135 FreeSpecifier(yyvsp[(3) - (6)].specifier);
4141 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
4143 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4149 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4151 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4152 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4158 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
4159 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4161 DeclClass(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
4167 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
4168 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4170 DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
4171 FreeSpecifier(yyvsp[(3) - (3)].specifier);
4177 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4183 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4189 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4195 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4201 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
4207 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4208 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4209 yyval.templateArgument->loc = (yyloc);
4215 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4216 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4217 yyval.templateArgument->loc = (yyloc);
4223 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4224 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4226 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4229 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4231 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4232 yyval.templateArgument->loc = (yyloc);
4238 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4239 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4241 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4244 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4246 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4247 yyval.templateArgument->loc = (yyloc);
4253 yyval.list = MkList();
4254 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
4260 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
4266 yyval.specifierType = 3;
4272 yyval.specifierType = 4;
4278 yyval.list = MkList();
4279 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4285 yyval.list = yyvsp[(1) - (2)].list;
4286 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4292 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4293 yyval.memberInit->loc = (yyloc);
4294 yyval.memberInit->realLoc = (yyloc);
4300 yyval.list = MkList();
4301 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4302 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4308 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4309 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4310 yyval.list = yyvsp[(1) - (3)].list;
4316 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4317 yyval.prop->loc = (yyloc);
4323 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4324 yyval.prop->loc = (yyloc);
4330 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
4331 yyval.prop->loc = (yyloc);
4337 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
4338 yyval.prop->loc = (yyloc);
4344 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
4345 yyval.prop->loc = (yyloc);
4351 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
4352 yyval.prop->loc = (yyloc);
4358 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
4359 yyval.prop->loc = (yyloc);
4365 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
4366 yyval.prop->loc = (yyloc);
4372 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
4373 yyval.prop->loc = (yyloc);
4379 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
4380 yyval.prop->loc = (yyloc);
4386 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
4387 yyval.prop->loc = (yyloc);
4393 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
4394 yyval.prop->loc = (yyloc);
4400 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
4401 yyval.prop->loc = (yyloc);
4407 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
4408 yyval.prop->loc = (yyloc);
4414 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4415 yyval.prop->loc = (yyloc);
4421 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4422 yyval.prop->loc = (yyloc);
4428 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4429 yyval.prop->loc = (yyloc);
4435 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
4436 yyval.prop->loc = (yyloc);
4442 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
4443 yyval.prop->loc = (yyloc);
4449 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4450 yyval.prop->loc = (yyloc);
4456 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
4457 yyval.classDef->__anon1.decl->loc = (yyloc);
4458 yyval.classDef->loc = (yyloc);
4464 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
4465 yyval.classDef->__anon1.decl->loc = (yyloc);
4466 yyval.classDef->loc = (yyloc);
4472 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4473 yyval.classDef->loc = (yyloc);
4474 yyval.classDef->__anon1.decl->loc = (yyloc);
4480 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4481 yyval.classDef->loc = (yyloc);
4482 yyval.classDef->__anon1.decl->loc = (yyloc);
4488 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4489 yyval.classDef->loc = (yyloc);
4495 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4496 if((*yyvsp[(1) - (2)].list).last)
4497 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4498 yyval.classDef->loc = (yyloc);
4504 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4505 yyval.classDef->loc = (yyloc);
4511 yyval.classDef = (((void *)0));
4517 yyval.list = MkList();
4518 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
4524 yyval.list = yyvsp[(1) - (3)].list;
4525 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
4531 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
4532 yyval.declarator->loc = (yyloc);
4538 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
4539 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
4540 yyval.declarator->loc = (yyloc);
4546 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
4547 yyval.declarator->loc = (yyloc);
4553 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
4554 yyval.declarator->loc = (yyloc);
4560 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
4561 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
4562 yyval.declarator->loc = (yyloc);
4568 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
4570 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4576 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4578 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4579 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4585 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
4591 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4593 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4599 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
4600 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4602 DeclClass(yyvsp[(2) - (7)].id->_class, yyvsp[(2) - (7)].id->string);
4608 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
4609 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4611 DeclClass(yyvsp[(2) - (7)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
4612 FreeSpecifier(yyvsp[(2) - (7)].specifier);
4618 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4620 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4621 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4627 yyval.list = MkList();
4628 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
4634 yyval.list = yyvsp[(1) - (3)].list;
4635 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
4641 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
4647 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
4653 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4659 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
4665 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
4671 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
4677 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4683 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4689 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4695 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4701 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4707 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4713 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4719 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4725 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4731 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4737 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4743 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4749 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4755 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4761 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4767 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4773 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4779 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4785 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4791 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4797 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4803 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4809 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4815 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4821 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
4827 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
4833 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4839 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4845 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4851 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4857 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4863 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4869 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4875 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4881 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4887 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4893 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
4899 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4905 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4911 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4917 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4923 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4929 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4935 yyval.list = MkList();
4936 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
4942 yyval.list = yyvsp[(1) - (2)].list;
4943 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
4949 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
4955 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
4961 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
4967 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
4973 yyval.list = yyvsp[(1) - (3)].list;
4974 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
4980 yyval.list = MkList();
4981 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
4987 yyval.list = yyvsp[(1) - (3)].list;
4988 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
4994 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5000 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5006 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
5012 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
5018 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5024 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
5030 yyval.list = MkList();
5031 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
5037 yyval.list = yyvsp[(1) - (3)].list;
5038 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
5044 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5050 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5056 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5062 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5068 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5069 yyval.initializer->loc = (yyloc);
5075 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
5076 yyval.initializer->loc = (yyloc);
5082 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
5083 yyval.initializer->loc = (yyloc);
5085 struct Expression * exp = MkExpDummy();
5086 struct Initializer * init = MkInitializerAssignment(exp);
5088 init->loc = (yylsp[(3) - (4)]);
5089 exp->loc = (yylsp[(3) - (4)]);
5090 ListAdd(yyvsp[(2) - (4)].list, init);
5097 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5098 yyval.initializer->loc = (yyloc);
5104 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5105 yyval.initializer->loc = (yyloc);
5111 yyval.list = MkList();
5112 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
5118 yyval.list = yyvsp[(1) - (3)].list;
5119 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
5125 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
5126 yyval.stmt->loc = (yyloc);
5132 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
5133 yyval.stmt->loc = (yyloc);
5134 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
5140 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
5141 yyval.stmt->loc = (yyloc);
5147 yyval.list = MkList();
5148 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
5154 yyval.list = yyvsp[(1) - (2)].list;
5155 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
5161 yyval.list = MkList();
5162 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
5168 yyval.list = yyvsp[(1) - (2)].list;
5169 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
5175 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
5177 stmt->loc = (yylsp[(2) - (2)]);
5178 ListAdd(yyvsp[(1) - (2)].list, stmt);
5179 yyval.list = yyvsp[(1) - (2)].list;
5185 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
5191 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
5197 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
5203 yyval.context = PushContext();
5209 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
5210 yyval.stmt->__anon1.compound.context = PushContext();
5211 PopContext(yyval.stmt->__anon1.compound.context);
5212 yyval.stmt->loc = (yyloc);
5218 yyval.stmt = yyvsp[(2) - (3)].stmt;
5219 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
5220 PopContext(yyvsp[(1) - (3)].context);
5221 yyval.stmt->loc = (yyloc);
5227 yyval.stmt = MkExpressionStmt((((void *)0)));
5228 yyval.stmt->loc = (yyloc);
5234 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
5235 yyval.stmt->loc = (yyloc);
5241 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
5242 yyval.stmt->loc = (yyloc);
5248 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
5249 yyval.stmt->loc = (yyloc);
5255 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5256 yyval.stmt->loc = (yyloc);
5262 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5263 yyval.stmt->loc = (yyloc);
5269 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
5270 yyval.stmt->loc = (yyloc);
5276 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
5277 yyval.stmt->loc = (yyloc);
5283 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
5284 yyval.stmt->loc = (yyloc);
5290 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
5291 yyval.stmt->loc = (yyloc);
5297 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
5298 yyval.stmt->loc = (yyloc);
5304 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
5305 yyval.stmt->loc = (yyloc);
5311 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
5312 yyval.stmt->loc = (yyloc);
5318 yyval.stmt = MkContinueStmt();
5319 yyval.stmt->loc = (yyloc);
5325 yyval.stmt = MkBreakStmt();
5326 yyval.stmt->loc = (yyloc);
5332 struct Expression * exp = MkExpDummy();
5334 yyval.stmt = MkReturnStmt(MkListOne(exp));
5335 yyval.stmt->loc = (yyloc);
5336 exp->loc = (yylsp[(2) - (2)]);
5342 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
5343 yyval.stmt->loc = (yyloc);
5349 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
5355 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5356 yyval.instance->loc = (yyloc);
5357 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5358 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5359 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5365 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5366 yyval.instance->loc = (yyloc);
5367 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5368 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5369 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5375 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5376 yyval.instance->loc = (yyloc);
5377 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5378 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5379 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5385 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5386 yyval.instance->loc = (yyloc);
5387 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5388 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5389 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5395 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
5396 yyval.instance->loc = (yyloc);
5397 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5398 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5404 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
5405 yyval.instance->loc = (yyloc);
5406 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5407 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5413 struct Location tmpLoc = type_yylloc;
5415 type_yylloc = (yylsp[(1) - (4)]);
5416 type_yylloc = tmpLoc;
5417 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
5418 yyval.instance->loc = (yyloc);
5419 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5420 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5421 FreeIdentifier(yyvsp[(1) - (4)].id);
5427 struct Location tmpLoc = type_yylloc;
5429 type_yylloc = (yylsp[(1) - (3)]);
5430 type_yylloc = tmpLoc;
5431 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
5432 yyval.instance->loc = (yyloc);
5433 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5434 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5435 FreeIdentifier(yyvsp[(1) - (3)].id);
5441 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
5442 yyval.instance->loc = (yyloc);
5443 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
5444 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5450 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
5451 yyval.instance->loc = (yyloc);
5452 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
5453 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
5459 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5460 yyval.classFunction->loc = (yyloc);
5466 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5467 yyval.classFunction->loc = (yyloc);
5473 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
5474 yyval.classFunction->loc = (yyloc);
5480 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5481 yyval.classFunction->loc = (yyloc);
5487 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5488 yyval.classFunction->loc = (yyloc);
5494 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5495 yyval.classFunction->loc = (yyloc);
5501 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5502 yyval.classFunction->loc = (yyloc);
5508 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5509 yyval.classFunction->loc = (yyloc);
5515 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
5516 yyval.memberInit->loc = (yyloc);
5517 yyval.memberInit->realLoc = (yyloc);
5518 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
5524 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
5525 yyval.memberInit->loc = (yyloc);
5526 yyval.memberInit->realLoc = (yyloc);
5532 yyval.list = MkList();
5533 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
5539 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
5540 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
5541 yyval.list = yyvsp[(1) - (3)].list;
5547 if((*yyvsp[(1) - (2)].list).last)
5548 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
5549 yyval.list = yyvsp[(1) - (2)].list;
5555 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
5557 yyval.list = MkList();
5558 ListAdd(yyval.list, members);
5559 members->loc = (yylsp[(1) - (1)]);
5565 yyval.list = MkList();
5566 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
5567 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5573 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
5575 ListAdd(yyval.list, members);
5576 members->loc = (yylsp[(2) - (2)]);
5577 yyval.list = yyvsp[(1) - (2)].list;
5583 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
5584 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5585 yyval.list = yyvsp[(1) - (2)].list;
5591 struct MembersInit * members = MkMembersInitList(MkList());
5593 yyval.list = MkList();
5594 ListAdd(yyval.list, members);
5595 members->loc = (yylsp[(1) - (1)]);
5601 struct MembersInit * members = MkMembersInitList(MkList());
5603 ListAdd(yyval.list, members);
5604 members->loc = (yylsp[(2) - (2)]);
5605 yyval.list = yyvsp[(1) - (2)].list;
5611 yyval.list = MkList();
5612 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
5613 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5619 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
5620 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5626 parsedType = yyvsp[(1) - (1)].typeName;
5632 parsedType = yyvsp[(1) - (3)].typeName;
5633 parsedType->bitCount = yyvsp[(3) - (3)].exp;
5644 fprintf((bsl_stderr()), "%s ", "-> $$ =");
5645 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
5646 fprintf((bsl_stderr()), "\n");
5649 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5654 yy_stack_print((yyss), (yyssp));
5659 yystate = yypgoto[yyn - 146] + *yyssp;
5660 if(0 <= yystate && yystate <= 9339 && yycheck[yystate] == *yyssp)
5661 yystate = yytable[yystate];
5663 yystate = yydefgoto[yyn - 146];
5669 yyerror("syntax error");
5671 yyerror_range[0] = type_yylloc;
5672 if(yyerrstatus == 3)
5674 if(type_yychar <= 0)
5676 if(type_yychar == 0)
5681 yydestruct("Error: discarding", yytoken, &type_yylval, &type_yylloc);
5689 yyerror_range[0] = yylsp[1 - yylen];
5690 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5695 yy_stack_print((yyss), (yyssp));
5703 yyn = yypact[yystate];
5707 if(0 <= yyn && yyn <= 9339 && yycheck[yyn] == 1)
5716 yyerror_range[0] = *yylsp;
5717 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
5718 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
5723 yy_stack_print((yyss), (yyssp));
5726 *++yyvsp = type_yylval;
5727 yyerror_range[1] = type_yylloc;
5728 (yyloc.start = ((yyerror_range - 1))[1].start);
5729 (yyloc.end = ((yyerror_range - 1))[2].end);
5736 fprintf((bsl_stderr()), "%s ", "Shifting");
5737 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
5738 fprintf((bsl_stderr()), "\n");
5750 yyerror("memory exhausted");
5753 if(type_yychar != (-2))
5754 yydestruct("Cleanup: discarding lookahead", yytoken, &type_yylval, &type_yylloc);
5755 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5759 yy_stack_print((yyss), (yyssp));
5761 while(yyssp != yyss)
5763 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
5764 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));