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