ccd9a5240513b32dbb454c5a4e8c5bcd6611f735
[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[696] = 
489 {
490 (short)0, (short)102, (short)102, (short)162, (short)160, (short)159, (short)158, (short)157, (short)145, (short)160, (short)1, (short)151, (short)144, (short)160, (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, 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, 21, 22, 21, 23, 21, 21, 21, 24, 25, 26, 27, 28, 29, 1, 30, 30, 30, 30, 31, 32, 33, 33, 33, 33, 33, 34, 33, 33, 33, 33, 33, 33, 33, 33, 35, 33, 33, 36, 33, 33, 37, 38, 39, 40, 41, 1, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 33, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
496 };
497
498 static const int yy_meta[71] = 
499 {
500 0, 1, 1, 1, 1, 2, 1, 3, 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[716] = 
504 {
505 (short)0, (short)0, (short)0, (short)269, (short)2449, (short)2449, (short)2449, (short)2449, (short)217, (short)64, (short)2449, (short)45, (short)64, (short)205, (short)2449, (short)2449, (short)215, (short)60, (short)2449, (short)61, (short)59, (short)71, (short)85, (short)132, (short)68, (short)2449, (short)85, (short)200, (short)56, (short)2449, (short)76, (short)103, (short)2449, (short)2449, (short)197, (short)115, (short)116, (short)112, (short)120, (short)148, (short)133, (short)158, (short)91, (short)171, (short)108, (short)174, (short)179, (short)182, (short)186, (short)189, (short)195, (short)205, (short)199, (short)2449, (short)49, (short)2449, (short)2449, (short)2449, (short)86, (short)2449, (short)219, (short)2449, (short)2449, (short)2449, (short)2449, (short)122, (short)131, (short)2449, (short)2449, (short)2449, (short)2449, (short)2449, (short)2449, (short)194, (short)236, (short)2449, (short)2449, (short)2449, (short)253, (short)289, (short)271, (short)199, (short)0, (short)0, (short)0, (short)2449, (short)2449, (short)2449, (short)175, (short)2449, (short)2449, (short)2449, (short)173, (short)159, (short)135, (short)155, (short)90, (short)113, (short)2449, (short)341, (short)207, (short)241, (short)253, (short)197, (short)254, (short)256, (short)271, (short)280, (short)291, (short)295, (short)304, (short)308, (short)316, (short)317, (short)319, (short)312, (short)320, (short)321, (short)328, (short)336, (short)324, (short)337, (short)345, (short)347, (short)229, (short)357, (short)365, (short)368, (short)380, (short)386, (short)387, (short)388, (short)396, (short)398, (short)392, (short)405, (short)407, (short)409, (short)413, (short)418, (short)424, (short)433, (short)439, (short)452, (short)435, (short)454, (short)456, (short)459, (short)2449, (short)2449, (short)2449, (short)2449, (short)464, (short)2449, (short)492, (short)510, (short)2449, (short)436, (short)478, (short)514, (short)457, (short)0, (short)2449, (short)2449, (short)0, (short)493, (short)495, (short)498, (short)496, (short)531, (short)534, (short)539, (short)540, (short)541, (short)472, (short)547, (short)549, (short)552, (short)550, (short)556, (short)558, (short)559, (short)562, (short)560, (short)568, (short)569, (short)588, (short)586, (short)589, (short)593, (short)595, (short)601, (short)610, (short)599, (short)616, (short)614, (short)629, (short)631, (short)622, (short)633, (short)639, (short)641, (short)642, (short)648, (short)649, (short)657, (short)659, (short)660, (short)661, (short)666, (short)664, (short)668, (short)669, (short)677, (short)672, (short)679, (short)685, (short)690, (short)692, (short)700, (short)705, (short)707, (short)709, (short)710, (short)711, (short)713, (short)718, (short)726, (short)720, (short)728, (short)729, (short)733, (short)744, (short)739, (short)746, (short)735, (short)774, (short)778, (short)794, (short)2449, (short)782, (short)798, (short)2449, (short)773, (short)0, (short)750, (short)752, (short)768, (short)803, (short)812, (short)813, (short)819, (short)814, (short)823, (short)825, (short)830, (short)832, (short)831, (short)836, (short)840, (short)842, (short)838, (short)847, (short)751, (short)849, (short)759, (short)851, (short)855, (short)857, (short)870, (short)875, (short)880, (short)883, (short)881, (short)885, (short)886, (short)887, (short)888, (short)903, (short)892, (short)898, (short)905, (short)909, (short)911, (short)913, (short)915, (short)920, (short)924, (short)926, (short)932, (short)939, (short)941, (short)945, (short)948, (short)951, (short)952, (short)956, (short)958, (short)961, (short)967, (short)973, (short)976, (short)978, (short)977, (short)979, (short)984, (short)985, (short)986, (short)1002, (short)1004, (short)995, (short)1006, (short)1008, (short)1013, (short)1021, (short)1025, (short)1026, (short)1028, (short)1032, (short)1037, (short)1047, (short)1031, (short)1041, (short)1052, (short)1063, (short)1056, (short)1061, (short)1064, (short)1073, (short)1079, (short)1074, (short)1080, (short)1082, (short)1085, (short)1098, (short)1101, (short)1103, (short)1106, (short)1108, (short)1109, (short)1114, (short)1118, (short)1119, (short)1126, (short)1129, (short)1135, (short)1136, (short)1137, (short)1139, (short)1142, (short)1147, (short)1152, (short)1154, (short)1155, (short)1159, (short)1160, (short)1162, (short)1167, (short)1170, (short)1163, (short)1182, (short)1183, (short)1187, (short)1188, (short)1189, (short)1193, (short)1195, (short)1208, (short)1210, (short)1211, (short)1213, (short)1214, (short)1215, (short)1217, (short)1218, (short)1219, (short)1220, (short)1221, (short)1226, (short)1238, (short)1241, (short)1242, (short)1247, (short)1263, (short)1265, (short)1266, (short)1267, (short)1269, (short)1270, (short)1271, (short)1275, (short)1278, (short)1282, (short)1276, (short)1291, (short)1294, (short)1300, (short)1298, (short)1301, (short)1303, (short)1302, (short)1304, (short)1320, (short)1311, (short)1322, (short)1326, (short)1328, (short)1329, (short)1331, (short)1335, (short)1341, (short)1350, (short)1354, (short)1357, (short)1360, (short)1362, (short)1365, (short)1366, (short)1370, (short)1372, (short)1377, (short)1378, (short)1381, (short)1382, (short)1387, (short)1388, (short)1390, (short)1393, (short)1394, (short)1397, (short)1398, (short)1399, (short)1405, (short)1406, (short)1410, (short)1416, (short)1418, (short)1421, (short)1425, (short)1422, (short)1426, (short)1429, (short)1428, (short)1433, (short)1437, (short)1438, (short)1445, (short)1446, (short)1453, (short)1454, (short)1456, (short)1457, (short)1472, (short)1473, (short)1474, (short)1475, (short)1478, (short)1480, (short)1481, (short)1484, (short)1485, (short)1482, (short)1491, (short)1500, (short)1509, (short)1513, (short)1512, (short)1519, (short)1525, (short)1528, (short)1529, (short)1530, (short)1532, (short)1536, (short)1538, (short)1540, (short)1541, (short)1547, (short)1551, (short)1553, (short)1557, (short)1558, (short)1559, (short)1562, (short)1560, (short)1568, (short)1569, (short)1579, (short)1580, (short)1584, (short)1586, (short)1587, (short)1599, (short)1596, (short)1603, (short)1605, (short)1607, (short)1608, (short)1609, (short)1614, (short)1615, (short)1624, (short)1631, (short)1635, (short)1637, (short)1639, (short)1641, (short)1642, (short)1643, (short)1660, (short)1644, (short)1663, (short)1662, (short)1664, (short)1667, (short)1668, (short)1670, (short)1675, (short)1686, (short)1687, (short)1688, (short)1690, (short)1691, (short)1695, (short)1696, (short)1698, (short)1706, (short)1708, (short)1714, (short)1715, (short)1716, (short)1719, (short)1726, (short)1731, (short)1718, (short)1742, (short)1735, (short)1743, (short)1747, (short)1753, (short)1755, (short)1759, (short)1762, (short)1763, (short)1765, (short)1770, (short)1772, (short)1774, (short)1780, (short)1781, (short)1785, (short)1787, (short)1790, (short)1793, (short)1797, (short)1798, (short)1800, (short)1802, (short)1805, (short)1808, (short)1809, (short)1813, (short)1820, (short)1824, (short)1825, (short)1835, (short)1826, (short)1836, (short)1837, (short)1861, (short)1841, (short)122, (short)1853, (short)1854, (short)1843, (short)1862, (short)1852, (short)1864, (short)1865, (short)1877, (short)1880, (short)1882, (short)1886, (short)1887, (short)1888, (short)1890, (short)1889, (short)136, (short)117, (short)1895, (short)1898, (short)2449, (short)110, (short)1906, (short)1897, (short)1899, (short)1905, (short)1917, (short)1918, (short)1921, (short)1933, (short)1934, (short)1940, (short)1942, (short)1943, (short)1956, (short)1965, (short)1949, (short)1952, (short)1968, (short)1961, (short)1969, (short)1970, (short)1972, (short)1973, (short)1994, (short)408, (short)91, (short)1999, (short)2013, (short)175, (short)87, (short)1974, (short)1977, (short)1990, (short)1993, (short)1998, (short)2006, (short)2010, (short)927, (short)2023, (short)2028, (short)2032, (short)2449, (short)2037, (short)2038, (short)2047, (short)2056, (short)2062, (short)2046, (short)2052, (short)2055, (short)2067, (short)2061, (short)2068, (short)2077, (short)2082, (short)2083, (short)2084, (short)2096, (short)2102, (short)2109, (short)2111, (short)2115, (short)82, (short)2121, (short)2127, (short)2082, (short)2120, (short)2125, (short)2126, (short)2128, (short)2140, (short)2141, (short)2142, (short)2146, (short)2155, (short)2156, (short)2160, (short)2449, (short)2162, (short)2172, (short)2174, (short)2179, (short)2173, (short)2179, (short)2184, (short)2186, (short)2193, (short)2199, (short)2200, (short)2206, (short)2212, (short)2213, (short)2218, (short)2225, (short)2197, (short)2190, (short)2219, (short)2235, (short)2237, (short)2223, (short)2234, (short)2235, (short)2236, (short)2449, (short)2300, (short)2310, (short)2317, (short)2320, (short)2321, (short)2324, (short)2326, (short)2330, (short)2339, (short)2348, (short)2357, (short)2366, (short)2375, (short)2384, (short)2393, (short)2402, (short)2411, (short)2420, (short)2429, (short)2438
506 };
507
508 static const short int yy_def[716] = 
509 {
510 (short)0, (short)695, (short)1, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)696, (short)695, (short)695, (short)695, (short)697, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)698, (short)698, (short)695, (short)695, (short)695, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)695, (short)695, (short)695, (short)695, (short)696, (short)695, (short)696, (short)695, (short)695, (short)695, (short)695, (short)697, (short)697, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)699, (short)23, (short)700, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)698, (short)695, (short)696, (short)697, (short)695, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)699, (short)701, (short)695, (short)695, (short)702, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)701, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)695, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)703, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)695, (short)698, (short)698, (short)695, (short)703, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)704, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)704, (short)705, (short)695, (short)706, (short)704, (short)695, (short)695, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)705, (short)695, (short)707, (short)695, (short)706, (short)708, (short)706, (short)695, (short)709, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)707, (short)707, (short)695, (short)708, (short)695, (short)710, (short)695, (short)709, (short)711, (short)695, (short)712, (short)709, (short)698, (short)698, (short)698, (short)698, (short)698, (short)695, (short)710, (short)710, (short)695, (short)711, (short)695, (short)713, (short)695, (short)712, (short)714, (short)712, (short)695, (short)698, (short)698, (short)698, (short)698, (short)695, (short)713, (short)713, (short)695, (short)714, (short)695, (short)715, (short)695, (short)698, (short)698, (short)695, (short)715, (short)715, (short)698, (short)698, (short)698, (short)698, (short)0, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695
511 };
512
513 static const short int yy_nxt[2520] = 
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)23, (short)23, (short)24, (short)25, (short)26, (short)27, (short)28, (short)29, (short)30, (short)30, (short)30, (short)30, (short)31, (short)30, (short)30, (short)32, (short)4, (short)33, (short)34, (short)35, (short)36, (short)37, (short)38, (short)39, (short)40, (short)41, (short)42, (short)30, (short)43, (short)30, (short)30, (short)44, (short)30, (short)45, (short)30, (short)46, (short)47, (short)48, (short)49, (short)50, (short)51, (short)52, (short)30, (short)30, (short)30, (short)53, (short)54, (short)55, (short)56, (short)59, (short)61, (short)62, (short)63, (short)68, (short)148, (short)73, (short)70, (short)74, (short)74, (short)74, (short)74, (short)91, (short)92, (short)75, (short)93, (short)69, (short)71, (short)72, (short)76, (short)64, (short)84, (short)59, (short)86, (short)669, (short)85, (short)59, (short)77, (short)638, (short)95, (short)93, (short)60, (short)78, (short)633, (short)79, (short)79, (short)79, (short)79, (short)87, (short)96, (short)88, (short)89, (short)93, (short)97, (short)95, (short)80, (short)149, (short)93, (short)81, (short)81, (short)82, (short)93, (short)591, (short)60, (short)93, (short)93, (short)95, (short)60, (short)605, (short)93, (short)80, (short)95, (short)150, (short)695, (short)591, (short)95, (short)122, (short)81, (short)95, (short)95, (short)587, (short)65, (short)93, (short)95, (short)93, (short)81, (short)123, (short)588, (short)82, (short)78, (short)66, (short)83, (short)83, (short)83, (short)83, (short)99, (short)95, (short)93, (short)95, (short)66, (short)100, (short)107, (short)80, (short)128, (short)101, (short)81, (short)81, (short)93, (short)108, (short)106, (short)103, (short)95, (short)109, (short)102, (short)104, (short)110, (short)105, (short)80, (short)164, (short)620, (short)93, (short)95, (short)95, (short)93, (short)81, (short)116, (short)621, (short)117, (short)93, (short)111, (short)112, (short)93, (short)81, (short)113, (short)95, (short)93, (short)118, (short)95, (short)93, (short)163, (short)114, (short)162, (short)95, (short)115, (short)93, (short)95, (short)93, (short)119, (short)93, (short)95, (short)120, (short)151, (short)95, (short)121, (short)93, (short)129, (short)93, (short)124, (short)95, (short)130, (short)95, (short)695, (short)95, (short)98, (short)125, (short)126, (short)90, (short)133, (short)95, (short)127, (short)95, (short)134, (short)81, (short)81, (short)135, (short)136, (short)131, (short)140, (short)93, (short)132, (short)146, (short)67, (short)66, (short)57, (short)142, (short)137, (short)138, (short)147, (short)139, (short)143, (short)93, (short)81, (short)95, (short)141, (short)144, (short)74, (short)74, (short)74, (short)74, (short)81, (short)145, (short)178, (short)93, (short)93, (short)95, (short)93, (short)152, (short)153, (short)695, (short)153, (short)175, (short)695, (short)154, (short)154, (short)154, (short)154, (short)95, (short)95, (short)695, (short)95, (short)93, (short)152, (short)153, (short)155, (short)156, (short)158, (short)156, (short)158, (short)153, (short)93, (short)159, (short)159, (short)159, (short)159, (short)95, (short)176, (short)695, (short)695, (short)155, (short)156, (short)93, (short)695, (short)695, (short)95, (short)93, (short)156, (short)78, (short)179, (short)79, (short)79, (short)79, (short)79, (short)177, (short)93, (short)95, (short)180, (short)181, (short)93, (short)95, (short)80, (short)695, (short)93, (short)157, (short)157, (short)695, (short)93, (short)93, (short)95, (short)93, (short)93, (short)93, (short)95, (short)183, (short)93, (short)80, (short)95, (short)184, (short)93, (short)182, (short)95, (short)95, (short)157, (short)95, (short)95, (short)95, (short)93, (short)93, (short)95, (short)695, (short)157, (short)93, (short)95, (short)695, (short)695, (short)93, (short)695, (short)93, (short)695, (short)185, (short)95, (short)95, (short)695, (short)187, (short)190, (short)95, (short)188, (short)93, (short)186, (short)95, (short)191, (short)95, (short)192, (short)193, (short)695, (short)93, (short)189, (short)695, (short)93, (short)194, (short)198, (short)95, (short)195, (short)165, (short)166, (short)167, (short)168, (short)169, (short)196, (short)95, (short)93, (short)170, (short)95, (short)695, (short)197, (short)199, (short)93, (short)93, (short)93, (short)171, (short)172, (short)173, (short)93, (short)174, (short)95, (short)200, (short)93, (short)201, (short)93, (short)203, (short)95, (short)95, (short)95, (short)629, (short)202, (short)93, (short)95, (short)93, (short)204, (short)93, (short)95, (short)631, (short)95, (short)93, (short)632, (short)205, (short)695, (short)206, (short)93, (short)95, (short)695, (short)95, (short)695, (short)95, (short)93, (short)207, (short)695, (short)95, (short)210, (short)212, (short)208, (short)695, (short)95, (short)93, (short)211, (short)93, (short)213, (short)695, (short)95, (short)93, (short)209, (short)220, (short)216, (short)214, (short)221, (short)218, (short)224, (short)95, (short)215, (short)95, (short)695, (short)217, (short)93, (short)95, (short)93, (short)222, (short)93, (short)223, (short)225, (short)93, (short)157, (short)157, (short)695, (short)219, (short)226, (short)695, (short)95, (short)695, (short)95, (short)236, (short)95, (short)236, (short)93, (short)95, (short)237, (short)237, (short)237, (short)237, (short)695, (short)157, (short)227, (short)243, (short)243, (short)231, (short)228, (short)695, (short)95, (short)157, (short)159, (short)159, (short)159, (short)159, (short)229, (short)93, (short)232, (short)93, (short)93, (short)233, (short)93, (short)235, (short)243, (short)230, (short)154, (short)154, (short)154, (short)154, (short)234, (short)95, (short)243, (short)95, (short)95, (short)695, (short)95, (short)238, (short)239, (short)240, (short)239, (short)240, (short)258, (short)695, (short)241, (short)241, (short)241, (short)241, (short)159, (short)159, (short)159, (short)159, (short)238, (short)239, (short)695, (short)93, (short)251, (short)249, (short)93, (short)239, (short)242, (short)695, (short)242, (short)93, (short)93, (short)93, (short)246, (short)247, (short)250, (short)95, (short)248, (short)93, (short)95, (short)93, (short)93, (short)242, (short)93, (short)95, (short)95, (short)95, (short)93, (short)242, (short)93, (short)93, (short)93, (short)95, (short)93, (short)95, (short)95, (short)695, (short)95, (short)695, (short)93, (short)93, (short)95, (short)695, (short)95, (short)95, (short)95, (short)254, (short)95, (short)695, (short)695, (short)253, (short)255, (short)262, (short)95, (short)95, (short)695, (short)252, (short)93, (short)261, (short)93, (short)93, (short)256, (short)264, (short)260, (short)93, (short)695, (short)93, (short)257, (short)259, (short)265, (short)93, (short)95, (short)93, (short)95, (short)95, (short)263, (short)695, (short)695, (short)95, (short)266, (short)95, (short)93, (short)695, (short)695, (short)95, (short)93, (short)95, (short)93, (short)267, (short)268, (short)269, (short)270, (short)695, (short)93, (short)695, (short)95, (short)273, (short)271, (short)274, (short)95, (short)93, (short)95, (short)93, (short)279, (short)93, (short)272, (short)275, (short)95, (short)276, (short)695, (short)93, (short)695, (short)93, (short)93, (short)95, (short)695, (short)95, (short)277, (short)95, (short)93, (short)93, (short)278, (short)695, (short)280, (short)95, (short)284, (short)95, (short)95, (short)93, (short)281, (short)93, (short)93, (short)93, (short)95, (short)95, (short)93, (short)282, (short)93, (short)283, (short)93, (short)93, (short)289, (short)95, (short)93, (short)95, (short)95, (short)95, (short)293, (short)93, (short)95, (short)93, (short)95, (short)695, (short)95, (short)95, (short)695, (short)93, (short)95, (short)285, (short)286, (short)288, (short)93, (short)95, (short)93, (short)95, (short)695, (short)290, (short)287, (short)292, (short)291, (short)95, (short)93, (short)695, (short)695, (short)695, (short)95, (short)93, (short)95, (short)93, (short)298, (short)93, (short)93, (short)93, (short)296, (short)93, (short)95, (short)295, (short)294, (short)297, (short)93, (short)95, (short)93, (short)95, (short)695, (short)95, (short)95, (short)95, (short)93, (short)95, (short)93, (short)93, (short)299, (short)695, (short)95, (short)93, (short)95, (short)93, (short)302, (short)301, (short)300, (short)93, (short)95, (short)304, (short)95, (short)95, (short)93, (short)307, (short)93, (short)95, (short)695, (short)95, (short)93, (short)93, (short)93, (short)95, (short)695, (short)303, (short)305, (short)695, (short)95, (short)93, (short)95, (short)306, (short)310, (short)308, (short)95, (short)95, (short)95, (short)309, (short)93, (short)313, (short)311, (short)316, (short)695, (short)95, (short)312, (short)695, (short)695, (short)695, (short)318, (short)315, (short)317, (short)695, (short)95, (short)314, (short)237, (short)237, (short)237, (short)237, (short)237, (short)237, (short)237, (short)237, (short)241, (short)241, (short)241, (short)241, (short)321, (short)243, (short)243, (short)319, (short)153, (short)319, (short)153, (short)93, (short)320, (short)320, (short)320, (short)320, (short)241, (short)241, (short)241, (short)241, (short)93, (short)93, (short)93, (short)153, (short)243, (short)95, (short)322, (short)93, (short)156, (short)153, (short)156, (short)93, (short)243, (short)93, (short)95, (short)95, (short)95, (short)695, (short)93, (short)93, (short)93, (short)95, (short)695, (short)156, (short)93, (short)95, (short)93, (short)95, (short)93, (short)156, (short)93, (short)323, (short)95, (short)95, (short)95, (short)93, (short)324, (short)93, (short)95, (short)93, (short)95, (short)326, (short)95, (short)93, (short)95, (short)93, (short)325, (short)695, (short)695, (short)95, (short)695, (short)95, (short)327, (short)95, (short)328, (short)332, (short)331, (short)95, (short)93, (short)95, (short)337, (short)329, (short)330, (short)93, (short)335, (short)695, (short)333, (short)334, (short)93, (short)93, (short)336, (short)93, (short)95, (short)93, (short)93, (short)93, (short)93, (short)95, (short)695, (short)339, (short)93, (short)338, (short)95, (short)95, (short)695, (short)95, (short)93, (short)95, (short)95, (short)95, (short)95, (short)93, (short)340, (short)93, (short)95, (short)341, (short)343, (short)93, (short)342, (short)93, (short)95, (short)93, (short)346, (short)93, (short)344, (short)95, (short)345, (short)95, (short)93, (short)695, (short)629, (short)95, (short)93, (short)95, (short)93, (short)95, (short)695, (short)95, (short)631, (short)348, (short)93, (short)632, (short)95, (short)352, (short)347, (short)349, (short)95, (short)93, (short)95, (short)93, (short)350, (short)695, (short)359, (short)93, (short)95, (short)351, (short)93, (short)695, (short)695, (short)93, (short)93, (short)95, (short)695, (short)95, (short)93, (short)353, (short)93, (short)95, (short)357, (short)93, (short)95, (short)355, (short)354, (short)95, (short)95, (short)93, (short)356, (short)695, (short)95, (short)358, (short)95, (short)93, (short)695, (short)95, (short)93, (short)93, (short)93, (short)93, (short)695, (short)95, (short)695, (short)362, (short)93, (short)93, (short)93, (short)95, (short)363, (short)360, (short)95, (short)95, (short)95, (short)95, (short)361, (short)93, (short)364, (short)695, (short)95, (short)95, (short)95, (short)695, (short)93, (short)695, (short)93, (short)695, (short)93, (short)365, (short)93, (short)95, (short)695, (short)372, (short)369, (short)93, (short)366, (short)367, (short)95, (short)371, (short)95, (short)374, (short)95, (short)93, (short)95, (short)368, (short)370, (short)93, (short)93, (short)95, (short)93, (short)375, (short)378, (short)93, (short)93, (short)695, (short)695, (short)95, (short)376, (short)373, (short)377, (short)95, (short)95, (short)93, (short)95, (short)695, (short)695, (short)95, (short)95, (short)320, (short)320, (short)320, (short)320, (short)380, (short)93, (short)379, (short)695, (short)95, (short)93, (short)320, (short)320, (short)320, (short)320, (short)93, (short)385, (short)93, (short)93, (short)695, (short)95, (short)383, (short)384, (short)239, (short)95, (short)239, (short)381, (short)93, (short)93, (short)95, (short)382, (short)95, (short)95, (short)93, (short)93, (short)695, (short)93, (short)695, (short)239, (short)93, (short)695, (short)95, (short)95, (short)386, (short)239, (short)695, (short)393, (short)95, (short)95, (short)387, (short)95, (short)388, (short)93, (short)95, (short)391, (short)93, (short)695, (short)93, (short)390, (short)389, (short)93, (short)695, (short)93, (short)93, (short)695, (short)695, (short)95, (short)392, (short)93, (short)95, (short)396, (short)95, (short)93, (short)93, (short)95, (short)397, (short)95, (short)95, (short)394, (short)395, (short)93, (short)695, (short)95, (short)93, (short)398, (short)695, (short)95, (short)95, (short)695, (short)93, (short)93, (short)93, (short)401, (short)93, (short)95, (short)402, (short)93, (short)95, (short)695, (short)403, (short)399, (short)93, (short)400, (short)95, (short)95, (short)95, (short)93, (short)95, (short)93, (short)93, (short)95, (short)695, (short)405, (short)93, (short)93, (short)95, (short)93, (short)93, (short)404, (short)695, (short)95, (short)93, (short)95, (short)95, (short)93, (short)407, (short)406, (short)95, (short)95, (short)410, (short)95, (short)95, (short)411, (short)408, (short)409, (short)95, (short)93, (short)93, (short)95, (short)695, (short)695, (short)93, (short)93, (short)93, (short)414, (short)416, (short)695, (short)93, (short)412, (short)93, (short)95, (short)95, (short)695, (short)413, (short)415, (short)95, (short)95, (short)95, (short)418, (short)425, (short)419, (short)95, (short)93, (short)95, (short)93, (short)93, (short)417, (short)93, (short)93, (short)93, (short)695, (short)93, (short)93, (short)93, (short)93, (short)93, (short)95, (short)423, (short)95, (short)95, (short)93, (short)95, (short)95, (short)95, (short)420, (short)95, (short)95, (short)95, (short)95, (short)95, (short)422, (short)421, (short)93, (short)695, (short)95, (short)93, (short)93, (short)424, (short)695, (short)695, (short)427, (short)93, (short)429, (short)431, (short)428, (short)433, (short)95, (short)426, (short)695, (short)95, (short)95, (short)436, (short)430, (short)434, (short)695, (short)95, (short)437, (short)93, (short)435, (short)93, (short)93, (short)93, (short)432, (short)93, (short)93, (short)93, (short)695, (short)695, (short)439, (short)93, (short)93, (short)95, (short)93, (short)95, (short)95, (short)95, (short)93, (short)95, (short)95, (short)95, (short)438, (short)440, (short)450, (short)95, (short)95, (short)93, (short)95, (short)695, (short)93, (short)441, (short)95, (short)442, (short)93, (short)695, (short)93, (short)93, (short)93, (short)93, (short)93, (short)95, (short)695, (short)443, (short)95, (short)695, (short)695, (short)93, (short)95, (short)445, (short)95, (short)95, (short)95, (short)95, (short)95, (short)444, (short)93, (short)446, (short)93, (short)448, (short)447, (short)95, (short)93, (short)449, (short)93, (short)93, (short)452, (short)93, (short)453, (short)695, (short)95, (short)93, (short)95, (short)695, (short)457, (short)451, (short)95, (short)93, (short)95, (short)95, (short)454, (short)95, (short)460, (short)458, (short)461, (short)95, (short)93, (short)455, (short)456, (short)695, (short)93, (short)95, (short)462, (short)93, (short)463, (short)695, (short)93, (short)459, (short)93, (short)466, (short)95, (short)93, (short)93, (short)468, (short)95, (short)695, (short)93, (short)95, (short)93, (short)464, (short)95, (short)465, (short)95, (short)93, (short)93, (short)95, (short)95, (short)93, (short)93, (short)467, (short)95, (short)469, (short)95, (short)93, (short)93, (short)695, (short)93, (short)95, (short)95, (short)93, (short)93, (short)95, (short)95, (short)93, (short)93, (short)93, (short)470, (short)95, (short)95, (short)471, (short)95, (short)93, (short)93, (short)95, (short)95, (short)473, (short)93, (short)95, (short)95, (short)95, (short)474, (short)472, (short)93, (short)695, (short)93, (short)95, (short)95, (short)93, (short)93, (short)476, (short)95, (short)93, (short)93, (short)695, (short)93, (short)93, (short)95, (short)475, (short)95, (short)93, (short)695, (short)95, (short)95, (short)93, (short)93, (short)95, (short)95, (short)477, (short)95, (short)95, (short)695, (short)93, (short)93, (short)95, (short)480, (short)478, (short)695, (short)95, (short)95, (short)93, (short)93, (short)479, (short)93, (short)93, (short)482, (short)95, (short)95, (short)483, (short)486, (short)695, (short)481, (short)484, (short)487, (short)95, (short)95, (short)485, (short)95, (short)95, (short)93, (short)93, (short)93, (short)93, (short)695, (short)488, (short)93, (short)695, (short)93, (short)93, (short)93, (short)695, (short)93, (short)93, (short)95, (short)95, (short)95, (short)95, (short)491, (short)93, (short)95, (short)489, (short)95, (short)95, (short)95, (short)492, (short)95, (short)95, (short)93, (short)695, (short)490, (short)695, (short)695, (short)95, (short)695, (short)493, (short)695, (short)93, (short)695, (short)495, (short)93, (short)93, (short)95, (short)496, (short)494, (short)500, (short)497, (short)93, (short)499, (short)501, (short)502, (short)95, (short)498, (short)93, (short)95, (short)95, (short)93, (short)93, (short)93, (short)695, (short)93, (short)95, (short)695, (short)695, (short)93, (short)503, (short)93, (short)95, (short)93, (short)93, (short)95, (short)95, (short)95, (short)505, (short)95, (short)93, (short)504, (short)506, (short)95, (short)93, (short)95, (short)93, (short)95, (short)95, (short)695, (short)93, (short)93, (short)93, (short)93, (short)95, (short)93, (short)695, (short)695, (short)95, (short)509, (short)95, (short)93, (short)93, (short)510, (short)95, (short)95, (short)95, (short)95, (short)695, (short)95, (short)507, (short)508, (short)93, (short)93, (short)695, (short)95, (short)95, (short)93, (short)513, (short)93, (short)93, (short)695, (short)512, (short)695, (short)516, (short)695, (short)95, (short)95, (short)511, (short)93, (short)517, (short)95, (short)93, (short)95, (short)95, (short)514, (short)93, (short)518, (short)93, (short)515, (short)93, (short)93, (short)93, (short)95, (short)695, (short)519, (short)95, (short)93, (short)93, (short)695, (short)95, (short)524, (short)95, (short)522, (short)95, (short)95, (short)95, (short)93, (short)521, (short)523, (short)526, (short)95, (short)95, (short)520, (short)93, (short)695, (short)525, (short)695, (short)93, (short)695, (short)93, (short)95, (short)93, (short)695, (short)93, (short)93, (short)93, (short)93, (short)95, (short)527, (short)695, (short)530, (short)95, (short)528, (short)95, (short)695, (short)95, (short)529, (short)95, (short)95, (short)95, (short)95, (short)695, (short)93, (short)532, (short)93, (short)93, (short)93, (short)531, (short)535, (short)93, (short)93, (short)695, (short)93, (short)695, (short)537, (short)533, (short)95, (short)93, (short)95, (short)95, (short)95, (short)695, (short)541, (short)95, (short)95, (short)536, (short)95, (short)534, (short)93, (short)93, (short)93, (short)95, (short)93, (short)93, (short)538, (short)539, (short)542, (short)93, (short)93, (short)695, (short)93, (short)540, (short)95, (short)95, (short)95, (short)543, (short)95, (short)95, (short)93, (short)695, (short)93, (short)95, (short)95, (short)545, (short)95, (short)695, (short)93, (short)93, (short)93, (short)544, (short)93, (short)93, (short)95, (short)548, (short)95, (short)546, (short)695, (short)549, (short)93, (short)551, (short)95, (short)95, (short)95, (short)93, (short)95, (short)95, (short)695, (short)93, (short)695, (short)553, (short)547, (short)554, (short)95, (short)550, (short)93, (short)93, (short)695, (short)95, (short)695, (short)93, (short)552, (short)95, (short)555, (short)558, (short)695, (short)93, (short)561, (short)93, (short)95, (short)95, (short)559, (short)93, (short)556, (short)95, (short)93, (short)93, (short)695, (short)93, (short)557, (short)95, (short)695, (short)95, (short)93, (short)560, (short)93, (short)95, (short)93, (short)695, (short)95, (short)95, (short)562, (short)95, (short)93, (short)93, (short)563, (short)571, (short)95, (short)93, (short)95, (short)93, (short)95, (short)564, (short)93, (short)565, (short)695, (short)93, (short)95, (short)95, (short)566, (short)93, (short)93, (short)95, (short)93, (short)95, (short)93, (short)567, (short)95, (short)93, (short)568, (short)95, (short)93, (short)93, (short)569, (short)95, (short)95, (short)93, (short)95, (short)695, (short)95, (short)695, (short)695, (short)95, (short)93, (short)573, (short)95, (short)95, (short)93, (short)93, (short)93, (short)95, (short)574, (short)575, (short)572, (short)576, (short)570, (short)695, (short)95, (short)93, (short)93, (short)93, (short)95, (short)95, (short)95, (short)93, (short)695, (short)93, (short)695, (short)695, (short)695, (short)578, (short)579, (short)95, (short)95, (short)95, (short)93, (short)93, (short)93, (short)95, (short)587, (short)95, (short)584, (short)577, (short)581, (short)93, (short)93, (short)588, (short)93, (short)93, (short)95, (short)95, (short)95, (short)695, (short)695, (short)586, (short)582, (short)590, (short)580, (short)95, (short)95, (short)93, (short)95, (short)95, (short)93, (short)585, (short)93, (short)583, (short)593, (short)594, (short)93, (short)93, (short)93, (short)93, (short)93, (short)95, (short)589, (short)595, (short)95, (short)93, (short)95, (short)93, (short)93, (short)93, (short)95, (short)95, (short)95, (short)95, (short)95, (short)93, (short)93, (short)596, (short)695, (short)95, (short)597, (short)95, (short)95, (short)95, (short)695, (short)695, (short)695, (short)93, (short)93, (short)95, (short)95, (short)93, (short)600, (short)695, (short)695, (short)695, (short)606, (short)598, (short)603, (short)607, (short)599, (short)95, (short)95, (short)93, (short)93, (short)95, (short)601, (short)608, (short)602, (short)604, (short)93, (short)695, (short)93, (short)93, (short)695, (short)695, (short)695, (short)95, (short)95, (short)93, (short)611, (short)615, (short)93, (short)610, (short)95, (short)609, (short)95, (short)95, (short)616, (short)617, (short)620, (short)93, (short)618, (short)95, (short)695, (short)93, (short)95, (short)621, (short)93, (short)93, (short)93, (short)612, (short)93, (short)93, (short)93, (short)95, (short)614, (short)93, (short)613, (short)95, (short)695, (short)622, (short)95, (short)95, (short)95, (short)695, (short)95, (short)95, (short)95, (short)615, (short)93, (short)95, (short)623, (short)93, (short)634, (short)695, (short)616, (short)617, (short)93, (short)624, (short)618, (short)635, (short)617, (short)695, (short)95, (short)618, (short)93, (short)95, (short)637, (short)625, (short)93, (short)628, (short)95, (short)695, (short)626, (short)616, (short)617, (short)640, (short)629, (short)618, (short)95, (short)695, (short)639, (short)644, (short)95, (short)627, (short)631, (short)645, (short)695, (short)632, (short)695, (short)617, (short)634, (short)647, (short)618, (short)631, (short)695, (short)641, (short)632, (short)635, (short)617, (short)649, (short)651, (short)618, (short)650, (short)695, (short)93, (short)642, (short)695, (short)635, (short)617, (short)637, (short)93, (short)618, (short)695, (short)93, (short)643, (short)652, (short)616, (short)617, (short)95, (short)93, (short)618, (short)644, (short)653, (short)654, (short)95, (short)93, (short)655, (short)95, (short)695, (short)617, (short)645, (short)695, (short)618, (short)95, (short)695, (short)629, (short)647, (short)647, (short)631, (short)95, (short)93, (short)632, (short)657, (short)631, (short)649, (short)649, (short)632, (short)650, (short)650, (short)662, (short)695, (short)695, (short)695, (short)695, (short)95, (short)663, (short)695, (short)617, (short)695, (short)658, (short)618, (short)659, (short)651, (short)649, (short)652, (short)660, (short)650, (short)661, (short)665, (short)635, (short)617, (short)653, (short)654, (short)618, (short)670, (short)655, (short)667, (short)695, (short)93, (short)668, (short)673, (short)671, (short)654, (short)93, (short)93, (short)655, (short)93, (short)653, (short)654, (short)695, (short)695, (short)655, (short)95, (short)662, (short)663, (short)647, (short)695, (short)95, (short)95, (short)665, (short)95, (short)617, (short)649, (short)649, (short)618, (short)650, (short)650, (short)667, (short)665, (short)678, (short)668, (short)695, (short)695, (short)679, (short)695, (short)670, (short)667, (short)654, (short)695, (short)668, (short)655, (short)667, (short)671, (short)654, (short)668, (short)681, (short)655, (short)685, (short)674, (short)675, (short)676, (short)93, (short)673, (short)683, (short)671, (short)654, (short)684, (short)93, (short)655, (short)653, (short)654, (short)677, (short)93, (short)655, (short)93, (short)95, (short)678, (short)695, (short)93, (short)695, (short)695, (short)95, (short)679, (short)665, (short)654, (short)93, (short)95, (short)655, (short)95, (short)681, (short)667, (short)667, (short)95, (short)668, (short)668, (short)681, (short)688, (short)683, (short)695, (short)95, (short)684, (short)689, (short)688, (short)683, (short)654, (short)695, (short)684, (short)655, (short)685, (short)683, (short)654, (short)93, (short)684, (short)655, (short)686, (short)671, (short)654, (short)687, (short)689, (short)655, (short)681, (short)691, (short)93, (short)93, (short)93, (short)95, (short)683, (short)695, (short)683, (short)684, (short)695, (short)684, (short)695, (short)695, (short)695, (short)695, (short)95, (short)95, (short)95, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)692, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)693, (short)695, (short)695, (short)695, (short)695, (short)695, (short)694, (short)58, (short)58, (short)58, (short)58, (short)58, (short)58, (short)58, (short)58, (short)58, (short)58, (short)65, (short)65, (short)65, (short)65, (short)695, (short)65, (short)65, (short)65, (short)65, (short)65, (short)94, (short)695, (short)695, (short)695, (short)94, (short)94, (short)94, (short)160, (short)160, (short)161, (short)161, (short)244, (short)244, (short)244, (short)245, (short)245, (short)592, (short)592, (short)592, (short)592, (short)619, (short)695, (short)695, (short)695, (short)619, (short)619, (short)619, (short)619, (short)619, (short)630, (short)630, (short)695, (short)695, (short)695, (short)630, (short)630, (short)630, (short)630, (short)636, (short)695, (short)695, (short)695, (short)636, (short)636, (short)636, (short)636, (short)636, (short)646, (short)646, (short)695, (short)695, (short)695, (short)646, (short)646, (short)646, (short)646, (short)648, (short)648, (short)695, (short)695, (short)695, (short)648, (short)648, (short)648, (short)648, (short)656, (short)695, (short)695, (short)695, (short)656, (short)656, (short)656, (short)656, (short)656, (short)664, (short)664, (short)695, (short)695, (short)695, (short)664, (short)664, (short)664, (short)664, (short)666, (short)666, (short)695, (short)695, (short)695, (short)666, (short)666, (short)666, (short)666, (short)672, (short)695, (short)695, (short)695, (short)672, (short)672, (short)672, (short)672, (short)672, (short)680, (short)680, (short)695, (short)695, (short)695, (short)680, (short)680, (short)680, (short)680, (short)682, (short)682, (short)695, (short)695, (short)695, (short)682, (short)682, (short)682, (short)682, (short)690, (short)690, (short)695, (short)695, (short)695, (short)690, (short)690, (short)690, (short)690, (short)3, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695
516 };
517
518 static const short int yy_chk[2520] = 
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)9, (short)11, (short)11, (short)12, (short)17, (short)54, (short)20, (short)19, (short)20, (short)20, (short)20, (short)20, (short)28, (short)28, (short)21, (short)30, (short)17, (short)19, (short)19, (short)21, (short)12, (short)24, (short)58, (short)26, (short)654, (short)24, (short)96, (short)21, (short)621, (short)30, (short)42, (short)9, (short)22, (short)617, (short)22, (short)22, (short)22, (short)22, (short)26, (short)31, (short)26, (short)26, (short)31, (short)31, (short)42, (short)22, (short)54, (short)44, (short)22, (short)22, (short)22, (short)37, (short)592, (short)58, (short)35, (short)36, (short)31, (short)96, (short)588, (short)38, (short)22, (short)44, (short)65, (short)66, (short)571, (short)37, (short)42, (short)22, (short)35, (short)36, (short)587, (short)66, (short)40, (short)38, (short)94, (short)22, (short)42, (short)587, (short)22, (short)23, (short)97, (short)23, (short)23, (short)23, (short)23, (short)35, (short)40, (short)39, (short)94, (short)65, (short)35, (short)38, (short)23, (short)44, (short)35, (short)23, (short)23, (short)41, (short)38, (short)37, (short)36, (short)39, (short)38, (short)35, (short)36, (short)38, (short)36, (short)23, (short)95, (short)620, (short)43, (short)41, (short)93, (short)45, (short)23, (short)40, (short)620, (short)40, (short)46, (short)39, (short)39, (short)47, (short)23, (short)39, (short)43, (short)48, (short)40, (short)45, (short)49, (short)92, (short)39, (short)88, (short)46, (short)39, (short)50, (short)47, (short)103, (short)41, (short)52, (short)48, (short)41, (short)73, (short)49, (short)41, (short)51, (short)45, (short)100, (short)43, (short)50, (short)45, (short)103, (short)60, (short)52, (short)34, (short)43, (short)43, (short)27, (short)47, (short)51, (short)43, (short)100, (short)48, (short)81, (short)81, (short)48, (short)48, (short)46, (short)49, (short)124, (short)46, (short)52, (short)16, (short)13, (short)8, (short)50, (short)48, (short)48, (short)52, (short)48, (short)50, (short)101, (short)81, (short)124, (short)49, (short)51, (short)74, (short)74, (short)74, (short)74, (short)81, (short)51, (short)103, (short)102, (short)104, (short)101, (short)105, (short)74, (short)74, (short)3, (short)74, (short)100, (short)0, (short)78, (short)78, (short)78, (short)78, (short)102, (short)104, (short)0, (short)105, (short)106, (short)74, (short)74, (short)78, (short)78, (short)80, (short)78, (short)80, (short)74, (short)107, (short)80, (short)80, (short)80, (short)80, (short)106, (short)101, (short)0, (short)0, (short)78, (short)78, (short)108, (short)0, (short)0, (short)107, (short)109, (short)78, (short)79, (short)104, (short)79, (short)79, (short)79, (short)79, (short)102, (short)110, (short)108, (short)105, (short)106, (short)111, (short)109, (short)79, (short)0, (short)115, (short)79, (short)79, (short)0, (short)112, (short)113, (short)110, (short)114, (short)116, (short)117, (short)111, (short)108, (short)120, (short)79, (short)115, (short)109, (short)118, (short)107, (short)112, (short)113, (short)79, (short)114, (short)116, (short)117, (short)119, (short)121, (short)120, (short)0, (short)79, (short)99, (short)118, (short)0, (short)0, (short)122, (short)0, (short)123, (short)0, (short)110, (short)119, (short)121, (short)0, (short)112, (short)113, (short)99, (short)112, (short)125, (short)111, (short)122, (short)113, (short)123, (short)114, (short)115, (short)0, (short)126, (short)112, (short)0, (short)127, (short)116, (short)120, (short)125, (short)117, (short)99, (short)99, (short)99, (short)99, (short)99, (short)118, (short)126, (short)128, (short)99, (short)127, (short)0, (short)119, (short)121, (short)129, (short)130, (short)131, (short)99, (short)99, (short)99, (short)134, (short)99, (short)128, (short)122, (short)132, (short)123, (short)133, (short)126, (short)129, (short)130, (short)131, (short)616, (short)125, (short)135, (short)134, (short)136, (short)126, (short)137, (short)132, (short)616, (short)133, (short)138, (short)616, (short)126, (short)0, (short)127, (short)139, (short)135, (short)0, (short)136, (short)0, (short)137, (short)140, (short)128, (short)0, (short)138, (short)131, (short)132, (short)129, (short)0, (short)139, (short)141, (short)131, (short)144, (short)133, (short)0, (short)140, (short)142, (short)130, (short)137, (short)134, (short)133, (short)137, (short)136, (short)138, (short)141, (short)133, (short)144, (short)0, (short)135, (short)143, (short)142, (short)145, (short)137, (short)146, (short)137, (short)139, (short)147, (short)157, (short)157, (short)0, (short)136, (short)140, (short)0, (short)143, (short)0, (short)145, (short)152, (short)146, (short)152, (short)174, (short)147, (short)152, (short)152, (short)152, (short)152, (short)0, (short)157, (short)141, (short)160, (short)160, (short)144, (short)142, (short)0, (short)174, (short)157, (short)158, (short)158, (short)158, (short)158, (short)143, (short)165, (short)145, (short)166, (short)168, (short)145, (short)167, (short)147, (short)160, (short)143, (short)154, (short)154, (short)154, (short)154, (short)146, (short)165, (short)160, (short)166, (short)168, (short)0, (short)167, (short)154, (short)154, (short)155, (short)154, (short)155, (short)174, (short)0, (short)155, (short)155, (short)155, (short)155, (short)159, (short)159, (short)159, (short)159, (short)154, (short)154, (short)0, (short)169, (short)168, (short)167, (short)170, (short)154, (short)159, (short)0, (short)159, (short)171, (short)172, (short)173, (short)165, (short)165, (short)167, (short)169, (short)166, (short)175, (short)170, (short)176, (short)178, (short)159, (short)177, (short)171, (short)172, (short)173, (short)179, (short)159, (short)180, (short)181, (short)183, (short)175, (short)182, (short)176, (short)178, (short)0, (short)177, (short)0, (short)184, (short)185, (short)179, (short)0, (short)180, (short)181, (short)183, (short)171, (short)182, (short)0, (short)0, (short)170, (short)172, (short)178, (short)184, (short)185, (short)0, (short)169, (short)187, (short)177, (short)186, (short)188, (short)172, (short)181, (short)176, (short)189, (short)0, (short)190, (short)173, (short)175, (short)182, (short)193, (short)187, (short)191, (short)186, (short)188, (short)180, (short)0, (short)0, (short)189, (short)183, (short)190, (short)192, (short)0, (short)0, (short)193, (short)195, (short)191, (short)194, (short)184, (short)185, (short)185, (short)186, (short)0, (short)198, (short)0, (short)192, (short)189, (short)187, (short)190, (short)195, (short)196, (short)194, (short)197, (short)193, (short)199, (short)188, (short)190, (short)198, (short)191, (short)0, (short)200, (short)0, (short)201, (short)202, (short)196, (short)0, (short)197, (short)192, (short)199, (short)203, (short)204, (short)192, (short)0, (short)194, (short)200, (short)198, (short)201, (short)202, (short)205, (short)195, (short)206, (short)207, (short)208, (short)203, (short)204, (short)210, (short)196, (short)209, (short)197, (short)211, (short)212, (short)205, (short)205, (short)214, (short)206, (short)207, (short)208, (short)209, (short)213, (short)210, (short)215, (short)209, (short)0, (short)211, (short)212, (short)0, (short)216, (short)214, (short)201, (short)202, (short)204, (short)217, (short)213, (short)218, (short)215, (short)0, (short)206, (short)203, (short)208, (short)207, (short)216, (short)219, (short)0, (short)0, (short)0, (short)217, (short)220, (short)218, (short)221, (short)214, (short)222, (short)223, (short)224, (short)212, (short)225, (short)219, (short)211, (short)210, (short)213, (short)226, (short)220, (short)228, (short)221, (short)0, (short)222, (short)223, (short)224, (short)227, (short)225, (short)229, (short)230, (short)215, (short)0, (short)226, (short)231, (short)228, (short)235, (short)219, (short)218, (short)217, (short)233, (short)227, (short)221, (short)229, (short)230, (short)232, (short)224, (short)234, (short)231, (short)0, (short)235, (short)245, (short)263, (short)246, (short)233, (short)0, (short)220, (short)222, (short)0, (short)232, (short)265, (short)234, (short)223, (short)227, (short)225, (short)245, (short)263, (short)246, (short)226, (short)247, (short)230, (short)228, (short)233, (short)0, (short)265, (short)229, (short)0, (short)0, (short)0, (short)235, (short)232, (short)234, (short)0, (short)247, (short)231, (short)236, (short)236, (short)236, (short)236, (short)237, (short)237, (short)237, (short)237, (short)240, (short)240, (short)240, (short)240, (short)246, (short)243, (short)243, (short)238, (short)237, (short)238, (short)237, (short)248, (short)238, (short)238, (short)238, (short)238, (short)241, (short)241, (short)241, (short)241, (short)249, (short)250, (short)252, (short)237, (short)243, (short)248, (short)247, (short)251, (short)241, (short)237, (short)241, (short)253, (short)243, (short)254, (short)249, (short)250, (short)252, (short)0, (short)255, (short)257, (short)256, (short)251, (short)0, (short)241, (short)258, (short)253, (short)261, (short)254, (short)259, (short)241, (short)260, (short)248, (short)255, (short)257, (short)256, (short)262, (short)249, (short)264, (short)258, (short)266, (short)261, (short)251, (short)259, (short)267, (short)260, (short)268, (short)250, (short)0, (short)0, (short)262, (short)0, (short)264, (short)252, (short)266, (short)253, (short)256, (short)255, (short)267, (short)269, (short)268, (short)261, (short)253, (short)254, (short)270, (short)259, (short)0, (short)257, (short)258, (short)271, (short)273, (short)260, (short)272, (short)269, (short)274, (short)275, (short)276, (short)277, (short)270, (short)0, (short)264, (short)279, (short)262, (short)271, (short)273, (short)0, (short)272, (short)280, (short)274, (short)275, (short)276, (short)277, (short)278, (short)267, (short)281, (short)279, (short)268, (short)270, (short)282, (short)269, (short)283, (short)280, (short)284, (short)273, (short)285, (short)271, (short)278, (short)272, (short)281, (short)286, (short)0, (short)629, (short)282, (short)287, (short)283, (short)288, (short)284, (short)0, (short)285, (short)629, (short)275, (short)289, (short)629, (short)286, (short)279, (short)274, (short)276, (short)287, (short)290, (short)288, (short)291, (short)277, (short)0, (short)289, (short)292, (short)289, (short)278, (short)293, (short)0, (short)0, (short)294, (short)295, (short)290, (short)0, (short)291, (short)296, (short)282, (short)297, (short)292, (short)287, (short)298, (short)293, (short)284, (short)283, (short)294, (short)295, (short)299, (short)286, (short)0, (short)296, (short)288, (short)297, (short)300, (short)0, (short)298, (short)301, (short)303, (short)302, (short)304, (short)0, (short)299, (short)0, (short)294, (short)305, (short)306, (short)307, (short)300, (short)295, (short)290, (short)301, (short)303, (short)302, (short)304, (short)292, (short)310, (short)296, (short)0, (short)305, (short)306, (short)307, (short)0, (short)308, (short)0, (short)309, (short)0, (short)311, (short)297, (short)312, (short)310, (short)0, (short)304, (short)301, (short)313, (short)298, (short)299, (short)308, (short)303, (short)309, (short)306, (short)311, (short)314, (short)312, (short)300, (short)302, (short)315, (short)316, (short)313, (short)317, (short)307, (short)310, (short)321, (short)318, (short)0, (short)0, (short)314, (short)308, (short)305, (short)309, (short)315, (short)316, (short)322, (short)317, (short)0, (short)0, (short)321, (short)318, (short)319, (short)319, (short)319, (short)319, (short)313, (short)323, (short)312, (short)0, (short)322, (short)325, (short)320, (short)320, (short)320, (short)320, (short)326, (short)321, (short)324, (short)327, (short)0, (short)323, (short)317, (short)318, (short)320, (short)325, (short)320, (short)314, (short)328, (short)330, (short)326, (short)316, (short)324, (short)327, (short)329, (short)331, (short)0, (short)332, (short)0, (short)320, (short)333, (short)0, (short)328, (short)330, (short)322, (short)320, (short)0, (short)329, (short)329, (short)331, (short)323, (short)332, (short)324, (short)334, (short)333, (short)327, (short)335, (short)0, (short)336, (short)326, (short)325, (short)337, (short)0, (short)338, (short)339, (short)0, (short)0, (short)334, (short)328, (short)340, (short)335, (short)332, (short)336, (short)341, (short)342, (short)337, (short)333, (short)338, (short)339, (short)330, (short)331, (short)343, (short)0, (short)340, (short)344, (short)334, (short)0, (short)341, (short)342, (short)0, (short)345, (short)346, (short)347, (short)337, (short)348, (short)343, (short)338, (short)349, (short)344, (short)0, (short)340, (short)335, (short)350, (short)336, (short)345, (short)346, (short)347, (short)351, (short)348, (short)352, (short)353, (short)349, (short)0, (short)343, (short)354, (short)355, (short)350, (short)356, (short)359, (short)342, (short)0, (short)351, (short)357, (short)352, (short)353, (short)358, (short)345, (short)344, (short)354, (short)355, (short)348, (short)356, (short)359, (short)349, (short)346, (short)347, (short)357, (short)360, (short)361, (short)358, (short)0, (short)0, (short)362, (short)363, (short)364, (short)352, (short)354, (short)0, (short)365, (short)350, (short)366, (short)360, (short)361, (short)0, (short)351, (short)353, (short)362, (short)363, (short)364, (short)357, (short)366, (short)358, (short)365, (short)367, (short)366, (short)368, (short)369, (short)356, (short)370, (short)371, (short)372, (short)0, (short)373, (short)374, (short)375, (short)376, (short)377, (short)367, (short)364, (short)368, (short)369, (short)378, (short)370, (short)371, (short)372, (short)361, (short)373, (short)374, (short)375, (short)376, (short)377, (short)363, (short)362, (short)379, (short)0, (short)378, (short)380, (short)381, (short)365, (short)0, (short)0, (short)369, (short)382, (short)371, (short)373, (short)370, (short)375, (short)379, (short)367, (short)0, (short)380, (short)381, (short)378, (short)372, (short)376, (short)0, (short)382, (short)378, (short)383, (short)377, (short)384, (short)385, (short)386, (short)374, (short)387, (short)388, (short)389, (short)0, (short)0, (short)381, (short)390, (short)393, (short)383, (short)391, (short)384, (short)385, (short)386, (short)392, (short)387, (short)388, (short)389, (short)380, (short)382, (short)393, (short)390, (short)393, (short)394, (short)391, (short)0, (short)395, (short)383, (short)392, (short)385, (short)397, (short)0, (short)396, (short)398, (short)400, (short)399, (short)401, (short)394, (short)0, (short)386, (short)395, (short)0, (short)0, (short)403, (short)397, (short)388, (short)396, (short)398, (short)400, (short)399, (short)401, (short)387, (short)402, (short)389, (short)404, (short)391, (short)390, (short)403, (short)405, (short)392, (short)406, (short)407, (short)395, (short)408, (short)396, (short)0, (short)402, (short)409, (short)404, (short)0, (short)400, (short)394, (short)405, (short)410, (short)406, (short)407, (short)397, (short)408, (short)403, (short)401, (short)403, (short)409, (short)411, (short)398, (short)399, (short)0, (short)412, (short)410, (short)403, (short)413, (short)403, (short)0, (short)414, (short)402, (short)415, (short)406, (short)411, (short)416, (short)417, (short)408, (short)412, (short)0, (short)418, (short)413, (short)419, (short)404, (short)414, (short)405, (short)415, (short)420, (short)421, (short)416, (short)417, (short)422, (short)423, (short)407, (short)418, (short)409, (short)419, (short)424, (short)425, (short)0, (short)426, (short)420, (short)421, (short)427, (short)428, (short)422, (short)423, (short)429, (short)430, (short)431, (short)412, (short)424, (short)425, (short)413, (short)426, (short)432, (short)433, (short)427, (short)428, (short)420, (short)434, (short)429, (short)430, (short)431, (short)421, (short)416, (short)435, (short)0, (short)436, (short)432, (short)433, (short)437, (short)439, (short)424, (short)434, (short)438, (short)440, (short)0, (short)442, (short)441, (short)435, (short)422, (short)436, (short)443, (short)0, (short)437, (short)439, (short)444, (short)445, (short)438, (short)440, (short)430, (short)442, (short)441, (short)0, (short)446, (short)447, (short)443, (short)435, (short)431, (short)0, (short)444, (short)445, (short)448, (short)449, (short)433, (short)450, (short)451, (short)437, (short)446, (short)447, (short)438, (short)441, (short)0, (short)436, (short)439, (short)443, (short)448, (short)449, (short)440, (short)450, (short)451, (short)452, (short)453, (short)454, (short)455, (short)0, (short)444, (short)456, (short)0, (short)457, (short)458, (short)461, (short)0, (short)459, (short)460, (short)452, (short)453, (short)454, (short)455, (short)449, (short)462, (short)456, (short)447, (short)457, (short)458, (short)461, (short)451, (short)459, (short)460, (short)463, (short)0, (short)448, (short)0, (short)0, (short)462, (short)0, (short)452, (short)0, (short)464, (short)0, (short)454, (short)466, (short)465, (short)463, (short)455, (short)453, (short)460, (short)456, (short)467, (short)459, (short)460, (short)461, (short)464, (short)458, (short)468, (short)466, (short)465, (short)469, (short)470, (short)471, (short)0, (short)472, (short)467, (short)0, (short)0, (short)473, (short)462, (short)474, (short)468, (short)475, (short)476, (short)469, (short)470, (short)471, (short)464, (short)472, (short)477, (short)463, (short)465, (short)473, (short)478, (short)474, (short)479, (short)475, (short)476, (short)0, (short)480, (short)481, (short)482, (short)484, (short)477, (short)483, (short)0, (short)0, (short)478, (short)472, (short)479, (short)485, (short)486, (short)473, (short)480, (short)481, (short)482, (short)484, (short)0, (short)483, (short)470, (short)471, (short)487, (short)488, (short)0, (short)485, (short)486, (short)489, (short)478, (short)490, (short)491, (short)0, (short)476, (short)0, (short)481, (short)0, (short)487, (short)488, (short)475, (short)493, (short)483, (short)489, (short)492, (short)490, (short)491, (short)479, (short)494, (short)485, (short)495, (short)480, (short)496, (short)497, (short)498, (short)493, (short)0, (short)486, (short)492, (short)499, (short)500, (short)0, (short)494, (short)491, (short)495, (short)489, (short)496, (short)497, (short)498, (short)501, (short)488, (short)490, (short)493, (short)499, (short)500, (short)487, (short)502, (short)0, (short)492, (short)0, (short)503, (short)0, (short)504, (short)501, (short)505, (short)0, (short)506, (short)507, (short)508, (short)510, (short)502, (short)494, (short)0, (short)499, (short)503, (short)496, (short)504, (short)0, (short)505, (short)497, (short)506, (short)507, (short)508, (short)510, (short)0, (short)509, (short)501, (short)512, (short)511, (short)513, (short)500, (short)503, (short)514, (short)515, (short)0, (short)516, (short)0, (short)506, (short)501, (short)509, (short)517, (short)512, (short)511, (short)513, (short)0, (short)510, (short)514, (short)515, (short)504, (short)516, (short)502, (short)518, (short)519, (short)520, (short)517, (short)521, (short)522, (short)507, (short)508, (short)511, (short)523, (short)524, (short)0, (short)525, (short)509, (short)518, (short)519, (short)520, (short)513, (short)521, (short)522, (short)526, (short)0, (short)527, (short)523, (short)524, (short)516, (short)525, (short)0, (short)528, (short)529, (short)530, (short)515, (short)534, (short)531, (short)526, (short)521, (short)527, (short)519, (short)0, (short)522, (short)532, (short)524, (short)528, (short)529, (short)530, (short)533, (short)534, (short)531, (short)0, (short)536, (short)0, (short)526, (short)520, (short)527, (short)532, (short)523, (short)535, (short)537, (short)0, (short)533, (short)0, (short)538, (short)525, (short)536, (short)528, (short)531, (short)0, (short)539, (short)534, (short)540, (short)535, (short)537, (short)532, (short)541, (short)529, (short)538, (short)542, (short)543, (short)0, (short)544, (short)530, (short)539, (short)0, (short)540, (short)545, (short)533, (short)546, (short)541, (short)547, (short)0, (short)542, (short)543, (short)535, (short)544, (short)548, (short)549, (short)536, (short)549, (short)545, (short)550, (short)546, (short)551, (short)547, (short)537, (short)552, (short)540, (short)0, (short)553, (short)548, (short)549, (short)542, (short)554, (short)555, (short)550, (short)556, (short)551, (short)557, (short)543, (short)552, (short)558, (short)545, (short)553, (short)559, (short)560, (short)547, (short)554, (short)555, (short)561, (short)556, (short)0, (short)557, (short)0, (short)0, (short)558, (short)562, (short)552, (short)559, (short)560, (short)563, (short)564, (short)566, (short)561, (short)554, (short)555, (short)550, (short)556, (short)548, (short)0, (short)562, (short)565, (short)567, (short)568, (short)563, (short)564, (short)566, (short)570, (short)0, (short)574, (short)0, (short)0, (short)0, (short)560, (short)561, (short)565, (short)567, (short)568, (short)576, (short)572, (short)573, (short)570, (short)569, (short)574, (short)566, (short)559, (short)563, (short)569, (short)575, (short)569, (short)577, (short)578, (short)576, (short)572, (short)573, (short)0, (short)0, (short)568, (short)564, (short)570, (short)562, (short)569, (short)575, (short)579, (short)577, (short)578, (short)580, (short)567, (short)581, (short)565, (short)572, (short)573, (short)582, (short)583, (short)584, (short)586, (short)585, (short)579, (short)569, (short)575, (short)580, (short)589, (short)581, (short)594, (short)590, (short)595, (short)582, (short)583, (short)584, (short)586, (short)585, (short)596, (short)593, (short)577, (short)0, (short)589, (short)578, (short)594, (short)590, (short)595, (short)0, (short)0, (short)0, (short)597, (short)598, (short)596, (short)593, (short)599, (short)582, (short)0, (short)0, (short)0, (short)589, (short)580, (short)585, (short)590, (short)581, (short)597, (short)598, (short)600, (short)601, (short)599, (short)583, (short)593, (short)584, (short)586, (short)602, (short)0, (short)603, (short)604, (short)0, (short)0, (short)0, (short)600, (short)601, (short)607, (short)598, (short)605, (short)608, (short)597, (short)602, (short)596, (short)603, (short)604, (short)605, (short)605, (short)606, (short)610, (short)605, (short)607, (short)0, (short)606, (short)608, (short)606, (short)609, (short)611, (short)612, (short)599, (short)613, (short)614, (short)622, (short)610, (short)602, (short)623, (short)600, (short)606, (short)0, (short)607, (short)609, (short)611, (short)612, (short)0, (short)613, (short)614, (short)622, (short)615, (short)624, (short)623, (short)607, (short)625, (short)618, (short)0, (short)615, (short)615, (short)626, (short)609, (short)615, (short)618, (short)618, (short)0, (short)624, (short)618, (short)627, (short)625, (short)619, (short)610, (short)628, (short)614, (short)626, (short)0, (short)611, (short)619, (short)619, (short)623, (short)630, (short)619, (short)627, (short)0, (short)622, (short)631, (short)628, (short)612, (short)630, (short)632, (short)0, (short)630, (short)0, (short)631, (short)634, (short)635, (short)631, (short)632, (short)0, (short)624, (short)632, (short)634, (short)634, (short)635, (short)636, (short)634, (short)635, (short)0, (short)639, (short)626, (short)0, (short)636, (short)636, (short)637, (short)640, (short)636, (short)0, (short)641, (short)628, (short)638, (short)637, (short)637, (short)639, (short)643, (short)637, (short)644, (short)638, (short)638, (short)640, (short)642, (short)638, (short)641, (short)0, (short)644, (short)645, (short)0, (short)644, (short)643, (short)0, (short)646, (short)647, (short)648, (short)645, (short)642, (short)657, (short)645, (short)639, (short)646, (short)647, (short)648, (short)646, (short)647, (short)648, (short)649, (short)0, (short)0, (short)0, (short)0, (short)657, (short)650, (short)0, (short)649, (short)0, (short)640, (short)649, (short)641, (short)651, (short)650, (short)652, (short)642, (short)650, (short)643, (short)653, (short)651, (short)651, (short)652, (short)652, (short)651, (short)655, (short)652, (short)653, (short)0, (short)658, (short)653, (short)656, (short)655, (short)655, (short)659, (short)660, (short)655, (short)661, (short)656, (short)656, (short)0, (short)0, (short)656, (short)658, (short)662, (short)663, (short)664, (short)0, (short)659, (short)660, (short)665, (short)661, (short)662, (short)663, (short)664, (short)662, (short)663, (short)664, (short)665, (short)666, (short)667, (short)665, (short)0, (short)0, (short)668, (short)0, (short)670, (short)666, (short)667, (short)0, (short)666, (short)667, (short)668, (short)670, (short)670, (short)668, (short)671, (short)670, (short)672, (short)658, (short)659, (short)660, (short)674, (short)673, (short)671, (short)672, (short)672, (short)671, (short)675, (short)672, (short)673, (short)673, (short)661, (short)676, (short)673, (short)677, (short)674, (short)678, (short)0, (short)687, (short)0, (short)0, (short)675, (short)679, (short)680, (short)678, (short)686, (short)676, (short)678, (short)677, (short)681, (short)679, (short)680, (short)687, (short)679, (short)680, (short)682, (short)683, (short)681, (short)0, (short)686, (short)681, (short)684, (short)688, (short)682, (short)683, (short)0, (short)682, (short)683, (short)685, (short)684, (short)688, (short)691, (short)684, (short)688, (short)675, (short)685, (short)685, (short)676, (short)689, (short)685, (short)690, (short)686, (short)692, (short)693, (short)694, (short)691, (short)689, (short)0, (short)690, (short)689, (short)0, (short)690, (short)0, (short)0, (short)0, (short)0, (short)692, (short)693, (short)694, (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)691, (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)0, (short)0, (short)693, (short)696, (short)696, (short)696, (short)696, (short)696, (short)696, (short)696, (short)696, (short)696, (short)696, (short)697, (short)697, (short)697, (short)697, (short)0, (short)697, (short)697, (short)697, (short)697, (short)697, (short)698, (short)0, (short)0, (short)0, (short)698, (short)698, (short)698, (short)699, (short)699, (short)700, (short)700, (short)701, (short)701, (short)701, (short)702, (short)702, (short)703, (short)703, (short)703, (short)703, (short)704, (short)0, (short)0, (short)0, (short)704, (short)704, (short)704, (short)704, (short)704, (short)705, (short)705, (short)0, (short)0, (short)0, (short)705, (short)705, (short)705, (short)705, (short)706, (short)0, (short)0, (short)0, (short)706, (short)706, (short)706, (short)706, (short)706, (short)707, (short)707, (short)0, (short)0, (short)0, (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)0, (short)0, (short)0, (short)709, (short)709, (short)709, (short)709, (short)709, (short)710, (short)710, (short)0, (short)0, (short)0, (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)0, (short)0, (short)0, (short)712, (short)712, (short)712, (short)712, (short)712, (short)713, (short)713, (short)0, (short)0, (short)0, (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)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695, (short)695
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 >= 696)
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)2449);
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 163LL:
1684 {
1685 if(--include_stack_ptr < 0)
1686 {
1687 return 0;
1688 }
1689 else
1690 {
1691 (__ecereNameSpace__ecere__com__eInstance_DecRef(fileInput), fileInput = 0);
1692 yy_delete_buffer(yy_current_buffer);
1693 fileInput = fileStack[include_stack_ptr];
1694 yylloc = locStack[include_stack_ptr];
1695 type_yylloc = locStack[include_stack_ptr];
1696 expression_yylloc = locStack[include_stack_ptr];
1697 yy_switch_to_buffer(include_stack[include_stack_ptr]);
1698 defaultDeclMode = declMode = declModeStack[include_stack_ptr];
1699 }
1700 }
1701 break;
1702 case 157:
1703 TESTTTT();
1704 {
1705 yylloc.start = yylloc.end;
1706 type_yylloc.start = type_yylloc.end;
1707 expression_yylloc.start = expression_yylloc.end;
1708 }
1709 break;
1710 case 158:
1711 TESTTTT();
1712 {
1713 yylloc.end.charPos = 1;
1714 yylloc.end.line += yyleng;
1715 yylloc.start = yylloc.end;
1716 type_yylloc.end.charPos = 1;
1717 type_yylloc.end.line += yyleng;
1718 type_yylloc.start = type_yylloc.end;
1719 expression_yylloc.end.charPos = 1;
1720 expression_yylloc.end.line += yyleng;
1721 expression_yylloc.start = expression_yylloc.end;
1722 }
1723 break;
1724 case 159:
1725 TESTTTT();
1726 {
1727 yylloc.start.charPos++;
1728 yylloc.end.charPos = yylloc.start.charPos;
1729 yylloc.start.pos = yylloc.end.pos;
1730 expression_yylloc.start.charPos++;
1731 expression_yylloc.end.charPos = expression_yylloc.start.charPos;
1732 expression_yylloc.start.pos = expression_yylloc.end.pos;
1733 type_yylloc.start.charPos++;
1734 type_yylloc.end.charPos = type_yylloc.start.charPos;
1735 type_yylloc.start.pos = type_yylloc.end.pos;
1736 }
1737 break;
1738 case 160:
1739 TESTTTT();
1740 {
1741 yylloc.start = yylloc.end;
1742 expression_yylloc.start = expression_yylloc.end;
1743 type_yylloc.start = type_yylloc.end;
1744 }
1745 break;
1746 case 161:
1747 TESTTTT();
1748 (void)fwrite(yytext, yyleng, 1, yyout);
1749 break;
1750 case 162:
1751 {
1752 int yy_amount_of_matched_text = (int)(yy_cp - yytext) - 1;
1753
1754 *yy_cp = yy_hold_char;
1755 if((*yy_current_buffer).yy_buffer_status == 0)
1756 {
1757 yy_n_chars = (*yy_current_buffer).yy_n_chars;
1758 (*yy_current_buffer).yy_input_file = yyin;
1759 (*yy_current_buffer).yy_buffer_status = 1;
1760 }
1761 if(yy_c_buf_p <= &(*yy_current_buffer).yy_ch_buf[yy_n_chars])
1762 {
1763 yy_state_type yy_next_state;
1764
1765 yy_c_buf_p = yytext + yy_amount_of_matched_text;
1766 yy_current_state = yy_get_previous_state();
1767 yy_next_state = yy_try_NUL_trans(yy_current_state);
1768 yy_bp = yytext + 0;
1769 if(yy_next_state)
1770 {
1771 yy_cp = ++yy_c_buf_p;
1772 yy_current_state = yy_next_state;
1773 goto yy_match;
1774 }
1775 else
1776 {
1777 yy_cp = yy_c_buf_p;
1778 goto yy_find_action;
1779 }
1780 }
1781 else
1782 switch(yy_get_next_buffer())
1783 {
1784 case 1:
1785 {
1786 yy_did_buffer_switch_on_eof = 0;
1787 if(yywrap())
1788 {
1789 yy_c_buf_p = yytext + 0;
1790 yy_act = (162 + ((yy_start - 1) / 2) + 1);
1791 goto do_action;
1792 }
1793 else
1794 {
1795 if(!yy_did_buffer_switch_on_eof)
1796 yyrestart(yyin);
1797 }
1798 break;
1799 }
1800 case 0:
1801 yy_c_buf_p = yytext + yy_amount_of_matched_text;
1802 yy_current_state = yy_get_previous_state();
1803 yy_cp = yy_c_buf_p;
1804 yy_bp = yytext + 0;
1805 goto yy_match;
1806 case 2:
1807 yy_c_buf_p = &(*yy_current_buffer).yy_ch_buf[yy_n_chars];
1808 yy_current_state = yy_get_previous_state();
1809 yy_cp = yy_c_buf_p;
1810 yy_bp = yytext + 0;
1811 goto yy_find_action;
1812 }
1813 break;
1814 }
1815 default:
1816 yy_fatal_error("fatal flex scanner internal error--no action found");
1817 }
1818 }
1819 }
1820
1821 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
1822
1823 static int yy_get_next_buffer()
1824 {
1825 register char * dest = (*yy_current_buffer).yy_ch_buf;
1826 register char * source = yytext;
1827 register int number_to_move, i;
1828 int ret_val;
1829
1830 if(yy_c_buf_p > &(*yy_current_buffer).yy_ch_buf[yy_n_chars + 1])
1831 yy_fatal_error("fatal flex scanner internal error--end of buffer missed");
1832 if((*yy_current_buffer).yy_fill_buffer == 0)
1833 {
1834 if(yy_c_buf_p - yytext - 0 == 1)
1835 {
1836 return 1;
1837 }
1838 else
1839 {
1840 return 2;
1841 }
1842 }
1843 number_to_move = (int)(yy_c_buf_p - yytext) - 1;
1844 for(i = 0; i < number_to_move; ++i)
1845 *(dest++) = *(source++);
1846 if((*yy_current_buffer).yy_buffer_status == 2)
1847 (*yy_current_buffer).yy_n_chars = yy_n_chars = 0;
1848 else
1849 {
1850 int num_to_read = (*yy_current_buffer).yy_buf_size - number_to_move - 1;
1851
1852 while(num_to_read <= 0)
1853 {
1854 YY_BUFFER_STATE b = yy_current_buffer;
1855 int yy_c_buf_p_offset = (int)(yy_c_buf_p - (*b).yy_ch_buf);
1856
1857 if((*b).yy_is_our_buffer)
1858 {
1859 int new_size = (*b).yy_buf_size * 2;
1860
1861 if(new_size <= 0)
1862 (*b).yy_buf_size += (*b).yy_buf_size / 8;
1863 else
1864 (*b).yy_buf_size *= 2;
1865 (*b).yy_ch_buf = (char *)yy_flex_realloc((void *)(*b).yy_ch_buf, (*b).yy_buf_size + 2);
1866 }
1867 else
1868 (*b).yy_ch_buf = 0;
1869 if(!(*b).yy_ch_buf)
1870 yy_fatal_error("fatal error - scanner input buffer overflow");
1871 yy_c_buf_p = &(*b).yy_ch_buf[yy_c_buf_p_offset];
1872 num_to_read = (*yy_current_buffer).yy_buf_size - number_to_move - 1;
1873 }
1874 if(num_to_read > 8192)
1875 num_to_read = 8192;
1876 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);
1877 (*yy_current_buffer).yy_n_chars = yy_n_chars;
1878 }
1879 if(yy_n_chars == 0)
1880 {
1881 if(number_to_move == 0)
1882 {
1883 ret_val = 1;
1884 yyrestart(yyin);
1885 }
1886 else
1887 {
1888 ret_val = 2;
1889 (*yy_current_buffer).yy_buffer_status = 2;
1890 }
1891 }
1892 else
1893 ret_val = 0;
1894 yy_n_chars += number_to_move;
1895 (*yy_current_buffer).yy_ch_buf[yy_n_chars] = (char)0;
1896 (*yy_current_buffer).yy_ch_buf[yy_n_chars + 1] = (char)0;
1897 yytext = &(*yy_current_buffer).yy_ch_buf[0];
1898 return ret_val;
1899 }
1900
1901 static yy_state_type yy_get_previous_state()
1902 {
1903 register yy_state_type yy_current_state;
1904 register char * yy_cp;
1905
1906 yy_current_state = yy_start;
1907 for(yy_cp = yytext + 0; yy_cp < yy_c_buf_p; ++yy_cp)
1908 {
1909 register YY_CHAR yy_c = (*yy_cp ? yy_ec[((unsigned int)(unsigned char)*yy_cp)] : (unsigned char)1);
1910
1911 if(yy_accept[yy_current_state])
1912 {
1913 yy_last_accepting_state = yy_current_state;
1914 yy_last_accepting_cpos = yy_cp;
1915 }
1916 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
1917 {
1918 yy_current_state = (int)yy_def[yy_current_state];
1919 if(yy_current_state >= 696)
1920 yy_c = yy_meta[(unsigned int)yy_c];
1921 }
1922 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
1923 }
1924 return yy_current_state;
1925 }
1926
1927 static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state)
1928 {
1929 register int yy_is_jam;
1930 register char * yy_cp = yy_c_buf_p;
1931 register YY_CHAR yy_c = (unsigned char)1;
1932
1933 if(yy_accept[yy_current_state])
1934 {
1935 yy_last_accepting_state = yy_current_state;
1936 yy_last_accepting_cpos = yy_cp;
1937 }
1938 while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
1939 {
1940 yy_current_state = (int)yy_def[yy_current_state];
1941 if(yy_current_state >= 696)
1942 yy_c = yy_meta[(unsigned int)yy_c];
1943 }
1944 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c];
1945 yy_is_jam = (yy_current_state == 695);
1946 return yy_is_jam ? 0 : yy_current_state;
1947 }
1948
1949 static void yyunput(int c, register char * yy_bp)
1950 {
1951 register char * yy_cp = yy_c_buf_p;
1952
1953 *yy_cp = yy_hold_char;
1954 if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
1955 {
1956 register int number_to_move = yy_n_chars + 2;
1957 register char * dest = &(*yy_current_buffer).yy_ch_buf[(*yy_current_buffer).yy_buf_size + 2];
1958 register char * source = &(*yy_current_buffer).yy_ch_buf[number_to_move];
1959
1960 while(source > (*yy_current_buffer).yy_ch_buf)
1961 *--dest = *--source;
1962 yy_cp += (int)(dest - source);
1963 yy_bp += (int)(dest - source);
1964 (*yy_current_buffer).yy_n_chars = yy_n_chars = (*yy_current_buffer).yy_buf_size;
1965 if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
1966 yy_fatal_error("flex scanner push-back overflow");
1967 }
1968 *--yy_cp = (char)c;
1969 yytext = yy_bp;
1970 yy_hold_char = *yy_cp;
1971 yy_c_buf_p = yy_cp;
1972 }
1973
1974 static int input()
1975 {
1976 int c;
1977
1978 *yy_c_buf_p = yy_hold_char;
1979 if(*yy_c_buf_p == (char)0)
1980 {
1981 if(yy_c_buf_p < &(*yy_current_buffer).yy_ch_buf[yy_n_chars])
1982 *yy_c_buf_p = '\0';
1983 else
1984 {
1985 int offset = yy_c_buf_p - yytext;
1986
1987 ++yy_c_buf_p;
1988 switch(yy_get_next_buffer())
1989 {
1990 case 2:
1991 yyrestart(yyin);
1992 case 1:
1993 {
1994 if(yywrap())
1995 return (-1);
1996 if(!yy_did_buffer_switch_on_eof)
1997 yyrestart(yyin);
1998 return input();
1999 }
2000 case 0:
2001 yy_c_buf_p = yytext + offset;
2002 break;
2003 }
2004 }
2005 }
2006 c = *(unsigned char *)yy_c_buf_p;
2007 *yy_c_buf_p = '\0';
2008 yy_hold_char = *++yy_c_buf_p;
2009 return c;
2010 }
2011
2012 void yyrestart(FILE * input_file)
2013 {
2014 if(!yy_current_buffer)
2015 yy_current_buffer = yy_create_buffer(yyin, 16384);
2016 yy_init_buffer(yy_current_buffer, input_file);
2017 yy_load_buffer_state();
2018 }
2019
2020 void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
2021 {
2022 if(yy_current_buffer == new_buffer)
2023 return ;
2024 if(yy_current_buffer)
2025 {
2026 *yy_c_buf_p = yy_hold_char;
2027 (*yy_current_buffer).yy_buf_pos = yy_c_buf_p;
2028 (*yy_current_buffer).yy_n_chars = yy_n_chars;
2029 }
2030 yy_current_buffer = new_buffer;
2031 yy_load_buffer_state();
2032 yy_did_buffer_switch_on_eof = 1;
2033 }
2034
2035 void yy_load_buffer_state(void)
2036 {
2037 yy_n_chars = (*yy_current_buffer).yy_n_chars;
2038 yytext = yy_c_buf_p = (*yy_current_buffer).yy_buf_pos;
2039 yyin = (*yy_current_buffer).yy_input_file;
2040 yy_hold_char = *yy_c_buf_p;
2041 }
2042
2043 YY_BUFFER_STATE yy_create_buffer(FILE * file, int size)
2044 {
2045 YY_BUFFER_STATE b;
2046
2047 b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
2048 if(!b)
2049 yy_fatal_error("out of dynamic memory in yy_create_buffer()");
2050 (*b).yy_buf_size = size;
2051 (*b).yy_ch_buf = (char *)yy_flex_alloc((*b).yy_buf_size + 2);
2052 if(!(*b).yy_ch_buf)
2053 yy_fatal_error("out of dynamic memory in yy_create_buffer()");
2054 (*b).yy_is_our_buffer = 1;
2055 yy_init_buffer(b, file);
2056 return b;
2057 }
2058
2059 void yy_delete_buffer(YY_BUFFER_STATE b)
2060 {
2061 if(!b)
2062 return ;
2063 if(b == yy_current_buffer)
2064 yy_current_buffer = (YY_BUFFER_STATE)0;
2065 if((*b).yy_is_our_buffer)
2066 yy_flex_free((void *)(*b).yy_ch_buf);
2067 yy_flex_free((void *)b);
2068 }
2069
2070 extern int isatty(int);
2071
2072 void yy_init_buffer(YY_BUFFER_STATE b, FILE * file)
2073 {
2074 yy_flush_buffer(b);
2075 (*b).yy_input_file = file;
2076 (*b).yy_fill_buffer = 1;
2077 (*b).yy_is_interactive = file ? (isatty(fileno(file)) > 0) : 0;
2078 }
2079
2080 void yy_flush_buffer(YY_BUFFER_STATE b)
2081 {
2082 if(!b)
2083 return ;
2084 (*b).yy_n_chars = 0;
2085 (*b).yy_ch_buf[0] = (char)0;
2086 (*b).yy_ch_buf[1] = (char)0;
2087 (*b).yy_buf_pos = &(*b).yy_ch_buf[0];
2088 (*b).yy_at_bol = 1;
2089 (*b).yy_buffer_status = 0;
2090 if(b == yy_current_buffer)
2091 yy_load_buffer_state();
2092 }
2093
2094 YY_BUFFER_STATE yy_scan_buffer(char * base, yy_size_t size)
2095 {
2096 YY_BUFFER_STATE b;
2097
2098 if(size < 2 || base[size - 2] != (char)0 || base[size - 1] != (char)0)
2099 return 0;
2100 b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
2101 if(!b)
2102 yy_fatal_error("out of dynamic memory in yy_scan_buffer()");
2103 (*b).yy_buf_size = size - 2;
2104 (*b).yy_buf_pos = (*b).yy_ch_buf = base;
2105 (*b).yy_is_our_buffer = 0;
2106 (*b).yy_input_file = 0;
2107 (*b).yy_n_chars = (*b).yy_buf_size;
2108 (*b).yy_is_interactive = 0;
2109 (*b).yy_at_bol = 1;
2110 (*b).yy_fill_buffer = 0;
2111 (*b).yy_buffer_status = 0;
2112 yy_switch_to_buffer(b);
2113 return b;
2114 }
2115
2116 YY_BUFFER_STATE yy_scan_string(const char * yy_str)
2117 {
2118 int len;
2119
2120 for(len = 0; yy_str[len]; ++len)
2121 ;
2122 return yy_scan_bytes(yy_str, len);
2123 }
2124
2125 YY_BUFFER_STATE yy_scan_bytes(const char * bytes, int len)
2126 {
2127 YY_BUFFER_STATE b;
2128 char * buf;
2129 yy_size_t n;
2130 int i;
2131
2132 n = len + 2;
2133 buf = (char *)yy_flex_alloc(n);
2134 if(!buf)
2135 yy_fatal_error("out of dynamic memory in yy_scan_bytes()");
2136 for(i = 0; i < len; ++i)
2137 buf[i] = bytes[i];
2138 buf[len] = buf[len + 1] = (char)0;
2139 b = yy_scan_buffer(buf, n);
2140 if(!b)
2141 yy_fatal_error("bad buffer in yy_scan_bytes()");
2142 (*b).yy_is_our_buffer = 1;
2143 return b;
2144 }
2145
2146 static void yy_fatal_error(const char msg[])
2147 {
2148 (void)fprintf((bsl_stderr()), "%s\n", msg);
2149 exit(2);
2150 }
2151
2152 static void * yy_flex_alloc(yy_size_t size)
2153 {
2154 return (void *)malloc(size);
2155 }
2156
2157 static void * yy_flex_realloc(void * ptr, yy_size_t size)
2158 {
2159 return (void *)realloc((char *)ptr, size);
2160 }
2161
2162 static void yy_flex_free(void * ptr)
2163 {
2164 free(ptr);
2165 }
2166
2167 yywrap()
2168 {
2169 return (1);
2170 }
2171
2172 int comment()
2173 {
2174 int c, last = 0;
2175
2176 for(; ; )
2177 {
2178 c = input();
2179 if(c == (-1))
2180 break;
2181 if(c == '\n')
2182 {
2183 yylloc.end.charPos = 1;
2184 yylloc.end.pos++;
2185 yylloc.end.line++;
2186 }
2187 else if(c == '\t')
2188 {
2189 yylloc.end.charPos++;
2190 yylloc.end.pos++;
2191 }
2192 else
2193 {
2194 yylloc.end.charPos++;
2195 yylloc.end.pos++;
2196 }
2197 if(c == '/' && last == '*')
2198 break;
2199 last = c;
2200 }
2201 yylloc.start = yylloc.end;
2202 return 0;
2203 }
2204
2205 int commentCPP()
2206 {
2207 int c, last = 0;
2208
2209 for(; ; )
2210 {
2211 c = input();
2212 if(c == (-1))
2213 break;
2214 if(c == '\n')
2215 {
2216 yylloc.end.charPos = 1;
2217 yylloc.end.pos++;
2218 yylloc.end.line++;
2219 break;
2220 }
2221 else if(c == '\t')
2222 {
2223 yylloc.end.charPos++;
2224 yylloc.end.pos++;
2225 }
2226 else
2227 {
2228 yylloc.end.charPos++;
2229 yylloc.end.pos++;
2230 }
2231 last = c;
2232 }
2233 yylloc.start = yylloc.end;
2234 return 0;
2235 }
2236
2237 extern int __ecereNameSpace__ecere__sys__GetValue(char * *  buffer);
2238
2239 extern unsigned int __ecereNameSpace__ecere__sys__GetString(char * *  buffer, char *  string, int max);
2240
2241 extern char *  __ecereNameSpace__ecere__sys__GetExtension(char *  string, char *  output);
2242
2243 extern int strcmp(const char * , const char * );
2244
2245 extern int GetIncludeFileID(char *  includeFile);
2246
2247 extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(char *  string, char *  output);
2248
2249 extern int strncmp(const char * , const char * , int n);
2250
2251 extern char *  strncpy(char * , const char * , int n);
2252
2253 extern unsigned int inCompiler;
2254
2255 extern int FindIncludeFileID(char *  includeFile);
2256
2257 extern struct __ecereNameSpace__ecere__com__Instance * OpenIncludeFile(char *  includeFile);
2258
2259 extern int printf(char * , ...);
2260
2261 int preprocessor()
2262 {
2263 int c, last = 0;
2264 int count = 0;
2265 char line[1024];
2266
2267 line[0] = '\0';
2268 for(; ; )
2269 {
2270 c = input();
2271 if(c == (-1))
2272 break;
2273 if(c == '\n')
2274 {
2275 yylloc.end.charPos = 1;
2276 yylloc.end.pos++;
2277 yylloc.end.line++;
2278 if(last != '\\')
2279 {
2280 char * pointer = line + 1;
2281 int lineNumber;
2282
2283 line[count] = (char)0;
2284 lineNumber = __ecereNameSpace__ecere__sys__GetValue(&pointer);
2285 if(lineNumber)
2286 {
2287 char fileName[797];
2288 int inOut;
2289
2290 __ecereNameSpace__ecere__sys__GetString(&pointer, fileName, (797));
2291 inOut = __ecereNameSpace__ecere__sys__GetValue(&pointer);
2292 if(inOut == 1)
2293 {
2294 char extension[17];
2295
2296 defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
2297 __ecereNameSpace__ecere__sys__GetExtension(fileName, extension);
2298 if(!strcmp(extension, "c") || !strcmp(extension, "h"))
2299 declMode = defaultDeclMode = 0;
2300 include_stack_ptr++;
2301 }
2302 else if(inOut == 2)
2303 {
2304 include_stack_ptr--;
2305 defaultDeclMode = declMode = declModeStack[include_stack_ptr];
2306 }
2307 yylloc.end.charPos = 1;
2308 yylloc.end.line = lineNumber;
2309 yylloc.end.included = (include_stack_ptr > 0) ? (unsigned int)GetIncludeFileID(fileName) : (unsigned int)0;
2310 }
2311 break;
2312 }
2313 count = 0;
2314 }
2315 else if(c == '\t')
2316 {
2317 yylloc.end.charPos++;
2318 yylloc.end.pos++;
2319 line[count++] = c;
2320 }
2321 else
2322 {
2323 yylloc.end.pos++;
2324 if(c != '\r')
2325 {
2326 yylloc.end.charPos++;
2327 line[count++] = c;
2328 }
2329 }
2330 last = c;
2331 }
2332 yylloc.start = yylloc.end;
2333 line[count] = (char)0;
2334 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
2335 for(c = 0; line[c] && line[c] != ' '; c++)
2336 ;
2337 if(!strncmp(line, "include", c))
2338 {
2339 char includeFile[797] = "";
2340
2341 strcpy(line, line + c);
2342 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
2343 if(line[0] == '\"')
2344 {
2345 for(c = 1; line[c]; c++)
2346 {
2347 if(line[c] == '\"')
2348 {
2349 strncpy(includeFile, line + 1, c - 1);
2350 includeFile[c - 1] = '\0';
2351 break;
2352 }
2353 }
2354 }
2355 else if(line[0] == '<')
2356 {
2357 for(c = 1; line[c]; c++)
2358 if(line[c] == '>')
2359 {
2360 strncpy(includeFile, line + 1, c - 1);
2361 includeFile[c - 1] = '\0';
2362 break;
2363 }
2364 }
2365 if(include_stack_ptr >= (10))
2366 {
2367 fprintf((bsl_stderr()), "Includes nested too deeply");
2368 exit(1);
2369 }
2370 if(inCompiler || !FindIncludeFileID(includeFile))
2371 {
2372 struct __ecereNameSpace__ecere__com__Instance * file = OpenIncludeFile(includeFile);
2373
2374 if(file)
2375 {
2376 char extension[17];
2377
2378 fileStack[include_stack_ptr] = fileInput;
2379 locStack[include_stack_ptr] = yylloc;
2380 defaultDeclMode = declModeStack[include_stack_ptr] = declMode;
2381 include_stack[include_stack_ptr++] = yy_current_buffer;
2382 yylloc.start.charPos = yylloc.end.charPos = 1;
2383 yylloc.start.line = yylloc.end.line = 1;
2384 yylloc.start.pos = yylloc.end.pos = 0;
2385 yylloc.start.included = yylloc.end.included = (unsigned int)GetIncludeFileID(includeFile);
2386 __ecereNameSpace__ecere__sys__GetExtension(includeFile, extension);
2387 if(!strcmp(extension, "c") || !strcmp(extension, "h"))
2388 declMode = defaultDeclMode = 0;
2389 fileInput = file;
2390 yy_switch_to_buffer(yy_create_buffer(fileInput, 16384));
2391 yy_start = 1 + 2 * (0);
2392 }
2393 else
2394 printf("");
2395 }
2396 }
2397 return 0;
2398 }
2399
2400 void resetScanner()
2401 {
2402 yy_flush_buffer(yy_current_buffer);
2403 yylloc.start.charPos = yylloc.end.charPos = 1;
2404 yylloc.start.line = yylloc.end.line = 1;
2405 yylloc.start.pos = yylloc.end.pos = 0;
2406 yylloc.start.included = yylloc.end.included = 0x0;
2407 expression_yylloc.start.charPos = expression_yylloc.end.charPos = 1;
2408 expression_yylloc.start.line = expression_yylloc.end.line = 1;
2409 expression_yylloc.start.pos = expression_yylloc.end.pos = 0;
2410 expression_yylloc.start.included = expression_yylloc.end.included = 0x0;
2411 type_yylloc.start.charPos = type_yylloc.end.charPos = 1;
2412 type_yylloc.start.line = type_yylloc.end.line = 1;
2413 type_yylloc.start.pos = type_yylloc.end.pos = 0;
2414 type_yylloc.start.included = type_yylloc.end.included = 0x0;
2415 include_stack_ptr = 0;
2416 }
2417
2418 void resetScannerPos(struct CodePosition * pos)
2419 {
2420 yy_flush_buffer(yy_current_buffer);
2421 yylloc.start = yylloc.end = *pos;
2422 type_yylloc.start = type_yylloc.end = *pos;
2423 expression_yylloc.start = expression_yylloc.end = *pos;
2424 }
2425
2426 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);
2427
2428 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
2429
2430 struct __ecereNameSpace__ecere__com__NameSpace
2431 {
2432 char *  name;
2433 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
2434 struct __ecereNameSpace__ecere__com__NameSpace *  left;
2435 struct __ecereNameSpace__ecere__com__NameSpace *  right;
2436 int depth;
2437 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
2438 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
2439 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
2440 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
2441 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
2442 };
2443
2444 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
2445
2446 struct __ecereNameSpace__ecere__com__Module
2447 {
2448 struct __ecereNameSpace__ecere__com__Instance * application;
2449 struct __ecereNameSpace__ecere__sys__OldList classes;
2450 struct __ecereNameSpace__ecere__sys__OldList defines;
2451 struct __ecereNameSpace__ecere__sys__OldList functions;
2452 struct __ecereNameSpace__ecere__sys__OldList modules;
2453 struct __ecereNameSpace__ecere__com__Instance * prev;
2454 struct __ecereNameSpace__ecere__com__Instance * next;
2455 char *  name;
2456 void *  library;
2457 void *  Unload;
2458 int importType;
2459 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
2460 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
2461 };
2462
2463 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
2464
2465 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);
2466
2467 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
2468
2469 struct __ecereNameSpace__ecere__com__GlobalFunction;
2470
2471 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);
2472
2473 void __ecereRegisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
2474 {
2475 struct __ecereNameSpace__ecere__com__Class * class;
2476
2477 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "yy_buffer_state", 0, sizeof(struct yy_buffer_state), 0, 0, 0, module, 2, 1);
2478 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
2479 __ecereClass_yy_buffer_state = class;
2480 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_input_file", "void *", 4, 4, 1);
2481 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_ch_buf", "char *", 4, 4, 1);
2482 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buf_pos", "char *", 4, 4, 1);
2483 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buf_size", "uint", 4, 4, 1);
2484 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_n_chars", "int", 4, 4, 1);
2485 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_is_our_buffer", "int", 4, 4, 1);
2486 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_is_interactive", "int", 4, 4, 1);
2487 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_at_bol", "int", 4, 4, 1);
2488 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_fill_buffer", "int", 4, 4, 1);
2489 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buffer_status", "int", 4, 4, 1);
2490 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetEchoOn", "void SetEchoOn(bool b)", SetEchoOn, module, 1);
2491 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("TESTTTT", "void TESTTTT(void)", TESTTTT, module, 2);
2492 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSomeSourceFileStack", "void SetSomeSourceFileStack(char * fileName, int index)", SetSomeSourceFileStack, module, 1);
2493 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("resetScanner", "void resetScanner(void)", resetScanner, module, 1);
2494 }
2495
2496 void __ecereUnregisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
2497 {
2498
2499 }
2500