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