compiler: Updated bootstrap, precompiled parsers and i18n templates
[sdk] / compiler / bootstrap / libec / bootstrap / lexer.c
1 #if defined(__GNUC__)
2 typedef long long int64;
3 typedef unsigned long long uint64;
4 #ifndef _WIN32
5 #define __declspec(x)
6 #endif
7 #elif defined(__TINYC__)
8 #include <stdarg.h>
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
12 #ifdef _WIN32
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
16 #else
17 #define __declspec(x)
18 #endif
19 typedef long long int64;
20 typedef unsigned long long uint64;
21 #else
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
24 #endif
25 #ifdef __BIG_ENDIAN__
26 #define __ENDIAN_PAD(x) (8 - (x))
27 #else
28 #define __ENDIAN_PAD(x) 0
29 #endif
30 #ifdef __MINGW32__
31 #ifdef _WIN64
32 typedef unsigned long long int uintptr_t;
33 typedef long long int intptr_t;
34 #else
35 typedef unsigned int uintptr_t;
36 typedef int intptr_t;
37 #endif
38 #else
39 #include <stdint.h>
40 #endif
41 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
42
43 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
48
49 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
50
51 struct __ecereNameSpace__ecere__sys__BTNode;
52
53 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
54
55 struct __ecereNameSpace__ecere__sys__BinaryTree
56 {
57 struct __ecereNameSpace__ecere__sys__BTNode * root;
58 int count;
59 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
60 void (*  FreeKey)(void *  key);
61 } __attribute__ ((gcc_struct));
62
63 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
64
65 struct __ecereNameSpace__ecere__sys__OldList
66 {
67 void *  first;
68 void *  last;
69 int count;
70 unsigned int offset;
71 unsigned int circ;
72 } __attribute__ ((gcc_struct));
73
74 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
75
76 struct __ecereNameSpace__ecere__com__Method
77 {
78 char *  name;
79 struct __ecereNameSpace__ecere__com__Method * parent;
80 struct __ecereNameSpace__ecere__com__Method * left;
81 struct __ecereNameSpace__ecere__com__Method * right;
82 int depth;
83 int (*  function)();
84 int vid;
85 int type;
86 struct __ecereNameSpace__ecere__com__Class * _class;
87 void *  symbol;
88 char *  dataTypeString;
89 struct Type * dataType;
90 int memberAccess;
91 } __attribute__ ((gcc_struct));
92
93 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
94
95 struct __ecereNameSpace__ecere__com__Property
96 {
97 struct __ecereNameSpace__ecere__com__Property * prev;
98 struct __ecereNameSpace__ecere__com__Property * next;
99 char *  name;
100 unsigned int isProperty;
101 int memberAccess;
102 int id;
103 struct __ecereNameSpace__ecere__com__Class * _class;
104 char *  dataTypeString;
105 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
106 struct Type * dataType;
107 void (*  Set)();
108 int (*  Get)();
109 unsigned int (*  IsSet)();
110 void *  data;
111 void *  symbol;
112 int vid;
113 unsigned int conversion;
114 unsigned int watcherOffset;
115 char *  category;
116 unsigned int compiled;
117 unsigned int selfWatchable;
118 unsigned int isWatchable;
119 } __attribute__ ((gcc_struct));
120
121 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
122
123 struct CodePosition
124 {
125 int line;
126 int charPos;
127 int pos;
128 unsigned int included;
129 } __attribute__ ((gcc_struct));
130
131 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
132
133 struct Location
134 {
135 struct CodePosition start;
136 struct CodePosition end;
137 } __attribute__ ((gcc_struct));
138
139 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
140
141 struct Attrib;
142
143 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
144
145 struct ExtDecl;
146
147 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
148
149 struct ClassDefinition;
150
151 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
152
153 struct Context;
154
155 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
156
157 struct Instantiation;
158
159 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
160
161 struct Declaration;
162
163 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
164
165 struct Statement;
166
167 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
168
169 struct TypeName;
170
171 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
172
173 struct Initializer;
174
175 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
176
177 struct __ecereNameSpace__ecere__com__DataValue
178 {
179 union
180 {
181 char c;
182 unsigned char uc;
183 short s;
184 unsigned short us;
185 int i;
186 unsigned int ui;
187 void *  p;
188 float f;
189 double d;
190 long long i64;
191 uint64 ui64;
192 } __attribute__ ((gcc_struct));
193 } __attribute__ ((gcc_struct));
194
195 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
196
197 struct Expression;
198
199 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
200
201 struct TemplateDatatype;
202
203 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
204
205 struct TemplateArgument;
206
207 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
208
209 struct TemplateParameter;
210
211 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
212
213 struct Specifier;
214
215 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
216
217 struct Identifier;
218
219 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
220
221 struct Pointer;
222
223 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
224
225 struct Declarator;
226
227 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
228
229 struct FunctionDefinition;
230
231 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
232
233 struct DBTableDef;
234
235 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
236
237 struct External;
238
239 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
240
241 struct ModuleImport;
242
243 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
244
245 struct ClassImport;
246
247 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
248
249 struct Symbol;
250
251 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
252
253 struct Type;
254
255 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
256
257 struct __ecereNameSpace__ecere__com__Class
258 {
259 struct __ecereNameSpace__ecere__com__Class * prev;
260 struct __ecereNameSpace__ecere__com__Class * next;
261 char *  name;
262 int offset;
263 int structSize;
264 int (* *  _vTbl)();
265 int vTblSize;
266 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
267 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
268 int offsetClass;
269 int sizeClass;
270 struct __ecereNameSpace__ecere__com__Class * base;
271 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
272 struct __ecereNameSpace__ecere__sys__BinaryTree members;
273 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
274 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
275 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
276 struct __ecereNameSpace__ecere__sys__OldList derivatives;
277 int memberID;
278 int startMemberID;
279 int type;
280 struct __ecereNameSpace__ecere__com__Instance * module;
281 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
282 char *  dataTypeString;
283 struct Type * dataType;
284 int typeSize;
285 int defaultAlignment;
286 void (*  Initialize)();
287 int memberOffset;
288 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
289 char *  designerClass;
290 unsigned int noExpansion;
291 char *  defaultProperty;
292 unsigned int comRedefinition;
293 int count;
294 unsigned int isRemote;
295 unsigned int internalDecl;
296 void *  data;
297 unsigned int computeSize;
298 int structAlignment;
299 int destructionWatchOffset;
300 unsigned int fixed;
301 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
302 int inheritanceAccess;
303 char *  fullName;
304 void *  symbol;
305 struct __ecereNameSpace__ecere__sys__OldList conversions;
306 struct __ecereNameSpace__ecere__sys__OldList templateParams;
307 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
308 struct __ecereNameSpace__ecere__com__Class * templateClass;
309 struct __ecereNameSpace__ecere__sys__OldList templatized;
310 int numParams;
311 } __attribute__ ((gcc_struct));
312
313 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
314
315 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
316
317 struct __ecereNameSpace__ecere__com__Instance
318 {
319 int (* *  _vTbl)();
320 struct __ecereNameSpace__ecere__com__Class * _class;
321 int _refCount;
322 } __attribute__ ((gcc_struct));
323
324 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
325
326 struct __ecereNameSpace__ecere__com__DataMember
327 {
328 struct __ecereNameSpace__ecere__com__DataMember * prev;
329 struct __ecereNameSpace__ecere__com__DataMember * next;
330 char *  name;
331 unsigned int isProperty;
332 int memberAccess;
333 int id;
334 struct __ecereNameSpace__ecere__com__Class * _class;
335 char *  dataTypeString;
336 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
337 struct Type * dataType;
338 int type;
339 int offset;
340 int memberID;
341 struct __ecereNameSpace__ecere__sys__OldList members;
342 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
343 int memberOffset;
344 int structAlignment;
345 } __attribute__ ((gcc_struct));
346
347 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
348
349 struct __ecereNameSpace__ecere__com__SerialBuffer
350 {
351 unsigned char *  _buffer;
352 unsigned int count;
353 unsigned int _size;
354 unsigned int pos;
355 } __attribute__ ((gcc_struct));
356
357 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
358
359 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
360 {
361 union
362 {
363 struct
364 {
365 char *  dataTypeString;
366 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
367 } __attribute__ ((gcc_struct));
368 struct __ecereNameSpace__ecere__com__DataValue expression;
369 struct
370 {
371 char *  memberString;
372 union
373 {
374 struct __ecereNameSpace__ecere__com__DataMember * member;
375 struct __ecereNameSpace__ecere__com__Property * prop;
376 struct __ecereNameSpace__ecere__com__Method * method;
377 } __attribute__ ((gcc_struct));
378 } __attribute__ ((gcc_struct));
379 } __attribute__ ((gcc_struct));
380 } __attribute__ ((gcc_struct));
381
382 typedef unsigned int size_t;
383
384 void exit(int status);
385
386 void * calloc(size_t nmemb, size_t size);
387
388 void free(void * ptr);
389
390 void * malloc(size_t size);
391
392 void * realloc(void * ptr, size_t size);
393
394 long int strtol(const char * nptr, char ** endptr, int base);
395
396 long long int strtoll(const char * nptr, char ** endptr, int base);
397
398 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
399
400 typedef __builtin_va_list __gnuc_va_list;
401
402 typedef __gnuc_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[10];
694
695 struct __ecereNameSpace__ecere__com__Instance * fileStack[10];
696
697 char sourceFileStack[10][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[10];
707
708 int declModeStack[10];
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 if(--include_stack_ptr < 0)
1766 {
1767 return 0;
1768 }
1769 else
1770 {
1771 (__ecereNameSpace__ecere__com__eInstance_DecRef(fileInput), fileInput = 0);
1772 yy_delete_buffer(yy_current_buffer);
1773 fileInput = fileStack[include_stack_ptr];
1774 yylloc = locStack[include_stack_ptr];
1775 type_yylloc = locStack[include_stack_ptr];
1776 expression_yylloc = locStack[include_stack_ptr];
1777 yy_switch_to_buffer(include_stack[include_stack_ptr]);
1778 defaultDeclMode = declMode = declModeStack[include_stack_ptr];
1779 }
1780 }
1781 break;
1782 case 162:
1783 TESTTTT();
1784 {
1785 yylloc.start = yylloc.end;
1786 type_yylloc.start = type_yylloc.end;
1787 expression_yylloc.start = expression_yylloc.end;
1788 }
1789 break;
1790 case 163:
1791 TESTTTT();
1792 {
1793 yylloc.end.charPos = 1;
1794 yylloc.end.line += yyleng;
1795 yylloc.start = yylloc.end;
1796 type_yylloc.end.charPos = 1;
1797 type_yylloc.end.line += yyleng;
1798 type_yylloc.start = type_yylloc.end;
1799 expression_yylloc.end.charPos = 1;
1800 expression_yylloc.end.line += yyleng;
1801 expression_yylloc.start = expression_yylloc.end;
1802 }
1803 break;
1804 case 164:
1805 TESTTTT();
1806 {
1807 yylloc.start.charPos++;
1808 yylloc.end.charPos = yylloc.start.charPos;
1809 yylloc.start.pos = yylloc.end.pos;
1810 expression_yylloc.start.charPos++;
1811 expression_yylloc.end.charPos = expression_yylloc.start.charPos;
1812 expression_yylloc.start.pos = expression_yylloc.end.pos;
1813 type_yylloc.start.charPos++;
1814 type_yylloc.end.charPos = type_yylloc.start.charPos;
1815 type_yylloc.start.pos = type_yylloc.end.pos;
1816 }
1817 break;
1818 case 165:
1819 TESTTTT();
1820 {
1821 yylloc.start = yylloc.end;
1822 expression_yylloc.start = expression_yylloc.end;
1823 type_yylloc.start = type_yylloc.end;
1824 }
1825 break;
1826 case 166:
1827 TESTTTT();
1828 (void)fwrite(yytext, yyleng, 1, yyout);
1829 break;
1830 case 167:
1831 {
1832 int yy_amount_of_matched_text = (int)(yy_cp - yytext) - 1;
1833
1834 *yy_cp = yy_hold_char;
1835 if((*yy_current_buffer).yy_buffer_status == 0)
1836 {
1837 yy_n_chars = (*yy_current_buffer).yy_n_chars;
1838 (*yy_current_buffer).yy_input_file = yyin;
1839 (*yy_current_buffer).yy_buffer_status = 1;
1840 }
1841 if(yy_c_buf_p <= &(*yy_current_buffer).yy_ch_buf[yy_n_chars])
1842 {
1843 yy_state_type yy_next_state;
1844
1845 yy_c_buf_p = yytext + yy_amount_of_matched_text;
1846 yy_current_state = yy_get_previous_state();
1847 yy_next_state = yy_try_NUL_trans(yy_current_state);
1848 yy_bp = yytext + 0;
1849 if(yy_next_state)
1850 {
1851 yy_cp = ++yy_c_buf_p;
1852 yy_current_state = yy_next_state;
1853 goto yy_match;
1854 }
1855 else
1856 {
1857 yy_cp = yy_c_buf_p;
1858 goto yy_find_action;
1859 }
1860 }
1861 else
1862 switch(yy_get_next_buffer())
1863 {
1864 case 1:
1865 {
1866 yy_did_buffer_switch_on_eof = 0;
1867 if(yywrap())
1868 {
1869 yy_c_buf_p = yytext + 0;
1870 yy_act = (167 + ((yy_start - 1) / 2) + 1);
1871 goto do_action;
1872 }
1873 else
1874 {
1875 if(!yy_did_buffer_switch_on_eof)
1876 yyrestart(yyin);
1877 }
1878 break;
1879 }
1880 case 0:
1881 yy_c_buf_p = yytext + yy_amount_of_matched_text;
1882 yy_current_state = yy_get_previous_state();
1883 yy_cp = yy_c_buf_p;
1884 yy_bp = yytext + 0;
1885 goto yy_match;
1886 case 2:
1887 yy_c_buf_p = &(*yy_current_buffer).yy_ch_buf[yy_n_chars];
1888 yy_current_state = yy_get_previous_state();
1889 yy_cp = yy_c_buf_p;
1890 yy_bp = yytext + 0;
1891 goto yy_find_action;
1892 }
1893 break;
1894 }
1895 default:
1896 yy_fatal_error("fatal flex scanner internal error--no action found");
1897 }
1898 }
1899 }
1900
1901 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
1902
1903 static int yy_get_next_buffer()
1904 {
1905 register char * dest = (*yy_current_buffer).yy_ch_buf;
1906 register char * source = yytext;
1907 register int number_to_move, i;
1908 int ret_val;
1909
1910 if(yy_c_buf_p > &(*yy_current_buffer).yy_ch_buf[yy_n_chars + 1])
1911 yy_fatal_error("fatal flex scanner internal error--end of buffer missed");
1912 if((*yy_current_buffer).yy_fill_buffer == 0)
1913 {
1914 if(yy_c_buf_p - yytext - 0 == 1)
1915 {
1916 return 1;
1917 }
1918 else
1919 {
1920 return 2;
1921 }
1922 }
1923 number_to_move = (int)(yy_c_buf_p - yytext) - 1;
1924 for(i = 0; i < number_to_move; ++i)
1925 *(dest++) = *(source++);
1926 if((*yy_current_buffer).yy_buffer_status == 2)
1927 (*yy_current_buffer).yy_n_chars = yy_n_chars = 0;
1928 else
1929 {
1930 int num_to_read = (*yy_current_buffer).yy_buf_size - number_to_move - 1;
1931
1932 while(num_to_read <= 0)
1933 {
1934 YY_BUFFER_STATE b = yy_current_buffer;
1935 int yy_c_buf_p_offset = (int)(yy_c_buf_p - (*b).yy_ch_buf);
1936
1937 if((*b).yy_is_our_buffer)
1938 {
1939 int new_size = (*b).yy_buf_size * 2;
1940
1941 if(new_size <= 0)
1942 (*b).yy_buf_size += (*b).yy_buf_size / 8;
1943 else
1944 (*b).yy_buf_size *= 2;
1945 (*b).yy_ch_buf = (char *)yy_flex_realloc((void *)(*b).yy_ch_buf, (*b).yy_buf_size + 2);
1946 }
1947 else
1948 (*b).yy_ch_buf = 0;
1949 if(!(*b).yy_ch_buf)
1950 yy_fatal_error("fatal error - scanner input buffer overflow");
1951 yy_c_buf_p = &(*b).yy_ch_buf[yy_c_buf_p_offset];
1952 num_to_read = (*yy_current_buffer).yy_buf_size - number_to_move - 1;
1953 }
1954 if(num_to_read > 8192)
1955 num_to_read = 8192;
1956 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);
1957 (*yy_current_buffer).yy_n_chars = yy_n_chars;
1958 }
1959 if(yy_n_chars == 0)
1960 {
1961 if(number_to_move == 0)
1962 {
1963 ret_val = 1;
1964 yyrestart(yyin);
1965 }
1966 else
1967 {
1968 ret_val = 2;
1969 (*yy_current_buffer).yy_buffer_status = 2;
1970 }
1971 }
1972 else
1973 ret_val = 0;
1974 yy_n_chars += number_to_move;
1975 (*yy_current_buffer).yy_ch_buf[yy_n_chars] = (char)0;
1976 (*yy_current_buffer).yy_ch_buf[yy_n_chars + 1] = (char)0;
1977 yytext = &(*yy_current_buffer).yy_ch_buf[0];
1978 return ret_val;
1979 }
1980
1981 static yy_state_type yy_get_previous_state()
1982 {
1983 register yy_state_type yy_current_state;
1984 register char * yy_cp;
1985
1986 yy_current_state = yy_start;
1987 for(yy_cp = yytext + 0; yy_cp < yy_c_buf_p; ++yy_cp)
1988 {
1989 register YY_CHAR yy_c = (*yy_cp ? yy_ec[((unsigned int)(unsigned char)*yy_cp)] : (unsigned char)1);
1990
1991 if(yy_accept[yy_current_state])
1992 {
1993 yy_last_accepting_state = yy_current_state;
1994 yy_last_accepting_cpos = yy_cp;
1995 }
1996 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
1997 {
1998 yy_current_state = (int)yy_def[yy_current_state];
1999 if(yy_current_state >= 661)
2000 yy_c = yy_meta[(unsigned int)yy_c];
2001 }
2002 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
2003 }
2004 return yy_current_state;
2005 }
2006
2007 static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state)
2008 {
2009 register int yy_is_jam;
2010 register char * yy_cp = yy_c_buf_p;
2011 register YY_CHAR yy_c = (unsigned char)1;
2012
2013 if(yy_accept[yy_current_state])
2014 {
2015 yy_last_accepting_state = yy_current_state;
2016 yy_last_accepting_cpos = yy_cp;
2017 }
2018 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
2019 {
2020 yy_current_state = (int)yy_def[yy_current_state];
2021 if(yy_current_state >= 661)
2022 yy_c = yy_meta[(unsigned int)yy_c];
2023 }
2024 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
2025 yy_is_jam = (yy_current_state == 660);
2026 return yy_is_jam ? 0 : yy_current_state;
2027 }
2028
2029 static void yyunput(int c, register char * yy_bp)
2030 {
2031 register char * yy_cp = yy_c_buf_p;
2032
2033 *yy_cp = yy_hold_char;
2034 if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
2035 {
2036 register int number_to_move = yy_n_chars + 2;
2037 register char * dest = &(*yy_current_buffer).yy_ch_buf[(*yy_current_buffer).yy_buf_size + 2];
2038 register char * source = &(*yy_current_buffer).yy_ch_buf[number_to_move];
2039
2040 while(source > (*yy_current_buffer).yy_ch_buf)
2041 *--dest = *--source;
2042 yy_cp += (int)(dest - source);
2043 yy_bp += (int)(dest - source);
2044 (*yy_current_buffer).yy_n_chars = yy_n_chars = (*yy_current_buffer).yy_buf_size;
2045 if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
2046 yy_fatal_error("flex scanner push-back overflow");
2047 }
2048 *--yy_cp = (char)c;
2049 yytext = yy_bp;
2050 yy_hold_char = *yy_cp;
2051 yy_c_buf_p = yy_cp;
2052 }
2053
2054 static int input()
2055 {
2056 int c;
2057
2058 *yy_c_buf_p = yy_hold_char;
2059 if(*yy_c_buf_p == (char)0)
2060 {
2061 if(yy_c_buf_p < &(*yy_current_buffer).yy_ch_buf[yy_n_chars])
2062 *yy_c_buf_p = '\0';
2063 else
2064 {
2065 int offset = yy_c_buf_p - yytext;
2066
2067 ++yy_c_buf_p;
2068 switch(yy_get_next_buffer())
2069 {
2070 case 2:
2071 yyrestart(yyin);
2072 case 1:
2073 {
2074 if(yywrap())
2075 return (-1);
2076 if(!yy_did_buffer_switch_on_eof)
2077 yyrestart(yyin);
2078 return input();
2079 }
2080 case 0:
2081 yy_c_buf_p = yytext + offset;
2082 break;
2083 }
2084 }
2085 }
2086 c = *(unsigned char *)yy_c_buf_p;
2087 *yy_c_buf_p = '\0';
2088 yy_hold_char = *++yy_c_buf_p;
2089 return c;
2090 }
2091
2092 void yyrestart(FILE * input_file)
2093 {
2094 if(!yy_current_buffer)
2095 yy_current_buffer = yy_create_buffer(yyin, 16384);
2096 yy_init_buffer(yy_current_buffer, input_file);
2097 yy_load_buffer_state();
2098 }
2099
2100 void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
2101 {
2102 if(yy_current_buffer == new_buffer)
2103 return ;
2104 if(yy_current_buffer)
2105 {
2106 *yy_c_buf_p = yy_hold_char;
2107 (*yy_current_buffer).yy_buf_pos = yy_c_buf_p;
2108 (*yy_current_buffer).yy_n_chars = yy_n_chars;
2109 }
2110 yy_current_buffer = new_buffer;
2111 yy_load_buffer_state();
2112 yy_did_buffer_switch_on_eof = 1;
2113 }
2114
2115 void yy_load_buffer_state(void)
2116 {
2117 yy_n_chars = (*yy_current_buffer).yy_n_chars;
2118 yytext = yy_c_buf_p = (*yy_current_buffer).yy_buf_pos;
2119 yyin = (*yy_current_buffer).yy_input_file;
2120 yy_hold_char = *yy_c_buf_p;
2121 }
2122
2123 YY_BUFFER_STATE yy_create_buffer(FILE * file, int size)
2124 {
2125 YY_BUFFER_STATE b;
2126
2127 b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
2128 if(!b)
2129 yy_fatal_error("out of dynamic memory in yy_create_buffer()");
2130 (*b).yy_buf_size = size;
2131 (*b).yy_ch_buf = (char *)yy_flex_alloc((*b).yy_buf_size + 2);
2132 if(!(*b).yy_ch_buf)
2133 yy_fatal_error("out of dynamic memory in yy_create_buffer()");
2134 (*b).yy_is_our_buffer = 1;
2135 yy_init_buffer(b, file);
2136 return b;
2137 }
2138
2139 void yy_delete_buffer(YY_BUFFER_STATE b)
2140 {
2141 if(!b)
2142 return ;
2143 if(b == yy_current_buffer)
2144 yy_current_buffer = (YY_BUFFER_STATE)0;
2145 if((*b).yy_is_our_buffer)
2146 yy_flex_free((void *)(*b).yy_ch_buf);
2147 yy_flex_free((void *)b);
2148 }
2149
2150 void yy_init_buffer(YY_BUFFER_STATE b, FILE * file)
2151 {
2152 yy_flush_buffer(b);
2153 (*b).yy_input_file = file;
2154 (*b).yy_fill_buffer = 1;
2155 (*b).yy_is_interactive = 0;
2156 }
2157
2158 void yy_flush_buffer(YY_BUFFER_STATE b)
2159 {
2160 if(!b)
2161 return ;
2162 (*b).yy_n_chars = 0;
2163 (*b).yy_ch_buf[0] = (char)0;
2164 (*b).yy_ch_buf[1] = (char)0;
2165 (*b).yy_buf_pos = &(*b).yy_ch_buf[0];
2166 (*b).yy_at_bol = 1;
2167 (*b).yy_buffer_status = 0;
2168 if(b == yy_current_buffer)
2169 yy_load_buffer_state();
2170 }
2171
2172 YY_BUFFER_STATE yy_scan_buffer(char * base, yy_size_t size)
2173 {
2174 YY_BUFFER_STATE b;
2175
2176 if(size < 2 || base[size - 2] != (char)0 || base[size - 1] != (char)0)
2177 return 0;
2178 b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
2179 if(!b)
2180 yy_fatal_error("out of dynamic memory in yy_scan_buffer()");
2181 (*b).yy_buf_size = size - 2;
2182 (*b).yy_buf_pos = (*b).yy_ch_buf = base;
2183 (*b).yy_is_our_buffer = 0;
2184 (*b).yy_input_file = 0;
2185 (*b).yy_n_chars = (*b).yy_buf_size;
2186 (*b).yy_is_interactive = 0;
2187 (*b).yy_at_bol = 1;
2188 (*b).yy_fill_buffer = 0;
2189 (*b).yy_buffer_status = 0;
2190 yy_switch_to_buffer(b);
2191 return b;
2192 }
2193
2194 YY_BUFFER_STATE yy_scan_string(const char * yy_str)
2195 {
2196 int len;
2197
2198 for(len = 0; yy_str[len]; ++len)
2199 ;
2200 return yy_scan_bytes(yy_str, len);
2201 }
2202
2203 YY_BUFFER_STATE yy_scan_bytes(const char * bytes, int len)
2204 {
2205 YY_BUFFER_STATE b;
2206 char * buf;
2207 yy_size_t n;
2208 int i;
2209
2210 n = len + 2;
2211 buf = (char *)yy_flex_alloc(n);
2212 if(!buf)
2213 yy_fatal_error("out of dynamic memory in yy_scan_bytes()");
2214 for(i = 0; i < len; ++i)
2215 buf[i] = bytes[i];
2216 buf[len] = buf[len + 1] = (char)0;
2217 b = yy_scan_buffer(buf, n);
2218 if(!b)
2219 yy_fatal_error("bad buffer in yy_scan_bytes()");
2220 (*b).yy_is_our_buffer = 1;
2221 return b;
2222 }
2223
2224 static void yy_fatal_error(const char msg[])
2225 {
2226 (void)fprintf((bsl_stderr()), "%s\n", msg);
2227 exit(2);
2228 }
2229
2230 static void * yy_flex_alloc(yy_size_t size)
2231 {
2232 return (void *)malloc(size);
2233 }
2234
2235 static void * yy_flex_realloc(void * ptr, yy_size_t size)
2236 {
2237 return (void *)realloc((char *)ptr, size);
2238 }
2239
2240 static void yy_flex_free(void * ptr)
2241 {
2242 free(ptr);
2243 }
2244
2245 yywrap()
2246 {
2247 return (1);
2248 }
2249
2250 int comment()
2251 {
2252 int c, last = 0;
2253
2254 for(; ; )
2255 {
2256 c = input();
2257 if(c == (-1))
2258 break;
2259 if(c == '\n')
2260 {
2261 yylloc.end.charPos = 1;
2262 yylloc.end.pos++;
2263 yylloc.end.line++;
2264 }
2265 else if(c == '\t')
2266 {
2267 yylloc.end.charPos++;
2268 yylloc.end.pos++;
2269 }
2270 else
2271 {
2272 yylloc.end.charPos++;
2273 yylloc.end.pos++;
2274 }
2275 if(c == '/' && last == '*')
2276 break;
2277 last = c;
2278 }
2279 yylloc.start = yylloc.end;
2280 return 0;
2281 }
2282
2283 int commentCPP()
2284 {
2285 int c, last = 0;
2286
2287 for(; ; )
2288 {
2289 c = input();
2290 if(c == (-1))
2291 break;
2292 if(c == '\n')
2293 {
2294 yylloc.end.charPos = 1;
2295 yylloc.end.pos++;
2296 yylloc.end.line++;
2297 break;
2298 }
2299 else if(c == '\t')
2300 {
2301 yylloc.end.charPos++;
2302 yylloc.end.pos++;
2303 }
2304 else
2305 {
2306 yylloc.end.charPos++;
2307 yylloc.end.pos++;
2308 }
2309 last = c;
2310 }
2311 yylloc.start = yylloc.end;
2312 return 0;
2313 }
2314
2315 extern int __ecereNameSpace__ecere__sys__GetValue(char * *  buffer);
2316
2317 extern unsigned int __ecereNameSpace__ecere__sys__GetString(char * *  buffer, char *  string, int max);
2318
2319 extern char *  __ecereNameSpace__ecere__sys__GetExtension(char *  string, char *  output);
2320
2321 extern int strcmp(const char * , const char * );
2322
2323 extern int GetIncludeFileID(char *  includeFile);
2324
2325 extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(char *  string, char *  output);
2326
2327 extern int strncmp(const char * , const char * , int n);
2328
2329 extern void *  memmove(void * , const void * , unsigned int size);
2330
2331 extern int strlen(const char * );
2332
2333 extern char *  strncpy(char * , const char * , int n);
2334
2335 extern char *  __ecereNameSpace__ecere__GetTranslatedString(struct __ecereNameSpace__ecere__com__Instance * module, char *  string, char *  stringAndContext);
2336
2337 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
2338
2339 extern unsigned int inCompiler;
2340
2341 extern int FindIncludeFileID(char *  includeFile);
2342
2343 extern struct __ecereNameSpace__ecere__com__Instance * OpenIncludeFile(char *  includeFile);
2344
2345 extern int printf(char * , ...);
2346
2347 int preprocessor()
2348 {
2349 int c, last = 0;
2350 int count = 0;
2351 char line[1024];
2352
2353 line[0] = '\0';
2354 for(; ; )
2355 {
2356 c = input();
2357 if(c == (-1))
2358 break;
2359 if(c == '\n')
2360 {
2361 yylloc.end.charPos = 1;
2362 yylloc.end.pos++;
2363 yylloc.end.line++;
2364 if(last != '\\')
2365 {
2366 char * pointer = line + 1;
2367 int lineNumber;
2368
2369 line[count] = (char)0;
2370 lineNumber = __ecereNameSpace__ecere__sys__GetValue(&pointer);
2371 if(lineNumber)
2372 {
2373 char fileName[797];
2374 int inOut;
2375
2376 __ecereNameSpace__ecere__sys__GetString(&pointer, fileName, (797));
2377 inOut = __ecereNameSpace__ecere__sys__GetValue(&pointer);
2378 if(inOut == 1)
2379 {
2380 char extension[17];
2381
2382 defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
2383 __ecereNameSpace__ecere__sys__GetExtension(fileName, extension);
2384 if(!strcmp(extension, "c") || !strcmp(extension, "h"))
2385 declMode = defaultDeclMode = 0;
2386 include_stack_ptr++;
2387 }
2388 else if(inOut == 2)
2389 {
2390 include_stack_ptr--;
2391 defaultDeclMode = declMode = declModeStack[include_stack_ptr];
2392 }
2393 yylloc.end.charPos = 1;
2394 yylloc.end.line = lineNumber;
2395 yylloc.end.included = (include_stack_ptr > 0) ? (unsigned int)GetIncludeFileID(fileName) : (unsigned int)0;
2396 }
2397 break;
2398 }
2399 count = 0;
2400 }
2401 else if(c == '\t')
2402 {
2403 yylloc.end.charPos++;
2404 yylloc.end.pos++;
2405 line[count++] = c;
2406 }
2407 else
2408 {
2409 yylloc.end.pos++;
2410 if(c != '\r')
2411 {
2412 yylloc.end.charPos++;
2413 line[count++] = c;
2414 }
2415 }
2416 last = c;
2417 }
2418 yylloc.start = yylloc.end;
2419 line[count] = (char)0;
2420 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
2421 for(c = 0; line[c] && line[c] != ' '; c++)
2422 ;
2423 if(!strncmp(line, "include", c))
2424 {
2425 char includeFile[797] = "";
2426
2427 memmove(line, line + c, strlen(line + c) + 1);
2428 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
2429 if(line[0] == '\"')
2430 {
2431 for(c = 1; line[c]; c++)
2432 {
2433 if(line[c] == '\"')
2434 {
2435 strncpy(includeFile, line + 1, c - 1);
2436 includeFile[c - 1] = '\0';
2437 break;
2438 }
2439 }
2440 }
2441 else if(line[0] == '<')
2442 {
2443 for(c = 1; line[c]; c++)
2444 if(line[c] == '>')
2445 {
2446 strncpy(includeFile, line + 1, c - 1);
2447 includeFile[c - 1] = '\0';
2448 break;
2449 }
2450 }
2451 if(include_stack_ptr >= (10))
2452 {
2453 fprintf((bsl_stderr()), __ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Includes nested too deeply", (((void *)0))));
2454 exit(1);
2455 }
2456 if(inCompiler || !FindIncludeFileID(includeFile))
2457 {
2458 struct __ecereNameSpace__ecere__com__Instance * file = OpenIncludeFile(includeFile);
2459
2460 if(file)
2461 {
2462 char extension[17];
2463
2464 fileStack[include_stack_ptr] = fileInput;
2465 locStack[include_stack_ptr] = yylloc;
2466 defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
2467 include_stack[include_stack_ptr++] = yy_current_buffer;
2468 yylloc.start.charPos = yylloc.end.charPos = 1;
2469 yylloc.start.line = yylloc.end.line = 1;
2470 yylloc.start.pos = yylloc.end.pos = 0;
2471 yylloc.start.included = yylloc.end.included = (unsigned int)GetIncludeFileID(includeFile);
2472 __ecereNameSpace__ecere__sys__GetExtension(includeFile, extension);
2473 if(!strcmp(extension, "c") || !strcmp(extension, "h"))
2474 declMode = defaultDeclMode = 0;
2475 fileInput = file;
2476 yy_switch_to_buffer(yy_create_buffer(fileInput, 16384));
2477 yy_start = 1 + 2 * (0);
2478 }
2479 else
2480 printf("");
2481 }
2482 }
2483 return 0;
2484 }
2485
2486 void resetScanner()
2487 {
2488 yy_flush_buffer(yy_current_buffer);
2489 yylloc.start.charPos = yylloc.end.charPos = 1;
2490 yylloc.start.line = yylloc.end.line = 1;
2491 yylloc.start.pos = yylloc.end.pos = 0;
2492 yylloc.start.included = yylloc.end.included = 0x0;
2493 expression_yylloc.start.charPos = expression_yylloc.end.charPos = 1;
2494 expression_yylloc.start.line = expression_yylloc.end.line = 1;
2495 expression_yylloc.start.pos = expression_yylloc.end.pos = 0;
2496 expression_yylloc.start.included = expression_yylloc.end.included = 0x0;
2497 type_yylloc.start.charPos = type_yylloc.end.charPos = 1;
2498 type_yylloc.start.line = type_yylloc.end.line = 1;
2499 type_yylloc.start.pos = type_yylloc.end.pos = 0;
2500 type_yylloc.start.included = type_yylloc.end.included = 0x0;
2501 include_stack_ptr = 0;
2502 }
2503
2504 void resetScannerPos(struct CodePosition * pos)
2505 {
2506 yy_flush_buffer(yy_current_buffer);
2507 yylloc.start = yylloc.end = *pos;
2508 type_yylloc.start = type_yylloc.end = *pos;
2509 expression_yylloc.start = expression_yylloc.end = *pos;
2510 }
2511
2512 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (* )(void * ), void (* )(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
2513
2514 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
2515
2516 struct __ecereNameSpace__ecere__com__NameSpace
2517 {
2518 char *  name;
2519 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
2520 struct __ecereNameSpace__ecere__com__NameSpace *  left;
2521 struct __ecereNameSpace__ecere__com__NameSpace *  right;
2522 int depth;
2523 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
2524 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
2525 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
2526 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
2527 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
2528 } __attribute__ ((gcc_struct));
2529
2530 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
2531
2532 struct __ecereNameSpace__ecere__com__Module
2533 {
2534 struct __ecereNameSpace__ecere__com__Instance * application;
2535 struct __ecereNameSpace__ecere__sys__OldList classes;
2536 struct __ecereNameSpace__ecere__sys__OldList defines;
2537 struct __ecereNameSpace__ecere__sys__OldList functions;
2538 struct __ecereNameSpace__ecere__sys__OldList modules;
2539 struct __ecereNameSpace__ecere__com__Instance * prev;
2540 struct __ecereNameSpace__ecere__com__Instance * next;
2541 char *  name;
2542 void *  library;
2543 void *  Unload;
2544 int importType;
2545 int origImportType;
2546 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
2547 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
2548 } __attribute__ ((gcc_struct));
2549
2550 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);
2551
2552 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
2553
2554 struct __ecereNameSpace__ecere__com__GlobalFunction;
2555
2556 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);
2557
2558 void __ecereRegisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
2559 {
2560 struct __ecereNameSpace__ecere__com__Class * class;
2561
2562 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "yy_buffer_state", 0, sizeof(struct yy_buffer_state), 0, 0, 0, module, 2, 1);
2563 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
2564 __ecereClass_yy_buffer_state = class;
2565 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_input_file", "void *", 4, 4, 1);
2566 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_ch_buf", "char *", 4, 4, 1);
2567 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buf_pos", "char *", 4, 4, 1);
2568 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buf_size", "uint", 4, 4, 1);
2569 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_n_chars", "int", 4, 4, 1);
2570 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_is_our_buffer", "int", 4, 4, 1);
2571 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_is_interactive", "int", 4, 4, 1);
2572 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_at_bol", "int", 4, 4, 1);
2573 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_fill_buffer", "int", 4, 4, 1);
2574 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buffer_status", "int", 4, 4, 1);
2575 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetEchoOn", "void SetEchoOn(bool b)", SetEchoOn, module, 1);
2576 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("TESTTTT", "void TESTTTT(void)", TESTTTT, module, 2);
2577 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSomeSourceFileStack", "void SetSomeSourceFileStack(char * fileName, int index)", SetSomeSourceFileStack, module, 1);
2578 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("resetScanner", "void resetScanner(void)", resetScanner, module, 1);
2579 }
2580
2581 void __ecereUnregisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
2582 {
2583
2584 }
2585