e05e624896facd1cdb70e6b40ea6a91a1529d498
[sdk] / compiler / bootstrap / libec / bootstrap / type.c
1 /* Code generated from eC source file: type.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #      define ecere_gcc_struct __attribute__((gcc_struct))
42 #   else
43 #      define ecere_stdcall __stdcall
44 #      define ecere_gcc_struct
45 #   endif
46 #else
47 #   define ecere_stdcall
48 #   define ecere_gcc_struct
49 #endif
50 #include <stdint.h>
51 #include <sys/types.h>
52 enum yytokentype
53 {
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, LONG = 294, SIGNED = 295, UNSIGNED = 296, FLOAT = 297, DOUBLE = 298, CONST = 299, VOLATILE = 300, VOID = 301, VALIST = 302, STRUCT = 303, UNION = 304, ENUM = 305, ELLIPSIS = 306, CASE = 307, DEFAULT = 308, IF = 309, SWITCH = 310, WHILE = 311, DO = 312, FOR = 313, GOTO = 314, CONTINUE = 315, BREAK = 316, RETURN = 317, IFX = 318, ELSE = 319, CLASS = 320, THISCLASS = 321, CLASS_NAME = 322, PROPERTY = 323, SETPROP = 324, GETPROP = 325, NEWOP = 326, RENEW = 327, DELETE = 328, EXT_DECL = 329, EXT_STORAGE = 330, IMPORT = 331, DEFINE = 332, VIRTUAL = 333, ATTRIB = 334, PUBLIC = 335, PRIVATE = 336, TYPED_OBJECT = 337, ANY_OBJECT = 338, _INCREF = 339, EXTENSION = 340, ASM = 341, TYPEOF = 342, WATCH = 343, STOPWATCHING = 344, FIREWATCHERS = 345, WATCHABLE = 346, CLASS_DESIGNER = 347, CLASS_NO_EXPANSION = 348, CLASS_FIXED = 349, ISPROPSET = 350, CLASS_DEFAULT_PROPERTY = 351, PROPERTY_CATEGORY = 352, CLASS_DATA = 353, CLASS_PROPERTY = 354, SUBCLASS = 355, NAMESPACE = 356, NEW0OP = 357, RENEW0 = 358, VAARG = 359, DBTABLE = 360, DBFIELD = 361, DBINDEX = 362, DATABASE_OPEN = 363, ALIGNOF = 364, ATTRIB_DEP = 365, __ATTRIB = 366, BOOL = 367, _BOOL = 368, _COMPLEX = 369, _IMAGINARY = 370, RESTRICT = 371, THREAD = 372, WIDE_STRING_LITERAL = 373, BUILTIN_OFFSETOF = 374
55 };
56
57 extern unsigned int parseTypeError;
58
59 extern char * yytext;
60
61 int yylex();
62
63 int yyerror();
64
65 typedef unsigned char yytype_uint8;
66
67 typedef signed char yytype_int8;
68
69 typedef unsigned short int yytype_uint16;
70
71 typedef short int yytype_int16;
72
73 void * malloc(size_t);
74
75 void free(void *);
76
77 static const yytype_uint8 yytranslate[] =
78 {
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, 134, 2, 2, 126, 136, 131, 2, 123, 124, 120, 132, 130, 133, 127, 135, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 140, 142, 121, 141, 122, 139, 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, 128, 2, 129, 137, 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, 143, 138, 144, 125, 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
80 };
81
82 static const yytype_uint16 yyprhs[] =
83 {
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, 694, 699, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 751, 756, 761, 763, 769, 774, 779, 783, 789, 796, 802, 808, 813, 820, 823, 826, 830, 834, 836, 839, 841, 844, 846, 848, 850, 854, 858, 862, 866, 868, 872, 874, 876, 878, 881, 885, 887, 891, 901, 911, 919, 927, 933, 944, 955, 964, 973, 980, 989, 998, 1005, 1012, 1017, 1027, 1037, 1045, 1053, 1059, 1063, 1066, 1069, 1072, 1074, 1077, 1079, 1081, 1083, 1087, 1089, 1092, 1095, 1099, 1105, 1108, 1111, 1116, 1122, 1130, 1138, 1144, 1146, 1150, 1152, 1156, 1160, 1163, 1167, 1171, 1175, 1180, 1185, 1188, 1192, 1196, 1201, 1205, 1208, 1212, 1216, 1221, 1223, 1225, 1228, 1231, 1234, 1238, 1240, 1242, 1245, 1248, 1251, 1255, 1257, 1260, 1264, 1267, 1269, 1273, 1278, 1282, 1287, 1289, 1292, 1295, 1299, 1303, 1306, 1310, 1314, 1317, 1319, 1321, 1324, 1327, 1329, 1332, 1335, 1339, 1343, 1345, 1348, 1350, 1353, 1356, 1360, 1362, 1366, 1368, 1372, 1375, 1378, 1381, 1385, 1387, 1389, 1391, 1395, 1397, 1400, 1402, 1405, 1407, 1411, 1416, 1418, 1420, 1422, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1442, 1447, 1451, 1453, 1456, 1458, 1461, 1464, 1466, 1468, 1471, 1473, 1476, 1480, 1482, 1485, 1491, 1499, 1505, 1511, 1519, 1526, 1534, 1539, 1545, 1550, 1554, 1557, 1560, 1563, 1567, 1569, 1575, 1580, 1586, 1591, 1596, 1600, 1605, 1609, 1613, 1616, 1619, 1622, 1625, 1628, 1631, 1634, 1637, 1640, 1644, 1646, 1648, 1652, 1655, 1657, 1659, 1662, 1665, 1667, 1670, 1672, 1674, 1677, 1679
85 };
86
87 static const yytype_int16 yyrhs[] =
88 {
89 267, 0, -1, 155, 120, -1, 155, 121, -1, 155, 1, -1, 150, -1, 155, 155, -1, 28, -1, 149, -1, 149, 121, 208, 122, -1, 149, 121, 208, 11, -1, 185, 227, -1, 227, -1, 185, 123, 124, -1, 125, 185, 123, 124, -1, 78, 185, 227, -1, 78, 227, -1, 3, -1, 157, -1, 123, 179, 124, -1, 155, -1, 257, -1, 4, -1, 118, -1, 254, -1, 126, 254, -1, 126, 254, 127, 254, -1, 123, 124, -1, 71, 185, 224, 128, 180, 129, -1, 71, 185, 128, 180, 129, -1, 102, 185, 224, 128, 180, 129, -1, 102, 185, 128, 180, 129, -1, 72, 180, 188, 224, 128, 180, 129, -1, 72, 180, 188, 128, 180, 129, -1, 103, 180, 188, 224, 128, 180, 129, -1, 103, 180, 188, 128, 180, 129, -1, 1, -1, 156, -1, 158, 128, 179, 129, -1, 158, 123, 124, -1, 158, 123, 160, 124, -1, 158, 127, 155, -1, 158, 155, -1, 158, 7, 155, -1, 158, 8, -1, 158, 9, -1, 258, -1, 177, -1, 159, -1, 160, 130, 177, -1, 160, 130, 159, -1, 8, 162, -1, 9, 162, -1, 163, 164, -1, 6, 162, -1, 6, 123, 239, 124, -1, 109, 162, -1, 109, 123, 239, 124, -1, 161, -1, 158, -1, 131, -1, 120, -1, 132, -1, 133, -1, 125, -1, 134, -1, 73, -1, 162, -1, 123, 238, 124, 164, -1, 164, -1, 165, 120, 164, -1, 165, 135, 164, -1, 165, 136, 164, -1, 165, -1, 166, 132, 165, -1, 166, 133, 165, -1, 166, -1, 167, 10, 166, -1, 167, 11, 166, -1, 169, 121, -1, 167, -1, 168, 167, -1, 169, 122, 167, -1, 169, 12, 167, -1, 169, 13, 167, -1, 169, -1, 170, 14, 169, -1, 170, 15, 169, -1, 170, -1, 171, 131, 170, -1, 171, -1, 172, 137, 171, -1, 172, -1, 173, 138, 172, -1, 173, -1, 174, 16, 173, -1, 174, -1, 175, 17, 174, -1, 175, -1, 175, 139, 179, 140, 176, -1, 176, -1, 162, 178, 177, -1, 162, 178, 159, -1, 141, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 177, -1, 179, 130, 177, -1, 176, -1, 184, 142, -1, 184, 189, 142, -1, 255, 142, -1, 77, 155, 141, 180, 142, -1, 199, -1, 182, 199, -1, 200, -1, 182, 200, -1, 218, -1, 182, 218, -1, 202, -1, 182, 202, -1, 199, -1, 183, 199, -1, 200, -1, 183, 200, -1, 146, -1, 183, 146, -1, 218, -1, 183, 218, -1, 202, -1, 183, 202, -1, 191, -1, 184, 191, -1, 199, -1, 184, 199, -1, 200, -1, 184, 200, -1, 218, -1, 184, 218, -1, 202, -1, 184, 202, -1, 191, -1, 185, 191, -1, 199, -1, 185, 199, -1, 200, -1, 185, 200, -1, 146, -1, 185, 146, -1, 202, -1, 185, 202, -1, 218, -1, 185, 218, -1, 185, -1, 147, -1, 191, -1, 187, 191, -1, 199, -1, 187, 199, -1, 201, -1, 187, 201, -1, 155, -1, 187, 155, -1, 155, 121, 208, 122, -1, 187, 155, 121, 208, 122, -1, 191, -1, 188, 191, -1, 199, -1, 188, 199, -1, 201, -1, 188, 201, -1, 202, -1, 188, 202, -1, 218, -1, 188, 218, -1, 155, -1, 188, 155, -1, 155, 121, 208, 122, -1, 188, 155, 121, 208, 122, -1, 190, -1, 189, 130, 190, -1, 225, -1, 225, 141, 240, -1, 29, -1, 30, -1, 31, -1, 32, -1, 33, -1, 117, -1, 74, -1, 75, -1, 197, -1, 79, -1, 110, -1, 111, -1, 3, -1, 28, -1, 75, -1, 74, -1, 44, -1, 194, -1, 194, 123, 179, 124, -1, 195, -1, 196, 195, -1, 196, 130, 195, -1, 193, 123, 123, 196, 124, 124, -1, 193, 123, 123, 124, 124, -1, 192, -1, 44, -1, 45, -1, 198, -1, 46, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 47, -1, 39, -1, 42, -1, 43, -1, 40, -1, 41, -1, 85, -1, 113, -1, 112, -1, 203, -1, 217, -1, 148, -1, 87, 123, 177, 124, -1, 100, 123, 148, 124, -1, 100, 123, 155, 124, -1, 66, -1, 82, -1, 83, -1, 46, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 47, -1, 39, -1, 42, -1, 43, -1, 40, -1, 41, -1, 85, -1, 113, -1, 112, -1, 203, -1, 217, -1, 150, -1, 87, 123, 177, 124, -1, 100, 123, 148, 124, -1, 100, 123, 155, 124, -1, 66, -1, 209, 155, 143, 210, 144, -1, 209, 143, 210, 144, -1, 209, 155, 143, 144, -1, 209, 143, 144, -1, 209, 149, 143, 210, 144, -1, 209, 192, 155, 143, 210, 144, -1, 209, 192, 143, 210, 144, -1, 209, 192, 155, 143, 144, -1, 209, 192, 143, 144, -1, 209, 192, 150, 143, 210, 144, -1, 209, 155, -1, 209, 150, -1, 209, 192, 155, -1, 209, 192, 150, -1, 185, -1, 185, 223, -1, 185, -1, 185, 223, -1, 167, -1, 206, -1, 205, -1, 155, 141, 206, -1, 155, 141, 205, -1, 204, 141, 206, -1, 204, 141, 205, -1, 207, -1, 208, 130, 207, -1, 48, -1, 49, -1, 214, -1, 210, 214, -1, 158, 141, 241, -1, 211, -1, 212, 130, 211, -1, 68, 187, 155, 143, 69, 249, 70, 249, 144, -1, 68, 187, 155, 143, 70, 249, 69, 249, 144, -1, 68, 187, 155, 143, 69, 249, 144, -1, 68, 187, 155, 143, 70, 249, 144, -1, 68, 187, 155, 143, 144, -1, 68, 187, 223, 155, 143, 69, 249, 70, 249, 144, -1, 68, 187, 223, 155, 143, 70, 249, 69, 249, 144, -1, 68, 187, 223, 155, 143, 69, 249, 144, -1, 68, 187, 223, 155, 143, 70, 249, 144, -1, 68, 187, 223, 155, 143, 144, -1, 68, 187, 143, 69, 249, 70, 249, 144, -1, 68, 187, 143, 70, 249, 69, 249, 144, -1, 68, 187, 143, 69, 249, 144, -1, 68, 187, 143, 70, 249, 144, -1, 68, 187, 143, 144, -1, 68, 187, 223, 143, 69, 249, 70, 249, 144, -1, 68, 187, 223, 143, 70, 249, 69, 249, 144, -1, 68, 187, 223, 143, 69, 249, 144, -1, 68, 187, 223, 143, 70, 249, 144, -1, 68, 187, 223, 143, 144, -1, 185, 215, 142, -1, 185, 142, -1, 257, 142, -1, 256, 142, -1, 259, -1, 212, 142, -1, 213, -1, 142, -1, 216, -1, 215, 130, 216, -1, 231, -1, 231, 197, -1, 140, 180, -1, 231, 140, 180, -1, 231, 140, 180, 140, 180, -1, 50, 155, -1, 50, 150, -1, 50, 143, 219, 144, -1, 50, 155, 143, 219, 144, -1, 50, 155, 143, 219, 142, 210, 144, -1, 50, 150, 143, 219, 142, 210, 144, -1, 50, 150, 143, 219, 144, -1, 220, -1, 219, 130, 220, -1, 155, -1, 155, 141, 180, -1, 123, 223, 124, -1, 128, 129, -1, 128, 180, 129, -1, 128, 148, 129, -1, 221, 128, 129, -1, 221, 128, 180, 129, -1, 221, 128, 148, 129, -1, 123, 124, -1, 123, 234, 124, -1, 221, 123, 124, -1, 221, 123, 234, 124, -1, 123, 224, 124, -1, 123, 124, -1, 123, 234, 124, -1, 222, 123, 124, -1, 222, 123, 234, 124, -1, 233, -1, 221, -1, 233, 221, -1, 192, 233, -1, 192, 221, -1, 192, 233, 221, -1, 233, -1, 222, -1, 233, 222, -1, 192, 233, -1, 192, 222, -1, 192, 233, 222, -1, 230, -1, 233, 230, -1, 192, 233, 230, -1, 225, 192, -1, 155, -1, 123, 225, 124, -1, 226, 128, 180, 129, -1, 226, 128, 129, -1, 226, 128, 148, 129, -1, 229, -1, 233, 229, -1, 192, 229, -1, 192, 233, 229, -1, 233, 192, 229, -1, 226, 123, -1, 228, 234, 124, -1, 228, 237, 124, -1, 228, 124, -1, 229, -1, 226, -1, 192, 229, -1, 192, 226, -1, 226, -1, 233, 226, -1, 192, 226, -1, 192, 233, 226, -1, 233, 192, 226, -1, 199, -1, 232, 199, -1, 120, -1, 120, 232, -1, 120, 233, -1, 120, 232, 233, -1, 235, -1, 235, 130, 51, -1, 236, -1, 235, 130, 236, -1, 185, 225, -1, 185, 223, -1, 185, 131, -1, 185, 131, 225, -1, 186, -1, 65, -1, 155, -1, 237, 130, 155, -1, 182, -1, 182, 223, -1, 183, -1, 183, 223, -1, 177, -1, 143, 242, 144, -1, 143, 242, 130, 144, -1, 176, -1, 159, -1, 240, -1, 242, 130, 240, -1, 244, -1, 249, -1, 250, -1, 251, -1, 252, -1, 253, -1, 155, 140, 243, -1, 52, 180, 140, 243, -1, 53, 140, 243, -1, 181, -1, 245, 181, -1, 243, -1, 246, 243, -1, 246, 181, -1, 246, -1, 245, -1, 245, 246, -1, 143, -1, 143, 144, -1, 248, 247, 144, -1, 142, -1, 179, 142, -1, 54, 123, 179, 124, 243, -1, 54, 123, 179, 124, 243, 64, 243, -1, 55, 123, 179, 124, 243, -1, 56, 123, 179, 124, 243, -1, 57, 243, 56, 123, 179, 124, 142, -1, 58, 123, 250, 250, 124, 243, -1, 58, 123, 250, 250, 179, 124, 243, -1, 56, 123, 124, 243, -1, 58, 123, 250, 124, 243, -1, 58, 123, 124, 243, -1, 59, 155, 142, -1, 60, 142, -1, 61, 142, -1, 62, 142, -1, 62, 179, 142, -1, 5, -1, 184, 155, 143, 266, 144, -1, 184, 155, 143, 144, -1, 185, 155, 143, 266, 144, -1, 185, 155, 143, 144, -1, 148, 143, 266, 144, -1, 148, 143, 144, -1, 155, 143, 266, 144, -1, 155, 143, 144, -1, 143, 266, 144, -1, 143, 144, -1, 151, 249, -1, 154, 249, -1, 154, 142, -1, 152, 249, -1, 153, 249, -1, 184, 227, -1, 184, 231, -1, 260, 249, -1, 158, 141, 241, -1, 241, -1, 262, -1, 263, 130, 262, -1, 263, 142, -1, 264, -1, 261, -1, 265, 264, -1, 265, 261, -1, 142, -1, 265, 142, -1, 265, -1, 263, -1, 265, 263, -1, 236, -1, 236, 140, 180, -1
90 };
91
92 static const yytype_uint16 yyrline[] =
93 {
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, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 860, 861, 862, 863, 864, 867, 868, 869, 870, 871, 876, 877, 880, 882, 887, 888, 893, 894, 905, 909, 911, 912, 914, 915, 939, 954, 955, 959, 960, 964, 965, 969, 973, 974, 978, 980, 982, 984, 986, 989, 991, 993, 995, 997, 1000, 1002, 1004, 1006, 1008, 1011, 1013, 1015, 1017, 1019, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1035, 1037, 1042, 1044, 1046, 1048, 1050, 1055, 1056, 1060, 1062, 1063, 1064, 1065, 1069, 1071, 1076, 1078, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1109, 1111, 1113, 1115, 1117, 1122, 1123, 1124, 1125, 1126, 1127, 1131, 1132, 1133, 1134, 1135, 1136, 1182, 1183, 1185, 1187, 1192, 1194, 1196, 1198, 1200, 1205, 1206, 1209, 1211, 1213, 1219, 1223, 1225, 1227, 1232, 1233, 1234, 1236, 1241, 1242, 1243, 1244, 1245, 1249, 1250, 1254, 1255, 1256, 1257, 1261, 1262, 1266, 1267, 1271, 1272, 1273, 1274, 1275, 1286, 1311, 1312, 1316, 1317, 1321, 1322, 1326, 1328, 1330, 1346, 1348, 1370, 1372, 1377, 1378, 1379, 1380, 1381, 1382, 1386, 1388, 1390, 1395, 1396, 1400, 1401, 1404, 1408, 1409, 1410, 1414, 1418, 1426, 1431, 1432, 1436, 1437, 1438, 1442, 1443, 1444, 1445, 1447, 1448, 1449, 1453, 1454, 1455, 1456, 1457, 1461, 1465, 1467, 1472, 1474, 1499, 1501, 1503, 1505, 1510, 1512, 1516, 1518, 1520, 1522, 1524, 1530, 1532, 1537, 1542, 1543, 1547, 1549, 1554, 1559, 1560, 1561, 1562, 1563, 1564, 1568, 1569, 1570, 1574, 1575
95 };
96
97 static const char * const yytname[] =
98 {
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", "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
100 };
101
102 static const yytype_uint16 yyr1[] =
103 {
104 0, 145, 146, 146, 147, 148, 148, 149, 150, 150, 150, 151, 151, 152, 153, 154, 154, 155, 156, 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 162, 162, 163, 163, 163, 163, 163, 163, 163, 164, 164, 165, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 169, 169, 169, 169, 169, 170, 170, 170, 171, 171, 172, 172, 173, 173, 174, 174, 175, 175, 176, 176, 177, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 180, 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, 182, 183, 183, 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, 185, 185, 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, 190, 190, 191, 191, 191, 191, 191, 191, 192, 192, 192, 193, 193, 193, 194, 194, 194, 194, 194, 195, 195, 196, 196, 196, 197, 197, 198, 199, 199, 199, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 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, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 203, 203, 203, 203, 204, 204, 205, 205, 206, 207, 207, 207, 207, 207, 207, 208, 208, 209, 209, 210, 210, 211, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 215, 215, 216, 216, 216, 216, 216, 217, 217, 218, 218, 218, 218, 218, 219, 219, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, 222, 223, 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 228, 229, 229, 229, 230, 230, 230, 230, 231, 231, 231, 231, 231, 232, 232, 233, 233, 233, 233, 234, 234, 235, 235, 236, 236, 236, 236, 236, 236, 237, 237, 238, 238, 239, 239, 240, 240, 240, 241, 241, 242, 242, 243, 243, 243, 243, 243, 243, 244, 244, 244, 245, 245, 246, 246, 246, 247, 247, 247, 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 254, 255, 255, 256, 256, 257, 257, 257, 257, 258, 258, 259, 259, 259, 259, 259, 260, 260, 261, 262, 262, 263, 263, 264, 265, 265, 265, 265, 265, 265, 266, 266, 266, 267, 267
105 };
106
107 static const yytype_uint8 yyr2[] =
108 {
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, 4, 4, 4, 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
110 };
111
112 static const yytype_uint16 yydefact[] =
113 {
114 0, 17, 7, 191, 192, 193, 194, 195, 220, 221, 222, 223, 224, 226, 229, 230, 227, 228, 216, 217, 219, 225, 292, 293, 0, 415, 240, 197, 198, 200, 241, 242, 231, 0, 0, 201, 202, 233, 232, 196, 155, 162, 236, 8, 5, 0, 161, 414, 149, 215, 0, 199, 218, 151, 153, 157, 234, 0, 235, 159, 499, 0, 0, 335, 334, 0, 0, 0, 4, 2, 3, 6, 402, 0, 0, 412, 156, 377, 150, 215, 152, 154, 158, 160, 362, 411, 410, 392, 0, 391, 373, 361, 0, 0, 8, 276, 275, 0, 0, 1, 343, 0, 341, 0, 0, 36, 22, 466, 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, 236, 20, 67, 283, 281, 0, 285, 284, 290, 0, 400, 403, 404, 352, 0, 0, 0, 0, 406, 408, 346, 0, 116, 0, 0, 377, 0, 413, 0, 365, 394, 393, 364, 0, 0, 376, 387, 0, 390, 0, 0, 0, 0, 363, 374, 0, 0, 0, 0, 0, 326, 268, 0, 0, 0, 0, 20, 0, 0, 215, 0, 297, 0, 325, 294, 0, 12, 382, 0, 0, 21, 323, 0, 0, 0, 278, 277, 500, 0, 0, 336, 0, 0, 0, 54, 0, 51, 52, 0, 0, 0, 0, 0, 0, 56, 27, 114, 0, 418, 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, 237, 238, 239, 0, 0, 215, 282, 361, 0, 10, 9, 0, 401, 405, 345, 378, 353, 0, 348, 347, 0, 366, 375, 354, 0, 349, 0, 0, 380, 0, 0, 388, 389, 0, 203, 204, 207, 206, 205, 0, 208, 210, 0, 244, 245, 246, 247, 248, 250, 253, 254, 251, 252, 243, 249, 0, 264, 255, 0, 0, 257, 256, 260, 169, 0, 163, 165, 167, 258, 0, 259, 0, 16, 61, 0, 20, 0, 446, 0, 477, 480, 481, 479, 478, 0, 0, 0, 320, 377, 215, 0, 327, 395, 11, 329, 0, 384, 0, 266, 295, 0, 324, 0, 383, 322, 321, 0, 267, 0, 273, 0, 0, 0, 344, 342, 0, 340, 0, 337, 133, 20, 420, 129, 131, 137, 135, 0, 0, 0, 215, 368, 0, 367, 183, 0, 173, 175, 177, 179, 181, 0, 0, 0, 0, 19, 0, 0, 122, 124, 128, 126, 419, 0, 0, 494, 0, 472, 59, 426, 425, 0, 139, 141, 143, 147, 145, 486, 46, 0, 491, 487, 497, 490, 0, 0, 474, 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, 281, 287, 286, 364, 289, 288, 291, 407, 409, 355, 351, 350, 381, 379, 417, 214, 0, 0, 0, 211, 335, 334, 0, 0, 0, 0, 170, 164, 166, 168, 0, 275, 0, 15, 215, 0, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 20, 0, 438, 0, 440, 429, 0, 0, 0, 430, 431, 432, 433, 434, 0, 296, 13, 331, 0, 397, 0, 0, 319, 0, 330, 0, 396, 385, 298, 386, 269, 265, 271, 0, 272, 0, 0, 0, 134, 130, 132, 138, 136, 421, 55, 357, 0, 0, 0, 371, 370, 0, 0, 369, 0, 0, 184, 174, 176, 178, 180, 182, 0, 0, 0, 0, 0, 57, 115, 68, 26, 476, 0, 0, 377, 140, 142, 144, 148, 146, 482, 483, 484, 0, 489, 495, 493, 498, 492, 471, 473, 40, 0, 38, 0, 282, 0, 213, 212, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 278, 277, 14, 0, 0, 0, 0, 0, 0, 0, 0, 462, 463, 464, 0, 0, 0, 450, 117, 377, 0, 187, 189, 439, 0, 442, 441, 448, 119, 470, 0, 398, 0, 328, 395, 0, 332, 399, 274, 270, 339, 338, 356, 358, 29, 372, 359, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 475, 485, 488, 50, 49, 99, 209, 261, 262, 263, 171, 0, 0, 0, 0, 0, 303, 0, 0, 318, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 461, 465, 0, 435, 0, 0, 118, 0, 469, 397, 0, 0, 396, 0, 360, 28, 185, 33, 0, 0, 30, 35, 0, 0, 311, 0, 312, 172, 0, 0, 0, 0, 0, 0, 308, 436, 0, 0, 458, 0, 0, 460, 0, 0, 0, 468, 0, 188, 0, 422, 190, 398, 399, 333, 186, 32, 34, 0, 0, 0, 301, 0, 302, 0, 316, 0, 317, 0, 0, 451, 453, 454, 0, 459, 0, 0, 120, 467, 427, 0, 309, 310, 0, 0, 0, 0, 0, 306, 0, 307, 0, 0, 456, 0, 0, 423, 299, 300, 314, 315, 0, 0, 452, 455, 457, 424, 428, 304, 305
115 };
116
117 static const yytype_int16 yydefgoto[] =
118 {
119 -1, 40, 41, 126, 43, 44, 204, 205, 206, 207, 127, 128, 129, 130, 457, 479, 131, 154, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 248, 277, 554, 175, 688, 250, 420, 459, 210, 47, 363, 433, 683, 684, 48, 49, 50, 339, 340, 341, 51, 52, 53, 54, 436, 55, 56, 157, 158, 159, 160, 161, 57, 212, 213, 214, 215, 216, 389, 390, 58, 59, 101, 102, 84, 429, 167, 430, 168, 217, 218, 88, 219, 90, 393, 163, 220, 169, 170, 171, 193, 255, 425, 800, 465, 829, 557, 558, 559, 560, 561, 377, 562, 563, 564, 565, 566, 148, 567, 221, 149, 466, 223, 467, 468, 469, 470, 471, 472, 473, 61
120 };
121
122 static const yytype_int16 yypact[] =
123 {
124 8916, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, 27, -761, -761, -761, -761, -761, -761, -761, -761, -84, -40, -761, -761, -761, -761, -761, -761, -761, -761, -36, -761, 303, 7335, -761, -761, -761, -14, -761, -761, -761, -761, -761, -761, 563, -761, -761, 24, 129, 122, 75, 119, 7048, 78, 6284, -761, -761, -761, -761, 1002, 7439, 6695, 748, -761, 102, -761, 258, -761, -761, -761, -761, 106, -761, 781, 340, 8340, -761, -761, 654, 199, 3565, -69, -761, 192, 28, 7048, -761, 215, 116, -761, 122, 122, -761, -761, -761, 7088, 7195, 7195, 9006, 7048, -761, 9006, 7048, 7228, -761, -761, 6418, -761, 360, -761, -761, -761, -761, 239, 34, -761, -761, 574, -761, 921, 7048, -761, -66, 406, 531, 7048, 95, 534, 262, 269, 253, 399, 2, -761, 347, -761, -761, 349, 26, 239, 17, -761, 531, 6163, 276, -761, -761, -761, 144, -761, 1002, -761, -761, 773, 351, 660, 364, 302, -761, -761, 152, -761, 310, 748, -761, 131, 781, 609, 106, 340, -761, 654, 8438, 6728, -761, -761, 6835, -761, 218, 375, 164, 19, 106, -761, 15, 9096, 8634, 6639, 9006, -761, -761, 309, 309, 309, 412, 137, 475, 5933, 131, 3691, -761, -32, -761, -761, 340, -761, -761, 609, 322, 371, -761, 5538, 3817, 3943, 359, 382, -761, 7048, 122, -761, -62, 169, 6418, -761, 6868, -761, -761, 102, 7641, 9186, 7742, 9186, 6418, -761, -761, -761, 196, 8141, -761, -761, -761, -761, 405, 407, 2711, 2855, 122, -761, -761, 5255, 122, 7048, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, 5297, -761, 7048, 7048, 7048, 7048, 7048, 7048, 7048, 531, 7048, 7048, -761, 7048, 7048, 7048, 7048, 7048, 7048, 7048, 7048, 7048, -761, -761, -761, 6284, 7540, 320, 391, 362, 6284, -761, -761, 6284, -761, -761, -761, -761, -761, 8826, -761, -761, 609, 106, -761, -761, 419, -761, 233, 417, -761, 237, 423, -761, -761, 122, -761, -761, -761, -761, -761, 426, 413, -761, 325, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, 78, -761, -761, 434, 444, -761, -761, -761, 451, 5817, -761, -761, -761, -761, 922, -761, 8634, -761, 1002, 6552, 38, 8730, 456, 5077, -761, -761, -761, -761, -761, 5297, 706, 7048, -761, 158, 131, 123, -761, 340, -761, -39, 609, -761, 19, -761, -761, 933, -761, 19, -761, -761, -761, 4069, -761, 4195, -761, 4321, 5538, 4447, -761, -761, 5538, -761, 5538, -761, -761, 137, 8141, -761, -761, -761, -761, 452, 8242, 7048, 45, 483, 480, 486, 489, 7944, -761, -761, -761, -761, -761, 7048, 490, 8045, 493, -761, 7048, 122, -761, -761, -761, -761, -761, 7048, 360, -761, 2999, -761, 562, -761, -761, 8634, -761, -761, -761, -761, -761, -761, -761, 309, -761, -761, 203, -761, 3143, 470, -761, 476, -761, -761, -761, 327, -761, -761, 432, -761, -761, -761, -761, -761, -66, -66, 406, 406, 531, 531, 531, 95, 95, 534, 262, 269, 253, 399, 307, 7843, -761, -761, 362, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, 7048, 495, 315, -761, -761, -761, 7048, 78, 6284, -9, -56, -761, -761, -761, 46, -761, 78, -761, 131, 498, -761, 7048, 484, 500, 503, 506, 5220, 507, 122, 492, 494, 5701, 122, -761, 39, 230, -761, 6048, -761, -761, 2279, 2423, 497, -761, -761, -761, -761, -761, 501, -761, -761, -761, 3287, 340, 19, 722, -761, 7048, -761, 19, 340, -761, -761, -761, -761, -761, -761, 4573, -761, 4699, 4825, 4951, -761, -761, -761, -761, -761, -761, -761, -761, 511, 522, 518, 483, 486, 8536, 7048, 483, 6284, 7048, 527, -761, -761, -761, -761, -761, 523, 521, 7048, 7048, 525, -761, -761, -761, -761, -761, 512, 5297, 122, -761, -761, -761, -761, -761, -761, -761, -761, 5297, -761, -761, -761, 203, -761, -761, -761, -761, 5297, -761, 7048, -761, 342, -761, -761, 539, 542, 33, 170, 309, 309, -761, 6284, 227, 254, 526, -761, -761, -761, 528, 5220, 7048, 7048, 6908, 614, 5594, 529, -761, -761, -761, 283, 536, 5220, -761, -761, 60, 300, -761, 570, -761, 2567, -761, -761, -761, -761, -761, 547, 340, 131, -761, 544, 609, 535, 340, -761, -761, -761, -761, -761, -761, -761, 483, -761, 554, 564, 324, 571, 6284, 7048, -761, 575, 576, 7048, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, 8, -11, 328, 309, 309, -761, 309, 309, -761, 277, 5220, -761, 356, 363, 5220, 368, 592, 5220, 5667, -761, -761, 7048, -761, 3431, 748, -761, 5404, -761, 544, 19, 19, 544, 7048, -761, -761, -761, -761, 339, 587, -761, -761, 589, 309, -761, 309, -761, -761, 49, 23, 93, 62, 309, 309, -761, -761, 5220, 5220, -761, 5220, 7048, -761, 5220, 7015, 557, -761, 577, -761, 5404, -761, -761, 544, 544, -761, -761, -761, -761, 578, 579, 309, -761, 309, -761, 309, -761, 309, -761, 125, 161, 672, -761, -761, 387, -761, 5220, 392, -761, -761, -761, 278, -761, -761, 580, 598, 599, 600, 309, -761, 309, -761, 5220, 604, -761, 5220, 1997, -761, -761, -761, -761, -761, 606, 610, -761, -761, -761, -761, -761, -761, -761
125 };
126
127 static const yytype_int16 yypgoto[] =
128 {
129 -761, 193, -761, 664, 696, 29, -761, -761, -761, -761, 0, -761, -761, 1461, -260, -761, -761, 167, -761, -107, 297, 308, -20, -761, 293, 463, 464, 468, 472, 469, -761, 1542, -49, -761, 260, -87, -363, -761, -761, -372, 48, -761, -761, 546, -761, 14, 1452, 927, -761, -761, -307, -761, 379, -761, 1302, 1532, -177, 1156, -148, -761, 213, 221, 478, -512, -188, -102, 374, -761, -761, 72, -761, 217, -6, 1194, 491, 567, -15, -396, -2, -236, -42, 421, -187, -761, 1083, -64, 334, -761, 1146, -85, -761, 1, -761, -761, 555, -760, -374, -761, 80, -761, -761, 240, -761, -761, 1157, -621, -761, -761, -761, -115, -761, -761, -80, -761, -761, -761, 330, 168, 331, 335, -761, -250, -761
130 };
131
132 static const yytype_int16 yytable[] =
133 {
134 45, 60, 478, 192, 86, 556, 256, 440, 475, 568, 368, 229, 371, 222, 555, 655, 147, 483, 333, 297, 1, 366, 1, 392, 64, 242, 278, 196, 244, 1, 1, 1, 602, 179, 522, 606, 1, 1, 828, 65, 29, 1, 1, 334, 85, 71, 77, 155, 46, 1, 367, 749, 67, 63, 279, 2, 2, 96, 775, 335, 656, 657, 100, 1, 181, 659, 151, 153, 231, 280, 281, 35, 36, 166, 224, 177, 195, 71, 773, 177, 414, 1, 415, 66, 856, 67, 95, 660, 191, 336, 337, 177, 811, 208, 367, 712, 367, 228, 399, 326, 323, 576, 329, 100, 100, 1, 2, 287, 288, 92, 400, 240, -377, -377, 240, 156, 196, -377, 286, 809, 321, 46, 405, 407, 409, 1, 227, 71, 793, 99, 265, 815, 222, 776, 1, 658, 46, 69, 70, 338, 1, 298, 176, 412, 222, 222, 222, 733, -377, -377, 301, 71, 774, 71, 305, 308, 240, 729, 302, 241, 258, 1, 243, 813, 98, 72, 71, 812, 426, 320, 62, 226, 485, 486, 487, 368, 177, 258, 177, 679, 177, 258, 258, 536, 177, 45, 532, 556, 556, 661, 599, 71, 369, 810, 177, 836, 686, 615, 362, 77, 374, 240, 768, 754, 625, 619, 816, 708, 71, 265, 387, 177, 208, 480, 651, 367, 289, 290, 103, 68, 177, 1, 69, 70, 208, 208, 208, 361, 484, 185, 838, 100, 132, 46, 186, 419, 369, 814, 369, 76, 71, 240, 432, 240, 432, 419, 231, 370, 450, 375, 445, 72, 721, 574, 176, 321, 612, 69, 70, 476, 232, 1, 104, 481, 612, 575, 309, 492, 493, 837, 494, 361, 633, 361, 310, 236, 238, 239, 69, 70, 258, 317, 155, 246, 398, 367, 132, 155, 331, 181, 155, 195, 730, 367, 332, 257, 734, 735, 570, 231, 310, 571, 419, 45, 68, 839, 1, 419, 586, 588, 153, 416, 589, 417, 590, 556, 45, 511, 333, 177, 443, 693, 197, 737, 738, 222, 444, 222, 333, 222, 222, 222, 517, 636, 222, 225, 222, 623, 69, 70, 601, 600, -416, 334, 622, 637, 782, 783, -416, 76, 503, 46, 616, 334, 524, 503, 230, 369, 156, 335, 444, 533, 513, 529, 46, 107, 515, 132, 534, 335, 77, 736, 680, 374, 71, 240, 257, 553, 72, 249, 257, 73, 257, 523, 177, 723, 74, 71, 177, 336, 337, 295, 361, 293, 177, 621, 177, 95, 739, 336, 337, 177, 132, 76, 132, 208, 294, 208, 844, 208, 208, 208, 132, 444, 208, 296, 208, 307, 596, 71, 240, 784, 845, 69, 70, 751, 45, 369, 418, 132, 755, 132, 316, 609, 76, 369, 76, 444, 418, 318, 72, 609, 756, 303, 132, 71, 766, 647, 74, 520, 777, 644, 376, 666, 310, 521, 265, 645, 310, 627, 249, 804, 361, 188, 403, 132, 726, 87, 189, 310, 361, 299, 444, 300, 46, 313, 652, 398, 1, 398, 786, 398, 259, 260, 261, 303, 444, 787, 315, 699, 74, 320, 789, 444, 87, 249, 87, 249, 444, 330, 182, 648, 410, 240, 796, 249, 222, 155, 222, 222, 222, 841, 87, 404, 685, 504, 843, 444, 711, 710, 507, 713, 444, 505, 482, 411, 654, 153, 508, 451, 717, 718, -280, 662, 452, 664, 519, 177, 282, 283, 132, 284, 285, 512, 132, 553, 514, 673, 291, 292, 518, 678, 516, 71, 381, 376, 682, 525, 502, 553, 553, 646, 444, 76, 663, 1, 1, 526, 76, 259, 260, 261, 527, 177, 177, 156, 597, 1, 177, 488, 489, 259, 260, 261, 495, 496, 208, 155, 208, 208, 208, 2, 490, 491, 233, 234, 724, 87, 262, 182, 539, 87, 263, 264, 45, 87, 604, 153, 605, 426, 607, 132, 1, 591, 642, 182, 383, 620, 617, 650, 643, 87, 665, 668, 667, 671, 669, 71, 769, 670, 672, 391, 772, 249, 674, 705, 675, 27, 28, 155, 689, 690, 29, 691, 27, 28, 706, 707, 714, 29, 716, 715, 46, 719, 71, 156, 720, 1, 398, 153, 398, 398, 398, 727, 42, 794, 728, 553, 741, 740, 747, 750, 189, 35, 36, 763, 803, 752, 764, 553, 35, 36, 71, 27, 28, 262, 132, 553, 29, 263, 264, 758, 132, 765, 155, 177, 76, 262, 177, 826, 767, 263, 264, 626, 770, 771, 93, 156, 799, 1, 42, 757, 132, 685, 153, 790, 805, 132, 806, 35, 36, 827, 830, 831, 846, 1, 132, 132, 27, 28, 150, 152, 176, 29, 27, 28, 840, 42, 173, 29, 87, 553, 847, 848, 849, 553, 853, 742, 553, 799, 857, 1, 42, 94, 858, 177, 497, 152, 498, 753, 177, 177, 156, 499, 35, 36, 501, 689, 500, 797, 35, 36, 577, 581, 68, 42, 1, 73, 42, 649, 27, 28, 74, 152, 314, 29, 553, 553, 509, 553, 441, 696, 553, 634, 87, 799, 27, 28, 413, 687, 442, 29, 639, 640, 722, 87, 0, 641, 0, 572, 677, 0, 132, 0, 0, 579, 35, 36, 0, 0, 42, 785, 27, 28, 553, 788, 72, 29, 791, 176, 569, 0, 35, 36, 132, 132, 132, 132, 0, 132, 553, 0, 72, 553, 0, 176, 132, -377, -377, 42, 325, 0, -377, 328, 132, 27, 28, 0, 35, 36, 29, 0, 385, 42, 0, 42, 819, 820, 72, 821, 0, 176, 823, 0, 42, 0, 152, 0, 0, 0, 391, 0, 0, -377, -377, 0, 0, 0, 152, 152, 152, 35, 36, 69, 70, 0, -377, -377, 0, 152, 0, -377, 0, 0, 842, 42, 0, 42, 132, 152, 0, 0, 132, 0, 42, 132, 132, 0, 0, 0, 852, 152, 152, 854, 132, 1, 0, 0, 743, 744, 746, 0, 0, 0, 105, 0, 1, 106, 107, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 0, 2, 0, 0, 132, 132, 0, 132, 132, 182, 132, 132, 2, 0, 0, 0, 132, 152, 42, 0, 0, 0, 152, 0, 79, 152, 0, 0, 87, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 132, 0, 0, 694, 697, 27, 28, 0, 700, 79, 29, 178, 0, 111, 112, 0, 132, 0, 0, 132, 132, 0, 187, 0, 0, 0, 0, 194, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 42, 114, 115, 152, 0, 42, 0, 152, 0, 0, 0, 0, 18, 19, 0, 0, 822, 117, 0, 825, 0, 0, 237, 0, 0, 121, 0, 0, 276, 0, 0, 0, 0, 0, 0, 152, 0, 152, 0, 152, 152, 152, 27, 28, 152, 0, 152, 29, 0, 304, 42, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 187, 194, 0, 0, 0, 194, 35, 36, 0, 0, 759, 0, 152, 762, 0, 0, 72, 42, 0, 0, 211, 178, 0, 89, 0, 0, 0, 0, 0, 0, 152, 388, 0, 211, 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 211, 211, 211, 0, 0, 89, 0, 89, 0, 0, 0, 183, 0, 0, 0, 0, 42, 428, 0, 428, 0, 0, 0, 89, 0, 87, 304, 0, 0, 0, 801, 802, 0, 0, 0, 0, 0, 0, 0, 653, 152, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 91, 42, 180, 0, 152, 152, 184, 0, 0, 0, 0, 304, 0, 0, 0, 0, 152, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 194, 0, 0, 0, 152, 0, 152, 152, 152, 0, 0, 0, 0, 89, 0, 183, 0, 89, 0, 0, 0, 89, 42, 0, 0, 152, 0, 0, 0, 253, 0, 183, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 395, 535, 0, 211, 0, 0, 537, 0, 306, 402, 0, 0, 0, 0, 0, 312, 0, 178, 82, 254, 0, 0, 0, 0, 0, 0, 0, 578, 180, 152, 319, 0, 0, 0, 0, 0, 0, 0, 211, 0, 211, 0, 211, 211, 211, 0, 0, 211, 0, 211, 0, 0, 180, 304, 80, 0, 83, 152, 0, 428, 0, 0, 394, 396, 0, 0, 428, 378, 379, 380, 382, 0, 82, 0, 428, 0, 0, 0, 0, 0, 162, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 388, 431, 0, 431, 0, 423, 0, 0, 0, 0, 306, 82, 437, 82, 437, 423, 89, 0, 83, 0, 448, 0, 0, 0, 0, 0, 0, 463, 463, 0, 0, 0, 152, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 424, 304, 0, 0, 0, 0, 83, 438, 83, 438, 424, 0, 0, 0, 0, 449, 0, 0, 0, 0, 306, 506, 464, 464, 0, 0, 0, 89, 0, 80, 0, 0, 0, 0, 0, 0, 311, 0, 89, 0, 0, 0, 395, 0, 0, 0, 0, 0, 402, 0, 580, 0, 0, 0, 537, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 365, 695, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 80, 211, 0, 211, 211, 211, 164, 180, 0, 0, 0, 0, 0, 0, 82, 0, 0, 253, 180, 82, 0, 463, 573, 0, 0, 421, 0, 0, 0, 0, 0, 80, 435, 80, 435, 421, 0, 0, 0, 0, 446, 0, 209, 0, 0, 0, 0, 461, 461, 0, 0, 0, 83, 0, 306, 254, 0, 83, 0, 464, 431, 0, 603, 0, 594, 0, 81, 431, 0, 0, 0, 0, 0, 0, 0, 431, 0, 613, 0, 0, 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 78, 0, 463, 0, 187, 0, 595, 631, 174, 0, 0, 0, 183, 0, 0, 0, 635, 761, 0, 614, 463, 0, 0, 0, 0, 0, 0, 614, 0, 0, 0, 89, 174, 0, 0, 0, 0, 0, 0, 0, 464, 306, 364, 252, 0, 632, 174, 0, 580, 174, 0, 82, 0, 582, 78, 0, 0, 531, 464, 0, 0, 0, 0, 0, 80, 209, 162, 251, 0, 80, 0, 461, 0, 0, 178, 319, 0, 209, 209, 209, 81, 0, 0, 0, 0, 78, 434, 78, 434, 83, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 460, 460, 0, 631, 0, 0, 463, 463, 0, 456, 456, 698, 0, 592, 0, 0, 0, 0, 463, 174, 0, 0, 174, 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 81, 611, 0, 0, 0, 0, 0, 0, 632, 0, 0, 464, 464, 0, 461, 0, 0, 0, 0, 629, 0, 0, 0, 464, 0, 422, 0, 0, 0, 0, 174, 81, 461, 81, 0, 422, 0, 0, 0, 0, 447, 0, 0, 0, 0, 0, 0, 462, 462, 0, 0, 0, 0, 0, 0, 0, 0, 458, 458, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 731, 732, 530, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 78, 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 760, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 0, 209, 461, 461, 0, 0, 0, 209, 0, 209, 0, 209, 209, 209, 461, 0, 209, 0, 209, 0, 0, 0, 464, 0, 0, 0, 610, 0, 0, 0, 0, 0, 778, 779, 610, 780, 781, 0, 0, 0, 0, 0, 180, 81, 0, 0, 252, 460, 81, 0, 462, 463, 628, 0, 0, 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, 460, 458, 0, 174, 0, 0, 807, 0, 808, 456, 0, 0, 0, 0, 0, 817, 818, 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0, 593, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 833, 174, 834, 0, 835, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 462, 0, 0, 461, 0, 630, 0, 850, 0, 851, 458, 0, 105, 0, 1, 106, 107, 108, 462, 109, 110, 0, 628, 0, 0, 460, 460, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 2, 0, 0, 0, 0, 0, 0, 456, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 209, 209, 209, 0, 0, 0, 0, 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 630, 0, 0, 462, 462, 0, 0, 0, 0, 456, 0, 114, 115, 0, 0, 462, 0, 0, 116, 0, 0, 0, 0, 0, 0, 458, 0, 117, 0, 118, 174, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 460, 798, 855, 0, 0, 0, 0, 0, 174, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 174, 174, 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0, 462, 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, 174, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 462, 109, 110, 0, 0, 0, 0, 0, 174, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 551, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 552, 376, -444, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 551, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 552, 376, -443, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 551, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 552, 376, -445, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 453, 454, 474, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 453, 454, 624, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 638, 454, -496, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 453, 454, 692, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 105, 0, 1, 106, 107, 0, 0, 453, 454, 795, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 203, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 397, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 406, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 583, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 584, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 701, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 702, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 0, 0, 0, 202, 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, 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 551, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 552, 376, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 0, 0, 0, 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 2, 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 0, 2, 111, 112, 113, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 114, 115, 0, 0, 0, 552, 376, 116, 0, 0, 0, 111, 112, 113, 0, 0, 117, 0, 118, 0, 0, 119, 477, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 454, 114, 115, 0, 0, 0, 0, 105, 116, 1, 106, 107, 108, 0, 109, 110, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 2, 0, 0, 0, 0, 0, 0, 0, 454, 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, 111, 112, 113, 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, 114, 115, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 105, 0, 1, 106, 107, 0, 0, 0, 798, 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, 0, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 26, 0, 198, 0, 0, 111, 112, 0, 27, 28, 0, 0, 199, 29, 0, 0, 30, 31, 2, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 72, 0, 0, 200, 0, 201, 121, 111, 112, 113, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 114, 115, 0, 0, 0, 0, 105, 116, 1, 106, 107, 108, 0, 109, 110, 0, 117, 0, 118, 0, 0, 119, 748, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 2, 0, 0, 0, 0, 0, 0, 552, 0, 111, 112, 113, 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, 114, 115, 0, 111, 112, 113, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 792, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 114, 115, 0, 0, 0, 0, 552, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 1, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 676, 0, 2, 3, 4, 5, 6, 7, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 18, 19, 352, 353, 22, 23, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 356, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 359, 360, 0, 0, 0, 39, 0, 1, 72, 0, 0, 303, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 1, 0, 72, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 386, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 1, 0, 72, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 681, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 105, 303, 1, 106, 107, 108, 74, 109, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 39, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 247, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 34, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 37, 38, 0, 2, 0, 0, 117, 0, 372, 0, 0, 373, 247, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 0, 0, 111, 112, 113, 27, 28, 0, 0, 0, 29, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 114, 115, 0, 0, 0, 0, 0, 116, 35, 36, 0, 0, 0, 0, 0, 2, 117, 0, 372, 0, 0, 373, 247, 120, 121, 111, 112, 113, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 111, 112, 113, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 172, 0, 122, 123, 124, 125, 114, 115, 0, 0, 0, 0, 105, 116, 1, 106, 107, 108, 0, 109, 110, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 324, 0, 122, 123, 124, 125, 2, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 111, 112, 113, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 114, 115, 111, 112, 113, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 327, 0, 122, 123, 124, 125, 114, 115, 0, 0, 0, 0, 0, 116, 0, 111, 112, 113, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 247, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 105, 116, 1, 106, 107, 108, 0, 109, 110, 0, 117, 0, 118, 0, 0, 119, 745, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 2, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 111, 112, 113, 105, 0, 1, 106, 107, 108, 0, 109, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 114, 115, 111, 112, 113, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 824, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 114, 115, 0, 0, 0, 0, 0, 116, 0, 111, 112, 113, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 105, 116, 1, 106, 107, 108, 0, 109, 110, 0, 117, 0, 118, 0, 0, 235, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 2, 0, 0, 0, 0, 0, 105, 0, 1, 106, 107, 108, 0, 109, 110, 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, 111, 112, 113, 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, 114, 115, 111, 112, 113, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 237, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 114, 115, 0, 0, 0, 0, 0, 116, 1, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 245, 0, 120, 121, 0, 0, 0, 0, 122, 123, 124, 125, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 1, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 73, 0, 0, 0, 0, 74, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 73, 165, 0, 0, 0, 74, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 303, 165, 0, 0, 0, 74, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 426, 0, 0, 0, 0, 427, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 426, 0, 0, 0, 0, 439, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 303, 0, 0, 0, 0, 74, 2, 3, 4, 5, 6, 7, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 18, 19, 352, 353, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 356, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 359, 360, 0, 0, 0, 39, 0, 0, 72, 0, 0, 426, 0, 0, 0, 0, 608, 2, 3, 4, 5, 6, 7, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 18, 19, 352, 353, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 356, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 359, 360, 0, 0, 0, 39, 0, 0, 72, 0, 0, 426, 2, 0, 0, 0, 618, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 0, 0, 0, 72, 0, 0, 303, 0, 0, 0, 0, 74, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 426, 598, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 190, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 322, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 709, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 72, 0, 0, 176, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 538, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 30, 31, 0, 32, 0, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 37, 38, 0, 0, 0, 39, 2, 3, 4, 5, 6, 7, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 18, 19, 352, 353, 22, 23, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 356, 0, 357, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 359, 360, 0, 0, 0, 39, 2, 3, 4, 5, 6, 7, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 18, 19, 352, 353, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 356, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 359, 360, 0, 0, 0, 39
135 };
136
137 static const yytype_int16 yycheck[] =
138 {
139 0, 0, 262, 88, 46, 377, 121, 243, 258, 383, 198, 98, 199, 93, 377, 527, 65, 277, 3, 17, 3, 198, 3, 210, 24, 112, 133, 91, 115, 3, 3, 3, 428, 75, 341, 431, 3, 3, 798, 123, 79, 3, 3, 28, 46, 45, 46, 67, 0, 3, 198, 672, 121, 24, 120, 28, 28, 57, 69, 44, 69, 70, 62, 3, 79, 121, 66, 67, 130, 135, 136, 110, 111, 73, 143, 75, 91, 77, 70, 79, 142, 3, 144, 123, 844, 121, 57, 143, 88, 74, 75, 91, 69, 93, 242, 607, 244, 97, 130, 186, 185, 140, 189, 103, 104, 3, 28, 12, 13, 123, 142, 111, 74, 75, 114, 67, 180, 79, 138, 70, 184, 73, 224, 225, 226, 3, 97, 127, 749, 0, 130, 69, 212, 144, 3, 144, 88, 120, 121, 124, 3, 139, 123, 230, 224, 225, 226, 659, 110, 111, 124, 151, 144, 153, 156, 11, 156, 124, 141, 111, 143, 3, 114, 70, 140, 120, 166, 144, 123, 184, 143, 143, 279, 280, 281, 363, 176, 143, 178, 140, 180, 143, 143, 370, 184, 185, 363, 559, 560, 143, 426, 191, 198, 144, 194, 70, 559, 433, 198, 199, 200, 201, 714, 143, 454, 441, 144, 603, 208, 209, 210, 211, 212, 262, 521, 363, 121, 122, 143, 1, 220, 3, 120, 121, 224, 225, 226, 198, 277, 123, 69, 231, 65, 185, 128, 235, 242, 144, 244, 46, 240, 241, 242, 243, 244, 245, 130, 199, 250, 201, 250, 120, 626, 130, 123, 319, 433, 120, 121, 259, 144, 3, 143, 263, 441, 142, 122, 287, 288, 144, 290, 242, 459, 244, 130, 108, 109, 110, 120, 121, 143, 129, 302, 116, 212, 433, 119, 307, 124, 304, 310, 306, 122, 441, 130, 143, 69, 70, 385, 130, 130, 143, 302, 303, 1, 144, 3, 307, 410, 411, 310, 142, 414, 144, 416, 687, 316, 316, 3, 319, 124, 571, 123, 69, 70, 405, 130, 407, 3, 409, 410, 411, 332, 130, 414, 143, 416, 452, 120, 121, 427, 426, 124, 28, 451, 142, 69, 70, 130, 156, 302, 303, 439, 28, 354, 307, 141, 363, 310, 44, 130, 363, 129, 363, 316, 5, 129, 200, 368, 44, 370, 144, 142, 373, 374, 375, 143, 377, 120, 119, 143, 123, 143, 354, 384, 645, 128, 387, 388, 74, 75, 138, 363, 131, 394, 444, 396, 368, 144, 74, 75, 401, 235, 210, 237, 405, 137, 407, 130, 409, 410, 411, 245, 130, 414, 16, 416, 141, 420, 419, 420, 144, 144, 120, 121, 142, 426, 433, 235, 262, 130, 264, 130, 433, 241, 441, 243, 130, 245, 129, 120, 441, 142, 123, 277, 445, 122, 140, 128, 124, 122, 124, 143, 540, 130, 130, 456, 130, 130, 459, 200, 122, 433, 123, 142, 298, 124, 46, 128, 130, 441, 124, 130, 124, 426, 124, 525, 405, 3, 407, 124, 409, 7, 8, 9, 123, 130, 124, 124, 576, 128, 506, 124, 130, 73, 235, 75, 237, 130, 124, 79, 503, 143, 503, 754, 245, 586, 527, 588, 589, 590, 124, 91, 142, 556, 302, 124, 130, 605, 604, 307, 608, 130, 302, 264, 143, 526, 527, 307, 124, 617, 618, 141, 533, 127, 535, 123, 537, 132, 133, 373, 10, 11, 124, 377, 545, 129, 547, 14, 15, 124, 551, 129, 553, 142, 143, 556, 123, 298, 559, 560, 129, 130, 370, 535, 3, 3, 123, 375, 7, 8, 9, 121, 573, 574, 527, 124, 3, 578, 282, 283, 7, 8, 9, 291, 292, 586, 607, 588, 589, 590, 28, 284, 285, 103, 104, 645, 176, 123, 178, 144, 180, 127, 128, 604, 184, 123, 607, 128, 123, 121, 444, 3, 420, 144, 194, 141, 124, 128, 124, 144, 200, 124, 123, 140, 545, 123, 627, 715, 123, 123, 210, 719, 373, 142, 124, 142, 74, 75, 659, 560, 144, 79, 142, 74, 75, 124, 129, 121, 79, 129, 128, 604, 128, 654, 607, 144, 3, 586, 659, 588, 589, 590, 124, 0, 752, 124, 667, 140, 143, 56, 142, 128, 110, 111, 140, 763, 141, 124, 679, 110, 111, 682, 74, 75, 123, 519, 687, 79, 127, 128, 144, 525, 129, 714, 695, 503, 123, 698, 142, 129, 127, 128, 141, 129, 129, 143, 659, 757, 3, 46, 141, 545, 755, 714, 123, 129, 550, 129, 110, 111, 144, 144, 144, 144, 3, 559, 560, 74, 75, 66, 67, 123, 79, 74, 75, 64, 73, 74, 79, 319, 741, 144, 144, 144, 745, 142, 667, 748, 798, 144, 3, 88, 57, 144, 755, 293, 93, 294, 679, 760, 761, 714, 295, 110, 111, 297, 687, 296, 755, 110, 111, 393, 399, 1, 111, 3, 123, 114, 519, 74, 75, 128, 119, 124, 79, 786, 787, 310, 789, 244, 574, 792, 459, 373, 844, 74, 75, 231, 559, 245, 79, 472, 472, 636, 384, -1, 472, -1, 388, 550, -1, 645, -1, -1, 394, 110, 111, -1, -1, 156, 741, 74, 75, 824, 745, 120, 79, 748, 123, 124, -1, 110, 111, 667, 668, 669, 670, -1, 672, 840, -1, 120, 843, -1, 123, 679, 74, 75, 185, 186, -1, 79, 189, 687, 74, 75, -1, 110, 111, 79, -1, 140, 199, -1, 201, 786, 787, 120, 789, -1, 123, 792, -1, 210, -1, 212, -1, -1, -1, 459, -1, -1, 110, 111, -1, -1, -1, 224, 225, 226, 110, 111, 120, 121, -1, 123, 124, -1, 235, -1, 128, -1, -1, 824, 241, -1, 243, 741, 245, -1, -1, 745, -1, 250, 748, 749, -1, -1, -1, 840, 257, 258, 843, 757, 3, -1, -1, 668, 669, 670, -1, -1, -1, 1, -1, 3, 4, 5, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 28, -1, -1, 786, 787, -1, 789, 790, 537, 792, 793, 28, -1, -1, -1, 798, 302, 303, -1, -1, -1, 307, -1, 46, 310, -1, -1, 556, -1, -1, 316, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, 824, -1, -1, 573, 574, 74, 75, -1, 578, 73, 79, 75, -1, 71, 72, -1, 840, -1, -1, 843, 844, -1, 86, -1, -1, -1, -1, 91, -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 370, 102, 103, 373, -1, 375, -1, 377, -1, -1, -1, -1, 44, 45, -1, -1, 790, 118, -1, 793, -1, -1, 123, -1, -1, 126, -1, -1, 141, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, 409, 410, 411, 74, 75, 414, -1, 416, 79, -1, 156, 420, -1, -1, -1, -1, -1, 426, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, -1, 176, -1, -1, 179, 180, -1, -1, -1, 184, 110, 111, -1, -1, 695, -1, 454, 698, -1, -1, 120, 459, -1, -1, 199, 200, -1, 46, -1, -1, -1, -1, -1, -1, 472, 210, -1, 212, -1, -1, -1, -1, -1, -1, -1, 220, -1, -1, -1, 224, 225, 226, -1, -1, 73, -1, 75, -1, -1, -1, 79, -1, -1, -1, -1, 503, 241, -1, 243, -1, -1, -1, 91, -1, 755, 250, -1, -1, -1, 760, 761, -1, -1, -1, -1, -1, -1, -1, 526, 527, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 556, 75, -1, 559, 560, 79, -1, -1, -1, -1, 303, -1, -1, -1, -1, 571, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, 319, -1, -1, -1, 586, -1, 588, 589, 590, -1, -1, -1, -1, 176, -1, 178, -1, 180, -1, -1, -1, 184, 604, -1, -1, 607, -1, -1, -1, 119, -1, 194, -1, -1, -1, -1, -1, 200, -1, -1, -1, -1, -1, -1, 363, -1, -1, -1, 211, 368, -1, 370, -1, -1, 373, -1, 156, 220, -1, -1, -1, -1, -1, 163, -1, 384, 156, 119, -1, -1, -1, -1, -1, -1, -1, 394, 176, 659, 178, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, 409, 410, 411, -1, -1, 414, -1, 416, -1, -1, 200, 420, 46, -1, 156, 687, -1, 426, -1, -1, 210, 211, -1, -1, 433, 204, 205, 206, 207, -1, 210, -1, 441, -1, -1, -1, -1, -1, 72, -1, -1, -1, 714, -1, -1, -1, -1, -1, -1, -1, 459, 241, -1, 243, -1, 235, -1, -1, -1, -1, 250, 241, 242, 243, 244, 245, 319, -1, 210, -1, 250, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 754, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, 235, 503, -1, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, -1, -1, 250, -1, -1, -1, -1, 303, 304, 257, 258, -1, -1, -1, 373, -1, 156, -1, -1, -1, -1, -1, -1, 163, -1, 384, -1, -1, -1, 388, -1, -1, -1, -1, -1, 394, -1, 396, -1, -1, -1, 556, 401, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, -1, 198, 574, -1, -1, -1, -1, -1, -1, -1, 363, -1, -1, 210, 586, -1, 588, 589, 590, 372, 373, -1, -1, -1, -1, -1, -1, 370, -1, -1, 373, 384, 375, -1, 377, 388, -1, -1, 235, -1, -1, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, -1, -1, 250, -1, 93, -1, -1, -1, -1, 257, 258, -1, -1, -1, 370, -1, 420, 373, -1, 375, -1, 377, 426, -1, 428, -1, 420, -1, 46, 433, -1, -1, -1, -1, -1, -1, -1, 441, -1, 433, -1, -1, -1, -1, -1, -1, -1, 441, -1, -1, -1, -1, -1, -1, -1, 459, -1, -1, 156, -1, 454, -1, 685, -1, 420, 459, 74, -1, -1, -1, 537, -1, -1, -1, 467, 698, -1, 433, 472, -1, -1, -1, -1, -1, -1, 441, -1, -1, -1, 556, 98, -1, -1, -1, -1, -1, -1, -1, 454, 503, 198, 119, -1, 459, 112, -1, 573, 115, -1, 503, -1, 578, 210, -1, -1, 363, 472, -1, -1, -1, -1, -1, 370, 212, 372, 373, -1, 375, -1, 377, -1, -1, 755, 537, -1, 224, 225, 226, 156, -1, -1, -1, -1, 241, 242, 243, 244, 503, -1, -1, -1, -1, 556, -1, -1, -1, -1, -1, -1, 257, 258, -1, 556, -1, -1, 559, 560, -1, 257, 258, 574, -1, 420, -1, -1, -1, -1, 571, 186, -1, -1, 189, -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, 210, 441, -1, -1, -1, -1, -1, -1, 556, -1, -1, 559, 560, -1, 454, -1, -1, -1, -1, 459, -1, -1, -1, 571, -1, 235, -1, -1, -1, -1, 230, 241, 472, 243, -1, 245, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, -1, 656, 657, 363, -1, -1, -1, -1, -1, -1, 370, -1, -1, -1, -1, 375, -1, 377, -1, -1, -1, -1, -1, -1, -1, -1, 755, -1, -1, 695, -1, 687, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 556, -1, 399, 559, 560, -1, -1, -1, 405, -1, 407, -1, 409, 410, 411, 571, -1, 414, -1, 416, -1, -1, -1, 687, -1, -1, -1, 433, -1, -1, -1, -1, -1, 734, 735, 441, 737, 738, -1, -1, -1, -1, -1, 755, 370, -1, -1, 373, 454, 375, -1, 377, 754, 459, -1, -1, -1, 454, -1, -1, -1, -1, -1, -1, -1, -1, 472, 383, -1, 385, -1, -1, 773, -1, 775, 472, -1, -1, -1, -1, -1, 782, 783, -1, -1, -1, -1, -1, -1, -1, 754, -1, -1, -1, 420, -1, -1, 503, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 809, -1, 811, 427, 813, -1, 815, -1, -1, -1, -1, -1, -1, -1, -1, 439, -1, -1, -1, -1, 454, -1, -1, 687, -1, 459, -1, 836, -1, 838, 454, -1, 1, -1, 3, 4, 5, 6, 472, 8, 9, -1, 556, -1, -1, 559, 560, -1, 472, -1, -1, -1, -1, -1, -1, -1, -1, 571, -1, 28, -1, -1, -1, -1, -1, -1, 571, -1, -1, 503, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 586, -1, 588, 589, 590, -1, -1, -1, -1, 754, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 540, -1, -1, -1, -1, -1, 556, -1, -1, 559, 560, -1, -1, -1, -1, 636, -1, 102, 103, -1, -1, 571, -1, -1, 109, -1, -1, -1, -1, -1, -1, 571, -1, 118, -1, 120, 576, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 687, 143, 144, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, -1, -1, -1, -1, -1, -1, -1, 617, 618, -1, -1, -1, -1, -1, -1, -1, 626, -1, -1, -1, -1, -1, -1, -1, -1, -1, 636, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 647, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 754, -1, -1, -1, -1, -1, -1, -1, -1, 754, -1, -1, -1, 687, -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, 715, -1, -1, -1, 719, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 754, 8, 9, -1, -1, -1, -1, -1, 752, -1, 754, -1, -1, -1, -1, -1, -1, -1, -1, 763, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, 77, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, 77, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, 77, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 1, -1, 3, 4, 5, -1, -1, 142, 143, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, 142, -1, 144, -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, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, 77, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, 143, 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, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 28, -1, -1, -1, -1, -1, -1, -1, 71, 72, 73, -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, 102, 103, -1, 28, 71, 72, 73, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, 102, 103, -1, -1, -1, 142, 143, 109, -1, -1, -1, 71, 72, 73, -1, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, 143, 102, 103, -1, -1, -1, -1, 1, 109, 3, 4, 5, 6, -1, 8, 9, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 28, -1, -1, -1, -1, -1, -1, -1, 143, -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, 71, 72, 73, -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, 102, 103, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 1, -1, 3, 4, 5, -1, -1, -1, 143, -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, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, 68, -1, -1, 71, 72, -1, 74, 75, -1, -1, 78, 79, -1, -1, 82, 83, 28, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, 71, 72, 73, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 102, 103, -1, -1, -1, -1, 1, 109, 3, 4, 5, 6, -1, 8, 9, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 28, -1, -1, -1, -1, -1, -1, 142, -1, 71, 72, 73, -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, 102, 103, -1, 71, 72, 73, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, 102, 103, -1, -1, -1, -1, 142, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, 3, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 142, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, 3, 120, -1, -1, 123, -1, -1, -1, -1, 128, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140, -1, 142, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 3, -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, 1, 123, 3, 4, 5, 6, 128, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, 112, 113, -1, 28, -1, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, -1, -1, 28, 118, -1, 120, -1, -1, 123, 124, 125, 126, 71, 72, 73, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, 103, 71, 72, 73, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, 129, -1, 131, 132, 133, 134, 102, 103, -1, -1, -1, -1, 1, 109, 3, 4, 5, 6, -1, 8, 9, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, 129, -1, 131, 132, 133, 134, 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, 71, 72, 73, 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, 102, 103, 71, 72, 73, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, 129, -1, 131, 132, 133, 134, 102, 103, -1, -1, -1, -1, -1, 109, -1, 71, 72, 73, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 102, 103, -1, -1, -1, -1, 1, 109, 3, 4, 5, 6, -1, 8, 9, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 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, 71, 72, 73, 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, 102, 103, 71, 72, 73, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, 124, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 102, 103, -1, -1, -1, -1, -1, 109, -1, 71, 72, 73, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, -1, -1, -1, -1, -1, -1, -1, 102, 103, -1, -1, -1, -1, 1, 109, 3, 4, 5, 6, -1, 8, 9, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 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, 71, 72, 73, -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, 102, 103, 71, 72, 73, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 102, 103, -1, -1, -1, -1, -1, 109, 3, -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, 131, 132, 133, 134, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, 3, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, 128, -1, -1, 131, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, 124, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, 124, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, 28, -1, -1, -1, 128, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, 3, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, 128, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 3, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, -1, -1, -1, -1, 124, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, 120, -1, -1, 123, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, -1, -1, -1, -1, -1, 123, 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, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, 82, 83, -1, 85, -1, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, -1, 87, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, -1, -1, -1, 117
140 };
141
142 static const yytype_uint16 yystos[] =
143 {
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, 65, 66, 74, 75, 79, 82, 83, 85, 87, 100, 110, 111, 112, 113, 117, 146, 147, 148, 149, 150, 155, 185, 186, 191, 192, 193, 197, 198, 199, 200, 202, 203, 209, 217, 218, 236, 267, 143, 150, 155, 123, 123, 121, 1, 120, 121, 155, 120, 123, 128, 131, 146, 155, 191, 192, 199, 200, 202, 218, 221, 223, 225, 226, 228, 229, 230, 233, 123, 143, 149, 150, 155, 192, 140, 0, 155, 219, 220, 143, 143, 1, 4, 5, 6, 8, 9, 71, 72, 73, 102, 103, 109, 118, 120, 123, 125, 126, 131, 132, 133, 134, 148, 155, 156, 157, 158, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 254, 257, 148, 155, 148, 155, 162, 167, 185, 204, 205, 206, 207, 208, 199, 232, 233, 124, 155, 223, 225, 234, 235, 236, 129, 148, 176, 180, 123, 155, 192, 225, 233, 221, 226, 229, 233, 123, 128, 192, 123, 128, 124, 155, 234, 237, 192, 221, 230, 123, 68, 78, 123, 125, 142, 144, 151, 152, 153, 154, 155, 158, 185, 192, 210, 211, 212, 213, 214, 226, 227, 229, 233, 256, 257, 259, 143, 143, 143, 150, 155, 180, 141, 130, 144, 219, 219, 123, 162, 123, 162, 162, 155, 185, 180, 185, 180, 123, 162, 124, 177, 179, 182, 199, 200, 202, 218, 238, 254, 143, 143, 7, 8, 9, 123, 127, 128, 155, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 141, 178, 164, 120, 135, 136, 132, 133, 10, 11, 167, 12, 13, 121, 122, 14, 15, 131, 137, 138, 16, 17, 139, 124, 124, 124, 141, 123, 192, 223, 233, 141, 11, 122, 130, 199, 233, 124, 124, 124, 130, 129, 129, 233, 221, 230, 124, 234, 129, 148, 180, 129, 148, 180, 124, 124, 130, 3, 28, 44, 74, 75, 124, 194, 195, 196, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 50, 66, 85, 87, 100, 112, 113, 150, 155, 187, 191, 199, 201, 203, 209, 217, 185, 227, 120, 123, 155, 185, 143, 248, 249, 249, 249, 142, 249, 141, 123, 140, 142, 155, 192, 215, 216, 226, 227, 231, 233, 229, 233, 144, 214, 130, 142, 192, 229, 142, 142, 210, 144, 210, 144, 210, 143, 143, 180, 220, 142, 144, 142, 144, 146, 155, 183, 199, 200, 202, 218, 239, 123, 128, 192, 222, 224, 233, 155, 188, 191, 199, 201, 202, 218, 128, 224, 188, 239, 124, 130, 155, 199, 200, 202, 218, 223, 124, 127, 142, 143, 144, 158, 159, 176, 184, 191, 199, 200, 202, 218, 241, 258, 260, 261, 262, 263, 264, 265, 266, 144, 266, 155, 124, 159, 160, 177, 155, 179, 159, 177, 164, 164, 164, 165, 165, 166, 166, 167, 167, 167, 169, 169, 170, 171, 172, 173, 174, 179, 185, 205, 206, 233, 205, 206, 207, 51, 236, 124, 129, 129, 129, 129, 155, 124, 123, 124, 130, 195, 150, 155, 123, 123, 121, 143, 155, 191, 199, 201, 223, 155, 192, 227, 192, 123, 144, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 77, 142, 155, 179, 181, 184, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 255, 241, 124, 180, 143, 226, 233, 130, 142, 140, 197, 192, 226, 229, 211, 229, 144, 144, 144, 210, 144, 210, 210, 210, 146, 199, 200, 202, 218, 223, 124, 124, 224, 234, 180, 222, 233, 123, 128, 222, 121, 128, 155, 191, 199, 201, 202, 218, 224, 180, 128, 128, 224, 124, 177, 164, 254, 144, 266, 141, 155, 191, 199, 200, 202, 218, 227, 231, 249, 130, 142, 142, 261, 263, 264, 144, 144, 124, 130, 129, 140, 223, 179, 124, 195, 177, 148, 155, 208, 69, 70, 144, 121, 143, 143, 155, 150, 155, 124, 180, 140, 123, 123, 123, 243, 123, 155, 142, 142, 142, 179, 155, 140, 142, 142, 155, 189, 190, 225, 181, 246, 181, 243, 144, 142, 144, 266, 226, 192, 216, 226, 233, 180, 226, 144, 144, 144, 144, 124, 124, 129, 222, 124, 234, 180, 208, 180, 121, 128, 129, 180, 180, 128, 144, 241, 262, 159, 177, 176, 124, 124, 124, 124, 122, 249, 249, 208, 69, 70, 144, 69, 70, 144, 143, 140, 243, 179, 179, 124, 179, 56, 124, 250, 142, 142, 141, 243, 143, 130, 142, 141, 144, 226, 233, 192, 226, 140, 124, 129, 122, 129, 208, 180, 129, 129, 180, 70, 144, 69, 144, 122, 249, 249, 249, 249, 69, 70, 144, 243, 124, 124, 243, 124, 123, 243, 124, 250, 180, 144, 266, 190, 143, 177, 240, 226, 226, 180, 122, 129, 129, 249, 249, 70, 144, 69, 144, 70, 144, 69, 144, 249, 249, 243, 243, 243, 179, 243, 124, 179, 142, 144, 240, 242, 144, 144, 249, 249, 249, 249, 70, 144, 69, 144, 64, 124, 243, 124, 130, 144, 144, 144, 144, 144, 249, 249, 243, 142, 243, 144, 240, 144, 144
145 };
146
147 void exit(int status);
148
149 void * calloc(size_t nmemb, size_t size);
150
151 void free(void * ptr);
152
153 void * malloc(size_t size);
154
155 void * realloc(void * ptr, size_t size);
156
157 long int strtol(const char * nptr, char ** endptr, int base);
158
159 long long int strtoll(const char * nptr, char ** endptr, int base);
160
161 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
162
163 typedef __builtin_va_list va_list;
164
165 typedef void FILE;
166
167 FILE * bsl_stdin(void);
168
169 FILE * bsl_stdout(void);
170
171 FILE * bsl_stderr(void);
172
173 char * fgets(char * s, int size, FILE * stream);
174
175 FILE * fopen(const char * path, const char * mode);
176
177 int fclose(FILE * fp);
178
179 int fflush(FILE * stream);
180
181 int fgetc(FILE * stream);
182
183 int fprintf(FILE * stream, const char * format, ...);
184
185 int fputc(int c, FILE * stream);
186
187 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
188
189 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
190
191 int vsnprintf(char *, size_t, const char *, va_list args);
192
193 int snprintf(char * str, size_t, const char * format, ...);
194
195 int fseek(FILE * stream, long offset, int whence);
196
197 long ftell(FILE * stream);
198
199 int feof(FILE * stream);
200
201 int ferror(FILE * stream);
202
203 int fileno(FILE * stream);
204
205 int type_yydebug;
206
207 int type_yyparse(void);
208
209 int type_yychar;
210
211 int type_yynerrs;
212
213 extern unsigned int skipErrors;
214
215 extern int declMode;
216
217 struct __ecereNameSpace__ecere__sys__OldList
218 {
219 void *  first;
220 void *  last;
221 int count;
222 unsigned int offset;
223 unsigned int circ;
224 } ecere_gcc_struct;
225
226 struct __ecereNameSpace__ecere__sys__BTNode;
227
228 struct Type;
229
230 struct __ecereNameSpace__ecere__com__DataValue
231 {
232 union
233 {
234 char c;
235 unsigned char uc;
236 short s;
237 unsigned short us;
238 int i;
239 unsigned int ui;
240 void *  p;
241 float f;
242 double d;
243 long long i64;
244 uint64 ui64;
245 } ecere_gcc_struct __anon1;
246 } ecere_gcc_struct;
247
248 struct __ecereNameSpace__ecere__com__SerialBuffer
249 {
250 unsigned char *  _buffer;
251 unsigned int count;
252 unsigned int _size;
253 unsigned int pos;
254 } ecere_gcc_struct;
255
256 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
257
258 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
259
260 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
261
262 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
263
264 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
265
266 struct Enumerator;
267
268 struct Pointer;
269
270 struct FunctionDefinition;
271
272 struct External;
273
274 struct Context;
275
276 struct AsmField;
277
278 struct ExtDecl;
279
280 struct ClassDefinition;
281
282 struct Symbol;
283
284 struct PropertyWatch;
285
286 struct TemplateParameter;
287
288 struct DBTableEntry;
289
290 struct DBIndexItem;
291
292 struct DBTableDef;
293
294 struct CodePosition
295 {
296 int line;
297 int charPos;
298 int pos;
299 int included;
300 } ecere_gcc_struct;
301
302 extern size_t strlen(const char * );
303
304 extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
305
306 static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop)
307 {
308 fprintf((bsl_stderr()), "Stack now");
309 for(; yybottom <= yytop; yybottom++)
310 {
311 int yybot = *yybottom;
312
313 fprintf((bsl_stderr()), " %d", yybot);
314 }
315 fprintf((bsl_stderr()), "\n");
316 }
317
318 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (*  FreeFunction)(void * ));
319
320 extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
321
322 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
323
324 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
325
326 extern void FreeEnumerator(struct Enumerator * enumerator);
327
328 extern void FreePointer(struct Pointer * pointer);
329
330 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
331
332 extern void PopContext(struct Context * ctx);
333
334 extern void FreeContext(struct Context * context);
335
336 extern struct Context * PushContext(void);
337
338 extern void FreeExtDecl(struct ExtDecl * extDecl);
339
340 extern struct ExtDecl * MkExtDeclString(char * s);
341
342 struct Location
343 {
344 struct CodePosition start;
345 struct CodePosition end;
346 } ecere_gcc_struct;
347
348 extern void resetScannerPos(struct CodePosition * pos);
349
350 extern struct Location yylloc;
351
352 struct Location type_yylloc;
353
354 struct Attrib
355 {
356 struct Location loc;
357 int type;
358 struct __ecereNameSpace__ecere__sys__OldList *  attribs;
359 } ecere_gcc_struct;
360
361 extern void FreeAttrib(struct Attrib * attr);
362
363 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
364
365 extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList *  attribs);
366
367 struct TypeName;
368
369 struct TypeName * parsedType;
370
371 extern void FreeTypeName(struct TypeName * typeName);
372
373 struct __ecereNameSpace__ecere__com__Class;
374
375 struct __ecereNameSpace__ecere__com__Instance
376 {
377 void * *  _vTbl;
378 struct __ecereNameSpace__ecere__com__Class * _class;
379 int _refCount;
380 } ecere_gcc_struct;
381
382 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
383
384 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
385
386 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
387
388 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
389
390 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
391
392 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
393
394 struct __ecereNameSpace__ecere__com__Property;
395
396 struct __ecereNameSpace__ecere__com__Property
397 {
398 struct __ecereNameSpace__ecere__com__Property * prev;
399 struct __ecereNameSpace__ecere__com__Property * next;
400 const char *  name;
401 unsigned int isProperty;
402 int memberAccess;
403 int id;
404 struct __ecereNameSpace__ecere__com__Class * _class;
405 const char *  dataTypeString;
406 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
407 struct Type * dataType;
408 void (*  Set)(void * , int);
409 int (*  Get)(void * );
410 unsigned int (*  IsSet)(void * );
411 void *  data;
412 void *  symbol;
413 int vid;
414 unsigned int conversion;
415 unsigned int watcherOffset;
416 const char *  category;
417 unsigned int compiled;
418 unsigned int selfWatchable;
419 unsigned int isWatchable;
420 } ecere_gcc_struct;
421
422 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
423
424 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
425
426 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
427
428 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
429
430 struct Specifier;
431
432 extern void FreeSpecifier(struct Specifier * spec);
433
434 extern struct Symbol * DeclClass(struct Specifier * _class, const char *  name);
435
436 extern struct Symbol * _DeclClass(struct Specifier * _class, const char *  name);
437
438 extern struct Specifier * MkSpecifierName(const char *  name);
439
440 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
441
442 extern struct Specifier * MkSpecifierNameArgs(const char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
443
444 extern struct Specifier * MkSpecifier(int specifier);
445
446 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
447
448 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
449
450 struct ClassFunction;
451
452 extern void FreeClassFunction(struct ClassFunction * func);
453
454 struct Identifier;
455
456 extern void FreeIdentifier(struct Identifier * id);
457
458 struct Identifier
459 {
460 struct Identifier * prev;
461 struct Identifier * next;
462 struct Location loc;
463 struct Symbol * classSym;
464 struct Specifier * _class;
465 char *  string;
466 struct Identifier * badID;
467 } ecere_gcc_struct;
468
469 extern struct Identifier * MkIdentifier(const char *  string);
470
471 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
472
473 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
474
475 struct Expression;
476
477 extern void FreeExpression(struct Expression * exp);
478
479 struct Specifier
480 {
481 struct Specifier * prev;
482 struct Specifier * next;
483 struct Location loc;
484 int type;
485 union
486 {
487 int specifier;
488 struct
489 {
490 struct ExtDecl * extDecl;
491 char *  name;
492 struct Symbol * symbol;
493 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
494 struct Specifier * nsSpec;
495 } ecere_gcc_struct __anon1;
496 struct
497 {
498 struct Identifier * id;
499 struct __ecereNameSpace__ecere__sys__OldList *  list;
500 struct __ecereNameSpace__ecere__sys__OldList *  baseSpecs;
501 struct __ecereNameSpace__ecere__sys__OldList *  definitions;
502 unsigned int addNameSpace;
503 struct Context * ctx;
504 struct ExtDecl * extDeclStruct;
505 } ecere_gcc_struct __anon2;
506 struct Expression * expression;
507 struct Specifier * _class;
508 struct TemplateParameter * templateParameter;
509 } ecere_gcc_struct __anon1;
510 } ecere_gcc_struct;
511
512 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
513
514 extern struct Expression * MkExpIdentifier(struct Identifier * id);
515
516 extern struct Expression * MkExpConstant(const char *  string);
517
518 extern struct Expression * MkExpWideString(const char *  string);
519
520 extern struct Expression * MkExpString(const char *  string);
521
522 extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
523
524 extern struct Expression * MkExpDummy(void);
525
526 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
527
528 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
529
530 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
531
532 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
533
534 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
535
536 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
537
538 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
539
540 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
541
542 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
543
544 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
545
546 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
547
548 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
549
550 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
551
552 extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression);
553
554 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
555
556 struct Declaration;
557
558 extern void FreeDeclaration(struct Declaration * decl);
559
560 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
561
562 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
563
564 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
565
566 struct InitDeclarator;
567
568 extern void FreeInitDeclarator(struct InitDeclarator * decl);
569
570 struct Attribute;
571
572 extern void FreeAttribute(struct Attribute * attr);
573
574 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
575
576 struct Attribute
577 {
578 struct Attribute * prev;
579 struct Attribute * next;
580 struct Location loc;
581 char * attr;
582 struct Expression * exp;
583 } ecere_gcc_struct;
584
585 struct TemplateDatatype;
586
587 extern void FreeTemplateDataType(struct TemplateDatatype * type);
588
589 struct TemplateArgument;
590
591 extern void FreeTemplateArgument(struct TemplateArgument * arg);
592
593 extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype);
594
595 extern struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr);
596
597 struct TemplateArgument
598 {
599 struct TemplateArgument * prev;
600 struct TemplateArgument * next;
601 struct Location loc;
602 struct Identifier * name;
603 int type;
604 union
605 {
606 struct Expression * expression;
607 struct Identifier * identifier;
608 struct TemplateDatatype * templateDatatype;
609 } ecere_gcc_struct __anon1;
610 } ecere_gcc_struct;
611
612 struct ClassDef;
613
614 extern void FreeClassDef(struct ClassDef * def);
615
616 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
617
618 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
619
620 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
621
622 struct MemberInit;
623
624 extern void FreeMemberInit(struct MemberInit * init);
625
626 struct PropertyDef;
627
628 extern void FreeProperty(struct PropertyDef * def);
629
630 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
631
632 struct Declarator;
633
634 extern void FreeDeclarator(struct Declarator * decl);
635
636 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
637
638 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
639
640 extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList *  specifiers, struct Declarator * decl);
641
642 struct TemplateDatatype
643 {
644 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
645 struct Declarator * decl;
646 } ecere_gcc_struct;
647
648 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
649
650 struct Declarator
651 {
652 struct Declarator * prev;
653 struct Declarator * next;
654 struct Location loc;
655 int type;
656 struct Symbol * symbol;
657 struct Declarator * declarator;
658 union
659 {
660 struct Identifier * identifier;
661 struct
662 {
663 struct Expression * exp;
664 struct Expression * posExp;
665 struct Attrib * attrib;
666 } ecere_gcc_struct structDecl;
667 struct
668 {
669 struct Expression * exp;
670 struct Specifier * enumClass;
671 } ecere_gcc_struct array;
672 struct
673 {
674 struct __ecereNameSpace__ecere__sys__OldList * parameters;
675 } ecere_gcc_struct function;
676 struct
677 {
678 struct Pointer * pointer;
679 } ecere_gcc_struct pointer;
680 struct
681 {
682 struct ExtDecl * extended;
683 } ecere_gcc_struct extended;
684 } ecere_gcc_struct __anon1;
685 } ecere_gcc_struct;
686
687 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
688
689 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
690
691 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
692
693 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
694
695 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
696
697 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
698
699 extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator);
700
701 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
702
703 struct TypeName
704 {
705 struct TypeName * prev;
706 struct TypeName * next;
707 struct Location loc;
708 struct __ecereNameSpace__ecere__sys__OldList *  qualifiers;
709 struct Declarator * declarator;
710 int classObjectType;
711 struct Expression * bitCount;
712 } ecere_gcc_struct;
713
714 struct Initializer;
715
716 extern void FreeInitializer(struct Initializer * initializer);
717
718 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
719
720 struct InitDeclarator
721 {
722 struct InitDeclarator * prev;
723 struct InitDeclarator * next;
724 struct Location loc;
725 struct Declarator * declarator;
726 struct Initializer * initializer;
727 } ecere_gcc_struct;
728
729 struct Initializer
730 {
731 struct Initializer * prev;
732 struct Initializer * next;
733 struct Location loc;
734 int type;
735 union
736 {
737 struct Expression * exp;
738 struct __ecereNameSpace__ecere__sys__OldList *  list;
739 } ecere_gcc_struct __anon1;
740 unsigned int isConstant;
741 struct Identifier * id;
742 } ecere_gcc_struct;
743
744 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
745
746 struct MemberInit
747 {
748 struct MemberInit * prev;
749 struct MemberInit * next;
750 struct Location loc;
751 struct Location realLoc;
752 struct __ecereNameSpace__ecere__sys__OldList *  identifiers;
753 struct Initializer * initializer;
754 unsigned int used;
755 unsigned int variable;
756 unsigned int takeOutExp;
757 } ecere_gcc_struct;
758
759 struct ClassDef
760 {
761 struct ClassDef * prev;
762 struct ClassDef * next;
763 struct Location loc;
764 int type;
765 union
766 {
767 struct Declaration * decl;
768 struct ClassFunction * function;
769 struct __ecereNameSpace__ecere__sys__OldList *  defProperties;
770 struct PropertyDef * propertyDef;
771 struct PropertyWatch * propertyWatch;
772 char *  designer;
773 struct Identifier * defaultProperty;
774 struct
775 {
776 struct Identifier * id;
777 struct Initializer * initializer;
778 } ecere_gcc_struct __anon1;
779 } ecere_gcc_struct __anon1;
780 int memberAccess;
781 void *  object;
782 } ecere_gcc_struct;
783
784 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
785
786 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
787
788 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
789
790 struct Statement;
791
792 extern void FreeStatement(struct Statement * stmt);
793
794 struct ClassFunction
795 {
796 struct ClassFunction * prev;
797 struct ClassFunction * next;
798 struct Location loc;
799 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
800 struct Declarator * declarator;
801 struct __ecereNameSpace__ecere__sys__OldList *  declarations;
802 struct Statement * body;
803 struct __ecereNameSpace__ecere__com__Class * _class;
804 struct __ecereNameSpace__ecere__sys__OldList attached;
805 int declMode;
806 struct Type * type;
807 struct Symbol * propSet;
808 unsigned int isVirtual;
809 unsigned int isConstructor;
810 unsigned int isDestructor;
811 unsigned int dontMangle;
812 int id;
813 int idCode;
814 } ecere_gcc_struct;
815
816 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
817
818 struct PropertyDef
819 {
820 struct PropertyDef * prev;
821 struct PropertyDef * next;
822 struct Location loc;
823 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
824 struct Declarator * declarator;
825 struct Identifier * id;
826 struct Statement * getStmt;
827 struct Statement * setStmt;
828 struct Statement * issetStmt;
829 struct Symbol * symbol;
830 struct Expression * category;
831 struct
832 {
833 unsigned int conversion : 1;
834 unsigned int isWatchable : 1;
835 unsigned int isDBProp : 1;
836 } ecere_gcc_struct __anon1;
837 } ecere_gcc_struct;
838
839 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
840
841 struct Statement
842 {
843 struct Statement * prev;
844 struct Statement * next;
845 struct Location loc;
846 int type;
847 union
848 {
849 struct __ecereNameSpace__ecere__sys__OldList *  expressions;
850 struct
851 {
852 struct Identifier * id;
853 struct Statement * stmt;
854 } ecere_gcc_struct labeled;
855 struct
856 {
857 struct Expression * exp;
858 struct Statement * stmt;
859 } ecere_gcc_struct caseStmt;
860 struct
861 {
862 struct __ecereNameSpace__ecere__sys__OldList * declarations;
863 struct __ecereNameSpace__ecere__sys__OldList * statements;
864 struct Context * context;
865 unsigned int isSwitch;
866 } ecere_gcc_struct compound;
867 struct
868 {
869 struct __ecereNameSpace__ecere__sys__OldList * exp;
870 struct Statement * stmt;
871 struct Statement * elseStmt;
872 } ecere_gcc_struct ifStmt;
873 struct
874 {
875 struct __ecereNameSpace__ecere__sys__OldList * exp;
876 struct Statement * stmt;
877 } ecere_gcc_struct switchStmt;
878 struct
879 {
880 struct __ecereNameSpace__ecere__sys__OldList * exp;
881 struct Statement * stmt;
882 } ecere_gcc_struct whileStmt;
883 struct
884 {
885 struct __ecereNameSpace__ecere__sys__OldList * exp;
886 struct Statement * stmt;
887 } ecere_gcc_struct doWhile;
888 struct
889 {
890 struct Statement * init;
891 struct Statement * check;
892 struct __ecereNameSpace__ecere__sys__OldList * increment;
893 struct Statement * stmt;
894 } ecere_gcc_struct forStmt;
895 struct
896 {
897 struct Identifier * id;
898 } ecere_gcc_struct gotoStmt;
899 struct
900 {
901 struct Specifier * spec;
902 char * statements;
903 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
904 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
905 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
906 } ecere_gcc_struct asmStmt;
907 struct
908 {
909 struct Expression * watcher;
910 struct Expression * object;
911 struct __ecereNameSpace__ecere__sys__OldList * watches;
912 } ecere_gcc_struct _watch;
913 struct
914 {
915 struct Identifier * id;
916 struct __ecereNameSpace__ecere__sys__OldList * exp;
917 struct __ecereNameSpace__ecere__sys__OldList * filter;
918 struct Statement * stmt;
919 } ecere_gcc_struct forEachStmt;
920 struct Declaration * decl;
921 } ecere_gcc_struct __anon1;
922 } ecere_gcc_struct;
923
924 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
925
926 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
927
928 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
929
930 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
931
932 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
933
934 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
935
936 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
937
938 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
939
940 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
941
942 extern struct Statement * MkGotoStmt(struct Identifier * id);
943
944 extern struct Statement * MkContinueStmt(void);
945
946 extern struct Statement * MkBreakStmt(void);
947
948 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
949
950 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
951
952 struct Instantiation;
953
954 extern void FreeInstance(struct Instantiation * inst);
955
956 struct Expression
957 {
958 struct Expression * prev;
959 struct Expression * next;
960 struct Location loc;
961 int type;
962 union
963 {
964 struct
965 {
966 char *  constant;
967 struct Identifier * identifier;
968 } ecere_gcc_struct __anon1;
969 struct Statement * compound;
970 struct Instantiation * instance;
971 struct
972 {
973 char *  string;
974 unsigned int intlString;
975 unsigned int wideString;
976 } ecere_gcc_struct __anon2;
977 struct __ecereNameSpace__ecere__sys__OldList *  list;
978 struct
979 {
980 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
981 struct Declarator * decl;
982 } ecere_gcc_struct _classExp;
983 struct
984 {
985 struct Identifier * id;
986 } ecere_gcc_struct classData;
987 struct
988 {
989 struct Expression * exp;
990 struct __ecereNameSpace__ecere__sys__OldList * arguments;
991 struct Location argLoc;
992 } ecere_gcc_struct call;
993 struct
994 {
995 struct Expression * exp;
996 struct __ecereNameSpace__ecere__sys__OldList * index;
997 } ecere_gcc_struct index;
998 struct
999 {
1000 struct Expression * exp;
1001 struct Identifier * member;
1002 int memberType;
1003 unsigned int thisPtr;
1004 } ecere_gcc_struct member;
1005 struct
1006 {
1007 int op;
1008 struct Expression * exp1;
1009 struct Expression * exp2;
1010 } ecere_gcc_struct op;
1011 struct TypeName * typeName;
1012 struct Specifier * _class;
1013 struct
1014 {
1015 struct TypeName * typeName;
1016 struct Expression * exp;
1017 } ecere_gcc_struct cast;
1018 struct
1019 {
1020 struct Expression * cond;
1021 struct __ecereNameSpace__ecere__sys__OldList * exp;
1022 struct Expression * elseExp;
1023 } ecere_gcc_struct cond;
1024 struct
1025 {
1026 struct TypeName * typeName;
1027 struct Expression * size;
1028 } ecere_gcc_struct _new;
1029 struct
1030 {
1031 struct TypeName * typeName;
1032 struct Expression * size;
1033 struct Expression * exp;
1034 } ecere_gcc_struct _renew;
1035 struct
1036 {
1037 char * table;
1038 struct Identifier * id;
1039 } ecere_gcc_struct db;
1040 struct
1041 {
1042 struct Expression * ds;
1043 struct Expression * name;
1044 } ecere_gcc_struct dbopen;
1045 struct
1046 {
1047 struct TypeName * typeName;
1048 struct Initializer * initializer;
1049 } ecere_gcc_struct initializer;
1050 struct
1051 {
1052 struct Expression * exp;
1053 struct TypeName * typeName;
1054 } ecere_gcc_struct vaArg;
1055 struct
1056 {
1057 struct TypeName * typeName;
1058 struct Identifier * id;
1059 } ecere_gcc_struct offset;
1060 } ecere_gcc_struct __anon1;
1061 unsigned int debugValue;
1062 struct __ecereNameSpace__ecere__com__DataValue val;
1063 uint64 address;
1064 unsigned int hasAddress;
1065 struct Type * expType;
1066 struct Type * destType;
1067 unsigned int usage;
1068 int tempCount;
1069 unsigned int byReference;
1070 unsigned int isConstant;
1071 unsigned int addedThis;
1072 unsigned int needCast;
1073 unsigned int thisPtr;
1074 unsigned int opDestType;
1075 unsigned int needTemplateCast;
1076 } ecere_gcc_struct;
1077
1078 extern struct Expression * MkExpInstance(struct Instantiation * inst);
1079
1080 struct Declaration
1081 {
1082 struct Declaration * prev;
1083 struct Declaration * next;
1084 struct Location loc;
1085 int type;
1086 union
1087 {
1088 struct
1089 {
1090 struct __ecereNameSpace__ecere__sys__OldList *  specifiers;
1091 struct __ecereNameSpace__ecere__sys__OldList *  declarators;
1092 } ecere_gcc_struct __anon1;
1093 struct Instantiation * inst;
1094 struct
1095 {
1096 struct Identifier * id;
1097 struct Expression * exp;
1098 } ecere_gcc_struct __anon2;
1099 } ecere_gcc_struct __anon1;
1100 struct Specifier * extStorage;
1101 struct Symbol * symbol;
1102 int declMode;
1103 } ecere_gcc_struct;
1104
1105 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1106
1107 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1108
1109 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1110
1111 struct Instantiation
1112 {
1113 struct Instantiation * prev;
1114 struct Instantiation * next;
1115 struct Location loc;
1116 struct Specifier * _class;
1117 struct Expression * exp;
1118 struct __ecereNameSpace__ecere__sys__OldList *  members;
1119 struct Symbol * symbol;
1120 unsigned int fullSet;
1121 unsigned int isConstant;
1122 unsigned char *  data;
1123 struct Location nameLoc;
1124 struct Location insideLoc;
1125 unsigned int built;
1126 } ecere_gcc_struct;
1127
1128 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1129
1130 struct MembersInit;
1131
1132 typedef union YYSTYPE
1133 {
1134 int specifierType;
1135 int i;
1136 int declMode;
1137 struct Identifier * id;
1138 struct Expression * exp;
1139 struct Specifier * specifier;
1140 struct __ecereNameSpace__ecere__sys__OldList * list;
1141 struct Enumerator * enumerator;
1142 struct Declarator * declarator;
1143 struct Pointer * pointer;
1144 struct Initializer * initializer;
1145 struct InitDeclarator * initDeclarator;
1146 struct TypeName * typeName;
1147 struct Declaration * declaration;
1148 struct Statement * stmt;
1149 struct FunctionDefinition * function;
1150 struct External * external;
1151 struct Context * context;
1152 struct AsmField * asmField;
1153 struct Attrib * attrib;
1154 struct ExtDecl * extDecl;
1155 struct Attribute * attribute;
1156 struct Instantiation * instance;
1157 struct MembersInit * membersInit;
1158 struct MemberInit * memberInit;
1159 struct ClassFunction * classFunction;
1160 struct ClassDefinition * _class;
1161 struct ClassDef * classDef;
1162 struct PropertyDef * prop;
1163 char * string;
1164 struct Symbol * symbol;
1165 struct PropertyWatch * propertyWatch;
1166 struct TemplateParameter * templateParameter;
1167 struct TemplateArgument * templateArgument;
1168 struct TemplateDatatype * templateDatatype;
1169 struct DBTableEntry * dbtableEntry;
1170 struct DBIndexItem * dbindexItem;
1171 struct DBTableDef * dbtableDef;
1172 } ecere_gcc_struct YYSTYPE;
1173
1174 extern YYSTYPE yylval;
1175
1176 union yyalloc
1177 {
1178 yytype_int16 yyss_alloc;
1179 YYSTYPE yyvs_alloc;
1180 struct Location yyls_alloc;
1181 } ecere_gcc_struct;
1182
1183 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1184 {
1185 if(!yyvaluep)
1186 return ;
1187 ((void)(yylocationp));
1188 ((void)(yyoutput));
1189 switch(yytype)
1190 {
1191 default:
1192 break;
1193 }
1194 }
1195
1196 extern void FreeMembersInit(struct MembersInit * init);
1197
1198 YYSTYPE type_yylval;
1199
1200 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
1201
1202 struct MembersInit
1203 {
1204 struct MembersInit * prev;
1205 struct MembersInit * next;
1206 struct Location loc;
1207 int type;
1208 union
1209 {
1210 struct __ecereNameSpace__ecere__sys__OldList *  dataMembers;
1211 struct ClassFunction * function;
1212 } ecere_gcc_struct __anon1;
1213 } ecere_gcc_struct;
1214
1215 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
1216
1217 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1218 {
1219 if(yytype < 145)
1220 fprintf(yyoutput, "token %s (", yytname[yytype]);
1221 else
1222 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1223 ((void)0);
1224 fprintf(yyoutput, ": ");
1225 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1226 fprintf(yyoutput, ")");
1227 }
1228
1229 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1230 {
1231 int yynrhs = yyr2[yyrule];
1232 int yyi;
1233 unsigned long int yylno = yyrline[yyrule];
1234
1235 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1236 for(yyi = 0; yyi < yynrhs; yyi++)
1237 {
1238 fprintf((bsl_stderr()), "   $%d = ", yyi + 1);
1239 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1240 fprintf((bsl_stderr()), "\n");
1241 }
1242 }
1243
1244 struct __ecereNameSpace__ecere__sys__BinaryTree;
1245
1246 struct __ecereNameSpace__ecere__sys__BinaryTree
1247 {
1248 struct __ecereNameSpace__ecere__sys__BTNode * root;
1249 int count;
1250 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1251 void (*  FreeKey)(void *  key);
1252 } ecere_gcc_struct;
1253
1254 struct __ecereNameSpace__ecere__com__Method;
1255
1256 struct __ecereNameSpace__ecere__com__Method
1257 {
1258 const char *  name;
1259 struct __ecereNameSpace__ecere__com__Method * parent;
1260 struct __ecereNameSpace__ecere__com__Method * left;
1261 struct __ecereNameSpace__ecere__com__Method * right;
1262 int depth;
1263 int (*  function)();
1264 int vid;
1265 int type;
1266 struct __ecereNameSpace__ecere__com__Class * _class;
1267 void *  symbol;
1268 const char *  dataTypeString;
1269 struct Type * dataType;
1270 int memberAccess;
1271 } ecere_gcc_struct;
1272
1273 struct __ecereNameSpace__ecere__com__NameSpace;
1274
1275 struct __ecereNameSpace__ecere__com__NameSpace
1276 {
1277 const char *  name;
1278 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
1279 struct __ecereNameSpace__ecere__com__NameSpace *  left;
1280 struct __ecereNameSpace__ecere__com__NameSpace *  right;
1281 int depth;
1282 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
1283 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1284 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1285 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1286 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1287 } ecere_gcc_struct;
1288
1289 struct __ecereNameSpace__ecere__com__Application
1290 {
1291 int argc;
1292 const char * *  argv;
1293 int exitCode;
1294 unsigned int isGUIApp;
1295 struct __ecereNameSpace__ecere__sys__OldList allModules;
1296 char *  parsedCommand;
1297 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1298 } ecere_gcc_struct;
1299
1300 struct __ecereNameSpace__ecere__com__DataMember;
1301
1302 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1303 {
1304 union
1305 {
1306 struct
1307 {
1308 const char *  dataTypeString;
1309 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1310 } ecere_gcc_struct __anon1;
1311 struct __ecereNameSpace__ecere__com__DataValue expression;
1312 struct
1313 {
1314 const char *  memberString;
1315 union
1316 {
1317 struct __ecereNameSpace__ecere__com__DataMember * member;
1318 struct __ecereNameSpace__ecere__com__Property * prop;
1319 struct __ecereNameSpace__ecere__com__Method * method;
1320 } ecere_gcc_struct __anon1;
1321 } ecere_gcc_struct __anon2;
1322 } ecere_gcc_struct __anon1;
1323 } ecere_gcc_struct;
1324
1325 struct __ecereNameSpace__ecere__com__DataMember
1326 {
1327 struct __ecereNameSpace__ecere__com__DataMember * prev;
1328 struct __ecereNameSpace__ecere__com__DataMember * next;
1329 const char *  name;
1330 unsigned int isProperty;
1331 int memberAccess;
1332 int id;
1333 struct __ecereNameSpace__ecere__com__Class * _class;
1334 const char *  dataTypeString;
1335 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1336 struct Type * dataType;
1337 int type;
1338 int offset;
1339 int memberID;
1340 struct __ecereNameSpace__ecere__sys__OldList members;
1341 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1342 int memberOffset;
1343 short structAlignment;
1344 short pointerAlignment;
1345 } ecere_gcc_struct;
1346
1347 struct __ecereNameSpace__ecere__com__Module;
1348
1349 struct __ecereNameSpace__ecere__com__Module
1350 {
1351 struct __ecereNameSpace__ecere__com__Instance * application;
1352 struct __ecereNameSpace__ecere__sys__OldList classes;
1353 struct __ecereNameSpace__ecere__sys__OldList defines;
1354 struct __ecereNameSpace__ecere__sys__OldList functions;
1355 struct __ecereNameSpace__ecere__sys__OldList modules;
1356 struct __ecereNameSpace__ecere__com__Instance * prev;
1357 struct __ecereNameSpace__ecere__com__Instance * next;
1358 const char *  name;
1359 void *  library;
1360 void *  Unload;
1361 int importType;
1362 int origImportType;
1363 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1364 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1365 } ecere_gcc_struct;
1366
1367 struct __ecereNameSpace__ecere__com__Class
1368 {
1369 struct __ecereNameSpace__ecere__com__Class * prev;
1370 struct __ecereNameSpace__ecere__com__Class * next;
1371 const char *  name;
1372 int offset;
1373 int structSize;
1374 void * *  _vTbl;
1375 int vTblSize;
1376 unsigned int (*  Constructor)(void * );
1377 void (*  Destructor)(void * );
1378 int offsetClass;
1379 int sizeClass;
1380 struct __ecereNameSpace__ecere__com__Class * base;
1381 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1382 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1383 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1384 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1385 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1386 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1387 int memberID;
1388 int startMemberID;
1389 int type;
1390 struct __ecereNameSpace__ecere__com__Instance * module;
1391 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
1392 const char *  dataTypeString;
1393 struct Type * dataType;
1394 int typeSize;
1395 int defaultAlignment;
1396 void (*  Initialize)();
1397 int memberOffset;
1398 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1399 const char *  designerClass;
1400 unsigned int noExpansion;
1401 const char *  defaultProperty;
1402 unsigned int comRedefinition;
1403 int count;
1404 int isRemote;
1405 unsigned int internalDecl;
1406 void *  data;
1407 unsigned int computeSize;
1408 short structAlignment;
1409 short pointerAlignment;
1410 int destructionWatchOffset;
1411 unsigned int fixed;
1412 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1413 int inheritanceAccess;
1414 const char *  fullName;
1415 void *  symbol;
1416 struct __ecereNameSpace__ecere__sys__OldList conversions;
1417 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1418 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
1419 struct __ecereNameSpace__ecere__com__Class * templateClass;
1420 struct __ecereNameSpace__ecere__sys__OldList templatized;
1421 int numParams;
1422 unsigned int isInstanceClass;
1423 unsigned int byValueSystemClass;
1424 } ecere_gcc_struct;
1425
1426 void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
1427 {
1428 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1429
1430 }
1431
1432 void __ecereUnregisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
1433 {
1434
1435 }
1436
1437 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1438
1439 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1440
1441 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1442 {
1443 ((void)(yyvaluep));
1444 ((void)(yylocationp));
1445 if(!yymsg)
1446 yymsg = "Deleting";
1447 do
1448 {
1449 if(type_yydebug)
1450 {
1451 fprintf((bsl_stderr()), "%s ", yymsg);
1452 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1453 fprintf((bsl_stderr()), "\n");
1454 }
1455 }while((0));
1456 switch(yytype)
1457 {
1458 case 146:
1459 {
1460 FreeSpecifier((*yyvaluep).specifier);
1461 }
1462 ;
1463 break;
1464 case 148:
1465 {
1466 FreeSpecifier((*yyvaluep).specifier);
1467 }
1468 ;
1469 break;
1470 case 149:
1471 {
1472 FreeSpecifier((*yyvaluep).specifier);
1473 }
1474 ;
1475 break;
1476 case 150:
1477 {
1478 FreeSpecifier((*yyvaluep).specifier);
1479 }
1480 ;
1481 break;
1482 case 151:
1483 {
1484 FreeClassFunction((*yyvaluep).classFunction);
1485 }
1486 ;
1487 break;
1488 case 152:
1489 {
1490 FreeClassFunction((*yyvaluep).classFunction);
1491 }
1492 ;
1493 break;
1494 case 153:
1495 {
1496 FreeClassFunction((*yyvaluep).classFunction);
1497 }
1498 ;
1499 break;
1500 case 154:
1501 {
1502 FreeClassFunction((*yyvaluep).classFunction);
1503 }
1504 ;
1505 break;
1506 case 155:
1507 {
1508 FreeIdentifier((*yyvaluep).id);
1509 }
1510 ;
1511 break;
1512 case 156:
1513 {
1514 FreeExpression((*yyvaluep).exp);
1515 }
1516 ;
1517 break;
1518 case 158:
1519 {
1520 FreeExpression((*yyvaluep).exp);
1521 }
1522 ;
1523 break;
1524 case 160:
1525 {
1526 FreeList((*yyvaluep).list, (void *)(FreeExpression));
1527 }
1528 ;
1529 break;
1530 case 162:
1531 {
1532 FreeExpression((*yyvaluep).exp);
1533 }
1534 ;
1535 break;
1536 case 164:
1537 {
1538 FreeExpression((*yyvaluep).exp);
1539 }
1540 ;
1541 break;
1542 case 165:
1543 {
1544 FreeExpression((*yyvaluep).exp);
1545 }
1546 ;
1547 break;
1548 case 166:
1549 {
1550 FreeExpression((*yyvaluep).exp);
1551 }
1552 ;
1553 break;
1554 case 167:
1555 {
1556 FreeExpression((*yyvaluep).exp);
1557 }
1558 ;
1559 break;
1560 case 169:
1561 {
1562 FreeExpression((*yyvaluep).exp);
1563 }
1564 ;
1565 break;
1566 case 170:
1567 {
1568 FreeExpression((*yyvaluep).exp);
1569 }
1570 ;
1571 break;
1572 case 171:
1573 {
1574 FreeExpression((*yyvaluep).exp);
1575 }
1576 ;
1577 break;
1578 case 172:
1579 {
1580 FreeExpression((*yyvaluep).exp);
1581 }
1582 ;
1583 break;
1584 case 173:
1585 {
1586 FreeExpression((*yyvaluep).exp);
1587 }
1588 ;
1589 break;
1590 case 174:
1591 {
1592 FreeExpression((*yyvaluep).exp);
1593 }
1594 ;
1595 break;
1596 case 175:
1597 {
1598 FreeExpression((*yyvaluep).exp);
1599 }
1600 ;
1601 break;
1602 case 176:
1603 {
1604 FreeExpression((*yyvaluep).exp);
1605 }
1606 ;
1607 break;
1608 case 177:
1609 {
1610 FreeExpression((*yyvaluep).exp);
1611 }
1612 ;
1613 break;
1614 case 179:
1615 {
1616 FreeList((*yyvaluep).list, (void *)(FreeExpression));
1617 }
1618 ;
1619 break;
1620 case 180:
1621 {
1622 FreeExpression((*yyvaluep).exp);
1623 }
1624 ;
1625 break;
1626 case 181:
1627 {
1628 FreeDeclaration((*yyvaluep).declaration);
1629 }
1630 ;
1631 break;
1632 case 182:
1633 {
1634 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1635 }
1636 ;
1637 break;
1638 case 183:
1639 {
1640 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1641 }
1642 ;
1643 break;
1644 case 184:
1645 {
1646 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1647 }
1648 ;
1649 break;
1650 case 185:
1651 {
1652 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1653 }
1654 ;
1655 break;
1656 case 189:
1657 {
1658 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
1659 }
1660 ;
1661 break;
1662 case 190:
1663 {
1664 FreeInitDeclarator((*yyvaluep).initDeclarator);
1665 }
1666 ;
1667 break;
1668 case 191:
1669 {
1670 FreeSpecifier((*yyvaluep).specifier);
1671 }
1672 ;
1673 break;
1674 case 192:
1675 {
1676 FreeExtDecl((*yyvaluep).extDecl);
1677 }
1678 ;
1679 break;
1680 case 194:
1681 {
1682 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1683 }
1684 ;
1685 break;
1686 case 195:
1687 {
1688 FreeAttribute((*yyvaluep).attribute);
1689 }
1690 ;
1691 break;
1692 case 196:
1693 {
1694 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
1695 }
1696 ;
1697 break;
1698 case 197:
1699 {
1700 FreeAttrib((*yyvaluep).attrib);
1701 }
1702 ;
1703 break;
1704 case 198:
1705 {
1706 FreeSpecifier((*yyvaluep).specifier);
1707 }
1708 ;
1709 break;
1710 case 199:
1711 {
1712 FreeSpecifier((*yyvaluep).specifier);
1713 }
1714 ;
1715 break;
1716 case 200:
1717 {
1718 FreeSpecifier((*yyvaluep).specifier);
1719 }
1720 ;
1721 break;
1722 case 201:
1723 {
1724 FreeSpecifier((*yyvaluep).specifier);
1725 }
1726 ;
1727 break;
1728 case 202:
1729 {
1730 FreeSpecifier((*yyvaluep).specifier);
1731 }
1732 ;
1733 break;
1734 case 203:
1735 {
1736 FreeSpecifier((*yyvaluep).specifier);
1737 }
1738 ;
1739 break;
1740 case 204:
1741 {
1742 FreeTemplateDataType((*yyvaluep).templateDatatype);
1743 }
1744 ;
1745 break;
1746 case 205:
1747 {
1748 FreeTemplateArgument((*yyvaluep).templateArgument);
1749 }
1750 ;
1751 break;
1752 case 206:
1753 {
1754 FreeTemplateArgument((*yyvaluep).templateArgument);
1755 }
1756 ;
1757 break;
1758 case 207:
1759 {
1760 FreeTemplateArgument((*yyvaluep).templateArgument);
1761 }
1762 ;
1763 break;
1764 case 210:
1765 {
1766 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1767 }
1768 ;
1769 break;
1770 case 211:
1771 {
1772 FreeMemberInit((*yyvaluep).memberInit);
1773 }
1774 ;
1775 break;
1776 case 212:
1777 {
1778 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1779 }
1780 ;
1781 break;
1782 case 213:
1783 {
1784 FreeProperty((*yyvaluep).prop);
1785 }
1786 ;
1787 break;
1788 case 214:
1789 {
1790 FreeClassDef((*yyvaluep).classDef);
1791 }
1792 ;
1793 break;
1794 case 215:
1795 {
1796 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
1797 }
1798 ;
1799 break;
1800 case 216:
1801 {
1802 FreeDeclarator((*yyvaluep).declarator);
1803 }
1804 ;
1805 break;
1806 case 217:
1807 {
1808 FreeSpecifier((*yyvaluep).specifier);
1809 }
1810 ;
1811 break;
1812 case 218:
1813 {
1814 FreeSpecifier((*yyvaluep).specifier);
1815 }
1816 ;
1817 break;
1818 case 219:
1819 {
1820 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
1821 }
1822 ;
1823 break;
1824 case 220:
1825 {
1826 FreeEnumerator((*yyvaluep).enumerator);
1827 }
1828 ;
1829 break;
1830 case 221:
1831 {
1832 FreeDeclarator((*yyvaluep).declarator);
1833 }
1834 ;
1835 break;
1836 case 222:
1837 {
1838 FreeDeclarator((*yyvaluep).declarator);
1839 }
1840 ;
1841 break;
1842 case 223:
1843 {
1844 FreeDeclarator((*yyvaluep).declarator);
1845 }
1846 ;
1847 break;
1848 case 224:
1849 {
1850 FreeDeclarator((*yyvaluep).declarator);
1851 }
1852 ;
1853 break;
1854 case 225:
1855 {
1856 FreeDeclarator((*yyvaluep).declarator);
1857 }
1858 ;
1859 break;
1860 case 226:
1861 {
1862 FreeDeclarator((*yyvaluep).declarator);
1863 }
1864 ;
1865 break;
1866 case 227:
1867 {
1868 FreeDeclarator((*yyvaluep).declarator);
1869 }
1870 ;
1871 break;
1872 case 228:
1873 {
1874 FreeDeclarator((*yyvaluep).declarator);
1875 }
1876 ;
1877 break;
1878 case 229:
1879 {
1880 FreeDeclarator((*yyvaluep).declarator);
1881 }
1882 ;
1883 break;
1884 case 230:
1885 {
1886 FreeDeclarator((*yyvaluep).declarator);
1887 }
1888 ;
1889 break;
1890 case 231:
1891 {
1892 FreeDeclarator((*yyvaluep).declarator);
1893 }
1894 ;
1895 break;
1896 case 232:
1897 {
1898 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
1899 }
1900 ;
1901 break;
1902 case 233:
1903 {
1904 FreePointer((*yyvaluep).pointer);
1905 }
1906 ;
1907 break;
1908 case 234:
1909 {
1910 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1911 }
1912 ;
1913 break;
1914 case 235:
1915 {
1916 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1917 }
1918 ;
1919 break;
1920 case 236:
1921 {
1922 FreeTypeName((*yyvaluep).typeName);
1923 }
1924 ;
1925 break;
1926 case 237:
1927 {
1928 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
1929 }
1930 ;
1931 break;
1932 case 238:
1933 {
1934 FreeTypeName((*yyvaluep).typeName);
1935 }
1936 ;
1937 break;
1938 case 239:
1939 {
1940 FreeTypeName((*yyvaluep).typeName);
1941 }
1942 ;
1943 break;
1944 case 240:
1945 {
1946 FreeInitializer((*yyvaluep).initializer);
1947 }
1948 ;
1949 break;
1950 case 241:
1951 {
1952 FreeInitializer((*yyvaluep).initializer);
1953 }
1954 ;
1955 break;
1956 case 242:
1957 {
1958 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
1959 }
1960 ;
1961 break;
1962 case 243:
1963 {
1964 FreeStatement((*yyvaluep).stmt);
1965 }
1966 ;
1967 break;
1968 case 244:
1969 {
1970 FreeStatement((*yyvaluep).stmt);
1971 }
1972 ;
1973 break;
1974 case 245:
1975 {
1976 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
1977 }
1978 ;
1979 break;
1980 case 246:
1981 {
1982 FreeList((*yyvaluep).list, (void *)(FreeStatement));
1983 }
1984 ;
1985 break;
1986 case 247:
1987 {
1988 FreeStatement((*yyvaluep).stmt);
1989 }
1990 ;
1991 break;
1992 case 248:
1993 {
1994 PopContext((*yyvaluep).context);
1995 FreeContext((*yyvaluep).context);
1996 (((*yyvaluep).context ? __extension__ ({
1997 void * __ecerePtrToDelete = ((*yyvaluep).context);
1998
1999 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2000 }) : 0), (*yyvaluep).context = 0);
2001 }
2002 ;
2003 break;
2004 case 249:
2005 {
2006 FreeStatement((*yyvaluep).stmt);
2007 }
2008 ;
2009 break;
2010 case 250:
2011 {
2012 FreeStatement((*yyvaluep).stmt);
2013 }
2014 ;
2015 break;
2016 case 251:
2017 {
2018 FreeStatement((*yyvaluep).stmt);
2019 }
2020 ;
2021 break;
2022 case 252:
2023 {
2024 FreeStatement((*yyvaluep).stmt);
2025 }
2026 ;
2027 break;
2028 case 253:
2029 {
2030 FreeStatement((*yyvaluep).stmt);
2031 }
2032 ;
2033 break;
2034 case 254:
2035 {
2036 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2037 }
2038 ;
2039 break;
2040 case 255:
2041 {
2042 FreeInstance((*yyvaluep).instance);
2043 }
2044 ;
2045 break;
2046 case 257:
2047 {
2048 FreeInstance((*yyvaluep).instance);
2049 }
2050 ;
2051 break;
2052 case 259:
2053 {
2054 FreeClassFunction((*yyvaluep).classFunction);
2055 }
2056 ;
2057 break;
2058 case 260:
2059 {
2060 FreeClassFunction((*yyvaluep).classFunction);
2061 }
2062 ;
2063 break;
2064 case 261:
2065 {
2066 FreeClassFunction((*yyvaluep).classFunction);
2067 }
2068 ;
2069 break;
2070 case 262:
2071 {
2072 FreeMemberInit((*yyvaluep).memberInit);
2073 }
2074 ;
2075 break;
2076 case 263:
2077 {
2078 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2079 }
2080 ;
2081 break;
2082 case 264:
2083 {
2084 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2085 }
2086 ;
2087 break;
2088 case 265:
2089 {
2090 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2091 }
2092 ;
2093 break;
2094 case 266:
2095 {
2096 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2097 }
2098 ;
2099 break;
2100 default:
2101 break;
2102 }
2103 }
2104
2105 int type_yyparse(void)
2106 {
2107 int yystate;
2108 int yyerrstatus;
2109 yytype_int16 yyssa[200];
2110 yytype_int16 * yyss;
2111 yytype_int16 * yyssp;
2112 YYSTYPE yyvsa[200];
2113 YYSTYPE * yyvs;
2114 YYSTYPE * yyvsp;
2115 struct Location yylsa[200];
2116 struct Location * yyls;
2117 struct Location * yylsp;
2118 struct Location yyerror_range[2];
2119 size_t yystacksize;
2120 int yyn;
2121 int yyresult;
2122 int yytoken;
2123 YYSTYPE yyval;
2124 struct Location yyloc;
2125 int yylen = 0;
2126
2127 yytoken = 0;
2128 yyss = yyssa;
2129 yyvs = yyvsa;
2130 yyls = yylsa;
2131 yystacksize = 200;
2132 do
2133 {
2134 if(type_yydebug)
2135 fprintf((bsl_stderr()), "Starting parse\n");
2136 }while((0));
2137 yystate = 0;
2138 yyerrstatus = 0;
2139 type_yynerrs = 0;
2140 type_yychar = (-2);
2141 yyssp = yyss;
2142 yyvsp = yyvs;
2143 yylsp = yyls;
2144 goto yysetstate;
2145 yynewstate:
2146 yyssp++;
2147 yysetstate:
2148 *yyssp = yystate;
2149 if(yyss + yystacksize - 1 <= yyssp)
2150 {
2151 size_t yysize = yyssp - yyss + 1;
2152
2153 if(10000 <= yystacksize)
2154 goto yyexhaustedlab;
2155 yystacksize *= 2;
2156 if(10000 < yystacksize)
2157 yystacksize = 10000;
2158 {
2159 yytype_int16 * yyss1 = yyss;
2160 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
2161
2162 if(!yyptr)
2163 goto yyexhaustedlab;
2164 do
2165 {
2166 size_t yynewbytes;
2167
2168 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
2169 yyss = &(*yyptr).yyss_alloc;
2170 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
2171 yyptr += yynewbytes / sizeof (*yyptr);
2172 }while((0));
2173 do
2174 {
2175 size_t yynewbytes;
2176
2177 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
2178 yyvs = &(*yyptr).yyvs_alloc;
2179 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
2180 yyptr += yynewbytes / sizeof (*yyptr);
2181 }while((0));
2182 do
2183 {
2184 size_t yynewbytes;
2185
2186 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
2187 yyls = &(*yyptr).yyls_alloc;
2188 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
2189 yyptr += yynewbytes / sizeof (*yyptr);
2190 }while((0));
2191 if(yyss1 != yyssa)
2192 free(yyss1);
2193 }
2194 yyssp = yyss + yysize - 1;
2195 yyvsp = yyvs + yysize - 1;
2196 yylsp = yyls + yysize - 1;
2197 do
2198 {
2199 if(type_yydebug)
2200 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
2201 }while((0));
2202 if(yyss + yystacksize - 1 <= yyssp)
2203 goto yyabortlab;
2204 }
2205 do
2206 {
2207 if(type_yydebug)
2208 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
2209 }while((0));
2210 if(yystate == 99)
2211 goto yyacceptlab;
2212 goto yybackup;
2213 yybackup:
2214 yyn = yypact[yystate];
2215 if(yyn == -761)
2216 goto yydefault;
2217 if(type_yychar == (-2))
2218 {
2219 do
2220 {
2221 if(type_yydebug)
2222 fprintf((bsl_stderr()), "Reading a token: ");
2223 }while((0));
2224 type_yychar = yylex();
2225 }
2226 if(type_yychar <= 0)
2227 {
2228 type_yychar = yytoken = 0;
2229 do
2230 {
2231 if(type_yydebug)
2232 fprintf((bsl_stderr()), "Now at end of input.\n");
2233 }while((0));
2234 }
2235 else
2236 {
2237 yytoken = ((unsigned int)(type_yychar) <= 374 ? yytranslate[type_yychar] : 2);
2238 do
2239 {
2240 if(type_yydebug)
2241 {
2242 fprintf((bsl_stderr()), "%s ", "Next token is");
2243 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2244 fprintf((bsl_stderr()), "\n");
2245 }
2246 }while((0));
2247 }
2248 yyn += yytoken;
2249 if(yyn < 0 || 9303 < yyn || yycheck[yyn] != yytoken)
2250 goto yydefault;
2251 yyn = yytable[yyn];
2252 if(yyn <= 0)
2253 {
2254 if(yyn == 0 || yyn == -497)
2255 goto yyerrlab;
2256 yyn = -yyn;
2257 goto yyreduce;
2258 }
2259 if(yyerrstatus)
2260 yyerrstatus--;
2261 do
2262 {
2263 if(type_yydebug)
2264 {
2265 fprintf((bsl_stderr()), "%s ", "Shifting");
2266 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2267 fprintf((bsl_stderr()), "\n");
2268 }
2269 }while((0));
2270 type_yychar = (-2);
2271 yystate = yyn;
2272 *++yyvsp = type_yylval;
2273 *++yylsp = type_yylloc;
2274 goto yynewstate;
2275 yydefault:
2276 yyn = yydefact[yystate];
2277 if(yyn == 0)
2278 goto yyerrlab;
2279 goto yyreduce;
2280 yyreduce:
2281 yylen = yyr2[yyn];
2282 yyval = yyvsp[1 - yylen];
2283 (yyloc.start = ((yylsp - yylen))[1].start);
2284 (yyloc.end = ((yylsp - yylen))[yylen].end);
2285 ;
2286 do
2287 {
2288 if(type_yydebug)
2289 yy_reduce_print(yyvsp, yylsp, yyn);
2290 }while((0));
2291 switch(yyn)
2292 {
2293 case 2:
2294 {
2295 yyval.specifier = (((void *)0));
2296 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2297 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2298 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2299
2300 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2301 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2302 resetScannerPos(&(yylsp[(1) - (2)]).start);
2303 (type_yychar = (-2));
2304 FreeIdentifier(yyvsp[(1) - (2)].id);
2305 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2306 yystate = *yyssp;
2307 do
2308 {
2309 if(type_yydebug)
2310 yy_stack_print((yyss), (yyssp));
2311 }while((0));
2312 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2313 yystate = *yyssp;
2314 do
2315 {
2316 if(type_yydebug)
2317 yy_stack_print((yyss), (yyssp));
2318 }while((0));
2319 goto yysetstate;
2320 ;
2321 }
2322 break;
2323 case 3:
2324 {
2325 yyval.specifier = (((void *)0));
2326 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2327 FreeIdentifier(yyvsp[(1) - (2)].id);
2328 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2329 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2330
2331 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2332 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2333 resetScannerPos(&(yylsp[(1) - (2)]).start);
2334 (type_yychar = (-2));
2335 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2336 yystate = *yyssp;
2337 do
2338 {
2339 if(type_yydebug)
2340 yy_stack_print((yyss), (yyssp));
2341 }while((0));
2342 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2343 yystate = *yyssp;
2344 do
2345 {
2346 if(type_yydebug)
2347 yy_stack_print((yyss), (yyssp));
2348 }while((0));
2349 goto yysetstate;
2350 ;
2351 }
2352 break;
2353 case 4:
2354 {
2355 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2356 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2357 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2358
2359 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2360 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2361 parseTypeError = (unsigned int)0;
2362 resetScannerPos(&(yylsp[(1) - (2)]).start);
2363 (type_yychar = (-2));
2364 FreeIdentifier(yyvsp[(1) - (2)].id);
2365 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2366 yystate = *yyssp;
2367 do
2368 {
2369 if(type_yydebug)
2370 yy_stack_print((yyss), (yyssp));
2371 }while((0));
2372 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2373 yystate = *yyssp;
2374 do
2375 {
2376 if(type_yydebug)
2377 yy_stack_print((yyss), (yyssp));
2378 }while((0));
2379 goto yysetstate;
2380 ;
2381 }
2382 break;
2383 case 5:
2384 {
2385 yyval.specifier = yyvsp[(1) - (1)].specifier;
2386 ;
2387 }
2388 break;
2389 case 6:
2390 {
2391 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2392 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2393 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2394
2395 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2396 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2397 resetScannerPos(&(yylsp[(1) - (2)]).start);
2398 (type_yychar = (-2));
2399 FreeIdentifier(yyvsp[(1) - (2)].id);
2400 FreeIdentifier(yyvsp[(2) - (2)].id);
2401 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2402 yystate = *yyssp;
2403 do
2404 {
2405 if(type_yydebug)
2406 yy_stack_print((yyss), (yyssp));
2407 }while((0));
2408 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2409 yystate = *yyssp;
2410 do
2411 {
2412 if(type_yydebug)
2413 yy_stack_print((yyss), (yyssp));
2414 }while((0));
2415 goto yysetstate;
2416 ;
2417 }
2418 break;
2419 case 7:
2420 {
2421 yyval.specifier = MkSpecifierName(yytext);
2422 ;
2423 }
2424 break;
2425 case 9:
2426 {
2427 yyval.specifier = yyvsp[(1) - (4)].specifier;
2428 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2429 yyval.specifier->loc = (yyloc);
2430 ;
2431 }
2432 break;
2433 case 10:
2434 {
2435 yyval.specifier = yyvsp[(1) - (4)].specifier;
2436 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2437 yyval.specifier->loc = (yyloc);
2438 (yylsp[(4) - (4)]).end.pos--;
2439 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2440 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2441
2442 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2443 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(4) - (4)]).end.pos, 0);
2444 resetScannerPos(&(yylsp[(4) - (4)]).end);
2445 (type_yychar = (-2));
2446 ;
2447 }
2448 break;
2449 case 11:
2450 {
2451 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2452 yyval.classFunction->loc = (yyloc);
2453 ;
2454 }
2455 break;
2456 case 12:
2457 {
2458 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
2459 yyval.classFunction->loc = (yyloc);
2460 ;
2461 }
2462 break;
2463 case 13:
2464 {
2465 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2466 yyval.classFunction->isConstructor = 1;
2467 yyval.classFunction->loc = (yyloc);
2468 FreeList(yyvsp[(1) - (3)].list, (void *)(FreeSpecifier));
2469 ;
2470 }
2471 break;
2472 case 14:
2473 {
2474 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2475 yyval.classFunction->isDestructor = 1;
2476 yyval.classFunction->loc = (yyloc);
2477 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
2478 ;
2479 }
2480 break;
2481 case 15:
2482 {
2483 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
2484 yyval.classFunction->isVirtual = 1;
2485 yyval.classFunction->loc = (yyloc);
2486 ;
2487 }
2488 break;
2489 case 16:
2490 {
2491 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2492 yyval.classFunction->isVirtual = 1;
2493 yyval.classFunction->loc = (yyloc);
2494 ;
2495 }
2496 break;
2497 case 17:
2498 {
2499 yyval.id = MkIdentifier(yytext);
2500 yyval.id->loc = (yylsp[(1) - (1)]);
2501 ;
2502 }
2503 break;
2504 case 19:
2505 {
2506 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
2507 yyval.exp->loc = (yyloc);
2508 ;
2509 }
2510 break;
2511 case 20:
2512 {
2513 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
2514 yyval.exp->loc = (yyloc);
2515 ;
2516 }
2517 break;
2518 case 21:
2519 {
2520 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2521 yyval.exp->loc = (yyloc);
2522 ;
2523 }
2524 break;
2525 case 22:
2526 {
2527 yyval.exp = MkExpConstant(yytext);
2528 yyval.exp->loc = (yyloc);
2529 ;
2530 }
2531 break;
2532 case 23:
2533 {
2534 yyval.exp = MkExpWideString(yytext);
2535 yyval.exp->loc = (yyloc);
2536 ;
2537 }
2538 break;
2539 case 24:
2540 {
2541 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
2542 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
2543 yyval.exp->loc = (yyloc);
2544 ;
2545 }
2546 break;
2547 case 25:
2548 {
2549 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
2550 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
2551 yyval.exp->loc = (yyloc);
2552 ;
2553 }
2554 break;
2555 case 26:
2556 {
2557 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
2558 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
2559 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
2560 yyval.exp->loc = (yyloc);
2561 ;
2562 }
2563 break;
2564 case 27:
2565 {
2566 struct Expression * exp = MkExpDummy();
2567
2568 exp->loc.start = (yylsp[(1) - (2)]).end;
2569 exp->loc.end = (yylsp[(2) - (2)]).start;
2570 yyval.exp = MkExpBrackets(MkListOne(exp));
2571 yyval.exp->loc = (yyloc);
2572 yyerror();
2573 ;
2574 }
2575 break;
2576 case 28:
2577 {
2578 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2579 yyval.exp->loc = (yyloc);
2580 ;
2581 }
2582 break;
2583 case 29:
2584 {
2585 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2586 yyval.exp->loc = (yyloc);
2587 ;
2588 }
2589 break;
2590 case 30:
2591 {
2592 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2593 yyval.exp->loc = (yyloc);
2594 ;
2595 }
2596 break;
2597 case 31:
2598 {
2599 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2600 yyval.exp->loc = (yyloc);
2601 ;
2602 }
2603 break;
2604 case 32:
2605 {
2606 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2607 yyval.exp->loc = (yyloc);
2608 ;
2609 }
2610 break;
2611 case 33:
2612 {
2613 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2614 yyval.exp->loc = (yyloc);
2615 ;
2616 }
2617 break;
2618 case 34:
2619 {
2620 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2621 yyval.exp->loc = (yyloc);
2622 ;
2623 }
2624 break;
2625 case 35:
2626 {
2627 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2628 yyval.exp->loc = (yyloc);
2629 ;
2630 }
2631 break;
2632 case 36:
2633 {
2634 yyval.exp = MkExpDummy();
2635 ;
2636 }
2637 break;
2638 case 38:
2639 {
2640 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2641 yyval.exp->loc = (yyloc);
2642 ;
2643 }
2644 break;
2645 case 39:
2646 {
2647 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
2648 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
2649 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
2650 yyval.exp->loc = (yyloc);
2651 ;
2652 }
2653 break;
2654 case 40:
2655 {
2656 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2657 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
2658 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
2659 yyval.exp->loc = (yyloc);
2660 ;
2661 }
2662 break;
2663 case 41:
2664 {
2665 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2666 yyval.exp->loc = (yyloc);
2667 ;
2668 }
2669 break;
2670 case 42:
2671 {
2672 char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
2673 int len = constant ? strlen(constant) : 0;
2674
2675 if(constant && constant[len - 1] == '.')
2676 {
2677 constant[len - 1] = 0;
2678 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
2679 yyval.exp->loc = (yyloc);
2680 }
2681 else
2682 yyerror();
2683 ;
2684 }
2685 break;
2686 case 43:
2687 {
2688 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2689 yyval.exp->loc = (yyloc);
2690 ;
2691 }
2692 break;
2693 case 44:
2694 {
2695 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
2696 yyval.exp->loc = (yyloc);
2697 ;
2698 }
2699 break;
2700 case 45:
2701 {
2702 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
2703 yyval.exp->loc = (yyloc);
2704 ;
2705 }
2706 break;
2707 case 46:
2708 {
2709 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2710 yyval.exp->loc = (yyloc);
2711 ;
2712 }
2713 break;
2714 case 47:
2715 {
2716 yyval.list = MkList();
2717 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2718 ;
2719 }
2720 break;
2721 case 48:
2722 {
2723 yyval.list = MkList();
2724 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2725 ;
2726 }
2727 break;
2728 case 49:
2729 {
2730 yyval.list = yyvsp[(1) - (3)].list;
2731 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2732 ;
2733 }
2734 break;
2735 case 50:
2736 {
2737 yyval.list = yyvsp[(1) - (3)].list;
2738 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2739 ;
2740 }
2741 break;
2742 case 51:
2743 {
2744 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
2745 yyval.exp->loc = (yyloc);
2746 ;
2747 }
2748 break;
2749 case 52:
2750 {
2751 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
2752 yyval.exp->loc = (yyloc);
2753 ;
2754 }
2755 break;
2756 case 53:
2757 {
2758 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
2759 yyval.exp->loc = (yyloc);
2760 ;
2761 }
2762 break;
2763 case 54:
2764 {
2765 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
2766 yyval.exp->loc = (yyloc);
2767 ;
2768 }
2769 break;
2770 case 55:
2771 {
2772 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
2773 yyval.exp->loc = (yyloc);
2774 ;
2775 }
2776 break;
2777 case 56:
2778 {
2779 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
2780 yyval.exp->loc = (yyloc);
2781 ;
2782 }
2783 break;
2784 case 57:
2785 {
2786 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
2787 yyval.exp->loc = (yyloc);
2788 ;
2789 }
2790 break;
2791 case 60:
2792 {
2793 yyval.i = '&';
2794 ;
2795 }
2796 break;
2797 case 61:
2798 {
2799 yyval.i = '*';
2800 ;
2801 }
2802 break;
2803 case 62:
2804 {
2805 yyval.i = '+';
2806 ;
2807 }
2808 break;
2809 case 63:
2810 {
2811 yyval.i = '-';
2812 ;
2813 }
2814 break;
2815 case 64:
2816 {
2817 yyval.i = '~';
2818 ;
2819 }
2820 break;
2821 case 65:
2822 {
2823 yyval.i = '!';
2824 ;
2825 }
2826 break;
2827 case 66:
2828 {
2829 yyval.i = DELETE;
2830 ;
2831 }
2832 break;
2833 case 68:
2834 {
2835 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
2836 yyval.exp->loc = (yyloc);
2837 ;
2838 }
2839 break;
2840 case 70:
2841 {
2842 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
2843 yyval.exp->loc = (yyloc);
2844 ;
2845 }
2846 break;
2847 case 71:
2848 {
2849 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
2850 yyval.exp->loc = (yyloc);
2851 ;
2852 }
2853 break;
2854 case 72:
2855 {
2856 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
2857 yyval.exp->loc = (yyloc);
2858 ;
2859 }
2860 break;
2861 case 74:
2862 {
2863 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
2864 yyval.exp->loc = (yyloc);
2865 ;
2866 }
2867 break;
2868 case 75:
2869 {
2870 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
2871 yyval.exp->loc = (yyloc);
2872 ;
2873 }
2874 break;
2875 case 77:
2876 {
2877 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
2878 yyval.exp->loc = (yyloc);
2879 ;
2880 }
2881 break;
2882 case 78:
2883 {
2884 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
2885 yyval.exp->loc = (yyloc);
2886 ;
2887 }
2888 break;
2889 case 79:
2890 {
2891 yyval.exp = yyvsp[(1) - (2)].exp;
2892 skipErrors = 1;
2893 ;
2894 }
2895 break;
2896 case 81:
2897 {
2898 skipErrors = 0;
2899 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
2900 yyval.exp->loc = (yyloc);
2901 ;
2902 }
2903 break;
2904 case 82:
2905 {
2906 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
2907 yyval.exp->loc = (yyloc);
2908 ;
2909 }
2910 break;
2911 case 83:
2912 {
2913 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
2914 yyval.exp->loc = (yyloc);
2915 ;
2916 }
2917 break;
2918 case 84:
2919 {
2920 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
2921 yyval.exp->loc = (yyloc);
2922 ;
2923 }
2924 break;
2925 case 86:
2926 {
2927 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
2928 yyval.exp->loc = (yyloc);
2929 ;
2930 }
2931 break;
2932 case 87:
2933 {
2934 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
2935 yyval.exp->loc = (yyloc);
2936 ;
2937 }
2938 break;
2939 case 89:
2940 {
2941 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
2942 yyval.exp->loc = (yyloc);
2943 ;
2944 }
2945 break;
2946 case 91:
2947 {
2948 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
2949 yyval.exp->loc = (yyloc);
2950 ;
2951 }
2952 break;
2953 case 93:
2954 {
2955 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
2956 yyval.exp->loc = (yyloc);
2957 ;
2958 }
2959 break;
2960 case 95:
2961 {
2962 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
2963 yyval.exp->loc = (yyloc);
2964 ;
2965 }
2966 break;
2967 case 97:
2968 {
2969 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
2970 yyval.exp->loc = (yyloc);
2971 ;
2972 }
2973 break;
2974 case 99:
2975 {
2976 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
2977 yyval.exp->loc = (yyloc);
2978 ;
2979 }
2980 break;
2981 case 101:
2982 {
2983 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
2984 yyval.exp->loc = (yyloc);
2985 ;
2986 }
2987 break;
2988 case 102:
2989 {
2990 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
2991 yyval.exp->loc = (yyloc);
2992 ;
2993 }
2994 break;
2995 case 103:
2996 {
2997 yyval.i = '=';
2998 ;
2999 }
3000 break;
3001 case 104:
3002 {
3003 yyval.i = MUL_ASSIGN;
3004 ;
3005 }
3006 break;
3007 case 105:
3008 {
3009 yyval.i = DIV_ASSIGN;
3010 ;
3011 }
3012 break;
3013 case 106:
3014 {
3015 yyval.i = MOD_ASSIGN;
3016 ;
3017 }
3018 break;
3019 case 107:
3020 {
3021 yyval.i = ADD_ASSIGN;
3022 ;
3023 }
3024 break;
3025 case 108:
3026 {
3027 yyval.i = SUB_ASSIGN;
3028 ;
3029 }
3030 break;
3031 case 109:
3032 {
3033 yyval.i = LEFT_ASSIGN;
3034 ;
3035 }
3036 break;
3037 case 110:
3038 {
3039 yyval.i = RIGHT_ASSIGN;
3040 ;
3041 }
3042 break;
3043 case 111:
3044 {
3045 yyval.i = AND_ASSIGN;
3046 ;
3047 }
3048 break;
3049 case 112:
3050 {
3051 yyval.i = XOR_ASSIGN;
3052 ;
3053 }
3054 break;
3055 case 113:
3056 {
3057 yyval.i = OR_ASSIGN;
3058 ;
3059 }
3060 break;
3061 case 114:
3062 {
3063 yyval.list = MkList();
3064 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
3065 ;
3066 }
3067 break;
3068 case 115:
3069 {
3070 yyval.list = yyvsp[(1) - (3)].list;
3071 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
3072 ;
3073 }
3074 break;
3075 case 117:
3076 {
3077 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
3078 yyval.declaration->loc = (yyloc);
3079 ;
3080 }
3081 break;
3082 case 118:
3083 {
3084 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
3085 yyval.declaration->loc = (yyloc);
3086 ;
3087 }
3088 break;
3089 case 119:
3090 {
3091 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
3092 yyval.declaration->loc = (yyloc);
3093 ;
3094 }
3095 break;
3096 case 120:
3097 {
3098 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
3099 yyval.declaration->loc = (yyloc);
3100 ;
3101 }
3102 break;
3103 case 121:
3104 {
3105 yyval.list = MkList();
3106 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3107 ;
3108 }
3109 break;
3110 case 122:
3111 {
3112 yyval.list = yyvsp[(1) - (2)].list;
3113 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3114 ;
3115 }
3116 break;
3117 case 123:
3118 {
3119 yyval.list = MkList();
3120 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3121 ;
3122 }
3123 break;
3124 case 124:
3125 {
3126 yyval.list = yyvsp[(1) - (2)].list;
3127 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3128 ;
3129 }
3130 break;
3131 case 125:
3132 {
3133 yyval.list = MkList();
3134 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3135 ;
3136 }
3137 break;
3138 case 126:
3139 {
3140 yyval.list = yyvsp[(1) - (2)].list;
3141 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3142 ;
3143 }
3144 break;
3145 case 127:
3146 {
3147 yyval.list = MkList();
3148 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3149 ;
3150 }
3151 break;
3152 case 128:
3153 {
3154 yyval.list = yyvsp[(1) - (2)].list;
3155 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3156 ;
3157 }
3158 break;
3159 case 129:
3160 {
3161 yyval.list = MkList();
3162 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3163 ;
3164 }
3165 break;
3166 case 130:
3167 {
3168 yyval.list = yyvsp[(1) - (2)].list;
3169 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3170 ;
3171 }
3172 break;
3173 case 131:
3174 {
3175 yyval.list = MkList();
3176 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3177 ;
3178 }
3179 break;
3180 case 132:
3181 {
3182 yyval.list = yyvsp[(1) - (2)].list;
3183 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3184 ;
3185 }
3186 break;
3187 case 133:
3188 {
3189 yyval.list = MkList();
3190 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3191 ;
3192 }
3193 break;
3194 case 134:
3195 {
3196 yyval.list = yyvsp[(1) - (2)].list;
3197 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3198 ;
3199 }
3200 break;
3201 case 135:
3202 {
3203 yyval.list = MkList();
3204 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3205 ;
3206 }
3207 break;
3208 case 136:
3209 {
3210 yyval.list = yyvsp[(1) - (2)].list;
3211 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3212 ;
3213 }
3214 break;
3215 case 137:
3216 {
3217 yyval.list = MkList();
3218 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3219 ;
3220 }
3221 break;
3222 case 138:
3223 {
3224 yyval.list = yyvsp[(1) - (2)].list;
3225 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3226 ;
3227 }
3228 break;
3229 case 139:
3230 {
3231 yyval.list = MkList();
3232 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3233 ;
3234 }
3235 break;
3236 case 140:
3237 {
3238 yyval.list = yyvsp[(1) - (2)].list;
3239 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3240 ;
3241 }
3242 break;
3243 case 141:
3244 {
3245 yyval.list = MkList();
3246 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3247 ;
3248 }
3249 break;
3250 case 142:
3251 {
3252 yyval.list = yyvsp[(1) - (2)].list;
3253 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3254 ;
3255 }
3256 break;
3257 case 143:
3258 {
3259 yyval.list = MkList();
3260 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3261 ;
3262 }
3263 break;
3264 case 144:
3265 {
3266 yyval.list = yyvsp[(1) - (2)].list;
3267 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3268 ;
3269 }
3270 break;
3271 case 145:
3272 {
3273 yyval.list = MkList();
3274 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3275 ;
3276 }
3277 break;
3278 case 146:
3279 {
3280 yyval.list = yyvsp[(1) - (2)].list;
3281 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3282 ;
3283 }
3284 break;
3285 case 147:
3286 {
3287 yyval.list = MkList();
3288 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3289 ;
3290 }
3291 break;
3292 case 148:
3293 {
3294 yyval.list = yyvsp[(1) - (2)].list;
3295 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3296 ;
3297 }
3298 break;
3299 case 149:
3300 {
3301 yyval.list = MkList();
3302 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3303 ;
3304 }
3305 break;
3306 case 150:
3307 {
3308 yyval.list = yyvsp[(1) - (2)].list;
3309 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3310 ;
3311 }
3312 break;
3313 case 151:
3314 {
3315 yyval.list = MkList();
3316 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3317 ;
3318 }
3319 break;
3320 case 152:
3321 {
3322 yyval.list = yyvsp[(1) - (2)].list;
3323 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3324 ;
3325 }
3326 break;
3327 case 153:
3328 {
3329 yyval.list = MkList();
3330 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3331 ;
3332 }
3333 break;
3334 case 154:
3335 {
3336 yyval.list = yyvsp[(1) - (2)].list;
3337 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3338 ;
3339 }
3340 break;
3341 case 155:
3342 {
3343 yyval.list = MkList();
3344 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3345 ;
3346 }
3347 break;
3348 case 156:
3349 {
3350 yyval.list = yyvsp[(1) - (2)].list;
3351 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3352 ;
3353 }
3354 break;
3355 case 157:
3356 {
3357 yyval.list = MkList();
3358 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3359 ;
3360 }
3361 break;
3362 case 158:
3363 {
3364 yyval.list = yyvsp[(1) - (2)].list;
3365 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3366 ;
3367 }
3368 break;
3369 case 159:
3370 {
3371 yyval.list = MkList();
3372 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3373 ;
3374 }
3375 break;
3376 case 160:
3377 {
3378 yyval.list = yyvsp[(1) - (2)].list;
3379 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3380 ;
3381 }
3382 break;
3383 case 161:
3384 {
3385 yyval.list = yyvsp[(1) - (1)].list;
3386 ;
3387 }
3388 break;
3389 case 162:
3390 {
3391 yyval.list = MkList();
3392 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3393 ;
3394 }
3395 break;
3396 case 163:
3397 {
3398 yyval.list = MkList();
3399 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3400 ;
3401 }
3402 break;
3403 case 164:
3404 {
3405 yyval.list = yyvsp[(1) - (2)].list;
3406 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3407 ;
3408 }
3409 break;
3410 case 165:
3411 {
3412 yyval.list = MkList();
3413 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3414 ;
3415 }
3416 break;
3417 case 166:
3418 {
3419 yyval.list = yyvsp[(1) - (2)].list;
3420 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3421 ;
3422 }
3423 break;
3424 case 167:
3425 {
3426 yyval.list = MkList();
3427 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3428 ;
3429 }
3430 break;
3431 case 168:
3432 {
3433 yyval.list = yyvsp[(1) - (2)].list;
3434 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3435 ;
3436 }
3437 break;
3438 case 169:
3439 {
3440 yyval.list = MkList();
3441 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3442 FreeIdentifier(yyvsp[(1) - (1)].id);
3443 ;
3444 }
3445 break;
3446 case 170:
3447 {
3448 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3449 FreeIdentifier(yyvsp[(2) - (2)].id);
3450 ;
3451 }
3452 break;
3453 case 171:
3454 {
3455 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3456 yyval.list = MkList();
3457 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3458 FreeIdentifier(yyvsp[(1) - (4)].id);
3459 ;
3460 }
3461 break;
3462 case 172:
3463 {
3464 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3465 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3466 FreeIdentifier(yyvsp[(2) - (5)].id);
3467 ;
3468 }
3469 break;
3470 case 173:
3471 {
3472 yyval.list = MkList();
3473 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3474 ;
3475 }
3476 break;
3477 case 174:
3478 {
3479 yyval.list = yyvsp[(1) - (2)].list;
3480 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3481 ;
3482 }
3483 break;
3484 case 175:
3485 {
3486 yyval.list = MkList();
3487 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3488 ;
3489 }
3490 break;
3491 case 176:
3492 {
3493 yyval.list = yyvsp[(1) - (2)].list;
3494 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3495 ;
3496 }
3497 break;
3498 case 177:
3499 {
3500 yyval.list = MkList();
3501 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3502 ;
3503 }
3504 break;
3505 case 178:
3506 {
3507 yyval.list = yyvsp[(1) - (2)].list;
3508 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3509 ;
3510 }
3511 break;
3512 case 179:
3513 {
3514 yyval.list = MkList();
3515 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3516 ;
3517 }
3518 break;
3519 case 180:
3520 {
3521 yyval.list = yyvsp[(1) - (2)].list;
3522 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3523 ;
3524 }
3525 break;
3526 case 181:
3527 {
3528 yyval.list = MkList();
3529 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3530 ;
3531 }
3532 break;
3533 case 182:
3534 {
3535 yyval.list = yyvsp[(1) - (2)].list;
3536 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3537 ;
3538 }
3539 break;
3540 case 183:
3541 {
3542 yyval.list = MkList();
3543 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3544 FreeIdentifier(yyvsp[(1) - (1)].id);
3545 ;
3546 }
3547 break;
3548 case 184:
3549 {
3550 yyval.list = yyvsp[(1) - (2)].list;
3551 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3552 FreeIdentifier(yyvsp[(2) - (2)].id);
3553 }
3554 break;
3555 case 185:
3556 {
3557 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3558 yyval.list = MkList();
3559 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3560 FreeIdentifier(yyvsp[(1) - (4)].id);
3561 ;
3562 }
3563 break;
3564 case 186:
3565 {
3566 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3567 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3568 FreeIdentifier(yyvsp[(2) - (5)].id);
3569 ;
3570 }
3571 break;
3572 case 187:
3573 {
3574 yyval.list = MkList();
3575 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
3576 ;
3577 }
3578 break;
3579 case 188:
3580 {
3581 yyval.list = yyvsp[(1) - (3)].list;
3582 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
3583 ;
3584 }
3585 break;
3586 case 189:
3587 {
3588 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3589 yyval.initDeclarator->loc = (yyloc);
3590 ;
3591 }
3592 break;
3593 case 190:
3594 {
3595 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
3596 yyval.initDeclarator->loc = (yyloc);
3597 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
3598 ;
3599 }
3600 break;
3601 case 191:
3602 {
3603 yyval.specifier = MkSpecifier(TYPEDEF);
3604 ;
3605 }
3606 break;
3607 case 192:
3608 {
3609 yyval.specifier = MkSpecifier(EXTERN);
3610 ;
3611 }
3612 break;
3613 case 193:
3614 {
3615 yyval.specifier = MkSpecifier(STATIC);
3616 ;
3617 }
3618 break;
3619 case 194:
3620 {
3621 yyval.specifier = MkSpecifier(AUTO);
3622 ;
3623 }
3624 break;
3625 case 195:
3626 {
3627 yyval.specifier = MkSpecifier(REGISTER);
3628 ;
3629 }
3630 break;
3631 case 196:
3632 {
3633 yyval.specifier = MkSpecifier(THREAD);
3634 ;
3635 }
3636 break;
3637 case 197:
3638 {
3639 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3640 ;
3641 }
3642 break;
3643 case 198:
3644 {
3645 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3646 ;
3647 }
3648 break;
3649 case 199:
3650 {
3651 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
3652 ;
3653 }
3654 break;
3655 case 200:
3656 {
3657 yyval.i = ATTRIB;
3658 ;
3659 }
3660 break;
3661 case 201:
3662 {
3663 yyval.i = ATTRIB_DEP;
3664 ;
3665 }
3666 break;
3667 case 202:
3668 {
3669 yyval.i = __ATTRIB;
3670 ;
3671 }
3672 break;
3673 case 203:
3674 {
3675 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3676 ;
3677 }
3678 break;
3679 case 204:
3680 {
3681 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3682 ;
3683 }
3684 break;
3685 case 205:
3686 {
3687 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3688 ;
3689 }
3690 break;
3691 case 206:
3692 {
3693 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3694 ;
3695 }
3696 break;
3697 case 207:
3698 {
3699 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3700 ;
3701 }
3702 break;
3703 case 208:
3704 {
3705 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
3706 yyval.attribute->loc = (yyloc);
3707 ;
3708 }
3709 break;
3710 case 209:
3711 {
3712 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
3713 yyval.attribute->loc = (yyloc);
3714 ;
3715 }
3716 break;
3717 case 210:
3718 {
3719 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
3720 ;
3721 }
3722 break;
3723 case 211:
3724 {
3725 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
3726 yyval.list = yyvsp[(1) - (2)].list;
3727 ;
3728 }
3729 break;
3730 case 212:
3731 {
3732 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
3733 yyval.list = yyvsp[(1) - (3)].list;
3734 ;
3735 }
3736 break;
3737 case 213:
3738 {
3739 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
3740 yyval.attrib->loc = (yyloc);
3741 ;
3742 }
3743 break;
3744 case 214:
3745 {
3746 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
3747 yyval.attrib->loc = (yyloc);
3748 ;
3749 }
3750 break;
3751 case 215:
3752 {
3753 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
3754 ;
3755 }
3756 break;
3757 case 216:
3758 {
3759 yyval.specifier = MkSpecifier(CONST);
3760 ;
3761 }
3762 break;
3763 case 217:
3764 {
3765 yyval.specifier = MkSpecifier(VOLATILE);
3766 ;
3767 }
3768 break;
3769 case 218:
3770 {
3771 yyval.specifier = yyvsp[(1) - (1)].specifier;
3772 ;
3773 }
3774 break;
3775 case 219:
3776 {
3777 yyval.specifier = MkSpecifier(VOID);
3778 ;
3779 }
3780 break;
3781 case 220:
3782 {
3783 yyval.specifier = MkSpecifier(CHAR);
3784 ;
3785 }
3786 break;
3787 case 221:
3788 {
3789 yyval.specifier = MkSpecifier(SHORT);
3790 ;
3791 }
3792 break;
3793 case 222:
3794 {
3795 yyval.specifier = MkSpecifier(INT);
3796 ;
3797 }
3798 break;
3799 case 223:
3800 {
3801 yyval.specifier = MkSpecifier(UINT);
3802 ;
3803 }
3804 break;
3805 case 224:
3806 {
3807 yyval.specifier = MkSpecifier(INT64);
3808 ;
3809 }
3810 break;
3811 case 225:
3812 {
3813 yyval.specifier = MkSpecifier(VALIST);
3814 ;
3815 }
3816 break;
3817 case 226:
3818 {
3819 yyval.specifier = MkSpecifier(LONG);
3820 ;
3821 }
3822 break;
3823 case 227:
3824 {
3825 yyval.specifier = MkSpecifier(FLOAT);
3826 ;
3827 }
3828 break;
3829 case 228:
3830 {
3831 yyval.specifier = MkSpecifier(DOUBLE);
3832 ;
3833 }
3834 break;
3835 case 229:
3836 {
3837 yyval.specifier = MkSpecifier(SIGNED);
3838 ;
3839 }
3840 break;
3841 case 230:
3842 {
3843 yyval.specifier = MkSpecifier(UNSIGNED);
3844 ;
3845 }
3846 break;
3847 case 231:
3848 {
3849 yyval.specifier = MkSpecifier(EXTENSION);
3850 ;
3851 }
3852 break;
3853 case 232:
3854 {
3855 yyval.specifier = MkSpecifier(_BOOL);
3856 ;
3857 }
3858 break;
3859 case 233:
3860 {
3861 yyval.specifier = MkSpecifier(BOOL);
3862 ;
3863 }
3864 break;
3865 case 237:
3866 {
3867 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
3868 ;
3869 }
3870 break;
3871 case 238:
3872 {
3873 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3874 ;
3875 }
3876 break;
3877 case 239:
3878 {
3879 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
3880 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
3881 FreeIdentifier(yyvsp[(3) - (4)].id);
3882 ;
3883 }
3884 break;
3885 case 240:
3886 {
3887 yyval.specifier = MkSpecifier(THISCLASS);
3888 ;
3889 }
3890 break;
3891 case 241:
3892 {
3893 yyval.specifier = MkSpecifier(TYPED_OBJECT);
3894 ;
3895 }
3896 break;
3897 case 242:
3898 {
3899 yyval.specifier = MkSpecifier(ANY_OBJECT);
3900 ;
3901 }
3902 break;
3903 case 243:
3904 {
3905 yyval.specifier = MkSpecifier(VOID);
3906 ;
3907 }
3908 break;
3909 case 244:
3910 {
3911 yyval.specifier = MkSpecifier(CHAR);
3912 ;
3913 }
3914 break;
3915 case 245:
3916 {
3917 yyval.specifier = MkSpecifier(SHORT);
3918 ;
3919 }
3920 break;
3921 case 246:
3922 {
3923 yyval.specifier = MkSpecifier(INT);
3924 ;
3925 }
3926 break;
3927 case 247:
3928 {
3929 yyval.specifier = MkSpecifier(UINT);
3930 ;
3931 }
3932 break;
3933 case 248:
3934 {
3935 yyval.specifier = MkSpecifier(INT64);
3936 ;
3937 }
3938 break;
3939 case 249:
3940 {
3941 yyval.specifier = MkSpecifier(VALIST);
3942 ;
3943 }
3944 break;
3945 case 250:
3946 {
3947 yyval.specifier = MkSpecifier(LONG);
3948 ;
3949 }
3950 break;
3951 case 251:
3952 {
3953 yyval.specifier = MkSpecifier(FLOAT);
3954 ;
3955 }
3956 break;
3957 case 252:
3958 {
3959 yyval.specifier = MkSpecifier(DOUBLE);
3960 ;
3961 }
3962 break;
3963 case 253:
3964 {
3965 yyval.specifier = MkSpecifier(SIGNED);
3966 ;
3967 }
3968 break;
3969 case 254:
3970 {
3971 yyval.specifier = MkSpecifier(UNSIGNED);
3972 ;
3973 }
3974 break;
3975 case 255:
3976 {
3977 yyval.specifier = MkSpecifier(EXTENSION);
3978 ;
3979 }
3980 break;
3981 case 256:
3982 {
3983 yyval.specifier = MkSpecifier(_BOOL);
3984 ;
3985 }
3986 break;
3987 case 257:
3988 {
3989 yyval.specifier = MkSpecifier(BOOL);
3990 ;
3991 }
3992 break;
3993 case 261:
3994 {
3995 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
3996 ;
3997 }
3998 break;
3999 case 262:
4000 {
4001 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
4002 ;
4003 }
4004 break;
4005 case 263:
4006 {
4007 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
4008 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
4009 FreeIdentifier(yyvsp[(3) - (4)].id);
4010 ;
4011 }
4012 break;
4013 case 264:
4014 {
4015 yyval.specifier = MkSpecifier(THISCLASS);
4016 ;
4017 }
4018 break;
4019 case 265:
4020 {
4021 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4022 if(declMode)
4023 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4024 ;
4025 }
4026 break;
4027 case 266:
4028 {
4029 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
4030 ;
4031 }
4032 break;
4033 case 267:
4034 {
4035 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
4036 if(declMode)
4037 DeclClass(yyvsp[(2) - (4)].id->_class, yyvsp[(2) - (4)].id->string);
4038 ;
4039 }
4040 break;
4041 case 268:
4042 {
4043 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
4044 ;
4045 }
4046 break;
4047 case 269:
4048 {
4049 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4050 if(declMode)
4051 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4052 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4053 ;
4054 }
4055 break;
4056 case 270:
4057 {
4058 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
4059 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4060 if(declMode)
4061 DeclClass(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
4062 ;
4063 }
4064 break;
4065 case 271:
4066 {
4067 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
4068 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4069 ;
4070 }
4071 break;
4072 case 272:
4073 {
4074 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
4075 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4076 if(declMode)
4077 DeclClass(yyvsp[(3) - (5)].id->_class, yyvsp[(3) - (5)].id->string);
4078 ;
4079 }
4080 break;
4081 case 273:
4082 {
4083 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
4084 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
4085 ;
4086 }
4087 break;
4088 case 274:
4089 {
4090 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
4091 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4092 if(declMode)
4093 DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
4094 FreeSpecifier(yyvsp[(3) - (6)].specifier);
4095 ;
4096 }
4097 break;
4098 case 275:
4099 {
4100 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
4101 if(declMode)
4102 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4103 ;
4104 }
4105 break;
4106 case 276:
4107 {
4108 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4109 if(declMode)
4110 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4111 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4112 ;
4113 }
4114 break;
4115 case 277:
4116 {
4117 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
4118 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4119 if(declMode)
4120 DeclClass(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
4121 ;
4122 }
4123 break;
4124 case 278:
4125 {
4126 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
4127 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4128 if(declMode)
4129 DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
4130 FreeSpecifier(yyvsp[(3) - (3)].specifier);
4131 ;
4132 }
4133 break;
4134 case 279:
4135 {
4136 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4137 ;
4138 }
4139 break;
4140 case 280:
4141 {
4142 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4143 ;
4144 }
4145 break;
4146 case 281:
4147 {
4148 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4149 ;
4150 }
4151 break;
4152 case 282:
4153 {
4154 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4155 ;
4156 }
4157 break;
4158 case 283:
4159 {
4160 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
4161 ;
4162 }
4163 break;
4164 case 286:
4165 {
4166 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4167 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4168 yyval.templateArgument->loc = (yyloc);
4169 ;
4170 }
4171 break;
4172 case 287:
4173 {
4174 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4175 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4176 yyval.templateArgument->loc = (yyloc);
4177 ;
4178 }
4179 break;
4180 case 288:
4181 {
4182 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4183 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4184 {
4185 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4186
4187 if(spec->type == 1)
4188 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4189 }
4190 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4191 yyval.templateArgument->loc = (yyloc);
4192 ;
4193 }
4194 break;
4195 case 289:
4196 {
4197 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4198 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4199 {
4200 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4201
4202 if(spec->type == 1)
4203 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4204 }
4205 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4206 yyval.templateArgument->loc = (yyloc);
4207 ;
4208 }
4209 break;
4210 case 290:
4211 {
4212 yyval.list = MkList();
4213 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
4214 ;
4215 }
4216 break;
4217 case 291:
4218 {
4219 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
4220 ;
4221 }
4222 break;
4223 case 292:
4224 {
4225 yyval.specifierType = 3;
4226 ;
4227 }
4228 break;
4229 case 293:
4230 {
4231 yyval.specifierType = 4;
4232 ;
4233 }
4234 break;
4235 case 294:
4236 {
4237 yyval.list = MkList();
4238 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4239 ;
4240 }
4241 break;
4242 case 295:
4243 {
4244 yyval.list = yyvsp[(1) - (2)].list;
4245 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4246 ;
4247 }
4248 break;
4249 case 296:
4250 {
4251 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4252 yyval.memberInit->loc = (yyloc);
4253 yyval.memberInit->realLoc = (yyloc);
4254 ;
4255 }
4256 break;
4257 case 297:
4258 {
4259 yyval.list = MkList();
4260 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4261 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4262 ;
4263 }
4264 break;
4265 case 298:
4266 {
4267 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4268 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4269 yyval.list = yyvsp[(1) - (3)].list;
4270 ;
4271 }
4272 break;
4273 case 299:
4274 {
4275 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4276 yyval.prop->loc = (yyloc);
4277 ;
4278 }
4279 break;
4280 case 300:
4281 {
4282 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4283 yyval.prop->loc = (yyloc);
4284 ;
4285 }
4286 break;
4287 case 301:
4288 {
4289 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
4290 yyval.prop->loc = (yyloc);
4291 ;
4292 }
4293 break;
4294 case 302:
4295 {
4296 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
4297 yyval.prop->loc = (yyloc);
4298 ;
4299 }
4300 break;
4301 case 303:
4302 {
4303 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
4304 yyval.prop->loc = (yyloc);
4305 ;
4306 }
4307 break;
4308 case 304:
4309 {
4310 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
4311 yyval.prop->loc = (yyloc);
4312 ;
4313 }
4314 break;
4315 case 305:
4316 {
4317 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
4318 yyval.prop->loc = (yyloc);
4319 ;
4320 }
4321 break;
4322 case 306:
4323 {
4324 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
4325 yyval.prop->loc = (yyloc);
4326 ;
4327 }
4328 break;
4329 case 307:
4330 {
4331 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
4332 yyval.prop->loc = (yyloc);
4333 ;
4334 }
4335 break;
4336 case 308:
4337 {
4338 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
4339 yyval.prop->loc = (yyloc);
4340 ;
4341 }
4342 break;
4343 case 309:
4344 {
4345 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
4346 yyval.prop->loc = (yyloc);
4347 ;
4348 }
4349 break;
4350 case 310:
4351 {
4352 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
4353 yyval.prop->loc = (yyloc);
4354 ;
4355 }
4356 break;
4357 case 311:
4358 {
4359 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
4360 yyval.prop->loc = (yyloc);
4361 ;
4362 }
4363 break;
4364 case 312:
4365 {
4366 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
4367 yyval.prop->loc = (yyloc);
4368 ;
4369 }
4370 break;
4371 case 313:
4372 {
4373 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4374 yyval.prop->loc = (yyloc);
4375 ;
4376 }
4377 break;
4378 case 314:
4379 {
4380 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4381 yyval.prop->loc = (yyloc);
4382 ;
4383 }
4384 break;
4385 case 315:
4386 {
4387 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4388 yyval.prop->loc = (yyloc);
4389 ;
4390 }
4391 break;
4392 case 316:
4393 {
4394 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
4395 yyval.prop->loc = (yyloc);
4396 ;
4397 }
4398 break;
4399 case 317:
4400 {
4401 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
4402 yyval.prop->loc = (yyloc);
4403 ;
4404 }
4405 break;
4406 case 318:
4407 {
4408 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4409 yyval.prop->loc = (yyloc);
4410 ;
4411 }
4412 break;
4413 case 319:
4414 {
4415 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
4416 yyval.classDef->__anon1.decl->loc = (yyloc);
4417 yyval.classDef->loc = (yyloc);
4418 ;
4419 }
4420 break;
4421 case 320:
4422 {
4423 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
4424 yyval.classDef->__anon1.decl->loc = (yyloc);
4425 yyval.classDef->loc = (yyloc);
4426 ;
4427 }
4428 break;
4429 case 321:
4430 {
4431 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4432 yyval.classDef->loc = (yyloc);
4433 yyval.classDef->__anon1.decl->loc = (yyloc);
4434 ;
4435 }
4436 break;
4437 case 322:
4438 {
4439 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4440 yyval.classDef->loc = (yyloc);
4441 yyval.classDef->__anon1.decl->loc = (yyloc);
4442 ;
4443 }
4444 break;
4445 case 323:
4446 {
4447 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4448 yyval.classDef->loc = (yyloc);
4449 ;
4450 }
4451 break;
4452 case 324:
4453 {
4454 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4455 if((*yyvsp[(1) - (2)].list).last)
4456 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4457 yyval.classDef->loc = (yyloc);
4458 ;
4459 }
4460 break;
4461 case 325:
4462 {
4463 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4464 yyval.classDef->loc = (yyloc);
4465 ;
4466 }
4467 break;
4468 case 326:
4469 {
4470 yyval.classDef = (((void *)0));
4471 ;
4472 }
4473 break;
4474 case 327:
4475 {
4476 yyval.list = MkList();
4477 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
4478 ;
4479 }
4480 break;
4481 case 328:
4482 {
4483 yyval.list = yyvsp[(1) - (3)].list;
4484 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
4485 ;
4486 }
4487 break;
4488 case 329:
4489 {
4490 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
4491 yyval.declarator->loc = (yyloc);
4492 ;
4493 }
4494 break;
4495 case 330:
4496 {
4497 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
4498 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
4499 yyval.declarator->loc = (yyloc);
4500 ;
4501 }
4502 break;
4503 case 331:
4504 {
4505 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
4506 yyval.declarator->loc = (yyloc);
4507 ;
4508 }
4509 break;
4510 case 332:
4511 {
4512 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
4513 yyval.declarator->loc = (yyloc);
4514 ;
4515 }
4516 break;
4517 case 333:
4518 {
4519 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
4520 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
4521 yyval.declarator->loc = (yyloc);
4522 ;
4523 }
4524 break;
4525 case 334:
4526 {
4527 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
4528 if(declMode)
4529 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4530 ;
4531 }
4532 break;
4533 case 335:
4534 {
4535 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4536 if(declMode)
4537 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4538 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4539 ;
4540 }
4541 break;
4542 case 336:
4543 {
4544 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
4545 ;
4546 }
4547 break;
4548 case 337:
4549 {
4550 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4551 if(declMode)
4552 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4553 ;
4554 }
4555 break;
4556 case 338:
4557 {
4558 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
4559 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4560 if(declMode)
4561 DeclClass(yyvsp[(2) - (7)].id->_class, yyvsp[(2) - (7)].id->string);
4562 ;
4563 }
4564 break;
4565 case 339:
4566 {
4567 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
4568 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4569 if(declMode)
4570 DeclClass(yyvsp[(2) - (7)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
4571 FreeSpecifier(yyvsp[(2) - (7)].specifier);
4572 ;
4573 }
4574 break;
4575 case 340:
4576 {
4577 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4578 if(declMode)
4579 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4580 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4581 ;
4582 }
4583 break;
4584 case 341:
4585 {
4586 yyval.list = MkList();
4587 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
4588 ;
4589 }
4590 break;
4591 case 342:
4592 {
4593 yyval.list = yyvsp[(1) - (3)].list;
4594 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
4595 ;
4596 }
4597 break;
4598 case 343:
4599 {
4600 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
4601 ;
4602 }
4603 break;
4604 case 344:
4605 {
4606 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
4607 ;
4608 }
4609 break;
4610 case 345:
4611 {
4612 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4613 ;
4614 }
4615 break;
4616 case 346:
4617 {
4618 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
4619 ;
4620 }
4621 break;
4622 case 347:
4623 {
4624 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
4625 ;
4626 }
4627 break;
4628 case 348:
4629 {
4630 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
4631 ;
4632 }
4633 break;
4634 case 349:
4635 {
4636 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4637 ;
4638 }
4639 break;
4640 case 350:
4641 {
4642 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4643 ;
4644 }
4645 break;
4646 case 351:
4647 {
4648 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4649 ;
4650 }
4651 break;
4652 case 352:
4653 {
4654 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4655 ;
4656 }
4657 break;
4658 case 353:
4659 {
4660 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4661 ;
4662 }
4663 break;
4664 case 354:
4665 {
4666 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4667 ;
4668 }
4669 break;
4670 case 355:
4671 {
4672 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4673 ;
4674 }
4675 break;
4676 case 356:
4677 {
4678 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4679 ;
4680 }
4681 break;
4682 case 357:
4683 {
4684 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4685 ;
4686 }
4687 break;
4688 case 358:
4689 {
4690 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4691 ;
4692 }
4693 break;
4694 case 359:
4695 {
4696 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4697 ;
4698 }
4699 break;
4700 case 360:
4701 {
4702 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4703 ;
4704 }
4705 break;
4706 case 361:
4707 {
4708 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4709 ;
4710 }
4711 break;
4712 case 363:
4713 {
4714 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4715 ;
4716 }
4717 break;
4718 case 364:
4719 {
4720 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4721 ;
4722 }
4723 break;
4724 case 365:
4725 {
4726 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4727 ;
4728 }
4729 break;
4730 case 366:
4731 {
4732 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4733 ;
4734 }
4735 break;
4736 case 367:
4737 {
4738 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4739 ;
4740 }
4741 break;
4742 case 369:
4743 {
4744 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4745 ;
4746 }
4747 break;
4748 case 370:
4749 {
4750 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4751 ;
4752 }
4753 break;
4754 case 371:
4755 {
4756 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4757 ;
4758 }
4759 break;
4760 case 372:
4761 {
4762 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4763 ;
4764 }
4765 break;
4766 case 374:
4767 {
4768 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4769 ;
4770 }
4771 break;
4772 case 375:
4773 {
4774 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4775 ;
4776 }
4777 break;
4778 case 376:
4779 {
4780 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
4781 ;
4782 }
4783 break;
4784 case 377:
4785 {
4786 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
4787 ;
4788 }
4789 break;
4790 case 378:
4791 {
4792 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4793 ;
4794 }
4795 break;
4796 case 379:
4797 {
4798 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4799 ;
4800 }
4801 break;
4802 case 380:
4803 {
4804 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4805 ;
4806 }
4807 break;
4808 case 381:
4809 {
4810 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4811 ;
4812 }
4813 break;
4814 case 383:
4815 {
4816 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4817 ;
4818 }
4819 break;
4820 case 384:
4821 {
4822 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4823 ;
4824 }
4825 break;
4826 case 385:
4827 {
4828 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4829 ;
4830 }
4831 break;
4832 case 386:
4833 {
4834 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4835 ;
4836 }
4837 break;
4838 case 388:
4839 {
4840 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4841 ;
4842 }
4843 break;
4844 case 389:
4845 {
4846 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4847 ;
4848 }
4849 break;
4850 case 390:
4851 {
4852 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
4853 ;
4854 }
4855 break;
4856 case 393:
4857 {
4858 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4859 ;
4860 }
4861 break;
4862 case 394:
4863 {
4864 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4865 ;
4866 }
4867 break;
4868 case 396:
4869 {
4870 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4871 ;
4872 }
4873 break;
4874 case 397:
4875 {
4876 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4877 ;
4878 }
4879 break;
4880 case 398:
4881 {
4882 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4883 ;
4884 }
4885 break;
4886 case 399:
4887 {
4888 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4889 ;
4890 }
4891 break;
4892 case 400:
4893 {
4894 yyval.list = MkList();
4895 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
4896 ;
4897 }
4898 break;
4899 case 401:
4900 {
4901 yyval.list = yyvsp[(1) - (2)].list;
4902 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
4903 ;
4904 }
4905 break;
4906 case 402:
4907 {
4908 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
4909 ;
4910 }
4911 break;
4912 case 403:
4913 {
4914 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
4915 ;
4916 }
4917 break;
4918 case 404:
4919 {
4920 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
4921 ;
4922 }
4923 break;
4924 case 405:
4925 {
4926 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
4927 ;
4928 }
4929 break;
4930 case 407:
4931 {
4932 yyval.list = yyvsp[(1) - (3)].list;
4933 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
4934 ;
4935 }
4936 break;
4937 case 408:
4938 {
4939 yyval.list = MkList();
4940 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
4941 ;
4942 }
4943 break;
4944 case 409:
4945 {
4946 yyval.list = yyvsp[(1) - (3)].list;
4947 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
4948 ;
4949 }
4950 break;
4951 case 410:
4952 {
4953 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4954 ;
4955 }
4956 break;
4957 case 411:
4958 {
4959 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4960 ;
4961 }
4962 break;
4963 case 412:
4964 {
4965 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
4966 ;
4967 }
4968 break;
4969 case 413:
4970 {
4971 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
4972 ;
4973 }
4974 break;
4975 case 414:
4976 {
4977 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
4978 ;
4979 }
4980 break;
4981 case 415:
4982 {
4983 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
4984 ;
4985 }
4986 break;
4987 case 416:
4988 {
4989 yyval.list = MkList();
4990 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
4991 ;
4992 }
4993 break;
4994 case 417:
4995 {
4996 yyval.list = yyvsp[(1) - (3)].list;
4997 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
4998 ;
4999 }
5000 break;
5001 case 418:
5002 {
5003 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5004 ;
5005 }
5006 break;
5007 case 419:
5008 {
5009 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5010 ;
5011 }
5012 break;
5013 case 420:
5014 {
5015 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5016 ;
5017 }
5018 break;
5019 case 421:
5020 {
5021 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5022 ;
5023 }
5024 break;
5025 case 422:
5026 {
5027 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5028 yyval.initializer->loc = (yyloc);
5029 ;
5030 }
5031 break;
5032 case 423:
5033 {
5034 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
5035 yyval.initializer->loc = (yyloc);
5036 ;
5037 }
5038 break;
5039 case 424:
5040 {
5041 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
5042 yyval.initializer->loc = (yyloc);
5043 {
5044 struct Expression * exp = MkExpDummy();
5045 struct Initializer * init = MkInitializerAssignment(exp);
5046
5047 init->loc = (yylsp[(3) - (4)]);
5048 exp->loc = (yylsp[(3) - (4)]);
5049 ListAdd(yyvsp[(2) - (4)].list, init);
5050 }
5051 ;
5052 }
5053 break;
5054 case 425:
5055 {
5056 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5057 yyval.initializer->loc = (yyloc);
5058 ;
5059 }
5060 break;
5061 case 426:
5062 {
5063 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5064 yyval.initializer->loc = (yyloc);
5065 ;
5066 }
5067 break;
5068 case 427:
5069 {
5070 yyval.list = MkList();
5071 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
5072 ;
5073 }
5074 break;
5075 case 428:
5076 {
5077 yyval.list = yyvsp[(1) - (3)].list;
5078 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
5079 ;
5080 }
5081 break;
5082 case 435:
5083 {
5084 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
5085 yyval.stmt->loc = (yyloc);
5086 ;
5087 }
5088 break;
5089 case 436:
5090 {
5091 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
5092 yyval.stmt->loc = (yyloc);
5093 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
5094 ;
5095 }
5096 break;
5097 case 437:
5098 {
5099 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
5100 yyval.stmt->loc = (yyloc);
5101 ;
5102 }
5103 break;
5104 case 438:
5105 {
5106 yyval.list = MkList();
5107 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
5108 ;
5109 }
5110 break;
5111 case 439:
5112 {
5113 yyval.list = yyvsp[(1) - (2)].list;
5114 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
5115 ;
5116 }
5117 break;
5118 case 440:
5119 {
5120 yyval.list = MkList();
5121 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
5122 ;
5123 }
5124 break;
5125 case 441:
5126 {
5127 yyval.list = yyvsp[(1) - (2)].list;
5128 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
5129 ;
5130 }
5131 break;
5132 case 442:
5133 {
5134 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
5135
5136 stmt->loc = (yylsp[(2) - (2)]);
5137 ListAdd(yyvsp[(1) - (2)].list, stmt);
5138 yyval.list = yyvsp[(1) - (2)].list;
5139 ;
5140 }
5141 break;
5142 case 443:
5143 {
5144 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
5145 ;
5146 }
5147 break;
5148 case 444:
5149 {
5150 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
5151 ;
5152 }
5153 break;
5154 case 445:
5155 {
5156 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
5157 ;
5158 }
5159 break;
5160 case 446:
5161 {
5162 yyval.context = PushContext();
5163 ;
5164 }
5165 break;
5166 case 447:
5167 {
5168 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
5169 yyval.stmt->__anon1.compound.context = PushContext();
5170 PopContext(yyval.stmt->__anon1.compound.context);
5171 yyval.stmt->loc = (yyloc);
5172 ;
5173 }
5174 break;
5175 case 448:
5176 {
5177 yyval.stmt = yyvsp[(2) - (3)].stmt;
5178 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
5179 PopContext(yyvsp[(1) - (3)].context);
5180 yyval.stmt->loc = (yyloc);
5181 ;
5182 }
5183 break;
5184 case 449:
5185 {
5186 yyval.stmt = MkExpressionStmt((((void *)0)));
5187 yyval.stmt->loc = (yyloc);
5188 ;
5189 }
5190 break;
5191 case 450:
5192 {
5193 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
5194 yyval.stmt->loc = (yyloc);
5195 ;
5196 }
5197 break;
5198 case 451:
5199 {
5200 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
5201 yyval.stmt->loc = (yyloc);
5202 ;
5203 }
5204 break;
5205 case 452:
5206 {
5207 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
5208 yyval.stmt->loc = (yyloc);
5209 ;
5210 }
5211 break;
5212 case 453:
5213 {
5214 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5215 yyval.stmt->loc = (yyloc);
5216 ;
5217 }
5218 break;
5219 case 454:
5220 {
5221 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5222 yyval.stmt->loc = (yyloc);
5223 ;
5224 }
5225 break;
5226 case 455:
5227 {
5228 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
5229 yyval.stmt->loc = (yyloc);
5230 ;
5231 }
5232 break;
5233 case 456:
5234 {
5235 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
5236 yyval.stmt->loc = (yyloc);
5237 ;
5238 }
5239 break;
5240 case 457:
5241 {
5242 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
5243 yyval.stmt->loc = (yyloc);
5244 ;
5245 }
5246 break;
5247 case 458:
5248 {
5249 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
5250 yyval.stmt->loc = (yyloc);
5251 ;
5252 }
5253 break;
5254 case 459:
5255 {
5256 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
5257 yyval.stmt->loc = (yyloc);
5258 ;
5259 }
5260 break;
5261 case 460:
5262 {
5263 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
5264 yyval.stmt->loc = (yyloc);
5265 ;
5266 }
5267 break;
5268 case 461:
5269 {
5270 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
5271 yyval.stmt->loc = (yyloc);
5272 ;
5273 }
5274 break;
5275 case 462:
5276 {
5277 yyval.stmt = MkContinueStmt();
5278 yyval.stmt->loc = (yyloc);
5279 ;
5280 }
5281 break;
5282 case 463:
5283 {
5284 yyval.stmt = MkBreakStmt();
5285 yyval.stmt->loc = (yyloc);
5286 ;
5287 }
5288 break;
5289 case 464:
5290 {
5291 struct Expression * exp = MkExpDummy();
5292
5293 yyval.stmt = MkReturnStmt(MkListOne(exp));
5294 yyval.stmt->loc = (yyloc);
5295 exp->loc = (yylsp[(2) - (2)]);
5296 ;
5297 }
5298 break;
5299 case 465:
5300 {
5301 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
5302 yyval.stmt->loc = (yyloc);
5303 ;
5304 }
5305 break;
5306 case 466:
5307 {
5308 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
5309 ;
5310 }
5311 break;
5312 case 467:
5313 {
5314 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5315 yyval.instance->loc = (yyloc);
5316 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5317 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5318 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5319 ;
5320 }
5321 break;
5322 case 468:
5323 {
5324 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5325 yyval.instance->loc = (yyloc);
5326 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5327 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5328 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5329 ;
5330 }
5331 break;
5332 case 469:
5333 {
5334 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5335 yyval.instance->loc = (yyloc);
5336 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5337 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5338 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5339 ;
5340 }
5341 break;
5342 case 470:
5343 {
5344 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5345 yyval.instance->loc = (yyloc);
5346 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5347 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5348 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5349 ;
5350 }
5351 break;
5352 case 471:
5353 {
5354 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
5355 yyval.instance->loc = (yyloc);
5356 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5357 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5358 ;
5359 }
5360 break;
5361 case 472:
5362 {
5363 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
5364 yyval.instance->loc = (yyloc);
5365 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5366 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5367 ;
5368 }
5369 break;
5370 case 473:
5371 {
5372 struct Location tmpLoc = type_yylloc;
5373
5374 type_yylloc = (yylsp[(1) - (4)]);
5375 type_yylloc = tmpLoc;
5376 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
5377 yyval.instance->loc = (yyloc);
5378 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5379 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5380 FreeIdentifier(yyvsp[(1) - (4)].id);
5381 ;
5382 }
5383 break;
5384 case 474:
5385 {
5386 struct Location tmpLoc = type_yylloc;
5387
5388 type_yylloc = (yylsp[(1) - (3)]);
5389 type_yylloc = tmpLoc;
5390 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
5391 yyval.instance->loc = (yyloc);
5392 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5393 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5394 FreeIdentifier(yyvsp[(1) - (3)].id);
5395 ;
5396 }
5397 break;
5398 case 475:
5399 {
5400 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
5401 yyval.instance->loc = (yyloc);
5402 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
5403 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5404 ;
5405 }
5406 break;
5407 case 476:
5408 {
5409 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
5410 yyval.instance->loc = (yyloc);
5411 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
5412 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
5413 ;
5414 }
5415 break;
5416 case 477:
5417 {
5418 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5419 yyval.classFunction->loc = (yyloc);
5420 ;
5421 }
5422 break;
5423 case 478:
5424 {
5425 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5426 yyval.classFunction->loc = (yyloc);
5427 ;
5428 }
5429 break;
5430 case 479:
5431 {
5432 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
5433 yyval.classFunction->loc = (yyloc);
5434 ;
5435 }
5436 break;
5437 case 480:
5438 {
5439 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5440 yyval.classFunction->loc = (yyloc);
5441 ;
5442 }
5443 break;
5444 case 481:
5445 {
5446 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5447 yyval.classFunction->loc = (yyloc);
5448 ;
5449 }
5450 break;
5451 case 482:
5452 {
5453 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5454 yyval.classFunction->loc = (yyloc);
5455 ;
5456 }
5457 break;
5458 case 483:
5459 {
5460 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5461 yyval.classFunction->loc = (yyloc);
5462 ;
5463 }
5464 break;
5465 case 484:
5466 {
5467 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5468 yyval.classFunction->loc = (yyloc);
5469 ;
5470 }
5471 break;
5472 case 485:
5473 {
5474 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
5475 yyval.memberInit->loc = (yyloc);
5476 yyval.memberInit->realLoc = (yyloc);
5477 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
5478 ;
5479 }
5480 break;
5481 case 486:
5482 {
5483 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
5484 yyval.memberInit->loc = (yyloc);
5485 yyval.memberInit->realLoc = (yyloc);
5486 ;
5487 }
5488 break;
5489 case 487:
5490 {
5491 yyval.list = MkList();
5492 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
5493 ;
5494 }
5495 break;
5496 case 488:
5497 {
5498 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
5499 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
5500 yyval.list = yyvsp[(1) - (3)].list;
5501 ;
5502 }
5503 break;
5504 case 489:
5505 {
5506 if((*yyvsp[(1) - (2)].list).last)
5507 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
5508 yyval.list = yyvsp[(1) - (2)].list;
5509 ;
5510 }
5511 break;
5512 case 490:
5513 {
5514 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
5515
5516 yyval.list = MkList();
5517 ListAdd(yyval.list, members);
5518 members->loc = (yylsp[(1) - (1)]);
5519 ;
5520 }
5521 break;
5522 case 491:
5523 {
5524 yyval.list = MkList();
5525 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
5526 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5527 ;
5528 }
5529 break;
5530 case 492:
5531 {
5532 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
5533
5534 ListAdd(yyval.list, members);
5535 members->loc = (yylsp[(2) - (2)]);
5536 yyval.list = yyvsp[(1) - (2)].list;
5537 ;
5538 }
5539 break;
5540 case 493:
5541 {
5542 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
5543 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5544 yyval.list = yyvsp[(1) - (2)].list;
5545 ;
5546 }
5547 break;
5548 case 494:
5549 {
5550 struct MembersInit * members = MkMembersInitList(MkList());
5551
5552 yyval.list = MkList();
5553 ListAdd(yyval.list, members);
5554 members->loc = (yylsp[(1) - (1)]);
5555 ;
5556 }
5557 break;
5558 case 495:
5559 {
5560 struct MembersInit * members = MkMembersInitList(MkList());
5561
5562 ListAdd(yyval.list, members);
5563 members->loc = (yylsp[(2) - (2)]);
5564 yyval.list = yyvsp[(1) - (2)].list;
5565 ;
5566 }
5567 break;
5568 case 497:
5569 {
5570 yyval.list = MkList();
5571 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
5572 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5573 ;
5574 }
5575 break;
5576 case 498:
5577 {
5578 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
5579 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5580 ;
5581 }
5582 break;
5583 case 499:
5584 {
5585 parsedType = yyvsp[(1) - (1)].typeName;
5586 ;
5587 }
5588 break;
5589 case 500:
5590 {
5591 parsedType = yyvsp[(1) - (3)].typeName;
5592 parsedType->bitCount = yyvsp[(3) - (3)].exp;
5593 ;
5594 }
5595 break;
5596 default:
5597 break;
5598 }
5599 do
5600 {
5601 if(type_yydebug)
5602 {
5603 fprintf((bsl_stderr()), "%s ", "-> $$ =");
5604 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
5605 fprintf((bsl_stderr()), "\n");
5606 }
5607 }while((0));
5608 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5609 yylen = 0;
5610 do
5611 {
5612 if(type_yydebug)
5613 yy_stack_print((yyss), (yyssp));
5614 }while((0));
5615 *++yyvsp = yyval;
5616 *++yylsp = yyloc;
5617 yyn = yyr1[yyn];
5618 yystate = yypgoto[yyn - 145] + *yyssp;
5619 if(0 <= yystate && yystate <= 9303 && yycheck[yystate] == *yyssp)
5620 yystate = yytable[yystate];
5621 else
5622 yystate = yydefgoto[yyn - 145];
5623 goto yynewstate;
5624 yyerrlab:
5625 if(!yyerrstatus)
5626 {
5627 ++type_yynerrs;
5628 yyerror("syntax error");
5629 }
5630 yyerror_range[0] = type_yylloc;
5631 if(yyerrstatus == 3)
5632 {
5633 if(type_yychar <= 0)
5634 {
5635 if(type_yychar == 0)
5636 goto yyabortlab;
5637 }
5638 else
5639 {
5640 yydestruct("Error: discarding", yytoken, &type_yylval, &type_yylloc);
5641 type_yychar = (-2);
5642 }
5643 }
5644 goto yyerrlab1;
5645 yyerrorlab:
5646 if(0)
5647 goto yyerrorlab;
5648 yyerror_range[0] = yylsp[1 - yylen];
5649 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5650 yylen = 0;
5651 do
5652 {
5653 if(type_yydebug)
5654 yy_stack_print((yyss), (yyssp));
5655 }while((0));
5656 yystate = *yyssp;
5657 goto yyerrlab1;
5658 yyerrlab1:
5659 yyerrstatus = 3;
5660 for(; ; )
5661 {
5662 yyn = yypact[yystate];
5663 if(yyn != -761)
5664 {
5665 yyn += 1;
5666 if(0 <= yyn && yyn <= 9303 && yycheck[yyn] == 1)
5667 {
5668 yyn = yytable[yyn];
5669 if(0 < yyn)
5670 break;
5671 }
5672 }
5673 if(yyssp == yyss)
5674 goto yyabortlab;
5675 yyerror_range[0] = *yylsp;
5676 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
5677 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
5678 yystate = *yyssp;
5679 do
5680 {
5681 if(type_yydebug)
5682 yy_stack_print((yyss), (yyssp));
5683 }while((0));
5684 }
5685 *++yyvsp = type_yylval;
5686 yyerror_range[1] = type_yylloc;
5687 (yyloc.start = ((yyerror_range - 1))[1].start);
5688 (yyloc.end = ((yyerror_range - 1))[2].end);
5689 ;
5690 *++yylsp = yyloc;
5691 do
5692 {
5693 if(type_yydebug)
5694 {
5695 fprintf((bsl_stderr()), "%s ", "Shifting");
5696 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
5697 fprintf((bsl_stderr()), "\n");
5698 }
5699 }while((0));
5700 yystate = yyn;
5701 goto yynewstate;
5702 yyacceptlab:
5703 yyresult = 0;
5704 goto yyreturn;
5705 yyabortlab:
5706 yyresult = 1;
5707 goto yyreturn;
5708 yyexhaustedlab:
5709 yyerror("memory exhausted");
5710 yyresult = 2;
5711 yyreturn:
5712 if(type_yychar != (-2))
5713 yydestruct("Cleanup: discarding lookahead", yytoken, &type_yylval, &type_yylloc);
5714 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5715 do
5716 {
5717 if(type_yydebug)
5718 yy_stack_print((yyss), (yyssp));
5719 }while((0));
5720 while(yyssp != yyss)
5721 {
5722 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
5723 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
5724 }
5725 if(yyss != yyssa)
5726 free(yyss);
5727 return (yyresult);
5728 }
5729