compiler/libec: Added grammar rule for __builtin_offset
[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 ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)(*yyvaluep).context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).context)) : 0), (*yyvaluep).context = 0);
1997 }
1998 ;
1999 break;
2000 case 249:
2001 {
2002 FreeStatement((*yyvaluep).stmt);
2003 }
2004 ;
2005 break;
2006 case 250:
2007 {
2008 FreeStatement((*yyvaluep).stmt);
2009 }
2010 ;
2011 break;
2012 case 251:
2013 {
2014 FreeStatement((*yyvaluep).stmt);
2015 }
2016 ;
2017 break;
2018 case 252:
2019 {
2020 FreeStatement((*yyvaluep).stmt);
2021 }
2022 ;
2023 break;
2024 case 253:
2025 {
2026 FreeStatement((*yyvaluep).stmt);
2027 }
2028 ;
2029 break;
2030 case 254:
2031 {
2032 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2033 }
2034 ;
2035 break;
2036 case 255:
2037 {
2038 FreeInstance((*yyvaluep).instance);
2039 }
2040 ;
2041 break;
2042 case 257:
2043 {
2044 FreeInstance((*yyvaluep).instance);
2045 }
2046 ;
2047 break;
2048 case 259:
2049 {
2050 FreeClassFunction((*yyvaluep).classFunction);
2051 }
2052 ;
2053 break;
2054 case 260:
2055 {
2056 FreeClassFunction((*yyvaluep).classFunction);
2057 }
2058 ;
2059 break;
2060 case 261:
2061 {
2062 FreeClassFunction((*yyvaluep).classFunction);
2063 }
2064 ;
2065 break;
2066 case 262:
2067 {
2068 FreeMemberInit((*yyvaluep).memberInit);
2069 }
2070 ;
2071 break;
2072 case 263:
2073 {
2074 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2075 }
2076 ;
2077 break;
2078 case 264:
2079 {
2080 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
2081 }
2082 ;
2083 break;
2084 case 265:
2085 {
2086 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2087 }
2088 ;
2089 break;
2090 case 266:
2091 {
2092 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
2093 }
2094 ;
2095 break;
2096 default:
2097 break;
2098 }
2099 }
2100
2101 int type_yyparse(void)
2102 {
2103 int yystate;
2104 int yyerrstatus;
2105 yytype_int16 yyssa[200];
2106 yytype_int16 * yyss;
2107 yytype_int16 * yyssp;
2108 YYSTYPE yyvsa[200];
2109 YYSTYPE * yyvs;
2110 YYSTYPE * yyvsp;
2111 struct Location yylsa[200];
2112 struct Location * yyls;
2113 struct Location * yylsp;
2114 struct Location yyerror_range[2];
2115 size_t yystacksize;
2116 int yyn;
2117 int yyresult;
2118 int yytoken;
2119 YYSTYPE yyval;
2120 struct Location yyloc;
2121 int yylen = 0;
2122
2123 yytoken = 0;
2124 yyss = yyssa;
2125 yyvs = yyvsa;
2126 yyls = yylsa;
2127 yystacksize = 200;
2128 do
2129 {
2130 if(type_yydebug)
2131 fprintf((bsl_stderr()), "Starting parse\n");
2132 }while((0));
2133 yystate = 0;
2134 yyerrstatus = 0;
2135 type_yynerrs = 0;
2136 type_yychar = (-2);
2137 yyssp = yyss;
2138 yyvsp = yyvs;
2139 yylsp = yyls;
2140 goto yysetstate;
2141 yynewstate:
2142 yyssp++;
2143 yysetstate:
2144 *yyssp = yystate;
2145 if(yyss + yystacksize - 1 <= yyssp)
2146 {
2147 size_t yysize = yyssp - yyss + 1;
2148
2149 if(10000 <= yystacksize)
2150 goto yyexhaustedlab;
2151 yystacksize *= 2;
2152 if(10000 < yystacksize)
2153 yystacksize = 10000;
2154 {
2155 yytype_int16 * yyss1 = yyss;
2156 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
2157
2158 if(!yyptr)
2159 goto yyexhaustedlab;
2160 do
2161 {
2162 size_t yynewbytes;
2163
2164 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
2165 yyss = &(*yyptr).yyss_alloc;
2166 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
2167 yyptr += yynewbytes / sizeof (*yyptr);
2168 }while((0));
2169 do
2170 {
2171 size_t yynewbytes;
2172
2173 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
2174 yyvs = &(*yyptr).yyvs_alloc;
2175 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
2176 yyptr += yynewbytes / sizeof (*yyptr);
2177 }while((0));
2178 do
2179 {
2180 size_t yynewbytes;
2181
2182 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
2183 yyls = &(*yyptr).yyls_alloc;
2184 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
2185 yyptr += yynewbytes / sizeof (*yyptr);
2186 }while((0));
2187 if(yyss1 != yyssa)
2188 free(yyss1);
2189 }
2190 yyssp = yyss + yysize - 1;
2191 yyvsp = yyvs + yysize - 1;
2192 yylsp = yyls + yysize - 1;
2193 do
2194 {
2195 if(type_yydebug)
2196 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
2197 }while((0));
2198 if(yyss + yystacksize - 1 <= yyssp)
2199 goto yyabortlab;
2200 }
2201 do
2202 {
2203 if(type_yydebug)
2204 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
2205 }while((0));
2206 if(yystate == 99)
2207 goto yyacceptlab;
2208 goto yybackup;
2209 yybackup:
2210 yyn = yypact[yystate];
2211 if(yyn == -761)
2212 goto yydefault;
2213 if(type_yychar == (-2))
2214 {
2215 do
2216 {
2217 if(type_yydebug)
2218 fprintf((bsl_stderr()), "Reading a token: ");
2219 }while((0));
2220 type_yychar = yylex();
2221 }
2222 if(type_yychar <= 0)
2223 {
2224 type_yychar = yytoken = 0;
2225 do
2226 {
2227 if(type_yydebug)
2228 fprintf((bsl_stderr()), "Now at end of input.\n");
2229 }while((0));
2230 }
2231 else
2232 {
2233 yytoken = ((unsigned int)(type_yychar) <= 374 ? yytranslate[type_yychar] : 2);
2234 do
2235 {
2236 if(type_yydebug)
2237 {
2238 fprintf((bsl_stderr()), "%s ", "Next token is");
2239 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2240 fprintf((bsl_stderr()), "\n");
2241 }
2242 }while((0));
2243 }
2244 yyn += yytoken;
2245 if(yyn < 0 || 9303 < yyn || yycheck[yyn] != yytoken)
2246 goto yydefault;
2247 yyn = yytable[yyn];
2248 if(yyn <= 0)
2249 {
2250 if(yyn == 0 || yyn == -497)
2251 goto yyerrlab;
2252 yyn = -yyn;
2253 goto yyreduce;
2254 }
2255 if(yyerrstatus)
2256 yyerrstatus--;
2257 do
2258 {
2259 if(type_yydebug)
2260 {
2261 fprintf((bsl_stderr()), "%s ", "Shifting");
2262 yy_symbol_print((bsl_stderr()), yytoken, &type_yylval, &type_yylloc);
2263 fprintf((bsl_stderr()), "\n");
2264 }
2265 }while((0));
2266 type_yychar = (-2);
2267 yystate = yyn;
2268 *++yyvsp = type_yylval;
2269 *++yylsp = type_yylloc;
2270 goto yynewstate;
2271 yydefault:
2272 yyn = yydefact[yystate];
2273 if(yyn == 0)
2274 goto yyerrlab;
2275 goto yyreduce;
2276 yyreduce:
2277 yylen = yyr2[yyn];
2278 yyval = yyvsp[1 - yylen];
2279 (yyloc.start = ((yylsp - yylen))[1].start);
2280 (yyloc.end = ((yylsp - yylen))[yylen].end);
2281 ;
2282 do
2283 {
2284 if(type_yydebug)
2285 yy_reduce_print(yyvsp, yylsp, yyn);
2286 }while((0));
2287 switch(yyn)
2288 {
2289 case 2:
2290 {
2291 yyval.specifier = (((void *)0));
2292 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2293 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2294 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2295
2296 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2297 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2298 resetScannerPos(&(yylsp[(1) - (2)]).start);
2299 (type_yychar = (-2));
2300 FreeIdentifier(yyvsp[(1) - (2)].id);
2301 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2302 yystate = *yyssp;
2303 do
2304 {
2305 if(type_yydebug)
2306 yy_stack_print((yyss), (yyssp));
2307 }while((0));
2308 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2309 yystate = *yyssp;
2310 do
2311 {
2312 if(type_yydebug)
2313 yy_stack_print((yyss), (yyssp));
2314 }while((0));
2315 goto yysetstate;
2316 ;
2317 }
2318 break;
2319 case 3:
2320 {
2321 yyval.specifier = (((void *)0));
2322 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2323 FreeIdentifier(yyvsp[(1) - (2)].id);
2324 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2325 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2326
2327 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2328 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2329 resetScannerPos(&(yylsp[(1) - (2)]).start);
2330 (type_yychar = (-2));
2331 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2332 yystate = *yyssp;
2333 do
2334 {
2335 if(type_yydebug)
2336 yy_stack_print((yyss), (yyssp));
2337 }while((0));
2338 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2339 yystate = *yyssp;
2340 do
2341 {
2342 if(type_yydebug)
2343 yy_stack_print((yyss), (yyssp));
2344 }while((0));
2345 goto yysetstate;
2346 ;
2347 }
2348 break;
2349 case 4:
2350 {
2351 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2352 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2353 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2354
2355 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2356 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2357 parseTypeError = (unsigned int)0;
2358 resetScannerPos(&(yylsp[(1) - (2)]).start);
2359 (type_yychar = (-2));
2360 FreeIdentifier(yyvsp[(1) - (2)].id);
2361 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2362 yystate = *yyssp;
2363 do
2364 {
2365 if(type_yydebug)
2366 yy_stack_print((yyss), (yyssp));
2367 }while((0));
2368 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2369 yystate = *yyssp;
2370 do
2371 {
2372 if(type_yydebug)
2373 yy_stack_print((yyss), (yyssp));
2374 }while((0));
2375 goto yysetstate;
2376 ;
2377 }
2378 break;
2379 case 5:
2380 {
2381 yyval.specifier = yyvsp[(1) - (1)].specifier;
2382 ;
2383 }
2384 break;
2385 case 6:
2386 {
2387 DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
2388 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2389 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2390
2391 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2392 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(1) - (2)]).start.pos, 0);
2393 resetScannerPos(&(yylsp[(1) - (2)]).start);
2394 (type_yychar = (-2));
2395 FreeIdentifier(yyvsp[(1) - (2)].id);
2396 FreeIdentifier(yyvsp[(2) - (2)].id);
2397 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2398 yystate = *yyssp;
2399 do
2400 {
2401 if(type_yydebug)
2402 yy_stack_print((yyss), (yyssp));
2403 }while((0));
2404 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
2405 yystate = *yyssp;
2406 do
2407 {
2408 if(type_yydebug)
2409 yy_stack_print((yyss), (yyssp));
2410 }while((0));
2411 goto yysetstate;
2412 ;
2413 }
2414 break;
2415 case 7:
2416 {
2417 yyval.specifier = MkSpecifierName(yytext);
2418 ;
2419 }
2420 break;
2421 case 9:
2422 {
2423 yyval.specifier = yyvsp[(1) - (4)].specifier;
2424 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2425 yyval.specifier->loc = (yyloc);
2426 ;
2427 }
2428 break;
2429 case 10:
2430 {
2431 yyval.specifier = yyvsp[(1) - (4)].specifier;
2432 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
2433 yyval.specifier->loc = (yyloc);
2434 (yylsp[(4) - (4)]).end.pos--;
2435 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
2436 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2437
2438 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2439 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, (yylsp[(4) - (4)]).end.pos, 0);
2440 resetScannerPos(&(yylsp[(4) - (4)]).end);
2441 (type_yychar = (-2));
2442 ;
2443 }
2444 break;
2445 case 11:
2446 {
2447 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2448 yyval.classFunction->loc = (yyloc);
2449 ;
2450 }
2451 break;
2452 case 12:
2453 {
2454 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
2455 yyval.classFunction->loc = (yyloc);
2456 ;
2457 }
2458 break;
2459 case 13:
2460 {
2461 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2462 yyval.classFunction->isConstructor = 1;
2463 yyval.classFunction->loc = (yyloc);
2464 FreeList(yyvsp[(1) - (3)].list, (void *)(FreeSpecifier));
2465 ;
2466 }
2467 break;
2468 case 14:
2469 {
2470 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2471 yyval.classFunction->isDestructor = 1;
2472 yyval.classFunction->loc = (yyloc);
2473 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
2474 ;
2475 }
2476 break;
2477 case 15:
2478 {
2479 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
2480 yyval.classFunction->isVirtual = 1;
2481 yyval.classFunction->loc = (yyloc);
2482 ;
2483 }
2484 break;
2485 case 16:
2486 {
2487 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
2488 yyval.classFunction->isVirtual = 1;
2489 yyval.classFunction->loc = (yyloc);
2490 ;
2491 }
2492 break;
2493 case 17:
2494 {
2495 yyval.id = MkIdentifier(yytext);
2496 yyval.id->loc = (yylsp[(1) - (1)]);
2497 ;
2498 }
2499 break;
2500 case 19:
2501 {
2502 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
2503 yyval.exp->loc = (yyloc);
2504 ;
2505 }
2506 break;
2507 case 20:
2508 {
2509 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
2510 yyval.exp->loc = (yyloc);
2511 ;
2512 }
2513 break;
2514 case 21:
2515 {
2516 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2517 yyval.exp->loc = (yyloc);
2518 ;
2519 }
2520 break;
2521 case 22:
2522 {
2523 yyval.exp = MkExpConstant(yytext);
2524 yyval.exp->loc = (yyloc);
2525 ;
2526 }
2527 break;
2528 case 23:
2529 {
2530 yyval.exp = MkExpWideString(yytext);
2531 yyval.exp->loc = (yyloc);
2532 ;
2533 }
2534 break;
2535 case 24:
2536 {
2537 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
2538 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
2539 yyval.exp->loc = (yyloc);
2540 ;
2541 }
2542 break;
2543 case 25:
2544 {
2545 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
2546 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
2547 yyval.exp->loc = (yyloc);
2548 ;
2549 }
2550 break;
2551 case 26:
2552 {
2553 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
2554 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
2555 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
2556 yyval.exp->loc = (yyloc);
2557 ;
2558 }
2559 break;
2560 case 27:
2561 {
2562 struct Expression * exp = MkExpDummy();
2563
2564 exp->loc.start = (yylsp[(1) - (2)]).end;
2565 exp->loc.end = (yylsp[(2) - (2)]).start;
2566 yyval.exp = MkExpBrackets(MkListOne(exp));
2567 yyval.exp->loc = (yyloc);
2568 yyerror();
2569 ;
2570 }
2571 break;
2572 case 28:
2573 {
2574 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2575 yyval.exp->loc = (yyloc);
2576 ;
2577 }
2578 break;
2579 case 29:
2580 {
2581 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2582 yyval.exp->loc = (yyloc);
2583 ;
2584 }
2585 break;
2586 case 30:
2587 {
2588 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
2589 yyval.exp->loc = (yyloc);
2590 ;
2591 }
2592 break;
2593 case 31:
2594 {
2595 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
2596 yyval.exp->loc = (yyloc);
2597 ;
2598 }
2599 break;
2600 case 32:
2601 {
2602 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2603 yyval.exp->loc = (yyloc);
2604 ;
2605 }
2606 break;
2607 case 33:
2608 {
2609 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2610 yyval.exp->loc = (yyloc);
2611 ;
2612 }
2613 break;
2614 case 34:
2615 {
2616 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
2617 yyval.exp->loc = (yyloc);
2618 ;
2619 }
2620 break;
2621 case 35:
2622 {
2623 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
2624 yyval.exp->loc = (yyloc);
2625 ;
2626 }
2627 break;
2628 case 36:
2629 {
2630 yyval.exp = MkExpDummy();
2631 ;
2632 }
2633 break;
2634 case 38:
2635 {
2636 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2637 yyval.exp->loc = (yyloc);
2638 ;
2639 }
2640 break;
2641 case 39:
2642 {
2643 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
2644 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
2645 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
2646 yyval.exp->loc = (yyloc);
2647 ;
2648 }
2649 break;
2650 case 40:
2651 {
2652 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
2653 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
2654 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
2655 yyval.exp->loc = (yyloc);
2656 ;
2657 }
2658 break;
2659 case 41:
2660 {
2661 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2662 yyval.exp->loc = (yyloc);
2663 ;
2664 }
2665 break;
2666 case 42:
2667 {
2668 char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
2669 int len = constant ? strlen(constant) : 0;
2670
2671 if(constant && constant[len - 1] == '.')
2672 {
2673 constant[len - 1] = 0;
2674 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
2675 yyval.exp->loc = (yyloc);
2676 }
2677 else
2678 yyerror();
2679 ;
2680 }
2681 break;
2682 case 43:
2683 {
2684 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
2685 yyval.exp->loc = (yyloc);
2686 ;
2687 }
2688 break;
2689 case 44:
2690 {
2691 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
2692 yyval.exp->loc = (yyloc);
2693 ;
2694 }
2695 break;
2696 case 45:
2697 {
2698 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
2699 yyval.exp->loc = (yyloc);
2700 ;
2701 }
2702 break;
2703 case 46:
2704 {
2705 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
2706 yyval.exp->loc = (yyloc);
2707 ;
2708 }
2709 break;
2710 case 47:
2711 {
2712 yyval.list = MkList();
2713 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2714 ;
2715 }
2716 break;
2717 case 48:
2718 {
2719 yyval.list = MkList();
2720 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
2721 ;
2722 }
2723 break;
2724 case 49:
2725 {
2726 yyval.list = yyvsp[(1) - (3)].list;
2727 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2728 ;
2729 }
2730 break;
2731 case 50:
2732 {
2733 yyval.list = yyvsp[(1) - (3)].list;
2734 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
2735 ;
2736 }
2737 break;
2738 case 51:
2739 {
2740 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
2741 yyval.exp->loc = (yyloc);
2742 ;
2743 }
2744 break;
2745 case 52:
2746 {
2747 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
2748 yyval.exp->loc = (yyloc);
2749 ;
2750 }
2751 break;
2752 case 53:
2753 {
2754 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
2755 yyval.exp->loc = (yyloc);
2756 ;
2757 }
2758 break;
2759 case 54:
2760 {
2761 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
2762 yyval.exp->loc = (yyloc);
2763 ;
2764 }
2765 break;
2766 case 55:
2767 {
2768 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
2769 yyval.exp->loc = (yyloc);
2770 ;
2771 }
2772 break;
2773 case 56:
2774 {
2775 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
2776 yyval.exp->loc = (yyloc);
2777 ;
2778 }
2779 break;
2780 case 57:
2781 {
2782 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
2783 yyval.exp->loc = (yyloc);
2784 ;
2785 }
2786 break;
2787 case 60:
2788 {
2789 yyval.i = '&';
2790 ;
2791 }
2792 break;
2793 case 61:
2794 {
2795 yyval.i = '*';
2796 ;
2797 }
2798 break;
2799 case 62:
2800 {
2801 yyval.i = '+';
2802 ;
2803 }
2804 break;
2805 case 63:
2806 {
2807 yyval.i = '-';
2808 ;
2809 }
2810 break;
2811 case 64:
2812 {
2813 yyval.i = '~';
2814 ;
2815 }
2816 break;
2817 case 65:
2818 {
2819 yyval.i = '!';
2820 ;
2821 }
2822 break;
2823 case 66:
2824 {
2825 yyval.i = DELETE;
2826 ;
2827 }
2828 break;
2829 case 68:
2830 {
2831 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
2832 yyval.exp->loc = (yyloc);
2833 ;
2834 }
2835 break;
2836 case 70:
2837 {
2838 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
2839 yyval.exp->loc = (yyloc);
2840 ;
2841 }
2842 break;
2843 case 71:
2844 {
2845 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
2846 yyval.exp->loc = (yyloc);
2847 ;
2848 }
2849 break;
2850 case 72:
2851 {
2852 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
2853 yyval.exp->loc = (yyloc);
2854 ;
2855 }
2856 break;
2857 case 74:
2858 {
2859 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
2860 yyval.exp->loc = (yyloc);
2861 ;
2862 }
2863 break;
2864 case 75:
2865 {
2866 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
2867 yyval.exp->loc = (yyloc);
2868 ;
2869 }
2870 break;
2871 case 77:
2872 {
2873 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
2874 yyval.exp->loc = (yyloc);
2875 ;
2876 }
2877 break;
2878 case 78:
2879 {
2880 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
2881 yyval.exp->loc = (yyloc);
2882 ;
2883 }
2884 break;
2885 case 79:
2886 {
2887 yyval.exp = yyvsp[(1) - (2)].exp;
2888 skipErrors = 1;
2889 ;
2890 }
2891 break;
2892 case 81:
2893 {
2894 skipErrors = 0;
2895 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
2896 yyval.exp->loc = (yyloc);
2897 ;
2898 }
2899 break;
2900 case 82:
2901 {
2902 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
2903 yyval.exp->loc = (yyloc);
2904 ;
2905 }
2906 break;
2907 case 83:
2908 {
2909 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
2910 yyval.exp->loc = (yyloc);
2911 ;
2912 }
2913 break;
2914 case 84:
2915 {
2916 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
2917 yyval.exp->loc = (yyloc);
2918 ;
2919 }
2920 break;
2921 case 86:
2922 {
2923 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
2924 yyval.exp->loc = (yyloc);
2925 ;
2926 }
2927 break;
2928 case 87:
2929 {
2930 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
2931 yyval.exp->loc = (yyloc);
2932 ;
2933 }
2934 break;
2935 case 89:
2936 {
2937 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
2938 yyval.exp->loc = (yyloc);
2939 ;
2940 }
2941 break;
2942 case 91:
2943 {
2944 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
2945 yyval.exp->loc = (yyloc);
2946 ;
2947 }
2948 break;
2949 case 93:
2950 {
2951 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
2952 yyval.exp->loc = (yyloc);
2953 ;
2954 }
2955 break;
2956 case 95:
2957 {
2958 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
2959 yyval.exp->loc = (yyloc);
2960 ;
2961 }
2962 break;
2963 case 97:
2964 {
2965 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
2966 yyval.exp->loc = (yyloc);
2967 ;
2968 }
2969 break;
2970 case 99:
2971 {
2972 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
2973 yyval.exp->loc = (yyloc);
2974 ;
2975 }
2976 break;
2977 case 101:
2978 {
2979 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
2980 yyval.exp->loc = (yyloc);
2981 ;
2982 }
2983 break;
2984 case 102:
2985 {
2986 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
2987 yyval.exp->loc = (yyloc);
2988 ;
2989 }
2990 break;
2991 case 103:
2992 {
2993 yyval.i = '=';
2994 ;
2995 }
2996 break;
2997 case 104:
2998 {
2999 yyval.i = MUL_ASSIGN;
3000 ;
3001 }
3002 break;
3003 case 105:
3004 {
3005 yyval.i = DIV_ASSIGN;
3006 ;
3007 }
3008 break;
3009 case 106:
3010 {
3011 yyval.i = MOD_ASSIGN;
3012 ;
3013 }
3014 break;
3015 case 107:
3016 {
3017 yyval.i = ADD_ASSIGN;
3018 ;
3019 }
3020 break;
3021 case 108:
3022 {
3023 yyval.i = SUB_ASSIGN;
3024 ;
3025 }
3026 break;
3027 case 109:
3028 {
3029 yyval.i = LEFT_ASSIGN;
3030 ;
3031 }
3032 break;
3033 case 110:
3034 {
3035 yyval.i = RIGHT_ASSIGN;
3036 ;
3037 }
3038 break;
3039 case 111:
3040 {
3041 yyval.i = AND_ASSIGN;
3042 ;
3043 }
3044 break;
3045 case 112:
3046 {
3047 yyval.i = XOR_ASSIGN;
3048 ;
3049 }
3050 break;
3051 case 113:
3052 {
3053 yyval.i = OR_ASSIGN;
3054 ;
3055 }
3056 break;
3057 case 114:
3058 {
3059 yyval.list = MkList();
3060 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
3061 ;
3062 }
3063 break;
3064 case 115:
3065 {
3066 yyval.list = yyvsp[(1) - (3)].list;
3067 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
3068 ;
3069 }
3070 break;
3071 case 117:
3072 {
3073 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
3074 yyval.declaration->loc = (yyloc);
3075 ;
3076 }
3077 break;
3078 case 118:
3079 {
3080 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
3081 yyval.declaration->loc = (yyloc);
3082 ;
3083 }
3084 break;
3085 case 119:
3086 {
3087 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
3088 yyval.declaration->loc = (yyloc);
3089 ;
3090 }
3091 break;
3092 case 120:
3093 {
3094 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
3095 yyval.declaration->loc = (yyloc);
3096 ;
3097 }
3098 break;
3099 case 121:
3100 {
3101 yyval.list = MkList();
3102 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3103 ;
3104 }
3105 break;
3106 case 122:
3107 {
3108 yyval.list = yyvsp[(1) - (2)].list;
3109 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3110 ;
3111 }
3112 break;
3113 case 123:
3114 {
3115 yyval.list = MkList();
3116 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3117 ;
3118 }
3119 break;
3120 case 124:
3121 {
3122 yyval.list = yyvsp[(1) - (2)].list;
3123 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3124 ;
3125 }
3126 break;
3127 case 125:
3128 {
3129 yyval.list = MkList();
3130 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3131 ;
3132 }
3133 break;
3134 case 126:
3135 {
3136 yyval.list = yyvsp[(1) - (2)].list;
3137 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3138 ;
3139 }
3140 break;
3141 case 127:
3142 {
3143 yyval.list = MkList();
3144 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3145 ;
3146 }
3147 break;
3148 case 128:
3149 {
3150 yyval.list = yyvsp[(1) - (2)].list;
3151 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3152 ;
3153 }
3154 break;
3155 case 129:
3156 {
3157 yyval.list = MkList();
3158 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3159 ;
3160 }
3161 break;
3162 case 130:
3163 {
3164 yyval.list = yyvsp[(1) - (2)].list;
3165 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3166 ;
3167 }
3168 break;
3169 case 131:
3170 {
3171 yyval.list = MkList();
3172 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3173 ;
3174 }
3175 break;
3176 case 132:
3177 {
3178 yyval.list = yyvsp[(1) - (2)].list;
3179 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3180 ;
3181 }
3182 break;
3183 case 133:
3184 {
3185 yyval.list = MkList();
3186 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3187 ;
3188 }
3189 break;
3190 case 134:
3191 {
3192 yyval.list = yyvsp[(1) - (2)].list;
3193 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3194 ;
3195 }
3196 break;
3197 case 135:
3198 {
3199 yyval.list = MkList();
3200 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3201 ;
3202 }
3203 break;
3204 case 136:
3205 {
3206 yyval.list = yyvsp[(1) - (2)].list;
3207 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3208 ;
3209 }
3210 break;
3211 case 137:
3212 {
3213 yyval.list = MkList();
3214 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3215 ;
3216 }
3217 break;
3218 case 138:
3219 {
3220 yyval.list = yyvsp[(1) - (2)].list;
3221 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3222 ;
3223 }
3224 break;
3225 case 139:
3226 {
3227 yyval.list = MkList();
3228 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3229 ;
3230 }
3231 break;
3232 case 140:
3233 {
3234 yyval.list = yyvsp[(1) - (2)].list;
3235 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3236 ;
3237 }
3238 break;
3239 case 141:
3240 {
3241 yyval.list = MkList();
3242 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3243 ;
3244 }
3245 break;
3246 case 142:
3247 {
3248 yyval.list = yyvsp[(1) - (2)].list;
3249 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3250 ;
3251 }
3252 break;
3253 case 143:
3254 {
3255 yyval.list = MkList();
3256 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3257 ;
3258 }
3259 break;
3260 case 144:
3261 {
3262 yyval.list = yyvsp[(1) - (2)].list;
3263 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3264 ;
3265 }
3266 break;
3267 case 145:
3268 {
3269 yyval.list = MkList();
3270 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3271 ;
3272 }
3273 break;
3274 case 146:
3275 {
3276 yyval.list = yyvsp[(1) - (2)].list;
3277 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3278 ;
3279 }
3280 break;
3281 case 147:
3282 {
3283 yyval.list = MkList();
3284 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3285 ;
3286 }
3287 break;
3288 case 148:
3289 {
3290 yyval.list = yyvsp[(1) - (2)].list;
3291 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3292 ;
3293 }
3294 break;
3295 case 149:
3296 {
3297 yyval.list = MkList();
3298 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3299 ;
3300 }
3301 break;
3302 case 150:
3303 {
3304 yyval.list = yyvsp[(1) - (2)].list;
3305 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3306 ;
3307 }
3308 break;
3309 case 151:
3310 {
3311 yyval.list = MkList();
3312 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3313 ;
3314 }
3315 break;
3316 case 152:
3317 {
3318 yyval.list = yyvsp[(1) - (2)].list;
3319 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3320 ;
3321 }
3322 break;
3323 case 153:
3324 {
3325 yyval.list = MkList();
3326 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3327 ;
3328 }
3329 break;
3330 case 154:
3331 {
3332 yyval.list = yyvsp[(1) - (2)].list;
3333 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3334 ;
3335 }
3336 break;
3337 case 155:
3338 {
3339 yyval.list = MkList();
3340 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3341 ;
3342 }
3343 break;
3344 case 156:
3345 {
3346 yyval.list = yyvsp[(1) - (2)].list;
3347 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3348 ;
3349 }
3350 break;
3351 case 157:
3352 {
3353 yyval.list = MkList();
3354 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3355 ;
3356 }
3357 break;
3358 case 158:
3359 {
3360 yyval.list = yyvsp[(1) - (2)].list;
3361 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3362 ;
3363 }
3364 break;
3365 case 159:
3366 {
3367 yyval.list = MkList();
3368 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3369 ;
3370 }
3371 break;
3372 case 160:
3373 {
3374 yyval.list = yyvsp[(1) - (2)].list;
3375 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3376 ;
3377 }
3378 break;
3379 case 161:
3380 {
3381 yyval.list = yyvsp[(1) - (1)].list;
3382 ;
3383 }
3384 break;
3385 case 162:
3386 {
3387 yyval.list = MkList();
3388 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3389 ;
3390 }
3391 break;
3392 case 163:
3393 {
3394 yyval.list = MkList();
3395 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3396 ;
3397 }
3398 break;
3399 case 164:
3400 {
3401 yyval.list = yyvsp[(1) - (2)].list;
3402 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3403 ;
3404 }
3405 break;
3406 case 165:
3407 {
3408 yyval.list = MkList();
3409 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3410 ;
3411 }
3412 break;
3413 case 166:
3414 {
3415 yyval.list = yyvsp[(1) - (2)].list;
3416 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3417 ;
3418 }
3419 break;
3420 case 167:
3421 {
3422 yyval.list = MkList();
3423 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3424 ;
3425 }
3426 break;
3427 case 168:
3428 {
3429 yyval.list = yyvsp[(1) - (2)].list;
3430 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3431 ;
3432 }
3433 break;
3434 case 169:
3435 {
3436 yyval.list = MkList();
3437 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3438 FreeIdentifier(yyvsp[(1) - (1)].id);
3439 ;
3440 }
3441 break;
3442 case 170:
3443 {
3444 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3445 FreeIdentifier(yyvsp[(2) - (2)].id);
3446 ;
3447 }
3448 break;
3449 case 171:
3450 {
3451 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3452 yyval.list = MkList();
3453 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3454 FreeIdentifier(yyvsp[(1) - (4)].id);
3455 ;
3456 }
3457 break;
3458 case 172:
3459 {
3460 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3461 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3462 FreeIdentifier(yyvsp[(2) - (5)].id);
3463 ;
3464 }
3465 break;
3466 case 173:
3467 {
3468 yyval.list = MkList();
3469 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3470 ;
3471 }
3472 break;
3473 case 174:
3474 {
3475 yyval.list = yyvsp[(1) - (2)].list;
3476 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3477 ;
3478 }
3479 break;
3480 case 175:
3481 {
3482 yyval.list = MkList();
3483 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3484 ;
3485 }
3486 break;
3487 case 176:
3488 {
3489 yyval.list = yyvsp[(1) - (2)].list;
3490 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3491 ;
3492 }
3493 break;
3494 case 177:
3495 {
3496 yyval.list = MkList();
3497 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3498 ;
3499 }
3500 break;
3501 case 178:
3502 {
3503 yyval.list = yyvsp[(1) - (2)].list;
3504 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3505 ;
3506 }
3507 break;
3508 case 179:
3509 {
3510 yyval.list = MkList();
3511 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3512 ;
3513 }
3514 break;
3515 case 180:
3516 {
3517 yyval.list = yyvsp[(1) - (2)].list;
3518 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3519 ;
3520 }
3521 break;
3522 case 181:
3523 {
3524 yyval.list = MkList();
3525 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3526 ;
3527 }
3528 break;
3529 case 182:
3530 {
3531 yyval.list = yyvsp[(1) - (2)].list;
3532 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3533 ;
3534 }
3535 break;
3536 case 183:
3537 {
3538 yyval.list = MkList();
3539 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
3540 FreeIdentifier(yyvsp[(1) - (1)].id);
3541 ;
3542 }
3543 break;
3544 case 184:
3545 {
3546 yyval.list = yyvsp[(1) - (2)].list;
3547 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
3548 FreeIdentifier(yyvsp[(2) - (2)].id);
3549 }
3550 break;
3551 case 185:
3552 {
3553 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
3554 yyval.list = MkList();
3555 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
3556 FreeIdentifier(yyvsp[(1) - (4)].id);
3557 ;
3558 }
3559 break;
3560 case 186:
3561 {
3562 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3563 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
3564 FreeIdentifier(yyvsp[(2) - (5)].id);
3565 ;
3566 }
3567 break;
3568 case 187:
3569 {
3570 yyval.list = MkList();
3571 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
3572 ;
3573 }
3574 break;
3575 case 188:
3576 {
3577 yyval.list = yyvsp[(1) - (3)].list;
3578 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
3579 ;
3580 }
3581 break;
3582 case 189:
3583 {
3584 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3585 yyval.initDeclarator->loc = (yyloc);
3586 ;
3587 }
3588 break;
3589 case 190:
3590 {
3591 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
3592 yyval.initDeclarator->loc = (yyloc);
3593 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
3594 ;
3595 }
3596 break;
3597 case 191:
3598 {
3599 yyval.specifier = MkSpecifier(TYPEDEF);
3600 ;
3601 }
3602 break;
3603 case 192:
3604 {
3605 yyval.specifier = MkSpecifier(EXTERN);
3606 ;
3607 }
3608 break;
3609 case 193:
3610 {
3611 yyval.specifier = MkSpecifier(STATIC);
3612 ;
3613 }
3614 break;
3615 case 194:
3616 {
3617 yyval.specifier = MkSpecifier(AUTO);
3618 ;
3619 }
3620 break;
3621 case 195:
3622 {
3623 yyval.specifier = MkSpecifier(REGISTER);
3624 ;
3625 }
3626 break;
3627 case 196:
3628 {
3629 yyval.specifier = MkSpecifier(THREAD);
3630 ;
3631 }
3632 break;
3633 case 197:
3634 {
3635 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3636 ;
3637 }
3638 break;
3639 case 198:
3640 {
3641 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
3642 ;
3643 }
3644 break;
3645 case 199:
3646 {
3647 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
3648 ;
3649 }
3650 break;
3651 case 200:
3652 {
3653 yyval.i = ATTRIB;
3654 ;
3655 }
3656 break;
3657 case 201:
3658 {
3659 yyval.i = ATTRIB_DEP;
3660 ;
3661 }
3662 break;
3663 case 202:
3664 {
3665 yyval.i = __ATTRIB;
3666 ;
3667 }
3668 break;
3669 case 203:
3670 {
3671 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3672 ;
3673 }
3674 break;
3675 case 204:
3676 {
3677 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3678 ;
3679 }
3680 break;
3681 case 205:
3682 {
3683 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3684 ;
3685 }
3686 break;
3687 case 206:
3688 {
3689 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3690 ;
3691 }
3692 break;
3693 case 207:
3694 {
3695 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3696 ;
3697 }
3698 break;
3699 case 208:
3700 {
3701 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
3702 yyval.attribute->loc = (yyloc);
3703 ;
3704 }
3705 break;
3706 case 209:
3707 {
3708 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
3709 yyval.attribute->loc = (yyloc);
3710 ;
3711 }
3712 break;
3713 case 210:
3714 {
3715 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
3716 ;
3717 }
3718 break;
3719 case 211:
3720 {
3721 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
3722 yyval.list = yyvsp[(1) - (2)].list;
3723 ;
3724 }
3725 break;
3726 case 212:
3727 {
3728 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
3729 yyval.list = yyvsp[(1) - (3)].list;
3730 ;
3731 }
3732 break;
3733 case 213:
3734 {
3735 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
3736 yyval.attrib->loc = (yyloc);
3737 ;
3738 }
3739 break;
3740 case 214:
3741 {
3742 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
3743 yyval.attrib->loc = (yyloc);
3744 ;
3745 }
3746 break;
3747 case 215:
3748 {
3749 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
3750 ;
3751 }
3752 break;
3753 case 216:
3754 {
3755 yyval.specifier = MkSpecifier(CONST);
3756 ;
3757 }
3758 break;
3759 case 217:
3760 {
3761 yyval.specifier = MkSpecifier(VOLATILE);
3762 ;
3763 }
3764 break;
3765 case 218:
3766 {
3767 yyval.specifier = yyvsp[(1) - (1)].specifier;
3768 ;
3769 }
3770 break;
3771 case 219:
3772 {
3773 yyval.specifier = MkSpecifier(VOID);
3774 ;
3775 }
3776 break;
3777 case 220:
3778 {
3779 yyval.specifier = MkSpecifier(CHAR);
3780 ;
3781 }
3782 break;
3783 case 221:
3784 {
3785 yyval.specifier = MkSpecifier(SHORT);
3786 ;
3787 }
3788 break;
3789 case 222:
3790 {
3791 yyval.specifier = MkSpecifier(INT);
3792 ;
3793 }
3794 break;
3795 case 223:
3796 {
3797 yyval.specifier = MkSpecifier(UINT);
3798 ;
3799 }
3800 break;
3801 case 224:
3802 {
3803 yyval.specifier = MkSpecifier(INT64);
3804 ;
3805 }
3806 break;
3807 case 225:
3808 {
3809 yyval.specifier = MkSpecifier(VALIST);
3810 ;
3811 }
3812 break;
3813 case 226:
3814 {
3815 yyval.specifier = MkSpecifier(LONG);
3816 ;
3817 }
3818 break;
3819 case 227:
3820 {
3821 yyval.specifier = MkSpecifier(FLOAT);
3822 ;
3823 }
3824 break;
3825 case 228:
3826 {
3827 yyval.specifier = MkSpecifier(DOUBLE);
3828 ;
3829 }
3830 break;
3831 case 229:
3832 {
3833 yyval.specifier = MkSpecifier(SIGNED);
3834 ;
3835 }
3836 break;
3837 case 230:
3838 {
3839 yyval.specifier = MkSpecifier(UNSIGNED);
3840 ;
3841 }
3842 break;
3843 case 231:
3844 {
3845 yyval.specifier = MkSpecifier(EXTENSION);
3846 ;
3847 }
3848 break;
3849 case 232:
3850 {
3851 yyval.specifier = MkSpecifier(_BOOL);
3852 ;
3853 }
3854 break;
3855 case 233:
3856 {
3857 yyval.specifier = MkSpecifier(BOOL);
3858 ;
3859 }
3860 break;
3861 case 237:
3862 {
3863 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
3864 ;
3865 }
3866 break;
3867 case 238:
3868 {
3869 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3870 ;
3871 }
3872 break;
3873 case 239:
3874 {
3875 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
3876 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
3877 FreeIdentifier(yyvsp[(3) - (4)].id);
3878 ;
3879 }
3880 break;
3881 case 240:
3882 {
3883 yyval.specifier = MkSpecifier(THISCLASS);
3884 ;
3885 }
3886 break;
3887 case 241:
3888 {
3889 yyval.specifier = MkSpecifier(TYPED_OBJECT);
3890 ;
3891 }
3892 break;
3893 case 242:
3894 {
3895 yyval.specifier = MkSpecifier(ANY_OBJECT);
3896 ;
3897 }
3898 break;
3899 case 243:
3900 {
3901 yyval.specifier = MkSpecifier(VOID);
3902 ;
3903 }
3904 break;
3905 case 244:
3906 {
3907 yyval.specifier = MkSpecifier(CHAR);
3908 ;
3909 }
3910 break;
3911 case 245:
3912 {
3913 yyval.specifier = MkSpecifier(SHORT);
3914 ;
3915 }
3916 break;
3917 case 246:
3918 {
3919 yyval.specifier = MkSpecifier(INT);
3920 ;
3921 }
3922 break;
3923 case 247:
3924 {
3925 yyval.specifier = MkSpecifier(UINT);
3926 ;
3927 }
3928 break;
3929 case 248:
3930 {
3931 yyval.specifier = MkSpecifier(INT64);
3932 ;
3933 }
3934 break;
3935 case 249:
3936 {
3937 yyval.specifier = MkSpecifier(VALIST);
3938 ;
3939 }
3940 break;
3941 case 250:
3942 {
3943 yyval.specifier = MkSpecifier(LONG);
3944 ;
3945 }
3946 break;
3947 case 251:
3948 {
3949 yyval.specifier = MkSpecifier(FLOAT);
3950 ;
3951 }
3952 break;
3953 case 252:
3954 {
3955 yyval.specifier = MkSpecifier(DOUBLE);
3956 ;
3957 }
3958 break;
3959 case 253:
3960 {
3961 yyval.specifier = MkSpecifier(SIGNED);
3962 ;
3963 }
3964 break;
3965 case 254:
3966 {
3967 yyval.specifier = MkSpecifier(UNSIGNED);
3968 ;
3969 }
3970 break;
3971 case 255:
3972 {
3973 yyval.specifier = MkSpecifier(EXTENSION);
3974 ;
3975 }
3976 break;
3977 case 256:
3978 {
3979 yyval.specifier = MkSpecifier(_BOOL);
3980 ;
3981 }
3982 break;
3983 case 257:
3984 {
3985 yyval.specifier = MkSpecifier(BOOL);
3986 ;
3987 }
3988 break;
3989 case 261:
3990 {
3991 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
3992 ;
3993 }
3994 break;
3995 case 262:
3996 {
3997 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
3998 ;
3999 }
4000 break;
4001 case 263:
4002 {
4003 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
4004 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
4005 FreeIdentifier(yyvsp[(3) - (4)].id);
4006 ;
4007 }
4008 break;
4009 case 264:
4010 {
4011 yyval.specifier = MkSpecifier(THISCLASS);
4012 ;
4013 }
4014 break;
4015 case 265:
4016 {
4017 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4018 if(declMode)
4019 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4020 ;
4021 }
4022 break;
4023 case 266:
4024 {
4025 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
4026 ;
4027 }
4028 break;
4029 case 267:
4030 {
4031 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
4032 if(declMode)
4033 DeclClass(yyvsp[(2) - (4)].id->_class, yyvsp[(2) - (4)].id->string);
4034 ;
4035 }
4036 break;
4037 case 268:
4038 {
4039 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
4040 ;
4041 }
4042 break;
4043 case 269:
4044 {
4045 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4046 if(declMode)
4047 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4048 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4049 ;
4050 }
4051 break;
4052 case 270:
4053 {
4054 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
4055 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4056 if(declMode)
4057 DeclClass(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
4058 ;
4059 }
4060 break;
4061 case 271:
4062 {
4063 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
4064 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4065 ;
4066 }
4067 break;
4068 case 272:
4069 {
4070 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
4071 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
4072 if(declMode)
4073 DeclClass(yyvsp[(3) - (5)].id->_class, yyvsp[(3) - (5)].id->string);
4074 ;
4075 }
4076 break;
4077 case 273:
4078 {
4079 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
4080 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
4081 ;
4082 }
4083 break;
4084 case 274:
4085 {
4086 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
4087 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
4088 if(declMode)
4089 DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
4090 FreeSpecifier(yyvsp[(3) - (6)].specifier);
4091 ;
4092 }
4093 break;
4094 case 275:
4095 {
4096 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
4097 if(declMode)
4098 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4099 ;
4100 }
4101 break;
4102 case 276:
4103 {
4104 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4105 if(declMode)
4106 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4107 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4108 ;
4109 }
4110 break;
4111 case 277:
4112 {
4113 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
4114 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4115 if(declMode)
4116 DeclClass(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
4117 ;
4118 }
4119 break;
4120 case 278:
4121 {
4122 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
4123 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
4124 if(declMode)
4125 DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
4126 FreeSpecifier(yyvsp[(3) - (3)].specifier);
4127 ;
4128 }
4129 break;
4130 case 279:
4131 {
4132 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4133 ;
4134 }
4135 break;
4136 case 280:
4137 {
4138 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4139 ;
4140 }
4141 break;
4142 case 281:
4143 {
4144 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4145 ;
4146 }
4147 break;
4148 case 282:
4149 {
4150 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4151 ;
4152 }
4153 break;
4154 case 283:
4155 {
4156 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
4157 ;
4158 }
4159 break;
4160 case 286:
4161 {
4162 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4163 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4164 yyval.templateArgument->loc = (yyloc);
4165 ;
4166 }
4167 break;
4168 case 287:
4169 {
4170 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4171 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
4172 yyval.templateArgument->loc = (yyloc);
4173 ;
4174 }
4175 break;
4176 case 288:
4177 {
4178 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4179 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4180 {
4181 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4182
4183 if(spec->type == 1)
4184 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4185 }
4186 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4187 yyval.templateArgument->loc = (yyloc);
4188 ;
4189 }
4190 break;
4191 case 289:
4192 {
4193 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
4194 if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateDatatype->specifiers).first)
4195 {
4196 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
4197
4198 if(spec->type == 1)
4199 yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
4200 }
4201 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
4202 yyval.templateArgument->loc = (yyloc);
4203 ;
4204 }
4205 break;
4206 case 290:
4207 {
4208 yyval.list = MkList();
4209 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
4210 ;
4211 }
4212 break;
4213 case 291:
4214 {
4215 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
4216 ;
4217 }
4218 break;
4219 case 292:
4220 {
4221 yyval.specifierType = 3;
4222 ;
4223 }
4224 break;
4225 case 293:
4226 {
4227 yyval.specifierType = 4;
4228 ;
4229 }
4230 break;
4231 case 294:
4232 {
4233 yyval.list = MkList();
4234 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4235 ;
4236 }
4237 break;
4238 case 295:
4239 {
4240 yyval.list = yyvsp[(1) - (2)].list;
4241 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4242 ;
4243 }
4244 break;
4245 case 296:
4246 {
4247 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4248 yyval.memberInit->loc = (yyloc);
4249 yyval.memberInit->realLoc = (yyloc);
4250 ;
4251 }
4252 break;
4253 case 297:
4254 {
4255 yyval.list = MkList();
4256 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4257 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4258 ;
4259 }
4260 break;
4261 case 298:
4262 {
4263 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4264 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4265 yyval.list = yyvsp[(1) - (3)].list;
4266 ;
4267 }
4268 break;
4269 case 299:
4270 {
4271 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4272 yyval.prop->loc = (yyloc);
4273 ;
4274 }
4275 break;
4276 case 300:
4277 {
4278 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4279 yyval.prop->loc = (yyloc);
4280 ;
4281 }
4282 break;
4283 case 301:
4284 {
4285 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
4286 yyval.prop->loc = (yyloc);
4287 ;
4288 }
4289 break;
4290 case 302:
4291 {
4292 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
4293 yyval.prop->loc = (yyloc);
4294 ;
4295 }
4296 break;
4297 case 303:
4298 {
4299 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
4300 yyval.prop->loc = (yyloc);
4301 ;
4302 }
4303 break;
4304 case 304:
4305 {
4306 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
4307 yyval.prop->loc = (yyloc);
4308 ;
4309 }
4310 break;
4311 case 305:
4312 {
4313 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
4314 yyval.prop->loc = (yyloc);
4315 ;
4316 }
4317 break;
4318 case 306:
4319 {
4320 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
4321 yyval.prop->loc = (yyloc);
4322 ;
4323 }
4324 break;
4325 case 307:
4326 {
4327 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
4328 yyval.prop->loc = (yyloc);
4329 ;
4330 }
4331 break;
4332 case 308:
4333 {
4334 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
4335 yyval.prop->loc = (yyloc);
4336 ;
4337 }
4338 break;
4339 case 309:
4340 {
4341 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
4342 yyval.prop->loc = (yyloc);
4343 ;
4344 }
4345 break;
4346 case 310:
4347 {
4348 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
4349 yyval.prop->loc = (yyloc);
4350 ;
4351 }
4352 break;
4353 case 311:
4354 {
4355 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
4356 yyval.prop->loc = (yyloc);
4357 ;
4358 }
4359 break;
4360 case 312:
4361 {
4362 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
4363 yyval.prop->loc = (yyloc);
4364 ;
4365 }
4366 break;
4367 case 313:
4368 {
4369 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4370 yyval.prop->loc = (yyloc);
4371 ;
4372 }
4373 break;
4374 case 314:
4375 {
4376 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
4377 yyval.prop->loc = (yyloc);
4378 ;
4379 }
4380 break;
4381 case 315:
4382 {
4383 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
4384 yyval.prop->loc = (yyloc);
4385 ;
4386 }
4387 break;
4388 case 316:
4389 {
4390 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
4391 yyval.prop->loc = (yyloc);
4392 ;
4393 }
4394 break;
4395 case 317:
4396 {
4397 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
4398 yyval.prop->loc = (yyloc);
4399 ;
4400 }
4401 break;
4402 case 318:
4403 {
4404 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4405 yyval.prop->loc = (yyloc);
4406 ;
4407 }
4408 break;
4409 case 319:
4410 {
4411 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
4412 yyval.classDef->__anon1.decl->loc = (yyloc);
4413 yyval.classDef->loc = (yyloc);
4414 ;
4415 }
4416 break;
4417 case 320:
4418 {
4419 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
4420 yyval.classDef->__anon1.decl->loc = (yyloc);
4421 yyval.classDef->loc = (yyloc);
4422 ;
4423 }
4424 break;
4425 case 321:
4426 {
4427 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4428 yyval.classDef->loc = (yyloc);
4429 yyval.classDef->__anon1.decl->loc = (yyloc);
4430 ;
4431 }
4432 break;
4433 case 322:
4434 {
4435 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4436 yyval.classDef->loc = (yyloc);
4437 yyval.classDef->__anon1.decl->loc = (yyloc);
4438 ;
4439 }
4440 break;
4441 case 323:
4442 {
4443 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4444 yyval.classDef->loc = (yyloc);
4445 ;
4446 }
4447 break;
4448 case 324:
4449 {
4450 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4451 if((*yyvsp[(1) - (2)].list).last)
4452 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4453 yyval.classDef->loc = (yyloc);
4454 ;
4455 }
4456 break;
4457 case 325:
4458 {
4459 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4460 yyval.classDef->loc = (yyloc);
4461 ;
4462 }
4463 break;
4464 case 326:
4465 {
4466 yyval.classDef = (((void *)0));
4467 ;
4468 }
4469 break;
4470 case 327:
4471 {
4472 yyval.list = MkList();
4473 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
4474 ;
4475 }
4476 break;
4477 case 328:
4478 {
4479 yyval.list = yyvsp[(1) - (3)].list;
4480 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
4481 ;
4482 }
4483 break;
4484 case 329:
4485 {
4486 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
4487 yyval.declarator->loc = (yyloc);
4488 ;
4489 }
4490 break;
4491 case 330:
4492 {
4493 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
4494 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
4495 yyval.declarator->loc = (yyloc);
4496 ;
4497 }
4498 break;
4499 case 331:
4500 {
4501 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
4502 yyval.declarator->loc = (yyloc);
4503 ;
4504 }
4505 break;
4506 case 332:
4507 {
4508 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
4509 yyval.declarator->loc = (yyloc);
4510 ;
4511 }
4512 break;
4513 case 333:
4514 {
4515 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
4516 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
4517 yyval.declarator->loc = (yyloc);
4518 ;
4519 }
4520 break;
4521 case 334:
4522 {
4523 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
4524 if(declMode)
4525 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
4526 ;
4527 }
4528 break;
4529 case 335:
4530 {
4531 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
4532 if(declMode)
4533 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4534 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4535 ;
4536 }
4537 break;
4538 case 336:
4539 {
4540 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
4541 ;
4542 }
4543 break;
4544 case 337:
4545 {
4546 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
4547 if(declMode)
4548 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
4549 ;
4550 }
4551 break;
4552 case 338:
4553 {
4554 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
4555 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4556 if(declMode)
4557 DeclClass(yyvsp[(2) - (7)].id->_class, yyvsp[(2) - (7)].id->string);
4558 ;
4559 }
4560 break;
4561 case 339:
4562 {
4563 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
4564 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
4565 if(declMode)
4566 DeclClass(yyvsp[(2) - (7)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
4567 FreeSpecifier(yyvsp[(2) - (7)].specifier);
4568 ;
4569 }
4570 break;
4571 case 340:
4572 {
4573 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
4574 if(declMode)
4575 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
4576 FreeSpecifier(yyvsp[(2) - (5)].specifier);
4577 ;
4578 }
4579 break;
4580 case 341:
4581 {
4582 yyval.list = MkList();
4583 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
4584 ;
4585 }
4586 break;
4587 case 342:
4588 {
4589 yyval.list = yyvsp[(1) - (3)].list;
4590 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
4591 ;
4592 }
4593 break;
4594 case 343:
4595 {
4596 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
4597 ;
4598 }
4599 break;
4600 case 344:
4601 {
4602 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
4603 ;
4604 }
4605 break;
4606 case 345:
4607 {
4608 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4609 ;
4610 }
4611 break;
4612 case 346:
4613 {
4614 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
4615 ;
4616 }
4617 break;
4618 case 347:
4619 {
4620 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
4621 ;
4622 }
4623 break;
4624 case 348:
4625 {
4626 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
4627 ;
4628 }
4629 break;
4630 case 349:
4631 {
4632 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4633 ;
4634 }
4635 break;
4636 case 350:
4637 {
4638 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4639 ;
4640 }
4641 break;
4642 case 351:
4643 {
4644 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4645 ;
4646 }
4647 break;
4648 case 352:
4649 {
4650 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4651 ;
4652 }
4653 break;
4654 case 353:
4655 {
4656 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4657 ;
4658 }
4659 break;
4660 case 354:
4661 {
4662 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4663 ;
4664 }
4665 break;
4666 case 355:
4667 {
4668 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4669 ;
4670 }
4671 break;
4672 case 356:
4673 {
4674 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4675 ;
4676 }
4677 break;
4678 case 357:
4679 {
4680 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
4681 ;
4682 }
4683 break;
4684 case 358:
4685 {
4686 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
4687 ;
4688 }
4689 break;
4690 case 359:
4691 {
4692 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
4693 ;
4694 }
4695 break;
4696 case 360:
4697 {
4698 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
4699 ;
4700 }
4701 break;
4702 case 361:
4703 {
4704 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4705 ;
4706 }
4707 break;
4708 case 363:
4709 {
4710 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4711 ;
4712 }
4713 break;
4714 case 364:
4715 {
4716 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4717 ;
4718 }
4719 break;
4720 case 365:
4721 {
4722 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4723 ;
4724 }
4725 break;
4726 case 366:
4727 {
4728 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4729 ;
4730 }
4731 break;
4732 case 367:
4733 {
4734 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
4735 ;
4736 }
4737 break;
4738 case 369:
4739 {
4740 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4741 ;
4742 }
4743 break;
4744 case 370:
4745 {
4746 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
4747 ;
4748 }
4749 break;
4750 case 371:
4751 {
4752 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4753 ;
4754 }
4755 break;
4756 case 372:
4757 {
4758 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4759 ;
4760 }
4761 break;
4762 case 374:
4763 {
4764 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4765 ;
4766 }
4767 break;
4768 case 375:
4769 {
4770 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4771 ;
4772 }
4773 break;
4774 case 376:
4775 {
4776 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
4777 ;
4778 }
4779 break;
4780 case 377:
4781 {
4782 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
4783 ;
4784 }
4785 break;
4786 case 378:
4787 {
4788 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
4789 ;
4790 }
4791 break;
4792 case 379:
4793 {
4794 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
4795 ;
4796 }
4797 break;
4798 case 380:
4799 {
4800 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
4801 ;
4802 }
4803 break;
4804 case 381:
4805 {
4806 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
4807 ;
4808 }
4809 break;
4810 case 383:
4811 {
4812 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4813 ;
4814 }
4815 break;
4816 case 384:
4817 {
4818 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4819 ;
4820 }
4821 break;
4822 case 385:
4823 {
4824 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4825 ;
4826 }
4827 break;
4828 case 386:
4829 {
4830 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4831 ;
4832 }
4833 break;
4834 case 388:
4835 {
4836 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4837 ;
4838 }
4839 break;
4840 case 389:
4841 {
4842 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
4843 ;
4844 }
4845 break;
4846 case 390:
4847 {
4848 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
4849 ;
4850 }
4851 break;
4852 case 393:
4853 {
4854 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4855 ;
4856 }
4857 break;
4858 case 394:
4859 {
4860 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4861 ;
4862 }
4863 break;
4864 case 396:
4865 {
4866 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
4867 ;
4868 }
4869 break;
4870 case 397:
4871 {
4872 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
4873 ;
4874 }
4875 break;
4876 case 398:
4877 {
4878 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
4879 ;
4880 }
4881 break;
4882 case 399:
4883 {
4884 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
4885 ;
4886 }
4887 break;
4888 case 400:
4889 {
4890 yyval.list = MkList();
4891 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
4892 ;
4893 }
4894 break;
4895 case 401:
4896 {
4897 yyval.list = yyvsp[(1) - (2)].list;
4898 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
4899 ;
4900 }
4901 break;
4902 case 402:
4903 {
4904 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
4905 ;
4906 }
4907 break;
4908 case 403:
4909 {
4910 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
4911 ;
4912 }
4913 break;
4914 case 404:
4915 {
4916 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
4917 ;
4918 }
4919 break;
4920 case 405:
4921 {
4922 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
4923 ;
4924 }
4925 break;
4926 case 407:
4927 {
4928 yyval.list = yyvsp[(1) - (3)].list;
4929 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
4930 ;
4931 }
4932 break;
4933 case 408:
4934 {
4935 yyval.list = MkList();
4936 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
4937 ;
4938 }
4939 break;
4940 case 409:
4941 {
4942 yyval.list = yyvsp[(1) - (3)].list;
4943 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
4944 ;
4945 }
4946 break;
4947 case 410:
4948 {
4949 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4950 ;
4951 }
4952 break;
4953 case 411:
4954 {
4955 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4956 ;
4957 }
4958 break;
4959 case 412:
4960 {
4961 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
4962 ;
4963 }
4964 break;
4965 case 413:
4966 {
4967 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
4968 ;
4969 }
4970 break;
4971 case 414:
4972 {
4973 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
4974 ;
4975 }
4976 break;
4977 case 415:
4978 {
4979 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
4980 ;
4981 }
4982 break;
4983 case 416:
4984 {
4985 yyval.list = MkList();
4986 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
4987 ;
4988 }
4989 break;
4990 case 417:
4991 {
4992 yyval.list = yyvsp[(1) - (3)].list;
4993 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
4994 ;
4995 }
4996 break;
4997 case 418:
4998 {
4999 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5000 ;
5001 }
5002 break;
5003 case 419:
5004 {
5005 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5006 ;
5007 }
5008 break;
5009 case 420:
5010 {
5011 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
5012 ;
5013 }
5014 break;
5015 case 421:
5016 {
5017 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
5018 ;
5019 }
5020 break;
5021 case 422:
5022 {
5023 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5024 yyval.initializer->loc = (yyloc);
5025 ;
5026 }
5027 break;
5028 case 423:
5029 {
5030 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
5031 yyval.initializer->loc = (yyloc);
5032 ;
5033 }
5034 break;
5035 case 424:
5036 {
5037 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
5038 yyval.initializer->loc = (yyloc);
5039 {
5040 struct Expression * exp = MkExpDummy();
5041 struct Initializer * init = MkInitializerAssignment(exp);
5042
5043 init->loc = (yylsp[(3) - (4)]);
5044 exp->loc = (yylsp[(3) - (4)]);
5045 ListAdd(yyvsp[(2) - (4)].list, init);
5046 }
5047 ;
5048 }
5049 break;
5050 case 425:
5051 {
5052 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5053 yyval.initializer->loc = (yyloc);
5054 ;
5055 }
5056 break;
5057 case 426:
5058 {
5059 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
5060 yyval.initializer->loc = (yyloc);
5061 ;
5062 }
5063 break;
5064 case 427:
5065 {
5066 yyval.list = MkList();
5067 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
5068 ;
5069 }
5070 break;
5071 case 428:
5072 {
5073 yyval.list = yyvsp[(1) - (3)].list;
5074 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
5075 ;
5076 }
5077 break;
5078 case 435:
5079 {
5080 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
5081 yyval.stmt->loc = (yyloc);
5082 ;
5083 }
5084 break;
5085 case 436:
5086 {
5087 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
5088 yyval.stmt->loc = (yyloc);
5089 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
5090 ;
5091 }
5092 break;
5093 case 437:
5094 {
5095 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
5096 yyval.stmt->loc = (yyloc);
5097 ;
5098 }
5099 break;
5100 case 438:
5101 {
5102 yyval.list = MkList();
5103 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
5104 ;
5105 }
5106 break;
5107 case 439:
5108 {
5109 yyval.list = yyvsp[(1) - (2)].list;
5110 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
5111 ;
5112 }
5113 break;
5114 case 440:
5115 {
5116 yyval.list = MkList();
5117 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
5118 ;
5119 }
5120 break;
5121 case 441:
5122 {
5123 yyval.list = yyvsp[(1) - (2)].list;
5124 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
5125 ;
5126 }
5127 break;
5128 case 442:
5129 {
5130 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
5131
5132 stmt->loc = (yylsp[(2) - (2)]);
5133 ListAdd(yyvsp[(1) - (2)].list, stmt);
5134 yyval.list = yyvsp[(1) - (2)].list;
5135 ;
5136 }
5137 break;
5138 case 443:
5139 {
5140 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
5141 ;
5142 }
5143 break;
5144 case 444:
5145 {
5146 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
5147 ;
5148 }
5149 break;
5150 case 445:
5151 {
5152 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
5153 ;
5154 }
5155 break;
5156 case 446:
5157 {
5158 yyval.context = PushContext();
5159 ;
5160 }
5161 break;
5162 case 447:
5163 {
5164 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
5165 yyval.stmt->__anon1.compound.context = PushContext();
5166 PopContext(yyval.stmt->__anon1.compound.context);
5167 yyval.stmt->loc = (yyloc);
5168 ;
5169 }
5170 break;
5171 case 448:
5172 {
5173 yyval.stmt = yyvsp[(2) - (3)].stmt;
5174 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
5175 PopContext(yyvsp[(1) - (3)].context);
5176 yyval.stmt->loc = (yyloc);
5177 ;
5178 }
5179 break;
5180 case 449:
5181 {
5182 yyval.stmt = MkExpressionStmt((((void *)0)));
5183 yyval.stmt->loc = (yyloc);
5184 ;
5185 }
5186 break;
5187 case 450:
5188 {
5189 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
5190 yyval.stmt->loc = (yyloc);
5191 ;
5192 }
5193 break;
5194 case 451:
5195 {
5196 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
5197 yyval.stmt->loc = (yyloc);
5198 ;
5199 }
5200 break;
5201 case 452:
5202 {
5203 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
5204 yyval.stmt->loc = (yyloc);
5205 ;
5206 }
5207 break;
5208 case 453:
5209 {
5210 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5211 yyval.stmt->loc = (yyloc);
5212 ;
5213 }
5214 break;
5215 case 454:
5216 {
5217 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
5218 yyval.stmt->loc = (yyloc);
5219 ;
5220 }
5221 break;
5222 case 455:
5223 {
5224 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
5225 yyval.stmt->loc = (yyloc);
5226 ;
5227 }
5228 break;
5229 case 456:
5230 {
5231 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
5232 yyval.stmt->loc = (yyloc);
5233 ;
5234 }
5235 break;
5236 case 457:
5237 {
5238 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
5239 yyval.stmt->loc = (yyloc);
5240 ;
5241 }
5242 break;
5243 case 458:
5244 {
5245 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
5246 yyval.stmt->loc = (yyloc);
5247 ;
5248 }
5249 break;
5250 case 459:
5251 {
5252 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
5253 yyval.stmt->loc = (yyloc);
5254 ;
5255 }
5256 break;
5257 case 460:
5258 {
5259 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
5260 yyval.stmt->loc = (yyloc);
5261 ;
5262 }
5263 break;
5264 case 461:
5265 {
5266 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
5267 yyval.stmt->loc = (yyloc);
5268 ;
5269 }
5270 break;
5271 case 462:
5272 {
5273 yyval.stmt = MkContinueStmt();
5274 yyval.stmt->loc = (yyloc);
5275 ;
5276 }
5277 break;
5278 case 463:
5279 {
5280 yyval.stmt = MkBreakStmt();
5281 yyval.stmt->loc = (yyloc);
5282 ;
5283 }
5284 break;
5285 case 464:
5286 {
5287 struct Expression * exp = MkExpDummy();
5288
5289 yyval.stmt = MkReturnStmt(MkListOne(exp));
5290 yyval.stmt->loc = (yyloc);
5291 exp->loc = (yylsp[(2) - (2)]);
5292 ;
5293 }
5294 break;
5295 case 465:
5296 {
5297 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
5298 yyval.stmt->loc = (yyloc);
5299 ;
5300 }
5301 break;
5302 case 466:
5303 {
5304 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
5305 ;
5306 }
5307 break;
5308 case 467:
5309 {
5310 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5311 yyval.instance->loc = (yyloc);
5312 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5313 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5314 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5315 ;
5316 }
5317 break;
5318 case 468:
5319 {
5320 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5321 yyval.instance->loc = (yyloc);
5322 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5323 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5324 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5325 ;
5326 }
5327 break;
5328 case 469:
5329 {
5330 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
5331 yyval.instance->loc = (yyloc);
5332 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
5333 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
5334 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
5335 ;
5336 }
5337 break;
5338 case 470:
5339 {
5340 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
5341 yyval.instance->loc = (yyloc);
5342 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
5343 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
5344 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5345 ;
5346 }
5347 break;
5348 case 471:
5349 {
5350 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
5351 yyval.instance->loc = (yyloc);
5352 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5353 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5354 ;
5355 }
5356 break;
5357 case 472:
5358 {
5359 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
5360 yyval.instance->loc = (yyloc);
5361 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5362 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5363 ;
5364 }
5365 break;
5366 case 473:
5367 {
5368 struct Location tmpLoc = type_yylloc;
5369
5370 type_yylloc = (yylsp[(1) - (4)]);
5371 type_yylloc = tmpLoc;
5372 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
5373 yyval.instance->loc = (yyloc);
5374 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
5375 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
5376 FreeIdentifier(yyvsp[(1) - (4)].id);
5377 ;
5378 }
5379 break;
5380 case 474:
5381 {
5382 struct Location tmpLoc = type_yylloc;
5383
5384 type_yylloc = (yylsp[(1) - (3)]);
5385 type_yylloc = tmpLoc;
5386 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
5387 yyval.instance->loc = (yyloc);
5388 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
5389 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5390 FreeIdentifier(yyvsp[(1) - (3)].id);
5391 ;
5392 }
5393 break;
5394 case 475:
5395 {
5396 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
5397 yyval.instance->loc = (yyloc);
5398 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
5399 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
5400 ;
5401 }
5402 break;
5403 case 476:
5404 {
5405 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
5406 yyval.instance->loc = (yyloc);
5407 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
5408 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
5409 ;
5410 }
5411 break;
5412 case 477:
5413 {
5414 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5415 yyval.classFunction->loc = (yyloc);
5416 ;
5417 }
5418 break;
5419 case 478:
5420 {
5421 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5422 yyval.classFunction->loc = (yyloc);
5423 ;
5424 }
5425 break;
5426 case 479:
5427 {
5428 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
5429 yyval.classFunction->loc = (yyloc);
5430 ;
5431 }
5432 break;
5433 case 480:
5434 {
5435 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5436 yyval.classFunction->loc = (yyloc);
5437 ;
5438 }
5439 break;
5440 case 481:
5441 {
5442 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5443 yyval.classFunction->loc = (yyloc);
5444 ;
5445 }
5446 break;
5447 case 482:
5448 {
5449 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5450 yyval.classFunction->loc = (yyloc);
5451 ;
5452 }
5453 break;
5454 case 483:
5455 {
5456 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
5457 yyval.classFunction->loc = (yyloc);
5458 ;
5459 }
5460 break;
5461 case 484:
5462 {
5463 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
5464 yyval.classFunction->loc = (yyloc);
5465 ;
5466 }
5467 break;
5468 case 485:
5469 {
5470 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
5471 yyval.memberInit->loc = (yyloc);
5472 yyval.memberInit->realLoc = (yyloc);
5473 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
5474 ;
5475 }
5476 break;
5477 case 486:
5478 {
5479 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
5480 yyval.memberInit->loc = (yyloc);
5481 yyval.memberInit->realLoc = (yyloc);
5482 ;
5483 }
5484 break;
5485 case 487:
5486 {
5487 yyval.list = MkList();
5488 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
5489 ;
5490 }
5491 break;
5492 case 488:
5493 {
5494 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
5495 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
5496 yyval.list = yyvsp[(1) - (3)].list;
5497 ;
5498 }
5499 break;
5500 case 489:
5501 {
5502 if((*yyvsp[(1) - (2)].list).last)
5503 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
5504 yyval.list = yyvsp[(1) - (2)].list;
5505 ;
5506 }
5507 break;
5508 case 490:
5509 {
5510 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
5511
5512 yyval.list = MkList();
5513 ListAdd(yyval.list, members);
5514 members->loc = (yylsp[(1) - (1)]);
5515 ;
5516 }
5517 break;
5518 case 491:
5519 {
5520 yyval.list = MkList();
5521 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
5522 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5523 ;
5524 }
5525 break;
5526 case 492:
5527 {
5528 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
5529
5530 ListAdd(yyval.list, members);
5531 members->loc = (yylsp[(2) - (2)]);
5532 yyval.list = yyvsp[(1) - (2)].list;
5533 ;
5534 }
5535 break;
5536 case 493:
5537 {
5538 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
5539 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5540 yyval.list = yyvsp[(1) - (2)].list;
5541 ;
5542 }
5543 break;
5544 case 494:
5545 {
5546 struct MembersInit * members = MkMembersInitList(MkList());
5547
5548 yyval.list = MkList();
5549 ListAdd(yyval.list, members);
5550 members->loc = (yylsp[(1) - (1)]);
5551 ;
5552 }
5553 break;
5554 case 495:
5555 {
5556 struct MembersInit * members = MkMembersInitList(MkList());
5557
5558 ListAdd(yyval.list, members);
5559 members->loc = (yylsp[(2) - (2)]);
5560 yyval.list = yyvsp[(1) - (2)].list;
5561 ;
5562 }
5563 break;
5564 case 497:
5565 {
5566 yyval.list = MkList();
5567 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
5568 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
5569 ;
5570 }
5571 break;
5572 case 498:
5573 {
5574 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
5575 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
5576 ;
5577 }
5578 break;
5579 case 499:
5580 {
5581 parsedType = yyvsp[(1) - (1)].typeName;
5582 ;
5583 }
5584 break;
5585 case 500:
5586 {
5587 parsedType = yyvsp[(1) - (3)].typeName;
5588 parsedType->bitCount = yyvsp[(3) - (3)].exp;
5589 ;
5590 }
5591 break;
5592 default:
5593 break;
5594 }
5595 do
5596 {
5597 if(type_yydebug)
5598 {
5599 fprintf((bsl_stderr()), "%s ", "-> $$ =");
5600 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
5601 fprintf((bsl_stderr()), "\n");
5602 }
5603 }while((0));
5604 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5605 yylen = 0;
5606 do
5607 {
5608 if(type_yydebug)
5609 yy_stack_print((yyss), (yyssp));
5610 }while((0));
5611 *++yyvsp = yyval;
5612 *++yylsp = yyloc;
5613 yyn = yyr1[yyn];
5614 yystate = yypgoto[yyn - 145] + *yyssp;
5615 if(0 <= yystate && yystate <= 9303 && yycheck[yystate] == *yyssp)
5616 yystate = yytable[yystate];
5617 else
5618 yystate = yydefgoto[yyn - 145];
5619 goto yynewstate;
5620 yyerrlab:
5621 if(!yyerrstatus)
5622 {
5623 ++type_yynerrs;
5624 yyerror("syntax error");
5625 }
5626 yyerror_range[0] = type_yylloc;
5627 if(yyerrstatus == 3)
5628 {
5629 if(type_yychar <= 0)
5630 {
5631 if(type_yychar == 0)
5632 goto yyabortlab;
5633 }
5634 else
5635 {
5636 yydestruct("Error: discarding", yytoken, &type_yylval, &type_yylloc);
5637 type_yychar = (-2);
5638 }
5639 }
5640 goto yyerrlab1;
5641 yyerrorlab:
5642 if(0)
5643 goto yyerrorlab;
5644 yyerror_range[0] = yylsp[1 - yylen];
5645 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5646 yylen = 0;
5647 do
5648 {
5649 if(type_yydebug)
5650 yy_stack_print((yyss), (yyssp));
5651 }while((0));
5652 yystate = *yyssp;
5653 goto yyerrlab1;
5654 yyerrlab1:
5655 yyerrstatus = 3;
5656 for(; ; )
5657 {
5658 yyn = yypact[yystate];
5659 if(yyn != -761)
5660 {
5661 yyn += 1;
5662 if(0 <= yyn && yyn <= 9303 && yycheck[yyn] == 1)
5663 {
5664 yyn = yytable[yyn];
5665 if(0 < yyn)
5666 break;
5667 }
5668 }
5669 if(yyssp == yyss)
5670 goto yyabortlab;
5671 yyerror_range[0] = *yylsp;
5672 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
5673 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
5674 yystate = *yyssp;
5675 do
5676 {
5677 if(type_yydebug)
5678 yy_stack_print((yyss), (yyssp));
5679 }while((0));
5680 }
5681 *++yyvsp = type_yylval;
5682 yyerror_range[1] = type_yylloc;
5683 (yyloc.start = ((yyerror_range - 1))[1].start);
5684 (yyloc.end = ((yyerror_range - 1))[2].end);
5685 ;
5686 *++yylsp = yyloc;
5687 do
5688 {
5689 if(type_yydebug)
5690 {
5691 fprintf((bsl_stderr()), "%s ", "Shifting");
5692 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
5693 fprintf((bsl_stderr()), "\n");
5694 }
5695 }while((0));
5696 yystate = yyn;
5697 goto yynewstate;
5698 yyacceptlab:
5699 yyresult = 0;
5700 goto yyreturn;
5701 yyabortlab:
5702 yyresult = 1;
5703 goto yyreturn;
5704 yyexhaustedlab:
5705 yyerror("memory exhausted");
5706 yyresult = 2;
5707 yyreturn:
5708 if(type_yychar != (-2))
5709 yydestruct("Cleanup: discarding lookahead", yytoken, &type_yylval, &type_yylloc);
5710 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
5711 do
5712 {
5713 if(type_yydebug)
5714 yy_stack_print((yyss), (yyssp));
5715 }while((0));
5716 while(yyssp != yyss)
5717 {
5718 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
5719 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
5720 }
5721 if(yyss != yyssa)
5722 free(yyss);
5723 return (yyresult);
5724 }
5725