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