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