1 #line 2 "gengtype-lex.c"
2 /* A lexical scanner generated by flex */
4 /* Scanner skeleton version:
5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
16 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
28 /* Use prototypes in function declarations. */
31 /* The "const" storage-class-modifier is valid. */
34 #else /* ! __cplusplus */
42 #endif /* ! __cplusplus */
61 #define YY_PROTO(proto) proto
63 #define YY_PROTO(proto) ()
66 /* Returned upon end-of-file. */
69 /* Promotes a possibly negative, possibly signed char to an unsigned
70 * integer for use as an array index. If the signed char is negative,
71 * we want to instead treat it as an 8-bit unsigned char, hence the
74 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
76 /* Enter a start condition. This macro really ought to take a parameter,
77 * but we do it the disgusting crufty way forced on us by the ()-less
78 * definition of BEGIN.
80 #define BEGIN yy_start = 1 + 2 *
82 /* Translate the current start state into a value that can be later handed
83 * to BEGIN to return to the state. The YYSTATE alias is for lex
86 #define YY_START ((yy_start - 1) / 2)
87 #define YYSTATE YY_START
89 /* Action number for EOF rule of a given start state. */
90 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
92 /* Special action meaning "start processing a new file". */
93 #define YY_NEW_FILE yyrestart( yyin )
95 #define YY_END_OF_BUFFER_CHAR 0
97 /* Size of default input buffer. */
98 #define YY_BUF_SIZE 16384
100 typedef struct yy_buffer_state *YY_BUFFER_STATE;
103 extern FILE *yyin, *yyout;
105 #define EOB_ACT_CONTINUE_SCAN 0
106 #define EOB_ACT_END_OF_FILE 1
107 #define EOB_ACT_LAST_MATCH 2
109 /* The funky do-while in the following #define is used to turn the definition
110 * int a single C statement (which needs a semi-colon terminator). This
111 * avoids problems with code like:
113 * if ( condition_holds )
116 * do_something_else();
118 * Prior to using the do-while the compiler would get upset at the
119 * "else" because it interpreted the "if" statement as being all
120 * done when it reached the ';' after the yyless() call.
123 /* Return all but the first 'n' matched characters back to the input stream. */
128 /* Undo effects of setting up yytext. */ \
129 *yy_cp = yy_hold_char; \
130 YY_RESTORE_YY_MORE_OFFSET \
131 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
132 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
136 #define unput(c) yyunput( c, yytext_ptr )
138 /* The following is because we cannot portably get our hands on size_t
139 * (without autoconf's help, which isn't available because we want
140 * flex-generated scanners to compile on their own).
142 typedef unsigned int yy_size_t;
145 struct yy_buffer_state
149 char *yy_ch_buf; /* input buffer */
150 char *yy_buf_pos; /* current position in input buffer */
152 /* Size of input buffer in bytes, not including room for EOB
155 yy_size_t yy_buf_size;
157 /* Number of characters read into yy_ch_buf, not including EOB
162 /* Whether we "own" the buffer - i.e., we know we created it,
163 * and can realloc() it to grow it, and should free() it to
166 int yy_is_our_buffer;
168 /* Whether this is an "interactive" input source; if so, and
169 * if we're using stdio for input, then we want to use getc()
170 * instead of fread(), to make sure we stop fetching input after
173 int yy_is_interactive;
175 /* Whether we're considered to be at the beginning of a line.
176 * If so, '^' rules will be active on the next match, otherwise
181 /* Whether to try to fill the input buffer when we reach the
186 int yy_buffer_status;
187 #define YY_BUFFER_NEW 0
188 #define YY_BUFFER_NORMAL 1
189 /* When an EOF's been seen but there's still some text to process
190 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
191 * shouldn't try reading from the input source any more. We might
192 * still have a bunch of tokens to match, though, because of
193 * possible backing-up.
195 * When we actually see the EOF, we change the status to "new"
196 * (via yyrestart()), so that the user can continue scanning by
197 * just pointing yyin at a new input file.
199 #define YY_BUFFER_EOF_PENDING 2
202 static YY_BUFFER_STATE yy_current_buffer = 0;
204 /* We provide macros for accessing buffer states in case in the
205 * future we want to put the buffer states in a more general
208 #define YY_CURRENT_BUFFER yy_current_buffer
211 /* yy_hold_char holds the character lost when yytext is formed. */
212 static char yy_hold_char;
214 static int yy_n_chars; /* number of characters read into yy_ch_buf */
219 /* Points to current character in buffer. */
220 static char *yy_c_buf_p = (char *) 0;
221 static int yy_init = 1; /* whether we need to initialize */
222 static int yy_start = 0; /* start state number */
224 /* Flag which is used to allow yywrap()'s to do buffer switches
225 * instead of setting up a fresh yyin. A bit of a hack ...
227 static int yy_did_buffer_switch_on_eof;
229 void yyrestart YY_PROTO(( FILE *input_file ));
231 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
232 void yy_load_buffer_state YY_PROTO(( void ));
233 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
234 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
235 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
236 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
237 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
239 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
240 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
241 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
243 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
244 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
245 static void yy_flex_free YY_PROTO(( void * ));
247 #define yy_new_buffer yy_create_buffer
249 #define yy_set_interactive(is_interactive) \
251 if ( ! yy_current_buffer ) \
252 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
253 yy_current_buffer->yy_is_interactive = is_interactive; \
256 #define yy_set_bol(at_bol) \
258 if ( ! yy_current_buffer ) \
259 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
260 yy_current_buffer->yy_at_bol = at_bol; \
263 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
267 #define YY_SKIP_YYWRAP
268 typedef unsigned char YY_CHAR;
269 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
270 typedef int yy_state_type;
272 #define yytext_ptr yytext
274 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
275 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
276 static int yy_get_next_buffer YY_PROTO(( void ));
277 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
279 /* Done after the current pattern has been matched and before the
280 * corresponding action - sets up yytext.
282 #define YY_DO_BEFORE_ACTION \
283 yytext_ptr = yy_bp; \
284 yyleng = (int) (yy_cp - yy_bp); \
285 yy_hold_char = *yy_cp; \
289 #define YY_NUM_RULES 60
290 #define YY_END_OF_BUFFER 61
291 static yyconst short int yy_accept[932] =
293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
294 61, 41, 41, 38, 56, 41, 56, 41, 39, 41,
295 41, 39, 36, 14, 14, 36, 36, 36, 32, 36,
296 22, 33, 36, 36, 36, 36, 36, 36, 36, 36,
297 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
298 46, 44, 57, 57, 52, 50, 55, 0, 0, 0,
299 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 43, 37, 43, 43,
301 43, 43, 39, 0, 0, 39, 14, 0, 28, 0,
302 0, 0, 0, 11, 22, 27, 0, 0, 0, 0,
304 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
305 0, 0, 0, 0, 0, 0, 0, 34, 30, 12,
306 13, 0, 47, 49, 48, 0, 53, 54, 0, 0,
307 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
308 39, 0, 31, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 30, 13, 0, 0, 0, 0, 0,
311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
312 39, 0, 0, 0, 16, 0, 27, 27, 0, 0,
313 24, 24, 0, 0, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
316 0, 0, 0, 0, 0, 0, 0, 39, 0, 0,
317 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 0, 0, 0, 0, 39, 0,
321 0, 0, 0, 0, 26, 0, 15, 0, 0, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
323 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
327 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 39, 0, 35, 0, 0, 0, 0, 0, 24,
329 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
331 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
332 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
337 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
340 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
341 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
343 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,
344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
345 7, 58, 9, 0, 0, 0, 0, 0, 0, 0,
346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
350 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
354 0, 0, 0, 27, 27, 0, 0, 0, 0, 0,
355 0, 0, 0, 6, 0, 0, 0, 0, 0, 2,
356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
357 0, 0, 6, 0, 0, 0, 0, 0, 2, 0,
359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
364 0, 0, 0, 0, 45, 51, 0, 0, 0, 0,
365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375 0, 0, 0, 1, 0, 0, 3, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
378 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
379 0, 0, 0, 0, 0, 0, 0, 7, 0, 5,
381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 3, 3, 0, 0, 0, 0, 0, 0, 3, 3,
389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 static yyconst int yy_ec[256] =
400 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
401 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
402 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
403 1, 2, 1, 4, 5, 1, 6, 1, 7, 8,
404 9, 10, 1, 11, 1, 1, 12, 13, 13, 13,
405 13, 13, 13, 13, 13, 13, 13, 11, 14, 11,
406 15, 11, 1, 16, 17, 18, 19, 20, 21, 22,
407 23, 24, 25, 26, 26, 27, 28, 29, 30, 31,
408 26, 32, 33, 34, 35, 36, 37, 26, 38, 26,
409 39, 40, 41, 1, 42, 1, 43, 44, 45, 46,
411 47, 48, 49, 50, 51, 26, 26, 52, 53, 54,
412 55, 56, 26, 57, 58, 59, 60, 26, 26, 61,
413 62, 63, 64, 1, 65, 1, 1, 1, 1, 1,
414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
416 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
418 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 static yyconst int yy_meta[66] =
432 1, 2, 3, 1, 1, 4, 1, 5, 6, 7,
433 1, 1, 8, 9, 1, 1, 10, 10, 10, 10,
434 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
435 10, 10, 10, 10, 10, 10, 10, 10, 11, 1,
436 1, 10, 10, 10, 10, 10, 10, 10, 10, 10,
437 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
441 static yyconst short int yy_base[1016] =
443 0, 65, 130, 11, 15, 16, 18, 19, 17, 27,
444 3555, 0, 40, 194, 49, 43, 35, 4014, 0, 64,
445 67, 3533, 4014, 29, 32, 44, 3497, 3494, 4014, 3520,
446 3513, 4014, 254, 319, 7, 16, 3494, 31, 3482, 58,
447 62, 8, 61, 168, 169, 170, 171, 67, 203, 3505,
448 0, 4014, 3493, 3491, 0, 0, 3437, 3440, 3441, 3427,
449 3426, 201, 3442, 198, 4014, 0, 210, 232, 211, 235,
450 3464, 3466, 213, 218, 219, 224, 4014, 4014, 3375, 3376,
451 3372, 3379, 0, 3385, 3377, 3398, 52, 202, 4014, 3408,
452 3360, 3389, 3384, 4014, 3370, 4014, 3349, 3347, 14, 90,
454 86, 188, 3334, 4014, 178, 189, 180, 26, 181, 246,
455 249, 252, 253, 182, 250, 254, 257, 4014, 0, 4014,
456 0, 0, 4014, 4014, 4014, 0, 4014, 4014, 3315, 192,
457 3307, 3303, 3312, 292, 297, 299, 301, 4014, 3298, 3294,
458 3302, 3295, 4014, 216, 217, 384, 214, 340, 175, 255,
459 256, 308, 449, 267, 258, 314, 260, 306, 315, 317,
460 316, 320, 323, 0, 0, 0, 0, 3295, 3282, 3270,
461 3274, 3262, 363, 363, 368, 369, 364, 373, 3255, 3242,
462 3257, 3230, 262, 372, 4014, 375, 404, 376, 367, 514,
463 4014, 578, 371, 385, 389, 386, 390, 391, 401, 326,
465 332, 0, 0, 3220, 3204, 3189, 3184, 3172, 432, 4014,
466 426, 435, 432, 438, 439, 3170, 3169, 3201, 3167, 444,
467 450, 439, 479, 468, 489, 492, 638, 4014, 0, 3190,
468 3187, 3114, 3044, 3039, 3037, 446, 3037, 481, 518, 392,
469 503, 443, 473, 703, 0, 0, 3036, 3044, 3029, 3040,
470 496, 496, 500, 502, 504, 535, 3039, 507, 3066, 3037,
471 482, 516, 522, 554, 4014, 556, 4014, 3053, 3049, 3026,
472 3036, 3019, 3022, 3019, 513, 3015, 540, 553, 513, 537,
473 768, 4014, 0, 0, 532, 3024, 566, 569, 570, 833,
474 582, 587, 3029, 3067, 557, 563, 574, 3042, 3034, 3013,
476 3004, 596, 3008, 2998, 3000, 3005, 2995, 411, 547, 570,
477 4014, 0, 0, 604, 609, 612, 653, 622, 898, 614,
478 617, 656, 3036, 4014, 276, 638, 571, 2995, 2991, 4014,
479 0, 2970, 2981, 2974, 2963, 573, 963, 603, 0, 0,
480 2959, 1027, 663, 632, 686, 1087, 693, 1152, 2955, 668,
481 672, 670, 679, 658, 659, 692, 2958, 2936, 2925, 2908,
482 637, 4014, 1217, 0, 0, 2924, 721, 751, 755, 737,
483 802, 811, 814, 868, 877, 2924, 697, 1282, 1347, 2923,
484 691, 455, 697, 700, 736, 698, 756, 2913, 2915, 696,
485 747, 711, 767, 759, 769, 2915, 2909, 1412, 4014, 0,
487 0, 4014, 848, 851, 798, 880, 913, 922, 926, 939,
488 942, 951, 981, 984, 1004, 1007, 2889, 696, 1477, 1016,
489 823, 2870, 2821, 598, 768, 578, 633, 708, 773, 832,
490 734, 838, 826, 2817, 2740, 1022, 4014, 1032, 788, 830,
491 825, 862, 2661, 2609, 4014, 0, 0, 891, 1036, 954,
492 1040, 1047, 1167, 1178, 1187, 1060, 1196, 1205, 1245, 1232,
493 1257, 1261, 1316, 4014, 1542, 1169, 1607, 1235, 890, 892,
494 881, 772, 993, 950, 829, 946, 1007, 928, 905, 960,
495 981, 4014, 4014, 978, 1002, 921, 963, 2601, 2578, 0,
496 0, 1270, 1050, 1057, 1064, 1300, 1303, 1671, 1325, 1328,
498 1362, 1387, 1371, 1390, 1427, 1731, 1796, 1861, 1034, 1039,
499 1926, 1135, 1153, 1154, 1157, 986, 1219, 1434, 1053, 2541,
500 778, 0, 0, 4014, 2541, 1399, 1312, 1431, 1447, 1458,
501 1366, 1380, 1442, 1445, 1460, 1501, 1505, 1511, 1509, 1518,
502 1527, 1530, 1563, 1040, 1237, 1565, 1593, 1991, 1277, 847,
503 2056, 2121, 2522, 1148, 1155, 1182, 1221, 1355, 1216, 639,
504 1152, 1250, 1467, 1576, 1337, 1180, 2505, 2467, 2451, 0,
505 0, 2430, 1596, 4014, 2354, 1626, 1629, 1647, 1573, 4014,
506 1638, 1642, 1588, 1655, 1662, 1690, 1694, 1699, 1697, 1680,
507 1367, 1748, 1356, 1663, 1236, 1304, 1811, 2298, 1469, 2275,
509 1311, 1270, 1348, 1307, 1220, 1416, 1656, 1274, 2186, 1704,
510 1496, 1499, 1591, 2221, 2107, 2053, 0, 0, 1987, 1892,
511 1751, 1755, 1764, 1814, 1766, 1824, 1779, 1829, 1827, 1820,
512 1842, 1844, 1660, 1875, 1817, 1497, 1476, 1411, 1558, 1573,
513 1346, 1657, 1445, 1596, 1612, 1475, 1529, 2251, 1682, 4014,
514 1715, 1819, 1739, 1693, 4014, 4014, 1610, 1437, 1883, 1896,
515 1880, 2006, 2315, 2010, 2026, 2008, 2031, 2013, 1784, 1774,
516 1883, 2034, 918, 1054, 1494, 1684, 2375, 1730, 1647, 1810,
517 1679, 2440, 2505, 2570, 1414, 1376, 1284, 2073, 2044, 1894,
518 2076, 1907, 2023, 2085, 2089, 2091, 2098, 2105, 2150, 2153,
520 2155, 2136, 2163, 2205, 2140, 2209, 2215, 2108, 2130, 2140,
521 1509, 2141, 1889, 1540, 2635, 2700, 1222, 1555, 1825, 1680,
522 1860, 1858, 1803, 1987, 1744, 1984, 2266, 2765, 2830, 1886,
523 0, 979, 4014, 842, 2275, 2236, 2239, 2270, 2279, 2170,
524 2217, 2284, 2297, 2299, 2306, 2322, 2463, 2470, 2472, 2231,
525 2480, 2324, 2338, 4014, 2455, 2340, 2045, 2315, 1056, 1790,
526 1605, 1695, 2059, 2485, 718, 556, 2009, 1144, 2151, 2074,
527 2117, 2186, 2180, 2258, 2245, 2488, 413, 2105, 2141, 1884,
528 4014, 2527, 2545, 2531, 2529, 2342, 2586, 2588, 2547, 2554,
529 2591, 2355, 2605, 2601, 2614, 2618, 2667, 2650, 2669, 2174,
531 2194, 2072, 1989, 2276, 1753, 2305, 2317, 2320, 2282, 2292,
532 2465, 2429, 2440, 2431, 2323, 2532, 348, 2506, 2653, 2688,
533 2623, 2675, 2717, 2719, 2721, 2723, 2894, 2740, 2742, 2744,
534 2746, 2780, 2344, 2338, 2430, 2005, 1829, 2582, 2588, 2468,
535 2726, 2506, 2512, 2637, 2565, 23, 2782, 2795, 2810, 2800,
536 2813, 2845, 2852, 2854, 2858, 2111, 2567, 2652, 2662, 2200,
537 2470, 2521, 2568, 2626, 2871, 2885, 2887, 2890, 2908, 2917,
538 2914, 2921, 2632, 2663, 2702, 2571, 2725, 2763, 198, 84,
539 2923, 2927, 2941, 2945, 2954, 2732, 2777, 2658, 2757, 2697,
540 2958, 2961, 2963, 2978, 2980, 2780, 2771, 2787, 2249, 2828,
542 2982, 2985, 2988, 2723, 2798, 2965, 3001, 3003, 3006, 3011,
543 2792, 2832, 2833, 2850, 3020, 3024, 3029, 2855, 2835, 2854,
544 3039, 3042, 3046, 2856, 2884, 2873, 3048, 2989, 3061, 2902,
545 4014, 3095, 3107, 3119, 3131, 3143, 3155, 3160, 3170, 3182,
546 3194, 3206, 3215, 3227, 3239, 3251, 3263, 3268, 3278, 3290,
547 3302, 3314, 3326, 3337, 3347, 3359, 3370, 3380, 3392, 3404,
548 3416, 3427, 3437, 3449, 3461, 3473, 3485, 3496, 3506, 3517,
549 3527, 3539, 3550, 3559, 3569, 3581, 3592, 3602, 3613, 3623,
550 3635, 3646, 3656, 3668, 3680, 3691, 3700, 3710, 3722, 3734,
551 3746, 3757, 3766, 3776, 3788, 3800, 3811, 3821, 3832, 3842,
553 3854, 3865, 3875, 3886, 3896, 3908, 3919, 3929, 3940, 3949,
554 3959, 3970, 3979, 3989, 4001
557 static yyconst short int yy_def[1016] =
559 932, 932, 931, 3, 933, 933, 933, 933, 934, 934,
560 931, 931, 931, 931, 935, 936, 937, 931, 938, 931,
561 931, 938, 931, 931, 931, 939, 931, 940, 931, 931,
562 931, 931, 941, 941, 34, 34, 34, 34, 942, 34,
563 34, 34, 34, 34, 34, 34, 34, 34, 943, 931,
564 944, 931, 945, 945, 946, 946, 947, 931, 931, 931,
565 931, 931, 931, 935, 931, 935, 935, 935, 935, 935,
566 931, 936, 931, 931, 931, 931, 931, 931, 931, 931,
567 931, 931, 938, 931, 931, 938, 931, 939, 931, 939,
568 931, 931, 940, 931, 931, 931, 34, 34, 34, 34,
570 34, 34, 942, 931, 34, 34, 34, 34, 34, 34,
571 34, 34, 34, 34, 34, 34, 34, 931, 948, 931,
572 949, 950, 931, 931, 931, 951, 931, 931, 931, 931,
573 931, 931, 931, 935, 935, 935, 935, 931, 931, 931,
574 938, 931, 931, 34, 34, 941, 34, 34, 34, 34,
575 34, 34, 941, 34, 34, 34, 34, 34, 34, 34,
576 34, 34, 34, 948, 949, 952, 953, 931, 931, 931,
577 931, 931, 931, 935, 935, 935, 935, 935, 931, 931,
578 938, 931, 34, 34, 931, 34, 931, 954, 34, 941,
579 931, 931, 34, 34, 34, 34, 34, 34, 34, 34,
581 34, 955, 956, 931, 931, 931, 931, 931, 931, 931,
582 935, 935, 935, 935, 935, 931, 931, 938, 931, 34,
583 34, 34, 931, 954, 954, 957, 941, 931, 192, 931,
584 931, 931, 931, 931, 931, 931, 931, 34, 34, 34,
585 34, 34, 34, 941, 958, 959, 931, 931, 931, 931,
586 931, 935, 935, 935, 935, 935, 931, 931, 938, 931,
587 34, 34, 34, 931, 931, 957, 931, 931, 931, 931,
588 931, 931, 931, 931, 931, 931, 34, 34, 34, 34,
589 941, 931, 960, 961, 931, 931, 962, 935, 935, 963,
590 931, 962, 938, 964, 34, 34, 34, 931, 931, 931,
592 931, 965, 931, 931, 931, 931, 931, 34, 34, 34,
593 931, 966, 967, 931, 931, 968, 935, 935, 969, 931,
594 931, 970, 964, 931, 34, 34, 34, 931, 931, 931,
595 192, 931, 931, 931, 931, 34, 941, 34, 971, 972,
596 931, 973, 931, 968, 935, 931, 935, 969, 931, 931,
597 931, 974, 970, 34, 34, 34, 931, 931, 931, 931,
598 34, 931, 941, 975, 976, 931, 977, 977, 977, 977,
599 977, 977, 977, 977, 977, 931, 935, 978, 978, 379,
600 379, 379, 379, 379, 379, 379, 935, 931, 931, 974,
601 979, 34, 34, 34, 34, 931, 931, 941, 931, 980,
603 981, 931, 982, 931, 931, 977, 977, 977, 977, 977,
604 977, 977, 977, 977, 977, 977, 931, 935, 983, 935,
605 935, 379, 379, 379, 379, 379, 379, 379, 379, 379,
606 379, 379, 935, 931, 931, 931, 931, 979, 34, 34,
607 34, 34, 931, 931, 931, 984, 985, 986, 931, 987,
608 931, 977, 977, 977, 977, 977, 977, 977, 977, 977,
609 977, 977, 977, 931, 988, 935, 989, 935, 379, 379,
610 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
611 935, 931, 931, 34, 34, 34, 34, 931, 931, 990,
612 991, 931, 986, 987, 992, 977, 977, 993, 977, 977,
614 977, 977, 977, 977, 935, 988, 989, 994, 379, 379,
615 931, 379, 379, 379, 379, 379, 379, 34, 34, 931,
616 931, 995, 996, 931, 931, 931, 931, 992, 977, 977,
617 997, 997, 997, 997, 997, 997, 997, 997, 997, 977,
618 977, 977, 977, 935, 935, 935, 935, 994, 379, 379,
619 998, 998, 552, 552, 552, 552, 552, 552, 552, 379,
620 379, 379, 379, 931, 999, 34, 931, 931, 931, 1000,
621 1001, 931, 931, 931, 931, 977, 977, 931, 997, 931,
622 997, 997, 997, 997, 997, 997, 997, 997, 997, 1002,
623 935, 935, 935, 935, 379, 379, 935, 552, 935, 552,
625 552, 552, 552, 552, 552, 552, 552, 552, 1003, 931,
626 999, 999, 1004, 931, 931, 931, 1005, 1006, 931, 931,
627 977, 977, 997, 997, 997, 997, 997, 997, 997, 997,
628 997, 997, 1007, 935, 935, 379, 379, 552, 552, 552,
629 552, 552, 552, 552, 552, 552, 552, 1008, 931, 931,
630 1004, 931, 931, 931, 931, 931, 931, 931, 977, 977,
631 997, 997, 1009, 997, 997, 997, 997, 1010, 1010, 1007,
632 935, 935, 379, 379, 552, 552, 931, 552, 552, 552,
633 552, 1011, 1011, 1008, 931, 931, 931, 977, 977, 997,
634 997, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
636 1012, 997, 997, 1010, 1013, 1013, 1013, 1010, 935, 935,
637 379, 379, 552, 552, 1014, 1014, 716, 716, 716, 716,
638 716, 716, 716, 716, 552, 552, 683, 1015, 1015, 729,
639 683, 931, 931, 931, 977, 977, 977, 997, 997, 931,
640 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
641 1012, 931, 1013, 931, 1013, 1013, 935, 935, 379, 379,
642 379, 552, 552, 935, 716, 716, 716, 716, 716, 716,
643 716, 716, 716, 716, 716, 935, 729, 935, 729, 729,
644 931, 977, 977, 977, 997, 997, 1012, 1012, 1012, 1012,
645 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1013, 935,
647 379, 379, 379, 552, 552, 716, 716, 716, 716, 716,
648 716, 716, 716, 716, 716, 716, 729, 729, 977, 977,
649 977, 997, 997, 1012, 1012, 1012, 1009, 1012, 1012, 1012,
650 1012, 1013, 379, 379, 379, 552, 552, 716, 716, 716,
651 677, 716, 716, 716, 716, 729, 977, 997, 997, 1012,
652 1012, 1012, 1012, 1012, 1013, 379, 552, 552, 716, 716,
653 716, 716, 716, 729, 977, 997, 997, 997, 1012, 1012,
654 1012, 1013, 379, 552, 552, 552, 716, 716, 716, 729,
655 997, 997, 997, 1012, 1012, 552, 552, 552, 716, 716,
656 997, 997, 997, 1012, 1012, 552, 552, 552, 716, 716,
658 997, 1012, 1012, 552, 716, 716, 997, 1012, 1012, 1012,
659 552, 716, 716, 716, 1012, 1012, 1012, 716, 716, 716,
660 1012, 1012, 1012, 716, 716, 716, 1012, 716, 1012, 716,
661 0, 931, 931, 931, 931, 931, 931, 931, 931, 931,
662 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
663 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
664 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
665 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
666 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
667 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
669 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
670 931, 931, 931, 931, 931
673 static yyconst short int yy_nxt[4080] =
675 12, 13, 14, 15, 12, 12, 16, 12, 12, 12,
676 12, 17, 18, 12, 12, 12, 49, 52, 52, 56,
677 52, 52, 57, 931, 53, 53, 50, 54, 54, 56,
678 87, 87, 57, 87, 87, 99, 97, 97, 12, 12,
679 12, 62, 62, 97, 78, 97, 58, 89, 145, 100,
680 864, 102, 65, 87, 87, 97, 777, 59, 60, 61,
681 97, 108, 63, 12, 12, 12, 13, 14, 15, 20,
682 21, 16, 12, 12, 12, 12, 17, 18, 12, 12,
683 12, 79, 72, 90, 22, 152, 58, 97, 66, 73,
684 97, 97, 80, 81, 82, 67, 97, 59, 60, 61,
686 74, 75, 76, 12, 12, 12, 68, 69, 70, 84,
687 58, 106, 105, 58, 109, 97, 107, 777, 147, 97,
688 117, 59, 60, 61, 59, 60, 85, 146, 12, 12,
689 23, 24, 25, 26, 27, 23, 28, 29, 29, 29,
690 29, 30, 31, 32, 32, 23, 33, 34, 33, 33,
691 35, 33, 36, 37, 33, 33, 33, 33, 33, 33,
692 33, 33, 33, 33, 33, 38, 33, 33, 39, 23,
693 23, 33, 33, 40, 41, 33, 42, 33, 33, 33,
694 43, 44, 33, 45, 33, 46, 33, 47, 33, 48,
695 33, 33, 33, 29, 29, 62, 62, 97, 97, 97,
697 97, 65, 62, 62, 97, 89, 148, 97, 118, 97,
698 97, 97, 112, 65, 65, 111, 63, 97, 97, 138,
699 114, 115, 110, 63, 138, 138, 153, 765, 113, 116,
700 138, 150, 149, 151, 169, 65, 158, 66, 65, 153,
701 58, 90, 183, 97, 184, 97, 97, 186, 170, 66,
702 66, 59, 60, 61, 96, 96, 96, 96, 96, 96,
703 96, 96, 96, 96, 96, 96, 120, 96, 96, 96,
704 134, 66, 136, 129, 66, 97, 130, 132, 97, 97,
705 131, 97, 97, 97, 97, 97, 97, 97, 137, 97,
706 135, 97, 96, 96, 96, 65, 97, 354, 159, 154,
708 65, 195, 65, 220, 65, 97, 155, 162, 156, 157,
709 161, 153, 160, 189, 163, 153, 193, 96, 96, 96,
710 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
711 96, 66, 96, 96, 96, 97, 66, 97, 66, 175,
712 66, 187, 187, 97, 97, 97, 97, 188, 98, 97,
713 174, 178, 97, 176, 177, 97, 194, 96, 96, 96,
714 190, 97, 196, 198, 209, 209, 65, 65, 197, 97,
715 210, 65, 65, 201, 200, 199, 65, 225, 225, 244,
716 159, 777, 96, 96, 185, 185, 185, 185, 185, 185,
717 185, 185, 185, 185, 185, 185, 97, 185, 185, 185,
719 97, 97, 66, 66, 97, 223, 223, 66, 66, 211,
720 214, 224, 66, 221, 97, 97, 222, 238, 97, 97,
721 97, 97, 185, 185, 185, 227, 212, 215, 213, 65,
722 97, 240, 242, 209, 209, 65, 241, 239, 65, 210,
723 97, 65, 65, 280, 153, 243, 777, 185, 185, 191,
724 192, 192, 191, 191, 191, 191, 191, 191, 191, 191,
725 191, 261, 191, 191, 191, 66, 336, 262, 97, 225,
726 225, 66, 97, 97, 66, 263, 254, 66, 66, 97,
727 223, 223, 252, 255, 422, 253, 224, 191, 191, 191,
728 225, 225, 256, 264, 264, 274, 275, 287, 287, 65,
730 265, 153, 97, 65, 426, 65, 295, 65, 292, 292,
731 97, 97, 191, 191, 228, 228, 228, 228, 228, 228,
732 228, 228, 228, 228, 228, 228, 277, 228, 228, 228,
733 278, 281, 97, 314, 314, 66, 290, 290, 65, 66,
734 296, 66, 97, 66, 288, 97, 297, 97, 153, 288,
735 289, 97, 228, 228, 228, 264, 264, 264, 264, 279,
736 256, 305, 265, 309, 265, 278, 97, 287, 287, 97,
737 317, 317, 65, 65, 66, 306, 97, 228, 228, 229,
738 229, 308, 97, 320, 320, 806, 97, 310, 292, 292,
739 325, 356, 97, 327, 279, 230, 326, 331, 331, 97,
741 97, 231, 97, 97, 337, 314, 314, 422, 66, 66,
742 342, 342, 338, 343, 343, 320, 320, 318, 350, 350,
743 472, 232, 233, 346, 346, 65, 341, 422, 234, 235,
744 470, 361, 97, 343, 343, 236, 349, 237, 267, 267,
745 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
746 321, 267, 267, 267, 317, 317, 65, 351, 351, 355,
747 363, 66, 422, 352, 343, 343, 97, 97, 422, 350,
748 350, 390, 390, 351, 351, 345, 267, 267, 267, 352,
749 351, 351, 392, 393, 473, 376, 352, 97, 97, 65,
750 389, 473, 66, 398, 347, 347, 65, 390, 390, 65,
752 65, 267, 267, 282, 282, 282, 282, 282, 282, 282,
753 282, 282, 282, 282, 282, 387, 282, 282, 282, 377,
754 422, 97, 403, 403, 394, 66, 422, 422, 404, 422,
755 405, 439, 66, 395, 418, 66, 66, 422, 403, 403,
756 97, 282, 282, 282, 404, 425, 405, 765, 436, 436,
757 427, 432, 403, 403, 428, 437, 403, 403, 404, 65,
758 405, 474, 404, 422, 405, 422, 282, 282, 311, 311,
759 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
760 407, 311, 311, 311, 408, 429, 430, 440, 97, 433,
761 478, 409, 441, 442, 431, 66, 97, 422, 97, 451,
763 451, 422, 422, 403, 403, 404, 311, 311, 311, 404,
764 568, 405, 403, 403, 484, 403, 403, 97, 404, 569,
765 405, 404, 471, 405, 468, 468, 65, 475, 473, 65,
766 420, 311, 311, 64, 290, 290, 65, 64, 64, 64,
767 64, 64, 64, 64, 64, 64, 64, 64, 64, 403,
768 403, 410, 449, 449, 97, 404, 485, 405, 422, 97,
769 450, 422, 66, 481, 411, 66, 486, 422, 412, 403,
770 403, 64, 66, 64, 781, 404, 422, 405, 403, 403,
771 476, 403, 403, 596, 404, 512, 405, 404, 479, 405,
772 487, 97, 492, 492, 477, 480, 64, 64, 64, 347,
774 347, 65, 64, 64, 64, 64, 64, 64, 64, 64,
775 422, 64, 64, 64, 403, 403, 509, 413, 414, 422,
776 404, 422, 405, 403, 403, 510, 415, 403, 403, 404,
777 416, 405, 473, 404, 422, 405, 64, 66, 64, 711,
778 403, 403, 452, 403, 403, 519, 404, 422, 405, 404,
779 97, 405, 403, 403, 453, 494, 494, 422, 404, 516,
780 405, 64, 64, 362, 362, 362, 362, 362, 362, 362,
781 362, 362, 362, 362, 362, 422, 362, 362, 362, 422,
782 454, 455, 403, 403, 65, 403, 403, 515, 404, 422,
783 405, 404, 97, 405, 511, 511, 153, 153, 473, 513,
785 456, 362, 362, 362, 457, 403, 403, 97, 403, 403,
786 517, 404, 302, 405, 404, 422, 405, 466, 466, 65,
787 66, 518, 422, 436, 436, 467, 362, 362, 342, 342,
788 437, 97, 459, 436, 436, 458, 422, 449, 449, 563,
789 437, 451, 451, 65, 368, 450, 460, 404, 403, 403,
790 369, 492, 492, 514, 404, 66, 405, 462, 494, 494,
791 461, 498, 498, 422, 463, 526, 526, 404, 422, 405,
792 370, 371, 527, 496, 712, 549, 801, 372, 373, 66,
793 550, 566, 97, 422, 374, 422, 375, 64, 346, 346,
794 65, 64, 64, 64, 64, 64, 64, 64, 64, 64,
796 64, 64, 64, 378, 379, 378, 378, 378, 378, 378,
797 380, 378, 378, 378, 378, 378, 378, 378, 378, 378,
798 378, 378, 378, 378, 378, 64, 66, 64, 378, 378,
799 381, 382, 378, 378, 378, 378, 378, 383, 384, 378,
800 378, 378, 378, 378, 385, 378, 386, 378, 378, 378,
801 64, 64, 64, 347, 347, 65, 64, 64, 64, 64,
802 64, 64, 64, 64, 422, 64, 64, 64, 403, 403,
803 466, 466, 65, 765, 404, 808, 405, 598, 467, 403,
804 403, 422, 422, 422, 598, 404, 422, 405, 403, 403,
805 64, 66, 64, 473, 404, 561, 405, 403, 403, 560,
807 497, 562, 602, 404, 603, 405, 403, 403, 66, 97,
808 473, 598, 404, 153, 405, 64, 64, 399, 399, 399,
809 399, 399, 399, 399, 399, 399, 399, 399, 399, 456,
810 399, 399, 399, 403, 403, 604, 468, 468, 65, 404,
811 65, 405, 420, 456, 456, 598, 403, 403, 422, 598,
812 598, 767, 404, 591, 405, 399, 399, 399, 403, 403,
813 636, 499, 403, 403, 404, 422, 405, 476, 404, 608,
814 405, 492, 492, 643, 66, 605, 66, 524, 501, 422,
815 399, 399, 64, 419, 419, 65, 64, 64, 64, 420,
816 64, 421, 64, 64, 595, 64, 64, 64, 500, 598,
818 525, 403, 403, 598, 403, 403, 422, 404, 563, 405,
819 404, 734, 405, 573, 573, 503, 502, 403, 403, 574,
820 64, 66, 64, 404, 640, 405, 403, 403, 637, 403,
821 403, 647, 404, 422, 405, 404, 598, 405, 612, 612,
822 598, 529, 575, 639, 530, 64, 64, 64, 419, 419,
823 65, 64, 64, 64, 420, 64, 421, 64, 64, 65,
824 64, 64, 64, 403, 403, 642, 504, 578, 578, 404,
825 65, 405, 403, 403, 540, 598, 423, 598, 404, 580,
826 405, 578, 578, 456, 598, 64, 66, 64, 403, 403,
827 641, 403, 403, 580, 404, 66, 405, 404, 634, 405,
829 526, 526, 642, 541, 606, 607, 66, 527, 733, 581,
830 64, 64, 445, 445, 445, 445, 445, 445, 445, 445,
831 445, 445, 445, 445, 543, 445, 445, 445, 505, 505,
832 65, 542, 526, 526, 544, 564, 564, 675, 459, 527,
833 598, 565, 732, 578, 578, 598, 578, 578, 403, 403,
834 445, 445, 445, 687, 404, 580, 405, 545, 580, 403,
835 403, 578, 578, 97, 576, 404, 66, 405, 609, 609,
836 644, 582, 65, 580, 598, 445, 445, 64, 419, 419,
837 65, 64, 64, 64, 420, 64, 421, 64, 64, 64,
838 64, 64, 64, 642, 577, 674, 422, 612, 612, 583,
840 612, 612, 578, 578, 598, 422, 578, 578, 66, 584,
841 578, 578, 578, 578, 580, 64, 66, 64, 580, 403,
842 403, 680, 580, 598, 580, 404, 422, 405, 403, 403,
843 673, 403, 403, 759, 404, 713, 405, 404, 422, 405,
844 64, 64, 64, 505, 505, 65, 64, 64, 64, 64,
845 64, 64, 64, 64, 585, 64, 64, 64, 598, 586,
846 587, 588, 589, 456, 590, 590, 546, 546, 65, 598,
847 404, 768, 405, 547, 578, 578, 763, 610, 610, 681,
848 64, 66, 64, 611, 765, 456, 580, 598, 543, 578,
849 578, 676, 649, 649, 592, 592, 65, 573, 573, 650,
851 593, 580, 598, 574, 66, 64, 64, 64, 507, 507,
852 65, 64, 64, 64, 64, 64, 64, 64, 64, 64,
853 64, 64, 64, 594, 642, 598, 575, 403, 403, 803,
854 403, 403, 66, 404, 422, 405, 404, 686, 405, 578,
855 578, 598, 625, 578, 578, 64, 66, 64, 578, 578,
856 621, 580, 678, 622, 524, 580, 578, 578, 677, 677,
857 580, 668, 668, 578, 578, 679, 65, 623, 580, 669,
858 64, 64, 498, 498, 624, 580, 598, 525, 404, 635,
859 405, 590, 590, 649, 649, 598, 598, 404, 532, 405,
860 650, 578, 578, 725, 533, 578, 578, 626, 578, 578,
862 578, 578, 66, 580, 645, 610, 610, 580, 598, 765,
863 580, 611, 580, 598, 534, 535, 649, 649, 646, 804,
864 627, 536, 537, 650, 598, 714, 302, 645, 538, 770,
865 539, 64, 505, 505, 65, 64, 64, 64, 64, 64,
866 64, 64, 64, 628, 64, 64, 64, 630, 629, 592,
867 592, 65, 403, 403, 632, 593, 403, 403, 404, 598,
868 405, 631, 404, 685, 405, 578, 578, 578, 578, 64,
869 66, 64, 837, 598, 660, 668, 668, 580, 594, 580,
870 663, 663, 598, 669, 659, 708, 708, 66, 642, 642,
871 661, 931, 580, 931, 64, 64, 64, 507, 507, 65,
873 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
874 64, 64, 597, 597, 65, 578, 578, 627, 544, 422,
875 65, 578, 578, 802, 599, 578, 578, 580, 578, 578,
876 578, 578, 765, 580, 64, 66, 64, 580, 302, 598,
877 580, 545, 580, 578, 578, 578, 578, 662, 672, 858,
878 66, 726, 773, 774, 765, 580, 66, 580, 598, 64,
879 64, 64, 546, 546, 65, 64, 64, 64, 64, 547,
880 64, 64, 64, 665, 64, 64, 64, 627, 65, 769,
881 627, 578, 578, 664, 403, 403, 65, 765, 666, 765,
882 404, 671, 405, 580, 667, 578, 578, 403, 403, 64,
884 66, 64, 780, 404, 688, 405, 762, 580, 740, 740,
885 709, 738, 772, 771, 66, 818, 689, 777, 598, 777,
886 580, 690, 66, 658, 64, 64, 64, 511, 511, 65,
887 64, 64, 64, 420, 64, 421, 64, 64, 64, 64,
888 64, 64, 551, 552, 551, 551, 551, 551, 551, 553,
889 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
890 551, 551, 551, 551, 64, 66, 64, 551, 551, 554,
891 555, 551, 551, 551, 551, 551, 556, 557, 551, 551,
892 551, 551, 551, 558, 551, 559, 551, 551, 551, 64,
893 64, 64, 546, 546, 65, 64, 64, 64, 64, 547,
895 64, 64, 64, 657, 64, 64, 64, 578, 578, 578,
896 578, 578, 578, 598, 704, 704, 765, 835, 422, 580,
897 524, 580, 669, 580, 740, 740, 857, 578, 578, 64,
898 66, 64, 578, 578, 598, 706, 580, 65, 765, 580,
899 775, 807, 642, 707, 580, 403, 403, 691, 65, 703,
900 710, 404, 742, 405, 64, 64, 64, 597, 597, 65,
901 64, 64, 64, 64, 64, 64, 64, 64, 627, 599,
902 64, 64, 702, 66, 403, 403, 736, 578, 578, 630,
903 404, 654, 405, 805, 66, 737, 740, 740, 598, 580,
904 740, 740, 740, 740, 64, 66, 64, 735, 580, 740,
906 740, 422, 580, 765, 580, 744, 740, 740, 65, 708,
907 708, 580, 739, 834, 743, 931, 810, 931, 580, 64,
908 64, 64, 597, 597, 65, 64, 64, 64, 64, 64,
909 64, 64, 64, 65, 599, 64, 64, 578, 578, 873,
910 422, 752, 752, 65, 66, 745, 765, 746, 653, 580,
911 600, 740, 740, 754, 740, 740, 740, 740, 747, 64,
912 66, 64, 757, 580, 578, 578, 580, 758, 580, 66,
913 422, 740, 740, 760, 777, 811, 580, 65, 817, 66,
914 765, 627, 761, 580, 64, 64, 64, 609, 609, 65,
915 64, 64, 64, 420, 64, 421, 64, 64, 64, 64,
917 64, 64, 749, 750, 748, 809, 704, 704, 751, 765,
918 752, 752, 524, 66, 669, 765, 752, 752, 740, 740,
919 833, 627, 754, 422, 64, 66, 64, 706, 754, 765,
920 580, 756, 740, 740, 813, 707, 878, 403, 403, 812,
921 403, 403, 755, 404, 580, 405, 404, 652, 405, 64,
922 64, 64, 682, 682, 65, 64, 64, 64, 64, 64,
923 683, 64, 64, 784, 64, 64, 64, 727, 727, 783,
924 905, 578, 578, 544, 765, 683, 403, 403, 765, 795,
925 578, 578, 404, 580, 405, 740, 740, 765, 729, 64,
926 66, 64, 580, 796, 785, 782, 730, 580, 740, 740,
928 740, 740, 816, 786, 638, 598, 814, 740, 740, 836,
929 580, 765, 580, 787, 64, 64, 663, 663, 65, 580,
930 815, 765, 524, 740, 740, 752, 752, 598, 580, 788,
931 789, 838, 693, 811, 765, 580, 840, 754, 694, 752,
932 752, 752, 752, 578, 578, 695, 765, 800, 811, 765,
933 839, 754, 765, 754, 66, 580, 827, 827, 696, 697,
934 790, 823, 856, 473, 791, 698, 699, 422, 580, 844,
935 620, 799, 700, 422, 701, 64, 677, 677, 65, 64,
936 64, 64, 544, 64, 64, 64, 64, 64, 599, 64,
937 64, 715, 716, 715, 715, 715, 715, 715, 717, 715,
939 715, 715, 715, 715, 715, 718, 715, 715, 715, 715,
940 715, 715, 715, 64, 66, 64, 715, 715, 719, 720,
941 715, 715, 715, 715, 715, 721, 722, 715, 715, 715,
942 715, 715, 723, 715, 724, 715, 715, 715, 64, 64,
943 64, 727, 727, 65, 64, 64, 64, 544, 64, 683,
944 64, 64, 64, 64, 64, 64, 752, 752, 765, 422,
945 765, 619, 729, 473, 740, 740, 841, 841, 754, 765,
946 730, 740, 740, 740, 740, 616, 580, 811, 64, 66,
947 64, 740, 740, 580, 843, 580, 764, 764, 65, 776,
948 776, 65, 798, 580, 765, 861, 842, 765, 599, 765,
950 615, 778, 879, 64, 64, 64, 731, 731, 65, 64,
951 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
952 64, 792, 846, 793, 66, 614, 794, 66, 403, 403,
953 578, 578, 403, 403, 404, 765, 405, 797, 404, 777,
954 405, 765, 580, 64, 66, 64, 403, 403, 740, 740,
955 765, 601, 404, 819, 405, 740, 740, 572, 862, 821,
956 580, 765, 822, 826, 811, 567, 811, 580, 64, 64,
957 64, 682, 682, 65, 64, 64, 64, 64, 64, 683,
958 64, 64, 845, 64, 64, 64, 820, 740, 740, 740,
959 740, 874, 740, 740, 765, 888, 598, 765, 521, 580,
961 598, 580, 740, 740, 580, 792, 740, 740, 64, 66,
962 64, 765, 824, 814, 580, 740, 740, 765, 580, 740,
963 740, 825, 520, 859, 403, 403, 811, 580, 489, 860,
964 404, 580, 405, 64, 64, 64, 764, 764, 65, 64,
965 64, 64, 64, 64, 64, 64, 64, 792, 599, 64,
966 64, 752, 752, 792, 403, 403, 456, 828, 880, 777,
967 404, 422, 405, 754, 830, 473, 765, 829, 740, 740,
968 752, 752, 456, 64, 66, 64, 578, 578, 863, 877,
969 580, 598, 754, 886, 875, 832, 898, 598, 580, 403,
970 403, 765, 598, 876, 488, 404, 848, 405, 64, 64,
972 64, 764, 764, 65, 64, 64, 64, 64, 64, 64,
973 64, 64, 847, 599, 64, 64, 900, 831, 578, 578,
974 740, 740, 740, 740, 740, 740, 765, 841, 841, 766,
975 580, 598, 580, 64, 580, 887, 580, 849, 64, 66,
976 64, 740, 740, 740, 740, 740, 740, 740, 740, 889,
977 852, 911, 598, 580, 765, 580, 715, 580, 896, 580,
978 850, 598, 851, 64, 64, 64, 776, 776, 65, 64,
979 64, 64, 64, 64, 64, 64, 64, 483, 778, 64,
980 64, 752, 752, 403, 403, 854, 765, 890, 853, 404,
981 899, 405, 765, 754, 795, 904, 578, 578, 792, 642,
983 598, 740, 740, 64, 66, 64, 598, 855, 580, 598,
984 865, 578, 578, 580, 740, 740, 598, 869, 897, 866,
985 642, 598, 912, 580, 482, 642, 580, 765, 64, 64,
986 64, 776, 776, 65, 64, 64, 64, 64, 64, 64,
987 64, 64, 867, 778, 64, 64, 740, 740, 906, 870,
988 469, 868, 918, 740, 740, 740, 740, 765, 580, 752,
989 752, 765, 765, 779, 765, 580, 919, 580, 64, 66,
990 64, 754, 403, 403, 920, 811, 925, 871, 404, 765,
991 405, 924, 926, 765, 765, 765, 578, 578, 578, 578,
992 872, 578, 578, 64, 64, 827, 827, 792, 580, 422,
994 580, 931, 765, 580, 456, 881, 811, 580, 928, 740,
995 740, 693, 792, 765, 883, 740, 740, 694, 740, 740,
996 882, 580, 752, 752, 578, 578, 464, 580, 578, 578,
997 580, 765, 884, 444, 754, 811, 580, 696, 697, 443,
998 580, 885, 578, 578, 698, 699, 740, 740, 435, 891,
999 434, 700, 424, 701, 580, 740, 740, 417, 580, 578,
1000 578, 402, 578, 578, 578, 578, 302, 580, 892, 893,
1001 302, 580, 397, 895, 580, 396, 580, 627, 894, 740,
1002 740, 740, 740, 578, 578, 901, 740, 740, 388, 740,
1003 740, 580, 366, 580, 765, 580, 627, 913, 580, 902,
1005 903, 580, 578, 578, 740, 740, 914, 740, 740, 908,
1006 907, 305, 740, 740, 580, 360, 580, 930, 765, 580,
1007 909, 740, 740, 915, 580, 740, 740, 359, 302, 910,
1008 740, 740, 358, 580, 627, 917, 357, 580, 324, 916,
1009 740, 740, 580, 740, 740, 335, 921, 740, 740, 740,
1010 740, 334, 580, 333, 332, 580, 302, 923, 792, 580,
1011 302, 580, 740, 740, 302, 922, 927, 329, 328, 324,
1012 322, 315, 307, 304, 580, 303, 929, 302, 301, 792,
1013 300, 299, 298, 294, 293, 291, 286, 251, 285, 285,
1014 276, 273, 272, 271, 792, 19, 19, 19, 19, 19,
1016 19, 19, 19, 19, 19, 19, 19, 51, 51, 51,
1017 51, 51, 51, 51, 51, 51, 51, 51, 51, 55,
1018 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
1019 55, 64, 64, 64, 64, 64, 64, 64, 64, 64,
1020 64, 64, 64, 71, 71, 71, 71, 71, 71, 71,
1021 71, 71, 71, 71, 71, 77, 77, 77, 77, 77,
1022 77, 77, 77, 77, 77, 77, 77, 83, 270, 83,
1023 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1024 88, 88, 92, 92, 92, 92, 92, 92, 92, 92,
1025 92, 92, 92, 92, 97, 97, 97, 97, 97, 97,
1027 97, 97, 97, 97, 97, 97, 103, 103, 103, 103,
1028 103, 103, 103, 103, 103, 103, 269, 103, 119, 268,
1029 260, 259, 258, 257, 119, 251, 119, 122, 122, 250,
1030 122, 122, 122, 249, 122, 122, 122, 122, 122, 123,
1031 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
1032 123, 126, 126, 126, 248, 126, 126, 126, 126, 126,
1033 126, 126, 126, 127, 127, 127, 127, 127, 127, 127,
1034 127, 127, 127, 127, 127, 164, 247, 164, 165, 165,
1035 219, 165, 165, 165, 165, 165, 165, 165, 165, 165,
1036 166, 166, 218, 166, 166, 166, 217, 166, 166, 166,
1038 166, 166, 167, 167, 167, 216, 167, 167, 167, 167,
1039 167, 167, 167, 167, 202, 202, 208, 202, 202, 202,
1040 207, 202, 202, 202, 202, 202, 203, 203, 203, 206,
1041 203, 203, 203, 203, 203, 203, 203, 203, 226, 226,
1042 205, 204, 182, 181, 180, 179, 226, 245, 245, 173,
1043 245, 245, 245, 172, 245, 245, 245, 245, 245, 246,
1044 246, 246, 171, 246, 246, 246, 246, 246, 246, 246,
1045 246, 266, 266, 168, 104, 266, 144, 266, 97, 266,
1046 283, 283, 95, 283, 283, 283, 931, 283, 283, 283,
1047 283, 283, 284, 284, 284, 143, 284, 284, 284, 284,
1049 284, 284, 284, 284, 312, 312, 142, 312, 312, 312,
1050 931, 312, 312, 312, 312, 312, 313, 313, 313, 141,
1051 313, 313, 313, 313, 313, 313, 313, 313, 316, 316,
1052 140, 139, 132, 131, 130, 129, 316, 319, 319, 319,
1053 319, 319, 319, 319, 319, 319, 319, 319, 319, 323,
1054 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
1055 323, 330, 330, 330, 330, 330, 330, 330, 931, 330,
1056 138, 330, 330, 339, 339, 133, 339, 339, 339, 132,
1057 339, 339, 339, 339, 339, 340, 340, 340, 131, 340,
1058 340, 340, 340, 340, 340, 340, 340, 344, 344, 130,
1060 129, 128, 125, 344, 124, 344, 348, 348, 348, 348,
1061 348, 348, 348, 348, 348, 348, 348, 348, 353, 353,
1062 121, 353, 104, 101, 353, 95, 353, 364, 364, 94,
1063 364, 364, 364, 93, 364, 364, 364, 364, 364, 365,
1064 365, 365, 91, 365, 365, 365, 365, 365, 365, 365,
1065 365, 367, 367, 86, 931, 931, 931, 931, 931, 367,
1066 391, 391, 931, 931, 931, 931, 931, 931, 391, 400,
1067 400, 931, 400, 400, 400, 931, 400, 400, 400, 400,
1068 400, 401, 401, 401, 931, 401, 401, 401, 401, 401,
1069 401, 401, 401, 406, 406, 931, 406, 931, 406, 406,
1071 931, 406, 422, 422, 422, 422, 422, 422, 422, 422,
1072 422, 422, 422, 422, 438, 438, 931, 931, 438, 931,
1073 438, 931, 438, 446, 446, 931, 446, 446, 446, 931,
1074 446, 446, 446, 446, 446, 447, 447, 447, 931, 447,
1075 447, 447, 447, 447, 447, 447, 447, 448, 448, 931,
1076 448, 931, 448, 931, 931, 448, 465, 465, 465, 465,
1077 465, 465, 465, 465, 465, 465, 465, 465, 490, 490,
1078 931, 490, 490, 490, 931, 490, 490, 490, 490, 490,
1079 491, 491, 491, 931, 491, 491, 491, 491, 491, 491,
1080 491, 491, 493, 493, 931, 931, 931, 931, 493, 931,
1082 493, 495, 495, 931, 931, 931, 931, 931, 931, 495,
1083 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
1084 506, 506, 508, 508, 508, 508, 508, 508, 508, 508,
1085 508, 508, 508, 508, 522, 522, 931, 522, 522, 522,
1086 931, 522, 522, 522, 522, 522, 523, 523, 523, 931,
1087 523, 523, 523, 523, 523, 523, 523, 523, 528, 528,
1088 931, 931, 528, 931, 528, 931, 528, 531, 531, 931,
1089 531, 931, 531, 931, 931, 531, 548, 548, 548, 548,
1090 548, 548, 548, 548, 548, 548, 548, 548, 570, 570,
1091 931, 570, 570, 570, 931, 570, 570, 570, 570, 570,
1093 571, 571, 571, 931, 571, 571, 571, 571, 571, 571,
1094 571, 571, 579, 579, 931, 931, 931, 931, 579, 579,
1095 579, 598, 598, 598, 598, 598, 598, 598, 598, 598,
1096 598, 598, 598, 613, 613, 931, 931, 931, 931, 931,
1097 931, 613, 617, 617, 931, 617, 617, 617, 931, 617,
1098 617, 617, 617, 617, 618, 618, 618, 931, 618, 618,
1099 618, 618, 618, 618, 618, 618, 633, 633, 931, 633,
1100 931, 633, 931, 931, 633, 648, 648, 648, 648, 648,
1101 648, 648, 648, 648, 648, 648, 648, 651, 651, 931,
1102 931, 651, 931, 651, 931, 651, 655, 655, 931, 655,
1104 655, 655, 931, 655, 655, 655, 655, 655, 656, 656,
1105 656, 931, 656, 656, 656, 656, 656, 656, 656, 656,
1106 670, 670, 931, 931, 931, 670, 670, 931, 670, 684,
1107 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1108 684, 692, 692, 931, 692, 931, 931, 931, 692, 692,
1109 705, 705, 931, 705, 931, 705, 931, 931, 705, 728,
1110 728, 728, 728, 728, 728, 728, 728, 728, 728, 728,
1111 728, 741, 741, 931, 931, 931, 931, 741, 741, 741,
1112 753, 753, 931, 931, 931, 931, 753, 753, 753, 765,
1113 765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
1115 765, 777, 777, 777, 777, 777, 777, 777, 777, 777,
1116 777, 777, 777, 11, 931, 931, 931, 931, 931, 931,
1117 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1118 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1119 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1120 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1121 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1122 931, 931, 931, 931, 931, 931, 931, 931, 931
1125 static yyconst short int yy_chk[4080] =
1127 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1128 1, 1, 1, 1, 1, 1, 4, 5, 6, 9,
1129 7, 8, 9, 0, 5, 6, 4, 7, 8, 10,
1130 24, 24, 10, 25, 25, 35, 35, 42, 1, 1,
1131 1, 13, 13, 99, 17, 36, 12, 26, 99, 36,
1132 846, 38, 15, 87, 87, 108, 846, 12, 12, 12,
1133 38, 42, 13, 1, 1, 2, 2, 2, 2, 2,
1134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1135 2, 17, 16, 26, 2, 108, 13, 40, 15, 16,
1136 43, 41, 17, 17, 17, 15, 48, 13, 13, 13,
1138 16, 16, 16, 2, 2, 2, 15, 15, 15, 20,
1139 20, 41, 40, 21, 43, 101, 41, 880, 101, 100,
1140 48, 20, 20, 20, 21, 21, 21, 100, 2, 2,
1141 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1142 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1143 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1144 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1145 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1146 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1147 3, 3, 3, 3, 3, 14, 14, 44, 45, 46,
1149 47, 64, 62, 62, 149, 88, 102, 105, 49, 107,
1150 109, 114, 46, 67, 69, 45, 14, 102, 106, 73,
1151 47, 47, 44, 62, 74, 75, 149, 879, 46, 47,
1152 76, 106, 105, 107, 130, 68, 114, 64, 70, 109,
1153 14, 88, 144, 147, 145, 144, 145, 147, 130, 67,
1154 69, 14, 14, 14, 33, 33, 33, 33, 33, 33,
1155 33, 33, 33, 33, 33, 33, 49, 33, 33, 33,
1156 67, 68, 69, 73, 70, 110, 74, 76, 111, 115,
1157 75, 112, 113, 116, 150, 151, 117, 155, 70, 157,
1158 68, 183, 33, 33, 33, 134, 154, 325, 115, 110,
1160 135, 157, 136, 183, 137, 325, 111, 117, 112, 113,
1161 116, 150, 115, 151, 117, 154, 155, 33, 33, 34,
1162 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1163 34, 134, 34, 34, 34, 158, 135, 152, 136, 135,
1164 137, 148, 148, 156, 159, 161, 160, 148, 34, 162,
1165 134, 137, 163, 135, 136, 200, 156, 34, 34, 34,
1166 152, 201, 158, 160, 173, 173, 174, 177, 159, 148,
1167 173, 175, 176, 163, 162, 161, 178, 188, 188, 200,
1168 201, 817, 34, 34, 146, 146, 146, 146, 146, 146,
1169 146, 146, 146, 146, 146, 146, 189, 146, 146, 146,
1171 193, 184, 174, 177, 186, 187, 187, 175, 176, 174,
1172 177, 187, 178, 184, 194, 196, 186, 193, 195, 197,
1173 198, 240, 146, 146, 146, 189, 175, 178, 176, 211,
1174 199, 195, 198, 209, 209, 213, 197, 194, 212, 209,
1175 308, 214, 215, 240, 196, 199, 777, 146, 146, 153,
1176 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1177 153, 220, 153, 153, 153, 211, 308, 221, 222, 224,
1178 224, 213, 242, 220, 212, 222, 213, 214, 215, 221,
1179 223, 223, 211, 214, 382, 212, 223, 153, 153, 153,
1180 225, 225, 215, 226, 226, 236, 236, 251, 251, 252,
1182 226, 242, 243, 253, 382, 254, 261, 255, 258, 258,
1183 238, 261, 153, 153, 190, 190, 190, 190, 190, 190,
1184 190, 190, 190, 190, 190, 190, 238, 190, 190, 190,
1185 239, 243, 241, 285, 285, 252, 256, 256, 256, 253,
1186 262, 254, 279, 255, 253, 262, 263, 239, 241, 252,
1187 255, 263, 190, 190, 190, 264, 264, 266, 266, 239,
1188 254, 275, 264, 279, 266, 278, 280, 287, 287, 277,
1189 288, 288, 288, 289, 256, 275, 309, 190, 190, 192,
1190 192, 277, 278, 291, 291, 766, 295, 280, 292, 292,
1191 295, 327, 296, 297, 278, 192, 296, 302, 302, 310,
1193 327, 192, 336, 297, 309, 314, 314, 426, 288, 289,
1194 315, 315, 310, 316, 316, 320, 320, 289, 321, 321,
1195 426, 192, 192, 318, 318, 318, 314, 424, 192, 192,
1196 424, 336, 338, 344, 344, 192, 320, 192, 227, 227,
1197 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1198 292, 227, 227, 227, 317, 317, 317, 322, 322, 326,
1199 338, 318, 427, 322, 343, 343, 361, 326, 560, 350,
1200 350, 352, 352, 351, 351, 317, 227, 227, 227, 351,
1201 353, 353, 354, 355, 560, 343, 353, 354, 355, 345,
1202 350, 427, 317, 361, 347, 347, 347, 390, 390, 418,
1204 377, 227, 227, 244, 244, 244, 244, 244, 244, 244,
1205 244, 244, 244, 244, 244, 347, 244, 244, 244, 345,
1206 381, 356, 367, 367, 356, 345, 383, 386, 367, 384,
1207 367, 392, 347, 356, 377, 418, 377, 428, 370, 370,
1208 392, 244, 244, 244, 370, 381, 370, 765, 391, 391,
1209 383, 386, 368, 368, 384, 391, 369, 369, 368, 387,
1210 368, 428, 369, 431, 369, 385, 244, 244, 281, 281,
1211 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
1212 368, 281, 281, 281, 369, 385, 385, 393, 394, 387,
1213 431, 370, 394, 395, 385, 387, 393, 425, 395, 405,
1215 405, 472, 429, 371, 371, 405, 281, 281, 281, 371,
1216 521, 371, 372, 372, 439, 373, 373, 439, 372, 521,
1217 372, 373, 425, 373, 421, 421, 421, 429, 472, 433,
1218 421, 281, 281, 290, 290, 290, 290, 290, 290, 290,
1219 290, 290, 290, 290, 290, 290, 290, 290, 290, 403,
1220 403, 371, 404, 404, 441, 403, 440, 403, 475, 440,
1221 404, 430, 421, 433, 372, 433, 441, 432, 373, 374,
1222 374, 290, 290, 290, 734, 374, 550, 374, 375, 375,
1223 430, 406, 406, 550, 375, 475, 375, 406, 432, 406,
1224 442, 442, 448, 448, 430, 432, 290, 290, 319, 319,
1226 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1227 471, 319, 319, 319, 407, 407, 469, 374, 374, 469,
1228 407, 470, 407, 408, 408, 470, 374, 409, 409, 408,
1229 375, 408, 471, 409, 479, 409, 319, 319, 319, 673,
1230 410, 410, 407, 411, 411, 486, 410, 673, 410, 411,
1231 486, 411, 412, 412, 408, 450, 450, 478, 412, 479,
1232 412, 319, 319, 337, 337, 337, 337, 337, 337, 337,
1233 337, 337, 337, 337, 337, 476, 337, 337, 337, 474,
1234 409, 410, 413, 413, 481, 414, 414, 478, 413, 480,
1235 413, 414, 487, 414, 473, 473, 487, 484, 474, 476,
1237 411, 337, 337, 337, 412, 415, 415, 484, 416, 416,
1238 480, 415, 732, 415, 416, 516, 416, 420, 420, 420,
1239 481, 485, 473, 436, 436, 420, 337, 337, 342, 342,
1240 436, 485, 414, 438, 438, 413, 477, 449, 449, 516,
1241 438, 451, 451, 544, 342, 449, 414, 451, 452, 452,
1242 342, 493, 493, 477, 452, 420, 452, 416, 494, 494,
1243 415, 456, 456, 509, 416, 495, 495, 456, 510, 456,
1244 342, 342, 495, 452, 674, 509, 759, 342, 342, 544,
1245 510, 519, 519, 674, 342, 759, 342, 346, 346, 346,
1246 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1248 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1249 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1250 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1251 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1252 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1253 346, 346, 348, 348, 348, 348, 348, 348, 348, 348,
1254 348, 348, 348, 348, 512, 348, 348, 348, 453, 453,
1255 466, 466, 466, 768, 453, 768, 453, 554, 466, 454,
1256 454, 561, 513, 514, 555, 454, 515, 454, 455, 455,
1257 348, 348, 348, 512, 455, 514, 455, 457, 457, 513,
1259 453, 515, 554, 457, 555, 457, 458, 458, 466, 566,
1260 561, 556, 458, 566, 458, 348, 348, 363, 363, 363,
1261 363, 363, 363, 363, 363, 363, 363, 363, 363, 454,
1262 363, 363, 363, 460, 460, 556, 468, 468, 468, 460,
1263 545, 460, 468, 455, 457, 559, 459, 459, 517, 605,
1264 557, 717, 459, 545, 459, 363, 363, 363, 461, 461,
1265 595, 458, 462, 462, 461, 595, 461, 517, 462, 559,
1266 462, 492, 492, 605, 468, 557, 545, 492, 460, 562,
1267 363, 363, 378, 378, 378, 378, 378, 378, 378, 378,
1268 378, 378, 378, 378, 549, 378, 378, 378, 459, 602,
1270 492, 496, 496, 608, 497, 497, 549, 496, 562, 496,
1271 497, 687, 497, 527, 527, 462, 461, 463, 463, 527,
1272 378, 378, 378, 463, 602, 463, 499, 499, 596, 500,
1273 500, 608, 499, 596, 499, 500, 604, 500, 565, 565,
1274 601, 496, 527, 601, 497, 378, 378, 379, 379, 379,
1275 379, 379, 379, 379, 379, 379, 379, 379, 379, 593,
1276 379, 379, 379, 501, 501, 604, 463, 531, 531, 501,
1277 591, 501, 503, 503, 500, 641, 379, 603, 503, 531,
1278 503, 532, 532, 499, 558, 379, 379, 379, 502, 502,
1279 603, 504, 504, 532, 502, 593, 502, 504, 591, 504,
1281 526, 526, 641, 501, 558, 558, 591, 526, 686, 532,
1282 379, 379, 398, 398, 398, 398, 398, 398, 398, 398,
1283 398, 398, 398, 398, 503, 398, 398, 398, 505, 505,
1284 505, 502, 528, 528, 505, 518, 518, 638, 504, 528,
1285 638, 518, 685, 533, 533, 606, 534, 534, 529, 529,
1286 398, 398, 398, 658, 529, 533, 529, 505, 534, 530,
1287 530, 535, 535, 518, 529, 530, 505, 530, 563, 563,
1288 606, 533, 599, 535, 643, 398, 398, 419, 419, 419,
1289 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
1290 419, 419, 419, 643, 530, 637, 563, 611, 611, 534,
1292 612, 612, 536, 536, 646, 637, 537, 537, 599, 535,
1293 539, 539, 538, 538, 536, 419, 419, 419, 537, 540,
1294 540, 646, 539, 675, 538, 540, 636, 540, 541, 541,
1295 636, 542, 542, 711, 541, 675, 541, 542, 711, 542,
1296 419, 419, 465, 465, 465, 465, 465, 465, 465, 465,
1297 465, 465, 465, 465, 536, 465, 465, 465, 647, 537,
1298 538, 538, 539, 540, 543, 543, 546, 546, 546, 714,
1299 543, 718, 543, 546, 579, 579, 714, 564, 564, 647,
1300 465, 465, 465, 564, 718, 541, 579, 639, 542, 583,
1301 583, 639, 613, 613, 547, 547, 547, 573, 573, 613,
1303 547, 583, 640, 573, 546, 465, 465, 467, 467, 467,
1304 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
1305 467, 467, 467, 547, 640, 644, 573, 576, 576, 761,
1306 577, 577, 547, 576, 761, 576, 577, 657, 577, 581,
1307 581, 645, 583, 582, 582, 467, 467, 467, 578, 578,
1308 576, 581, 644, 577, 578, 582, 584, 584, 642, 642,
1309 578, 633, 633, 585, 585, 645, 594, 581, 584, 633,
1310 467, 467, 498, 498, 582, 585, 679, 578, 498, 594,
1311 498, 590, 590, 649, 649, 607, 642, 590, 498, 590,
1312 649, 586, 586, 679, 498, 587, 587, 584, 589, 589,
1314 588, 588, 594, 586, 607, 610, 610, 587, 681, 720,
1315 589, 610, 588, 676, 498, 498, 651, 651, 607, 762,
1316 585, 498, 498, 651, 762, 676, 654, 681, 498, 720,
1317 498, 506, 506, 506, 506, 506, 506, 506, 506, 506,
1318 506, 506, 506, 586, 506, 506, 506, 588, 587, 592,
1319 592, 592, 621, 621, 589, 592, 622, 622, 621, 678,
1320 621, 588, 622, 653, 622, 623, 623, 625, 625, 506,
1321 506, 506, 805, 725, 622, 670, 670, 623, 592, 625,
1322 627, 627, 805, 670, 621, 669, 669, 592, 678, 725,
1323 623, 669, 627, 669, 506, 506, 507, 507, 507, 507,
1325 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
1326 507, 507, 597, 597, 597, 624, 624, 625, 597, 760,
1327 635, 630, 630, 760, 597, 626, 626, 624, 629, 629,
1328 628, 628, 723, 630, 507, 507, 507, 626, 652, 680,
1329 629, 597, 628, 631, 631, 632, 632, 624, 635, 837,
1330 597, 680, 723, 723, 719, 631, 635, 632, 837, 507,
1331 507, 508, 508, 508, 508, 508, 508, 508, 508, 508,
1332 508, 508, 508, 630, 508, 508, 508, 628, 634, 719,
1333 626, 661, 661, 629, 659, 659, 671, 722, 631, 721,
1334 659, 634, 659, 661, 632, 690, 690, 660, 660, 508,
1336 508, 508, 730, 660, 659, 660, 713, 690, 692, 692,
1337 671, 690, 722, 721, 634, 780, 660, 780, 713, 730,
1338 692, 661, 671, 620, 508, 508, 511, 511, 511, 511,
1339 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1340 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1341 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1342 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1343 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1344 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1345 511, 548, 548, 548, 548, 548, 548, 548, 548, 548,
1347 548, 548, 548, 619, 548, 548, 548, 662, 662, 666,
1348 666, 664, 664, 726, 668, 668, 724, 803, 803, 662,
1349 668, 666, 668, 664, 693, 693, 836, 665, 665, 548,
1350 548, 548, 667, 667, 836, 668, 693, 672, 767, 665,
1351 724, 767, 726, 668, 667, 689, 689, 662, 757, 666,
1352 672, 689, 693, 689, 548, 548, 551, 551, 551, 551,
1353 551, 551, 551, 551, 551, 551, 551, 551, 664, 551,
1354 551, 551, 665, 672, 688, 688, 689, 691, 691, 667,
1355 688, 616, 688, 763, 757, 689, 694, 694, 763, 691,
1356 695, 695, 696, 696, 551, 551, 551, 688, 694, 697,
1358 697, 802, 695, 770, 696, 695, 698, 698, 778, 708,
1359 708, 697, 691, 802, 694, 708, 770, 708, 698, 551,
1360 551, 552, 552, 552, 552, 552, 552, 552, 552, 552,
1361 552, 552, 552, 709, 552, 552, 552, 702, 702, 856,
1362 856, 705, 705, 710, 778, 696, 771, 697, 615, 702,
1363 552, 699, 699, 705, 700, 700, 701, 701, 698, 552,
1364 552, 552, 709, 699, 703, 703, 700, 710, 701, 709,
1365 712, 740, 740, 712, 779, 771, 703, 800, 779, 710,
1366 769, 702, 712, 740, 552, 552, 609, 609, 609, 609,
1367 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
1369 609, 609, 700, 700, 699, 769, 704, 704, 701, 773,
1370 706, 706, 704, 800, 704, 772, 707, 707, 741, 741,
1371 801, 703, 706, 801, 609, 609, 609, 704, 707, 860,
1372 741, 707, 750, 750, 773, 704, 860, 736, 736, 772,
1373 737, 737, 706, 736, 750, 736, 737, 614, 737, 609,
1374 609, 648, 648, 648, 648, 648, 648, 648, 648, 648,
1375 648, 648, 648, 737, 648, 648, 648, 727, 727, 736,
1376 899, 738, 738, 727, 775, 727, 735, 735, 899, 750,
1377 739, 739, 735, 738, 735, 742, 742, 774, 727, 648,
1378 648, 648, 739, 750, 738, 735, 727, 742, 743, 743,
1380 744, 744, 775, 739, 600, 804, 774, 745, 745, 804,
1381 743, 809, 744, 742, 648, 648, 663, 663, 758, 745,
1382 774, 810, 663, 746, 746, 752, 752, 598, 663, 743,
1383 744, 806, 663, 809, 806, 746, 808, 752, 663, 753,
1384 753, 756, 756, 786, 786, 663, 807, 758, 810, 808,
1385 807, 753, 815, 756, 758, 786, 792, 792, 663, 663,
1386 745, 786, 834, 833, 746, 663, 663, 834, 792, 815,
1387 575, 756, 663, 833, 663, 677, 677, 677, 677, 677,
1388 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1389 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1391 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1392 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1393 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1394 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1395 682, 682, 682, 682, 682, 682, 682, 682, 682, 682,
1396 682, 682, 682, 682, 682, 682, 755, 755, 812, 835,
1397 814, 572, 682, 835, 747, 747, 811, 811, 755, 813,
1398 682, 748, 748, 749, 749, 569, 747, 812, 682, 682,
1399 682, 751, 751, 748, 814, 749, 764, 764, 764, 776,
1400 776, 776, 755, 751, 811, 840, 813, 840, 764, 861,
1402 568, 776, 861, 682, 682, 683, 683, 683, 683, 683,
1403 683, 683, 683, 683, 683, 683, 683, 683, 683, 683,
1404 683, 747, 818, 748, 764, 567, 749, 776, 782, 782,
1405 785, 785, 784, 784, 782, 842, 782, 751, 784, 818,
1406 784, 843, 785, 683, 683, 683, 783, 783, 789, 789,
1407 862, 553, 783, 782, 783, 790, 790, 525, 843, 784,
1408 789, 816, 785, 789, 842, 520, 862, 790, 683, 683,
1409 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1410 684, 684, 816, 684, 684, 684, 783, 787, 787, 788,
1411 788, 857, 791, 791, 845, 876, 857, 863, 489, 787,
1413 876, 788, 794, 794, 791, 790, 793, 793, 684, 684,
1414 684, 838, 787, 845, 794, 795, 795, 839, 793, 796,
1415 796, 788, 488, 838, 821, 821, 863, 795, 444, 839,
1416 821, 796, 821, 684, 684, 715, 715, 715, 715, 715,
1417 715, 715, 715, 715, 715, 715, 715, 791, 715, 715,
1418 715, 798, 798, 793, 819, 819, 821, 794, 864, 864,
1419 819, 873, 819, 798, 796, 873, 844, 795, 797, 797,
1420 799, 799, 819, 715, 715, 715, 822, 822, 844, 859,
1421 797, 858, 799, 874, 858, 799, 888, 888, 822, 820,
1422 820, 859, 874, 858, 443, 820, 822, 820, 715, 715,
1424 716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1425 716, 716, 820, 716, 716, 716, 890, 797, 823, 823,
1426 824, 824, 825, 825, 826, 826, 890, 841, 841, 716,
1427 823, 875, 824, 841, 825, 875, 826, 823, 716, 716,
1428 716, 828, 828, 829, 829, 830, 830, 831, 831, 877,
1429 826, 904, 904, 828, 877, 829, 841, 830, 886, 831,
1430 824, 886, 825, 716, 716, 728, 728, 728, 728, 728,
1431 728, 728, 728, 728, 728, 728, 728, 435, 728, 728,
1432 728, 832, 832, 847, 847, 830, 889, 878, 829, 847,
1433 889, 847, 878, 832, 831, 897, 848, 848, 828, 896,
1435 897, 850, 850, 728, 728, 728, 887, 832, 848, 896,
1436 847, 849, 849, 850, 851, 851, 898, 850, 887, 848,
1437 898, 911, 905, 849, 434, 911, 851, 905, 728, 728,
1438 729, 729, 729, 729, 729, 729, 729, 729, 729, 729,
1439 729, 729, 849, 729, 729, 729, 852, 852, 900, 851,
1440 423, 849, 912, 853, 853, 854, 854, 900, 852, 855,
1441 855, 912, 913, 729, 919, 853, 913, 854, 729, 729,
1442 729, 855, 865, 865, 914, 924, 919, 852, 865, 914,
1443 865, 918, 920, 920, 918, 924, 866, 866, 867, 867,
1444 855, 868, 868, 729, 729, 827, 827, 853, 866, 422,
1446 867, 827, 926, 868, 865, 866, 926, 827, 925, 869,
1447 869, 827, 854, 925, 868, 871, 871, 827, 870, 870,
1448 867, 869, 872, 872, 881, 881, 417, 871, 882, 882,
1449 870, 930, 869, 397, 872, 930, 881, 827, 827, 396,
1450 882, 870, 883, 883, 827, 827, 884, 884, 389, 881,
1451 388, 827, 380, 827, 883, 885, 885, 376, 884, 891,
1452 891, 366, 892, 892, 893, 893, 360, 885, 882, 883,
1453 359, 891, 358, 885, 892, 357, 893, 891, 884, 894,
1454 894, 895, 895, 901, 901, 892, 902, 902, 349, 903,
1455 903, 894, 341, 895, 906, 901, 893, 906, 902, 894,
1457 895, 903, 907, 907, 908, 908, 906, 909, 909, 902,
1458 901, 335, 910, 910, 907, 334, 908, 928, 928, 909,
1459 903, 915, 915, 908, 910, 916, 916, 333, 332, 903,
1460 917, 917, 329, 915, 907, 910, 328, 916, 323, 909,
1461 921, 921, 917, 922, 922, 307, 915, 923, 923, 927,
1462 927, 306, 921, 305, 304, 922, 303, 917, 921, 923,
1463 301, 927, 929, 929, 300, 916, 922, 299, 298, 294,
1464 293, 286, 276, 274, 929, 273, 927, 272, 271, 923,
1465 270, 269, 268, 260, 259, 257, 250, 249, 248, 247,
1466 237, 235, 234, 233, 929, 932, 932, 932, 932, 932,
1468 932, 932, 932, 932, 932, 932, 932, 933, 933, 933,
1469 933, 933, 933, 933, 933, 933, 933, 933, 933, 934,
1470 934, 934, 934, 934, 934, 934, 934, 934, 934, 934,
1471 934, 935, 935, 935, 935, 935, 935, 935, 935, 935,
1472 935, 935, 935, 936, 936, 936, 936, 936, 936, 936,
1473 936, 936, 936, 936, 936, 937, 937, 937, 937, 937,
1474 937, 937, 937, 937, 937, 937, 937, 938, 232, 938,
1475 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
1476 939, 939, 940, 940, 940, 940, 940, 940, 940, 940,
1477 940, 940, 940, 940, 941, 941, 941, 941, 941, 941,
1479 941, 941, 941, 941, 941, 941, 942, 942, 942, 942,
1480 942, 942, 942, 942, 942, 942, 231, 942, 943, 230,
1481 219, 218, 217, 216, 943, 208, 943, 944, 944, 207,
1482 944, 944, 944, 206, 944, 944, 944, 944, 944, 945,
1483 945, 945, 945, 945, 945, 945, 945, 945, 945, 945,
1484 945, 946, 946, 946, 205, 946, 946, 946, 946, 946,
1485 946, 946, 946, 947, 947, 947, 947, 947, 947, 947,
1486 947, 947, 947, 947, 947, 948, 204, 948, 949, 949,
1487 182, 949, 949, 949, 949, 949, 949, 949, 949, 949,
1488 950, 950, 181, 950, 950, 950, 180, 950, 950, 950,
1490 950, 950, 951, 951, 951, 179, 951, 951, 951, 951,
1491 951, 951, 951, 951, 952, 952, 172, 952, 952, 952,
1492 171, 952, 952, 952, 952, 952, 953, 953, 953, 170,
1493 953, 953, 953, 953, 953, 953, 953, 953, 954, 954,
1494 169, 168, 142, 141, 140, 139, 954, 955, 955, 133,
1495 955, 955, 955, 132, 955, 955, 955, 955, 955, 956,
1496 956, 956, 131, 956, 956, 956, 956, 956, 956, 956,
1497 956, 957, 957, 129, 103, 957, 98, 957, 97, 957,
1498 958, 958, 95, 958, 958, 958, 93, 958, 958, 958,
1499 958, 958, 959, 959, 959, 92, 959, 959, 959, 959,
1501 959, 959, 959, 959, 960, 960, 91, 960, 960, 960,
1502 90, 960, 960, 960, 960, 960, 961, 961, 961, 86,
1503 961, 961, 961, 961, 961, 961, 961, 961, 962, 962,
1504 85, 84, 82, 81, 80, 79, 962, 963, 963, 963,
1505 963, 963, 963, 963, 963, 963, 963, 963, 963, 964,
1506 964, 964, 964, 964, 964, 964, 964, 964, 964, 964,
1507 964, 965, 965, 965, 965, 965, 965, 965, 72, 965,
1508 71, 965, 965, 966, 966, 63, 966, 966, 966, 61,
1509 966, 966, 966, 966, 966, 967, 967, 967, 60, 967,
1510 967, 967, 967, 967, 967, 967, 967, 968, 968, 59,
1512 58, 57, 54, 968, 53, 968, 969, 969, 969, 969,
1513 969, 969, 969, 969, 969, 969, 969, 969, 970, 970,
1514 50, 970, 39, 37, 970, 31, 970, 971, 971, 30,
1515 971, 971, 971, 28, 971, 971, 971, 971, 971, 972,
1516 972, 972, 27, 972, 972, 972, 972, 972, 972, 972,
1517 972, 973, 973, 22, 11, 0, 0, 0, 0, 973,
1518 974, 974, 0, 0, 0, 0, 0, 0, 974, 975,
1519 975, 0, 975, 975, 975, 0, 975, 975, 975, 975,
1520 975, 976, 976, 976, 0, 976, 976, 976, 976, 976,
1521 976, 976, 976, 977, 977, 0, 977, 0, 977, 977,
1523 0, 977, 978, 978, 978, 978, 978, 978, 978, 978,
1524 978, 978, 978, 978, 979, 979, 0, 0, 979, 0,
1525 979, 0, 979, 980, 980, 0, 980, 980, 980, 0,
1526 980, 980, 980, 980, 980, 981, 981, 981, 0, 981,
1527 981, 981, 981, 981, 981, 981, 981, 982, 982, 0,
1528 982, 0, 982, 0, 0, 982, 983, 983, 983, 983,
1529 983, 983, 983, 983, 983, 983, 983, 983, 984, 984,
1530 0, 984, 984, 984, 0, 984, 984, 984, 984, 984,
1531 985, 985, 985, 0, 985, 985, 985, 985, 985, 985,
1532 985, 985, 986, 986, 0, 0, 0, 0, 986, 0,
1534 986, 987, 987, 0, 0, 0, 0, 0, 0, 987,
1535 988, 988, 988, 988, 988, 988, 988, 988, 988, 988,
1536 988, 988, 989, 989, 989, 989, 989, 989, 989, 989,
1537 989, 989, 989, 989, 990, 990, 0, 990, 990, 990,
1538 0, 990, 990, 990, 990, 990, 991, 991, 991, 0,
1539 991, 991, 991, 991, 991, 991, 991, 991, 992, 992,
1540 0, 0, 992, 0, 992, 0, 992, 993, 993, 0,
1541 993, 0, 993, 0, 0, 993, 994, 994, 994, 994,
1542 994, 994, 994, 994, 994, 994, 994, 994, 995, 995,
1543 0, 995, 995, 995, 0, 995, 995, 995, 995, 995,
1545 996, 996, 996, 0, 996, 996, 996, 996, 996, 996,
1546 996, 996, 997, 997, 0, 0, 0, 0, 997, 997,
1547 997, 998, 998, 998, 998, 998, 998, 998, 998, 998,
1548 998, 998, 998, 999, 999, 0, 0, 0, 0, 0,
1549 0, 999, 1000, 1000, 0, 1000, 1000, 1000, 0, 1000,
1550 1000, 1000, 1000, 1000, 1001, 1001, 1001, 0, 1001, 1001,
1551 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1002, 0, 1002,
1552 0, 1002, 0, 0, 1002, 1003, 1003, 1003, 1003, 1003,
1553 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, 0,
1554 0, 1004, 0, 1004, 0, 1004, 1005, 1005, 0, 1005,
1556 1005, 1005, 0, 1005, 1005, 1005, 1005, 1005, 1006, 1006,
1557 1006, 0, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006,
1558 1007, 1007, 0, 0, 0, 1007, 1007, 0, 1007, 1008,
1559 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
1560 1008, 1009, 1009, 0, 1009, 0, 0, 0, 1009, 1009,
1561 1010, 1010, 0, 1010, 0, 1010, 0, 0, 1010, 1011,
1562 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
1563 1011, 1012, 1012, 0, 0, 0, 0, 1012, 1012, 1012,
1564 1013, 1013, 0, 0, 0, 0, 1013, 1013, 1013, 1014,
1565 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
1567 1014, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
1568 1015, 1015, 1015, 931, 931, 931, 931, 931, 931, 931,
1569 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1570 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1571 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1572 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1573 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
1574 931, 931, 931, 931, 931, 931, 931, 931, 931
1577 static yy_state_type yy_last_accepting_state;
1578 static char *yy_last_accepting_cpos;
1580 /* The intent behind this definition is that it'll catch
1581 * any uses of REJECT which flex missed.
1583 #define REJECT reject_used_but_not_detected
1584 #define yymore() yymore_used_but_not_detected
1585 #define YY_MORE_ADJ 0
1586 #define YY_RESTORE_YY_MORE_OFFSET
1588 #line 1 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1590 /* -*- indented-text -*- */
1591 /* Process source files and output type information.
1592 Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
1594 This file is part of GCC.
1596 GCC is free software; you can redistribute it and/or modify it under
1597 the terms of the GNU General Public License as published by the Free
1598 Software Foundation; either version 2, or (at your option) any later
1601 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
1602 WARRANTY; without even the implied warranty of MERCHANTABILITY or
1603 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1606 You should have received a copy of the GNU General Public License
1607 along with GCC; see the file COPYING. If not, write to the Free
1608 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
1610 #line 23 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1611 #include "bconfig.h"
1612 #include "coretypes.h"
1615 #define malloc xmalloc
1616 #define realloc xrealloc
1618 #include "gengtype.h"
1619 #include "gengtype-yacc.h"
1621 #define YY_INPUT(BUF,RESULT,SIZE) ((RESULT) = macro_input (BUF,SIZE))
1623 static unsigned macro_input (char *buffer, unsigned);
1624 static void push_macro_expansion (const char *, unsigned,
1625 const char *, unsigned);
1626 static void update_lineno (const char *l, size_t len);
1628 struct fileloc lexer_line;
1629 int lexer_toplevel_done;
1632 update_lineno (const char *l, size_t len)
1640 #define in_struct_comment 2
1641 #define in_comment 3
1642 #define in_yacc_escape 4
1644 #define YY_NO_UNPUT 1
1645 #define YY_NEVER_INTERACTIVE 1
1646 #line 1647 "gengtype-lex.c"
1648 /* Macros after this point can all be overridden by user definitions in
1652 #ifndef YY_SKIP_YYWRAP
1654 extern "C" int yywrap YY_PROTO(( void ));
1656 extern int yywrap YY_PROTO(( void ));
1661 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1665 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1668 #ifdef YY_NEED_STRLEN
1669 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1674 static int yyinput YY_PROTO(( void ));
1676 static int input YY_PROTO(( void ));
1681 static int yy_start_stack_ptr = 0;
1682 static int yy_start_stack_depth = 0;
1683 static int *yy_start_stack = 0;
1684 #ifndef YY_NO_PUSH_STATE
1685 static void yy_push_state YY_PROTO(( int new_state ));
1687 #ifndef YY_NO_POP_STATE
1688 static void yy_pop_state YY_PROTO(( void ));
1690 #ifndef YY_NO_TOP_STATE
1691 static int yy_top_state YY_PROTO(( void ));
1695 #define YY_NO_PUSH_STATE 1
1696 #define YY_NO_POP_STATE 1
1697 #define YY_NO_TOP_STATE 1
1700 #ifdef YY_MALLOC_DECL
1708 /* Just try to get by without declaring the routines. This will fail
1709 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1710 * or sizeof(void*) != sizeof(int).
1715 /* Amount of stuff to slurp up with each read. */
1716 #ifndef YY_READ_BUF_SIZE
1717 #define YY_READ_BUF_SIZE 8192
1720 /* Copy whatever the last rule matched to the standard output. */
1723 /* This used to be an fputs(), but since the string might contain NUL's,
1724 * we now use fwrite().
1726 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1729 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1730 * is returned in "result".
1733 #define YY_INPUT(buf,result,max_size) \
1734 if ( yy_current_buffer->yy_is_interactive ) \
1737 for ( n = 0; n < max_size && \
1738 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1739 buf[n] = (char) c; \
1741 buf[n++] = (char) c; \
1742 if ( c == EOF && ferror( yyin ) ) \
1743 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1746 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1747 && ferror( yyin ) ) \
1748 YY_FATAL_ERROR( "input in flex scanner failed" );
1751 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1752 * we don't want an extra ';' after the "return" because that will cause
1753 * some compilers to complain about unreachable statements.
1756 #define yyterminate() return YY_NULL
1759 /* Number of entries by which start-condition stack grows. */
1760 #ifndef YY_START_STACK_INCR
1761 #define YY_START_STACK_INCR 25
1764 /* Report a fatal error. */
1765 #ifndef YY_FATAL_ERROR
1766 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1769 /* Default declaration of generated scanner - a define so the user can
1770 * easily add parameters.
1773 #define YY_DECL int yylex YY_PROTO(( void ))
1776 /* Code executed at the beginning of each rule, after yytext and yyleng
1779 #ifndef YY_USER_ACTION
1780 #define YY_USER_ACTION
1783 /* Code executed at the end of each rule. */
1785 #define YY_BREAK break;
1788 #define YY_RULE_SETUP \
1790 yy_current_buffer->yy_at_bol = \
1791 (yytext[yyleng - 1] == '\n'); \
1796 register yy_state_type yy_current_state;
1797 register char *yy_cp = NULL, *yy_bp = NULL;
1798 register int yy_act;
1800 #line 61 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1803 #line 1804 "gengtype-lex.c"
1814 yy_start = 1; /* first start state */
1822 if ( ! yy_current_buffer )
1824 yy_create_buffer( yyin, YY_BUF_SIZE );
1826 yy_load_buffer_state();
1829 while ( 1 ) /* loops until end-of-file is reached */
1833 /* Support of yytext. */
1834 *yy_cp = yy_hold_char;
1836 /* yy_bp points to the position in yy_ch_buf of the start of
1841 yy_current_state = yy_start;
1842 yy_current_state += YY_AT_BOL();
1846 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1847 if ( yy_accept[yy_current_state] )
1849 yy_last_accepting_state = yy_current_state;
1850 yy_last_accepting_cpos = yy_cp;
1852 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1854 yy_current_state = (int) yy_def[yy_current_state];
1855 if ( yy_current_state >= 932 )
1856 yy_c = yy_meta[(unsigned int) yy_c];
1858 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1861 while ( yy_base[yy_current_state] != 4014 );
1864 yy_act = yy_accept[yy_current_state];
1866 { /* have to back up */
1867 yy_cp = yy_last_accepting_cpos;
1868 yy_current_state = yy_last_accepting_state;
1869 yy_act = yy_accept[yy_current_state];
1872 YY_DO_BEFORE_ACTION;
1875 do_action: /* This label is used only to access EOF actions. */
1879 { /* beginning of action switch */
1880 case 0: /* must back up */
1881 /* undo the effects of YY_DO_BEFORE_ACTION */
1882 *yy_cp = yy_hold_char;
1883 yy_cp = yy_last_accepting_cpos;
1884 yy_current_state = yy_last_accepting_state;
1885 goto yy_find_action;
1889 #line 63 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1899 tagstart = yytext + strlen (" typedef ");
1900 while (ISSPACE (*tagstart))
1902 union_p = tagstart[0] == 'u';
1903 tagstart += strlen ("union ");
1904 while (ISSPACE (*tagstart))
1906 for (taglen = 1; ISIDNUM (tagstart[taglen]); taglen++)
1908 for (namestart = tagstart + taglen;
1909 ! ISIDNUM (*namestart);
1911 if (*namestart == '*')
1913 for (namelen = 1; ISIDNUM (namestart[namelen]); namelen++)
1915 t = find_structure ((const char *) xmemdup (tagstart, taglen, taglen+1),
1918 t = create_pointer (t);
1919 namestart = (char *) xmemdup (namestart, namelen, namelen+1);
1920 #ifdef USE_MAPPED_LOCATION
1921 /* temporary kludge - gentype doesn't handle cpp conditionals */
1922 if (strcmp (namestart, "location_t") != 0
1923 && strcmp (namestart, "expanded_location") != 0)
1925 do_typedef (namestart, t, &lexer_line);
1926 update_lineno (yytext, yyleng);
1931 #line 102 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1940 for (namestart = yytext + yyleng - 2; ISSPACE (*namestart); namestart--)
1942 for (namelen = 1; !ISSPACE (namestart[-namelen]); namelen++)
1944 namestart -= namelen - 1;
1945 for (typestart = yytext + strlen (" typedef ");
1946 ISSPACE(*typestart);
1949 for (typelen = namestart - typestart;
1950 ISSPACE (typestart[typelen-1]);
1954 t = create_scalar_type (typestart, typelen);
1955 do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
1957 update_lineno (yytext, yyleng);
1962 #line 130 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1968 for (namestart = yytext + yyleng - 7; ISSPACE (*namestart); namestart--)
1970 for (namelen = 1; !ISSPACE (namestart[-namelen]); namelen++)
1972 namestart -= namelen - 1;
1974 t = create_scalar_type ("function type", sizeof ("function type")-1);
1975 do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
1977 update_lineno (yytext, yyleng);
1982 #line 147 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
1988 for (namestart = yytext + yyleng - 2; ISSPACE (*namestart); namestart--)
1990 for (namelen = 1; !ISSPACE (namestart[-namelen]); namelen++)
1992 namestart -= namelen - 1;
1994 t = create_scalar_type ("function type", sizeof ("function type")-1);
1995 do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
1997 update_lineno (yytext, yyleng);
2002 #line 164 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2008 for (namestart = yytext + yyleng - 7; !ISIDNUM (*namestart); namestart--)
2010 for (namelen = 1; ISIDNUM (namestart[-namelen]); namelen++)
2012 namestart -= namelen - 1;
2014 t = create_scalar_type ("function type", sizeof ("function type")-1);
2015 do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
2017 update_lineno (yytext, yyleng);
2022 #line 181 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2028 for (namestart = yytext + yyleng - 2; !ISIDNUM (*namestart); namestart--)
2030 for (namelen = 1; ISIDNUM (namestart[-namelen]); namelen++)
2032 namestart -= namelen - 1;
2034 t = create_scalar_type ("function type", sizeof ("function type")-1);
2035 do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
2037 update_lineno (yytext, yyleng);
2041 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2042 yy_c_buf_p = yy_cp -= 3;
2043 YY_DO_BEFORE_ACTION; /* set up yytext again */
2045 #line 198 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2052 typedef_p = yytext[1] == 't';
2054 for (tagstart = yytext + strlen (" typedef ");
2059 tagstart = yytext + 1;
2061 union_p = tagstart[0] == 'u';
2062 tagstart += strlen ("union ");
2063 while (ISSPACE (*tagstart))
2065 for (taglen = 1; ISIDNUM (tagstart[taglen]); taglen++)
2068 yylval.t = find_structure ((const char *) xmemdup (tagstart, taglen,
2072 update_lineno (yytext, yyleng);
2073 return typedef_p ? ENT_TYPEDEF_STRUCT : ENT_STRUCT;
2077 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2078 yy_c_buf_p = yy_cp -= 3;
2079 YY_DO_BEFORE_ACTION; /* set up yytext again */
2081 #line 228 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2084 update_lineno (yytext, yyleng);
2085 return ENT_EXTERNSTATIC;
2089 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2090 yy_c_buf_p = yy_cp -= 3;
2091 YY_DO_BEFORE_ACTION; /* set up yytext again */
2093 #line 234 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2096 update_lineno (yytext, yyleng);
2097 return ENT_YACCUNION;
2102 #line 240 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2105 unsigned macro_len, arg_len;
2109 /* Locate the macro and argument strings. */
2111 while (*ptr != '(' && !ISSPACE (*ptr))
2113 macro_len = ptr - macro;
2114 while (*ptr == '(' || ISSPACE (*ptr))
2117 while (*ptr != ')' && !ISSPACE (*ptr))
2119 arg_len = ptr - arg;
2121 /* Push the macro for later expansion. */
2122 push_macro_expansion (macro, macro_len, arg, arg_len);
2124 /* Create the struct and typedef. */
2125 ptr = (char *) xmemdup ("VEC_", 4, 4 + arg_len + 1);
2126 memcpy (&ptr[4], arg, arg_len);
2127 ptr[4 + arg_len] = 0;
2128 t = find_structure (ptr, 0);
2129 do_typedef (ptr, t, &lexer_line);
2135 #line 271 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2136 { BEGIN(in_struct_comment); }
2140 #line 273 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2141 { BEGIN(in_yacc_escape); } /* } */
2145 #line 275 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2146 /* Used for c-parse.in C/ObjC demarcation. */
2150 #line 277 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2151 { update_lineno (yytext, yyleng); }
2154 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2155 yy_c_buf_p = yy_cp = yy_bp + 5;
2156 YY_DO_BEFORE_ACTION; /* set up yytext again */
2158 #line 279 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2162 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2163 yy_c_buf_p = yy_cp = yy_bp + 3;
2164 YY_DO_BEFORE_ACTION; /* set up yytext again */
2166 #line 280 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2167 { return GTY_TOKEN; }
2170 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2171 yy_c_buf_p = yy_cp = yy_bp + 5;
2172 YY_DO_BEFORE_ACTION; /* set up yytext again */
2174 #line 281 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2178 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2179 yy_c_buf_p = yy_cp = yy_bp + 6;
2180 YY_DO_BEFORE_ACTION; /* set up yytext again */
2182 #line 282 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2186 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2187 yy_c_buf_p = yy_cp = yy_bp + 4;
2188 YY_DO_BEFORE_ACTION; /* set up yytext again */
2190 #line 283 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2194 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2195 yy_c_buf_p = yy_cp = yy_bp + 9;
2196 YY_DO_BEFORE_ACTION; /* set up yytext again */
2198 #line 284 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2202 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2203 yy_c_buf_p = yy_cp = yy_bp + 10;
2204 YY_DO_BEFORE_ACTION; /* set up yytext again */
2206 #line 285 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2207 { return NESTED_PTR; }
2211 #line 286 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2215 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2216 yy_c_buf_p = yy_cp -= 1;
2217 YY_DO_BEFORE_ACTION; /* set up yytext again */
2219 #line 287 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2221 yylval.s = (const char *) xmemdup (yytext, yyleng, yyleng+1);
2226 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2227 yy_c_buf_p = yy_cp -= 1;
2228 YY_DO_BEFORE_ACTION; /* set up yytext again */
2229 #line 293 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2232 #line 293 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2236 for (len = yyleng; ISSPACE (yytext[len-1]); len--)
2239 yylval.t = create_scalar_type (yytext, len);
2240 update_lineno (yytext, yyleng);
2246 #line 304 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2249 unsigned macro_len, arg_len;
2253 while (*ptr != '(' && !ISSPACE (*ptr)) /* )*/
2255 macro_len = ptr - macro;
2256 while (*ptr == '(' || ISSPACE (*ptr))
2259 while (*ptr != ')' && !ISSPACE (*ptr))
2261 arg_len = ptr - arg;
2262 ptr = (char *) xmemdup (macro, macro_len, macro_len + arg_len + 2);
2263 ptr[macro_len] = '_';
2264 memcpy (&ptr[macro_len+1], arg, arg_len);
2270 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2271 yy_c_buf_p = yy_cp -= 1;
2272 YY_DO_BEFORE_ACTION; /* set up yytext again */
2274 #line 326 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2276 yylval.s = (const char *) xmemdup (yytext, yyleng, yyleng+1);
2282 #line 331 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2284 yylval.s = (const char *) xmemdup (yytext+1, yyleng-2, yyleng-1);
2290 #line 335 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2292 yylval.s = (const char *) xmemdup (yytext+1, yyleng-2, yyleng-1);
2298 #line 339 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2300 yylval.s = (const char *) xmemdup (yytext+1, yyleng-1, yyleng);
2306 #line 343 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2308 yylval.s = (const char *) xmemdup (yytext+1, yyleng-2, yyleng);
2314 #line 348 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2315 { return yytext[0]; }
2319 #line 350 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2321 if (lexer_toplevel_done)
2324 lexer_toplevel_done = 0;
2331 #line 359 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2334 return PERCENTPERCENT;
2339 #line 364 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2340 {lexer_line.line++;}
2344 #line 366 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2346 error_at_line (&lexer_line, "unexpected character `%s'", yytext);
2352 #line 371 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2353 { BEGIN(in_comment); }
2357 #line 372 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2358 { lexer_line.line++; }
2361 #line 374 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2363 #line 375 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2366 #line 375 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2371 #line 376 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2372 { update_lineno (yytext, yyleng); }
2375 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2376 yy_c_buf_p = yy_cp = yy_bp + 1;
2377 YY_DO_BEFORE_ACTION; /* set up yytext again */
2379 #line 377 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2385 #line 380 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2386 { lexer_line.line++; }
2389 #line 382 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2392 #line 382 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2396 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2397 yy_c_buf_p = yy_cp = yy_bp + 1;
2398 YY_DO_BEFORE_ACTION; /* set up yytext again */
2400 #line 383 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2406 #line 385 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2411 #line 386 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2412 { BEGIN(in_struct); }
2417 #line 389 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2418 { lexer_line.line++; }
2421 #line 391 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2424 #line 391 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2428 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2429 yy_c_buf_p = yy_cp = yy_bp + 1;
2430 YY_DO_BEFORE_ACTION; /* set up yytext again */
2432 #line 392 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2437 #line 393 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2438 { BEGIN(in_struct); }
2442 #line 394 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2444 error_at_line (&lexer_line,
2445 "unterminated %%{; unexpected EOF");
2450 #line 402 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2453 #line 402 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2455 error_at_line (&lexer_line,
2456 "unterminated comment or string; unexpected EOF");
2461 #line 407 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2466 #line 408 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2468 error_at_line (&lexer_line, "stray GTY marker");
2473 #line 412 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
2474 YY_FATAL_ERROR( "flex scanner jammed" );
2476 #line 2477 "gengtype-lex.c"
2477 case YY_STATE_EOF(INITIAL):
2478 case YY_STATE_EOF(in_struct):
2479 case YY_STATE_EOF(in_struct_comment):
2480 case YY_STATE_EOF(in_comment):
2481 case YY_STATE_EOF(in_yacc_escape):
2484 case YY_END_OF_BUFFER:
2486 /* Amount of text matched not including the EOB char. */
2487 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2489 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2490 *yy_cp = yy_hold_char;
2491 YY_RESTORE_YY_MORE_OFFSET
2493 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2495 /* We're scanning a new file or input source. It's
2496 * possible that this happened because the user
2497 * just pointed yyin at a new source and called
2498 * yylex(). If so, then we have to assure
2499 * consistency between yy_current_buffer and our
2500 * globals. Here is the right place to do so, because
2501 * this is the first action (other than possibly a
2502 * back-up) that will match for the new input source.
2504 yy_n_chars = yy_current_buffer->yy_n_chars;
2505 yy_current_buffer->yy_input_file = yyin;
2506 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2509 /* Note that here we test for yy_c_buf_p "<=" to the position
2510 * of the first EOB in the buffer, since yy_c_buf_p will
2511 * already have been incremented past the NUL character
2512 * (since all states make transitions on EOB to the
2513 * end-of-buffer state). Contrast this with the test
2516 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2517 { /* This was really a NUL. */
2518 yy_state_type yy_next_state;
2520 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2522 yy_current_state = yy_get_previous_state();
2524 /* Okay, we're now positioned to make the NUL
2525 * transition. We couldn't have
2526 * yy_get_previous_state() go ahead and do it
2527 * for us because it doesn't know how to deal
2528 * with the possibility of jamming (and we don't
2529 * want to build jamming into it because then it
2530 * will run more slowly).
2533 yy_next_state = yy_try_NUL_trans( yy_current_state );
2535 yy_bp = yytext_ptr + YY_MORE_ADJ;
2537 if ( yy_next_state )
2539 /* Consume the NUL. */
2540 yy_cp = ++yy_c_buf_p;
2541 yy_current_state = yy_next_state;
2548 goto yy_find_action;
2552 else switch ( yy_get_next_buffer() )
2554 case EOB_ACT_END_OF_FILE:
2556 yy_did_buffer_switch_on_eof = 0;
2560 /* Note: because we've taken care in
2561 * yy_get_next_buffer() to have set up
2562 * yytext, we can now set up
2563 * yy_c_buf_p so that if some total
2564 * hoser (like flex itself) wants to
2565 * call the scanner after we return the
2566 * YY_NULL, it'll still work - another
2567 * YY_NULL will get returned.
2569 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2571 yy_act = YY_STATE_EOF(YY_START);
2577 if ( ! yy_did_buffer_switch_on_eof )
2583 case EOB_ACT_CONTINUE_SCAN:
2585 yytext_ptr + yy_amount_of_matched_text;
2587 yy_current_state = yy_get_previous_state();
2590 yy_bp = yytext_ptr + YY_MORE_ADJ;
2593 case EOB_ACT_LAST_MATCH:
2595 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2597 yy_current_state = yy_get_previous_state();
2600 yy_bp = yytext_ptr + YY_MORE_ADJ;
2601 goto yy_find_action;
2608 "fatal flex scanner internal error--no action found" );
2609 } /* end of action switch */
2610 } /* end of scanning one token */
2611 } /* end of yylex */
2614 /* yy_get_next_buffer - try to read in a new buffer
2616 * Returns a code representing an action:
2617 * EOB_ACT_LAST_MATCH -
2618 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2619 * EOB_ACT_END_OF_FILE - end of file
2622 static int yy_get_next_buffer()
2624 register char *dest = yy_current_buffer->yy_ch_buf;
2625 register char *source = yytext_ptr;
2626 register int number_to_move, i;
2629 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2631 "fatal flex scanner internal error--end of buffer missed" );
2633 if ( yy_current_buffer->yy_fill_buffer == 0 )
2634 { /* Don't try to fill the buffer, so this is an EOF. */
2635 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2637 /* We matched a single character, the EOB, so
2638 * treat this as a final EOF.
2640 return EOB_ACT_END_OF_FILE;
2645 /* We matched some text prior to the EOB, first
2648 return EOB_ACT_LAST_MATCH;
2652 /* Try to read more data. */
2654 /* First move last chars to start of buffer. */
2655 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2657 for ( i = 0; i < number_to_move; ++i )
2658 *(dest++) = *(source++);
2660 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2661 /* don't do the read, it's not guaranteed to return an EOF,
2664 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2669 yy_current_buffer->yy_buf_size - number_to_move - 1;
2671 while ( num_to_read <= 0 )
2672 { /* Not enough room in the buffer - grow it. */
2673 #ifdef YY_USES_REJECT
2675 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2678 /* just a shorter name for the current buffer */
2679 YY_BUFFER_STATE b = yy_current_buffer;
2681 int yy_c_buf_p_offset =
2682 (int) (yy_c_buf_p - b->yy_ch_buf);
2684 if ( b->yy_is_our_buffer )
2686 int new_size = b->yy_buf_size * 2;
2688 if ( new_size <= 0 )
2689 b->yy_buf_size += b->yy_buf_size / 8;
2691 b->yy_buf_size *= 2;
2693 b->yy_ch_buf = (char *)
2694 /* Include room in for 2 EOB chars. */
2695 yy_flex_realloc( (void *) b->yy_ch_buf,
2696 b->yy_buf_size + 2 );
2699 /* Can't grow it, we don't own it. */
2702 if ( ! b->yy_ch_buf )
2704 "fatal error - scanner input buffer overflow" );
2706 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2708 num_to_read = yy_current_buffer->yy_buf_size -
2713 if ( num_to_read > YY_READ_BUF_SIZE )
2714 num_to_read = YY_READ_BUF_SIZE;
2716 /* Read in more data. */
2717 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2718 yy_n_chars, num_to_read );
2720 yy_current_buffer->yy_n_chars = yy_n_chars;
2723 if ( yy_n_chars == 0 )
2725 if ( number_to_move == YY_MORE_ADJ )
2727 ret_val = EOB_ACT_END_OF_FILE;
2733 ret_val = EOB_ACT_LAST_MATCH;
2734 yy_current_buffer->yy_buffer_status =
2735 YY_BUFFER_EOF_PENDING;
2740 ret_val = EOB_ACT_CONTINUE_SCAN;
2742 yy_n_chars += number_to_move;
2743 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2744 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2746 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2752 /* yy_get_previous_state - get the state just before the EOB char was reached */
2754 static yy_state_type yy_get_previous_state()
2756 register yy_state_type yy_current_state;
2757 register char *yy_cp;
2759 yy_current_state = yy_start;
2760 yy_current_state += YY_AT_BOL();
2762 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2764 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2765 if ( yy_accept[yy_current_state] )
2767 yy_last_accepting_state = yy_current_state;
2768 yy_last_accepting_cpos = yy_cp;
2770 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2772 yy_current_state = (int) yy_def[yy_current_state];
2773 if ( yy_current_state >= 932 )
2774 yy_c = yy_meta[(unsigned int) yy_c];
2776 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2779 return yy_current_state;
2783 /* yy_try_NUL_trans - try to make a transition on the NUL character
2786 * next_state = yy_try_NUL_trans( current_state );
2789 #ifdef YY_USE_PROTOS
2790 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2792 static yy_state_type yy_try_NUL_trans( yy_current_state )
2793 yy_state_type yy_current_state;
2796 register int yy_is_jam;
2797 register char *yy_cp = yy_c_buf_p;
2799 register YY_CHAR yy_c = 1;
2800 if ( yy_accept[yy_current_state] )
2802 yy_last_accepting_state = yy_current_state;
2803 yy_last_accepting_cpos = yy_cp;
2805 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2807 yy_current_state = (int) yy_def[yy_current_state];
2808 if ( yy_current_state >= 932 )
2809 yy_c = yy_meta[(unsigned int) yy_c];
2811 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2812 yy_is_jam = (yy_current_state == 931);
2814 return yy_is_jam ? 0 : yy_current_state;
2819 #ifdef YY_USE_PROTOS
2820 static void yyunput( int c, register char *yy_bp )
2822 static void yyunput( c, yy_bp )
2824 register char *yy_bp;
2827 register char *yy_cp = yy_c_buf_p;
2829 /* undo effects of setting up yytext */
2830 *yy_cp = yy_hold_char;
2832 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2833 { /* need to shift things up to make room */
2834 /* +2 for EOB chars. */
2835 register int number_to_move = yy_n_chars + 2;
2836 register char *dest = &yy_current_buffer->yy_ch_buf[
2837 yy_current_buffer->yy_buf_size + 2];
2838 register char *source =
2839 &yy_current_buffer->yy_ch_buf[number_to_move];
2841 while ( source > yy_current_buffer->yy_ch_buf )
2842 *--dest = *--source;
2844 yy_cp += (int) (dest - source);
2845 yy_bp += (int) (dest - source);
2846 yy_current_buffer->yy_n_chars =
2847 yy_n_chars = yy_current_buffer->yy_buf_size;
2849 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2850 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2853 *--yy_cp = (char) c;
2857 yy_hold_char = *yy_cp;
2860 #endif /* ifndef YY_NO_UNPUT */
2864 static int yyinput()
2871 *yy_c_buf_p = yy_hold_char;
2873 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2875 /* yy_c_buf_p now points to the character we want to return.
2876 * If this occurs *before* the EOB characters, then it's a
2877 * valid NUL; if not, then we've hit the end of the buffer.
2879 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2880 /* This was really a NUL. */
2884 { /* need more input */
2885 int offset = yy_c_buf_p - yytext_ptr;
2888 switch ( yy_get_next_buffer() )
2890 case EOB_ACT_LAST_MATCH:
2891 /* This happens because yy_g_n_b()
2892 * sees that we've accumulated a
2893 * token and flags that we need to
2894 * try matching the token before
2895 * proceeding. But for input(),
2896 * there's no matching to consider.
2897 * So convert the EOB_ACT_LAST_MATCH
2898 * to EOB_ACT_END_OF_FILE.
2901 /* Reset buffer status. */
2906 case EOB_ACT_END_OF_FILE:
2911 if ( ! yy_did_buffer_switch_on_eof )
2920 case EOB_ACT_CONTINUE_SCAN:
2921 yy_c_buf_p = yytext_ptr + offset;
2927 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2928 *yy_c_buf_p = '\0'; /* preserve yytext */
2929 yy_hold_char = *++yy_c_buf_p;
2931 yy_current_buffer->yy_at_bol = (c == '\n');
2937 #ifdef YY_USE_PROTOS
2938 void yyrestart( FILE *input_file )
2940 void yyrestart( input_file )
2944 if ( ! yy_current_buffer )
2945 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2947 yy_init_buffer( yy_current_buffer, input_file );
2948 yy_load_buffer_state();
2952 #ifdef YY_USE_PROTOS
2953 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2955 void yy_switch_to_buffer( new_buffer )
2956 YY_BUFFER_STATE new_buffer;
2959 if ( yy_current_buffer == new_buffer )
2962 if ( yy_current_buffer )
2964 /* Flush out information for old buffer. */
2965 *yy_c_buf_p = yy_hold_char;
2966 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2967 yy_current_buffer->yy_n_chars = yy_n_chars;
2970 yy_current_buffer = new_buffer;
2971 yy_load_buffer_state();
2973 /* We don't actually know whether we did this switch during
2974 * EOF (yywrap()) processing, but the only time this flag
2975 * is looked at is after yywrap() is called, so it's safe
2976 * to go ahead and always set it.
2978 yy_did_buffer_switch_on_eof = 1;
2982 #ifdef YY_USE_PROTOS
2983 void yy_load_buffer_state( void )
2985 void yy_load_buffer_state()
2988 yy_n_chars = yy_current_buffer->yy_n_chars;
2989 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2990 yyin = yy_current_buffer->yy_input_file;
2991 yy_hold_char = *yy_c_buf_p;
2995 #ifdef YY_USE_PROTOS
2996 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2998 YY_BUFFER_STATE yy_create_buffer( file, size )
3005 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3007 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3009 b->yy_buf_size = size;
3011 /* yy_ch_buf has to be 2 characters longer than the size given because
3012 * we need to put in 2 end-of-buffer characters.
3014 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3015 if ( ! b->yy_ch_buf )
3016 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3018 b->yy_is_our_buffer = 1;
3020 yy_init_buffer( b, file );
3026 #ifdef YY_USE_PROTOS
3027 void yy_delete_buffer( YY_BUFFER_STATE b )
3029 void yy_delete_buffer( b )
3036 if ( b == yy_current_buffer )
3037 yy_current_buffer = (YY_BUFFER_STATE) 0;
3039 if ( b->yy_is_our_buffer )
3040 yy_flex_free( (void *) b->yy_ch_buf );
3042 yy_flex_free( (void *) b );
3047 #ifdef YY_USE_PROTOS
3048 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3050 void yy_init_buffer( b, file )
3057 yy_flush_buffer( b );
3059 b->yy_input_file = file;
3060 b->yy_fill_buffer = 1;
3062 #if YY_ALWAYS_INTERACTIVE
3063 b->yy_is_interactive = 1;
3065 #if YY_NEVER_INTERACTIVE
3066 b->yy_is_interactive = 0;
3068 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3074 #ifdef YY_USE_PROTOS
3075 void yy_flush_buffer( YY_BUFFER_STATE b )
3077 void yy_flush_buffer( b )
3087 /* We always need two end-of-buffer characters. The first causes
3088 * a transition to the end-of-buffer state. The second causes
3089 * a jam in that state.
3091 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3092 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3094 b->yy_buf_pos = &b->yy_ch_buf[0];
3097 b->yy_buffer_status = YY_BUFFER_NEW;
3099 if ( b == yy_current_buffer )
3100 yy_load_buffer_state();
3104 #ifndef YY_NO_SCAN_BUFFER
3105 #ifdef YY_USE_PROTOS
3106 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3108 YY_BUFFER_STATE yy_scan_buffer( base, size )
3116 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3117 base[size-1] != YY_END_OF_BUFFER_CHAR )
3118 /* They forgot to leave room for the EOB's. */
3121 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3123 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3125 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3126 b->yy_buf_pos = b->yy_ch_buf = base;
3127 b->yy_is_our_buffer = 0;
3128 b->yy_input_file = 0;
3129 b->yy_n_chars = b->yy_buf_size;
3130 b->yy_is_interactive = 0;
3132 b->yy_fill_buffer = 0;
3133 b->yy_buffer_status = YY_BUFFER_NEW;
3135 yy_switch_to_buffer( b );
3142 #ifndef YY_NO_SCAN_STRING
3143 #ifdef YY_USE_PROTOS
3144 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3146 YY_BUFFER_STATE yy_scan_string( yy_str )
3147 yyconst char *yy_str;
3151 for ( len = 0; yy_str[len]; ++len )
3154 return yy_scan_bytes( yy_str, len );
3159 #ifndef YY_NO_SCAN_BYTES
3160 #ifdef YY_USE_PROTOS
3161 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3163 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3164 yyconst char *bytes;
3173 /* Get memory for full buffer, including space for trailing EOB's. */
3175 buf = (char *) yy_flex_alloc( n );
3177 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3179 for ( i = 0; i < len; ++i )
3182 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3184 b = yy_scan_buffer( buf, n );
3186 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3188 /* It's okay to grow etc. this buffer, and we should throw it
3189 * away when we're done.
3191 b->yy_is_our_buffer = 1;
3198 #ifndef YY_NO_PUSH_STATE
3199 #ifdef YY_USE_PROTOS
3200 static void yy_push_state( int new_state )
3202 static void yy_push_state( new_state )
3206 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3210 yy_start_stack_depth += YY_START_STACK_INCR;
3211 new_size = yy_start_stack_depth * sizeof( int );
3213 if ( ! yy_start_stack )
3214 yy_start_stack = (int *) yy_flex_alloc( new_size );
3217 yy_start_stack = (int *) yy_flex_realloc(
3218 (void *) yy_start_stack, new_size );
3220 if ( ! yy_start_stack )
3222 "out of memory expanding start-condition stack" );
3225 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3232 #ifndef YY_NO_POP_STATE
3233 static void yy_pop_state()
3235 if ( --yy_start_stack_ptr < 0 )
3236 YY_FATAL_ERROR( "start-condition stack underflow" );
3238 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3243 #ifndef YY_NO_TOP_STATE
3244 static int yy_top_state()
3246 return yy_start_stack[yy_start_stack_ptr - 1];
3250 #ifndef YY_EXIT_FAILURE
3251 #define YY_EXIT_FAILURE 2
3254 #ifdef YY_USE_PROTOS
3255 static void yy_fatal_error( yyconst char msg[] )
3257 static void yy_fatal_error( msg )
3261 (void) fprintf( stderr, "%s\n", msg );
3262 exit( YY_EXIT_FAILURE );
3267 /* Redefine yyless() so it works in section 3 code. */
3273 /* Undo effects of setting up yytext. */ \
3274 yytext[yyleng] = yy_hold_char; \
3275 yy_c_buf_p = yytext + n; \
3276 yy_hold_char = *yy_c_buf_p; \
3277 *yy_c_buf_p = '\0'; \
3283 /* Internal utility routines. */
3286 #ifdef YY_USE_PROTOS
3287 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3289 static void yy_flex_strncpy( s1, s2, n )
3296 for ( i = 0; i < n; ++i )
3301 #ifdef YY_NEED_STRLEN
3302 #ifdef YY_USE_PROTOS
3303 static int yy_flex_strlen( yyconst char *s )
3305 static int yy_flex_strlen( s )
3310 for ( n = 0; s[n]; ++n )
3318 #ifdef YY_USE_PROTOS
3319 static void *yy_flex_alloc( yy_size_t size )
3321 static void *yy_flex_alloc( size )
3325 return (void *) malloc( size );
3328 #ifdef YY_USE_PROTOS
3329 static void *yy_flex_realloc( void *ptr, yy_size_t size )
3331 static void *yy_flex_realloc( ptr, size )
3336 /* The cast to (char *) in the following accommodates both
3337 * implementations that use char* generic pointers, and those
3338 * that use void* generic pointers. It works with the latter
3339 * because both ANSI C and C++ allow castless assignment from
3340 * any pointer type to void*, and deal with argument conversions
3341 * as though doing an assignment.
3343 return (void *) realloc( (char *) ptr, size );
3346 #ifdef YY_USE_PROTOS
3347 static void yy_flex_free( void *ptr )
3349 static void yy_flex_free( ptr )
3363 #line 412 "/scratch/mitchell/gcc-releases/gcc-4.0.0/gcc-4.0.0/gcc/gengtype-lex.l"
3366 /* Deal with the expansion caused by the DEF_VEC_x macros. */
3368 typedef struct macro
3371 const char *expansion;
3375 static const macro_t macro_defs[] =
3377 #define IN_GENGTYPE 1
3382 /* Chain of macro expansions to do at end of scanning. */
3383 static macro_t *macro_expns;
3385 /* Push macro NAME (NAME_LEN) with argument ARG (ARG_LEN) onto the
3386 expansion queue. We ensure NAME is known at this point. */
3389 push_macro_expansion (const char *name, unsigned name_len,
3390 const char *arg, unsigned arg_len)
3394 for (ix = 0; macro_defs[ix].name; ix++)
3395 if (strlen (macro_defs[ix].name) == name_len
3396 && !memcmp (name, macro_defs[ix].name, name_len))
3398 macro_t *expansion = XNEW (macro_t);
3400 expansion->next = macro_expns;
3401 expansion->name = (char *) xmemdup (arg, arg_len, arg_len+1);
3402 expansion->expansion = macro_defs[ix].expansion;
3403 macro_expns = expansion;
3406 error_at_line (&lexer_line, "unrecognized macro `%.*s(%.*s)'",
3407 name_len, name, arg_len, arg);
3410 /* Attempt to read some input. Use fread until we're at the end of
3411 file. At end of file expand the next queued macro. We presume the
3412 buffer is large enough for the entire expansion. */
3415 macro_input (char *buffer, unsigned size)
3419 result = fread (buffer, 1, size, yyin);
3422 else if (ferror (yyin))
3423 YY_FATAL_ERROR ("read of source file failed");
3424 else if (macro_expns)
3429 for (expn = macro_expns->expansion; *expn; expn++)
3433 if (buffer[result-1] == ' ' && buffer[result-2] == '_')
3435 len = strlen (macro_expns->name);
3436 memcpy (&buffer[result], macro_expns->name, len);
3441 buffer[result++] = *expn;
3442 if (*expn == ';' || *expn == '{')
3443 buffer[result++] = '\n';
3447 YY_FATAL_ERROR ("buffer too small to expand macro");
3448 macro_expns = macro_expns->next;
3454 yyerror (const char *s)
3456 error_at_line (&lexer_line, s);
3460 parse_file (const char *fname)
3462 yyin = fopen (fname, "r");
3463 lexer_line.file = fname;
3464 lexer_line.line = 1;