c142d3e7230f9ce6ddbfbd44c6de9a1208535e75
[sdk] / compiler / bootstrap / libec / bootstrap / lexer.c
1 /* Code generated from eC source file: lexer.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #      define ecere_gcc_struct __attribute__((gcc_struct))
42 #   else
43 #      define ecere_stdcall __stdcall
44 #      define ecere_gcc_struct
45 #   endif
46 #else
47 #   define ecere_stdcall
48 #   define ecere_gcc_struct
49 #endif
50 #include <stdint.h>
51 #include <sys/types.h>
52 void exit(int status);
53
54 void * calloc(size_t nmemb, size_t size);
55
56 void free(void * ptr);
57
58 void * malloc(size_t size);
59
60 void * realloc(void * ptr, size_t size);
61
62 long int strtol(const char * nptr, char ** endptr, int base);
63
64 long long int strtoll(const char * nptr, char ** endptr, int base);
65
66 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
67
68 typedef __builtin_va_list va_list;
69
70 typedef void FILE;
71
72 FILE * bsl_stdin(void);
73
74 FILE * bsl_stdout(void);
75
76 FILE * bsl_stderr(void);
77
78 char * fgets(char * s, int size, FILE * stream);
79
80 FILE * fopen(const char * path, const char * mode);
81
82 int fclose(FILE * fp);
83
84 int fflush(FILE * stream);
85
86 int fgetc(FILE * stream);
87
88 int fprintf(FILE * stream, const char * format, ...);
89
90 int fputc(int c, FILE * stream);
91
92 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
93
94 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
95
96 int vsnprintf(char *, size_t, const char *, va_list args);
97
98 int snprintf(char * str, size_t, const char * format, ...);
99
100 int fseek(FILE * stream, long offset, int whence);
101
102 long ftell(FILE * stream);
103
104 int feof(FILE * stream);
105
106 int ferror(FILE * stream);
107
108 int fileno(FILE * stream);
109
110 typedef struct yy_buffer_state * YY_BUFFER_STATE;
111
112 extern int yyleng;
113
114 extern FILE * yyin, * yyout;
115
116 typedef unsigned int yy_size_t;
117
118 struct yy_buffer_state
119 {
120 FILE * yy_input_file;
121 char * yy_ch_buf;
122 char * yy_buf_pos;
123 yy_size_t yy_buf_size;
124 int yy_n_chars;
125 int yy_is_our_buffer;
126 int yy_is_interactive;
127 int yy_at_bol;
128 int yy_fill_buffer;
129 int yy_buffer_status;
130 } ecere_gcc_struct;
131
132 static char yy_hold_char;
133
134 static int yy_n_chars;
135
136 int yyleng;
137
138 static char * yy_c_buf_p = (char *)0;
139
140 static int yy_init = 1;
141
142 static int yy_start = 0;
143
144 static int yy_did_buffer_switch_on_eof;
145
146 void yyrestart(FILE * input_file);
147
148 void yy_load_buffer_state(void);
149
150 static void * yy_flex_alloc(yy_size_t);
151
152 static void * yy_flex_realloc(void *, yy_size_t);
153
154 static void yy_flex_free(void *);
155
156 typedef unsigned char YY_CHAR;
157
158 FILE * yyin = (FILE *)0, * yyout = (FILE *)0;
159
160 typedef int yy_state_type;
161
162 extern char * yytext;
163
164 static yy_state_type yy_get_previous_state(void);
165
166 static yy_state_type yy_try_NUL_trans(yy_state_type current_state);
167
168 static int yy_get_next_buffer(void);
169
170 static void yy_fatal_error(const char msg[]);
171
172 static const short int yy_accept[729] =
173 {
174 0, 113, 113, 179, 177, 175, 174, 173, 176, 160, 177, 1, 172, 166, 159, 177, 154, 155, 164, 163, 151, 162, 158, 165, 119, 119, 152, 148, 167, 153, 168, 171, 113, 113, 113, 156, 157, 169, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 149, 170, 150, 161, 147, 0, 124, 0, 133, 150, 142, 134, 0, 0, 131, 139, 129, 140, 130, 141, 0, 122, 2, 3, 132, 123, 118, 0, 119, 0, 119, 113, 157, 149, 156, 138, 144, 146, 145, 137, 0, 113, 0, 113, 0, 0, 135, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 11, 113, 113, 113, 113, 113, 113, 113, 113, 19, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 136, 143, 120, 126, 0, 122, 122, 0, 123, 118, 0, 121, 0, 114, 113, 128, 127, 113, 113, 0, 125, 0, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 93, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 17, 46, 113, 113, 113, 113, 20, 113, 113, 113, 52, 113, 113, 113, 113, 113, 113, 113, 45, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 0, 122, 0, 122, 0, 123, 121, 116, 117, 114, 0, 62, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 4, 113, 6, 7, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 13, 14, 113, 113, 113, 18, 113, 113, 113, 113, 113, 22, 113, 53, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 21, 113, 113, 113, 39, 113, 113, 113, 0, 122, 116, 116, 0, 116, 116, 117, 0, 0, 115, 63, 113, 113, 113, 94, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 5, 48, 8, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 16, 113, 113, 113, 59, 47, 113, 113, 113, 113, 113, 54, 113, 113, 25, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 37, 113, 113, 113, 96, 43, 0, 116, 116, 116, 0, 0, 117, 115, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 57, 51, 113, 113, 12, 15, 113, 56, 89, 73, 113, 113, 113, 85, 113, 55, 113, 24, 26, 29, 32, 113, 113, 34, 113, 35, 113, 113, 113, 113, 113, 113, 113, 0, 116, 113, 113, 113, 92, 113, 113, 77, 83, 113, 113, 113, 58, 113, 113, 113, 113, 113, 113, 113, 71, 113, 113, 113, 113, 113, 113, 113, 113, 110, 111, 109, 10, 113, 113, 113, 113, 86, 113, 113, 113, 81, 113, 113, 113, 113, 36, 113, 50, 113, 113, 64, 113, 113, 113, 113, 113, 113, 72, 113, 27, 113, 33, 95, 113, 113, 80, 113, 113, 113, 113, 113, 113, 9, 113, 113, 113, 113, 113, 44, 23, 66, 113, 107, 113, 113, 38, 40, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 78, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 75, 76, 113, 108, 113, 113, 49, 113, 99, 65, 113, 113, 113, 113, 113, 70, 82, 28, 113, 42, 113, 88, 105, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 30, 69, 113, 113, 0, 113, 113, 79, 113, 91, 113, 113, 102, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 74, 0, 113, 84, 41, 113, 113, 113, 113, 113, 98, 113, 97, 87, 68, 113, 113, 113, 90, 113, 113, 113, 113, 112, 113, 113, 113, 113, 113, 113, 100, 113, 106, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 61, 113, 113, 113, 113, 113, 113, 60, 113, 113, 104, 113, 31, 113, 101, 113, 113, 113, 113, 113, 113, 113, 103, 113, 67, 0
175 };
176
177 static const int yy_ec[256] =
178 {
179 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 23, 22, 24, 22, 22, 22, 25, 26, 27, 28, 29, 30, 1, 31, 32, 33, 31, 34, 35, 36, 36, 37, 38, 36, 39, 36, 36, 36, 40, 36, 36, 36, 36, 41, 36, 36, 42, 36, 36, 43, 44, 45, 46, 47, 1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 36, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
180 };
181
182 static const int yy_meta[77] =
183 {
184 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 4, 1, 1, 1, 1, 5, 1, 6, 6, 6, 6, 2, 1, 1, 1, 1, 1, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 8, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1
185 };
186
187 static const short int yy_base[737] =
188 {
189 0, 0, 0, 254, 2603, 2603, 2603, 2603, 2603, 219, 70, 2603, 2603, 50, 69, 201, 2603, 2603, 199, 65, 2603, 66, 64, 76, 96, 79, 80, 2603, 97, 194, 61, 2603, 81, 88, 116, 2603, 2603, 183, 132, 115, 87, 143, 147, 131, 148, 156, 160, 121, 164, 136, 203, 204, 206, 208, 212, 224, 2603, 88, 2603, 2603, 2603, 101, 2603, 184, 2603, 2603, 2603, 2603, 182, 174, 2603, 2603, 2603, 2603, 2603, 2603, 159, 259, 2603, 2603, 2603, 298, 339, 218, 247, 151, 0, 0, 2603, 2603, 2603, 116, 2603, 2603, 2603, 111, 111, 149, 106, 213, 186, 85, 2603, 233, 237, 232, 396, 221, 240, 241, 242, 265, 298, 313, 306, 318, 319, 323, 315, 316, 334, 331, 363, 364, 372, 328, 374, 375, 390, 391, 392, 393, 400, 409, 401, 394, 411, 398, 416, 424, 431, 399, 458, 459, 463, 466, 465, 468, 469, 475, 470, 476, 478, 487, 491, 2603, 2603, 2603, 2603, 527, 517, 556, 541, 546, 530, 483, 595, 0, 601, 403, 2603, 2603, 0, 533, 243, 2603, 108, 498, 550, 589, 596, 600, 618, 571, 611, 624, 620, 645, 517, 648, 652, 654, 663, 665, 497, 664, 667, 671, 672, 673, 675, 680, 683, 682, 684, 705, 692, 695, 708, 710, 720, 723, 731, 738, 508, 735, 739, 741, 743, 744, 747, 754, 748, 756, 763, 765, 766, 767, 771, 784, 774, 786, 787, 793, 794, 799, 803, 806, 805, 809, 810, 812, 814, 821, 827, 833, 834, 836, 837, 838, 839, 855, 860, 875, 889, 880, 899, 907, 905, 910, 953, 941, 997, 860, 866, 883, 881, 876, 970, 945, 927, 1003, 946, 1006, 1011, 1012, 1014, 940, 1013, 1016, 1018, 1015, 1021, 943, 1022, 1023, 1024, 1033, 1034, 1040, 1041, 1042, 1043, 1051, 1050, 1058, 1071, 1059, 1076, 1078, 1079, 1082, 1086, 1087, 1094, 1099, 1102, 1103, 1104, 1106, 1105, 1107, 1110, 1111, 1114, 1123, 1127, 1130, 1129, 1135, 1136, 1139, 1140, 1142, 1147, 1148, 1155, 1151, 1164, 1168, 1171, 1172, 1173, 1174, 1184, 1191, 1194, 1200, 1203, 1204, 1207, 1209, 1211, 1217, 1222, 0, 1212, 1259, 1249, 0, 1257, 1299, 1236, 1303, 1237, 1241, 1242, 1265, 1282, 1286, 1274, 1293, 1319, 1320, 1321, 1324, 1323, 1326, 1328, 1341, 1343, 1344, 1346, 1347, 1350, 1352, 1353, 1356, 1363, 1365, 1372, 1374, 1376, 1382, 1387, 1392, 1393, 1395, 1394, 1398, 1402, 1403, 1404, 1405, 1413, 1414, 1425, 1415, 1430, 1431, 1433, 1437, 1438, 1448, 1449, 1455, 1457, 1458, 1461, 1460, 1465, 1464, 1473, 1467, 1480, 1470, 1482, 1485, 1491, 1492, 1495, 1511, 1513, 1515, 1523, 1547, 0, 1519, 1571, 1527, 1586, 1576, 1549, 1541, 1566, 1572, 1601, 1554, 1605, 1606, 1611, 1623, 1626, 1627, 1629, 1630, 1548, 1633, 1635, 1636, 1638, 1642, 1645, 1648, 1655, 1654, 1658, 1660, 1663, 1667, 1664, 1666, 1675, 1684, 1685, 1687, 1688, 1690, 1703, 1706, 1709, 1711, 1713, 1714, 1715, 1716, 1718, 1724, 1726, 1733, 1737, 1739, 1741, 1742, 1744, 1746, 1750, 1759, 1752, 1762, 1761, 1765, 1767, 1768, 1773, 1806, 1777, 1774, 1778, 1780, 1787, 1793, 1795, 1798, 1808, 1810, 1814, 1821, 1823, 1826, 1827, 1831, 1839, 1842, 1843, 1844, 1847, 1849, 1859, 1862, 1865, 1869, 1870, 1872, 1877, 1878, 1880, 1885, 1889, 1898, 1901, 1904, 1905, 1906, 1909, 1910, 1914, 1917, 1921, 1925, 1930, 1927, 1932, 1933, 1936, 1934, 1938, 1945, 1949, 1953, 1955, 1960, 1957, 1964, 1973, 1970, 1976, 1980, 1981, 1983, 1985, 1989, 1993, 1996, 2004, 2008, 2011, 2013, 2014, 2016, 2015, 2019, 2021, 2020, 2023, 2026, 2039, 2041, 2042, 2043, 2048, 2049, 2054, 2066, 2069, 2072, 2073, 2075, 2076, 2079, 2077, 2078, 2081, 2082, 2084, 2088, 2100, 2105, 2106, 2109, 2110, 2112, 2121, 2127, 2122, 2131, 2134, 2132, 2144, 2147, 2149, 2150, 2152, 2156, 2157, 2160, 2162, 2165, 2168, 2172, 2180, 2181, 2184, 2185, 2188, 2189, 2190, 2196, 2197, 2208, 2200, 2209, 2212, 2215, 2217, 2225, 2227, 2228, 2233, 2230, 2237, 96, 2235, 2243, 2232, 2253, 2256, 2262, 2263, 2273, 2278, 2280, 2281, 2282, 2283, 2284, 2285, 2288, 2290, 2293, 2603, 68, 2301, 2286, 2291, 2303, 2306, 2309, 2311, 2312, 2321, 2331, 2334, 2339, 2341, 2342, 2343, 2350, 2349, 2354, 2351, 2359, 2360, 2361, 2367, 2370, 2371, 2377, 2378, 2379, 2380, 2382, 2386, 2388, 2389, 2399, 2401, 2405, 2407, 2411, 2414, 2424, 2418, 2426, 2427, 2429, 2433, 2434, 2435, 2437, 2450, 2452, 2457, 2458, 2461, 2462, 2473, 2463, 2478, 2481, 2483, 2485, 2486, 2488, 2489, 2491, 2496, 2501, 2603, 2559, 2567, 2574, 2578, 2579, 2587, 2590, 2594
190 };
191
192 static const short int yy_def[737] =
193 {
194 0, 728, 1, 728, 728, 728, 728, 728, 728, 728, 729, 728, 728, 728, 728, 730, 728, 728, 728, 728, 728, 728, 728, 728, 728, 24, 728, 728, 728, 728, 728, 728, 731, 731, 731, 728, 728, 728, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 728, 728, 728, 728, 729, 728, 729, 728, 728, 728, 728, 730, 730, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 732, 25, 733, 728, 728, 728, 728, 728, 728, 728, 728, 728, 731, 728, 731, 734, 730, 728, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 735, 732, 731, 728, 728, 733, 731, 734, 728, 734, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 77, 728, 728, 728, 81, 728, 735, 728, 728, 728, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 161, 259, 728, 728, 260, 348, 728, 728, 728, 728, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 728, 348, 728, 728, 728, 728, 728, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 728, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 736, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 728, 736, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, 0, 728, 728, 728, 728, 728, 728, 728, 728
195 };
196
197 static const short int yy_nxt[2680] =
198 {
199 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 32, 32, 32, 32, 32, 32, 34, 32, 32, 32, 35, 4, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 32, 46, 32, 32, 47, 32, 48, 32, 49, 50, 51, 52, 53, 54, 55, 32, 32, 32, 56, 57, 58, 59, 62, 64, 65, 66, 71, 660, 76, 73, 77, 77, 77, 77, 94, 95, 78, 96, 72, 74, 75, 79, 67, 96, 96, 86, 86, 86, 86, 80, 87, 98, 89, 62, 88, 660, 728, 98, 98, 63, 81, 155, 82, 82, 82, 82, 728, 90, 100, 91, 92, 96, 96, 101, 69, 83, 172, 96, 84, 84, 84, 98, 84, 85, 171, 98, 98, 96, 96, 170, 63, 98, 96, 83, 728, 99, 113, 84, 84, 96, 84, 98, 98, 96, 96, 96, 98, 156, 84, 103, 104, 85, 96, 98, 105, 167, 96, 98, 98, 98, 96, 110, 728, 158, 106, 111, 98, 112, 135, 107, 98, 68, 728, 108, 98, 123, 114, 124, 175, 157, 118, 119, 109, 115, 120, 138, 125, 116, 139, 126, 117, 121, 127, 129, 122, 128, 102, 136, 131, 96, 96, 137, 96, 130, 96, 132, 133, 93, 96, 96, 134, 69, 70, 98, 98, 176, 98, 96, 98, 165, 96, 165, 98, 98, 166, 166, 166, 166, 96, 96, 69, 98, 60, 96, 98, 175, 96, 96, 96, 728, 140, 141, 98, 98, 142, 143, 147, 98, 728, 149, 98, 98, 98, 151, 150, 144, 145, 153, 146, 152, 173, 96, 148, 728, 154, 77, 77, 77, 77, 84, 84, 84, 176, 84, 728, 98, 190, 179, 159, 160, 177, 160, 160, 160, 178, 728, 191, 728, 84, 84, 728, 84, 192, 728, 96, 728, 159, 160, 193, 84, 160, 160, 96, 160, 161, 161, 161, 161, 98, 96, 194, 96, 96, 728, 96, 96, 98, 162, 163, 96, 163, 163, 163, 98, 96, 98, 98, 96, 98, 98, 96, 728, 728, 98, 728, 162, 163, 728, 98, 163, 163, 98, 163, 81, 98, 82, 82, 82, 82, 195, 196, 198, 199, 728, 202, 728, 197, 203, 83, 96, 96, 164, 164, 164, 728, 164, 201, 204, 96, 200, 96, 96, 205, 98, 98, 207, 83, 728, 206, 211, 164, 164, 98, 164, 98, 98, 96, 96, 96, 96, 96, 164, 96, 728, 96, 96, 96, 96, 728, 96, 98, 98, 98, 98, 98, 96, 98, 96, 98, 98, 98, 98, 96, 98, 209, 208, 728, 728, 728, 98, 96, 98, 213, 212, 210, 728, 98, 96, 728, 180, 181, 182, 183, 184, 98, 728, 728, 185, 728, 214, 222, 98, 215, 216, 218, 186, 187, 188, 217, 189, 232, 221, 224, 219, 96, 96, 223, 225, 227, 96, 220, 96, 96, 226, 96, 96, 96, 728, 98, 98, 228, 96, 96, 98, 96, 98, 98, 229, 98, 98, 98, 230, 231, 96, 728, 98, 98, 96, 98, 166, 166, 166, 166, 96, 96, 728, 236, 98, 234, 237, 240, 98, 728, 728, 96, 233, 241, 98, 98, 242, 238, 245, 239, 96, 728, 728, 235, 243, 98, 248, 246, 244, 249, 728, 728, 247, 728, 98, 252, 96, 252, 728, 251, 253, 253, 253, 253, 160, 250, 160, 160, 160, 256, 98, 256, 264, 96, 257, 257, 257, 257, 728, 164, 164, 164, 160, 164, 279, 160, 160, 98, 160, 161, 161, 161, 161, 163, 96, 163, 163, 163, 164, 164, 280, 164, 254, 255, 263, 255, 255, 255, 98, 164, 728, 163, 96, 728, 163, 163, 728, 163, 728, 96, 254, 255, 265, 96, 255, 255, 98, 255, 166, 166, 166, 166, 260, 98, 96, 273, 728, 98, 728, 728, 728, 96, 258, 96, 258, 258, 258, 96, 98, 266, 261, 261, 261, 262, 261, 98, 728, 98, 728, 728, 258, 98, 728, 258, 258, 728, 258, 267, 96, 261, 261, 96, 261, 268, 269, 96, 262, 96, 728, 270, 261, 271, 98, 728, 276, 98, 96, 96, 96, 98, 96, 98, 272, 274, 96, 96, 96, 275, 96, 728, 98, 98, 98, 96, 98, 96, 96, 96, 98, 98, 98, 728, 98, 277, 728, 96, 728, 98, 96, 98, 98, 98, 281, 278, 285, 283, 284, 287, 96, 98, 282, 96, 98, 96, 728, 288, 728, 728, 286, 728, 293, 728, 98, 96, 296, 98, 96, 98, 289, 728, 290, 294, 291, 292, 96, 295, 299, 98, 96, 300, 98, 96, 96, 301, 96, 297, 96, 96, 98, 302, 96, 96, 98, 298, 303, 98, 98, 96, 98, 96, 98, 98, 728, 312, 98, 98, 96, 305, 96, 96, 96, 98, 304, 98, 96, 306, 316, 96, 307, 728, 98, 728, 98, 98, 98, 728, 728, 96, 98, 96, 96, 98, 311, 308, 314, 309, 96, 96, 313, 310, 315, 98, 96, 98, 98, 728, 96, 728, 96, 96, 98, 98, 96, 96, 728, 96, 98, 96, 319, 320, 98, 318, 98, 98, 96, 317, 98, 98, 321, 98, 96, 98, 322, 728, 728, 728, 96, 96, 98, 96, 96, 96, 96, 326, 98, 323, 728, 325, 328, 324, 98, 98, 331, 98, 98, 98, 98, 728, 96, 728, 329, 327, 728, 96, 728, 334, 728, 728, 330, 96, 332, 333, 98, 253, 253, 253, 253, 98, 340, 96, 339, 341, 337, 98, 96, 335, 96, 336, 253, 253, 253, 253, 728, 98, 338, 728, 728, 343, 98, 343, 98, 728, 344, 344, 344, 344, 342, 255, 728, 255, 255, 255, 257, 257, 257, 257, 728, 354, 728, 728, 257, 257, 257, 257, 357, 255, 728, 356, 255, 255, 96, 255, 258, 728, 258, 258, 258, 345, 355, 346, 346, 346, 347, 96, 98, 728, 96, 728, 96, 96, 258, 728, 728, 258, 258, 345, 258, 98, 346, 346, 98, 346, 98, 98, 728, 347, 348, 348, 348, 348, 261, 261, 261, 96, 261, 360, 348, 348, 348, 348, 349, 728, 350, 350, 350, 351, 368, 98, 728, 261, 261, 374, 261, 348, 348, 348, 348, 348, 349, 362, 261, 350, 350, 359, 350, 352, 96, 352, 351, 96, 353, 353, 353, 353, 96, 96, 96, 96, 96, 96, 98, 96, 358, 98, 96, 96, 96, 96, 98, 98, 98, 98, 98, 98, 728, 98, 96, 96, 98, 98, 98, 98, 728, 96, 96, 96, 96, 361, 363, 728, 98, 98, 728, 96, 96, 728, 369, 98, 98, 98, 98, 96, 96, 365, 375, 373, 372, 98, 98, 364, 366, 367, 370, 371, 96, 98, 98, 376, 728, 96, 728, 96, 96, 377, 728, 96, 728, 728, 98, 96, 96, 380, 381, 98, 382, 98, 98, 96, 378, 98, 379, 383, 96, 98, 98, 96, 96, 96, 96, 96, 96, 98, 384, 96, 96, 728, 98, 96, 385, 98, 98, 98, 98, 98, 98, 397, 96, 98, 98, 386, 96, 98, 96, 96, 389, 728, 387, 390, 96, 96, 98, 388, 96, 96, 98, 96, 98, 98, 728, 395, 96, 96, 98, 98, 96, 391, 98, 98, 96, 98, 396, 393, 394, 392, 98, 98, 728, 96, 98, 398, 400, 96, 98, 401, 96, 96, 96, 96, 728, 728, 399, 98, 728, 402, 728, 98, 728, 96, 98, 98, 98, 98, 408, 403, 96, 728, 405, 96, 406, 410, 404, 98, 728, 96, 411, 407, 96, 96, 98, 409, 96, 98, 96, 413, 96, 415, 416, 98, 728, 728, 98, 98, 728, 414, 98, 728, 98, 417, 98, 412, 344, 344, 344, 344, 728, 344, 344, 344, 344, 346, 96, 346, 346, 346, 96, 96, 419, 418, 728, 353, 353, 353, 353, 728, 98, 423, 422, 346, 98, 98, 346, 346, 420, 346, 728, 421, 728, 424, 96, 424, 728, 728, 425, 425, 425, 425, 426, 96, 427, 427, 427, 428, 98, 728, 350, 96, 350, 350, 350, 96, 433, 98, 432, 728, 426, 728, 96, 427, 427, 98, 427, 728, 350, 98, 428, 350, 350, 429, 350, 429, 98, 434, 430, 430, 430, 430, 353, 353, 353, 353, 728, 435, 96, 96, 96, 437, 96, 96, 728, 96, 431, 96, 431, 431, 431, 438, 98, 98, 98, 443, 98, 98, 436, 98, 96, 98, 96, 96, 431, 96, 96, 431, 431, 96, 431, 96, 96, 728, 98, 96, 98, 98, 728, 98, 98, 441, 96, 98, 96, 98, 98, 440, 442, 98, 728, 96, 439, 96, 728, 96, 98, 445, 98, 446, 444, 96, 449, 447, 448, 98, 96, 98, 452, 98, 453, 96, 96, 96, 96, 98, 450, 96, 454, 451, 98, 96, 96, 96, 96, 98, 98, 98, 98, 728, 456, 98, 96, 96, 96, 98, 98, 98, 98, 728, 728, 455, 458, 457, 96, 728, 98, 98, 98, 96, 96, 728, 96, 461, 459, 462, 96, 96, 98, 460, 467, 728, 465, 98, 98, 463, 98, 96, 96, 464, 98, 98, 466, 728, 96, 469, 96, 96, 476, 96, 96, 98, 98, 96, 96, 470, 96, 468, 98, 96, 98, 98, 96, 98, 98, 728, 474, 98, 98, 96, 98, 96, 471, 98, 96, 728, 98, 472, 728, 473, 96, 96, 728, 98, 96, 98, 728, 728, 98, 477, 479, 480, 475, 481, 98, 98, 478, 728, 98, 483, 96, 482, 96, 486, 96, 728, 485, 728, 728, 728, 488, 484, 728, 728, 98, 489, 98, 728, 98, 487, 728, 491, 425, 425, 425, 425, 430, 430, 430, 430, 96, 490, 427, 728, 427, 427, 427, 96, 96, 493, 728, 728, 728, 96, 98, 492, 425, 425, 425, 425, 427, 98, 98, 427, 427, 96, 427, 98, 728, 728, 346, 96, 346, 346, 346, 494, 728, 494, 728, 98, 495, 495, 495, 495, 510, 98, 728, 728, 346, 496, 497, 346, 346, 728, 346, 430, 430, 430, 430, 431, 96, 431, 431, 431, 96, 96, 728, 499, 501, 350, 96, 350, 350, 350, 98, 498, 728, 431, 98, 98, 431, 431, 96, 431, 98, 96, 96, 350, 96, 96, 350, 350, 96, 350, 96, 96, 98, 96, 507, 98, 98, 96, 98, 98, 96, 500, 98, 96, 98, 98, 728, 98, 502, 96, 96, 98, 728, 96, 98, 96, 503, 98, 96, 96, 504, 96, 96, 98, 98, 511, 509, 98, 505, 98, 96, 506, 98, 98, 728, 98, 98, 508, 515, 96, 96, 512, 96, 96, 98, 96, 513, 514, 516, 517, 518, 728, 519, 98, 98, 524, 98, 98, 96, 98, 520, 96, 521, 526, 96, 522, 96, 523, 96, 96, 96, 96, 98, 96, 527, 98, 728, 525, 98, 96, 98, 96, 98, 98, 98, 98, 728, 98, 96, 728, 528, 529, 96, 98, 96, 98, 96, 96, 728, 96, 530, 96, 98, 531, 728, 96, 98, 96, 98, 532, 98, 98, 534, 98, 96, 98, 96, 96, 535, 98, 96, 98, 96, 96, 533, 728, 728, 728, 98, 96, 98, 98, 96, 96, 98, 96, 98, 98, 495, 495, 495, 495, 96, 98, 536, 728, 98, 98, 96, 98, 96, 539, 537, 96, 728, 538, 98, 542, 540, 541, 728, 545, 98, 96, 98, 96, 547, 98, 543, 96, 544, 495, 495, 495, 495, 728, 96, 98, 96, 98, 549, 96, 96, 98, 548, 427, 96, 427, 427, 427, 98, 546, 98, 550, 96, 98, 98, 96, 96, 96, 98, 728, 96, 427, 96, 728, 427, 427, 98, 427, 553, 98, 98, 98, 96, 551, 98, 96, 98, 552, 96, 555, 728, 554, 96, 96, 557, 96, 98, 728, 556, 98, 96, 96, 98, 96, 558, 728, 98, 98, 96, 98, 559, 560, 96, 562, 98, 98, 728, 98, 561, 563, 728, 96, 98, 564, 96, 728, 98, 96, 96, 96, 565, 728, 96, 96, 568, 98, 569, 96, 98, 566, 96, 98, 98, 98, 96, 567, 98, 98, 96, 728, 96, 98, 728, 96, 98, 96, 96, 96, 98, 96, 728, 96, 98, 572, 98, 570, 573, 98, 96, 98, 98, 98, 96, 98, 571, 98, 96, 728, 96, 577, 96, 728, 98, 96, 728, 575, 98, 96, 576, 574, 98, 580, 98, 96, 98, 581, 96, 98, 578, 96, 582, 98, 579, 96, 96, 583, 96, 98, 96, 728, 98, 728, 96, 98, 585, 728, 96, 98, 98, 96, 98, 584, 98, 590, 588, 589, 98, 96, 587, 592, 98, 96, 586, 98, 96, 591, 96, 96, 96, 96, 728, 98, 96, 96, 96, 98, 96, 593, 98, 96, 98, 98, 98, 98, 594, 596, 98, 98, 98, 595, 98, 728, 96, 98, 96, 96, 96, 728, 728, 598, 601, 96, 96, 728, 597, 603, 98, 96, 98, 98, 98, 599, 608, 728, 607, 98, 98, 602, 606, 96, 600, 98, 96, 604, 728, 96, 96, 605, 96, 96, 96, 96, 96, 98, 96, 96, 98, 96, 609, 98, 98, 96, 98, 98, 98, 98, 98, 611, 98, 98, 610, 98, 728, 96, 728, 98, 728, 728, 96, 96, 612, 614, 96, 96, 616, 96, 619, 98, 617, 728, 621, 622, 98, 98, 96, 96, 98, 98, 623, 98, 96, 615, 613, 618, 96, 96, 620, 96, 98, 98, 728, 624, 728, 728, 98, 626, 627, 96, 98, 98, 96, 98, 96, 96, 629, 96, 630, 628, 625, 96, 96, 98, 728, 96, 98, 96, 98, 98, 96, 98, 641, 96, 728, 98, 98, 96, 631, 98, 633, 98, 728, 632, 98, 96, 96, 98, 634, 96, 96, 98, 728, 96, 96, 96, 636, 635, 637, 98, 98, 96, 96, 98, 98, 96, 638, 98, 98, 98, 728, 728, 728, 96, 96, 98, 98, 96, 639, 98, 96, 643, 96, 642, 640, 644, 645, 98, 98, 646, 96, 98, 96, 96, 98, 96, 98, 96, 96, 728, 96, 728, 96, 728, 98, 648, 98, 98, 96, 98, 728, 98, 98, 649, 98, 651, 98, 647, 96, 654, 728, 96, 98, 728, 650, 728, 728, 96, 96, 652, 728, 656, 98, 653, 657, 98, 662, 658, 96, 659, 655, 98, 98, 96, 663, 96, 96, 96, 96, 96, 96, 96, 98, 96, 664, 96, 96, 98, 96, 98, 98, 98, 98, 98, 98, 98, 96, 98, 96, 98, 98, 96, 98, 728, 96, 665, 96, 96, 666, 728, 98, 728, 98, 728, 728, 98, 96, 669, 98, 674, 98, 98, 672, 675, 677, 667, 96, 676, 668, 96, 98, 670, 678, 671, 96, 673, 96, 96, 96, 728, 98, 681, 680, 98, 96, 96, 96, 728, 98, 96, 98, 98, 98, 679, 96, 96, 96, 683, 98, 98, 98, 682, 96, 98, 728, 96, 96, 684, 98, 98, 98, 728, 96, 96, 96, 96, 98, 96, 685, 98, 98, 96, 687, 96, 96, 689, 98, 98, 98, 98, 728, 98, 686, 688, 96, 98, 96, 98, 98, 690, 96, 728, 96, 728, 691, 693, 96, 695, 98, 96, 98, 728, 728, 96, 98, 692, 98, 694, 697, 96, 98, 96, 96, 98, 96, 696, 698, 98, 96, 96, 96, 699, 96, 98, 700, 98, 98, 701, 98, 703, 728, 728, 98, 98, 98, 96, 98, 96, 728, 702, 728, 706, 96, 96, 704, 705, 96, 96, 96, 98, 708, 98, 707, 728, 709, 728, 98, 98, 96, 714, 98, 98, 98, 96, 715, 711, 96, 710, 96, 712, 96, 96, 98, 96, 96, 728, 96, 98, 728, 713, 98, 96, 98, 718, 98, 98, 96, 98, 98, 716, 98, 728, 717, 728, 728, 98, 728, 728, 728, 719, 98, 728, 728, 728, 728, 728, 728, 728, 728, 722, 726, 724, 728, 728, 728, 728, 728, 727, 720, 721, 728, 728, 728, 728, 728, 723, 728, 728, 728, 728, 728, 728, 728, 725, 61, 61, 61, 61, 61, 61, 61, 61, 68, 68, 728, 68, 68, 68, 68, 68, 97, 728, 728, 728, 97, 97, 97, 168, 168, 168, 169, 169, 174, 174, 174, 174, 174, 174, 174, 174, 259, 259, 661, 728, 661, 661, 661, 3, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728
200 };
201
202 static const short int yy_chk[2680] =
203 {
204 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 13, 13, 14, 19, 661, 22, 21, 22, 22, 22, 22, 30, 30, 23, 32, 19, 21, 21, 23, 14, 40, 33, 25, 25, 25, 25, 23, 26, 32, 28, 61, 26, 641, 176, 40, 33, 10, 24, 57, 24, 24, 24, 24, 25, 28, 34, 28, 28, 39, 34, 34, 101, 24, 98, 47, 24, 24, 24, 96, 24, 24, 95, 39, 34, 43, 38, 91, 61, 47, 49, 24, 25, 33, 40, 24, 24, 41, 24, 43, 38, 42, 44, 97, 49, 57, 24, 38, 38, 24, 45, 41, 38, 85, 46, 42, 44, 97, 48, 39, 69, 76, 38, 39, 45, 39, 47, 38, 46, 69, 63, 38, 48, 43, 41, 43, 100, 68, 42, 42, 38, 41, 42, 49, 43, 41, 49, 44, 41, 42, 44, 45, 42, 44, 37, 48, 46, 50, 51, 48, 52, 45, 53, 46, 46, 29, 54, 99, 46, 68, 18, 50, 51, 100, 52, 107, 53, 83, 55, 83, 54, 99, 83, 83, 83, 83, 105, 103, 15, 107, 9, 104, 55, 174, 108, 109, 110, 3, 50, 51, 105, 103, 51, 51, 52, 104, 0, 53, 108, 109, 110, 54, 53, 51, 51, 55, 51, 54, 99, 111, 52, 0, 55, 77, 77, 77, 77, 84, 84, 84, 174, 84, 0, 111, 107, 105, 77, 77, 103, 77, 77, 77, 104, 0, 108, 0, 84, 84, 0, 84, 109, 0, 112, 0, 77, 77, 110, 84, 77, 77, 114, 77, 81, 81, 81, 81, 112, 113, 111, 118, 119, 0, 115, 116, 114, 81, 81, 117, 81, 81, 81, 113, 125, 118, 119, 121, 115, 116, 120, 0, 0, 117, 0, 81, 81, 0, 125, 81, 81, 121, 81, 82, 120, 82, 82, 82, 82, 112, 113, 115, 116, 0, 119, 0, 114, 119, 82, 122, 123, 82, 82, 82, 0, 82, 118, 119, 124, 117, 126, 127, 120, 122, 123, 121, 82, 0, 120, 125, 82, 82, 124, 82, 126, 127, 128, 129, 130, 131, 135, 82, 106, 0, 137, 141, 132, 134, 0, 169, 128, 129, 130, 131, 135, 133, 106, 136, 137, 141, 132, 134, 138, 169, 123, 122, 0, 0, 0, 133, 139, 136, 127, 126, 124, 0, 138, 140, 0, 106, 106, 106, 106, 106, 139, 0, 0, 106, 0, 128, 135, 140, 129, 130, 133, 106, 106, 106, 132, 106, 141, 134, 137, 133, 142, 143, 136, 138, 139, 144, 133, 146, 145, 138, 147, 148, 150, 0, 142, 143, 140, 149, 151, 144, 152, 146, 145, 140, 147, 148, 150, 140, 140, 153, 0, 149, 151, 154, 152, 165, 165, 165, 165, 194, 177, 0, 144, 153, 143, 144, 145, 154, 0, 0, 214, 142, 146, 194, 177, 147, 144, 150, 144, 188, 0, 0, 143, 148, 214, 152, 150, 149, 152, 0, 0, 151, 0, 188, 159, 173, 159, 0, 154, 159, 159, 159, 159, 160, 153, 160, 160, 160, 162, 173, 162, 177, 178, 162, 162, 162, 162, 0, 164, 164, 164, 160, 164, 188, 160, 160, 178, 160, 161, 161, 161, 161, 163, 183, 163, 163, 163, 164, 164, 188, 164, 161, 161, 173, 161, 161, 161, 183, 164, 0, 163, 179, 0, 163, 163, 0, 163, 0, 180, 161, 161, 178, 181, 161, 161, 179, 161, 166, 166, 166, 166, 168, 180, 184, 183, 0, 181, 0, 0, 0, 182, 166, 186, 166, 166, 166, 185, 184, 179, 168, 168, 168, 168, 168, 182, 0, 186, 0, 0, 166, 185, 0, 166, 166, 0, 166, 180, 187, 168, 168, 189, 168, 180, 180, 190, 168, 191, 0, 181, 168, 182, 187, 0, 186, 189, 192, 195, 193, 190, 196, 191, 182, 184, 197, 198, 199, 185, 200, 0, 192, 195, 193, 201, 196, 203, 202, 204, 197, 198, 199, 0, 200, 187, 0, 206, 0, 201, 207, 203, 202, 204, 189, 187, 193, 191, 192, 196, 205, 206, 190, 208, 207, 209, 0, 197, 0, 0, 195, 0, 201, 0, 205, 210, 204, 208, 211, 209, 198, 0, 199, 202, 200, 200, 212, 203, 206, 210, 215, 207, 211, 213, 216, 207, 217, 205, 218, 219, 212, 208, 220, 222, 215, 205, 209, 213, 216, 221, 217, 223, 218, 219, 0, 220, 220, 222, 224, 211, 225, 226, 227, 221, 210, 223, 228, 212, 224, 230, 213, 0, 224, 0, 225, 226, 227, 0, 0, 229, 228, 231, 232, 230, 219, 216, 222, 217, 233, 234, 221, 218, 223, 229, 235, 231, 232, 0, 236, 0, 238, 237, 233, 234, 239, 240, 0, 241, 235, 242, 227, 228, 236, 226, 238, 237, 243, 225, 239, 240, 229, 241, 244, 242, 230, 0, 0, 0, 245, 246, 243, 247, 248, 249, 250, 235, 244, 231, 0, 234, 237, 233, 245, 246, 240, 247, 248, 249, 250, 0, 251, 0, 238, 236, 0, 263, 0, 243, 0, 0, 239, 264, 241, 242, 251, 252, 252, 252, 252, 263, 249, 267, 248, 250, 246, 264, 266, 244, 265, 245, 253, 253, 253, 253, 0, 267, 247, 0, 0, 254, 266, 254, 265, 253, 254, 254, 254, 254, 251, 255, 0, 255, 255, 255, 256, 256, 256, 256, 0, 264, 0, 253, 257, 257, 257, 257, 267, 255, 0, 266, 255, 255, 270, 255, 258, 257, 258, 258, 258, 259, 265, 259, 259, 259, 259, 277, 270, 0, 283, 0, 269, 272, 258, 257, 0, 258, 258, 259, 258, 277, 259, 259, 283, 259, 269, 272, 0, 259, 260, 260, 260, 260, 261, 261, 261, 268, 261, 270, 260, 260, 260, 260, 260, 0, 260, 260, 260, 260, 277, 268, 0, 261, 261, 283, 261, 260, 260, 260, 260, 260, 260, 272, 261, 260, 260, 269, 260, 262, 271, 262, 260, 273, 262, 262, 262, 262, 274, 275, 278, 276, 281, 279, 271, 280, 268, 273, 282, 284, 285, 286, 274, 275, 278, 276, 281, 279, 0, 280, 287, 288, 282, 284, 285, 286, 0, 289, 290, 291, 292, 271, 273, 0, 287, 288, 0, 294, 293, 0, 278, 289, 290, 291, 292, 295, 297, 275, 284, 282, 281, 294, 293, 274, 275, 276, 279, 280, 296, 295, 297, 285, 0, 298, 0, 299, 300, 287, 0, 301, 0, 0, 296, 302, 303, 292, 293, 298, 294, 299, 300, 304, 290, 301, 291, 295, 305, 302, 303, 306, 307, 308, 310, 309, 311, 304, 296, 312, 313, 0, 305, 314, 297, 306, 307, 308, 310, 309, 311, 312, 315, 312, 313, 298, 316, 314, 318, 317, 301, 0, 299, 302, 319, 320, 315, 300, 321, 322, 316, 323, 318, 317, 0, 310, 324, 325, 319, 320, 327, 305, 321, 322, 326, 323, 311, 307, 309, 306, 324, 325, 0, 328, 327, 313, 317, 329, 326, 318, 330, 331, 332, 333, 0, 0, 315, 328, 0, 319, 0, 329, 0, 334, 330, 331, 332, 333, 325, 320, 335, 0, 322, 336, 323, 327, 321, 334, 0, 337, 328, 324, 338, 339, 335, 326, 340, 336, 341, 330, 342, 332, 333, 337, 0, 0, 338, 339, 0, 331, 340, 0, 341, 334, 342, 329, 343, 343, 343, 343, 0, 344, 344, 344, 344, 346, 354, 346, 346, 346, 355, 356, 337, 336, 344, 352, 352, 352, 352, 0, 354, 342, 341, 346, 355, 356, 346, 346, 338, 346, 0, 340, 344, 347, 357, 347, 0, 0, 347, 347, 347, 347, 348, 360, 348, 348, 348, 348, 357, 0, 350, 358, 350, 350, 350, 359, 356, 360, 355, 0, 348, 0, 361, 348, 348, 358, 348, 0, 350, 359, 348, 350, 350, 351, 350, 351, 361, 357, 351, 351, 351, 351, 353, 353, 353, 353, 0, 358, 362, 363, 364, 360, 366, 365, 0, 367, 353, 368, 353, 353, 353, 361, 362, 363, 364, 366, 366, 365, 359, 367, 369, 368, 370, 371, 353, 372, 373, 353, 353, 374, 353, 375, 376, 0, 369, 377, 370, 371, 0, 372, 373, 364, 378, 374, 379, 375, 376, 363, 365, 377, 0, 380, 362, 381, 0, 382, 378, 368, 379, 369, 367, 383, 372, 370, 371, 380, 384, 381, 375, 382, 376, 385, 386, 388, 387, 383, 373, 389, 378, 374, 384, 390, 391, 392, 393, 385, 386, 388, 387, 0, 381, 389, 394, 395, 397, 390, 391, 392, 393, 0, 0, 380, 383, 382, 396, 0, 394, 395, 397, 398, 399, 0, 400, 386, 384, 387, 401, 402, 396, 385, 392, 0, 390, 398, 399, 388, 400, 403, 404, 389, 401, 402, 391, 0, 405, 395, 406, 407, 404, 409, 408, 403, 404, 411, 410, 396, 413, 394, 405, 415, 406, 407, 412, 409, 408, 0, 402, 411, 410, 414, 413, 416, 399, 415, 417, 0, 412, 400, 0, 401, 418, 419, 0, 414, 420, 416, 0, 0, 417, 405, 408, 409, 403, 410, 418, 419, 406, 0, 420, 412, 421, 411, 422, 415, 423, 0, 414, 0, 0, 0, 417, 413, 0, 0, 421, 417, 422, 0, 423, 416, 0, 420, 424, 424, 424, 424, 429, 429, 429, 429, 433, 419, 427, 0, 427, 427, 427, 446, 432, 422, 0, 0, 0, 437, 433, 421, 425, 425, 425, 425, 427, 446, 432, 427, 427, 434, 427, 437, 0, 0, 425, 435, 425, 425, 425, 428, 0, 428, 0, 434, 428, 428, 428, 428, 446, 435, 0, 0, 425, 432, 433, 425, 425, 0, 425, 430, 430, 430, 430, 431, 436, 431, 431, 431, 438, 439, 0, 435, 437, 430, 440, 430, 430, 430, 436, 434, 0, 431, 438, 439, 431, 431, 441, 431, 440, 442, 443, 430, 444, 445, 430, 430, 447, 430, 448, 449, 441, 450, 443, 442, 443, 451, 444, 445, 452, 436, 447, 453, 448, 449, 0, 450, 438, 455, 454, 451, 0, 456, 452, 457, 439, 453, 458, 460, 440, 461, 459, 455, 454, 447, 445, 456, 441, 457, 462, 442, 458, 460, 0, 461, 459, 444, 451, 463, 464, 448, 465, 466, 462, 467, 449, 450, 452, 453, 454, 0, 454, 463, 464, 457, 465, 466, 468, 467, 454, 469, 454, 459, 470, 455, 471, 456, 472, 473, 474, 475, 468, 476, 460, 469, 0, 458, 470, 477, 471, 478, 472, 473, 474, 475, 0, 476, 479, 0, 463, 464, 480, 477, 481, 478, 482, 483, 0, 484, 467, 485, 479, 471, 0, 486, 480, 488, 481, 472, 482, 483, 475, 484, 487, 485, 490, 489, 477, 486, 491, 488, 492, 493, 473, 0, 0, 0, 487, 497, 490, 489, 496, 498, 491, 499, 492, 493, 494, 494, 494, 494, 500, 497, 482, 0, 496, 498, 501, 499, 502, 487, 483, 503, 0, 485, 500, 490, 488, 489, 0, 493, 501, 504, 502, 505, 497, 503, 491, 506, 492, 495, 495, 495, 495, 0, 507, 504, 508, 505, 500, 509, 510, 506, 498, 495, 511, 495, 495, 495, 507, 496, 508, 501, 512, 509, 510, 513, 514, 515, 511, 0, 516, 495, 517, 0, 495, 495, 512, 495, 506, 513, 514, 515, 518, 504, 516, 519, 517, 505, 520, 509, 0, 508, 521, 522, 511, 523, 518, 0, 510, 519, 524, 525, 520, 526, 512, 0, 521, 522, 527, 523, 513, 514, 528, 517, 524, 525, 0, 526, 516, 518, 0, 529, 527, 518, 530, 0, 528, 531, 532, 533, 519, 0, 534, 535, 522, 529, 523, 536, 530, 520, 537, 531, 532, 533, 538, 521, 534, 535, 539, 0, 541, 536, 0, 540, 537, 542, 543, 545, 538, 544, 0, 546, 539, 530, 541, 528, 531, 540, 547, 542, 543, 545, 548, 544, 529, 546, 549, 0, 550, 537, 552, 0, 547, 551, 0, 534, 548, 553, 535, 533, 549, 540, 550, 555, 552, 542, 554, 551, 538, 556, 544, 553, 539, 557, 558, 545, 559, 555, 560, 0, 554, 0, 561, 556, 548, 0, 562, 557, 558, 563, 559, 547, 560, 553, 551, 552, 561, 564, 550, 555, 562, 565, 549, 563, 566, 554, 567, 568, 570, 569, 0, 564, 571, 573, 572, 565, 574, 556, 566, 575, 567, 568, 570, 569, 559, 562, 571, 573, 572, 560, 574, 0, 576, 575, 577, 578, 579, 0, 0, 564, 566, 580, 581, 0, 563, 569, 576, 582, 577, 578, 579, 564, 574, 0, 573, 580, 581, 567, 572, 583, 565, 582, 584, 570, 0, 585, 586, 571, 587, 588, 590, 591, 589, 583, 592, 593, 584, 594, 577, 585, 586, 595, 587, 588, 590, 591, 589, 580, 592, 593, 579, 594, 0, 596, 0, 595, 0, 0, 597, 598, 583, 585, 599, 600, 587, 601, 590, 596, 588, 0, 592, 593, 597, 598, 602, 604, 599, 600, 594, 601, 603, 586, 584, 589, 605, 607, 591, 606, 602, 604, 0, 595, 0, 0, 603, 597, 598, 608, 605, 607, 609, 606, 610, 611, 600, 612, 601, 599, 596, 613, 614, 608, 0, 615, 609, 616, 610, 611, 617, 612, 617, 618, 0, 613, 614, 619, 602, 615, 606, 616, 0, 603, 617, 620, 621, 618, 608, 622, 623, 619, 0, 624, 625, 626, 611, 609, 614, 620, 621, 627, 628, 622, 623, 630, 615, 624, 625, 626, 0, 0, 0, 629, 631, 627, 628, 632, 616, 630, 633, 620, 634, 618, 616, 622, 623, 629, 631, 624, 635, 632, 636, 637, 633, 639, 634, 644, 638, 0, 642, 0, 640, 0, 635, 628, 636, 637, 643, 639, 0, 644, 638, 629, 642, 631, 640, 627, 645, 634, 0, 646, 643, 0, 630, 0, 0, 647, 648, 632, 0, 636, 645, 633, 638, 646, 642, 639, 649, 640, 635, 647, 648, 650, 643, 651, 652, 653, 654, 655, 656, 663, 649, 657, 645, 658, 664, 650, 659, 651, 652, 653, 654, 655, 656, 663, 662, 657, 665, 658, 664, 666, 659, 0, 667, 647, 668, 669, 648, 0, 662, 0, 665, 0, 0, 666, 670, 652, 667, 657, 668, 669, 655, 657, 659, 650, 671, 658, 651, 672, 670, 653, 662, 654, 673, 656, 674, 675, 676, 0, 671, 667, 666, 672, 678, 677, 680, 0, 673, 679, 674, 675, 676, 665, 681, 682, 683, 669, 678, 677, 680, 668, 684, 679, 0, 685, 686, 671, 681, 682, 683, 0, 687, 688, 689, 690, 684, 691, 675, 685, 686, 692, 677, 693, 694, 679, 687, 688, 689, 690, 0, 691, 676, 677, 695, 692, 696, 693, 694, 680, 697, 0, 698, 0, 681, 684, 699, 686, 695, 700, 696, 0, 0, 702, 697, 682, 698, 685, 688, 701, 699, 703, 704, 700, 705, 687, 689, 702, 706, 707, 708, 691, 709, 701, 693, 703, 704, 694, 705, 696, 0, 0, 706, 707, 708, 710, 709, 711, 0, 695, 0, 699, 712, 713, 697, 698, 714, 715, 717, 710, 701, 711, 700, 0, 702, 0, 712, 713, 716, 708, 714, 715, 717, 718, 709, 705, 719, 704, 720, 706, 721, 722, 716, 723, 724, 0, 725, 718, 0, 707, 719, 726, 720, 714, 721, 722, 727, 723, 724, 711, 725, 0, 712, 0, 0, 726, 0, 0, 0, 716, 727, 0, 0, 0, 0, 0, 0, 0, 0, 720, 724, 722, 0, 0, 0, 0, 0, 726, 718, 719, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 0, 723, 729, 729, 729, 729, 729, 729, 729, 729, 730, 730, 0, 730, 730, 730, 730, 730, 731, 0, 0, 0, 731, 731, 731, 732, 732, 732, 733, 733, 734, 734, 734, 734, 734, 734, 734, 734, 735, 735, 736, 0, 736, 736, 736, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 728
205 };
206
207 static yy_state_type yy_last_accepting_state;
208
209 static char * yy_last_accepting_cpos;
210
211 char * yytext;
212
213 enum yytokentype
214 {
215 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
216 };
217
218 unsigned int echoOn = 1;
219
220 int preprocessor();
221
222 int comment();
223
224 char sourceFileStack[30][797];
225
226 int declModeStack[30];
227
228 int include_stack_ptr = 0;
229
230 extern int yywrap(void);
231
232 static int input(void);
233
234 extern int defaultDeclMode;
235
236 extern int declMode;
237
238 extern int structDeclMode;
239
240 extern unsigned int inCompiler;
241
242 int yywrap()
243 {
244 return (1);
245 }
246
247 extern int yychar;
248
249 struct __ecereNameSpace__ecere__sys__BTNode;
250
251 struct __ecereNameSpace__ecere__sys__OldList
252 {
253 void *  first;
254 void *  last;
255 int count;
256 unsigned int offset;
257 unsigned int circ;
258 } ecere_gcc_struct;
259
260 struct Type;
261
262 struct __ecereNameSpace__ecere__com__DataValue
263 {
264 union
265 {
266 char c;
267 unsigned char uc;
268 short s;
269 unsigned short us;
270 int i;
271 unsigned int ui;
272 void *  p;
273 float f;
274 double d;
275 long long i64;
276 uint64 ui64;
277 } ecere_gcc_struct __anon1;
278 } ecere_gcc_struct;
279
280 struct __ecereNameSpace__ecere__com__SerialBuffer
281 {
282 unsigned char *  _buffer;
283 unsigned int count;
284 unsigned int _size;
285 unsigned int pos;
286 } ecere_gcc_struct;
287
288 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
289
290 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
291
292 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
293
294 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
295
296 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
297
298 struct Identifier;
299
300 struct Expression;
301
302 struct Specifier;
303
304 struct Enumerator;
305
306 struct Declarator;
307
308 struct Pointer;
309
310 struct Initializer;
311
312 struct InitDeclarator;
313
314 struct TypeName;
315
316 struct Declaration;
317
318 struct Statement;
319
320 struct FunctionDefinition;
321
322 struct External;
323
324 struct Context;
325
326 struct AsmField;
327
328 struct Attrib;
329
330 struct ExtDecl;
331
332 struct Attribute;
333
334 struct Instantiation;
335
336 struct MembersInit;
337
338 struct MemberInit;
339
340 struct ClassFunction;
341
342 struct ClassDefinition;
343
344 struct ClassDef;
345
346 struct PropertyDef;
347
348 struct Symbol;
349
350 struct PropertyWatch;
351
352 struct TemplateParameter;
353
354 struct TemplateArgument;
355
356 struct TemplateDatatype;
357
358 struct DBTableEntry;
359
360 struct DBIndexItem;
361
362 struct DBTableDef;
363
364 struct CodePosition
365 {
366 int line;
367 int charPos;
368 int pos;
369 int included;
370 } ecere_gcc_struct;
371
372 extern char *  strcpy(char * , const char * );
373
374 extern int check_type(void);
375
376 extern int printf(const char * , ...);
377
378 extern int yyerror(void);
379
380 extern int __ecereNameSpace__ecere__sys__GetValue(char * *  buffer);
381
382 extern unsigned int __ecereNameSpace__ecere__sys__GetString(char * *  buffer, char *  string, int max);
383
384 extern char *  __ecereNameSpace__ecere__sys__GetExtension(const char *  string, char *  output);
385
386 extern int strcmp(const char * , const char * );
387
388 extern int GetIncludeFileID(char *  includeFile);
389
390 extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(const char *  string, char *  output);
391
392 extern int strncmp(const char * , const char * , size_t n);
393
394 extern void *  memmove(void * , const void * , size_t size);
395
396 extern size_t strlen(const char * );
397
398 extern char *  strncpy(char * , const char * , size_t n);
399
400 extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
401
402 extern int FindIncludeFileID(char *  includeFile);
403
404 extern void *  memcpy(void * , const void * , size_t size);
405
406 struct __ecereNameSpace__ecere__com__GlobalFunction;
407
408 static void yy_flex_free(void * ptr)
409 {
410 free(ptr);
411 }
412
413 static void * yy_flex_alloc(yy_size_t size)
414 {
415 return (void *)malloc(size);
416 }
417
418 static void * yy_flex_realloc(void * ptr, yy_size_t size)
419 {
420 return (void *)realloc((char *)ptr, size);
421 }
422
423 static void yy_fatal_error(const char msg[])
424 {
425 (void)fprintf((bsl_stderr()), "%s\n", msg);
426 exit(2);
427 }
428
429 static YY_BUFFER_STATE yy_current_buffer = 0;
430
431 void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer);
432
433 YY_BUFFER_STATE yy_create_buffer(FILE * file, int size);
434
435 void yy_delete_buffer(YY_BUFFER_STATE b);
436
437 void yy_init_buffer(YY_BUFFER_STATE b, FILE * file);
438
439 void yy_flush_buffer(YY_BUFFER_STATE b);
440
441 YY_BUFFER_STATE yy_scan_buffer(char * base, yy_size_t size);
442
443 YY_BUFFER_STATE yy_scan_string(const char * yy_str);
444
445 YY_BUFFER_STATE yy_scan_bytes(const char * bytes, int len);
446
447 YY_BUFFER_STATE include_stack[30];
448
449 static yy_state_type yy_get_previous_state()
450 {
451 register yy_state_type yy_current_state;
452 register char * yy_cp;
453
454 yy_current_state = yy_start;
455 for(yy_cp = yytext + 0; yy_cp < yy_c_buf_p; ++yy_cp)
456 {
457 register YY_CHAR yy_c = (*yy_cp ? yy_ec[((unsigned int)(unsigned char)*yy_cp)] : 1);
458
459 if(yy_accept[yy_current_state])
460 {
461 yy_last_accepting_state = yy_current_state;
462 yy_last_accepting_cpos = yy_cp;
463 }
464 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
465 {
466 yy_current_state = (int)yy_def[yy_current_state];
467 if(yy_current_state >= 729)
468 yy_c = yy_meta[(unsigned int)yy_c];
469 }
470 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
471 }
472 return yy_current_state;
473 }
474
475 static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state)
476 {
477 register int yy_is_jam;
478 register char * yy_cp = yy_c_buf_p;
479 register YY_CHAR yy_c = 1;
480
481 if(yy_accept[yy_current_state])
482 {
483 yy_last_accepting_state = yy_current_state;
484 yy_last_accepting_cpos = yy_cp;
485 }
486 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
487 {
488 yy_current_state = (int)yy_def[yy_current_state];
489 if(yy_current_state >= 729)
490 yy_c = yy_meta[(unsigned int)yy_c];
491 }
492 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
493 yy_is_jam = (yy_current_state == 728);
494 return yy_is_jam ? 0 : yy_current_state;
495 }
496
497 void SetEchoOn(unsigned int b)
498 {
499 echoOn = b;
500 }
501
502 typedef union YYSTYPE
503 {
504 int specifierType;
505 int i;
506 int declMode;
507 struct Identifier * id;
508 struct Expression * exp;
509 struct Specifier * specifier;
510 struct __ecereNameSpace__ecere__sys__OldList * list;
511 struct Enumerator * enumerator;
512 struct Declarator * declarator;
513 struct Pointer * pointer;
514 struct Initializer * initializer;
515 struct InitDeclarator * initDeclarator;
516 struct TypeName * typeName;
517 struct Declaration * declaration;
518 struct Statement * stmt;
519 struct FunctionDefinition * function;
520 struct External * external;
521 struct Context * context;
522 struct AsmField * asmField;
523 struct Attrib * attrib;
524 struct ExtDecl * extDecl;
525 struct Attribute * attribute;
526 struct Instantiation * instance;
527 struct MembersInit * membersInit;
528 struct MemberInit * memberInit;
529 struct ClassFunction * classFunction;
530 struct ClassDefinition * _class;
531 struct ClassDef * classDef;
532 struct PropertyDef * prop;
533 char * string;
534 struct Symbol * symbol;
535 struct PropertyWatch * propertyWatch;
536 struct TemplateParameter * templateParameter;
537 struct TemplateArgument * templateArgument;
538 struct TemplateDatatype * templateDatatype;
539 struct DBTableEntry * dbtableEntry;
540 struct DBIndexItem * dbindexItem;
541 struct DBTableDef * dbtableDef;
542 } ecere_gcc_struct YYSTYPE;
543
544 extern YYSTYPE yylval;
545
546 struct Location
547 {
548 struct CodePosition start;
549 struct CodePosition end;
550 } ecere_gcc_struct;
551
552 void SetSomeSourceFileStack(const char * fileName, int index)
553 {
554 strcpy(sourceFileStack[index], fileName);
555 }
556
557 static int input()
558 {
559 int c;
560
561 *yy_c_buf_p = yy_hold_char;
562 if(*yy_c_buf_p == 0)
563 {
564 if(yy_c_buf_p < &(*yy_current_buffer).yy_ch_buf[yy_n_chars])
565 *yy_c_buf_p = '\0';
566 else
567 {
568 int offset = yy_c_buf_p - yytext;
569
570 ++yy_c_buf_p;
571 switch(yy_get_next_buffer())
572 {
573 case 2:
574 yyrestart(yyin);
575 case 1:
576 {
577 if(yywrap())
578 return (-1);
579 if(!yy_did_buffer_switch_on_eof)
580 yyrestart(yyin);
581 return input();
582 }
583 case 0:
584 yy_c_buf_p = yytext + offset;
585 break;
586 }
587 }
588 }
589 c = *(unsigned char *)yy_c_buf_p;
590 *yy_c_buf_p = '\0';
591 yy_hold_char = *++yy_c_buf_p;
592 return c;
593 }
594
595 void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
596 {
597 if(yy_current_buffer == new_buffer)
598 return ;
599 if(yy_current_buffer)
600 {
601 *yy_c_buf_p = yy_hold_char;
602 (*yy_current_buffer).yy_buf_pos = yy_c_buf_p;
603 (*yy_current_buffer).yy_n_chars = yy_n_chars;
604 }
605 yy_current_buffer = new_buffer;
606 yy_load_buffer_state();
607 yy_did_buffer_switch_on_eof = 1;
608 }
609
610 void yy_load_buffer_state(void)
611 {
612 yy_n_chars = (*yy_current_buffer).yy_n_chars;
613 yytext = yy_c_buf_p = (*yy_current_buffer).yy_buf_pos;
614 yyin = (*yy_current_buffer).yy_input_file;
615 yy_hold_char = *yy_c_buf_p;
616 }
617
618 void yy_delete_buffer(YY_BUFFER_STATE b)
619 {
620 if(!b)
621 return ;
622 if(b == yy_current_buffer)
623 yy_current_buffer = (YY_BUFFER_STATE)0;
624 if((*b).yy_is_our_buffer)
625 yy_flex_free((void *)(*b).yy_ch_buf);
626 yy_flex_free((void *)b);
627 }
628
629 void yy_flush_buffer(YY_BUFFER_STATE b)
630 {
631 if(!b)
632 return ;
633 (*b).yy_n_chars = 0;
634 (*b).yy_ch_buf[0] = 0;
635 (*b).yy_ch_buf[1] = 0;
636 (*b).yy_buf_pos = &(*b).yy_ch_buf[0];
637 (*b).yy_at_bol = 1;
638 (*b).yy_buffer_status = 0;
639 if(b == yy_current_buffer)
640 yy_load_buffer_state();
641 }
642
643 YY_BUFFER_STATE yy_scan_buffer(char * base, yy_size_t size)
644 {
645 YY_BUFFER_STATE b;
646
647 if(size < 2 || base[size - 2] != 0 || base[size - 1] != 0)
648 return 0;
649 b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
650 if(!b)
651 yy_fatal_error("out of dynamic memory in yy_scan_buffer()");
652 (*b).yy_buf_size = size - 2;
653 (*b).yy_buf_pos = (*b).yy_ch_buf = base;
654 (*b).yy_is_our_buffer = 0;
655 (*b).yy_input_file = 0;
656 (*b).yy_n_chars = (*b).yy_buf_size;
657 (*b).yy_is_interactive = 0;
658 (*b).yy_at_bol = 1;
659 (*b).yy_fill_buffer = 0;
660 (*b).yy_buffer_status = 0;
661 yy_switch_to_buffer(b);
662 return b;
663 }
664
665 void yyrestart(FILE * input_file)
666 {
667 if(!yy_current_buffer)
668 yy_current_buffer = yy_create_buffer(yyin, 16384);
669 yy_init_buffer(yy_current_buffer, input_file);
670 yy_load_buffer_state();
671 }
672
673 YY_BUFFER_STATE yy_create_buffer(FILE * file, int size)
674 {
675 YY_BUFFER_STATE b;
676
677 b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
678 if(!b)
679 yy_fatal_error("out of dynamic memory in yy_create_buffer()");
680 (*b).yy_buf_size = size;
681 (*b).yy_ch_buf = (char *)yy_flex_alloc((*b).yy_buf_size + 2);
682 if(!(*b).yy_ch_buf)
683 yy_fatal_error("out of dynamic memory in yy_create_buffer()");
684 (*b).yy_is_our_buffer = 1;
685 yy_init_buffer(b, file);
686 return b;
687 }
688
689 void yy_init_buffer(YY_BUFFER_STATE b, FILE * file)
690 {
691 yy_flush_buffer(b);
692 (*b).yy_input_file = file;
693 (*b).yy_fill_buffer = 1;
694 (*b).yy_is_interactive = 0;
695 }
696
697 YY_BUFFER_STATE yy_scan_bytes(const char * bytes, int len)
698 {
699 YY_BUFFER_STATE b;
700 char * buf;
701 yy_size_t n;
702 int i;
703
704 n = len + 2;
705 buf = (char *)yy_flex_alloc(n);
706 if(!buf)
707 yy_fatal_error("out of dynamic memory in yy_scan_bytes()");
708 for(i = 0; i < len; ++i)
709 buf[i] = bytes[i];
710 buf[len] = buf[len + 1] = 0;
711 b = yy_scan_buffer(buf, n);
712 if(!b)
713 yy_fatal_error("bad buffer in yy_scan_bytes()");
714 (*b).yy_is_our_buffer = 1;
715 return b;
716 }
717
718 YY_BUFFER_STATE yy_scan_string(const char * yy_str)
719 {
720 int len;
721
722 for(len = 0; yy_str[len]; ++len)
723 ;
724 return yy_scan_bytes(yy_str, len);
725 }
726
727 extern struct Location yylloc;
728
729 extern struct Location type_yylloc;
730
731 extern struct Location expression_yylloc;
732
733 struct Location locStack[30];
734
735 int comment()
736 {
737 int c, last = 0;
738
739 for(; ; )
740 {
741 c = input();
742 if(c == (-1))
743 break;
744 if(c == '\n')
745 {
746 yylloc.end.charPos = 1;
747 yylloc.end.pos++;
748 yylloc.end.line++;
749 }
750 else if(c == '\t')
751 {
752 yylloc.end.charPos++;
753 yylloc.end.pos++;
754 }
755 else
756 {
757 yylloc.end.charPos++;
758 yylloc.end.pos++;
759 }
760 if(c == '/' && last == '*')
761 break;
762 last = c;
763 }
764 yylloc.start = yylloc.end;
765 return 0;
766 }
767
768 int commentCPP()
769 {
770 int c;
771
772 for(; ; )
773 {
774 c = input();
775 if(c == (-1))
776 break;
777 if(c == '\n')
778 {
779 yylloc.end.charPos = 1;
780 yylloc.end.pos++;
781 yylloc.end.line++;
782 break;
783 }
784 else if(c == '\t')
785 {
786 yylloc.end.charPos++;
787 yylloc.end.pos++;
788 }
789 else
790 {
791 yylloc.end.charPos++;
792 yylloc.end.pos++;
793 }
794 }
795 yylloc.start = yylloc.end;
796 return 0;
797 }
798
799 void TESTTTT()
800 {
801 yylloc.end.charPos += yyleng;
802 yylloc.end.pos += yyleng;
803 type_yylloc.end.charPos += yyleng;
804 type_yylloc.end.pos += yyleng;
805 expression_yylloc.end.charPos += yyleng;
806 expression_yylloc.end.pos += yyleng;
807 }
808
809 void resetScanner()
810 {
811 yy_flush_buffer(yy_current_buffer);
812 yylloc.start.charPos = yylloc.end.charPos = 1;
813 yylloc.start.line = yylloc.end.line = 1;
814 yylloc.start.pos = yylloc.end.pos = 0;
815 yylloc.start.included = yylloc.end.included = 0;
816 expression_yylloc.start.charPos = expression_yylloc.end.charPos = 1;
817 expression_yylloc.start.line = expression_yylloc.end.line = 1;
818 expression_yylloc.start.pos = expression_yylloc.end.pos = 0;
819 expression_yylloc.start.included = expression_yylloc.end.included = 0;
820 type_yylloc.start.charPos = type_yylloc.end.charPos = 1;
821 type_yylloc.start.line = type_yylloc.end.line = 1;
822 type_yylloc.start.pos = type_yylloc.end.pos = 0;
823 type_yylloc.start.included = type_yylloc.end.included = 0;
824 include_stack_ptr = 0;
825 }
826
827 void resetScannerPos(struct CodePosition * pos)
828 {
829 yy_flush_buffer(yy_current_buffer);
830 yylloc.start = yylloc.end = *pos;
831 type_yylloc.start = type_yylloc.end = *pos;
832 expression_yylloc.start = expression_yylloc.end = *pos;
833 }
834
835 struct __ecereNameSpace__ecere__com__Class;
836
837 struct __ecereNameSpace__ecere__com__Instance
838 {
839 void * *  _vTbl;
840 struct __ecereNameSpace__ecere__com__Class * _class;
841 int _refCount;
842 } ecere_gcc_struct;
843
844 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
845
846 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
847
848 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
849
850 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
851
852 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
853
854 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
855
856 struct __ecereNameSpace__ecere__com__Instance * fileStack[30];
857
858 extern struct __ecereNameSpace__ecere__com__Instance * OpenIncludeFile(char *  includeFile);
859
860 struct LexerBackup
861 {
862 struct Location yylloc;
863 struct Location type_yylloc;
864 struct Location expression_yylloc;
865 int declMode;
866 int defaultDeclMode;
867 struct __ecereNameSpace__ecere__com__Instance * fileInput;
868 YY_BUFFER_STATE include_stack[30];
869 struct __ecereNameSpace__ecere__com__Instance * fileStack[30];
870 char sourceFileStack[30][797];
871 struct Location locStack[30];
872 int declModeStack[30];
873 int include_stack_ptr;
874 YY_BUFFER_STATE buffer;
875 int yy_n_chars;
876 char * yytext;
877 char * yy_c_buf_p;
878 FILE * yyin;
879 char yy_hold_char;
880 int yychar;
881 int yy_init;
882 int yy_start;
883 } ecere_gcc_struct;
884
885 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
886
887 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
888
889 int preprocessor()
890 {
891 int c, last = 0;
892 int count = 0;
893 char line[1024];
894
895 line[0] = '\0';
896 for(; ; )
897 {
898 c = input();
899 if(c == (-1))
900 break;
901 if(c == '\n')
902 {
903 yylloc.end.charPos = 1;
904 yylloc.end.pos++;
905 yylloc.end.line++;
906 if(last != '\\')
907 {
908 char * pointer = line + 1;
909 int lineNumber;
910
911 line[count] = 0;
912 lineNumber = __ecereNameSpace__ecere__sys__GetValue(&pointer);
913 if(lineNumber)
914 {
915 char fileName[797];
916 int inOut;
917
918 fileName[0] = 0;
919 __ecereNameSpace__ecere__sys__GetString(&pointer, fileName, (797));
920 inOut = __ecereNameSpace__ecere__sys__GetValue(&pointer);
921 if(inOut == 1)
922 {
923 char extension[17];
924
925 defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
926 __ecereNameSpace__ecere__sys__GetExtension(fileName, extension);
927 if(!strcmp(extension, "c") || !strcmp(extension, "h"))
928 declMode = defaultDeclMode = structDeclMode = 0;
929 fileStack[include_stack_ptr] = (((void *)0));
930 include_stack_ptr++;
931 }
932 else if(inOut == 2)
933 {
934 include_stack_ptr--;
935 defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
936 }
937 yylloc.end.charPos = 1;
938 yylloc.end.line = lineNumber;
939 if(include_stack_ptr > 0 || (lineNumber && fileName[0]))
940 yylloc.end.included = GetIncludeFileID(fileName);
941 else
942 yylloc.end.included = 0;
943 }
944 break;
945 }
946 count = 0;
947 }
948 else if(c == '\t')
949 {
950 yylloc.end.charPos++;
951 yylloc.end.pos++;
952 line[count++] = c;
953 }
954 else
955 {
956 yylloc.end.pos++;
957 if(c != '\r')
958 {
959 yylloc.end.charPos++;
960 line[count++] = c;
961 }
962 }
963 last = c;
964 }
965 yylloc.start = yylloc.end;
966 line[count] = 0;
967 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
968 for(c = 0; line[c] && line[c] != ' '; c++)
969 ;
970 if(!strncmp(line, "include", c))
971 {
972 char includeFile[797] = "";
973
974 memmove(line, line + c, strlen(line + c) + 1);
975 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
976 if(line[0] == '\"')
977 {
978 for(c = 1; line[c]; c++)
979 {
980 if(line[c] == '\"')
981 {
982 strncpy(includeFile, line + 1, c - 1);
983 includeFile[c - 1] = '\0';
984 break;
985 }
986 }
987 }
988 else if(line[0] == '<')
989 {
990 for(c = 1; line[c]; c++)
991 if(line[c] == '>')
992 {
993 strncpy(includeFile, line + 1, c - 1);
994 includeFile[c - 1] = '\0';
995 break;
996 }
997 }
998 if(include_stack_ptr >= (30))
999 {
1000 fprintf((bsl_stderr()), "%s", __ecereNameSpace__ecere__GetTranslatedString("ec", "Includes nested too deeply", (((void *)0))));
1001 exit(1);
1002 }
1003 if(inCompiler || !FindIncludeFileID(includeFile))
1004 {
1005 struct __ecereNameSpace__ecere__com__Instance * file = OpenIncludeFile(includeFile);
1006
1007 if(file)
1008 {
1009 char extension[17];
1010
1011 fileStack[include_stack_ptr] = fileInput;
1012 locStack[include_stack_ptr] = yylloc;
1013 defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
1014 include_stack[include_stack_ptr++] = yy_current_buffer;
1015 yylloc.start.charPos = yylloc.end.charPos = 1;
1016 yylloc.start.line = yylloc.end.line = 1;
1017 yylloc.start.pos = yylloc.end.pos = 0;
1018 yylloc.start.included = yylloc.end.included = GetIncludeFileID(includeFile);
1019 __ecereNameSpace__ecere__sys__GetExtension(includeFile, extension);
1020 if(!strcmp(extension, "c") || !strcmp(extension, "h"))
1021 declMode = defaultDeclMode = structDeclMode = 0;
1022 fileInput = file;
1023 yy_switch_to_buffer(yy_create_buffer(fileInput, 16384));
1024 yy_start = 1 + 2 * (0);
1025 }
1026 }
1027 }
1028 return 0;
1029 }
1030
1031 int yylex(void)
1032 {
1033 register yy_state_type yy_current_state;
1034 register char * yy_cp, * yy_bp;
1035 register int yy_act;
1036
1037 yylloc.start = yylloc.end;
1038 type_yylloc.start = type_yylloc.end;
1039 expression_yylloc.start = expression_yylloc.end;
1040 if(yy_init)
1041 {
1042 yy_init = 0;
1043 if(!yy_start)
1044 yy_start = 1;
1045 if(!yyin)
1046 yyin = (bsl_stdin());
1047 if(!yyout)
1048 yyout = (bsl_stdout());
1049 if(!yy_current_buffer)
1050 yy_current_buffer = yy_create_buffer(yyin, 16384);
1051 yy_load_buffer_state();
1052 }
1053 while(1)
1054 {
1055 yy_cp = yy_c_buf_p;
1056 *yy_cp = yy_hold_char;
1057 yy_bp = yy_cp;
1058 yy_current_state = yy_start;
1059 yy_match:
1060 do
1061 {
1062 register YY_CHAR yy_c = yy_ec[((unsigned int)(unsigned char)*yy_cp)];
1063
1064 if(yy_accept[yy_current_state])
1065 {
1066 yy_last_accepting_state = yy_current_state;
1067 yy_last_accepting_cpos = yy_cp;
1068 }
1069 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
1070 {
1071 yy_current_state = (int)yy_def[yy_current_state];
1072 if(yy_current_state >= 729)
1073 yy_c = yy_meta[(unsigned int)yy_c];
1074 }
1075 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
1076 ++yy_cp;
1077 }while(yy_base[yy_current_state] != 2603);
1078 yy_find_action:
1079 yy_act = yy_accept[yy_current_state];
1080 if(yy_act == 0)
1081 {
1082 yy_cp = yy_last_accepting_cpos;
1083 yy_current_state = yy_last_accepting_state;
1084 yy_act = yy_accept[yy_current_state];
1085 }
1086 yytext = yy_bp;
1087 yyleng = (int)(yy_cp - yy_bp);
1088 yy_hold_char = *yy_cp;
1089 *yy_cp = '\0';
1090 yy_c_buf_p = yy_cp;
1091 ;
1092 do_action:
1093 switch(yy_act)
1094 {
1095 case 0:
1096 *yy_cp = yy_hold_char;
1097 yy_cp = yy_last_accepting_cpos;
1098 yy_current_state = yy_last_accepting_state;
1099 goto yy_find_action;
1100 case 1:
1101 TESTTTT();
1102 {
1103 preprocessor();
1104 }
1105 break;
1106 case 2:
1107 TESTTTT();
1108 {
1109 comment();
1110 }
1111 break;
1112 case 3:
1113 TESTTTT();
1114 {
1115 commentCPP();
1116 }
1117 break;
1118 case 4:
1119 TESTTTT();
1120 {
1121 return (AUTO);
1122 }
1123 break;
1124 case 5:
1125 TESTTTT();
1126 {
1127 return (BREAK);
1128 }
1129 break;
1130 case 6:
1131 TESTTTT();
1132 {
1133 return (CASE);
1134 }
1135 break;
1136 case 7:
1137 TESTTTT();
1138 {
1139 return (CHAR);
1140 }
1141 break;
1142 case 8:
1143 TESTTTT();
1144 {
1145 return (CONST);
1146 }
1147 break;
1148 case 9:
1149 TESTTTT();
1150 {
1151 return (CONTINUE);
1152 }
1153 break;
1154 case 10:
1155 TESTTTT();
1156 {
1157 return (DEFAULT);
1158 }
1159 break;
1160 case 11:
1161 TESTTTT();
1162 {
1163 return (DO);
1164 }
1165 break;
1166 case 12:
1167 TESTTTT();
1168 {
1169 return (DOUBLE);
1170 }
1171 break;
1172 case 13:
1173 TESTTTT();
1174 {
1175 return (ELSE);
1176 }
1177 break;
1178 case 14:
1179 TESTTTT();
1180 {
1181 return (ENUM);
1182 }
1183 break;
1184 case 15:
1185 TESTTTT();
1186 {
1187 return (EXTERN);
1188 }
1189 break;
1190 case 16:
1191 TESTTTT();
1192 {
1193 return (FLOAT);
1194 }
1195 break;
1196 case 17:
1197 TESTTTT();
1198 {
1199 return (FOR);
1200 }
1201 break;
1202 case 18:
1203 TESTTTT();
1204 {
1205 return (GOTO);
1206 }
1207 break;
1208 case 19:
1209 TESTTTT();
1210 {
1211 return (IF);
1212 }
1213 break;
1214 case 20:
1215 TESTTTT();
1216 {
1217 return (INT);
1218 }
1219 break;
1220 case 21:
1221 TESTTTT();
1222 {
1223 return (UINT);
1224 }
1225 break;
1226 case 22:
1227 TESTTTT();
1228 {
1229 return (LONG);
1230 }
1231 break;
1232 case 23:
1233 TESTTTT();
1234 {
1235 return (REGISTER);
1236 }
1237 break;
1238 case 24:
1239 TESTTTT();
1240 {
1241 return (RETURN);
1242 }
1243 break;
1244 case 25:
1245 TESTTTT();
1246 {
1247 return (SHORT);
1248 }
1249 break;
1250 case 26:
1251 TESTTTT();
1252 {
1253 return (SIGNED);
1254 }
1255 break;
1256 case 27:
1257 TESTTTT();
1258 {
1259 return (SIGNED);
1260 }
1261 break;
1262 case 28:
1263 TESTTTT();
1264 {
1265 return (SIGNED);
1266 }
1267 break;
1268 case 29:
1269 TESTTTT();
1270 {
1271 return (SIZEOF);
1272 }
1273 break;
1274 case 30:
1275 TESTTTT();
1276 {
1277 return (ALIGNOF);
1278 }
1279 break;
1280 case 31:
1281 TESTTTT();
1282 {
1283 return (BUILTIN_OFFSETOF);
1284 }
1285 break;
1286 case 32:
1287 TESTTTT();
1288 {
1289 return (STATIC);
1290 }
1291 break;
1292 case 33:
1293 TESTTTT();
1294 {
1295 return (THREAD);
1296 }
1297 break;
1298 case 34:
1299 TESTTTT();
1300 {
1301 return (STRUCT);
1302 }
1303 break;
1304 case 35:
1305 TESTTTT();
1306 {
1307 return (SWITCH);
1308 }
1309 break;
1310 case 36:
1311 TESTTTT();
1312 {
1313 return (TYPEDEF);
1314 }
1315 break;
1316 case 37:
1317 TESTTTT();
1318 {
1319 return (UNION);
1320 }
1321 break;
1322 case 38:
1323 TESTTTT();
1324 {
1325 return (UNSIGNED);
1326 }
1327 break;
1328 case 39:
1329 TESTTTT();
1330 {
1331 return (VOID);
1332 }
1333 break;
1334 case 40:
1335 TESTTTT();
1336 {
1337 return (VOLATILE);
1338 }
1339 break;
1340 case 41:
1341 TESTTTT();
1342 {
1343 return (VOLATILE);
1344 }
1345 break;
1346 case 42:
1347 TESTTTT();
1348 {
1349 return (VOLATILE);
1350 }
1351 break;
1352 case 43:
1353 TESTTTT();
1354 {
1355 return (WHILE);
1356 }
1357 break;
1358 case 44:
1359 TESTTTT();
1360 {
1361 return (PROPERTY);
1362 }
1363 break;
1364 case 45:
1365 TESTTTT();
1366 {
1367 return (SETPROP);
1368 }
1369 break;
1370 case 46:
1371 TESTTTT();
1372 {
1373 return (GETPROP);
1374 }
1375 break;
1376 case 47:
1377 TESTTTT();
1378 {
1379 return (ISPROPSET);
1380 }
1381 break;
1382 case 48:
1383 TESTTTT();
1384 {
1385 return (CLASS);
1386 }
1387 break;
1388 case 49:
1389 TESTTTT();
1390 {
1391 return (THISCLASS);
1392 }
1393 break;
1394 case 50:
1395 TESTTTT();
1396 {
1397 return (VIRTUAL);
1398 }
1399 break;
1400 case 51:
1401 TESTTTT();
1402 {
1403 return (DELETE);
1404 }
1405 break;
1406 case 52:
1407 TESTTTT();
1408 {
1409 return (NEWOP);
1410 }
1411 break;
1412 case 53:
1413 TESTTTT();
1414 {
1415 return (NEW0OP);
1416 }
1417 break;
1418 case 54:
1419 TESTTTT();
1420 {
1421 return (RENEW);
1422 }
1423 break;
1424 case 55:
1425 TESTTTT();
1426 {
1427 return (RENEW0);
1428 }
1429 break;
1430 case 56:
1431 TESTTTT();
1432 {
1433 return (IMPORT);
1434 }
1435 break;
1436 case 57:
1437 TESTTTT();
1438 {
1439 return (DEFINE);
1440 }
1441 break;
1442 case 58:
1443 TESTTTT();
1444 {
1445 return (INT64);
1446 }
1447 break;
1448 case 59:
1449 TESTTTT();
1450 {
1451 return (INT64);
1452 }
1453 break;
1454 case 60:
1455 TESTTTT();
1456 {
1457 return (VALIST);
1458 }
1459 break;
1460 case 61:
1461 TESTTTT();
1462 {
1463 return (VAARG);
1464 }
1465 break;
1466 case 62:
1467 TESTTTT();
1468 {
1469 return (BOOL);
1470 }
1471 break;
1472 case 63:
1473 TESTTTT();
1474 {
1475 return (_BOOL);
1476 }
1477 break;
1478 case 64:
1479 TESTTTT();
1480 {
1481 return (_COMPLEX);
1482 }
1483 break;
1484 case 65:
1485 TESTTTT();
1486 {
1487 return (_IMAGINARY);
1488 }
1489 break;
1490 case 66:
1491 TESTTTT();
1492 {
1493 return (EXT_DECL);
1494 }
1495 break;
1496 case 67:
1497 TESTTTT();
1498 {
1499 return ATTRIB_DEP;
1500 }
1501 break;
1502 case 68:
1503 TESTTTT();
1504 {
1505 return ATTRIB;
1506 }
1507 break;
1508 case 69:
1509 TESTTTT();
1510 {
1511 return __ATTRIB;
1512 }
1513 break;
1514 case 70:
1515 TESTTTT();
1516 {
1517 return (EXT_STORAGE);
1518 }
1519 break;
1520 case 71:
1521 TESTTTT();
1522 {
1523 return (EXT_STORAGE);
1524 }
1525 break;
1526 case 72:
1527 TESTTTT();
1528 {
1529 return (EXT_STORAGE);
1530 }
1531 break;
1532 case 73:
1533 TESTTTT();
1534 {
1535 return (EXT_STORAGE);
1536 }
1537 break;
1538 case 74:
1539 TESTTTT();
1540 {
1541 return (EXT_STORAGE);
1542 }
1543 break;
1544 case 75:
1545 TESTTTT();
1546 {
1547 return (EXT_STORAGE);
1548 }
1549 break;
1550 case 76:
1551 TESTTTT();
1552 {
1553 return (EXT_STORAGE);
1554 }
1555 break;
1556 case 77:
1557 TESTTTT();
1558 {
1559 return (EXT_DECL);
1560 }
1561 break;
1562 case 78:
1563 TESTTTT();
1564 {
1565 return (EXT_DECL);
1566 }
1567 break;
1568 case 79:
1569 TESTTTT();
1570 {
1571 return (EXT_DECL);
1572 }
1573 break;
1574 case 80:
1575 TESTTTT();
1576 {
1577 return (EXT_DECL);
1578 }
1579 break;
1580 case 81:
1581 TESTTTT();
1582 {
1583 return (EXT_DECL);
1584 }
1585 break;
1586 case 82:
1587 TESTTTT();
1588 {
1589 return (EXT_DECL);
1590 }
1591 break;
1592 case 83:
1593 TESTTTT();
1594 {
1595 return (CONST);
1596 }
1597 break;
1598 case 84:
1599 TESTTTT();
1600 {
1601 return (EXT_DECL);
1602 }
1603 break;
1604 case 85:
1605 TESTTTT();
1606 {
1607 return (PUBLIC);
1608 }
1609 break;
1610 case 86:
1611 TESTTTT();
1612 {
1613 return (PRIVATE);
1614 }
1615 break;
1616 case 87:
1617 TESTTTT();
1618 {
1619 return (TYPED_OBJECT);
1620 }
1621 break;
1622 case 88:
1623 TESTTTT();
1624 {
1625 return (ANY_OBJECT);
1626 }
1627 break;
1628 case 89:
1629 TESTTTT();
1630 {
1631 return (_INCREF);
1632 }
1633 break;
1634 case 90:
1635 TESTTTT();
1636 {
1637 return (EXTENSION);
1638 }
1639 break;
1640 case 91:
1641 TESTTTT();
1642 {
1643 return (EXTENSION);
1644 }
1645 break;
1646 case 92:
1647 TESTTTT();
1648 {
1649 return (ASM);
1650 }
1651 break;
1652 case 93:
1653 TESTTTT();
1654 {
1655 return (ASM);
1656 }
1657 break;
1658 case 94:
1659 TESTTTT();
1660 {
1661 return (ASM);
1662 }
1663 break;
1664 case 95:
1665 TESTTTT();
1666 {
1667 return (TYPEOF);
1668 }
1669 break;
1670 case 96:
1671 TESTTTT();
1672 {
1673 return (WATCH);
1674 }
1675 break;
1676 case 97:
1677 TESTTTT();
1678 {
1679 return (STOPWATCHING);
1680 }
1681 break;
1682 case 98:
1683 TESTTTT();
1684 {
1685 return (FIREWATCHERS);
1686 }
1687 break;
1688 case 99:
1689 TESTTTT();
1690 {
1691 return (WATCHABLE);
1692 }
1693 break;
1694 case 100:
1695 TESTTTT();
1696 {
1697 return (CLASS_DESIGNER);
1698 }
1699 break;
1700 case 101:
1701 TESTTTT();
1702 {
1703 return (CLASS_NO_EXPANSION);
1704 }
1705 break;
1706 case 102:
1707 TESTTTT();
1708 {
1709 return (CLASS_FIXED);
1710 }
1711 break;
1712 case 103:
1713 TESTTTT();
1714 {
1715 return (CLASS_DEFAULT_PROPERTY);
1716 }
1717 break;
1718 case 104:
1719 TESTTTT();
1720 {
1721 return (PROPERTY_CATEGORY);
1722 }
1723 break;
1724 case 105:
1725 TESTTTT();
1726 {
1727 return (CLASS_DATA);
1728 }
1729 break;
1730 case 106:
1731 TESTTTT();
1732 {
1733 return (CLASS_PROPERTY);
1734 }
1735 break;
1736 case 107:
1737 TESTTTT();
1738 {
1739 return (SUBCLASS);
1740 }
1741 break;
1742 case 108:
1743 TESTTTT();
1744 {
1745 return (NAMESPACE);
1746 }
1747 break;
1748 case 109:
1749 TESTTTT();
1750 {
1751 return (DBTABLE);
1752 }
1753 break;
1754 case 110:
1755 TESTTTT();
1756 {
1757 return (DBFIELD);
1758 }
1759 break;
1760 case 111:
1761 TESTTTT();
1762 {
1763 return (DBINDEX);
1764 }
1765 break;
1766 case 112:
1767 TESTTTT();
1768 {
1769 return (DATABASE_OPEN);
1770 }
1771 break;
1772 case 113:
1773 TESTTTT();
1774 {
1775 return (check_type());
1776 }
1777 break;
1778 case 114:
1779 TESTTTT();
1780 {
1781 return (CONSTANT);
1782 }
1783 break;
1784 case 115:
1785 TESTTTT();
1786 {
1787 return (CONSTANT);
1788 }
1789 break;
1790 case 116:
1791 TESTTTT();
1792 {
1793 return (CONSTANT);
1794 }
1795 break;
1796 case 117:
1797 TESTTTT();
1798 {
1799 return (CONSTANT);
1800 }
1801 break;
1802 case 118:
1803 TESTTTT();
1804 {
1805 return (CONSTANT);
1806 }
1807 break;
1808 case 119:
1809 TESTTTT();
1810 {
1811 return (CONSTANT);
1812 }
1813 break;
1814 case 120:
1815 TESTTTT();
1816 {
1817 return (CONSTANT);
1818 }
1819 break;
1820 case 121:
1821 TESTTTT();
1822 {
1823 return (CONSTANT);
1824 }
1825 break;
1826 case 122:
1827 TESTTTT();
1828 {
1829 return (CONSTANT);
1830 }
1831 break;
1832 case 123:
1833 TESTTTT();
1834 {
1835 return (CONSTANT);
1836 }
1837 break;
1838 case 124:
1839 TESTTTT();
1840 {
1841 return (STRING_LITERAL);
1842 }
1843 break;
1844 case 125:
1845 TESTTTT();
1846 {
1847 return (WIDE_STRING_LITERAL);
1848 }
1849 break;
1850 case 126:
1851 TESTTTT();
1852 {
1853 return (ELLIPSIS);
1854 }
1855 break;
1856 case 127:
1857 TESTTTT();
1858 {
1859 return (RIGHT_ASSIGN);
1860 }
1861 break;
1862 case 128:
1863 TESTTTT();
1864 {
1865 return (LEFT_ASSIGN);
1866 }
1867 break;
1868 case 129:
1869 TESTTTT();
1870 {
1871 return (ADD_ASSIGN);
1872 }
1873 break;
1874 case 130:
1875 TESTTTT();
1876 {
1877 return (SUB_ASSIGN);
1878 }
1879 break;
1880 case 131:
1881 TESTTTT();
1882 {
1883 return (MUL_ASSIGN);
1884 }
1885 break;
1886 case 132:
1887 TESTTTT();
1888 {
1889 return (DIV_ASSIGN);
1890 }
1891 break;
1892 case 133:
1893 TESTTTT();
1894 {
1895 return (MOD_ASSIGN);
1896 }
1897 break;
1898 case 134:
1899 TESTTTT();
1900 {
1901 return (AND_ASSIGN);
1902 }
1903 break;
1904 case 135:
1905 TESTTTT();
1906 {
1907 return (XOR_ASSIGN);
1908 }
1909 break;
1910 case 136:
1911 TESTTTT();
1912 {
1913 return (OR_ASSIGN);
1914 }
1915 break;
1916 case 137:
1917 TESTTTT();
1918 {
1919 return (RIGHT_OP);
1920 }
1921 break;
1922 case 138:
1923 TESTTTT();
1924 {
1925 return (LEFT_OP);
1926 }
1927 break;
1928 case 139:
1929 TESTTTT();
1930 {
1931 return (INC_OP);
1932 }
1933 break;
1934 case 140:
1935 TESTTTT();
1936 {
1937 return (DEC_OP);
1938 }
1939 break;
1940 case 141:
1941 TESTTTT();
1942 {
1943 return (PTR_OP);
1944 }
1945 break;
1946 case 142:
1947 TESTTTT();
1948 {
1949 return (AND_OP);
1950 }
1951 break;
1952 case 143:
1953 TESTTTT();
1954 {
1955 return (OR_OP);
1956 }
1957 break;
1958 case 144:
1959 TESTTTT();
1960 {
1961 return (LE_OP);
1962 }
1963 break;
1964 case 145:
1965 TESTTTT();
1966 {
1967 return (GE_OP);
1968 }
1969 break;
1970 case 146:
1971 TESTTTT();
1972 {
1973 return (EQ_OP);
1974 }
1975 break;
1976 case 147:
1977 TESTTTT();
1978 {
1979 return (NE_OP);
1980 }
1981 break;
1982 case 148:
1983 TESTTTT();
1984 {
1985 return (';');
1986 }
1987 break;
1988 case 149:
1989 TESTTTT();
1990 {
1991 return ('{');
1992 }
1993 break;
1994 case 150:
1995 TESTTTT();
1996 {
1997 return ('}');
1998 }
1999 break;
2000 case 151:
2001 TESTTTT();
2002 {
2003 return (',');
2004 }
2005 break;
2006 case 152:
2007 TESTTTT();
2008 {
2009 return (':');
2010 }
2011 break;
2012 case 153:
2013 TESTTTT();
2014 {
2015 return ('=');
2016 }
2017 break;
2018 case 154:
2019 TESTTTT();
2020 {
2021 return ('(');
2022 }
2023 break;
2024 case 155:
2025 TESTTTT();
2026 {
2027 return (')');
2028 }
2029 break;
2030 case 156:
2031 TESTTTT();
2032 {
2033 return ('[');
2034 }
2035 break;
2036 case 157:
2037 TESTTTT();
2038 {
2039 return (']');
2040 }
2041 break;
2042 case 158:
2043 TESTTTT();
2044 {
2045 return ('.');
2046 }
2047 break;
2048 case 159:
2049 TESTTTT();
2050 {
2051 return ('&');
2052 }
2053 break;
2054 case 160:
2055 TESTTTT();
2056 {
2057 return ('!');
2058 }
2059 break;
2060 case 161:
2061 TESTTTT();
2062 {
2063 return ('~');
2064 }
2065 break;
2066 case 162:
2067 TESTTTT();
2068 {
2069 return ('-');
2070 }
2071 break;
2072 case 163:
2073 TESTTTT();
2074 {
2075 return ('+');
2076 }
2077 break;
2078 case 164:
2079 TESTTTT();
2080 {
2081 return ('*');
2082 }
2083 break;
2084 case 165:
2085 TESTTTT();
2086 {
2087 return ('/');
2088 }
2089 break;
2090 case 166:
2091 TESTTTT();
2092 {
2093 return ('%');
2094 }
2095 break;
2096 case 167:
2097 TESTTTT();
2098 {
2099 return ('<');
2100 }
2101 break;
2102 case 168:
2103 TESTTTT();
2104 {
2105 return ('>');
2106 }
2107 break;
2108 case 169:
2109 TESTTTT();
2110 {
2111 return ('^');
2112 }
2113 break;
2114 case 170:
2115 TESTTTT();
2116 {
2117 return ('|');
2118 }
2119 break;
2120 case 171:
2121 TESTTTT();
2122 {
2123 return ('?');
2124 }
2125 break;
2126 case 172:
2127 TESTTTT();
2128 {
2129 return ('$');
2130 }
2131 break;
2132 case 180:
2133 {
2134 while(include_stack_ptr && !fileStack[include_stack_ptr - 1])
2135 {
2136 --include_stack_ptr;
2137 defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
2138 }
2139 if(--include_stack_ptr < 0)
2140 {
2141 include_stack_ptr = 0;
2142 return 0;
2143 }
2144 else
2145 {
2146 (__ecereNameSpace__ecere__com__eInstance_DecRef(fileInput), fileInput = 0);
2147 yy_delete_buffer(yy_current_buffer);
2148 fileInput = fileStack[include_stack_ptr];
2149 yylloc = locStack[include_stack_ptr];
2150 type_yylloc = locStack[include_stack_ptr];
2151 expression_yylloc = locStack[include_stack_ptr];
2152 yy_switch_to_buffer(include_stack[include_stack_ptr]);
2153 defaultDeclMode = declMode = structDeclMode = declModeStack[include_stack_ptr];
2154 }
2155 }
2156 break;
2157 case 173:
2158 TESTTTT();
2159 {
2160 yylloc.start = yylloc.end;
2161 type_yylloc.start = type_yylloc.end;
2162 expression_yylloc.start = expression_yylloc.end;
2163 }
2164 break;
2165 case 174:
2166 TESTTTT();
2167 {
2168 yylloc.end.charPos = 1;
2169 yylloc.end.line += yyleng;
2170 yylloc.start = yylloc.end;
2171 type_yylloc.end.charPos = 1;
2172 type_yylloc.end.line += yyleng;
2173 type_yylloc.start = type_yylloc.end;
2174 expression_yylloc.end.charPos = 1;
2175 expression_yylloc.end.line += yyleng;
2176 expression_yylloc.start = expression_yylloc.end;
2177 }
2178 break;
2179 case 175:
2180 TESTTTT();
2181 {
2182 yylloc.start.charPos++;
2183 yylloc.end.charPos = yylloc.start.charPos;
2184 yylloc.start.pos = yylloc.end.pos;
2185 expression_yylloc.start.charPos++;
2186 expression_yylloc.end.charPos = expression_yylloc.start.charPos;
2187 expression_yylloc.start.pos = expression_yylloc.end.pos;
2188 type_yylloc.start.charPos++;
2189 type_yylloc.end.charPos = type_yylloc.start.charPos;
2190 type_yylloc.start.pos = type_yylloc.end.pos;
2191 }
2192 break;
2193 case 176:
2194 TESTTTT();
2195 {
2196 yylloc.start = yylloc.end;
2197 expression_yylloc.start = expression_yylloc.end;
2198 type_yylloc.start = type_yylloc.end;
2199 }
2200 break;
2201 case 177:
2202 TESTTTT();
2203 {
2204 yylloc.start = yylloc.end;
2205 expression_yylloc.start = expression_yylloc.end;
2206 type_yylloc.start = type_yylloc.end;
2207 if(inCompiler)
2208 printf("lexer error: invalid char 0x%X at line %d, col %d\n", (unsigned char)yytext[0], yylloc.start.line, yylloc.start.charPos);
2209 yyerror();
2210 }
2211 break;
2212 case 178:
2213 TESTTTT();
2214 (void)fwrite(yytext, yyleng, 1, yyout);
2215 break;
2216 case 179:
2217 {
2218 int yy_amount_of_matched_text = (int)(yy_cp - yytext) - 1;
2219
2220 *yy_cp = yy_hold_char;
2221 if((*yy_current_buffer).yy_buffer_status == 0)
2222 {
2223 yy_n_chars = (*yy_current_buffer).yy_n_chars;
2224 (*yy_current_buffer).yy_input_file = yyin;
2225 (*yy_current_buffer).yy_buffer_status = 1;
2226 }
2227 if(yy_c_buf_p <= &(*yy_current_buffer).yy_ch_buf[yy_n_chars])
2228 {
2229 yy_state_type yy_next_state;
2230
2231 yy_c_buf_p = yytext + yy_amount_of_matched_text;
2232 yy_current_state = yy_get_previous_state();
2233 yy_next_state = yy_try_NUL_trans(yy_current_state);
2234 yy_bp = yytext + 0;
2235 if(yy_next_state)
2236 {
2237 yy_cp = ++yy_c_buf_p;
2238 yy_current_state = yy_next_state;
2239 goto yy_match;
2240 }
2241 else
2242 {
2243 yy_cp = yy_c_buf_p;
2244 goto yy_find_action;
2245 }
2246 }
2247 else
2248 switch(yy_get_next_buffer())
2249 {
2250 case 1:
2251 {
2252 yy_did_buffer_switch_on_eof = 0;
2253 if(yywrap())
2254 {
2255 yy_c_buf_p = yytext + 0;
2256 yy_act = (179 + ((yy_start - 1) / 2) + 1);
2257 goto do_action;
2258 }
2259 else
2260 {
2261 if(!yy_did_buffer_switch_on_eof)
2262 yyrestart(yyin);
2263 }
2264 break;
2265 }
2266 case 0:
2267 yy_c_buf_p = yytext + yy_amount_of_matched_text;
2268 yy_current_state = yy_get_previous_state();
2269 yy_cp = yy_c_buf_p;
2270 yy_bp = yytext + 0;
2271 goto yy_match;
2272 case 2:
2273 yy_c_buf_p = &(*yy_current_buffer).yy_ch_buf[yy_n_chars];
2274 yy_current_state = yy_get_previous_state();
2275 yy_cp = yy_c_buf_p;
2276 yy_bp = yytext + 0;
2277 goto yy_find_action;
2278 }
2279 break;
2280 }
2281 default:
2282 yy_fatal_error("fatal flex scanner internal error--no action found");
2283 }
2284 }
2285 }
2286
2287 struct __ecereNameSpace__ecere__com__Property;
2288
2289 struct __ecereNameSpace__ecere__com__Property
2290 {
2291 struct __ecereNameSpace__ecere__com__Property * prev;
2292 struct __ecereNameSpace__ecere__com__Property * next;
2293 const char *  name;
2294 unsigned int isProperty;
2295 int memberAccess;
2296 int id;
2297 struct __ecereNameSpace__ecere__com__Class * _class;
2298 const char *  dataTypeString;
2299 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
2300 struct Type * dataType;
2301 void (*  Set)(void * , int);
2302 int (*  Get)(void * );
2303 unsigned int (*  IsSet)(void * );
2304 void *  data;
2305 void *  symbol;
2306 int vid;
2307 unsigned int conversion;
2308 unsigned int watcherOffset;
2309 const char *  category;
2310 unsigned int compiled;
2311 unsigned int selfWatchable;
2312 unsigned int isWatchable;
2313 } ecere_gcc_struct;
2314
2315 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
2316
2317 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);
2318
2319 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
2320
2321 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
2322
2323 struct __ecereNameSpace__ecere__sys__BinaryTree;
2324
2325 struct __ecereNameSpace__ecere__sys__BinaryTree
2326 {
2327 struct __ecereNameSpace__ecere__sys__BTNode * root;
2328 int count;
2329 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
2330 void (*  FreeKey)(void *  key);
2331 } ecere_gcc_struct;
2332
2333 struct __ecereNameSpace__ecere__com__Method;
2334
2335 struct __ecereNameSpace__ecere__com__Method
2336 {
2337 const char *  name;
2338 struct __ecereNameSpace__ecere__com__Method * parent;
2339 struct __ecereNameSpace__ecere__com__Method * left;
2340 struct __ecereNameSpace__ecere__com__Method * right;
2341 int depth;
2342 int (*  function)();
2343 int vid;
2344 int type;
2345 struct __ecereNameSpace__ecere__com__Class * _class;
2346 void *  symbol;
2347 const char *  dataTypeString;
2348 struct Type * dataType;
2349 int memberAccess;
2350 } ecere_gcc_struct;
2351
2352 struct __ecereNameSpace__ecere__com__DataMember;
2353
2354 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
2355 {
2356 union
2357 {
2358 struct
2359 {
2360 const char *  dataTypeString;
2361 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
2362 } ecere_gcc_struct __anon1;
2363 struct __ecereNameSpace__ecere__com__DataValue expression;
2364 struct
2365 {
2366 const char *  memberString;
2367 union
2368 {
2369 struct __ecereNameSpace__ecere__com__DataMember * member;
2370 struct __ecereNameSpace__ecere__com__Property * prop;
2371 struct __ecereNameSpace__ecere__com__Method * method;
2372 } ecere_gcc_struct __anon1;
2373 } ecere_gcc_struct __anon2;
2374 } ecere_gcc_struct __anon1;
2375 } ecere_gcc_struct;
2376
2377 struct __ecereNameSpace__ecere__com__DataMember
2378 {
2379 struct __ecereNameSpace__ecere__com__DataMember * prev;
2380 struct __ecereNameSpace__ecere__com__DataMember * next;
2381 const char *  name;
2382 unsigned int isProperty;
2383 int memberAccess;
2384 int id;
2385 struct __ecereNameSpace__ecere__com__Class * _class;
2386 const char *  dataTypeString;
2387 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
2388 struct Type * dataType;
2389 int type;
2390 int offset;
2391 int memberID;
2392 struct __ecereNameSpace__ecere__sys__OldList members;
2393 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
2394 int memberOffset;
2395 short structAlignment;
2396 short pointerAlignment;
2397 } ecere_gcc_struct;
2398
2399 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
2400
2401 struct __ecereNameSpace__ecere__com__Module;
2402
2403 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
2404
2405 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
2406
2407 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
2408
2409 struct __ecereNameSpace__ecere__com__NameSpace;
2410
2411 struct __ecereNameSpace__ecere__com__NameSpace
2412 {
2413 const char *  name;
2414 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
2415 struct __ecereNameSpace__ecere__com__NameSpace *  left;
2416 struct __ecereNameSpace__ecere__com__NameSpace *  right;
2417 int depth;
2418 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
2419 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
2420 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
2421 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
2422 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
2423 } ecere_gcc_struct;
2424
2425 struct __ecereNameSpace__ecere__com__Class
2426 {
2427 struct __ecereNameSpace__ecere__com__Class * prev;
2428 struct __ecereNameSpace__ecere__com__Class * next;
2429 const char *  name;
2430 int offset;
2431 int structSize;
2432 void * *  _vTbl;
2433 int vTblSize;
2434 unsigned int (*  Constructor)(void * );
2435 void (*  Destructor)(void * );
2436 int offsetClass;
2437 int sizeClass;
2438 struct __ecereNameSpace__ecere__com__Class * base;
2439 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
2440 struct __ecereNameSpace__ecere__sys__BinaryTree members;
2441 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
2442 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
2443 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
2444 struct __ecereNameSpace__ecere__sys__OldList derivatives;
2445 int memberID;
2446 int startMemberID;
2447 int type;
2448 struct __ecereNameSpace__ecere__com__Instance * module;
2449 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
2450 const char *  dataTypeString;
2451 struct Type * dataType;
2452 int typeSize;
2453 int defaultAlignment;
2454 void (*  Initialize)();
2455 int memberOffset;
2456 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
2457 const char *  designerClass;
2458 unsigned int noExpansion;
2459 const char *  defaultProperty;
2460 unsigned int comRedefinition;
2461 int count;
2462 int isRemote;
2463 unsigned int internalDecl;
2464 void *  data;
2465 unsigned int computeSize;
2466 short structAlignment;
2467 short pointerAlignment;
2468 int destructionWatchOffset;
2469 unsigned int fixed;
2470 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
2471 int inheritanceAccess;
2472 const char *  fullName;
2473 void *  symbol;
2474 struct __ecereNameSpace__ecere__sys__OldList conversions;
2475 struct __ecereNameSpace__ecere__sys__OldList templateParams;
2476 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
2477 struct __ecereNameSpace__ecere__com__Class * templateClass;
2478 struct __ecereNameSpace__ecere__sys__OldList templatized;
2479 int numParams;
2480 unsigned int isInstanceClass;
2481 unsigned int byValueSystemClass;
2482 } ecere_gcc_struct;
2483
2484 struct __ecereNameSpace__ecere__com__Application
2485 {
2486 int argc;
2487 const char * *  argv;
2488 int exitCode;
2489 unsigned int isGUIApp;
2490 struct __ecereNameSpace__ecere__sys__OldList allModules;
2491 char *  parsedCommand;
2492 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
2493 } ecere_gcc_struct;
2494
2495 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_yy_buffer_state;
2496
2497 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_LexerBackup;
2498
2499 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
2500
2501 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
2502
2503 struct __ecereNameSpace__ecere__com__Module
2504 {
2505 struct __ecereNameSpace__ecere__com__Instance * application;
2506 struct __ecereNameSpace__ecere__sys__OldList classes;
2507 struct __ecereNameSpace__ecere__sys__OldList defines;
2508 struct __ecereNameSpace__ecere__sys__OldList functions;
2509 struct __ecereNameSpace__ecere__sys__OldList modules;
2510 struct __ecereNameSpace__ecere__com__Instance * prev;
2511 struct __ecereNameSpace__ecere__com__Instance * next;
2512 const char *  name;
2513 void *  library;
2514 void *  Unload;
2515 int importType;
2516 int origImportType;
2517 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
2518 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
2519 } ecere_gcc_struct;
2520
2521 struct __ecereNameSpace__ecere__com__Instance * pushLexer()
2522 {
2523 struct __ecereNameSpace__ecere__com__Instance * backup = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_LexerBackup);
2524
2525 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yylloc = yylloc;
2526 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->type_yylloc = type_yylloc;
2527 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->expression_yylloc = expression_yylloc;
2528 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->fileInput = fileInput;
2529 memcpy(((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->include_stack, include_stack, sizeof (include_stack));
2530 memcpy(((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->fileStack, fileStack, sizeof (fileStack));
2531 memcpy(((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->sourceFileStack, sourceFileStack, sizeof (sourceFileStack));
2532 memcpy(((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->locStack, locStack, sizeof (locStack));
2533 memcpy(((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declModeStack, declModeStack, sizeof (declModeStack));
2534 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->include_stack_ptr = include_stack_ptr;
2535 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->defaultDeclMode = defaultDeclMode;
2536 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declMode = declMode;
2537 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->buffer = yy_current_buffer;
2538 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_n_chars = yy_n_chars;
2539 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yytext = yytext;
2540 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_c_buf_p = yy_c_buf_p;
2541 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yyin = yyin;
2542 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_hold_char = yy_hold_char;
2543 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yychar = yychar;
2544 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_init = yy_init;
2545 ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_start = yy_start;
2546 yy_init = 1;
2547 yy_current_buffer = 0;
2548 yylloc.start.charPos = yylloc.end.charPos = 1;
2549 yylloc.start.line = yylloc.end.line = 1;
2550 yylloc.start.pos = yylloc.end.pos = 0;
2551 yylloc.start.included = yylloc.end.included = 0;
2552 expression_yylloc.start.charPos = expression_yylloc.end.charPos = 1;
2553 expression_yylloc.start.line = expression_yylloc.end.line = 1;
2554 expression_yylloc.start.pos = expression_yylloc.end.pos = 0;
2555 expression_yylloc.start.included = expression_yylloc.end.included = 0;
2556 type_yylloc.start.charPos = type_yylloc.end.charPos = 1;
2557 type_yylloc.start.line = type_yylloc.end.line = 1;
2558 type_yylloc.start.pos = type_yylloc.end.pos = 0;
2559 type_yylloc.start.included = type_yylloc.end.included = 0;
2560 include_stack_ptr = 0;
2561 return backup;
2562 }
2563
2564 void popLexer(struct __ecereNameSpace__ecere__com__Instance * backup)
2565 {
2566 yylloc = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yylloc;
2567 type_yylloc = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->type_yylloc;
2568 expression_yylloc = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->expression_yylloc;
2569 fileInput = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->fileInput;
2570 memcpy(include_stack, ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->include_stack, sizeof (include_stack));
2571 memcpy(fileStack, ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->fileStack, sizeof (fileStack));
2572 memcpy(sourceFileStack, ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->sourceFileStack, sizeof (sourceFileStack));
2573 memcpy(locStack, ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->locStack, sizeof (locStack));
2574 memcpy(declModeStack, ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declModeStack, sizeof (declModeStack));
2575 include_stack_ptr = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->include_stack_ptr;
2576 defaultDeclMode = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->defaultDeclMode;
2577 declMode = structDeclMode = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->declMode;
2578 yy_current_buffer = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->buffer;
2579 yy_n_chars = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_n_chars;
2580 yytext = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yytext;
2581 yy_c_buf_p = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_c_buf_p;
2582 yyin = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yyin;
2583 yy_hold_char = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_hold_char;
2584 yychar = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yychar;
2585 yy_init = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_init;
2586 yy_start = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->offset)))->yy_start;
2587 (__ecereNameSpace__ecere__com__eInstance_DecRef(backup), backup = 0);
2588 }
2589
2590 static int yy_get_next_buffer()
2591 {
2592 register char * dest = (*yy_current_buffer).yy_ch_buf;
2593 register char * source = yytext;
2594 register int number_to_move, i;
2595 int ret_val;
2596
2597 if(yy_c_buf_p > &(*yy_current_buffer).yy_ch_buf[yy_n_chars + 1])
2598 yy_fatal_error("fatal flex scanner internal error--end of buffer missed");
2599 if((*yy_current_buffer).yy_fill_buffer == 0)
2600 {
2601 if(yy_c_buf_p - yytext - 0 == 1)
2602 {
2603 return 1;
2604 }
2605 else
2606 {
2607 return 2;
2608 }
2609 }
2610 number_to_move = (int)(yy_c_buf_p - yytext) - 1;
2611 for(i = 0; i < number_to_move; ++i)
2612 *(dest++) = *(source++);
2613 if((*yy_current_buffer).yy_buffer_status == 2)
2614 (*yy_current_buffer).yy_n_chars = yy_n_chars = 0;
2615 else
2616 {
2617 int num_to_read = (*yy_current_buffer).yy_buf_size - number_to_move - 1;
2618
2619 while(num_to_read <= 0)
2620 {
2621 YY_BUFFER_STATE b = yy_current_buffer;
2622 int yy_c_buf_p_offset = (int)(yy_c_buf_p - (*b).yy_ch_buf);
2623
2624 if((*b).yy_is_our_buffer)
2625 {
2626 int new_size = (*b).yy_buf_size * 2;
2627
2628 if(new_size <= 0)
2629 (*b).yy_buf_size += (*b).yy_buf_size / 8;
2630 else
2631 (*b).yy_buf_size *= 2;
2632 (*b).yy_ch_buf = (char *)yy_flex_realloc((void *)(*b).yy_ch_buf, (*b).yy_buf_size + 2);
2633 }
2634 else
2635 (*b).yy_ch_buf = 0;
2636 if(!(*b).yy_ch_buf)
2637 yy_fatal_error("fatal error - scanner input buffer overflow");
2638 yy_c_buf_p = &(*b).yy_ch_buf[yy_c_buf_p_offset];
2639 num_to_read = (*yy_current_buffer).yy_buf_size - number_to_move - 1;
2640 }
2641 if(num_to_read > 8192)
2642 num_to_read = 8192;
2643 yy_n_chars = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
2644 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
2645
2646 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
2647 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(fileInput, (&(*yy_current_buffer).yy_ch_buf[number_to_move]), 1, num_to_read);
2648 (*yy_current_buffer).yy_n_chars = yy_n_chars;
2649 }
2650 if(yy_n_chars == 0)
2651 {
2652 if(number_to_move == 0)
2653 {
2654 ret_val = 1;
2655 yyrestart(yyin);
2656 }
2657 else
2658 {
2659 ret_val = 2;
2660 (*yy_current_buffer).yy_buffer_status = 2;
2661 }
2662 }
2663 else
2664 ret_val = 0;
2665 yy_n_chars += number_to_move;
2666 (*yy_current_buffer).yy_ch_buf[yy_n_chars] = 0;
2667 (*yy_current_buffer).yy_ch_buf[yy_n_chars + 1] = 0;
2668 yytext = &(*yy_current_buffer).yy_ch_buf[0];
2669 return ret_val;
2670 }
2671
2672 void __ecereUnregisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
2673 {
2674
2675 }
2676
2677 void __ecereRegisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
2678 {
2679 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
2680
2681 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "yy_buffer_state", 0, sizeof(struct yy_buffer_state), 0, (void *)0, (void *)0, module, 2, 1);
2682 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
2683 __ecereClass_yy_buffer_state = class;
2684 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_input_file", "void *", sizeof(void *), 0xF000F000, 1);
2685 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_ch_buf", "char *", sizeof(void *), 0xF000F000, 1);
2686 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buf_pos", "char *", sizeof(void *), 0xF000F000, 1);
2687 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buf_size", "uint", 4, 4, 1);
2688 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_n_chars", "int", 4, 4, 1);
2689 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_is_our_buffer", "int", 4, 4, 1);
2690 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_is_interactive", "int", 4, 4, 1);
2691 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_at_bol", "int", 4, 4, 1);
2692 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_fill_buffer", "int", 4, 4, 1);
2693 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buffer_status", "int", 4, 4, 1);
2694 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetEchoOn", "void SetEchoOn(bool b)", SetEchoOn, module, 1);
2695 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("TESTTTT", "void TESTTTT(void)", TESTTTT, module, 2);
2696 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSomeSourceFileStack", "void SetSomeSourceFileStack(const char * fileName, int index)", SetSomeSourceFileStack, module, 1);
2697 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("yywrap", "int yywrap(void)", yywrap, module, 2);
2698 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("comment", "int comment(void)", comment, module, 2);
2699 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("commentCPP", "int commentCPP(void)", commentCPP, module, 2);
2700 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("preprocessor", "int preprocessor(void)", preprocessor, module, 2);
2701 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("resetScanner", "void resetScanner(void)", resetScanner, module, 1);
2702 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("resetScannerPos", "void resetScannerPos(CodePosition pos)", resetScannerPos, module, 2);
2703 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "LexerBackup", 0, sizeof(struct LexerBackup), 0, (void *)0, (void *)0, module, 2, 1);
2704 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
2705 __ecereClass_LexerBackup = class;
2706 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("pushLexer", "LexerBackup pushLexer(void)", pushLexer, module, 2);
2707 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("popLexer", "void popLexer(LexerBackup backup)", popLexer, module, 2);
2708 }
2709