1 /* Code generated from eC source file: expression.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
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
63 typedef unsigned char yytype_uint8;
65 typedef signed char yytype_int8;
67 typedef unsigned short int yytype_uint16;
69 typedef short int yytype_int16;
71 void * malloc(size_t);
75 static const yytype_uint8 yytranslate[] =
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
80 static const yytype_uint16 yyprhs[] =
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
85 static const yytype_int16 yyrhs[] =
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
90 static const yytype_uint16 yyrline[] =
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
95 static const char * const yytname[] =
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
100 static const yytype_uint8 yyr1[] =
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
105 static const yytype_uint8 yyr2[] =
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
110 static const yytype_uint16 yydefact[] =
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
115 static const yytype_int16 yydefgoto[] =
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
120 static const yytype_int16 yypact[] =
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
125 static const yytype_int16 yypgoto[] =
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
130 static const yytype_int16 yytable[] =
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
135 static const yytype_int16 yycheck[] =
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
140 static const yytype_uint8 yystos[] =
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
145 void exit(int status);
147 void * calloc(size_t nmemb, size_t size);
149 void free(void * ptr);
151 void * malloc(size_t size);
153 void * realloc(void * ptr, size_t size);
155 long int strtol(const char * nptr, char ** endptr, int base);
157 long long int strtoll(const char * nptr, char ** endptr, int base);
159 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
161 typedef __builtin_va_list va_list;
165 FILE * bsl_stdin(void);
167 FILE * bsl_stdout(void);
169 FILE * bsl_stderr(void);
171 char * fgets(char * s, int size, FILE * stream);
173 FILE * fopen(const char * path, const char * mode);
175 int fclose(FILE * fp);
177 int fflush(FILE * stream);
179 int fgetc(FILE * stream);
181 int fprintf(FILE * stream, const char * format, ...);
183 int fputc(int c, FILE * stream);
185 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
187 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
189 int vsnprintf(char *, size_t, const char *, va_list args);
191 int snprintf(char * str, size_t, const char * format, ...);
193 int fseek(FILE * stream, long offset, int whence);
195 long ftell(FILE * stream);
197 int feof(FILE * stream);
199 int ferror(FILE * stream);
201 int fileno(FILE * stream);
203 int expression_yydebug;
205 int expression_yyparse(void);
207 int expression_yychar;
209 int expression_yynerrs;
213 struct __ecereNameSpace__ecere__sys__OldList
222 struct __ecereNameSpace__ecere__sys__BTNode;
226 struct __ecereNameSpace__ecere__com__DataValue
241 } ecere_gcc_struct __anon1;
244 struct __ecereNameSpace__ecere__com__SerialBuffer
246 unsigned char * _buffer;
252 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
254 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
256 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
258 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
260 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
268 struct FunctionDefinition;
278 struct ClassDefinition;
282 struct PropertyWatch;
284 struct TemplateParameter;
286 struct TemplateArgument;
288 struct TemplateDatatype;
304 extern size_t strlen(const char * );
306 extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
308 static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop)
310 fprintf((bsl_stderr()), "Stack now");
311 for(; yybottom <= yytop; yybottom++)
313 int yybot = *yybottom;
315 fprintf((bsl_stderr()), " %d", yybot);
317 fprintf((bsl_stderr()), "\n");
320 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void * ));
322 extern struct __ecereNameSpace__ecere__sys__OldList * MkListOne(void * item);
324 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
326 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
328 extern void FreeEnumerator(struct Enumerator * enumerator);
330 extern void FreePointer(struct Pointer * pointer);
332 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
334 extern void FreeTypeName(struct TypeName * typeName);
336 extern void PopContext(struct Context * ctx);
338 extern void FreeContext(struct Context * context);
340 extern struct Context * PushContext(void);
342 extern void FreeExtDecl(struct ExtDecl * extDecl);
344 extern struct ExtDecl * MkExtDeclString(char * s);
348 struct CodePosition start;
349 struct CodePosition end;
352 extern struct Location yylloc;
354 struct Location expression_yylloc;
360 struct __ecereNameSpace__ecere__sys__OldList * attribs;
363 extern void FreeAttrib(struct Attrib * attr);
365 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
367 extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList * attribs);
371 struct Expression * parsedExpression;
373 extern void FreeExpression(struct Expression * exp);
375 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
377 extern struct Expression * MkExpConstant(const char * string);
379 extern struct Expression * MkExpWideString(const char * string);
381 extern struct Expression * MkExpString(const char * string);
383 extern struct Expression * MkExpIntlString(const char * string, const char * context);
385 extern struct Expression * MkExpDummy(void);
387 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
389 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
391 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
393 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
395 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
397 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
399 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
401 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
403 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
405 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
407 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
409 struct __ecereNameSpace__ecere__com__Class;
411 struct __ecereNameSpace__ecere__com__Instance
414 struct __ecereNameSpace__ecere__com__Class * _class;
418 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
420 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
422 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
424 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
426 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
428 struct __ecereNameSpace__ecere__com__Property;
430 struct __ecereNameSpace__ecere__com__Property
432 struct __ecereNameSpace__ecere__com__Property * prev;
433 struct __ecereNameSpace__ecere__com__Property * next;
435 unsigned int isProperty;
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 * );
448 unsigned int conversion;
449 unsigned int watcherOffset;
450 const char * category;
451 unsigned int compiled;
452 unsigned int selfWatchable;
453 unsigned int isWatchable;
456 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
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);
460 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
462 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
466 extern void FreeIdentifier(struct Identifier * id);
468 extern struct Identifier * MkIdentifier(const char * string);
470 extern struct Expression * MkExpIdentifier(struct Identifier * id);
472 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
474 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
476 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
480 extern void FreeDeclaration(struct Declaration * decl);
482 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
484 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
488 extern void FreeSpecifier(struct Specifier * spec);
492 struct Identifier * prev;
493 struct Identifier * next;
495 struct Symbol * classSym;
496 struct Specifier * _class;
498 struct Identifier * badID;
501 extern struct Specifier * MkSpecifier(int specifier);
503 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
505 extern struct Specifier * MkSpecifierName(const char * name);
507 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
509 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
511 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
515 struct Specifier * prev;
516 struct Specifier * next;
524 struct ExtDecl * extDecl;
526 struct Symbol * symbol;
527 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
528 struct Specifier * nsSpec;
529 } ecere_gcc_struct __anon1;
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;
546 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
548 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
550 struct InitDeclarator;
552 extern void FreeInitDeclarator(struct InitDeclarator * decl);
556 extern void FreeAttribute(struct Attribute * attr);
558 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
562 struct Attribute * prev;
563 struct Attribute * next;
566 struct Expression * exp;
571 extern void FreeClassDef(struct ClassDef * def);
573 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
575 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
579 extern void FreeMemberInit(struct MemberInit * init);
583 extern void FreeProperty(struct PropertyDef * def);
585 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
589 extern void FreeDeclarator(struct Declarator * decl);
591 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
593 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
597 struct Declarator * prev;
598 struct Declarator * next;
601 struct Symbol * symbol;
602 struct Declarator * declarator;
605 struct Identifier * identifier;
608 struct Expression * exp;
609 struct Expression * posExp;
610 struct Attrib * attrib;
611 } ecere_gcc_struct structDecl;
614 struct Expression * exp;
615 struct Specifier * enumClass;
616 } ecere_gcc_struct array;
619 struct __ecereNameSpace__ecere__sys__OldList * parameters;
620 } ecere_gcc_struct function;
623 struct Pointer * pointer;
624 } ecere_gcc_struct pointer;
627 struct ExtDecl * extended;
628 } ecere_gcc_struct extended;
629 } ecere_gcc_struct __anon1;
632 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
634 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
636 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
638 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
640 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
642 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
644 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
648 extern void FreeInitializer(struct Initializer * initializer);
650 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
652 struct InitDeclarator
654 struct InitDeclarator * prev;
655 struct InitDeclarator * next;
657 struct Declarator * declarator;
658 struct Initializer * initializer;
663 struct Initializer * prev;
664 struct Initializer * next;
669 struct Expression * exp;
670 struct __ecereNameSpace__ecere__sys__OldList * list;
671 } ecere_gcc_struct __anon1;
672 unsigned int isConstant;
673 struct Identifier * id;
676 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
680 struct MemberInit * prev;
681 struct MemberInit * next;
683 struct Location realLoc;
684 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
685 struct Initializer * initializer;
687 unsigned int variable;
688 unsigned int takeOutExp;
691 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
693 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
695 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
699 extern void FreeStatement(struct Statement * stmt);
701 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
705 struct PropertyDef * prev;
706 struct PropertyDef * next;
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;
718 unsigned int conversion : 1;
719 unsigned int isWatchable : 1;
720 unsigned int isDBProp : 1;
721 } ecere_gcc_struct __anon1;
724 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
728 struct Statement * prev;
729 struct Statement * next;
734 struct __ecereNameSpace__ecere__sys__OldList * expressions;
737 struct Identifier * id;
738 struct Statement * stmt;
739 } ecere_gcc_struct labeled;
742 struct Expression * exp;
743 struct Statement * stmt;
744 } ecere_gcc_struct caseStmt;
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;
754 struct __ecereNameSpace__ecere__sys__OldList * exp;
755 struct Statement * stmt;
756 struct Statement * elseStmt;
757 } ecere_gcc_struct ifStmt;
760 struct __ecereNameSpace__ecere__sys__OldList * exp;
761 struct Statement * stmt;
762 } ecere_gcc_struct switchStmt;
765 struct __ecereNameSpace__ecere__sys__OldList * exp;
766 struct Statement * stmt;
767 } ecere_gcc_struct whileStmt;
770 struct __ecereNameSpace__ecere__sys__OldList * exp;
771 struct Statement * stmt;
772 } ecere_gcc_struct doWhile;
775 struct Statement * init;
776 struct Statement * check;
777 struct __ecereNameSpace__ecere__sys__OldList * increment;
778 struct Statement * stmt;
779 } ecere_gcc_struct forStmt;
782 struct Identifier * id;
783 } ecere_gcc_struct gotoStmt;
786 struct Specifier * spec;
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;
794 struct Expression * watcher;
795 struct Expression * object;
796 struct __ecereNameSpace__ecere__sys__OldList * watches;
797 } ecere_gcc_struct _watch;
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;
809 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
811 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
813 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
815 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
817 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
819 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
821 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
823 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
825 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
827 extern struct Statement * MkGotoStmt(struct Identifier * id);
829 extern struct Statement * MkContinueStmt(void);
831 extern struct Statement * MkBreakStmt(void);
833 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
835 struct Instantiation;
837 extern void FreeInstance(struct Instantiation * inst);
841 struct Expression * prev;
842 struct Expression * next;
850 struct Identifier * identifier;
851 } ecere_gcc_struct __anon1;
852 struct Statement * compound;
853 struct Instantiation * instance;
857 unsigned int intlString;
858 unsigned int wideString;
859 } ecere_gcc_struct __anon2;
860 struct __ecereNameSpace__ecere__sys__OldList * list;
863 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
864 struct Declarator * decl;
865 } ecere_gcc_struct _classExp;
868 struct Identifier * id;
869 } ecere_gcc_struct classData;
872 struct Expression * exp;
873 struct __ecereNameSpace__ecere__sys__OldList * arguments;
874 struct Location argLoc;
875 } ecere_gcc_struct call;
878 struct Expression * exp;
879 struct __ecereNameSpace__ecere__sys__OldList * index;
880 } ecere_gcc_struct index;
883 struct Expression * exp;
884 struct Identifier * member;
886 unsigned int thisPtr;
887 } ecere_gcc_struct member;
891 struct Expression * exp1;
892 struct Expression * exp2;
893 } ecere_gcc_struct op;
894 struct TypeName * typeName;
895 struct Specifier * _class;
898 struct TypeName * typeName;
899 struct Expression * exp;
900 } ecere_gcc_struct cast;
903 struct Expression * cond;
904 struct __ecereNameSpace__ecere__sys__OldList * exp;
905 struct Expression * elseExp;
906 } ecere_gcc_struct cond;
909 struct TypeName * typeName;
910 struct Expression * size;
911 } ecere_gcc_struct _new;
914 struct TypeName * typeName;
915 struct Expression * size;
916 struct Expression * exp;
917 } ecere_gcc_struct _renew;
921 struct Identifier * id;
922 } ecere_gcc_struct db;
925 struct Expression * ds;
926 struct Expression * name;
927 } ecere_gcc_struct dbopen;
930 struct TypeName * typeName;
931 struct Initializer * initializer;
932 } ecere_gcc_struct initializer;
935 struct Expression * exp;
936 struct TypeName * typeName;
937 } ecere_gcc_struct vaArg;
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;
947 unsigned int hasAddress;
948 struct Type * expType;
949 struct Type * destType;
952 unsigned int byReference;
953 unsigned int isConstant;
954 unsigned int addedThis;
955 unsigned int needCast;
956 unsigned int thisPtr;
957 unsigned int opDestType;
958 unsigned int usedInComparison;
959 unsigned int ambiguousUnits;
960 unsigned int parentOpDestType;
961 unsigned int needTemplateCast;
964 extern struct Expression * MkExpInstance(struct Instantiation * inst);
968 struct Declaration * prev;
969 struct Declaration * next;
976 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
977 struct __ecereNameSpace__ecere__sys__OldList * declarators;
978 } ecere_gcc_struct __anon1;
979 struct Instantiation * inst;
982 struct Identifier * id;
983 struct Expression * exp;
984 } ecere_gcc_struct __anon2;
985 } ecere_gcc_struct __anon1;
986 struct Specifier * extStorage;
987 struct Symbol * symbol;
991 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
993 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
995 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
999 struct Instantiation * prev;
1000 struct Instantiation * next;
1001 struct Location loc;
1002 struct Specifier * _class;
1003 struct Expression * exp;
1004 struct __ecereNameSpace__ecere__sys__OldList * members;
1005 struct Symbol * symbol;
1006 unsigned int fullSet;
1007 unsigned int isConstant;
1008 unsigned char * data;
1009 struct Location nameLoc;
1010 struct Location insideLoc;
1014 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1016 struct ClassFunction;
1018 extern void FreeClassFunction(struct ClassFunction * func);
1022 struct ClassDef * prev;
1023 struct ClassDef * next;
1024 struct Location loc;
1028 struct Declaration * decl;
1029 struct ClassFunction * function;
1030 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1031 struct PropertyDef * propertyDef;
1032 struct PropertyWatch * propertyWatch;
1034 struct Identifier * defaultProperty;
1037 struct Identifier * id;
1038 struct Initializer * initializer;
1039 } ecere_gcc_struct __anon1;
1040 } ecere_gcc_struct __anon1;
1045 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
1047 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
1049 struct ClassFunction
1051 struct ClassFunction * prev;
1052 struct ClassFunction * next;
1053 struct Location loc;
1054 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1055 struct Declarator * declarator;
1056 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1057 struct Statement * body;
1058 struct __ecereNameSpace__ecere__com__Class * _class;
1059 struct __ecereNameSpace__ecere__sys__OldList attached;
1062 struct Symbol * propSet;
1063 unsigned int isVirtual;
1064 unsigned int isConstructor;
1065 unsigned int isDestructor;
1066 unsigned int dontMangle;
1071 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
1075 typedef union YYSTYPE
1080 struct Identifier * id;
1081 struct Expression * exp;
1082 struct Specifier * specifier;
1083 struct __ecereNameSpace__ecere__sys__OldList * list;
1084 struct Enumerator * enumerator;
1085 struct Declarator * declarator;
1086 struct Pointer * pointer;
1087 struct Initializer * initializer;
1088 struct InitDeclarator * initDeclarator;
1089 struct TypeName * typeName;
1090 struct Declaration * declaration;
1091 struct Statement * stmt;
1092 struct FunctionDefinition * function;
1093 struct External * external;
1094 struct Context * context;
1095 struct AsmField * asmField;
1096 struct Attrib * attrib;
1097 struct ExtDecl * extDecl;
1098 struct Attribute * attribute;
1099 struct Instantiation * instance;
1100 struct MembersInit * membersInit;
1101 struct MemberInit * memberInit;
1102 struct ClassFunction * classFunction;
1103 struct ClassDefinition * _class;
1104 struct ClassDef * classDef;
1105 struct PropertyDef * prop;
1107 struct Symbol * symbol;
1108 struct PropertyWatch * propertyWatch;
1109 struct TemplateParameter * templateParameter;
1110 struct TemplateArgument * templateArgument;
1111 struct TemplateDatatype * templateDatatype;
1112 struct DBTableEntry * dbtableEntry;
1113 struct DBIndexItem * dbindexItem;
1114 struct DBTableDef * dbtableDef;
1115 } ecere_gcc_struct YYSTYPE;
1117 extern YYSTYPE yylval;
1121 yytype_int16 yyss_alloc;
1123 struct Location yyls_alloc;
1126 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1130 ((void)(yylocationp));
1139 extern void FreeMembersInit(struct MembersInit * init);
1141 YYSTYPE expression_yylval;
1143 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
1147 struct MembersInit * prev;
1148 struct MembersInit * next;
1149 struct Location loc;
1153 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1154 struct ClassFunction * function;
1155 } ecere_gcc_struct __anon1;
1158 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
1160 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1163 fprintf(yyoutput, "token %s (", yytname[yytype]);
1165 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1167 fprintf(yyoutput, ": ");
1168 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1169 fprintf(yyoutput, ")");
1172 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1174 int yynrhs = yyr2[yyrule];
1176 unsigned long int yylno = yyrline[yyrule];
1178 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1179 for(yyi = 0; yyi < yynrhs; yyi++)
1181 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1182 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1183 fprintf((bsl_stderr()), "\n");
1187 struct __ecereNameSpace__ecere__sys__BinaryTree;
1189 struct __ecereNameSpace__ecere__sys__BinaryTree
1191 struct __ecereNameSpace__ecere__sys__BTNode * root;
1193 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1194 void (* FreeKey)(void * key);
1197 struct __ecereNameSpace__ecere__com__Method;
1199 struct __ecereNameSpace__ecere__com__Method
1202 struct __ecereNameSpace__ecere__com__Method * parent;
1203 struct __ecereNameSpace__ecere__com__Method * left;
1204 struct __ecereNameSpace__ecere__com__Method * right;
1209 struct __ecereNameSpace__ecere__com__Class * _class;
1211 const char * dataTypeString;
1212 struct Type * dataType;
1216 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp);
1218 int expression_yyparse(void)
1222 yytype_int16 yyssa[200];
1223 yytype_int16 * yyss;
1224 yytype_int16 * yyssp;
1228 struct Location yylsa[200];
1229 struct Location * yyls;
1230 struct Location * yylsp;
1231 struct Location yyerror_range[2];
1237 struct Location yyloc;
1247 if(expression_yydebug)
1248 fprintf((bsl_stderr()), "Starting parse\n");
1252 expression_yynerrs = 0;
1253 expression_yychar = (-2);
1262 if(yyss + yystacksize - 1 <= yyssp)
1264 size_t yysize = yyssp - yyss + 1;
1266 if(10000 <= yystacksize)
1267 goto yyexhaustedlab;
1269 if(10000 < yystacksize)
1270 yystacksize = 10000;
1272 yytype_int16 * yyss1 = yyss;
1273 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
1276 goto yyexhaustedlab;
1281 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
1282 yyss = &(*yyptr).yyss_alloc;
1283 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
1284 yyptr += yynewbytes / sizeof (*yyptr);
1290 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
1291 yyvs = &(*yyptr).yyvs_alloc;
1292 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
1293 yyptr += yynewbytes / sizeof (*yyptr);
1299 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
1300 yyls = &(*yyptr).yyls_alloc;
1301 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
1302 yyptr += yynewbytes / sizeof (*yyptr);
1307 yyssp = yyss + yysize - 1;
1308 yyvsp = yyvs + yysize - 1;
1309 yylsp = yyls + yysize - 1;
1312 if(expression_yydebug)
1313 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
1315 if(yyss + yystacksize - 1 <= yyssp)
1320 if(expression_yydebug)
1321 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
1327 yyn = yypact[yystate];
1330 if(expression_yychar == (-2))
1334 if(expression_yydebug)
1335 fprintf((bsl_stderr()), "Reading a token: ");
1337 expression_yychar = yylex();
1339 if(expression_yychar <= 0)
1341 expression_yychar = yytoken = 0;
1344 if(expression_yydebug)
1345 fprintf((bsl_stderr()), "Now at end of input.\n");
1350 yytoken = ((unsigned int)(expression_yychar) <= 374 ? yytranslate[expression_yychar] : 2);
1353 if(expression_yydebug)
1355 fprintf((bsl_stderr()), "%s ", "Next token is");
1356 yy_symbol_print((bsl_stderr()), yytoken, &expression_yylval, &expression_yylloc);
1357 fprintf((bsl_stderr()), "\n");
1362 if(yyn < 0 || 7602 < yyn || yycheck[yyn] != yytoken)
1367 if(yyn == 0 || yyn == -425)
1376 if(expression_yydebug)
1378 fprintf((bsl_stderr()), "%s ", "Shifting");
1379 yy_symbol_print((bsl_stderr()), yytoken, &expression_yylval, &expression_yylloc);
1380 fprintf((bsl_stderr()), "\n");
1383 expression_yychar = (-2);
1385 *++yyvsp = expression_yylval;
1386 *++yylsp = expression_yylloc;
1389 yyn = yydefact[yystate];
1395 yyval = yyvsp[1 - yylen];
1396 (yyloc.start = ((yylsp - yylen))[1].start);
1397 (yyloc.end = ((yylsp - yylen))[yylen].end);
1401 if(expression_yydebug)
1402 yy_reduce_print(yyvsp, yylsp, yyn);
1408 yyval.id = MkIdentifier(yytext);
1409 yyval.id->loc = (yylsp[(1) - (1)]);
1415 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
1416 yyval.exp->loc = (yyloc);
1422 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
1423 yyval.exp->loc = (yyloc);
1429 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
1430 yyval.exp->loc = (yyloc);
1436 yyval.exp = MkExpConstant(yytext);
1437 yyval.exp->loc = (yyloc);
1443 yyval.exp = MkExpWideString(yytext);
1444 yyval.exp->loc = (yyloc);
1450 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
1451 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
1452 yyval.exp->loc = (yyloc);
1458 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
1459 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
1460 yyval.exp->loc = (yyloc);
1466 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
1467 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
1468 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
1469 yyval.exp->loc = (yyloc);
1475 struct Expression * exp = MkExpDummy();
1477 exp->loc.start = (yylsp[(1) - (2)]).end;
1478 exp->loc.end = (yylsp[(2) - (2)]).start;
1479 yyval.exp = MkExpBrackets(MkListOne(exp));
1480 yyval.exp->loc = (yyloc);
1487 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
1488 yyval.exp->loc = (yyloc);
1494 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
1495 yyval.exp->loc = (yyloc);
1501 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
1502 yyval.exp->loc = (yyloc);
1508 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
1509 yyval.exp->loc = (yyloc);
1515 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
1516 yyval.exp->loc = (yyloc);
1522 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
1523 yyval.exp->loc = (yyloc);
1529 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
1530 yyval.exp->loc = (yyloc);
1536 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
1537 yyval.exp->loc = (yyloc);
1543 yyval.exp = MkExpDummy();
1550 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
1551 yyval.exp->loc = (yyloc);
1557 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
1558 yyval.exp->loc = (yyloc);
1564 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
1565 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
1566 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
1567 yyval.exp->loc = (yyloc);
1573 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
1574 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
1575 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
1576 yyval.exp->loc = (yyloc);
1582 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
1583 yyval.exp->loc = (yyloc);
1589 char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
1590 int len = constant ? strlen(constant) : 0;
1592 if(constant && constant[len - 1] == '.')
1594 constant[len - 1] = 0;
1595 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
1596 yyval.exp->loc = (yyloc);
1605 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
1606 yyval.exp->loc = (yyloc);
1612 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
1613 yyval.exp->loc = (yyloc);
1619 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
1620 yyval.exp->loc = (yyloc);
1626 yyval.list = MkList();
1627 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
1633 yyval.list = MkList();
1634 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
1640 yyval.list = yyvsp[(1) - (3)].list;
1641 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
1647 yyval.list = yyvsp[(1) - (3)].list;
1648 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
1654 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
1655 yyval.exp->loc = (yyloc);
1661 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
1662 yyval.exp->loc = (yyloc);
1668 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
1669 yyval.exp->loc = (yyloc);
1675 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
1676 yyval.exp->loc = (yyloc);
1682 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
1683 yyval.exp->loc = (yyloc);
1689 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
1690 yyval.exp->loc = (yyloc);
1696 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
1697 yyval.exp->loc = (yyloc);
1745 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
1746 yyval.exp->loc = (yyloc);
1752 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
1753 yyval.exp->loc = (yyloc);
1759 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
1760 yyval.exp->loc = (yyloc);
1766 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
1767 yyval.exp->loc = (yyloc);
1773 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
1774 yyval.exp->loc = (yyloc);
1780 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
1781 yyval.exp->loc = (yyloc);
1787 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
1788 yyval.exp->loc = (yyloc);
1794 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
1795 yyval.exp->loc = (yyloc);
1801 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
1802 yyval.exp->loc = (yyloc);
1808 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
1809 yyval.exp->loc = (yyloc);
1815 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
1816 yyval.exp->loc = (yyloc);
1822 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
1823 yyval.exp->loc = (yyloc);
1829 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
1830 yyval.exp->loc = (yyloc);
1836 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
1837 yyval.exp->loc = (yyloc);
1843 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
1844 yyval.exp->loc = (yyloc);
1850 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
1851 yyval.exp->loc = (yyloc);
1857 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
1858 yyval.exp->loc = (yyloc);
1864 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
1865 yyval.exp->loc = (yyloc);
1871 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
1872 yyval.exp->loc = (yyloc);
1878 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
1879 yyval.exp->loc = (yyloc);
1885 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1886 yyval.exp->loc = (yyloc);
1893 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1894 yyval.exp->loc = (yyloc);
1900 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1901 yyval.exp->loc = (yyloc);
1907 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1908 yyval.exp->loc = (yyloc);
1920 yyval.i = MUL_ASSIGN;
1926 yyval.i = DIV_ASSIGN;
1932 yyval.i = MOD_ASSIGN;
1938 yyval.i = ADD_ASSIGN;
1944 yyval.i = SUB_ASSIGN;
1950 yyval.i = LEFT_ASSIGN;
1956 yyval.i = RIGHT_ASSIGN;
1962 yyval.i = AND_ASSIGN;
1968 yyval.i = XOR_ASSIGN;
1974 yyval.i = OR_ASSIGN;
1980 yyval.list = MkList();
1981 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
1987 yyval.list = yyvsp[(1) - (3)].list;
1988 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
1994 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
1995 yyval.declaration->loc = (yyloc);
2001 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
2002 yyval.declaration->loc = (yyloc);
2008 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
2009 yyval.declaration->loc = (yyloc);
2015 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
2016 yyval.declaration->loc = (yyloc);
2022 yyval.list = MkList();
2023 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2029 yyval.list = yyvsp[(1) - (2)].list;
2030 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2036 yyval.list = MkList();
2037 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2043 yyval.list = yyvsp[(1) - (2)].list;
2044 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2050 yyval.list = MkList();
2051 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2057 yyval.list = yyvsp[(1) - (2)].list;
2058 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2064 yyval.list = MkList();
2065 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2071 yyval.list = yyvsp[(1) - (2)].list;
2072 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2078 yyval.list = MkList();
2079 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2085 yyval.list = yyvsp[(1) - (2)].list;
2086 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2092 yyval.list = MkList();
2093 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2099 yyval.list = yyvsp[(1) - (2)].list;
2100 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2106 yyval.list = MkList();
2107 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2113 yyval.list = yyvsp[(1) - (2)].list;
2114 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2120 yyval.list = MkList();
2121 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2127 yyval.list = yyvsp[(1) - (2)].list;
2128 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2134 yyval.list = MkList();
2135 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2141 yyval.list = yyvsp[(1) - (2)].list;
2142 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2148 yyval.list = MkList();
2149 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2155 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2161 yyval.list = MkList();
2162 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2168 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2174 yyval.list = MkList();
2175 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2181 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2187 yyval.list = MkList();
2188 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2194 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2200 yyval.list = MkList();
2201 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2207 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2213 yyval.list = MkList();
2214 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2220 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2226 yyval.list = MkList();
2227 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2233 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2239 yyval.list = MkList();
2240 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2246 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2252 yyval.list = MkList();
2253 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2259 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2265 yyval.list = MkList();
2266 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
2272 yyval.list = yyvsp[(1) - (3)].list;
2273 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
2279 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
2280 yyval.initDeclarator->loc = (yyloc);
2286 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
2287 yyval.initDeclarator->loc = (yyloc);
2288 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
2294 yyval.specifier = MkSpecifier(TYPEDEF);
2300 yyval.specifier = MkSpecifier(EXTERN);
2306 yyval.specifier = MkSpecifier(STATIC);
2312 yyval.specifier = MkSpecifier(AUTO);
2318 yyval.specifier = MkSpecifier(REGISTER);
2324 yyval.specifier = MkSpecifier(THREAD);
2330 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
2336 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
2348 yyval.i = ATTRIB_DEP;
2360 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2366 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2372 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2378 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2384 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2390 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
2391 yyval.attribute->loc = (yyloc);
2397 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
2398 yyval.attribute->loc = (yyloc);
2404 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
2410 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
2411 yyval.list = yyvsp[(1) - (2)].list;
2417 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
2418 yyval.list = yyvsp[(1) - (3)].list;
2424 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
2425 yyval.attrib->loc = (yyloc);
2431 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
2432 yyval.attrib->loc = (yyloc);
2438 yyval.specifier = MkSpecifier(CONST);
2444 yyval.specifier = MkSpecifier(VOLATILE);
2450 yyval.specifier = MkSpecifierExtended(MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext)));
2456 yyval.specifier = yyvsp[(1) - (1)].specifier;
2462 yyval.specifier = MkSpecifierName(yytext);
2468 yyval.specifier = MkSpecifier(VOID);
2474 yyval.specifier = MkSpecifier(CHAR);
2480 yyval.specifier = MkSpecifier(SHORT);
2486 yyval.specifier = MkSpecifier(INT);
2492 yyval.specifier = MkSpecifier(UINT);
2498 yyval.specifier = MkSpecifier(INT64);
2504 yyval.specifier = MkSpecifier(VALIST);
2510 yyval.specifier = MkSpecifier(LONG);
2516 yyval.specifier = MkSpecifier(FLOAT);
2522 yyval.specifier = MkSpecifier(DOUBLE);
2528 yyval.specifier = MkSpecifier(SIGNED);
2534 yyval.specifier = MkSpecifier(UNSIGNED);
2540 yyval.specifier = MkSpecifier(EXTENSION);
2546 yyval.specifier = MkSpecifier(_BOOL);
2552 yyval.specifier = MkSpecifier(BOOL);
2558 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
2564 yyval.specifier = MkSpecifier(THISCLASS);
2570 yyval.specifier = MkSpecifier(VOID);
2576 yyval.specifier = MkSpecifier(CHAR);
2582 yyval.specifier = MkSpecifier(SHORT);
2588 yyval.specifier = MkSpecifier(INT);
2594 yyval.specifier = MkSpecifier(UINT);
2600 yyval.specifier = MkSpecifier(INT64);
2606 yyval.specifier = MkSpecifier(VALIST);
2612 yyval.specifier = MkSpecifier(LONG);
2618 yyval.specifier = MkSpecifier(FLOAT);
2624 yyval.specifier = MkSpecifier(DOUBLE);
2630 yyval.specifier = MkSpecifier(SIGNED);
2636 yyval.specifier = MkSpecifier(UNSIGNED);
2642 yyval.specifier = MkSpecifier(_BOOL);
2648 yyval.specifier = MkSpecifier(BOOL);
2654 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
2660 yyval.specifier = MkSpecifier(THISCLASS);
2666 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
2668 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
2674 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
2680 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
2682 DeclClass(yyvsp[(2) - (4)].id->_class, yyvsp[(2) - (4)].id->string);
2688 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
2694 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
2696 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
2697 FreeSpecifier(yyvsp[(2) - (5)].specifier);
2703 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
2704 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
2706 DeclClass(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
2712 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
2713 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
2719 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
2720 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
2722 DeclClass(yyvsp[(3) - (5)].id->_class, yyvsp[(3) - (5)].id->string);
2728 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
2729 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
2735 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
2736 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
2738 DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
2739 FreeSpecifier(yyvsp[(3) - (6)].specifier);
2745 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
2747 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
2753 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
2755 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
2756 FreeSpecifier(yyvsp[(2) - (2)].specifier);
2762 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
2763 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
2765 DeclClass(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
2771 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
2772 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
2774 DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
2775 FreeSpecifier(yyvsp[(3) - (3)].specifier);
2781 yyval.specifierType = 3;
2787 yyval.specifierType = 4;
2793 yyval.list = MkList();
2794 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
2800 yyval.list = yyvsp[(1) - (2)].list;
2801 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
2807 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
2808 yyval.memberInit->loc = (yyloc);
2809 yyval.memberInit->realLoc = (yyloc);
2810 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
2816 yyval.list = MkList();
2817 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
2818 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
2824 yyval.list = yyvsp[(1) - (3)].list;
2825 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
2826 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
2832 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
2833 yyval.prop->loc = (yyloc);
2839 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
2840 yyval.prop->loc = (yyloc);
2846 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
2847 yyval.prop->loc = (yyloc);
2853 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
2854 yyval.prop->loc = (yyloc);
2860 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
2861 yyval.prop->loc = (yyloc);
2867 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
2868 yyval.prop->loc = (yyloc);
2874 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
2875 yyval.prop->loc = (yyloc);
2881 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
2882 yyval.prop->loc = (yyloc);
2888 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
2889 yyval.prop->loc = (yyloc);
2895 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
2896 yyval.prop->loc = (yyloc);
2902 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
2903 yyval.prop->loc = (yyloc);
2909 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
2910 yyval.prop->loc = (yyloc);
2916 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
2917 yyval.prop->loc = (yyloc);
2923 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
2924 yyval.prop->loc = (yyloc);
2930 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2931 yyval.prop->loc = (yyloc);
2937 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
2938 yyval.prop->loc = (yyloc);
2944 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
2945 yyval.prop->loc = (yyloc);
2951 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
2952 yyval.prop->loc = (yyloc);
2958 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
2959 yyval.prop->loc = (yyloc);
2965 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
2966 yyval.prop->loc = (yyloc);
2972 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
2973 yyval.classDef->__anon1.decl->loc = (yyloc);
2974 yyval.classDef->loc = (yyloc);
2980 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
2981 yyval.classDef->__anon1.decl->loc = (yyloc);
2982 yyval.classDef->loc = (yyloc);
2988 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
2989 yyval.classDef->loc = (yyloc);
2990 yyval.classDef->__anon1.decl->loc = (yyloc);
2996 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
2997 yyval.classDef->loc = (yyloc);
2998 yyval.classDef->__anon1.decl->loc = (yyloc);
3004 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
3005 yyval.classDef->loc = (yyloc);
3011 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
3012 if((*yyvsp[(1) - (2)].list).last)
3013 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
3014 yyval.classDef->loc = (yyloc);
3020 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
3021 yyval.classDef->loc = (yyloc);
3027 yyval.classDef = (((void *)0));
3033 yyval.list = MkList();
3034 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
3040 yyval.list = yyvsp[(1) - (3)].list;
3041 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
3047 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3048 yyval.declarator->loc = (yyloc);
3054 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
3055 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
3056 yyval.declarator->loc = (yyloc);
3062 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
3063 yyval.declarator->loc = (yyloc);
3069 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
3070 yyval.declarator->loc = (yyloc);
3076 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
3077 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
3078 yyval.declarator->loc = (yyloc);
3084 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
3086 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
3092 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
3094 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
3095 FreeSpecifier(yyvsp[(2) - (2)].specifier);
3101 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
3107 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
3109 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3115 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
3116 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
3118 DeclClass(yyvsp[(2) - (7)].id->_class, yyvsp[(2) - (7)].id->string);
3124 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
3125 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
3127 DeclClass(yyvsp[(2) - (7)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
3128 FreeSpecifier(yyvsp[(2) - (7)].specifier);
3134 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
3136 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
3137 FreeSpecifier(yyvsp[(2) - (5)].specifier);
3143 yyval.list = MkList();
3144 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
3150 yyval.list = yyvsp[(1) - (3)].list;
3151 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
3157 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
3163 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
3169 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3175 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
3181 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
3187 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
3193 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
3199 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
3205 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
3211 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
3217 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
3223 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
3229 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
3235 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3241 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
3247 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
3253 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
3259 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
3265 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
3271 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3277 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
3283 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3289 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3295 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
3301 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3307 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
3313 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3319 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3325 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3331 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3337 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
3343 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3349 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
3355 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
3361 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
3367 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3373 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3379 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3385 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
3391 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3397 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3403 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
3409 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
3415 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
3421 yyval.list = MkList();
3422 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3428 yyval.list = yyvsp[(1) - (2)].list;
3429 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3435 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
3441 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
3447 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
3453 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
3459 yyval.list = yyvsp[(1) - (3)].list;
3460 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
3466 yyval.list = MkList();
3467 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
3473 yyval.list = yyvsp[(1) - (3)].list;
3474 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
3480 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
3486 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
3492 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
3498 yyval.list = MkList();
3499 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
3505 yyval.list = yyvsp[(1) - (3)].list;
3506 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
3512 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
3518 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
3524 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
3525 yyval.initializer->loc = (yyloc);
3531 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
3532 yyval.initializer->loc = (yyloc);
3538 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
3539 yyval.initializer->loc = (yyloc);
3541 struct Expression * exp = MkExpDummy();
3542 struct Initializer * init = MkInitializerAssignment(exp);
3544 init->loc = (yylsp[(3) - (4)]);
3545 exp->loc = (yylsp[(3) - (4)]);
3546 ListAdd(yyvsp[(2) - (4)].list, init);
3553 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
3554 yyval.initializer->loc = (yyloc);
3560 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
3561 yyval.initializer->loc = (yyloc);
3567 yyval.list = MkList();
3568 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
3574 yyval.list = yyvsp[(1) - (3)].list;
3575 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
3581 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
3582 yyval.stmt->loc = (yyloc);
3588 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
3589 yyval.stmt->loc = (yyloc);
3590 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
3596 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
3597 yyval.stmt->loc = (yyloc);
3603 yyval.list = MkList();
3604 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
3610 yyval.list = yyvsp[(1) - (2)].list;
3611 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
3617 yyval.list = MkList();
3618 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
3624 yyval.list = yyvsp[(1) - (2)].list;
3625 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
3631 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
3633 stmt->loc = (yylsp[(2) - (2)]);
3634 ListAdd(yyvsp[(1) - (2)].list, stmt);
3635 yyval.list = yyvsp[(1) - (2)].list;
3641 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
3647 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
3653 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
3659 yyval.context = PushContext();
3665 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
3666 yyval.stmt->__anon1.compound.context = PushContext();
3667 PopContext(yyval.stmt->__anon1.compound.context);
3668 yyval.stmt->loc = (yyloc);
3674 yyval.stmt = yyvsp[(2) - (3)].stmt;
3675 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
3676 PopContext(yyvsp[(1) - (3)].context);
3677 yyval.stmt->loc = (yyloc);
3683 yyval.stmt = MkExpressionStmt((((void *)0)));
3684 yyval.stmt->loc = (yyloc);
3690 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
3691 yyval.stmt->loc = (yyloc);
3697 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
3698 yyval.stmt->loc = (yyloc);
3704 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
3705 yyval.stmt->loc = (yyloc);
3711 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
3712 yyval.stmt->loc = (yyloc);
3718 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
3719 yyval.stmt->loc = (yyloc);
3725 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
3726 yyval.stmt->loc = (yyloc);
3732 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
3733 yyval.stmt->loc = (yyloc);
3739 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
3740 yyval.stmt->loc = (yyloc);
3746 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
3747 yyval.stmt->loc = (yyloc);
3753 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
3754 yyval.stmt->loc = (yyloc);
3760 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
3761 yyval.stmt->loc = (yyloc);
3767 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
3768 yyval.stmt->loc = (yyloc);
3774 yyval.stmt = MkContinueStmt();
3775 yyval.stmt->loc = (yyloc);
3781 yyval.stmt = MkBreakStmt();
3782 yyval.stmt->loc = (yyloc);
3788 struct Expression * exp = MkExpDummy();
3790 yyval.stmt = MkReturnStmt(MkListOne(exp));
3791 yyval.stmt->loc = (yyloc);
3792 exp->loc = (yylsp[(2) - (2)]);
3798 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
3799 yyval.stmt->loc = (yyloc);
3805 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3811 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3812 yyval.instance->loc = (yyloc);
3813 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3814 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3815 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
3821 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
3822 yyval.instance->loc = (yyloc);
3823 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3824 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3825 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
3831 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
3832 yyval.instance->loc = (yyloc);
3833 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
3834 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
3840 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
3841 yyval.instance->loc = (yyloc);
3842 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
3843 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
3849 struct Location tmpLoc = expression_yylloc;
3851 expression_yylloc = (yylsp[(1) - (4)]);
3852 expression_yylloc = tmpLoc;
3853 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
3854 yyval.instance->loc = (yyloc);
3855 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
3856 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
3857 FreeIdentifier(yyvsp[(1) - (4)].id);
3863 struct Location tmpLoc = expression_yylloc;
3865 expression_yylloc = (yylsp[(1) - (3)]);
3866 expression_yylloc = tmpLoc;
3867 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
3868 yyval.instance->loc = (yyloc);
3869 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
3870 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
3871 FreeIdentifier(yyvsp[(1) - (3)].id);
3877 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
3878 yyval.instance->loc = (yyloc);
3879 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
3880 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
3886 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
3887 yyval.instance->loc = (yyloc);
3888 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
3889 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3895 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3896 yyval.classFunction->loc = (yyloc);
3902 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3903 yyval.classFunction->loc = (yyloc);
3909 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
3910 yyval.classFunction->isConstructor = 1;
3911 yyval.classFunction->loc = (yyloc);
3912 FreeList(yyvsp[(1) - (3)].list, (void *)(FreeSpecifier));
3918 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
3919 yyval.classFunction->isDestructor = 1;
3920 yyval.classFunction->loc = (yyloc);
3921 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
3927 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3928 yyval.classFunction->isVirtual = 1;
3929 yyval.classFunction->loc = (yyloc);
3935 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3936 yyval.classFunction->isVirtual = 1;
3937 yyval.classFunction->loc = (yyloc);
3943 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3944 yyval.classFunction->loc = (yyloc);
3950 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3951 yyval.classFunction->loc = (yyloc);
3957 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3958 yyval.classFunction->loc = (yyloc);
3964 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3965 yyval.classFunction->loc = (yyloc);
3971 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3972 yyval.classFunction->loc = (yyloc);
3978 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3979 yyval.classFunction->loc = (yyloc);
3985 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3986 yyval.classFunction->loc = (yyloc);
3992 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3993 yyval.memberInit->loc = (yyloc);
3994 yyval.memberInit->realLoc = (yyloc);
3995 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4001 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
4002 yyval.memberInit->loc = (yyloc);
4003 yyval.memberInit->realLoc = (yyloc);
4009 yyval.list = MkList();
4010 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4016 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4017 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4018 yyval.list = yyvsp[(1) - (3)].list;
4024 if((*yyvsp[(1) - (2)].list).last)
4025 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
4026 yyval.list = yyvsp[(1) - (2)].list;
4032 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
4034 yyval.list = MkList();
4035 ListAdd(yyval.list, members);
4036 members->loc = (yylsp[(1) - (1)]);
4042 yyval.list = MkList();
4043 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
4044 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
4050 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
4052 ListAdd(yyval.list, members);
4053 members->loc = (yylsp[(2) - (2)]);
4054 yyval.list = yyvsp[(1) - (2)].list;
4060 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
4061 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
4062 yyval.list = yyvsp[(1) - (2)].list;
4068 struct MembersInit * members = MkMembersInitList(MkList());
4070 yyval.list = MkList();
4071 ListAdd(yyval.list, members);
4072 members->loc = (yylsp[(1) - (1)]);
4078 struct MembersInit * members = MkMembersInitList(MkList());
4080 ListAdd(yyval.list, members);
4081 members->loc = (yylsp[(2) - (2)]);
4082 yyval.list = yyvsp[(1) - (2)].list;
4088 yyval.list = MkList();
4089 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
4090 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
4096 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
4097 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
4103 parsedExpression = yyvsp[(1) - (1)].exp;
4112 if(expression_yydebug)
4114 fprintf((bsl_stderr()), "%s ", "-> $$ =");
4115 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
4116 fprintf((bsl_stderr()), "\n");
4119 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4123 if(expression_yydebug)
4124 yy_stack_print((yyss), (yyssp));
4129 yystate = yypgoto[yyn - 145] + *yyssp;
4130 if(0 <= yystate && yystate <= 7602 && yycheck[yystate] == *yyssp)
4131 yystate = yytable[yystate];
4133 yystate = yydefgoto[yyn - 145];
4138 ++expression_yynerrs;
4139 yyerror("syntax error");
4141 yyerror_range[0] = expression_yylloc;
4142 if(yyerrstatus == 3)
4144 if(expression_yychar <= 0)
4146 if(expression_yychar == 0)
4151 yydestruct("Error: discarding", yytoken, &expression_yylval, &expression_yylloc);
4152 expression_yychar = (-2);
4159 yyerror_range[0] = yylsp[1 - yylen];
4160 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4164 if(expression_yydebug)
4165 yy_stack_print((yyss), (yyssp));
4173 yyn = yypact[yystate];
4177 if(0 <= yyn && yyn <= 7602 && yycheck[yyn] == 1)
4186 yyerror_range[0] = *yylsp;
4187 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
4188 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
4192 if(expression_yydebug)
4193 yy_stack_print((yyss), (yyssp));
4196 *++yyvsp = expression_yylval;
4197 yyerror_range[1] = expression_yylloc;
4198 (yyloc.start = ((yyerror_range - 1))[1].start);
4199 (yyloc.end = ((yyerror_range - 1))[2].end);
4204 if(expression_yydebug)
4206 fprintf((bsl_stderr()), "%s ", "Shifting");
4207 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
4208 fprintf((bsl_stderr()), "\n");
4220 yyerror("memory exhausted");
4223 if(expression_yychar != (-2))
4224 yydestruct("Cleanup: discarding lookahead", yytoken, &expression_yylval, &expression_yylloc);
4225 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4228 if(expression_yydebug)
4229 yy_stack_print((yyss), (yyssp));
4231 while(yyssp != yyss)
4233 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
4234 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
4241 struct __ecereNameSpace__ecere__com__NameSpace;
4243 struct __ecereNameSpace__ecere__com__NameSpace
4246 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
4247 struct __ecereNameSpace__ecere__com__NameSpace * left;
4248 struct __ecereNameSpace__ecere__com__NameSpace * right;
4250 struct __ecereNameSpace__ecere__com__NameSpace * parent;
4251 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
4252 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
4253 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
4254 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
4257 struct __ecereNameSpace__ecere__com__Application
4260 const char * * argv;
4262 unsigned int isGUIApp;
4263 struct __ecereNameSpace__ecere__sys__OldList allModules;
4264 char * parsedCommand;
4265 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
4268 struct __ecereNameSpace__ecere__com__DataMember;
4270 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
4276 const char * dataTypeString;
4277 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
4278 } ecere_gcc_struct __anon1;
4279 struct __ecereNameSpace__ecere__com__DataValue expression;
4282 const char * memberString;
4285 struct __ecereNameSpace__ecere__com__DataMember * member;
4286 struct __ecereNameSpace__ecere__com__Property * prop;
4287 struct __ecereNameSpace__ecere__com__Method * method;
4288 } ecere_gcc_struct __anon1;
4289 } ecere_gcc_struct __anon2;
4290 } ecere_gcc_struct __anon1;
4293 struct __ecereNameSpace__ecere__com__DataMember
4295 struct __ecereNameSpace__ecere__com__DataMember * prev;
4296 struct __ecereNameSpace__ecere__com__DataMember * next;
4298 unsigned int isProperty;
4301 struct __ecereNameSpace__ecere__com__Class * _class;
4302 const char * dataTypeString;
4303 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
4304 struct Type * dataType;
4308 struct __ecereNameSpace__ecere__sys__OldList members;
4309 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
4311 short structAlignment;
4312 short pointerAlignment;
4315 struct __ecereNameSpace__ecere__com__Module;
4317 struct __ecereNameSpace__ecere__com__Module
4319 struct __ecereNameSpace__ecere__com__Instance * application;
4320 struct __ecereNameSpace__ecere__sys__OldList classes;
4321 struct __ecereNameSpace__ecere__sys__OldList defines;
4322 struct __ecereNameSpace__ecere__sys__OldList functions;
4323 struct __ecereNameSpace__ecere__sys__OldList modules;
4324 struct __ecereNameSpace__ecere__com__Instance * prev;
4325 struct __ecereNameSpace__ecere__com__Instance * next;
4331 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
4332 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
4335 struct __ecereNameSpace__ecere__com__Class
4337 struct __ecereNameSpace__ecere__com__Class * prev;
4338 struct __ecereNameSpace__ecere__com__Class * next;
4344 unsigned int (* Constructor)(void * );
4345 void (* Destructor)(void * );
4348 struct __ecereNameSpace__ecere__com__Class * base;
4349 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
4350 struct __ecereNameSpace__ecere__sys__BinaryTree members;
4351 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
4352 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
4353 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
4354 struct __ecereNameSpace__ecere__sys__OldList derivatives;
4358 struct __ecereNameSpace__ecere__com__Instance * module;
4359 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
4360 const char * dataTypeString;
4361 struct Type * dataType;
4363 int defaultAlignment;
4364 void (* Initialize)();
4366 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
4367 const char * designerClass;
4368 unsigned int noExpansion;
4369 const char * defaultProperty;
4370 unsigned int comRedefinition;
4373 unsigned int internalDecl;
4375 unsigned int computeSize;
4376 short structAlignment;
4377 short pointerAlignment;
4378 int destructionWatchOffset;
4380 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
4381 int inheritanceAccess;
4382 const char * fullName;
4384 struct __ecereNameSpace__ecere__sys__OldList conversions;
4385 struct __ecereNameSpace__ecere__sys__OldList templateParams;
4386 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
4387 struct __ecereNameSpace__ecere__com__Class * templateClass;
4388 struct __ecereNameSpace__ecere__sys__OldList templatized;
4390 unsigned int isInstanceClass;
4391 unsigned int byValueSystemClass;
4394 void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
4396 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
4400 void __ecereUnregisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
4405 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
4407 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
4410 ((void)(yylocationp));
4415 if(expression_yydebug)
4417 fprintf((bsl_stderr()), "%s ", yymsg);
4418 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
4419 fprintf((bsl_stderr()), "\n");
4426 FreeIdentifier((*yyvaluep).id);
4432 FreeExpression((*yyvaluep).exp);
4438 FreeExpression((*yyvaluep).exp);
4444 FreeList((*yyvaluep).list, (void *)(FreeExpression));
4450 FreeExpression((*yyvaluep).exp);
4456 FreeExpression((*yyvaluep).exp);
4462 FreeExpression((*yyvaluep).exp);
4468 FreeExpression((*yyvaluep).exp);
4474 FreeExpression((*yyvaluep).exp);
4480 FreeExpression((*yyvaluep).exp);
4486 FreeExpression((*yyvaluep).exp);
4492 FreeExpression((*yyvaluep).exp);
4498 FreeExpression((*yyvaluep).exp);
4504 FreeExpression((*yyvaluep).exp);
4510 FreeExpression((*yyvaluep).exp);
4516 FreeExpression((*yyvaluep).exp);
4522 FreeExpression((*yyvaluep).exp);
4528 FreeExpression((*yyvaluep).exp);
4534 FreeList((*yyvaluep).list, (void *)(FreeExpression));
4540 FreeExpression((*yyvaluep).exp);
4546 FreeDeclaration((*yyvaluep).declaration);
4552 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
4558 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
4564 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
4570 FreeInitDeclarator((*yyvaluep).initDeclarator);
4576 FreeSpecifier((*yyvaluep).specifier);
4582 FreeExtDecl((*yyvaluep).extDecl);
4588 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
4594 FreeAttribute((*yyvaluep).attribute);
4600 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
4606 FreeAttrib((*yyvaluep).attrib);
4612 FreeSpecifier((*yyvaluep).specifier);
4618 FreeSpecifier((*yyvaluep).specifier);
4624 FreeSpecifier((*yyvaluep).specifier);
4630 FreeSpecifier((*yyvaluep).specifier);
4636 FreeSpecifier((*yyvaluep).specifier);
4642 FreeSpecifier((*yyvaluep).specifier);
4648 FreeSpecifier((*yyvaluep).specifier);
4654 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
4660 FreeMemberInit((*yyvaluep).memberInit);
4666 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
4672 FreeProperty((*yyvaluep).prop);
4678 FreeClassDef((*yyvaluep).classDef);
4684 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
4690 FreeDeclarator((*yyvaluep).declarator);
4696 FreeSpecifier((*yyvaluep).specifier);
4702 FreeSpecifier((*yyvaluep).specifier);
4708 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
4714 FreeEnumerator((*yyvaluep).enumerator);
4720 FreeDeclarator((*yyvaluep).declarator);
4726 FreeDeclarator((*yyvaluep).declarator);
4732 FreeDeclarator((*yyvaluep).declarator);
4738 FreeDeclarator((*yyvaluep).declarator);
4744 FreeDeclarator((*yyvaluep).declarator);
4750 FreeDeclarator((*yyvaluep).declarator);
4756 FreeDeclarator((*yyvaluep).declarator);
4762 FreeDeclarator((*yyvaluep).declarator);
4768 FreeDeclarator((*yyvaluep).declarator);
4774 FreeDeclarator((*yyvaluep).declarator);
4780 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
4786 FreePointer((*yyvaluep).pointer);
4792 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
4798 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
4804 FreeTypeName((*yyvaluep).typeName);
4810 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
4816 FreeTypeName((*yyvaluep).typeName);
4822 FreeInitializer((*yyvaluep).initializer);
4828 FreeInitializer((*yyvaluep).initializer);
4834 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
4840 FreeStatement((*yyvaluep).stmt);
4846 FreeStatement((*yyvaluep).stmt);
4852 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
4858 FreeList((*yyvaluep).list, (void *)(FreeStatement));
4864 FreeStatement((*yyvaluep).stmt);
4870 PopContext((*yyvaluep).context);
4871 FreeContext((*yyvaluep).context);
4872 (((*yyvaluep).context ? __extension__ ({
4873 void * __ecerePtrToDelete = ((*yyvaluep).context);
4875 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
4876 }) : 0), (*yyvaluep).context = 0);
4882 FreeStatement((*yyvaluep).stmt);
4888 FreeStatement((*yyvaluep).stmt);
4894 FreeStatement((*yyvaluep).stmt);
4900 FreeStatement((*yyvaluep).stmt);
4906 FreeStatement((*yyvaluep).stmt);
4912 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
4918 FreeInstance((*yyvaluep).instance);
4924 FreeInstance((*yyvaluep).instance);
4930 FreeClassFunction((*yyvaluep).classFunction);
4936 FreeClassFunction((*yyvaluep).classFunction);
4942 FreeClassFunction((*yyvaluep).classFunction);
4948 FreeClassFunction((*yyvaluep).classFunction);
4954 FreeClassFunction((*yyvaluep).classFunction);
4960 FreeClassFunction((*yyvaluep).classFunction);
4966 FreeClassFunction((*yyvaluep).classFunction);
4972 FreeMemberInit((*yyvaluep).memberInit);
4978 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
4984 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
4990 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
4996 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));