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