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