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