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