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