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 needTemplateCast;
961 extern struct Expression * MkExpInstance(struct Instantiation * inst);
965 struct Declaration * prev;
966 struct Declaration * next;
973 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
974 struct __ecereNameSpace__ecere__sys__OldList * declarators;
975 } ecere_gcc_struct __anon1;
976 struct Instantiation * inst;
979 struct Identifier * id;
980 struct Expression * exp;
981 } ecere_gcc_struct __anon2;
982 } ecere_gcc_struct __anon1;
983 struct Specifier * extStorage;
984 struct Symbol * symbol;
988 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
990 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
992 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
996 struct Instantiation * prev;
997 struct Instantiation * next;
999 struct Specifier * _class;
1000 struct Expression * exp;
1001 struct __ecereNameSpace__ecere__sys__OldList * members;
1002 struct Symbol * symbol;
1003 unsigned int fullSet;
1004 unsigned int isConstant;
1005 unsigned char * data;
1006 struct Location nameLoc;
1007 struct Location insideLoc;
1011 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
1013 struct ClassFunction;
1015 extern void FreeClassFunction(struct ClassFunction * func);
1019 struct ClassDef * prev;
1020 struct ClassDef * next;
1021 struct Location loc;
1025 struct Declaration * decl;
1026 struct ClassFunction * function;
1027 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1028 struct PropertyDef * propertyDef;
1029 struct PropertyWatch * propertyWatch;
1031 struct Identifier * defaultProperty;
1034 struct Identifier * id;
1035 struct Initializer * initializer;
1036 } ecere_gcc_struct __anon1;
1037 } ecere_gcc_struct __anon1;
1042 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
1044 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
1046 struct ClassFunction
1048 struct ClassFunction * prev;
1049 struct ClassFunction * next;
1050 struct Location loc;
1051 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1052 struct Declarator * declarator;
1053 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1054 struct Statement * body;
1055 struct __ecereNameSpace__ecere__com__Class * _class;
1056 struct __ecereNameSpace__ecere__sys__OldList attached;
1059 struct Symbol * propSet;
1060 unsigned int isVirtual;
1061 unsigned int isConstructor;
1062 unsigned int isDestructor;
1063 unsigned int dontMangle;
1068 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
1072 typedef union YYSTYPE
1077 struct Identifier * id;
1078 struct Expression * exp;
1079 struct Specifier * specifier;
1080 struct __ecereNameSpace__ecere__sys__OldList * list;
1081 struct Enumerator * enumerator;
1082 struct Declarator * declarator;
1083 struct Pointer * pointer;
1084 struct Initializer * initializer;
1085 struct InitDeclarator * initDeclarator;
1086 struct TypeName * typeName;
1087 struct Declaration * declaration;
1088 struct Statement * stmt;
1089 struct FunctionDefinition * function;
1090 struct External * external;
1091 struct Context * context;
1092 struct AsmField * asmField;
1093 struct Attrib * attrib;
1094 struct ExtDecl * extDecl;
1095 struct Attribute * attribute;
1096 struct Instantiation * instance;
1097 struct MembersInit * membersInit;
1098 struct MemberInit * memberInit;
1099 struct ClassFunction * classFunction;
1100 struct ClassDefinition * _class;
1101 struct ClassDef * classDef;
1102 struct PropertyDef * prop;
1104 struct Symbol * symbol;
1105 struct PropertyWatch * propertyWatch;
1106 struct TemplateParameter * templateParameter;
1107 struct TemplateArgument * templateArgument;
1108 struct TemplateDatatype * templateDatatype;
1109 struct DBTableEntry * dbtableEntry;
1110 struct DBIndexItem * dbindexItem;
1111 struct DBTableDef * dbtableDef;
1112 } ecere_gcc_struct YYSTYPE;
1114 extern YYSTYPE yylval;
1118 yytype_int16 yyss_alloc;
1120 struct Location yyls_alloc;
1123 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1127 ((void)(yylocationp));
1136 extern void FreeMembersInit(struct MembersInit * init);
1138 YYSTYPE expression_yylval;
1140 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
1144 struct MembersInit * prev;
1145 struct MembersInit * next;
1146 struct Location loc;
1150 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
1151 struct ClassFunction * function;
1152 } ecere_gcc_struct __anon1;
1155 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
1157 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1160 fprintf(yyoutput, "token %s (", yytname[yytype]);
1162 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1164 fprintf(yyoutput, ": ");
1165 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1166 fprintf(yyoutput, ")");
1169 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1171 int yynrhs = yyr2[yyrule];
1173 unsigned long int yylno = yyrline[yyrule];
1175 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1176 for(yyi = 0; yyi < yynrhs; yyi++)
1178 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1179 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1180 fprintf((bsl_stderr()), "\n");
1184 struct __ecereNameSpace__ecere__sys__BinaryTree;
1186 struct __ecereNameSpace__ecere__sys__BinaryTree
1188 struct __ecereNameSpace__ecere__sys__BTNode * root;
1190 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1191 void (* FreeKey)(void * key);
1194 struct __ecereNameSpace__ecere__com__Method;
1196 struct __ecereNameSpace__ecere__com__Method
1199 struct __ecereNameSpace__ecere__com__Method * parent;
1200 struct __ecereNameSpace__ecere__com__Method * left;
1201 struct __ecereNameSpace__ecere__com__Method * right;
1206 struct __ecereNameSpace__ecere__com__Class * _class;
1208 const char * dataTypeString;
1209 struct Type * dataType;
1213 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp);
1215 int expression_yyparse(void)
1219 yytype_int16 yyssa[200];
1220 yytype_int16 * yyss;
1221 yytype_int16 * yyssp;
1225 struct Location yylsa[200];
1226 struct Location * yyls;
1227 struct Location * yylsp;
1228 struct Location yyerror_range[2];
1234 struct Location yyloc;
1244 if(expression_yydebug)
1245 fprintf((bsl_stderr()), "Starting parse\n");
1249 expression_yynerrs = 0;
1250 expression_yychar = (-2);
1259 if(yyss + yystacksize - 1 <= yyssp)
1261 size_t yysize = yyssp - yyss + 1;
1263 if(10000 <= yystacksize)
1264 goto yyexhaustedlab;
1266 if(10000 < yystacksize)
1267 yystacksize = 10000;
1269 yytype_int16 * yyss1 = yyss;
1270 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
1273 goto yyexhaustedlab;
1278 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
1279 yyss = &(*yyptr).yyss_alloc;
1280 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
1281 yyptr += yynewbytes / sizeof (*yyptr);
1287 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
1288 yyvs = &(*yyptr).yyvs_alloc;
1289 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
1290 yyptr += yynewbytes / sizeof (*yyptr);
1296 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
1297 yyls = &(*yyptr).yyls_alloc;
1298 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
1299 yyptr += yynewbytes / sizeof (*yyptr);
1304 yyssp = yyss + yysize - 1;
1305 yyvsp = yyvs + yysize - 1;
1306 yylsp = yyls + yysize - 1;
1309 if(expression_yydebug)
1310 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
1312 if(yyss + yystacksize - 1 <= yyssp)
1317 if(expression_yydebug)
1318 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
1324 yyn = yypact[yystate];
1327 if(expression_yychar == (-2))
1331 if(expression_yydebug)
1332 fprintf((bsl_stderr()), "Reading a token: ");
1334 expression_yychar = yylex();
1336 if(expression_yychar <= 0)
1338 expression_yychar = yytoken = 0;
1341 if(expression_yydebug)
1342 fprintf((bsl_stderr()), "Now at end of input.\n");
1347 yytoken = ((unsigned int)(expression_yychar) <= 374 ? yytranslate[expression_yychar] : 2);
1350 if(expression_yydebug)
1352 fprintf((bsl_stderr()), "%s ", "Next token is");
1353 yy_symbol_print((bsl_stderr()), yytoken, &expression_yylval, &expression_yylloc);
1354 fprintf((bsl_stderr()), "\n");
1359 if(yyn < 0 || 7602 < yyn || yycheck[yyn] != yytoken)
1364 if(yyn == 0 || yyn == -425)
1373 if(expression_yydebug)
1375 fprintf((bsl_stderr()), "%s ", "Shifting");
1376 yy_symbol_print((bsl_stderr()), yytoken, &expression_yylval, &expression_yylloc);
1377 fprintf((bsl_stderr()), "\n");
1380 expression_yychar = (-2);
1382 *++yyvsp = expression_yylval;
1383 *++yylsp = expression_yylloc;
1386 yyn = yydefact[yystate];
1392 yyval = yyvsp[1 - yylen];
1393 (yyloc.start = ((yylsp - yylen))[1].start);
1394 (yyloc.end = ((yylsp - yylen))[yylen].end);
1398 if(expression_yydebug)
1399 yy_reduce_print(yyvsp, yylsp, yyn);
1405 yyval.id = MkIdentifier(yytext);
1406 yyval.id->loc = (yylsp[(1) - (1)]);
1412 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
1413 yyval.exp->loc = (yyloc);
1419 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
1420 yyval.exp->loc = (yyloc);
1426 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
1427 yyval.exp->loc = (yyloc);
1433 yyval.exp = MkExpConstant(yytext);
1434 yyval.exp->loc = (yyloc);
1440 yyval.exp = MkExpWideString(yytext);
1441 yyval.exp->loc = (yyloc);
1447 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
1448 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
1449 yyval.exp->loc = (yyloc);
1455 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
1456 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
1457 yyval.exp->loc = (yyloc);
1463 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
1464 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
1465 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
1466 yyval.exp->loc = (yyloc);
1472 struct Expression * exp = MkExpDummy();
1474 exp->loc.start = (yylsp[(1) - (2)]).end;
1475 exp->loc.end = (yylsp[(2) - (2)]).start;
1476 yyval.exp = MkExpBrackets(MkListOne(exp));
1477 yyval.exp->loc = (yyloc);
1484 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
1485 yyval.exp->loc = (yyloc);
1491 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
1492 yyval.exp->loc = (yyloc);
1498 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
1499 yyval.exp->loc = (yyloc);
1505 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
1506 yyval.exp->loc = (yyloc);
1512 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
1513 yyval.exp->loc = (yyloc);
1519 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
1520 yyval.exp->loc = (yyloc);
1526 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
1527 yyval.exp->loc = (yyloc);
1533 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
1534 yyval.exp->loc = (yyloc);
1540 yyval.exp = MkExpDummy();
1547 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
1548 yyval.exp->loc = (yyloc);
1554 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
1555 yyval.exp->loc = (yyloc);
1561 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
1562 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
1563 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
1564 yyval.exp->loc = (yyloc);
1570 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
1571 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
1572 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
1573 yyval.exp->loc = (yyloc);
1579 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
1580 yyval.exp->loc = (yyloc);
1586 char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
1587 int len = constant ? strlen(constant) : 0;
1589 if(constant && constant[len - 1] == '.')
1591 constant[len - 1] = 0;
1592 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
1593 yyval.exp->loc = (yyloc);
1602 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
1603 yyval.exp->loc = (yyloc);
1609 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
1610 yyval.exp->loc = (yyloc);
1616 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
1617 yyval.exp->loc = (yyloc);
1623 yyval.list = MkList();
1624 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
1630 yyval.list = MkList();
1631 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
1637 yyval.list = yyvsp[(1) - (3)].list;
1638 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
1644 yyval.list = yyvsp[(1) - (3)].list;
1645 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
1651 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
1652 yyval.exp->loc = (yyloc);
1658 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
1659 yyval.exp->loc = (yyloc);
1665 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
1666 yyval.exp->loc = (yyloc);
1672 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
1673 yyval.exp->loc = (yyloc);
1679 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
1680 yyval.exp->loc = (yyloc);
1686 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
1687 yyval.exp->loc = (yyloc);
1693 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
1694 yyval.exp->loc = (yyloc);
1742 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
1743 yyval.exp->loc = (yyloc);
1749 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
1750 yyval.exp->loc = (yyloc);
1756 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
1757 yyval.exp->loc = (yyloc);
1763 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
1764 yyval.exp->loc = (yyloc);
1770 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
1771 yyval.exp->loc = (yyloc);
1777 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
1778 yyval.exp->loc = (yyloc);
1784 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
1785 yyval.exp->loc = (yyloc);
1791 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
1792 yyval.exp->loc = (yyloc);
1798 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
1799 yyval.exp->loc = (yyloc);
1805 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
1806 yyval.exp->loc = (yyloc);
1812 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
1813 yyval.exp->loc = (yyloc);
1819 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
1820 yyval.exp->loc = (yyloc);
1826 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
1827 yyval.exp->loc = (yyloc);
1833 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
1834 yyval.exp->loc = (yyloc);
1840 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
1841 yyval.exp->loc = (yyloc);
1847 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
1848 yyval.exp->loc = (yyloc);
1854 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
1855 yyval.exp->loc = (yyloc);
1861 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
1862 yyval.exp->loc = (yyloc);
1868 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
1869 yyval.exp->loc = (yyloc);
1875 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
1876 yyval.exp->loc = (yyloc);
1882 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1883 yyval.exp->loc = (yyloc);
1890 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1891 yyval.exp->loc = (yyloc);
1897 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1898 yyval.exp->loc = (yyloc);
1904 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
1905 yyval.exp->loc = (yyloc);
1917 yyval.i = MUL_ASSIGN;
1923 yyval.i = DIV_ASSIGN;
1929 yyval.i = MOD_ASSIGN;
1935 yyval.i = ADD_ASSIGN;
1941 yyval.i = SUB_ASSIGN;
1947 yyval.i = LEFT_ASSIGN;
1953 yyval.i = RIGHT_ASSIGN;
1959 yyval.i = AND_ASSIGN;
1965 yyval.i = XOR_ASSIGN;
1971 yyval.i = OR_ASSIGN;
1977 yyval.list = MkList();
1978 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
1984 yyval.list = yyvsp[(1) - (3)].list;
1985 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
1991 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
1992 yyval.declaration->loc = (yyloc);
1998 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
1999 yyval.declaration->loc = (yyloc);
2005 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
2006 yyval.declaration->loc = (yyloc);
2012 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
2013 yyval.declaration->loc = (yyloc);
2019 yyval.list = MkList();
2020 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2026 yyval.list = yyvsp[(1) - (2)].list;
2027 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2033 yyval.list = MkList();
2034 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2040 yyval.list = yyvsp[(1) - (2)].list;
2041 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2047 yyval.list = MkList();
2048 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2054 yyval.list = yyvsp[(1) - (2)].list;
2055 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2061 yyval.list = MkList();
2062 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2068 yyval.list = yyvsp[(1) - (2)].list;
2069 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2075 yyval.list = MkList();
2076 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2082 yyval.list = yyvsp[(1) - (2)].list;
2083 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2089 yyval.list = MkList();
2090 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2096 yyval.list = yyvsp[(1) - (2)].list;
2097 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2103 yyval.list = MkList();
2104 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2110 yyval.list = yyvsp[(1) - (2)].list;
2111 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2117 yyval.list = MkList();
2118 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2124 yyval.list = yyvsp[(1) - (2)].list;
2125 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2131 yyval.list = MkList();
2132 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2138 yyval.list = yyvsp[(1) - (2)].list;
2139 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2145 yyval.list = MkList();
2146 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2152 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2158 yyval.list = MkList();
2159 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2165 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2171 yyval.list = MkList();
2172 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2178 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2184 yyval.list = MkList();
2185 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2191 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2197 yyval.list = MkList();
2198 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2204 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2210 yyval.list = MkList();
2211 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2217 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2223 yyval.list = MkList();
2224 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2230 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2236 yyval.list = MkList();
2237 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2243 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2249 yyval.list = MkList();
2250 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
2256 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
2262 yyval.list = MkList();
2263 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
2269 yyval.list = yyvsp[(1) - (3)].list;
2270 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
2276 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
2277 yyval.initDeclarator->loc = (yyloc);
2283 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
2284 yyval.initDeclarator->loc = (yyloc);
2285 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
2291 yyval.specifier = MkSpecifier(TYPEDEF);
2297 yyval.specifier = MkSpecifier(EXTERN);
2303 yyval.specifier = MkSpecifier(STATIC);
2309 yyval.specifier = MkSpecifier(AUTO);
2315 yyval.specifier = MkSpecifier(REGISTER);
2321 yyval.specifier = MkSpecifier(THREAD);
2327 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
2333 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
2345 yyval.i = ATTRIB_DEP;
2357 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2363 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2369 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2375 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2381 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
2387 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
2388 yyval.attribute->loc = (yyloc);
2394 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
2395 yyval.attribute->loc = (yyloc);
2401 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
2407 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
2408 yyval.list = yyvsp[(1) - (2)].list;
2414 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
2415 yyval.list = yyvsp[(1) - (3)].list;
2421 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
2422 yyval.attrib->loc = (yyloc);
2428 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
2429 yyval.attrib->loc = (yyloc);
2435 yyval.specifier = MkSpecifier(CONST);
2441 yyval.specifier = MkSpecifier(VOLATILE);
2447 yyval.specifier = MkSpecifierExtended(MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext)));
2453 yyval.specifier = yyvsp[(1) - (1)].specifier;
2459 yyval.specifier = MkSpecifierName(yytext);
2465 yyval.specifier = MkSpecifier(VOID);
2471 yyval.specifier = MkSpecifier(CHAR);
2477 yyval.specifier = MkSpecifier(SHORT);
2483 yyval.specifier = MkSpecifier(INT);
2489 yyval.specifier = MkSpecifier(UINT);
2495 yyval.specifier = MkSpecifier(INT64);
2501 yyval.specifier = MkSpecifier(VALIST);
2507 yyval.specifier = MkSpecifier(LONG);
2513 yyval.specifier = MkSpecifier(FLOAT);
2519 yyval.specifier = MkSpecifier(DOUBLE);
2525 yyval.specifier = MkSpecifier(SIGNED);
2531 yyval.specifier = MkSpecifier(UNSIGNED);
2537 yyval.specifier = MkSpecifier(EXTENSION);
2543 yyval.specifier = MkSpecifier(_BOOL);
2549 yyval.specifier = MkSpecifier(BOOL);
2555 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
2561 yyval.specifier = MkSpecifier(THISCLASS);
2567 yyval.specifier = MkSpecifier(VOID);
2573 yyval.specifier = MkSpecifier(CHAR);
2579 yyval.specifier = MkSpecifier(SHORT);
2585 yyval.specifier = MkSpecifier(INT);
2591 yyval.specifier = MkSpecifier(UINT);
2597 yyval.specifier = MkSpecifier(INT64);
2603 yyval.specifier = MkSpecifier(VALIST);
2609 yyval.specifier = MkSpecifier(LONG);
2615 yyval.specifier = MkSpecifier(FLOAT);
2621 yyval.specifier = MkSpecifier(DOUBLE);
2627 yyval.specifier = MkSpecifier(SIGNED);
2633 yyval.specifier = MkSpecifier(UNSIGNED);
2639 yyval.specifier = MkSpecifier(_BOOL);
2645 yyval.specifier = MkSpecifier(BOOL);
2651 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
2657 yyval.specifier = MkSpecifier(THISCLASS);
2663 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
2665 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
2671 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(3) - (4)].list);
2677 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, yyvsp[(2) - (4)].id, (((void *)0)));
2679 DeclClass(yyvsp[(2) - (4)].id->_class, yyvsp[(2) - (4)].id->string);
2685 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
2691 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
2693 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
2694 FreeSpecifier(yyvsp[(2) - (5)].specifier);
2700 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
2701 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
2703 DeclClass(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
2709 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
2710 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
2716 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
2717 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
2719 DeclClass(yyvsp[(3) - (5)].id->_class, yyvsp[(3) - (5)].id->string);
2725 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
2726 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
2732 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
2733 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
2735 DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
2736 FreeSpecifier(yyvsp[(3) - (6)].specifier);
2742 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
2744 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
2750 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
2752 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
2753 FreeSpecifier(yyvsp[(2) - (2)].specifier);
2759 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
2760 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
2762 DeclClass(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
2768 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
2769 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
2771 DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
2772 FreeSpecifier(yyvsp[(3) - (3)].specifier);
2778 yyval.specifierType = 3;
2784 yyval.specifierType = 4;
2790 yyval.list = MkList();
2791 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
2797 yyval.list = yyvsp[(1) - (2)].list;
2798 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
2804 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
2805 yyval.memberInit->loc = (yyloc);
2806 yyval.memberInit->realLoc = (yyloc);
2807 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
2813 yyval.list = MkList();
2814 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
2815 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
2821 yyval.list = yyvsp[(1) - (3)].list;
2822 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
2823 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
2829 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
2830 yyval.prop->loc = (yyloc);
2836 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, (((void *)0)), yyvsp[(3) - (9)].id, yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
2837 yyval.prop->loc = (yyloc);
2843 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].stmt, (((void *)0)));
2844 yyval.prop->loc = (yyloc);
2850 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, (((void *)0)), yyvsp[(3) - (7)].id, (((void *)0)), yyvsp[(6) - (7)].stmt);
2851 yyval.prop->loc = (yyloc);
2857 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, (((void *)0)), yyvsp[(3) - (5)].id, (((void *)0)), (((void *)0)));
2858 yyval.prop->loc = (yyloc);
2864 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(7) - (10)].stmt, yyvsp[(9) - (10)].stmt);
2865 yyval.prop->loc = (yyloc);
2871 yyval.prop = MkProperty(yyvsp[(2) - (10)].list, yyvsp[(3) - (10)].declarator, yyvsp[(4) - (10)].id, yyvsp[(9) - (10)].stmt, yyvsp[(7) - (10)].stmt);
2872 yyval.prop->loc = (yyloc);
2878 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, yyvsp[(7) - (8)].stmt, (((void *)0)));
2879 yyval.prop->loc = (yyloc);
2885 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, yyvsp[(3) - (8)].declarator, yyvsp[(4) - (8)].id, (((void *)0)), yyvsp[(7) - (8)].stmt);
2886 yyval.prop->loc = (yyloc);
2892 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator, yyvsp[(4) - (6)].id, (((void *)0)), (((void *)0)));
2893 yyval.prop->loc = (yyloc);
2899 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (8)].stmt, yyvsp[(7) - (8)].stmt);
2900 yyval.prop->loc = (yyloc);
2906 yyval.prop = MkProperty(yyvsp[(2) - (8)].list, (((void *)0)), (((void *)0)), yyvsp[(7) - (8)].stmt, yyvsp[(5) - (8)].stmt);
2907 yyval.prop->loc = (yyloc);
2913 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt, (((void *)0)));
2914 yyval.prop->loc = (yyloc);
2920 yyval.prop = MkProperty(yyvsp[(2) - (6)].list, (((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(5) - (6)].stmt);
2921 yyval.prop->loc = (yyloc);
2927 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
2928 yyval.prop->loc = (yyloc);
2934 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(6) - (9)].stmt, yyvsp[(8) - (9)].stmt);
2935 yyval.prop->loc = (yyloc);
2941 yyval.prop = MkProperty(yyvsp[(2) - (9)].list, yyvsp[(3) - (9)].declarator, (((void *)0)), yyvsp[(8) - (9)].stmt, yyvsp[(6) - (9)].stmt);
2942 yyval.prop->loc = (yyloc);
2948 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), yyvsp[(6) - (7)].stmt, (((void *)0)));
2949 yyval.prop->loc = (yyloc);
2955 yyval.prop = MkProperty(yyvsp[(2) - (7)].list, yyvsp[(3) - (7)].declarator, (((void *)0)), (((void *)0)), yyvsp[(6) - (7)].stmt);
2956 yyval.prop->loc = (yyloc);
2962 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
2963 yyval.prop->loc = (yyloc);
2969 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
2970 yyval.classDef->__anon1.decl->loc = (yyloc);
2971 yyval.classDef->loc = (yyloc);
2977 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
2978 yyval.classDef->__anon1.decl->loc = (yyloc);
2979 yyval.classDef->loc = (yyloc);
2985 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
2986 yyval.classDef->loc = (yyloc);
2987 yyval.classDef->__anon1.decl->loc = (yyloc);
2993 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
2994 yyval.classDef->loc = (yyloc);
2995 yyval.classDef->__anon1.decl->loc = (yyloc);
3001 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
3002 yyval.classDef->loc = (yyloc);
3008 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
3009 if((*yyvsp[(1) - (2)].list).last)
3010 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
3011 yyval.classDef->loc = (yyloc);
3017 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
3018 yyval.classDef->loc = (yyloc);
3024 yyval.classDef = (((void *)0));
3030 yyval.list = MkList();
3031 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
3037 yyval.list = yyvsp[(1) - (3)].list;
3038 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
3044 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
3045 yyval.declarator->loc = (yyloc);
3051 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
3052 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
3053 yyval.declarator->loc = (yyloc);
3059 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
3060 yyval.declarator->loc = (yyloc);
3066 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
3067 yyval.declarator->loc = (yyloc);
3073 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
3074 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
3075 yyval.declarator->loc = (yyloc);
3081 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
3083 DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
3089 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
3091 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
3092 FreeSpecifier(yyvsp[(2) - (2)].specifier);
3098 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (4)].list);
3104 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
3106 DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
3112 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
3113 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
3115 DeclClass(yyvsp[(2) - (7)].id->_class, yyvsp[(2) - (7)].id->string);
3121 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
3122 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
3124 DeclClass(yyvsp[(2) - (7)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
3125 FreeSpecifier(yyvsp[(2) - (7)].specifier);
3131 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
3133 DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
3134 FreeSpecifier(yyvsp[(2) - (5)].specifier);
3140 yyval.list = MkList();
3141 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
3147 yyval.list = yyvsp[(1) - (3)].list;
3148 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
3154 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
3160 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
3166 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3172 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
3178 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
3184 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
3190 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
3196 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
3202 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
3208 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
3214 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
3220 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
3226 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
3232 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3238 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
3244 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
3250 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
3256 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
3262 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
3268 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3274 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
3280 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3286 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3292 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
3298 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3304 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
3310 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3316 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3322 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3328 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3334 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
3340 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
3346 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
3352 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
3358 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
3364 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
3370 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3376 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
3382 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
3388 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3394 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, yyvsp[(2) - (2)].declarator);
3400 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
3406 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
3412 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
3418 yyval.list = MkList();
3419 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
3425 yyval.list = yyvsp[(1) - (2)].list;
3426 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
3432 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
3438 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
3444 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
3450 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
3456 yyval.list = yyvsp[(1) - (3)].list;
3457 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
3463 yyval.list = MkList();
3464 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
3470 yyval.list = yyvsp[(1) - (3)].list;
3471 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
3477 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
3483 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
3489 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
3495 yyval.list = MkList();
3496 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
3502 yyval.list = yyvsp[(1) - (3)].list;
3503 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
3509 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
3515 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
3521 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
3522 yyval.initializer->loc = (yyloc);
3528 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
3529 yyval.initializer->loc = (yyloc);
3535 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
3536 yyval.initializer->loc = (yyloc);
3538 struct Expression * exp = MkExpDummy();
3539 struct Initializer * init = MkInitializerAssignment(exp);
3541 init->loc = (yylsp[(3) - (4)]);
3542 exp->loc = (yylsp[(3) - (4)]);
3543 ListAdd(yyvsp[(2) - (4)].list, init);
3550 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
3551 yyval.initializer->loc = (yyloc);
3557 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
3558 yyval.initializer->loc = (yyloc);
3564 yyval.list = MkList();
3565 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
3571 yyval.list = yyvsp[(1) - (3)].list;
3572 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
3578 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
3579 yyval.stmt->loc = (yyloc);
3585 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
3586 yyval.stmt->loc = (yyloc);
3587 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
3593 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
3594 yyval.stmt->loc = (yyloc);
3600 yyval.list = MkList();
3601 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
3607 yyval.list = yyvsp[(1) - (2)].list;
3608 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
3614 yyval.list = MkList();
3615 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
3621 yyval.list = yyvsp[(1) - (2)].list;
3622 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
3628 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
3630 stmt->loc = (yylsp[(2) - (2)]);
3631 ListAdd(yyvsp[(1) - (2)].list, stmt);
3632 yyval.list = yyvsp[(1) - (2)].list;
3638 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
3644 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
3650 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
3656 yyval.context = PushContext();
3662 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
3663 yyval.stmt->__anon1.compound.context = PushContext();
3664 PopContext(yyval.stmt->__anon1.compound.context);
3665 yyval.stmt->loc = (yyloc);
3671 yyval.stmt = yyvsp[(2) - (3)].stmt;
3672 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
3673 PopContext(yyvsp[(1) - (3)].context);
3674 yyval.stmt->loc = (yyloc);
3680 yyval.stmt = MkExpressionStmt((((void *)0)));
3681 yyval.stmt->loc = (yyloc);
3687 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
3688 yyval.stmt->loc = (yyloc);
3694 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
3695 yyval.stmt->loc = (yyloc);
3701 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
3702 yyval.stmt->loc = (yyloc);
3708 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
3709 yyval.stmt->loc = (yyloc);
3715 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
3716 yyval.stmt->loc = (yyloc);
3722 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
3723 yyval.stmt->loc = (yyloc);
3729 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
3730 yyval.stmt->loc = (yyloc);
3736 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
3737 yyval.stmt->loc = (yyloc);
3743 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
3744 yyval.stmt->loc = (yyloc);
3750 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
3751 yyval.stmt->loc = (yyloc);
3757 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
3758 yyval.stmt->loc = (yyloc);
3764 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
3765 yyval.stmt->loc = (yyloc);
3771 yyval.stmt = MkContinueStmt();
3772 yyval.stmt->loc = (yyloc);
3778 yyval.stmt = MkBreakStmt();
3779 yyval.stmt->loc = (yyloc);
3785 struct Expression * exp = MkExpDummy();
3787 yyval.stmt = MkReturnStmt(MkListOne(exp));
3788 yyval.stmt->loc = (yyloc);
3789 exp->loc = (yylsp[(2) - (2)]);
3795 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
3796 yyval.stmt->loc = (yyloc);
3802 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3808 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3809 yyval.instance->loc = (yyloc);
3810 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3811 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3812 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
3818 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
3819 yyval.instance->loc = (yyloc);
3820 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3821 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3822 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
3828 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
3829 yyval.instance->loc = (yyloc);
3830 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
3831 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
3837 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), MkList());
3838 yyval.instance->loc = (yyloc);
3839 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
3840 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
3846 struct Location tmpLoc = expression_yylloc;
3848 expression_yylloc = (yylsp[(1) - (4)]);
3849 expression_yylloc = tmpLoc;
3850 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
3851 yyval.instance->loc = (yyloc);
3852 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
3853 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
3854 FreeIdentifier(yyvsp[(1) - (4)].id);
3860 struct Location tmpLoc = expression_yylloc;
3862 expression_yylloc = (yylsp[(1) - (3)]);
3863 expression_yylloc = tmpLoc;
3864 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), MkList());
3865 yyval.instance->loc = (yyloc);
3866 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
3867 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
3868 FreeIdentifier(yyvsp[(1) - (3)].id);
3874 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
3875 yyval.instance->loc = (yyloc);
3876 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
3877 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).start;
3883 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), MkList());
3884 yyval.instance->loc = (yyloc);
3885 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
3886 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3892 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3893 yyval.classFunction->loc = (yyloc);
3899 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3900 yyval.classFunction->loc = (yyloc);
3906 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
3907 yyval.classFunction->isConstructor = 1;
3908 yyval.classFunction->loc = (yyloc);
3909 FreeList(yyvsp[(1) - (3)].list, (void *)(FreeSpecifier));
3915 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
3916 yyval.classFunction->isDestructor = 1;
3917 yyval.classFunction->loc = (yyloc);
3918 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
3924 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3925 yyval.classFunction->isVirtual = 1;
3926 yyval.classFunction->loc = (yyloc);
3932 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3933 yyval.classFunction->isVirtual = 1;
3934 yyval.classFunction->loc = (yyloc);
3940 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3941 yyval.classFunction->loc = (yyloc);
3947 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3948 yyval.classFunction->loc = (yyloc);
3954 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3955 yyval.classFunction->loc = (yyloc);
3961 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3962 yyval.classFunction->loc = (yyloc);
3968 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3969 yyval.classFunction->loc = (yyloc);
3975 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3976 yyval.classFunction->loc = (yyloc);
3982 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3983 yyval.classFunction->loc = (yyloc);
3989 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3990 yyval.memberInit->loc = (yyloc);
3991 yyval.memberInit->realLoc = (yyloc);
3992 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3998 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3999 yyval.memberInit->loc = (yyloc);
4000 yyval.memberInit->realLoc = (yyloc);
4006 yyval.list = MkList();
4007 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4013 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4014 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4015 yyval.list = yyvsp[(1) - (3)].list;
4021 if((*yyvsp[(1) - (2)].list).last)
4022 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
4023 yyval.list = yyvsp[(1) - (2)].list;
4029 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
4031 yyval.list = MkList();
4032 ListAdd(yyval.list, members);
4033 members->loc = (yylsp[(1) - (1)]);
4039 yyval.list = MkList();
4040 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
4041 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
4047 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
4049 ListAdd(yyval.list, members);
4050 members->loc = (yylsp[(2) - (2)]);
4051 yyval.list = yyvsp[(1) - (2)].list;
4057 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
4058 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
4059 yyval.list = yyvsp[(1) - (2)].list;
4065 struct MembersInit * members = MkMembersInitList(MkList());
4067 yyval.list = MkList();
4068 ListAdd(yyval.list, members);
4069 members->loc = (yylsp[(1) - (1)]);
4075 struct MembersInit * members = MkMembersInitList(MkList());
4077 ListAdd(yyval.list, members);
4078 members->loc = (yylsp[(2) - (2)]);
4079 yyval.list = yyvsp[(1) - (2)].list;
4085 yyval.list = MkList();
4086 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
4087 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
4093 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
4094 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
4100 parsedExpression = yyvsp[(1) - (1)].exp;
4109 if(expression_yydebug)
4111 fprintf((bsl_stderr()), "%s ", "-> $$ =");
4112 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
4113 fprintf((bsl_stderr()), "\n");
4116 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4120 if(expression_yydebug)
4121 yy_stack_print((yyss), (yyssp));
4126 yystate = yypgoto[yyn - 145] + *yyssp;
4127 if(0 <= yystate && yystate <= 7602 && yycheck[yystate] == *yyssp)
4128 yystate = yytable[yystate];
4130 yystate = yydefgoto[yyn - 145];
4135 ++expression_yynerrs;
4136 yyerror("syntax error");
4138 yyerror_range[0] = expression_yylloc;
4139 if(yyerrstatus == 3)
4141 if(expression_yychar <= 0)
4143 if(expression_yychar == 0)
4148 yydestruct("Error: discarding", yytoken, &expression_yylval, &expression_yylloc);
4149 expression_yychar = (-2);
4156 yyerror_range[0] = yylsp[1 - yylen];
4157 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4161 if(expression_yydebug)
4162 yy_stack_print((yyss), (yyssp));
4170 yyn = yypact[yystate];
4174 if(0 <= yyn && yyn <= 7602 && yycheck[yyn] == 1)
4183 yyerror_range[0] = *yylsp;
4184 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
4185 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
4189 if(expression_yydebug)
4190 yy_stack_print((yyss), (yyssp));
4193 *++yyvsp = expression_yylval;
4194 yyerror_range[1] = expression_yylloc;
4195 (yyloc.start = ((yyerror_range - 1))[1].start);
4196 (yyloc.end = ((yyerror_range - 1))[2].end);
4201 if(expression_yydebug)
4203 fprintf((bsl_stderr()), "%s ", "Shifting");
4204 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
4205 fprintf((bsl_stderr()), "\n");
4217 yyerror("memory exhausted");
4220 if(expression_yychar != (-2))
4221 yydestruct("Cleanup: discarding lookahead", yytoken, &expression_yylval, &expression_yylloc);
4222 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
4225 if(expression_yydebug)
4226 yy_stack_print((yyss), (yyssp));
4228 while(yyssp != yyss)
4230 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
4231 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
4238 struct __ecereNameSpace__ecere__com__NameSpace;
4240 struct __ecereNameSpace__ecere__com__NameSpace
4243 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
4244 struct __ecereNameSpace__ecere__com__NameSpace * left;
4245 struct __ecereNameSpace__ecere__com__NameSpace * right;
4247 struct __ecereNameSpace__ecere__com__NameSpace * parent;
4248 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
4249 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
4250 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
4251 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
4254 struct __ecereNameSpace__ecere__com__Application
4257 const char * * argv;
4259 unsigned int isGUIApp;
4260 struct __ecereNameSpace__ecere__sys__OldList allModules;
4261 char * parsedCommand;
4262 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
4265 struct __ecereNameSpace__ecere__com__DataMember;
4267 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
4273 const char * dataTypeString;
4274 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
4275 } ecere_gcc_struct __anon1;
4276 struct __ecereNameSpace__ecere__com__DataValue expression;
4279 const char * memberString;
4282 struct __ecereNameSpace__ecere__com__DataMember * member;
4283 struct __ecereNameSpace__ecere__com__Property * prop;
4284 struct __ecereNameSpace__ecere__com__Method * method;
4285 } ecere_gcc_struct __anon1;
4286 } ecere_gcc_struct __anon2;
4287 } ecere_gcc_struct __anon1;
4290 struct __ecereNameSpace__ecere__com__DataMember
4292 struct __ecereNameSpace__ecere__com__DataMember * prev;
4293 struct __ecereNameSpace__ecere__com__DataMember * next;
4295 unsigned int isProperty;
4298 struct __ecereNameSpace__ecere__com__Class * _class;
4299 const char * dataTypeString;
4300 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
4301 struct Type * dataType;
4305 struct __ecereNameSpace__ecere__sys__OldList members;
4306 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
4308 short structAlignment;
4309 short pointerAlignment;
4312 struct __ecereNameSpace__ecere__com__Module;
4314 struct __ecereNameSpace__ecere__com__Module
4316 struct __ecereNameSpace__ecere__com__Instance * application;
4317 struct __ecereNameSpace__ecere__sys__OldList classes;
4318 struct __ecereNameSpace__ecere__sys__OldList defines;
4319 struct __ecereNameSpace__ecere__sys__OldList functions;
4320 struct __ecereNameSpace__ecere__sys__OldList modules;
4321 struct __ecereNameSpace__ecere__com__Instance * prev;
4322 struct __ecereNameSpace__ecere__com__Instance * next;
4328 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
4329 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
4332 struct __ecereNameSpace__ecere__com__Class
4334 struct __ecereNameSpace__ecere__com__Class * prev;
4335 struct __ecereNameSpace__ecere__com__Class * next;
4341 unsigned int (* Constructor)(void * );
4342 void (* Destructor)(void * );
4345 struct __ecereNameSpace__ecere__com__Class * base;
4346 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
4347 struct __ecereNameSpace__ecere__sys__BinaryTree members;
4348 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
4349 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
4350 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
4351 struct __ecereNameSpace__ecere__sys__OldList derivatives;
4355 struct __ecereNameSpace__ecere__com__Instance * module;
4356 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
4357 const char * dataTypeString;
4358 struct Type * dataType;
4360 int defaultAlignment;
4361 void (* Initialize)();
4363 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
4364 const char * designerClass;
4365 unsigned int noExpansion;
4366 const char * defaultProperty;
4367 unsigned int comRedefinition;
4370 unsigned int internalDecl;
4372 unsigned int computeSize;
4373 short structAlignment;
4374 short pointerAlignment;
4375 int destructionWatchOffset;
4377 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
4378 int inheritanceAccess;
4379 const char * fullName;
4381 struct __ecereNameSpace__ecere__sys__OldList conversions;
4382 struct __ecereNameSpace__ecere__sys__OldList templateParams;
4383 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
4384 struct __ecereNameSpace__ecere__com__Class * templateClass;
4385 struct __ecereNameSpace__ecere__sys__OldList templatized;
4387 unsigned int isInstanceClass;
4388 unsigned int byValueSystemClass;
4391 void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
4393 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
4397 void __ecereUnregisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
4402 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
4404 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
4407 ((void)(yylocationp));
4412 if(expression_yydebug)
4414 fprintf((bsl_stderr()), "%s ", yymsg);
4415 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
4416 fprintf((bsl_stderr()), "\n");
4423 FreeIdentifier((*yyvaluep).id);
4429 FreeExpression((*yyvaluep).exp);
4435 FreeExpression((*yyvaluep).exp);
4441 FreeList((*yyvaluep).list, (void *)(FreeExpression));
4447 FreeExpression((*yyvaluep).exp);
4453 FreeExpression((*yyvaluep).exp);
4459 FreeExpression((*yyvaluep).exp);
4465 FreeExpression((*yyvaluep).exp);
4471 FreeExpression((*yyvaluep).exp);
4477 FreeExpression((*yyvaluep).exp);
4483 FreeExpression((*yyvaluep).exp);
4489 FreeExpression((*yyvaluep).exp);
4495 FreeExpression((*yyvaluep).exp);
4501 FreeExpression((*yyvaluep).exp);
4507 FreeExpression((*yyvaluep).exp);
4513 FreeExpression((*yyvaluep).exp);
4519 FreeExpression((*yyvaluep).exp);
4525 FreeExpression((*yyvaluep).exp);
4531 FreeList((*yyvaluep).list, (void *)(FreeExpression));
4537 FreeExpression((*yyvaluep).exp);
4543 FreeDeclaration((*yyvaluep).declaration);
4549 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
4555 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
4561 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
4567 FreeInitDeclarator((*yyvaluep).initDeclarator);
4573 FreeSpecifier((*yyvaluep).specifier);
4579 FreeExtDecl((*yyvaluep).extDecl);
4585 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
4591 FreeAttribute((*yyvaluep).attribute);
4597 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
4603 FreeAttrib((*yyvaluep).attrib);
4609 FreeSpecifier((*yyvaluep).specifier);
4615 FreeSpecifier((*yyvaluep).specifier);
4621 FreeSpecifier((*yyvaluep).specifier);
4627 FreeSpecifier((*yyvaluep).specifier);
4633 FreeSpecifier((*yyvaluep).specifier);
4639 FreeSpecifier((*yyvaluep).specifier);
4645 FreeSpecifier((*yyvaluep).specifier);
4651 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
4657 FreeMemberInit((*yyvaluep).memberInit);
4663 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
4669 FreeProperty((*yyvaluep).prop);
4675 FreeClassDef((*yyvaluep).classDef);
4681 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
4687 FreeDeclarator((*yyvaluep).declarator);
4693 FreeSpecifier((*yyvaluep).specifier);
4699 FreeSpecifier((*yyvaluep).specifier);
4705 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
4711 FreeEnumerator((*yyvaluep).enumerator);
4717 FreeDeclarator((*yyvaluep).declarator);
4723 FreeDeclarator((*yyvaluep).declarator);
4729 FreeDeclarator((*yyvaluep).declarator);
4735 FreeDeclarator((*yyvaluep).declarator);
4741 FreeDeclarator((*yyvaluep).declarator);
4747 FreeDeclarator((*yyvaluep).declarator);
4753 FreeDeclarator((*yyvaluep).declarator);
4759 FreeDeclarator((*yyvaluep).declarator);
4765 FreeDeclarator((*yyvaluep).declarator);
4771 FreeDeclarator((*yyvaluep).declarator);
4777 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
4783 FreePointer((*yyvaluep).pointer);
4789 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
4795 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
4801 FreeTypeName((*yyvaluep).typeName);
4807 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
4813 FreeTypeName((*yyvaluep).typeName);
4819 FreeInitializer((*yyvaluep).initializer);
4825 FreeInitializer((*yyvaluep).initializer);
4831 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
4837 FreeStatement((*yyvaluep).stmt);
4843 FreeStatement((*yyvaluep).stmt);
4849 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
4855 FreeList((*yyvaluep).list, (void *)(FreeStatement));
4861 FreeStatement((*yyvaluep).stmt);
4867 PopContext((*yyvaluep).context);
4868 FreeContext((*yyvaluep).context);
4869 (((*yyvaluep).context ? __extension__ ({
4870 void * __ecerePtrToDelete = ((*yyvaluep).context);
4872 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
4873 }) : 0), (*yyvaluep).context = 0);
4879 FreeStatement((*yyvaluep).stmt);
4885 FreeStatement((*yyvaluep).stmt);
4891 FreeStatement((*yyvaluep).stmt);
4897 FreeStatement((*yyvaluep).stmt);
4903 FreeStatement((*yyvaluep).stmt);
4909 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
4915 FreeInstance((*yyvaluep).instance);
4921 FreeInstance((*yyvaluep).instance);
4927 FreeClassFunction((*yyvaluep).classFunction);
4933 FreeClassFunction((*yyvaluep).classFunction);
4939 FreeClassFunction((*yyvaluep).classFunction);
4945 FreeClassFunction((*yyvaluep).classFunction);
4951 FreeClassFunction((*yyvaluep).classFunction);
4957 FreeClassFunction((*yyvaluep).classFunction);
4963 FreeClassFunction((*yyvaluep).classFunction);
4969 FreeMemberInit((*yyvaluep).memberInit);
4975 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
4981 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
4987 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
4993 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));