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