1 /* A lexical scanner generated by flex */
3 /* Scanner skeleton version:
4 * $NetBSD: flex.skl,v 1.22 2005/08/08 01:28:08 christos Exp $
8 #define YY_FLEX_MAJOR_VERSION 2
9 #define YY_FLEX_MINOR_VERSION 5
14 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
27 /* Use prototypes in function declarations. */
30 /* The "const" storage-class-modifier is valid. */
33 #else /* ! __cplusplus */
41 #endif /* ! __cplusplus */
60 #define YY_PROTO(proto) proto
62 #define YY_PROTO(proto) ()
65 /* Returned upon end-of-file. */
68 /* Promotes a possibly negative, possibly signed char to an unsigned
69 * integer for use as an array index. If the signed char is negative,
70 * we want to instead treat it as an 8-bit unsigned char, hence the
73 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
75 /* Enter a start condition. This macro really ought to take a parameter,
76 * but we do it the disgusting crufty way forced on us by the ()-less
77 * definition of BEGIN.
79 #define BEGIN yy_start = 1 + 2 *
81 /* Translate the current start state into a value that can be later handed
82 * to BEGIN to return to the state. The YYSTATE alias is for lex
85 #define YY_START ((yy_start - 1) / 2)
86 #define YYSTATE YY_START
88 /* Action number for EOF rule of a given start state. */
89 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
91 /* Special action meaning "start processing a new file". */
92 #define YY_NEW_FILE yyrestart( yyin )
94 #define YY_END_OF_BUFFER_CHAR 0
96 /* Size of default input buffer. */
97 #define YY_BUF_SIZE 16384
99 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
102 extern FILE *yyin
, *yyout
;
104 #define EOB_ACT_CONTINUE_SCAN 0
105 #define EOB_ACT_END_OF_FILE 1
106 #define EOB_ACT_LAST_MATCH 2
108 /* The funky do-while in the following #define is used to turn the definition
109 * int a single C statement (which needs a semi-colon terminator). This
110 * avoids problems with code like:
112 * if ( condition_holds )
115 * do_something_else();
117 * Prior to using the do-while the compiler would get upset at the
118 * "else" because it interpreted the "if" statement as being all
119 * done when it reached the ';' after the yyless() call.
122 /* Return all but the first 'n' matched characters back to the input stream. */
127 /* Undo effects of setting up yytext. */ \
128 *yy_cp = yy_hold_char; \
129 YY_RESTORE_YY_MORE_OFFSET \
130 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
131 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
135 #define unput(c) yyunput( c, yytext_ptr )
137 /* The following is because we cannot portably get our hands on size_t
138 * (without autoconf's help, which isn't available because we want
139 * flex-generated scanners to compile on their own).
141 typedef unsigned int yy_size_t
;
144 struct yy_buffer_state
148 char *yy_ch_buf
; /* input buffer */
149 char *yy_buf_pos
; /* current position in input buffer */
151 /* Size of input buffer in bytes, not including room for EOB
154 yy_size_t yy_buf_size
;
156 /* Number of characters read into yy_ch_buf, not including EOB
161 /* Whether we "own" the buffer - i.e., we know we created it,
162 * and can realloc() it to grow it, and should free() it to
165 int yy_is_our_buffer
;
167 /* Whether this is an "interactive" input source; if so, and
168 * if we're using stdio for input, then we want to use getc()
169 * instead of fread(), to make sure we stop fetching input after
172 int yy_is_interactive
;
174 /* Whether we're considered to be at the beginning of a line.
175 * If so, '^' rules will be active on the next match, otherwise
180 /* Whether to try to fill the input buffer when we reach the
185 int yy_buffer_status
;
186 #define YY_BUFFER_NEW 0
187 #define YY_BUFFER_NORMAL 1
188 /* When an EOF's been seen but there's still some text to process
189 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
190 * shouldn't try reading from the input source any more. We might
191 * still have a bunch of tokens to match, though, because of
192 * possible backing-up.
194 * When we actually see the EOF, we change the status to "new"
195 * (via yyrestart()), so that the user can continue scanning by
196 * just pointing yyin at a new input file.
198 #define YY_BUFFER_EOF_PENDING 2
201 static YY_BUFFER_STATE yy_current_buffer
= 0;
203 /* We provide macros for accessing buffer states in case in the
204 * future we want to put the buffer states in a more general
207 #define YY_CURRENT_BUFFER yy_current_buffer
210 /* yy_hold_char holds the character lost when yytext is formed. */
211 static char yy_hold_char
;
213 static int yy_n_chars
; /* number of characters read into yy_ch_buf */
218 /* Points to current character in buffer. */
219 static char *yy_c_buf_p
= (char *) 0;
220 static int yy_init
= 1; /* whether we need to initialize */
221 static int yy_start
= 0; /* start state number */
223 /* Flag which is used to allow yywrap()'s to do buffer switches
224 * instead of setting up a fresh yyin. A bit of a hack ...
226 static int yy_did_buffer_switch_on_eof
;
228 void yyrestart
YY_PROTO(( FILE *input_file
));
230 void yy_switch_to_buffer
YY_PROTO(( YY_BUFFER_STATE new_buffer
));
231 void yy_load_buffer_state
YY_PROTO(( void ));
232 YY_BUFFER_STATE yy_create_buffer
YY_PROTO(( FILE *file
, int size
));
233 void yy_delete_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
234 void yy_init_buffer
YY_PROTO(( YY_BUFFER_STATE b
, FILE *file
));
235 void yy_flush_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
236 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
238 YY_BUFFER_STATE yy_scan_buffer
YY_PROTO(( char *base
, yy_size_t size
));
239 YY_BUFFER_STATE yy_scan_string
YY_PROTO(( yyconst
char *yy_str
));
240 YY_BUFFER_STATE yy_scan_bytes
YY_PROTO(( yyconst
char *bytes
, yy_size_t len
));
242 YY_BUFFER_STATE yy_scan_buffer
YY_PROTO(( char *base
, int size
));
243 YY_BUFFER_STATE yy_scan_bytes
YY_PROTO(( yyconst
char *bytes
, int len
));
246 #define yy_new_buffer yy_create_buffer
248 #define yy_set_interactive(is_interactive) \
250 if ( ! yy_current_buffer ) \
251 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
252 yy_current_buffer->yy_is_interactive = is_interactive; \
255 #define yy_set_bol(at_bol) \
257 if ( ! yy_current_buffer ) \
258 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
259 yy_current_buffer->yy_at_bol = at_bol; \
262 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
265 #define yywrap() (/*CONSTCOND*/1)
266 #define YY_SKIP_YYWRAP
267 typedef unsigned char YY_CHAR
;
268 FILE *yyin
= (FILE *) 0, *yyout
= (FILE *) 0;
269 typedef int yy_state_type
;
271 #define yytext_ptr yytext
273 static void *yy_flex_alloc
YY_PROTO(( yy_size_t
));
274 static void *yy_flex_realloc
YY_PROTO(( void *, yy_size_t
))
276 __attribute__((__unused__
))
279 static void yy_flex_free
YY_PROTO(( void * ));
281 static yy_state_type yy_get_previous_state
YY_PROTO(( void ));
282 static yy_state_type yy_try_NUL_trans
YY_PROTO(( yy_state_type current_state
));
283 static int yy_get_next_buffer
YY_PROTO(( void ));
284 static void yy_fatal_error
YY_PROTO(( yyconst
char msg
[] ));
286 /* Done after the current pattern has been matched and before the
287 * corresponding action - sets up yytext.
289 #define YY_DO_BEFORE_ACTION \
290 yytext_ptr = yy_bp; \
291 yyleng = (int) (yy_cp - yy_bp); \
292 yy_hold_char = *yy_cp; \
296 #define YY_NUM_RULES 59
297 #define YY_END_OF_BUFFER 60
298 static yyconst
short int yy_accept
[939] =
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 60, 40, 40, 37, 55, 40, 55, 40, 38, 40,
302 40, 38, 35, 13, 13, 35, 35, 35, 31, 35,
303 21, 32, 35, 35, 35, 35, 35, 35, 35, 35,
304 35, 35, 35, 35, 35, 35, 35, 35, 35, 45,
305 43, 56, 56, 51, 49, 54, 0, 0, 0, 0,
306 0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
307 0, 0, 0, 0, 0, 42, 36, 42, 42, 42,
308 42, 38, 0, 0, 38, 13, 0, 27, 0, 0,
309 0, 0, 11, 21, 26, 0, 0, 0, 0, 0,
311 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 33, 29, 12, 0,
313 46, 48, 47, 0, 52, 53, 0, 0, 0, 0,
314 0, 0, 0, 0, 0, 39, 0, 0, 38, 0,
315 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 29, 0, 0, 0, 0, 0, 0, 0, 0,
318 0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
319 0, 15, 0, 26, 26, 0, 0, 23, 23, 0,
320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
323 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 38, 0, 0, 0, 0,
328 0, 25, 0, 0, 14, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
331 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 38, 0, 34, 0, 0, 0, 0, 0, 0,
336 0, 23, 23, 0, 0, 0, 0, 0, 0, 0,
337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
339 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
344 19, 0, 0, 8, 0, 0, 0, 0, 0, 0,
345 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
347 0, 0, 0, 0, 0, 0, 0, 0, 10, 0,
348 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
350 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 0, 0, 7, 57, 9, 0, 0, 0, 0,
353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
358 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362 26, 26, 0, 0, 0, 0, 0, 0, 0, 0,
363 6, 0, 0, 0, 0, 0, 2, 0, 0, 0,
364 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
366 0, 0, 0, 0, 0, 2, 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,
369 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, 24, 0, 0, 0,
372 0, 44, 50, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
380 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 1, 0, 0, 3, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 1, 0, 0, 5, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 7, 0, 5, 0, 0, 0,
389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,
391 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,
395 0, 0, 0, 0, 0, 0, 0, 3, 3, 0,
396 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0
405 static yyconst
int yy_ec
[256] =
407 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
408 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
409 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
410 1, 2, 1, 4, 5, 1, 6, 1, 7, 8,
411 9, 10, 1, 11, 1, 1, 12, 13, 13, 13,
412 13, 13, 13, 13, 13, 13, 13, 14, 15, 14,
413 16, 14, 1, 1, 17, 18, 19, 20, 21, 22,
414 23, 24, 25, 26, 26, 27, 28, 29, 30, 31,
415 26, 32, 33, 34, 35, 36, 37, 26, 38, 26,
416 39, 40, 41, 1, 42, 1, 43, 44, 45, 46,
418 47, 48, 49, 50, 51, 26, 26, 52, 53, 54,
419 55, 56, 26, 57, 58, 59, 60, 26, 26, 61,
420 62, 63, 64, 1, 65, 1, 1, 1, 1, 1,
421 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,
427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 static yyconst
int yy_meta
[66] =
439 1, 2, 3, 1, 1, 4, 1, 5, 6, 7,
440 8, 1, 9, 1, 10, 1, 11, 11, 11, 11,
441 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
442 11, 11, 11, 11, 11, 11, 11, 11, 12, 1,
443 1, 11, 11, 11, 11, 11, 11, 11, 11, 11,
444 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
448 static yyconst
short int yy_base
[1026] =
450 0, 65, 130, 3616, 14, 15, 16, 17, 25, 26,
451 3621, 0, 40, 194, 49, 43, 35, 4144, 0, 64,
452 67, 3588, 4144, 19, 31, 44, 3553, 3555, 4144, 3581,
453 3576, 4144, 254, 319, 6, 16, 3558, 31, 3546, 0,
454 7, 58, 61, 62, 168, 169, 170, 67, 203, 0,
455 4144, 3573, 3556, 0, 0, 3501, 3504, 3505, 3501, 3508,
456 199, 3516, 199, 4144, 0, 210, 232, 234, 233, 3533,
457 3533, 216, 217, 218, 197, 4144, 4144, 3470, 3470, 3457,
458 3462, 0, 3467, 3459, 3461, 116, 202, 4144, 3479, 3434,
459 3473, 3476, 4144, 3465, 4144, 3447, 3435, 14, 90, 21,
461 186, 3414, 4144, 177, 183, 180, 26, 181, 189, 188,
462 178, 218, 248, 249, 251, 253, 4144, 0, 4144, 0,
463 4144, 4144, 4144, 0, 4144, 4144, 3392, 187, 3391, 3395,
464 3407, 296, 245, 297, 301, 4144, 3396, 3392, 3400, 3393,
465 4144, 86, 203, 384, 252, 336, 254, 259, 284, 260,
466 449, 302, 287, 267, 315, 310, 317, 262, 313, 320,
467 318, 0, 0, 0, 3382, 3360, 3355, 3364, 3353, 360,
468 357, 361, 366, 368, 372, 3355, 3350, 3357, 3332, 372,
469 375, 4144, 377, 408, 375, 344, 514, 4144, 578, 334,
470 326, 379, 383, 388, 391, 398, 408, 417, 0, 0,
472 3322, 3324, 3329, 3327, 3318, 428, 4144, 428, 430, 433,
473 436, 437, 3317, 3316, 3348, 3303, 449, 453, 409, 472,
474 442, 484, 490, 638, 4144, 0, 3317, 3313, 3276, 3271,
475 3263, 3258, 444, 3235, 269, 497, 454, 466, 439, 472,
476 703, 0, 0, 3212, 3217, 3199, 3209, 501, 493, 496,
477 503, 504, 546, 3208, 532, 3235, 3206, 507, 515, 527,
478 556, 4144, 558, 561, 4144, 3222, 3218, 3193, 3153, 3056,
479 3060, 3058, 493, 3054, 541, 555, 536, 539, 768, 4144,
480 0, 0, 571, 3062, 573, 591, 573, 833, 586, 596,
481 3067, 3104, 475, 570, 562, 603, 605, 3079, 3071, 3052,
483 3046, 607, 3053, 3044, 3046, 3052, 3044, 324, 554, 581,
484 4144, 0, 0, 632, 615, 617, 659, 624, 898, 663,
485 630, 665, 3090, 4144, 516, 629, 650, 672, 682, 3048,
486 3047, 4144, 0, 3012, 3023, 3026, 3012, 628, 963, 639,
487 0, 0, 3020, 1027, 693, 654, 686, 1087, 725, 1152,
488 3017, 698, 686, 720, 722, 706, 707, 705, 3027, 3001,
489 2976, 2957, 703, 4144, 1217, 0, 0, 2977, 743, 756,
490 785, 747, 802, 811, 814, 868, 877, 2979, 752, 1282,
491 1347, 2975, 751, 197, 561, 768, 800, 571, 757, 2956,
492 2946, 737, 851, 733, 764, 642, 771, 2858, 2851, 1412,
494 4144, 0, 0, 4144, 853, 865, 823, 880, 913, 922,
495 926, 939, 942, 951, 981, 984, 1004, 1007, 2819, 694,
496 1477, 1016, 1035, 2704, 2667, 770, 834, 851, 759, 863,
497 836, 927, 827, 769, 882, 2687, 2627, 1039, 4144, 826,
498 1051, 865, 921, 916, 966, 2596, 2604, 4144, 0, 0,
499 995, 1021, 997, 1032, 1167, 1170, 1187, 1197, 1066, 1200,
500 1238, 1257, 1260, 1242, 1269, 1317, 4144, 1542, 1233, 1607,
501 1272, 958, 926, 640, 992, 1179, 828, 995, 881, 1016,
502 866, 1002, 711, 976, 4144, 4144, 1064, 1297, 991, 1050,
503 983, 1025, 2575, 2568, 0, 0, 1301, 1079, 1081, 1326,
505 1328, 1331, 1671, 1372, 1382, 1391, 1394, 1440, 1452, 1432,
506 1731, 1796, 1861, 1141, 1144, 1926, 1014, 1149, 1146, 1168,
507 1157, 1135, 1435, 1455, 1465, 1185, 2517, 1044, 0, 0,
508 4144, 2447, 1362, 1364, 1494, 1496, 1518, 1311, 1376, 1507,
509 1509, 1574, 1571, 1576, 1582, 1585, 1557, 1591, 1626, 1505,
510 1202, 1521, 1530, 1651, 1991, 1248, 903, 2056, 2121, 2344,
511 1200, 1287, 1286, 1288, 1359, 1315, 1155, 1285, 1346, 1472,
512 1527, 1405, 1204, 2301, 2248, 2216, 0, 0, 2069, 1635,
513 4144, 2026, 1655, 1659, 1675, 1560, 4144, 1673, 1684, 1649,
514 1705, 1690, 1698, 1695, 1764, 1758, 1716, 1564, 1751, 1265,
516 1740, 1373, 1400, 1815, 1821, 1465, 1700, 1231, 1415, 1493,
517 1402, 1411, 1550, 1726, 1568, 2186, 1760, 1569, 1638, 1774,
518 1685, 1593, 1471, 0, 0, 1439, 1351, 1818, 1830, 1876,
519 1878, 1842, 1839, 1880, 2020, 2018, 2022, 2026, 2036, 1782,
520 1747, 1754, 1217, 1429, 1539, 1497, 1597, 1664, 1856, 1351,
521 1758, 1417, 1681, 1489, 2251, 1822, 4144, 1895, 1340, 1317,
522 1219, 4144, 4144, 1184, 1047, 2076, 1903, 2011, 2097, 2315,
523 2079, 2087, 2101, 2103, 2145, 1882, 1846, 2006, 1870, 1638,
524 1280, 1560, 1600, 2375, 1666, 1792, 1614, 1744, 2440, 2505,
525 2570, 964, 778, 724, 2155, 2107, 1905, 2167, 2139, 2203,
527 2205, 2164, 2169, 2214, 2219, 2228, 2234, 2266, 2273, 2284,
528 2298, 2208, 2292, 2294, 2009, 2012, 2014, 1684, 1748, 1891,
529 1885, 2635, 2700, 607, 1817, 1615, 1869, 1799, 1672, 1997,
530 2020, 2047, 1784, 2332, 2765, 2830, 2074, 0, 569, 4144,
531 478, 2348, 2236, 2302, 2322, 2329, 2346, 2350, 2455, 2457,
532 2459, 2473, 2480, 2463, 2484, 2528, 2538, 2532, 2522, 2524,
533 4144, 2553, 2590, 2000, 2179, 2062, 1735, 2019, 2055, 2089,
534 2548, 442, 399, 1562, 1884, 2058, 2116, 1858, 2120, 2148,
535 2179, 1978, 2592, 348, 2173, 2073, 2141, 4144, 2596, 2490,
536 2269, 2614, 2546, 2600, 2618, 2611, 2616, 2656, 2651, 2670,
538 2667, 2675, 2678, 2681, 2718, 2720, 2274, 2218, 2114, 2185,
539 2259, 2283, 2311, 2334, 2340, 2250, 2217, 2466, 2115, 2315,
540 2443, 2437, 2503, 273, 2460, 2740, 2654, 2684, 2780, 2742,
541 2744, 2782, 2785, 2894, 2788, 2796, 2806, 2812, 2847, 2537,
542 2534, 2528, 2210, 2341, 2459, 2570, 2633, 2820, 1859, 2578,
543 2625, 2668, 1981, 2850, 2852, 2871, 2863, 2885, 2888, 2890,
544 2896, 2904, 2473, 2535, 2719, 2708, 2499, 2658, 2732, 2630,
545 2694, 2922, 2912, 2914, 2932, 2938, 2947, 2956, 2958, 2721,
546 2771, 2724, 2706, 2764, 2782, 215, 4, 2962, 2964, 2966,
547 2973, 2981, 2726, 2826, 2787, 2829, 2790, 2983, 2989, 2997,
549 3006, 3008, 2852, 2855, 2940, 2306, 2880, 3015, 3017, 3022,
550 2789, 2859, 2960, 3024, 3031, 3033, 3038, 2948, 2921, 3013,
551 2898, 3047, 3054, 3057, 2766, 2878, 2796, 3063, 3073, 3077,
552 2967, 2901, 3043, 3079, 2914, 3082, 3057, 4144, 3116, 3129,
553 3142, 3155, 3168, 3181, 3186, 3197, 3210, 3223, 3236, 3246,
554 3259, 3272, 3285, 3298, 3303, 3314, 3327, 3340, 3353, 3365,
555 3376, 3389, 3401, 3412, 3425, 3437, 3448, 3461, 3473, 3484,
556 3497, 3509, 3520, 3533, 3546, 3558, 3569, 3581, 3592, 3605,
557 3617, 3627, 3638, 3651, 3663, 3674, 3686, 3697, 3710, 3722,
558 3733, 3745, 3756, 3769, 3781, 3791, 3802, 3815, 3827, 3838,
560 3851, 3863, 3873, 3884, 3897, 3910, 3922, 3933, 3945, 3956,
561 3969, 3981, 3992, 4004, 4015, 4028, 4040, 4051, 4063, 4073,
562 4084, 4096, 4106, 4117, 4130
565 static yyconst
short int yy_def
[1026] =
567 939, 939, 938, 3, 940, 940, 940, 940, 941, 941,
568 938, 938, 938, 938, 942, 943, 944, 938, 945, 938,
569 938, 945, 938, 938, 938, 946, 938, 947, 938, 938,
570 938, 938, 948, 948, 34, 34, 34, 34, 949, 34,
571 34, 34, 34, 34, 34, 34, 34, 34, 950, 951,
572 938, 952, 952, 953, 953, 954, 938, 938, 938, 938,
573 938, 938, 942, 938, 942, 942, 942, 942, 942, 938,
574 943, 938, 938, 938, 938, 938, 938, 938, 938, 938,
575 938, 945, 938, 938, 945, 938, 946, 938, 946, 938,
576 938, 947, 938, 938, 938, 34, 34, 34, 34, 34,
578 34, 949, 938, 34, 34, 34, 34, 34, 34, 34,
579 34, 34, 34, 34, 34, 34, 938, 955, 938, 956,
580 938, 938, 938, 957, 938, 938, 938, 938, 938, 938,
581 938, 942, 942, 942, 942, 938, 938, 938, 945, 938,
582 938, 34, 34, 948, 34, 34, 34, 34, 34, 34,
583 948, 34, 34, 34, 34, 34, 34, 34, 34, 34,
584 34, 955, 958, 959, 938, 938, 938, 938, 938, 938,
585 942, 942, 942, 942, 942, 938, 938, 945, 938, 34,
586 34, 938, 34, 938, 960, 34, 948, 938, 938, 34,
587 34, 34, 34, 34, 34, 34, 34, 34, 961, 962,
589 938, 938, 938, 938, 938, 938, 938, 942, 942, 942,
590 942, 942, 938, 938, 945, 938, 34, 34, 34, 938,
591 960, 960, 963, 948, 938, 189, 938, 938, 938, 938,
592 938, 938, 938, 938, 34, 34, 34, 34, 34, 34,
593 948, 964, 965, 938, 938, 938, 938, 938, 942, 942,
594 942, 942, 942, 938, 938, 945, 938, 34, 34, 34,
595 938, 938, 966, 963, 938, 938, 938, 938, 938, 938,
596 938, 938, 938, 938, 34, 34, 34, 34, 948, 938,
597 967, 968, 938, 938, 969, 942, 942, 970, 938, 969,
598 945, 971, 34, 34, 34, 966, 972, 938, 938, 938,
600 938, 973, 938, 938, 938, 938, 938, 34, 34, 34,
601 938, 974, 975, 938, 938, 976, 942, 942, 977, 938,
602 938, 978, 971, 938, 34, 34, 34, 938, 972, 938,
603 938, 938, 189, 938, 938, 938, 938, 34, 948, 34,
604 979, 980, 938, 981, 938, 976, 942, 938, 942, 977,
605 938, 938, 938, 982, 978, 34, 34, 34, 938, 938,
606 938, 938, 34, 938, 948, 983, 984, 938, 985, 985,
607 985, 985, 985, 985, 985, 985, 985, 938, 942, 986,
608 986, 381, 381, 381, 381, 381, 381, 381, 942, 938,
609 938, 982, 987, 34, 34, 34, 34, 938, 938, 948,
611 938, 988, 989, 938, 990, 938, 938, 985, 985, 985,
612 985, 985, 985, 985, 985, 985, 985, 985, 938, 942,
613 991, 942, 942, 381, 381, 381, 381, 381, 381, 381,
614 381, 381, 381, 381, 942, 938, 938, 938, 938, 992,
615 987, 34, 34, 34, 34, 938, 938, 938, 993, 994,
616 995, 938, 996, 938, 985, 985, 985, 985, 985, 985,
617 985, 985, 985, 985, 985, 985, 938, 997, 942, 998,
618 942, 381, 381, 381, 381, 381, 381, 381, 381, 381,
619 381, 381, 381, 942, 938, 938, 992, 999, 34, 34,
620 34, 34, 938, 938, 1000, 1001, 938, 995, 996, 1002,
622 985, 985, 1003, 985, 985, 985, 985, 985, 985, 942,
623 997, 998, 1004, 381, 381, 938, 381, 381, 381, 381,
624 381, 381, 938, 999, 34, 34, 938, 938, 1005, 1006,
625 938, 938, 938, 938, 1002, 985, 985, 1007, 1007, 1007,
626 1007, 1007, 1007, 1007, 1007, 1007, 985, 985, 985, 985,
627 942, 942, 942, 942, 1004, 381, 381, 1008, 1008, 559,
628 559, 559, 559, 559, 559, 559, 381, 381, 381, 381,
629 938, 1009, 34, 938, 938, 938, 1010, 1011, 938, 938,
630 938, 938, 985, 985, 938, 1007, 938, 1007, 1007, 1007,
631 1007, 1007, 1007, 1007, 1007, 1007, 1012, 942, 942, 942,
633 942, 381, 381, 942, 559, 942, 559, 559, 559, 559,
634 559, 559, 559, 559, 559, 1013, 938, 1009, 1009, 1014,
635 938, 938, 938, 1015, 1016, 938, 938, 985, 985, 1007,
636 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1017,
637 942, 942, 381, 381, 559, 559, 559, 559, 559, 559,
638 559, 559, 559, 559, 1018, 938, 938, 1014, 938, 938,
639 938, 938, 938, 938, 938, 985, 985, 1007, 1007, 1019,
640 1007, 1007, 1007, 1007, 1020, 1020, 1017, 942, 942, 381,
641 381, 559, 559, 938, 559, 559, 559, 559, 1021, 1021,
642 1018, 938, 938, 938, 985, 985, 1007, 1007, 1022, 1022,
644 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1007, 1007,
645 1020, 1023, 1023, 1023, 1020, 942, 942, 381, 381, 559,
646 559, 1024, 1024, 723, 723, 723, 723, 723, 723, 723,
647 723, 559, 559, 690, 1025, 1025, 736, 690, 938, 938,
648 938, 985, 985, 985, 1007, 1007, 938, 1022, 1022, 1022,
649 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 938, 1023,
650 938, 1023, 1023, 942, 942, 381, 381, 381, 559, 559,
651 942, 723, 723, 723, 723, 723, 723, 723, 723, 723,
652 723, 723, 942, 736, 942, 736, 736, 938, 985, 985,
653 985, 1007, 1007, 1022, 1022, 1022, 1022, 1022, 1022, 1022,
655 1022, 1022, 1022, 1022, 1023, 1023, 942, 381, 381, 381,
656 559, 559, 723, 723, 723, 723, 723, 723, 723, 723,
657 723, 723, 723, 736, 736, 985, 985, 985, 1007, 1007,
658 1022, 1022, 1022, 1019, 1022, 1022, 1022, 1022, 1023, 381,
659 381, 381, 559, 559, 723, 723, 723, 684, 723, 723,
660 723, 723, 736, 985, 1007, 1007, 1022, 1022, 1022, 1022,
661 1022, 1023, 381, 559, 559, 723, 723, 723, 723, 723,
662 736, 985, 1007, 1007, 1007, 1022, 1022, 1022, 1023, 381,
663 559, 559, 559, 723, 723, 723, 736, 1007, 1007, 1007,
664 1022, 1022, 559, 559, 559, 723, 723, 1007, 1007, 1007,
666 1022, 1022, 559, 559, 559, 723, 723, 1007, 1022, 1022,
667 559, 723, 723, 1007, 1022, 1022, 1022, 559, 723, 723,
668 723, 1022, 1022, 1022, 723, 723, 723, 1022, 1022, 1022,
669 723, 723, 723, 1022, 723, 1022, 723, 0, 938, 938,
670 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
671 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
672 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
673 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
674 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
675 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
677 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
678 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
679 938, 938, 938, 938, 938
682 static yyconst
short int yy_nxt
[4210] =
684 12, 13, 14, 15, 12, 12, 16, 12, 12, 12,
685 12, 17, 18, 12, 12, 12, 51, 51, 51, 51,
686 86, 86, 938, 52, 52, 53, 53, 55, 55, 96,
687 56, 56, 86, 86, 98, 96, 96, 784, 12, 12,
688 12, 61, 61, 96, 77, 96, 57, 88, 143, 99,
689 96, 101, 64, 145, 104, 96, 105, 58, 59, 60,
690 96, 106, 62, 12, 12, 12, 13, 14, 15, 20,
691 21, 16, 12, 12, 12, 12, 17, 18, 12, 12,
692 12, 78, 71, 89, 22, 150, 57, 96, 65, 72,
693 96, 96, 79, 80, 81, 66, 96, 58, 59, 60,
695 73, 74, 75, 12, 12, 12, 67, 68, 69, 83,
696 57, 107, 180, 57, 108, 96, 109, 86, 86, 96,
697 116, 58, 59, 60, 58, 59, 84, 144, 12, 12,
698 23, 24, 25, 26, 27, 23, 28, 29, 29, 29,
699 29, 30, 31, 29, 32, 32, 33, 34, 33, 33,
700 35, 33, 36, 37, 33, 33, 33, 33, 33, 33,
701 33, 33, 33, 33, 33, 38, 33, 33, 39, 23,
702 23, 33, 33, 40, 41, 33, 42, 33, 33, 33,
703 43, 44, 33, 45, 33, 46, 33, 47, 33, 48,
704 33, 33, 33, 29, 29, 61, 61, 96, 96, 96,
706 61, 61, 64, 136, 146, 88, 96, 96, 117, 96,
707 96, 111, 96, 64, 110, 96, 62, 96, 96, 113,
708 114, 62, 136, 136, 136, 148, 424, 112, 115, 166,
709 181, 147, 96, 149, 154, 64, 64, 64, 65, 151,
710 57, 89, 152, 167, 772, 153, 428, 96, 64, 65,
711 130, 58, 59, 60, 95, 95, 95, 95, 95, 95,
712 95, 95, 95, 95, 95, 95, 119, 95, 95, 95,
713 132, 65, 65, 65, 155, 128, 127, 96, 96, 129,
714 96, 96, 96, 96, 65, 183, 135, 172, 96, 96,
715 133, 96, 95, 95, 95, 134, 96, 157, 96, 64,
717 64, 173, 156, 160, 64, 151, 784, 159, 195, 191,
718 161, 158, 187, 96, 275, 151, 96, 95, 95, 95,
719 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
720 95, 96, 95, 95, 95, 65, 65, 184, 184, 96,
721 65, 186, 96, 185, 96, 190, 96, 96, 97, 96,
722 151, 175, 174, 96, 171, 96, 192, 95, 95, 95,
723 64, 206, 206, 96, 64, 96, 193, 207, 198, 64,
724 194, 64, 196, 96, 197, 64, 222, 222, 236, 338,
725 235, 784, 95, 95, 182, 182, 182, 182, 182, 182,
726 182, 182, 182, 182, 182, 182, 65, 182, 182, 182,
728 65, 96, 224, 208, 96, 65, 96, 65, 96, 220,
729 220, 65, 96, 217, 211, 221, 218, 96, 219, 209,
730 96, 237, 182, 182, 182, 210, 212, 96, 813, 206,
731 206, 64, 239, 64, 238, 207, 64, 96, 96, 64,
732 64, 151, 240, 222, 222, 260, 96, 182, 182, 188,
733 189, 189, 188, 188, 188, 188, 188, 188, 188, 188,
734 188, 241, 188, 188, 188, 157, 258, 65, 96, 65,
735 259, 772, 65, 220, 220, 65, 65, 251, 96, 221,
736 250, 252, 96, 96, 249, 222, 222, 188, 188, 188,
737 253, 261, 261, 272, 273, 96, 64, 151, 262, 64,
739 263, 96, 285, 285, 96, 278, 64, 64, 325, 276,
740 788, 151, 188, 188, 225, 225, 225, 225, 225, 225,
741 225, 225, 225, 225, 225, 225, 96, 225, 225, 225,
742 279, 293, 65, 290, 290, 65, 96, 356, 277, 294,
743 286, 305, 65, 65, 96, 96, 286, 288, 288, 64,
744 287, 295, 225, 225, 225, 306, 96, 261, 261, 296,
745 296, 253, 261, 261, 262, 96, 263, 276, 96, 262,
746 96, 263, 314, 314, 285, 285, 64, 225, 225, 226,
747 226, 327, 308, 96, 96, 65, 309, 320, 320, 310,
748 424, 96, 317, 317, 64, 227, 277, 290, 290, 96,
750 424, 228, 302, 326, 296, 296, 328, 328, 333, 333,
751 96, 339, 65, 262, 429, 263, 344, 344, 345, 345,
752 318, 229, 230, 340, 434, 348, 348, 64, 231, 232,
753 65, 352, 352, 314, 314, 233, 774, 234, 265, 265,
754 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
755 357, 265, 265, 265, 343, 345, 345, 96, 96, 321,
756 317, 317, 64, 65, 320, 320, 353, 353, 96, 424,
757 358, 96, 354, 328, 328, 444, 265, 265, 265, 96,
758 262, 347, 263, 328, 328, 351, 363, 353, 353, 64,
759 262, 476, 263, 354, 345, 345, 365, 64, 65, 352,
761 352, 265, 265, 280, 280, 280, 280, 280, 280, 280,
762 280, 280, 280, 280, 280, 378, 280, 280, 280, 379,
763 391, 392, 392, 353, 353, 65, 349, 349, 64, 354,
764 394, 395, 96, 65, 96, 96, 96, 396, 392, 392,
765 424, 280, 280, 280, 405, 405, 397, 389, 405, 405,
766 406, 741, 407, 442, 406, 64, 407, 405, 405, 400,
767 64, 522, 96, 406, 65, 407, 280, 280, 311, 311,
768 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
769 424, 311, 311, 311, 443, 409, 405, 405, 424, 420,
770 435, 65, 406, 96, 407, 445, 65, 424, 424, 424,
772 96, 411, 473, 405, 405, 427, 311, 311, 311, 406,
773 740, 407, 405, 405, 410, 405, 405, 476, 406, 482,
774 407, 406, 430, 407, 454, 454, 483, 487, 487, 424,
775 406, 311, 311, 63, 288, 288, 64, 63, 63, 63,
776 63, 63, 63, 63, 63, 63, 63, 63, 63, 431,
777 432, 412, 438, 438, 405, 405, 424, 424, 433, 439,
778 406, 440, 407, 424, 413, 424, 452, 452, 414, 405,
779 405, 63, 65, 63, 453, 406, 476, 407, 405, 405,
780 424, 405, 405, 481, 406, 64, 407, 406, 474, 407,
781 478, 489, 424, 475, 96, 424, 63, 63, 63, 349,
783 349, 64, 63, 63, 63, 63, 63, 63, 63, 63,
784 424, 63, 63, 63, 405, 405, 477, 415, 416, 484,
785 406, 65, 407, 405, 405, 520, 417, 405, 405, 406,
786 418, 407, 424, 406, 518, 407, 63, 65, 63, 603,
787 405, 405, 455, 405, 405, 96, 406, 490, 407, 406,
788 96, 407, 405, 405, 456, 424, 424, 491, 406, 515,
789 407, 63, 63, 364, 364, 364, 364, 364, 364, 364,
790 364, 364, 364, 364, 364, 479, 364, 364, 364, 64,
791 457, 458, 405, 405, 514, 405, 405, 424, 406, 480,
792 407, 406, 739, 407, 492, 96, 497, 497, 499, 499,
794 459, 364, 364, 364, 460, 405, 405, 526, 405, 405,
795 151, 406, 96, 407, 406, 65, 407, 469, 469, 64,
796 96, 424, 452, 452, 424, 470, 364, 364, 344, 344,
797 453, 424, 462, 454, 454, 461, 471, 471, 64, 406,
798 438, 438, 422, 424, 370, 424, 463, 439, 476, 440,
799 371, 517, 438, 438, 96, 65, 521, 465, 151, 439,
800 464, 440, 519, 694, 466, 487, 487, 503, 503, 525,
801 372, 373, 476, 406, 65, 407, 575, 374, 375, 96,
802 497, 497, 499, 499, 376, 576, 377, 63, 348, 348,
803 64, 63, 63, 63, 63, 63, 63, 63, 63, 63,
805 63, 63, 63, 380, 381, 380, 380, 380, 380, 380,
806 382, 380, 380, 380, 380, 380, 380, 380, 380, 380,
807 380, 380, 380, 380, 380, 63, 65, 63, 380, 380,
808 383, 384, 380, 380, 380, 380, 380, 385, 386, 380,
809 380, 380, 380, 380, 387, 380, 388, 380, 380, 380,
810 63, 63, 63, 349, 349, 64, 63, 63, 63, 63,
811 63, 63, 63, 63, 424, 63, 63, 63, 405, 405,
812 424, 405, 405, 424, 406, 424, 407, 406, 424, 407,
813 516, 516, 556, 479, 424, 557, 424, 568, 405, 405,
814 63, 65, 63, 501, 406, 567, 407, 424, 405, 405,
816 476, 405, 405, 502, 406, 64, 407, 406, 424, 407,
817 570, 693, 569, 573, 96, 63, 63, 401, 401, 401,
818 401, 401, 401, 401, 401, 401, 401, 401, 401, 605,
819 401, 401, 401, 96, 469, 469, 64, 151, 459, 405,
820 405, 65, 470, 405, 405, 406, 424, 407, 459, 406,
821 680, 407, 302, 459, 609, 401, 401, 401, 405, 405,
822 605, 405, 405, 646, 406, 602, 407, 406, 64, 407,
823 405, 405, 65, 471, 471, 64, 406, 424, 407, 422,
824 401, 401, 63, 421, 421, 64, 63, 63, 63, 422,
825 63, 423, 63, 63, 504, 63, 63, 63, 523, 523,
827 719, 507, 497, 497, 65, 439, 506, 440, 531, 424,
828 505, 65, 585, 585, 424, 605, 605, 605, 405, 405,
829 63, 65, 63, 508, 406, 587, 407, 533, 533, 405,
830 405, 532, 405, 405, 534, 406, 610, 407, 406, 611,
831 407, 692, 612, 476, 605, 63, 63, 63, 421, 421,
832 64, 63, 63, 63, 422, 63, 423, 63, 63, 302,
833 63, 63, 63, 533, 533, 580, 580, 509, 615, 536,
834 534, 581, 537, 405, 405, 424, 425, 585, 585, 406,
835 605, 407, 665, 405, 405, 63, 65, 63, 605, 406,
836 587, 407, 405, 405, 582, 405, 405, 643, 406, 649,
838 407, 406, 424, 407, 570, 588, 619, 619, 613, 614,
839 63, 63, 448, 448, 448, 448, 448, 448, 448, 448,
840 448, 448, 448, 448, 644, 448, 448, 448, 547, 424,
841 459, 605, 548, 510, 510, 64, 523, 523, 549, 551,
842 605, 405, 405, 439, 605, 440, 605, 406, 681, 407,
843 448, 448, 448, 405, 405, 664, 523, 523, 424, 406,
844 649, 407, 552, 439, 650, 440, 571, 571, 64, 647,
845 686, 65, 572, 616, 616, 448, 448, 63, 421, 421,
846 64, 63, 63, 63, 422, 63, 423, 63, 63, 63,
847 63, 63, 63, 550, 96, 533, 533, 405, 405, 661,
849 462, 424, 534, 406, 65, 407, 597, 597, 585, 585,
850 585, 585, 406, 583, 407, 63, 65, 63, 605, 405,
851 405, 587, 605, 587, 64, 406, 605, 407, 617, 617,
852 683, 553, 553, 64, 618, 648, 589, 598, 554, 688,
853 63, 63, 63, 510, 510, 64, 63, 63, 63, 63,
854 63, 63, 63, 63, 584, 63, 63, 63, 405, 405,
855 65, 585, 585, 590, 406, 682, 407, 64, 605, 65,
856 619, 619, 585, 585, 587, 585, 585, 585, 585, 605,
857 63, 65, 63, 585, 585, 587, 585, 585, 587, 605,
858 587, 772, 405, 405, 814, 641, 587, 605, 406, 587,
860 407, 720, 459, 65, 651, 63, 63, 63, 512, 512,
861 64, 63, 63, 63, 63, 63, 63, 63, 63, 63,
862 63, 63, 63, 591, 592, 654, 605, 405, 405, 605,
863 593, 594, 595, 406, 660, 407, 580, 580, 596, 619,
864 619, 721, 581, 605, 772, 63, 65, 63, 649, 459,
865 585, 585, 599, 599, 64, 733, 405, 405, 600, 718,
866 405, 405, 406, 587, 407, 582, 406, 424, 407, 776,
867 63, 63, 503, 503, 585, 585, 585, 585, 406, 628,
868 407, 601, 531, 629, 550, 585, 585, 587, 539, 587,
869 65, 585, 585, 605, 540, 605, 585, 585, 587, 585,
871 585, 772, 630, 632, 587, 532, 585, 585, 766, 587,
872 605, 659, 587, 424, 541, 542, 631, 597, 597, 587,
873 649, 543, 544, 406, 649, 407, 779, 687, 545, 645,
874 546, 63, 510, 510, 64, 63, 63, 63, 63, 63,
875 63, 63, 63, 64, 63, 63, 63, 633, 634, 636,
876 64, 635, 599, 599, 64, 605, 642, 64, 600, 585,
877 585, 617, 617, 678, 424, 585, 585, 618, 809, 63,
878 65, 63, 587, 605, 652, 656, 656, 424, 587, 65,
879 767, 601, 657, 675, 675, 679, 65, 605, 653, 768,
880 65, 676, 652, 65, 63, 63, 63, 512, 512, 64,
882 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
883 63, 63, 637, 605, 685, 639, 604, 604, 64, 405,
884 405, 605, 551, 656, 656, 406, 638, 407, 772, 606,
885 657, 405, 405, 775, 63, 65, 63, 406, 732, 407,
886 585, 585, 649, 585, 585, 552, 772, 675, 675, 667,
887 605, 666, 778, 587, 65, 676, 587, 684, 684, 63,
888 63, 63, 553, 553, 64, 63, 63, 63, 63, 554,
889 63, 63, 63, 64, 63, 63, 63, 585, 585, 585,
890 585, 670, 670, 715, 715, 605, 717, 772, 772, 938,
891 587, 938, 587, 634, 587, 634, 656, 656, 772, 63,
893 65, 63, 668, 657, 405, 405, 585, 585, 769, 65,
894 406, 669, 407, 772, 605, 815, 818, 818, 777, 587,
895 605, 770, 745, 696, 63, 63, 63, 516, 516, 64,
896 63, 63, 63, 422, 63, 423, 63, 63, 63, 63,
897 63, 63, 558, 559, 558, 558, 558, 558, 558, 560,
898 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
899 558, 558, 558, 558, 63, 65, 63, 558, 558, 561,
900 562, 558, 558, 558, 558, 558, 563, 564, 558, 558,
901 558, 558, 558, 565, 558, 566, 558, 558, 558, 63,
902 63, 63, 553, 553, 64, 63, 63, 63, 63, 554,
904 63, 63, 63, 64, 63, 63, 63, 772, 871, 64,
905 715, 715, 585, 585, 784, 64, 938, 64, 938, 585,
906 585, 585, 585, 585, 585, 587, 772, 585, 585, 63,
907 65, 63, 587, 716, 587, 823, 587, 585, 585, 65,
908 587, 765, 627, 810, 764, 65, 780, 781, 424, 772,
909 587, 65, 697, 65, 63, 63, 63, 604, 604, 64,
910 63, 63, 63, 63, 63, 63, 63, 63, 634, 63,
911 606, 63, 673, 782, 671, 672, 605, 405, 405, 811,
912 585, 585, 808, 406, 605, 407, 674, 772, 585, 585,
913 787, 424, 649, 587, 63, 65, 63, 695, 585, 585,
915 626, 587, 585, 585, 585, 585, 784, 784, 405, 405,
916 824, 587, 816, 812, 406, 587, 407, 587, 605, 63,
917 63, 63, 604, 604, 64, 63, 63, 63, 63, 63,
918 63, 63, 63, 709, 63, 606, 63, 634, 698, 743,
919 747, 747, 710, 424, 772, 772, 711, 711, 744, 772,
920 607, 637, 531, 587, 676, 841, 405, 405, 817, 63,
921 65, 63, 406, 818, 407, 747, 747, 713, 585, 585,
922 747, 747, 825, 819, 784, 714, 64, 772, 587, 742,
923 751, 587, 64, 587, 63, 63, 63, 616, 616, 64,
924 63, 63, 63, 422, 63, 423, 63, 63, 63, 63,
926 63, 63, 820, 746, 747, 747, 747, 747, 772, 759,
927 759, 807, 65, 842, 424, 747, 747, 587, 65, 587,
928 747, 747, 761, 752, 63, 65, 63, 821, 587, 747,
929 747, 864, 749, 587, 750, 747, 747, 405, 405, 605,
930 623, 822, 587, 406, 840, 407, 772, 424, 587, 63,
931 63, 63, 689, 689, 64, 63, 63, 63, 63, 63,
932 690, 63, 63, 753, 63, 63, 63, 747, 747, 790,
933 405, 405, 754, 818, 585, 585, 406, 64, 407, 772,
934 587, 622, 755, 756, 757, 585, 585, 587, 605, 63,
935 65, 63, 843, 759, 759, 759, 759, 828, 587, 711,
937 711, 818, 844, 405, 405, 531, 761, 676, 761, 406,
938 763, 407, 605, 65, 63, 63, 670, 670, 634, 758,
939 713, 621, 531, 585, 585, 762, 791, 912, 714, 587,
940 585, 585, 700, 734, 734, 772, 587, 845, 701, 551,
941 772, 690, 634, 587, 772, 702, 792, 747, 747, 405,
942 405, 747, 747, 793, 736, 406, 847, 407, 703, 704,
943 587, 865, 737, 772, 587, 705, 706, 846, 789, 772,
944 605, 849, 707, 608, 708, 63, 684, 684, 64, 63,
945 63, 63, 551, 63, 63, 63, 63, 63, 63, 606,
946 63, 722, 723, 722, 722, 722, 722, 722, 724, 722,
948 722, 722, 722, 722, 722, 725, 722, 722, 722, 722,
949 722, 722, 722, 63, 65, 63, 722, 722, 726, 727,
950 722, 722, 722, 722, 722, 728, 729, 722, 722, 722,
951 722, 722, 730, 722, 731, 722, 722, 722, 63, 63,
952 63, 734, 734, 64, 63, 63, 63, 551, 63, 690,
953 63, 63, 63, 63, 63, 63, 747, 747, 747, 747,
954 747, 747, 736, 579, 747, 747, 772, 848, 848, 587,
955 737, 587, 772, 587, 747, 747, 853, 587, 63, 65,
956 63, 747, 747, 851, 794, 747, 747, 587, 772, 795,
957 796, 405, 405, 784, 587, 772, 850, 406, 587, 407,
959 866, 880, 424, 63, 63, 63, 738, 738, 64, 63,
960 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
961 63, 799, 798, 759, 759, 759, 759, 797, 772, 747,
962 747, 827, 772, 747, 747, 885, 761, 800, 761, 747,
963 747, 574, 587, 63, 65, 63, 587, 585, 585, 771,
964 771, 64, 587, 852, 759, 759, 476, 424, 863, 881,
965 587, 476, 606, 424, 605, 830, 424, 761, 63, 63,
966 63, 689, 689, 64, 63, 63, 63, 63, 63, 690,
967 63, 63, 801, 63, 63, 63, 802, 65, 528, 804,
968 805, 759, 759, 783, 783, 64, 527, 405, 405, 772,
970 803, 747, 747, 406, 761, 407, 785, 772, 63, 65,
971 63, 867, 747, 747, 587, 585, 585, 747, 747, 747,
972 747, 806, 826, 494, 869, 587, 831, 833, 587, 493,
973 587, 65, 587, 63, 63, 63, 771, 771, 64, 63,
974 63, 63, 63, 63, 63, 63, 63, 829, 63, 606,
975 63, 832, 834, 834, 772, 405, 405, 747, 747, 772,
976 868, 406, 772, 407, 486, 587, 870, 799, 747, 747,
977 587, 747, 747, 63, 65, 63, 747, 747, 854, 747,
978 747, 587, 747, 747, 587, 405, 405, 772, 818, 587,
979 886, 406, 587, 407, 485, 587, 472, 772, 63, 63,
981 63, 771, 771, 64, 63, 63, 63, 63, 63, 63,
982 63, 63, 799, 63, 606, 63, 821, 459, 799, 759,
983 759, 759, 759, 835, 837, 884, 887, 784, 836, 773,
984 895, 838, 761, 424, 761, 605, 839, 772, 63, 65,
985 63, 405, 405, 585, 585, 747, 747, 406, 605, 407,
986 424, 882, 903, 605, 476, 605, 587, 894, 587, 459,
987 883, 772, 856, 63, 63, 63, 783, 783, 64, 63,
988 63, 63, 63, 63, 63, 63, 63, 818, 63, 785,
989 63, 585, 585, 747, 747, 857, 747, 747, 896, 747,
990 747, 893, 931, 772, 587, 772, 587, 747, 747, 587,
992 605, 855, 587, 63, 65, 63, 897, 747, 747, 907,
993 587, 772, 859, 747, 747, 905, 605, 918, 605, 772,
994 587, 848, 848, 858, 933, 772, 587, 63, 63, 63,
995 63, 783, 783, 64, 63, 63, 63, 63, 63, 63,
996 63, 63, 860, 63, 785, 63, 799, 861, 759, 759,
997 722, 405, 405, 585, 585, 605, 467, 406, 772, 407,
998 802, 761, 906, 786, 747, 747, 587, 904, 63, 65,
999 63, 649, 585, 585, 862, 447, 873, 587, 872, 911,
1000 876, 605, 446, 919, 605, 587, 747, 747, 772, 747,
1001 747, 747, 747, 63, 63, 834, 834, 747, 747, 587,
1003 913, 938, 587, 874, 587, 759, 759, 772, 587, 772,
1004 587, 700, 875, 585, 585, 585, 585, 701, 761, 932,
1005 878, 877, 927, 405, 405, 935, 587, 772, 587, 406,
1006 772, 407, 888, 585, 585, 799, 879, 703, 704, 747,
1007 747, 925, 937, 772, 705, 706, 587, 889, 747, 747,
1008 772, 707, 587, 708, 799, 459, 890, 747, 747, 759,
1009 759, 587, 891, 585, 585, 585, 585, 585, 585, 605,
1010 587, 892, 761, 649, 747, 747, 587, 605, 587, 437,
1011 587, 649, 747, 747, 585, 585, 818, 587, 898, 772,
1012 585, 585, 920, 436, 900, 587, 772, 587, 585, 585,
1014 902, 921, 634, 587, 426, 899, 901, 747, 747, 747,
1015 747, 587, 419, 908, 404, 302, 585, 585, 747, 747,
1016 587, 302, 587, 747, 747, 585, 585, 909, 910, 587,
1017 634, 587, 747, 747, 747, 747, 587, 399, 587, 747,
1018 747, 915, 772, 914, 398, 587, 926, 587, 747, 747,
1019 390, 922, 587, 368, 916, 747, 747, 634, 747, 747,
1020 305, 587, 924, 917, 747, 747, 923, 362, 587, 361,
1021 302, 587, 772, 928, 747, 747, 818, 587, 747, 747,
1022 747, 747, 799, 747, 747, 930, 772, 587, 360, 359,
1023 818, 587, 324, 587, 337, 929, 587, 934, 336, 335,
1025 334, 302, 302, 302, 331, 330, 324, 936, 322, 315,
1026 799, 307, 304, 303, 302, 799, 19, 19, 19, 19,
1027 19, 19, 19, 19, 19, 19, 19, 19, 19, 50,
1028 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
1029 50, 50, 54, 54, 54, 54, 54, 54, 54, 54,
1030 54, 54, 54, 54, 54, 63, 63, 63, 63, 63,
1031 63, 63, 63, 63, 63, 63, 63, 63, 70, 70,
1032 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1033 70, 76, 76, 76, 76, 76, 76, 76, 76, 76,
1034 76, 76, 76, 76, 82, 301, 82, 87, 87, 87,
1036 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1037 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1038 91, 91, 91, 96, 96, 96, 96, 96, 96, 96,
1039 96, 96, 96, 96, 96, 96, 102, 102, 102, 102,
1040 102, 102, 102, 102, 102, 102, 102, 300, 102, 118,
1041 299, 298, 292, 291, 289, 284, 118, 248, 118, 120,
1042 120, 283, 120, 120, 120, 283, 120, 120, 120, 120,
1043 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
1044 121, 121, 121, 121, 121, 124, 124, 124, 274, 124,
1045 124, 124, 124, 124, 124, 124, 124, 124, 125, 125,
1047 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
1048 125, 162, 271, 162, 163, 163, 270, 163, 163, 163,
1049 269, 163, 163, 163, 163, 163, 163, 164, 164, 164,
1050 268, 164, 164, 164, 164, 164, 164, 164, 164, 164,
1051 199, 199, 267, 199, 199, 199, 266, 199, 199, 199,
1052 199, 199, 199, 200, 200, 200, 257, 200, 200, 200,
1053 200, 200, 200, 200, 200, 200, 223, 223, 256, 255,
1054 254, 248, 247, 246, 245, 223, 242, 242, 244, 242,
1055 242, 242, 216, 242, 242, 242, 242, 242, 242, 243,
1056 243, 243, 215, 243, 243, 243, 243, 243, 243, 243,
1058 243, 243, 264, 264, 214, 213, 264, 205, 264, 264,
1059 204, 264, 281, 281, 203, 281, 281, 281, 202, 281,
1060 281, 281, 281, 281, 281, 282, 282, 282, 201, 282,
1061 282, 282, 282, 282, 282, 282, 282, 282, 297, 297,
1062 179, 178, 177, 176, 170, 169, 168, 297, 312, 312,
1063 165, 312, 312, 312, 103, 312, 312, 312, 312, 312,
1064 312, 313, 313, 313, 142, 313, 313, 313, 313, 313,
1065 313, 313, 313, 313, 316, 316, 96, 94, 938, 141,
1066 140, 938, 139, 316, 319, 319, 319, 319, 319, 319,
1067 319, 319, 319, 319, 319, 319, 319, 323, 323, 323,
1069 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
1070 329, 329, 138, 137, 329, 130, 329, 329, 129, 329,
1071 332, 332, 332, 332, 332, 332, 332, 332, 128, 332,
1072 127, 332, 332, 341, 341, 938, 341, 341, 341, 136,
1073 341, 341, 341, 341, 341, 341, 342, 342, 342, 131,
1074 342, 342, 342, 342, 342, 342, 342, 342, 342, 346,
1075 346, 130, 129, 128, 127, 126, 346, 123, 346, 350,
1076 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
1077 350, 350, 355, 355, 122, 355, 103, 100, 94, 355,
1078 93, 355, 366, 366, 92, 366, 366, 366, 90, 366,
1080 366, 366, 366, 366, 366, 367, 367, 367, 85, 367,
1081 367, 367, 367, 367, 367, 367, 367, 367, 369, 369,
1082 938, 49, 938, 938, 938, 938, 938, 369, 393, 393,
1083 938, 938, 938, 938, 938, 938, 938, 393, 402, 402,
1084 938, 402, 402, 402, 938, 402, 402, 402, 402, 402,
1085 402, 403, 403, 403, 938, 403, 403, 403, 403, 403,
1086 403, 403, 403, 403, 408, 408, 938, 408, 938, 408,
1087 938, 408, 938, 408, 424, 424, 424, 424, 424, 424,
1088 424, 424, 424, 424, 424, 424, 424, 441, 441, 938,
1089 938, 441, 938, 441, 441, 938, 441, 449, 449, 938,
1091 449, 449, 449, 938, 449, 449, 449, 449, 449, 449,
1092 450, 450, 450, 938, 450, 450, 450, 450, 450, 450,
1093 450, 450, 450, 451, 451, 938, 451, 938, 451, 938,
1094 938, 938, 451, 468, 468, 468, 468, 468, 468, 468,
1095 468, 468, 468, 468, 468, 468, 488, 488, 938, 938,
1096 938, 938, 938, 938, 938, 488, 495, 495, 938, 495,
1097 495, 495, 938, 495, 495, 495, 495, 495, 495, 496,
1098 496, 496, 938, 496, 496, 496, 496, 496, 496, 496,
1099 496, 496, 498, 498, 938, 938, 938, 938, 938, 498,
1100 938, 498, 500, 500, 938, 938, 938, 938, 938, 938,
1102 938, 500, 511, 511, 511, 511, 511, 511, 511, 511,
1103 511, 511, 511, 511, 511, 513, 513, 513, 513, 513,
1104 513, 513, 513, 513, 513, 513, 513, 513, 524, 524,
1105 938, 938, 524, 938, 524, 524, 938, 524, 529, 529,
1106 938, 529, 529, 529, 938, 529, 529, 529, 529, 529,
1107 529, 530, 530, 530, 938, 530, 530, 530, 530, 530,
1108 530, 530, 530, 530, 535, 535, 938, 938, 535, 938,
1109 938, 535, 938, 535, 538, 538, 938, 538, 938, 538,
1110 938, 938, 938, 538, 555, 555, 555, 555, 555, 555,
1111 555, 555, 555, 555, 555, 555, 555, 577, 577, 938,
1113 577, 577, 577, 938, 577, 577, 577, 577, 577, 577,
1114 578, 578, 578, 938, 578, 578, 578, 578, 578, 578,
1115 578, 578, 578, 586, 586, 938, 938, 938, 938, 938,
1116 586, 586, 586, 605, 605, 605, 605, 605, 605, 605,
1117 605, 605, 605, 605, 605, 605, 620, 620, 938, 938,
1118 938, 938, 938, 938, 938, 620, 624, 624, 938, 624,
1119 624, 624, 938, 624, 624, 624, 624, 624, 624, 625,
1120 625, 625, 938, 625, 625, 625, 625, 625, 625, 625,
1121 625, 625, 640, 640, 938, 640, 938, 640, 938, 938,
1122 938, 640, 655, 655, 655, 655, 655, 655, 655, 655,
1124 655, 655, 655, 655, 655, 658, 658, 938, 938, 658,
1125 938, 938, 658, 938, 658, 662, 662, 938, 662, 662,
1126 662, 938, 662, 662, 662, 662, 662, 662, 663, 663,
1127 663, 938, 663, 663, 663, 663, 663, 663, 663, 663,
1128 663, 677, 677, 938, 938, 938, 677, 938, 677, 938,
1129 677, 691, 691, 691, 691, 691, 691, 691, 691, 691,
1130 691, 691, 691, 691, 699, 699, 938, 699, 938, 938,
1131 938, 938, 699, 699, 712, 712, 938, 712, 938, 712,
1132 938, 938, 938, 712, 735, 735, 735, 735, 735, 735,
1133 735, 735, 735, 735, 735, 735, 735, 748, 748, 938,
1135 938, 938, 938, 938, 748, 748, 748, 760, 760, 938,
1136 938, 938, 938, 938, 760, 760, 760, 772, 772, 772,
1137 772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
1138 784, 784, 784, 784, 784, 784, 784, 784, 784, 784,
1139 784, 784, 784, 11, 938, 938, 938, 938, 938, 938,
1140 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1141 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1142 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1143 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1144 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1146 938, 938, 938, 938, 938, 938, 938, 938, 938
1149 static yyconst
short int yy_chk
[4210] =
1151 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1152 1, 1, 1, 1, 1, 1, 5, 6, 7, 8,
1153 24, 24, 0, 5, 6, 7, 8, 9, 10, 40,
1154 9, 10, 25, 25, 35, 35, 41, 887, 1, 1,
1155 1, 13, 13, 98, 17, 36, 12, 26, 98, 36,
1156 100, 38, 15, 100, 40, 107, 41, 12, 12, 12,
1157 38, 41, 13, 1, 1, 2, 2, 2, 2, 2,
1158 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1159 2, 17, 16, 26, 2, 107, 13, 42, 15, 16,
1160 43, 44, 17, 17, 17, 15, 48, 13, 13, 13,
1162 16, 16, 16, 2, 2, 2, 15, 15, 15, 20,
1163 20, 42, 142, 21, 43, 142, 44, 86, 86, 99,
1164 48, 20, 20, 20, 21, 21, 21, 99, 2, 2,
1165 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1166 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1167 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1168 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1169 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1170 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1171 3, 3, 3, 3, 3, 14, 14, 45, 46, 47,
1173 61, 61, 63, 75, 101, 87, 104, 111, 49, 106,
1174 108, 46, 105, 66, 45, 101, 14, 110, 109, 47,
1175 47, 61, 72, 73, 74, 105, 384, 46, 47, 128,
1176 143, 104, 143, 106, 111, 67, 69, 68, 63, 108,
1177 14, 87, 109, 128, 886, 110, 384, 112, 133, 66,
1178 75, 14, 14, 14, 33, 33, 33, 33, 33, 33,
1179 33, 33, 33, 33, 33, 33, 49, 33, 33, 33,
1180 66, 67, 69, 68, 112, 73, 72, 113, 114, 74,
1181 115, 145, 116, 147, 133, 145, 69, 133, 148, 150,
1182 67, 158, 33, 33, 33, 68, 154, 114, 235, 132,
1184 134, 133, 113, 116, 135, 147, 824, 115, 158, 154,
1185 116, 114, 150, 149, 235, 148, 153, 33, 33, 34,
1186 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1187 34, 152, 34, 34, 34, 132, 134, 146, 146, 156,
1188 135, 149, 159, 146, 155, 153, 157, 161, 34, 160,
1189 152, 135, 134, 308, 132, 191, 155, 34, 34, 34,
1190 171, 170, 170, 190, 172, 146, 156, 170, 161, 173,
1191 157, 174, 159, 186, 160, 175, 185, 185, 191, 308,
1192 190, 784, 34, 34, 144, 144, 144, 144, 144, 144,
1193 144, 144, 144, 144, 144, 144, 171, 144, 144, 144,
1195 172, 180, 186, 171, 181, 173, 183, 174, 192, 184,
1196 184, 175, 193, 180, 174, 184, 181, 194, 183, 172,
1197 195, 192, 144, 144, 144, 173, 175, 196, 773, 206,
1198 206, 208, 195, 209, 194, 206, 210, 197, 219, 211,
1199 212, 193, 196, 221, 221, 219, 198, 144, 144, 151,
1200 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
1201 151, 197, 151, 151, 151, 198, 217, 208, 239, 209,
1202 218, 772, 210, 220, 220, 211, 212, 210, 217, 220,
1203 209, 211, 218, 237, 208, 222, 222, 151, 151, 151,
1204 212, 223, 223, 233, 233, 238, 249, 239, 223, 250,
1206 223, 240, 248, 248, 293, 237, 251, 252, 293, 236,
1207 741, 238, 151, 151, 187, 187, 187, 187, 187, 187,
1208 187, 187, 187, 187, 187, 187, 236, 187, 187, 187,
1209 240, 258, 249, 255, 255, 250, 258, 325, 236, 259,
1210 250, 273, 251, 252, 259, 325, 249, 253, 253, 253,
1211 252, 260, 187, 187, 187, 273, 260, 261, 261, 263,
1212 263, 251, 264, 264, 261, 277, 261, 276, 278, 264,
1213 275, 264, 283, 283, 285, 285, 287, 187, 187, 189,
1214 189, 295, 275, 309, 276, 253, 277, 289, 289, 278,
1215 385, 295, 286, 286, 286, 189, 276, 290, 290, 294,
1217 388, 189, 739, 294, 296, 296, 297, 297, 302, 302,
1218 310, 309, 287, 297, 385, 297, 315, 315, 316, 316,
1219 287, 189, 189, 310, 388, 318, 318, 318, 189, 189,
1220 286, 321, 321, 314, 314, 189, 724, 189, 224, 224,
1221 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
1222 326, 224, 224, 224, 314, 346, 346, 338, 326, 290,
1223 317, 317, 317, 318, 320, 320, 322, 322, 340, 474,
1224 327, 396, 322, 328, 328, 396, 224, 224, 224, 327,
1225 328, 317, 328, 329, 329, 320, 338, 353, 353, 347,
1226 329, 474, 329, 353, 345, 345, 340, 420, 317, 352,
1228 352, 224, 224, 241, 241, 241, 241, 241, 241, 241,
1229 241, 241, 241, 241, 241, 345, 241, 241, 241, 347,
1230 352, 354, 354, 355, 355, 347, 349, 349, 349, 355,
1231 356, 357, 363, 420, 358, 356, 357, 358, 392, 392,
1232 483, 241, 241, 241, 369, 369, 358, 349, 372, 372,
1233 369, 694, 369, 394, 372, 379, 372, 370, 370, 363,
1234 389, 483, 394, 370, 349, 370, 241, 241, 279, 279,
1235 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
1236 383, 279, 279, 279, 395, 370, 371, 371, 429, 379,
1237 389, 379, 371, 395, 371, 397, 389, 386, 434, 426,
1239 397, 372, 426, 373, 373, 383, 279, 279, 279, 373,
1240 693, 373, 374, 374, 371, 375, 375, 429, 374, 434,
1241 374, 375, 386, 375, 407, 407, 434, 440, 440, 387,
1242 407, 279, 279, 288, 288, 288, 288, 288, 288, 288,
1243 288, 288, 288, 288, 288, 288, 288, 288, 288, 387,
1244 387, 373, 393, 393, 405, 405, 433, 477, 387, 393,
1245 405, 393, 405, 427, 374, 431, 406, 406, 375, 376,
1246 376, 288, 288, 288, 406, 376, 477, 376, 377, 377,
1247 428, 408, 408, 433, 377, 435, 377, 408, 427, 408,
1248 431, 442, 430, 428, 442, 481, 288, 288, 319, 319,
1250 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1251 479, 319, 319, 319, 409, 409, 430, 376, 376, 435,
1252 409, 435, 409, 410, 410, 481, 376, 411, 411, 410,
1253 377, 410, 557, 411, 479, 411, 319, 319, 319, 557,
1254 412, 412, 409, 413, 413, 444, 412, 443, 412, 413,
1255 443, 413, 414, 414, 410, 473, 432, 444, 414, 473,
1256 414, 319, 319, 339, 339, 339, 339, 339, 339, 339,
1257 339, 339, 339, 339, 339, 432, 339, 339, 339, 484,
1258 411, 412, 415, 415, 472, 416, 416, 472, 415, 432,
1259 415, 416, 692, 416, 445, 445, 451, 451, 453, 453,
1261 413, 339, 339, 339, 414, 417, 417, 491, 418, 418,
1262 489, 417, 491, 417, 418, 484, 418, 422, 422, 422,
1263 489, 475, 452, 452, 478, 422, 339, 339, 344, 344,
1264 452, 482, 416, 454, 454, 415, 423, 423, 423, 454,
1265 438, 438, 423, 517, 344, 480, 416, 438, 475, 438,
1266 344, 478, 441, 441, 492, 422, 482, 418, 492, 441,
1267 417, 441, 480, 665, 418, 487, 487, 459, 459, 490,
1268 344, 344, 517, 459, 423, 459, 528, 344, 344, 490,
1269 498, 498, 499, 499, 344, 528, 344, 348, 348, 348,
1270 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1272 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1273 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1274 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1275 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1276 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1277 348, 348, 350, 350, 350, 350, 350, 350, 350, 350,
1278 350, 350, 350, 350, 522, 350, 350, 350, 455, 455,
1279 514, 456, 456, 515, 455, 519, 455, 456, 518, 456,
1280 476, 476, 514, 522, 567, 515, 521, 519, 457, 457,
1281 350, 350, 350, 455, 457, 518, 457, 520, 458, 458,
1283 567, 460, 460, 456, 458, 551, 458, 460, 476, 460,
1284 521, 664, 520, 526, 526, 350, 350, 365, 365, 365,
1285 365, 365, 365, 365, 365, 365, 365, 365, 365, 561,
1286 365, 365, 365, 573, 469, 469, 469, 573, 457, 461,
1287 461, 551, 469, 464, 464, 461, 643, 461, 460, 464,
1288 643, 464, 661, 458, 561, 365, 365, 365, 462, 462,
1289 608, 463, 463, 608, 462, 556, 462, 463, 600, 463,
1290 465, 465, 469, 471, 471, 471, 465, 556, 465, 471,
1291 365, 365, 380, 380, 380, 380, 380, 380, 380, 380,
1292 380, 380, 380, 380, 461, 380, 380, 380, 488, 488,
1294 681, 464, 497, 497, 600, 488, 463, 488, 497, 681,
1295 462, 471, 538, 538, 568, 563, 562, 564, 466, 466,
1296 380, 380, 380, 465, 466, 538, 466, 500, 500, 501,
1297 501, 497, 502, 502, 500, 501, 562, 501, 502, 563,
1298 502, 660, 564, 568, 566, 380, 380, 381, 381, 381,
1299 381, 381, 381, 381, 381, 381, 381, 381, 381, 659,
1300 381, 381, 381, 533, 533, 534, 534, 466, 566, 501,
1301 533, 534, 502, 504, 504, 569, 381, 539, 539, 504,
1302 650, 504, 627, 505, 505, 381, 381, 381, 565, 505,
1303 539, 505, 506, 506, 534, 507, 507, 602, 506, 650,
1305 506, 507, 602, 507, 569, 539, 572, 572, 565, 565,
1306 381, 381, 400, 400, 400, 400, 400, 400, 400, 400,
1307 400, 400, 400, 400, 603, 400, 400, 400, 505, 603,
1308 504, 611, 506, 510, 510, 510, 523, 523, 507, 510,
1309 612, 508, 508, 523, 609, 523, 652, 508, 644, 508,
1310 400, 400, 400, 509, 509, 626, 524, 524, 644, 509,
1311 611, 509, 510, 524, 612, 524, 525, 525, 606, 609,
1312 652, 510, 525, 570, 570, 400, 400, 421, 421, 421,
1313 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1314 421, 421, 421, 508, 525, 535, 535, 536, 536, 623,
1316 509, 570, 535, 536, 606, 536, 550, 550, 540, 540,
1317 541, 541, 550, 536, 550, 421, 421, 421, 654, 537,
1318 537, 540, 610, 541, 552, 537, 646, 537, 571, 571,
1319 646, 553, 553, 553, 571, 610, 540, 552, 553, 654,
1320 421, 421, 468, 468, 468, 468, 468, 468, 468, 468,
1321 468, 468, 468, 468, 537, 468, 468, 468, 547, 547,
1322 552, 586, 586, 541, 547, 645, 547, 598, 645, 553,
1323 618, 618, 543, 543, 586, 542, 542, 544, 544, 613,
1324 468, 468, 468, 545, 545, 543, 546, 546, 542, 682,
1325 544, 774, 548, 548, 774, 598, 545, 615, 548, 546,
1327 548, 682, 547, 598, 613, 468, 468, 470, 470, 470,
1328 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
1329 470, 470, 470, 542, 543, 615, 647, 549, 549, 683,
1330 544, 545, 545, 549, 622, 549, 580, 580, 546, 619,
1331 619, 683, 580, 687, 726, 470, 470, 470, 647, 548,
1332 590, 590, 554, 554, 554, 687, 583, 583, 554, 680,
1333 584, 584, 583, 590, 583, 580, 584, 680, 584, 726,
1334 470, 470, 503, 503, 588, 588, 585, 585, 503, 583,
1335 503, 554, 585, 584, 549, 589, 589, 588, 503, 585,
1336 554, 592, 592, 648, 503, 685, 594, 594, 589, 593,
1338 593, 729, 588, 590, 592, 585, 591, 591, 718, 594,
1339 653, 621, 593, 718, 503, 503, 589, 597, 597, 591,
1340 648, 503, 503, 597, 685, 597, 729, 653, 503, 607,
1341 503, 511, 511, 511, 511, 511, 511, 511, 511, 511,
1342 511, 511, 511, 601, 511, 511, 511, 591, 592, 594,
1343 641, 593, 599, 599, 599, 614, 601, 642, 599, 596,
1344 596, 617, 617, 641, 767, 595, 595, 617, 767, 511,
1345 511, 511, 596, 688, 614, 620, 620, 719, 595, 601,
1346 719, 599, 620, 640, 640, 642, 641, 651, 614, 719,
1347 599, 640, 688, 642, 511, 511, 512, 512, 512, 512,
1349 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
1350 512, 512, 595, 733, 651, 596, 604, 604, 604, 628,
1351 628, 686, 604, 656, 656, 628, 595, 628, 728, 604,
1352 656, 629, 629, 725, 512, 512, 512, 629, 686, 629,
1353 633, 633, 733, 632, 632, 604, 725, 677, 677, 629,
1354 605, 628, 728, 633, 604, 677, 632, 649, 649, 512,
1355 512, 513, 513, 513, 513, 513, 513, 513, 513, 513,
1356 513, 513, 513, 679, 513, 513, 513, 630, 630, 631,
1357 631, 634, 634, 676, 676, 649, 679, 778, 849, 676,
1358 630, 676, 631, 632, 634, 633, 658, 658, 727, 513,
1360 513, 513, 630, 658, 667, 667, 697, 697, 720, 679,
1361 667, 631, 667, 775, 721, 775, 778, 849, 727, 697,
1362 720, 721, 697, 667, 513, 513, 516, 516, 516, 516,
1363 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
1364 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
1365 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
1366 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
1367 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
1368 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
1369 516, 555, 555, 555, 555, 555, 555, 555, 555, 555,
1371 555, 555, 555, 764, 555, 555, 555, 782, 853, 678,
1372 715, 715, 668, 668, 853, 716, 715, 717, 715, 636,
1373 636, 635, 635, 637, 637, 668, 730, 638, 638, 555,
1374 555, 555, 636, 678, 635, 782, 637, 639, 639, 764,
1375 638, 717, 582, 768, 716, 678, 730, 730, 768, 731,
1376 639, 716, 668, 717, 555, 555, 558, 558, 558, 558,
1377 558, 558, 558, 558, 558, 558, 558, 558, 635, 558,
1378 558, 558, 638, 731, 636, 637, 732, 666, 666, 769,
1379 671, 671, 766, 666, 769, 666, 639, 776, 672, 672,
1380 737, 766, 732, 671, 558, 558, 558, 666, 669, 669,
1382 579, 672, 673, 673, 674, 674, 786, 737, 696, 696,
1383 786, 669, 776, 770, 696, 673, 696, 674, 770, 558,
1384 558, 559, 559, 559, 559, 559, 559, 559, 559, 559,
1385 559, 559, 559, 672, 559, 559, 559, 671, 669, 696,
1386 699, 699, 673, 809, 819, 777, 675, 675, 696, 779,
1387 559, 674, 675, 699, 675, 809, 695, 695, 777, 559,
1388 559, 559, 695, 819, 695, 702, 702, 675, 698, 698,
1389 703, 703, 787, 779, 787, 675, 785, 780, 702, 695,
1390 702, 698, 765, 703, 559, 559, 616, 616, 616, 616,
1391 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
1393 616, 616, 780, 698, 700, 700, 701, 701, 781, 712,
1394 712, 765, 785, 810, 810, 704, 704, 700, 765, 701,
1395 705, 705, 712, 703, 616, 616, 616, 781, 704, 706,
1396 706, 843, 700, 705, 701, 707, 707, 743, 743, 843,
1397 576, 781, 706, 743, 808, 743, 817, 808, 707, 616,
1398 616, 655, 655, 655, 655, 655, 655, 655, 655, 655,
1399 655, 655, 655, 704, 655, 655, 655, 708, 708, 743,
1400 791, 791, 705, 817, 709, 709, 791, 807, 791, 816,
1401 708, 575, 706, 707, 707, 710, 710, 709, 811, 655,
1402 655, 655, 811, 713, 713, 714, 714, 791, 710, 711,
1404 711, 816, 812, 744, 744, 711, 713, 711, 714, 744,
1405 714, 744, 812, 807, 655, 655, 670, 670, 709, 708,
1406 711, 574, 670, 745, 745, 713, 744, 906, 711, 670,
1407 746, 746, 670, 734, 734, 906, 745, 813, 670, 734,
1408 813, 734, 710, 746, 820, 670, 745, 747, 747, 742,
1409 742, 748, 748, 746, 734, 742, 815, 742, 670, 670,
1410 747, 844, 734, 814, 748, 670, 670, 814, 742, 815,
1411 844, 820, 670, 560, 670, 684, 684, 684, 684, 684,
1412 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1413 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1415 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1416 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1417 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1418 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1419 689, 689, 689, 689, 689, 689, 689, 689, 689, 689,
1420 689, 689, 689, 689, 689, 689, 749, 749, 750, 750,
1421 751, 751, 689, 532, 754, 754, 822, 818, 818, 749,
1422 689, 750, 821, 751, 752, 752, 825, 754, 689, 689,
1423 689, 753, 753, 822, 749, 755, 755, 752, 845, 750,
1424 751, 790, 790, 825, 753, 818, 821, 790, 755, 790,
1426 845, 863, 863, 689, 689, 690, 690, 690, 690, 690,
1427 690, 690, 690, 690, 690, 690, 690, 690, 690, 690,
1428 690, 754, 753, 759, 759, 760, 760, 752, 867, 756,
1429 756, 790, 823, 758, 758, 867, 759, 755, 760, 757,
1430 757, 527, 756, 690, 690, 690, 758, 793, 793, 771,
1431 771, 771, 757, 823, 762, 762, 840, 842, 841, 864,
1432 793, 842, 771, 841, 864, 793, 840, 762, 690, 690,
1433 691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
1434 691, 691, 756, 691, 691, 691, 757, 771, 494, 758,
1435 762, 763, 763, 783, 783, 783, 493, 789, 789, 846,
1437 757, 794, 794, 789, 763, 789, 783, 850, 691, 691,
1438 691, 846, 796, 796, 794, 792, 792, 797, 797, 795,
1439 795, 763, 789, 447, 850, 796, 794, 796, 792, 446,
1440 797, 783, 795, 691, 691, 722, 722, 722, 722, 722,
1441 722, 722, 722, 722, 722, 722, 722, 792, 722, 722,
1442 722, 795, 799, 799, 851, 827, 827, 798, 798, 870,
1443 847, 827, 847, 827, 437, 799, 851, 797, 801, 801,
1444 798, 800, 800, 722, 722, 722, 802, 802, 827, 803,
1445 803, 801, 804, 804, 800, 828, 828, 868, 870, 802,
1446 868, 828, 803, 828, 436, 804, 425, 852, 722, 722,
1448 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
1449 723, 723, 798, 723, 723, 723, 852, 828, 800, 805,
1450 805, 806, 806, 801, 803, 866, 871, 871, 802, 723,
1451 883, 804, 805, 424, 806, 883, 806, 866, 723, 723,
1452 723, 826, 826, 830, 830, 831, 831, 826, 865, 826,
1453 880, 865, 893, 882, 880, 893, 830, 882, 831, 826,
1454 865, 869, 830, 723, 723, 735, 735, 735, 735, 735,
1455 735, 735, 735, 735, 735, 735, 735, 869, 735, 735,
1456 735, 829, 829, 832, 832, 831, 833, 833, 884, 835,
1457 835, 881, 925, 884, 829, 925, 832, 836, 836, 833,
1459 881, 829, 835, 735, 735, 735, 885, 837, 837, 897,
1460 836, 885, 833, 838, 838, 895, 895, 911, 911, 897,
1461 837, 848, 848, 832, 927, 927, 838, 848, 735, 735,
1462 736, 736, 736, 736, 736, 736, 736, 736, 736, 736,
1463 736, 736, 836, 736, 736, 736, 835, 837, 839, 839,
1464 848, 854, 854, 855, 855, 894, 419, 854, 896, 854,
1465 838, 839, 896, 736, 857, 857, 855, 894, 736, 736,
1466 736, 903, 856, 856, 839, 399, 855, 857, 854, 904,
1467 857, 903, 398, 912, 904, 856, 858, 858, 912, 859,
1468 859, 860, 860, 736, 736, 834, 834, 861, 861, 858,
1470 907, 834, 859, 856, 860, 862, 862, 926, 834, 907,
1471 861, 834, 856, 873, 873, 874, 874, 834, 862, 926,
1472 859, 858, 921, 872, 872, 932, 873, 921, 874, 872,
1473 932, 872, 873, 875, 875, 860, 862, 834, 834, 876,
1474 876, 919, 935, 935, 834, 834, 875, 874, 877, 877,
1475 919, 834, 876, 834, 861, 872, 875, 878, 878, 879,
1476 879, 877, 876, 888, 888, 889, 889, 890, 890, 905,
1477 878, 877, 879, 905, 891, 891, 888, 918, 889, 391,
1478 890, 918, 892, 892, 898, 898, 931, 891, 888, 913,
1479 899, 899, 913, 390, 890, 892, 931, 898, 900, 900,
1481 892, 913, 898, 899, 382, 889, 891, 901, 901, 902,
1482 902, 900, 378, 899, 368, 362, 908, 908, 909, 909,
1483 901, 361, 902, 910, 910, 914, 914, 901, 902, 908,
1484 900, 909, 915, 915, 916, 916, 910, 360, 914, 917,
1485 917, 909, 920, 908, 359, 915, 920, 916, 922, 922,
1486 351, 915, 917, 343, 910, 923, 923, 914, 924, 924,
1487 337, 922, 917, 910, 928, 928, 916, 336, 923, 335,
1488 334, 924, 933, 922, 929, 929, 933, 928, 930, 930,
1489 934, 934, 928, 936, 936, 924, 937, 929, 331, 330,
1490 937, 930, 323, 934, 307, 923, 936, 929, 306, 305,
1492 304, 303, 301, 300, 299, 298, 292, 934, 291, 284,
1493 930, 274, 272, 271, 270, 936, 939, 939, 939, 939,
1494 939, 939, 939, 939, 939, 939, 939, 939, 939, 940,
1495 940, 940, 940, 940, 940, 940, 940, 940, 940, 940,
1496 940, 940, 941, 941, 941, 941, 941, 941, 941, 941,
1497 941, 941, 941, 941, 941, 942, 942, 942, 942, 942,
1498 942, 942, 942, 942, 942, 942, 942, 942, 943, 943,
1499 943, 943, 943, 943, 943, 943, 943, 943, 943, 943,
1500 943, 944, 944, 944, 944, 944, 944, 944, 944, 944,
1501 944, 944, 944, 944, 945, 269, 945, 946, 946, 946,
1503 946, 946, 946, 946, 946, 946, 946, 946, 946, 946,
1504 947, 947, 947, 947, 947, 947, 947, 947, 947, 947,
1505 947, 947, 947, 948, 948, 948, 948, 948, 948, 948,
1506 948, 948, 948, 948, 948, 948, 949, 949, 949, 949,
1507 949, 949, 949, 949, 949, 949, 949, 268, 949, 950,
1508 267, 266, 257, 256, 254, 247, 950, 246, 950, 951,
1509 951, 245, 951, 951, 951, 244, 951, 951, 951, 951,
1510 951, 951, 952, 952, 952, 952, 952, 952, 952, 952,
1511 952, 952, 952, 952, 952, 953, 953, 953, 234, 953,
1512 953, 953, 953, 953, 953, 953, 953, 953, 954, 954,
1514 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
1515 954, 955, 232, 955, 956, 956, 231, 956, 956, 956,
1516 230, 956, 956, 956, 956, 956, 956, 957, 957, 957,
1517 229, 957, 957, 957, 957, 957, 957, 957, 957, 957,
1518 958, 958, 228, 958, 958, 958, 227, 958, 958, 958,
1519 958, 958, 958, 959, 959, 959, 216, 959, 959, 959,
1520 959, 959, 959, 959, 959, 959, 960, 960, 215, 214,
1521 213, 205, 204, 203, 202, 960, 961, 961, 201, 961,
1522 961, 961, 179, 961, 961, 961, 961, 961, 961, 962,
1523 962, 962, 178, 962, 962, 962, 962, 962, 962, 962,
1525 962, 962, 963, 963, 177, 176, 963, 169, 963, 963,
1526 168, 963, 964, 964, 167, 964, 964, 964, 166, 964,
1527 964, 964, 964, 964, 964, 965, 965, 965, 165, 965,
1528 965, 965, 965, 965, 965, 965, 965, 965, 966, 966,
1529 140, 139, 138, 137, 131, 130, 129, 966, 967, 967,
1530 127, 967, 967, 967, 102, 967, 967, 967, 967, 967,
1531 967, 968, 968, 968, 97, 968, 968, 968, 968, 968,
1532 968, 968, 968, 968, 969, 969, 96, 94, 92, 91,
1533 90, 89, 85, 969, 970, 970, 970, 970, 970, 970,
1534 970, 970, 970, 970, 970, 970, 970, 971, 971, 971,
1536 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
1537 972, 972, 84, 83, 972, 81, 972, 972, 80, 972,
1538 973, 973, 973, 973, 973, 973, 973, 973, 79, 973,
1539 78, 973, 973, 974, 974, 71, 974, 974, 974, 70,
1540 974, 974, 974, 974, 974, 974, 975, 975, 975, 62,
1541 975, 975, 975, 975, 975, 975, 975, 975, 975, 976,
1542 976, 60, 59, 58, 57, 56, 976, 53, 976, 977,
1543 977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
1544 977, 977, 978, 978, 52, 978, 39, 37, 31, 978,
1545 30, 978, 979, 979, 28, 979, 979, 979, 27, 979,
1547 979, 979, 979, 979, 979, 980, 980, 980, 22, 980,
1548 980, 980, 980, 980, 980, 980, 980, 980, 981, 981,
1549 11, 4, 0, 0, 0, 0, 0, 981, 982, 982,
1550 0, 0, 0, 0, 0, 0, 0, 982, 983, 983,
1551 0, 983, 983, 983, 0, 983, 983, 983, 983, 983,
1552 983, 984, 984, 984, 0, 984, 984, 984, 984, 984,
1553 984, 984, 984, 984, 985, 985, 0, 985, 0, 985,
1554 0, 985, 0, 985, 986, 986, 986, 986, 986, 986,
1555 986, 986, 986, 986, 986, 986, 986, 987, 987, 0,
1556 0, 987, 0, 987, 987, 0, 987, 988, 988, 0,
1558 988, 988, 988, 0, 988, 988, 988, 988, 988, 988,
1559 989, 989, 989, 0, 989, 989, 989, 989, 989, 989,
1560 989, 989, 989, 990, 990, 0, 990, 0, 990, 0,
1561 0, 0, 990, 991, 991, 991, 991, 991, 991, 991,
1562 991, 991, 991, 991, 991, 991, 992, 992, 0, 0,
1563 0, 0, 0, 0, 0, 992, 993, 993, 0, 993,
1564 993, 993, 0, 993, 993, 993, 993, 993, 993, 994,
1565 994, 994, 0, 994, 994, 994, 994, 994, 994, 994,
1566 994, 994, 995, 995, 0, 0, 0, 0, 0, 995,
1567 0, 995, 996, 996, 0, 0, 0, 0, 0, 0,
1569 0, 996, 997, 997, 997, 997, 997, 997, 997, 997,
1570 997, 997, 997, 997, 997, 998, 998, 998, 998, 998,
1571 998, 998, 998, 998, 998, 998, 998, 998, 999, 999,
1572 0, 0, 999, 0, 999, 999, 0, 999, 1000, 1000,
1573 0, 1000, 1000, 1000, 0, 1000, 1000, 1000, 1000, 1000,
1574 1000, 1001, 1001, 1001, 0, 1001, 1001, 1001, 1001, 1001,
1575 1001, 1001, 1001, 1001, 1002, 1002, 0, 0, 1002, 0,
1576 0, 1002, 0, 1002, 1003, 1003, 0, 1003, 0, 1003,
1577 0, 0, 0, 1003, 1004, 1004, 1004, 1004, 1004, 1004,
1578 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1005, 1005, 0,
1580 1005, 1005, 1005, 0, 1005, 1005, 1005, 1005, 1005, 1005,
1581 1006, 1006, 1006, 0, 1006, 1006, 1006, 1006, 1006, 1006,
1582 1006, 1006, 1006, 1007, 1007, 0, 0, 0, 0, 0,
1583 1007, 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
1584 1008, 1008, 1008, 1008, 1008, 1008, 1009, 1009, 0, 0,
1585 0, 0, 0, 0, 0, 1009, 1010, 1010, 0, 1010,
1586 1010, 1010, 0, 1010, 1010, 1010, 1010, 1010, 1010, 1011,
1587 1011, 1011, 0, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
1588 1011, 1011, 1012, 1012, 0, 1012, 0, 1012, 0, 0,
1589 0, 1012, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
1591 1013, 1013, 1013, 1013, 1013, 1014, 1014, 0, 0, 1014,
1592 0, 0, 1014, 0, 1014, 1015, 1015, 0, 1015, 1015,
1593 1015, 0, 1015, 1015, 1015, 1015, 1015, 1015, 1016, 1016,
1594 1016, 0, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
1595 1016, 1017, 1017, 0, 0, 0, 1017, 0, 1017, 0,
1596 1017, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018,
1597 1018, 1018, 1018, 1018, 1019, 1019, 0, 1019, 0, 0,
1598 0, 0, 1019, 1019, 1020, 1020, 0, 1020, 0, 1020,
1599 0, 0, 0, 1020, 1021, 1021, 1021, 1021, 1021, 1021,
1600 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1022, 1022, 0,
1602 0, 0, 0, 0, 1022, 1022, 1022, 1023, 1023, 0,
1603 0, 0, 0, 0, 1023, 1023, 1023, 1024, 1024, 1024,
1604 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
1605 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
1606 1025, 1025, 1025, 938, 938, 938, 938, 938, 938, 938,
1607 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1608 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1609 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1610 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1611 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1613 938, 938, 938, 938, 938, 938, 938, 938, 938
1616 static yy_state_type yy_last_accepting_state
;
1617 static char *yy_last_accepting_cpos
;
1619 /* The intent behind this definition is that it'll catch
1620 * any uses of REJECT which flex missed.
1622 #define REJECT reject_used_but_not_detected
1623 #define yymore() yymore_used_but_not_detected
1624 #define YY_MORE_ADJ 0
1625 #define YY_RESTORE_YY_MORE_OFFSET
1627 #line 1 "gengtype-lex.l"
1629 /* -*- indented-text -*- */
1630 /* Process source files and output type information.
1631 Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
1633 This file is part of GCC.
1635 GCC is free software; you can redistribute it and/or modify it under
1636 the terms of the GNU General Public License as published by the Free
1637 Software Foundation; either version 2, or (at your option) any later
1640 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
1641 WARRANTY; without even the implied warranty of MERCHANTABILITY or
1642 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1645 You should have received a copy of the GNU General Public License
1646 along with GCC; see the file COPYING. If not, write to the Free
1647 Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
1649 #line 23 "gengtype-lex.l"
1650 #include "bconfig.h"
1651 #include "coretypes.h"
1654 #define malloc xmalloc
1655 #define realloc xrealloc
1657 #include "gengtype.h"
1658 #include "gengtype-yacc.h"
1660 #define YY_INPUT(BUF,RESULT,SIZE) ((RESULT) = macro_input (BUF,SIZE))
1662 static unsigned macro_input (char *buffer
, unsigned);
1663 static const char *push_macro_expansion (const char *, unsigned,
1664 const char *, unsigned);
1665 static char *mangle_macro_name (const char *, unsigned,
1666 const char *, unsigned);
1667 static void update_lineno (const char *l
, size_t len
);
1669 struct fileloc lexer_line
;
1670 int lexer_toplevel_done
;
1673 update_lineno (const char *l
, size_t len
)
1681 #define in_struct_comment 2
1682 #define in_comment 3
1683 #define in_yacc_escape 4
1685 #define YY_NO_UNPUT 1
1686 #define YY_NEVER_INTERACTIVE 1
1687 #line 1688 "lex.yy.c"
1689 /* Macros after this point can all be overridden by user definitions in
1693 #ifndef YY_SKIP_YYWRAP
1695 extern "C" int yywrap
YY_PROTO(( void ));
1697 extern int yywrap
YY_PROTO(( void ));
1702 static void yyunput
YY_PROTO(( int c
, char *buf_ptr
))
1704 __attribute__((__unused__
))
1710 static void yy_flex_strncpy
YY_PROTO(( char *, yyconst
char *, yy_size_t
));
1713 #ifdef YY_NEED_STRLEN
1714 static yy_size_t yy_flex_strlen
YY_PROTO(( yyconst
char * ));
1719 static int yyinput
YY_PROTO(( void ));
1721 static int input
YY_PROTO(( void ));
1726 static int yy_start_stack_ptr
= 0;
1727 static int yy_start_stack_depth
= 0;
1728 static int *yy_start_stack
= 0;
1729 #ifndef YY_NO_PUSH_STATE
1730 static void yy_push_state
YY_PROTO(( int new_state
));
1732 #ifndef YY_NO_POP_STATE
1733 static void yy_pop_state
YY_PROTO(( void ));
1735 #ifndef YY_NO_TOP_STATE
1736 static int yy_top_state
YY_PROTO(( void ));
1740 #define YY_NO_PUSH_STATE 1
1741 #define YY_NO_POP_STATE 1
1742 #define YY_NO_TOP_STATE 1
1745 #ifdef YY_MALLOC_DECL
1753 /* Just try to get by without declaring the routines. This will fail
1754 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1755 * or sizeof(void*) != sizeof(int).
1760 /* Amount of stuff to slurp up with each read. */
1761 #ifndef YY_READ_BUF_SIZE
1762 #define YY_READ_BUF_SIZE 8192
1765 /* Copy whatever the last rule matched to the standard output. */
1768 /* This used to be an fputs(), but since the string might contain NUL's,
1769 * we now use fwrite().
1771 #define ECHO (void) fwrite( yytext, (size_t)yyleng, 1, yyout )
1774 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1775 * is returned in "result".
1778 #define YY_INPUT(buf,result,max_size) \
1779 if ( yy_current_buffer->yy_is_interactive ) \
1782 for ( n = 0; n < max_size && \
1783 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1784 buf[n] = (char) c; \
1786 buf[n++] = (char) c; \
1787 if ( c == EOF && ferror( yyin ) ) \
1788 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1791 else if ( ((result = fread( buf, 1, (size_t)max_size, yyin )) == 0) \
1792 && ferror( yyin ) ) \
1793 YY_FATAL_ERROR( "input in flex scanner failed" );
1796 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1797 * we don't want an extra ';' after the "return" because that will cause
1798 * some compilers to complain about unreachable statements.
1801 #define yyterminate() return YY_NULL
1804 /* Number of entries by which start-condition stack grows. */
1805 #ifndef YY_START_STACK_INCR
1806 #define YY_START_STACK_INCR 25
1809 /* Report a fatal error. */
1810 #ifndef YY_FATAL_ERROR
1811 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1814 /* Default declaration of generated scanner - a define so the user can
1815 * easily add parameters.
1818 #define YY_DECL int yylex YY_PROTO(( void ))
1821 /* Code executed at the beginning of each rule, after yytext and yyleng
1824 #ifndef YY_USER_ACTION
1825 #define YY_USER_ACTION
1828 /* Code executed at the end of each rule. */
1830 #define YY_BREAK /*LINTED*/break;
1833 #define YY_RULE_SETUP \
1835 yy_current_buffer->yy_at_bol = \
1836 (yytext[yyleng - 1] == '\n'); \
1841 register yy_state_type yy_current_state
;
1842 register char *yy_cp
, *yy_bp
;
1843 register int yy_act
;
1845 #line 63 "gengtype-lex.l"
1848 #line 1849 "lex.yy.c"
1850 #if defined(YY_USES_REJECT) && (defined(__GNUC__) || defined(lint))
1851 /* XXX: shut up `unused label' warning with %options yylineno */
1852 if (/*CONSTCOND*/0 && yy_full_match
)
1864 yy_start
= 1; /* first start state */
1872 if ( ! yy_current_buffer
)
1874 yy_create_buffer( yyin
, YY_BUF_SIZE
);
1876 yy_load_buffer_state();
1879 while (/*CONSTCOND*/ 1 ) /* loops until end-of-file is reached */
1883 /* Support of yytext. */
1884 *yy_cp
= yy_hold_char
;
1886 /* yy_bp points to the position in yy_ch_buf of the start of
1891 yy_current_state
= yy_start
;
1892 yy_current_state
+= YY_AT_BOL();
1896 register YY_CHAR yy_c
= yy_ec
[YY_SC_TO_UI(*yy_cp
)];
1897 if ( yy_accept
[yy_current_state
] )
1899 yy_last_accepting_state
= yy_current_state
;
1900 yy_last_accepting_cpos
= yy_cp
;
1902 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1904 yy_current_state
= (int) yy_def
[yy_current_state
];
1905 if ( yy_current_state
>= 939 )
1906 yy_c
= yy_meta
[(unsigned int) yy_c
];
1908 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1911 while ( yy_base
[yy_current_state
] != 4144 );
1914 yy_act
= yy_accept
[yy_current_state
];
1916 { /* have to back up */
1917 yy_cp
= yy_last_accepting_cpos
;
1918 yy_current_state
= yy_last_accepting_state
;
1919 yy_act
= yy_accept
[yy_current_state
];
1922 YY_DO_BEFORE_ACTION
;
1925 do_action
: /* This label is used only to access EOF actions. */
1929 { /* beginning of action switch */
1930 case 0: /* must back up */
1931 /* undo the effects of YY_DO_BEFORE_ACTION */
1932 *yy_cp
= yy_hold_char
;
1933 yy_cp
= yy_last_accepting_cpos
;
1934 yy_current_state
= yy_last_accepting_state
;
1935 goto yy_find_action
;
1939 #line 65 "gengtype-lex.l"
1949 tagstart
= yytext
+ strlen (" typedef ");
1950 while (ISSPACE (*tagstart
))
1952 union_p
= tagstart
[0] == 'u';
1953 tagstart
+= strlen ("union ");
1954 while (ISSPACE (*tagstart
))
1956 for (taglen
= 1; ISIDNUM (tagstart
[taglen
]); taglen
++)
1958 for (namestart
= tagstart
+ taglen
;
1959 ! ISIDNUM (*namestart
);
1961 if (*namestart
== '*')
1963 for (namelen
= 1; ISIDNUM (namestart
[namelen
]); namelen
++)
1965 t
= find_structure ((const char *) xmemdup (tagstart
, taglen
, taglen
+1),
1968 t
= create_pointer (t
);
1969 namestart
= (char *) xmemdup (namestart
, namelen
, namelen
+1);
1970 #ifdef USE_MAPPED_LOCATION
1971 /* temporary kludge - gentype doesn't handle cpp conditionals */
1972 if (strcmp (namestart
, "location_t") != 0
1973 && strcmp (namestart
, "expanded_location") != 0)
1975 do_typedef (namestart
, t
, &lexer_line
);
1976 update_lineno (yytext
, yyleng
);
1981 #line 104 "gengtype-lex.l"
1990 for (namestart
= yytext
+ yyleng
- 2; ISSPACE (*namestart
); namestart
--)
1992 for (namelen
= 1; !ISSPACE (namestart
[-namelen
]); namelen
++)
1994 namestart
-= namelen
- 1;
1995 for (typestart
= yytext
+ strlen (" typedef ");
1996 ISSPACE(*typestart
);
1999 for (typelen
= namestart
- typestart
;
2000 ISSPACE (typestart
[typelen
-1]);
2004 t
= create_scalar_type (typestart
, typelen
);
2005 do_typedef ((const char *) xmemdup (namestart
, namelen
, namelen
+1), t
,
2007 update_lineno (yytext
, yyleng
);
2012 #line 132 "gengtype-lex.l"
2018 for (namestart
= yytext
+ yyleng
- 7; ISSPACE (*namestart
); namestart
--)
2020 for (namelen
= 1; !ISSPACE (namestart
[-namelen
]); namelen
++)
2022 namestart
-= namelen
- 1;
2024 t
= create_scalar_type ("function type", sizeof ("function type")-1);
2025 do_typedef ((const char *) xmemdup (namestart
, namelen
, namelen
+1), t
,
2027 update_lineno (yytext
, yyleng
);
2032 #line 149 "gengtype-lex.l"
2038 for (namestart
= yytext
+ yyleng
- 2; ISSPACE (*namestart
); namestart
--)
2040 for (namelen
= 1; !ISSPACE (namestart
[-namelen
]); namelen
++)
2042 namestart
-= namelen
- 1;
2044 t
= create_scalar_type ("function type", sizeof ("function type")-1);
2045 do_typedef ((const char *) xmemdup (namestart
, namelen
, namelen
+1), t
,
2047 update_lineno (yytext
, yyleng
);
2052 #line 166 "gengtype-lex.l"
2058 for (namestart
= yytext
+ yyleng
- 7; !ISIDNUM (*namestart
); namestart
--)
2060 for (namelen
= 1; ISIDNUM (namestart
[-namelen
]); namelen
++)
2062 namestart
-= namelen
- 1;
2064 t
= create_scalar_type ("function type", sizeof ("function type")-1);
2065 do_typedef ((const char *) xmemdup (namestart
, namelen
, namelen
+1), t
,
2067 update_lineno (yytext
, yyleng
);
2072 #line 183 "gengtype-lex.l"
2078 for (namestart
= yytext
+ yyleng
- 2; !ISIDNUM (*namestart
); namestart
--)
2080 for (namelen
= 1; ISIDNUM (namestart
[-namelen
]); namelen
++)
2082 namestart
-= namelen
- 1;
2084 t
= create_scalar_type ("function type", sizeof ("function type")-1);
2085 do_typedef ((const char *) xmemdup (namestart
, namelen
, namelen
+1), t
,
2087 update_lineno (yytext
, yyleng
);
2091 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2092 yy_c_buf_p
= yy_cp
-= 3;
2093 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2095 #line 200 "gengtype-lex.l"
2102 typedef_p
= yytext
[1] == 't';
2104 for (tagstart
= yytext
+ strlen (" typedef ");
2109 tagstart
= yytext
+ 1;
2111 union_p
= tagstart
[0] == 'u';
2112 tagstart
+= strlen ("union ");
2113 while (ISSPACE (*tagstart
))
2115 for (taglen
= 1; ISIDNUM (tagstart
[taglen
]); taglen
++)
2118 yylval
.t
= find_structure ((const char *) xmemdup (tagstart
, taglen
,
2122 update_lineno (yytext
, yyleng
);
2123 return typedef_p
? ENT_TYPEDEF_STRUCT
: ENT_STRUCT
;
2127 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2128 yy_c_buf_p
= yy_cp
-= 3;
2129 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2131 #line 230 "gengtype-lex.l"
2134 update_lineno (yytext
, yyleng
);
2135 return ENT_EXTERNSTATIC
;
2139 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2140 yy_c_buf_p
= yy_cp
-= 3;
2141 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2143 #line 236 "gengtype-lex.l"
2146 update_lineno (yytext
, yyleng
);
2147 return ENT_YACCUNION
;
2152 #line 242 "gengtype-lex.l"
2155 unsigned macro_len
, arg_len
;
2157 const char *additional
;
2160 /* Find the macro name. */
2161 for (macro
= ptr
; *ptr
!= '(' && !ISSPACE (*ptr
); ptr
++)
2163 for (macro_len
= ptr
- macro
; !(ISALNUM (*ptr
) || *ptr
== '_'); ptr
++)
2166 /* Find the argument(s). */
2167 for (arg
= ptr
; *ptr
!= ')'; ptr
++)
2169 arg_len
= ptr
- arg
;
2171 /* Create the struct and typedef. */
2172 ptr
= mangle_macro_name ("VEC", 3, arg
, arg_len
);
2174 t
= find_structure (ptr
, 0);
2175 do_typedef (ptr
, t
, &lexer_line
);
2177 /* Push the macro for later expansion. */
2178 additional
= push_macro_expansion (macro
, macro_len
, arg
, arg_len
);
2182 ptr
= mangle_macro_name (ptr
, strlen (ptr
),
2183 additional
, strlen (additional
));
2184 t
= find_structure (ptr
, 0);
2185 do_typedef (ptr
, t
, &lexer_line
);
2192 #line 280 "gengtype-lex.l"
2193 { BEGIN(in_struct_comment
); }
2197 #line 282 "gengtype-lex.l"
2198 { BEGIN(in_yacc_escape
); } /* } */
2202 #line 284 "gengtype-lex.l"
2203 { update_lineno (yytext
, yyleng
); }
2206 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2207 yy_c_buf_p
= yy_cp
= yy_bp
+ 5;
2208 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2210 #line 286 "gengtype-lex.l"
2214 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2215 yy_c_buf_p
= yy_cp
= yy_bp
+ 3;
2216 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2218 #line 287 "gengtype-lex.l"
2219 { return GTY_TOKEN
; }
2222 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2223 yy_c_buf_p
= yy_cp
= yy_bp
+ 5;
2224 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2226 #line 288 "gengtype-lex.l"
2230 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2231 yy_c_buf_p
= yy_cp
= yy_bp
+ 6;
2232 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2234 #line 289 "gengtype-lex.l"
2238 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2239 yy_c_buf_p
= yy_cp
= yy_bp
+ 4;
2240 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2242 #line 290 "gengtype-lex.l"
2246 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2247 yy_c_buf_p
= yy_cp
= yy_bp
+ 9;
2248 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2250 #line 291 "gengtype-lex.l"
2254 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2255 yy_c_buf_p
= yy_cp
= yy_bp
+ 10;
2256 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2258 #line 292 "gengtype-lex.l"
2259 { return NESTED_PTR
; }
2263 #line 293 "gengtype-lex.l"
2267 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2268 yy_c_buf_p
= yy_cp
-= 1;
2269 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2271 #line 294 "gengtype-lex.l"
2273 yylval
.s
= (const char *) xmemdup (yytext
, yyleng
, yyleng
+1);
2278 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2279 yy_c_buf_p
= yy_cp
-= 1;
2280 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2281 #line 300 "gengtype-lex.l"
2284 #line 300 "gengtype-lex.l"
2288 for (len
= yyleng
; ISSPACE (yytext
[len
-1]); len
--)
2291 yylval
.t
= create_scalar_type (yytext
, len
);
2292 update_lineno (yytext
, yyleng
);
2298 #line 311 "gengtype-lex.l"
2301 unsigned macro_len
, arg_len
;
2304 /* Find the macro name */
2305 for (macro
= ptr
; *ptr
!= '(' && !ISSPACE (*ptr
); ptr
++)
2307 for (macro_len
= ptr
- macro
; !(ISALNUM(*ptr
) || *ptr
== '_'); ptr
++)
2310 /* Find the arguments. */
2311 for (arg
= ptr
; *ptr
!= ')'; ptr
++)
2313 arg_len
= ptr
- arg
;
2315 ptr
= mangle_macro_name (macro
, macro_len
, arg
, arg_len
);
2321 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2322 yy_c_buf_p
= yy_cp
-= 1;
2323 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2325 #line 332 "gengtype-lex.l"
2327 yylval
.s
= (const char *) xmemdup (yytext
, yyleng
, yyleng
+1);
2333 #line 337 "gengtype-lex.l"
2335 yylval
.s
= (const char *) xmemdup (yytext
+1, yyleng
-2, yyleng
-1);
2341 #line 341 "gengtype-lex.l"
2343 yylval
.s
= (const char *) xmemdup (yytext
+1, yyleng
-2, yyleng
-1);
2349 #line 345 "gengtype-lex.l"
2351 yylval
.s
= (const char *) xmemdup (yytext
+1, yyleng
-1, yyleng
);
2357 #line 349 "gengtype-lex.l"
2359 yylval
.s
= (const char *) xmemdup (yytext
+1, yyleng
-2, yyleng
);
2365 #line 354 "gengtype-lex.l"
2366 { return yytext
[0]; }
2370 #line 356 "gengtype-lex.l"
2372 if (lexer_toplevel_done
)
2375 lexer_toplevel_done
= 0;
2382 #line 365 "gengtype-lex.l"
2385 return PERCENTPERCENT
;
2390 #line 370 "gengtype-lex.l"
2391 {lexer_line
.line
++;}
2395 #line 372 "gengtype-lex.l"
2397 error_at_line (&lexer_line
, "unexpected character `%s'", yytext
);
2403 #line 377 "gengtype-lex.l"
2404 { BEGIN(in_comment
); }
2408 #line 378 "gengtype-lex.l"
2409 { lexer_line
.line
++; }
2412 #line 380 "gengtype-lex.l"
2414 #line 381 "gengtype-lex.l"
2417 #line 381 "gengtype-lex.l"
2422 #line 382 "gengtype-lex.l"
2423 { update_lineno (yytext
, yyleng
); }
2426 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2427 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2428 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2430 #line 383 "gengtype-lex.l"
2436 #line 386 "gengtype-lex.l"
2437 { lexer_line
.line
++; }
2440 #line 388 "gengtype-lex.l"
2443 #line 388 "gengtype-lex.l"
2447 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2448 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2449 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2451 #line 389 "gengtype-lex.l"
2457 #line 391 "gengtype-lex.l"
2462 #line 392 "gengtype-lex.l"
2463 { BEGIN(in_struct
); }
2468 #line 395 "gengtype-lex.l"
2469 { lexer_line
.line
++; }
2472 #line 397 "gengtype-lex.l"
2475 #line 397 "gengtype-lex.l"
2479 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2480 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2481 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2483 #line 398 "gengtype-lex.l"
2488 #line 399 "gengtype-lex.l"
2489 { BEGIN(in_struct
); }
2493 #line 400 "gengtype-lex.l"
2495 error_at_line (&lexer_line
,
2496 "unterminated %%{; unexpected EOF");
2501 #line 408 "gengtype-lex.l"
2504 #line 408 "gengtype-lex.l"
2506 error_at_line (&lexer_line
,
2507 "unterminated comment or string; unexpected EOF");
2512 #line 413 "gengtype-lex.l"
2517 #line 414 "gengtype-lex.l"
2519 error_at_line (&lexer_line
, "stray GTY marker");
2524 #line 418 "gengtype-lex.l"
2525 YY_FATAL_ERROR( "flex scanner jammed" );
2527 #line 2528 "lex.yy.c"
2528 case YY_STATE_EOF(INITIAL
):
2529 case YY_STATE_EOF(in_struct
):
2530 case YY_STATE_EOF(in_struct_comment
):
2531 case YY_STATE_EOF(in_comment
):
2532 case YY_STATE_EOF(in_yacc_escape
):
2535 case YY_END_OF_BUFFER
:
2537 /* Amount of text matched not including the EOB char. */
2538 int yy_amount_of_matched_text
= (int) (yy_cp
- yytext_ptr
) - 1;
2540 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2541 *yy_cp
= yy_hold_char
;
2542 YY_RESTORE_YY_MORE_OFFSET
2544 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_NEW
)
2546 /* We're scanning a new file or input source. It's
2547 * possible that this happened because the user
2548 * just pointed yyin at a new source and called
2549 * yylex(). If so, then we have to assure
2550 * consistency between yy_current_buffer and our
2551 * globals. Here is the right place to do so, because
2552 * this is the first action (other than possibly a
2553 * back-up) that will match for the new input source.
2555 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
2556 yy_current_buffer
->yy_input_file
= yyin
;
2557 yy_current_buffer
->yy_buffer_status
= YY_BUFFER_NORMAL
;
2560 /* Note that here we test for yy_c_buf_p "<=" to the position
2561 * of the first EOB in the buffer, since yy_c_buf_p will
2562 * already have been incremented past the NUL character
2563 * (since all states make transitions on EOB to the
2564 * end-of-buffer state). Contrast this with the test
2567 if ( yy_c_buf_p
<= &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
2568 { /* This was really a NUL. */
2569 yy_state_type yy_next_state
;
2571 yy_c_buf_p
= yytext_ptr
+ yy_amount_of_matched_text
;
2573 yy_current_state
= yy_get_previous_state();
2575 /* Okay, we're now positioned to make the NUL
2576 * transition. We couldn't have
2577 * yy_get_previous_state() go ahead and do it
2578 * for us because it doesn't know how to deal
2579 * with the possibility of jamming (and we don't
2580 * want to build jamming into it because then it
2581 * will run more slowly).
2584 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
2586 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2588 if ( yy_next_state
)
2590 /* Consume the NUL. */
2591 yy_cp
= ++yy_c_buf_p
;
2592 yy_current_state
= yy_next_state
;
2599 goto yy_find_action
;
2603 else switch ( yy_get_next_buffer() )
2605 case EOB_ACT_END_OF_FILE
:
2607 yy_did_buffer_switch_on_eof
= 0;
2611 /* Note: because we've taken care in
2612 * yy_get_next_buffer() to have set up
2613 * yytext, we can now set up
2614 * yy_c_buf_p so that if some total
2615 * hoser (like flex itself) wants to
2616 * call the scanner after we return the
2617 * YY_NULL, it'll still work - another
2618 * YY_NULL will get returned.
2620 yy_c_buf_p
= yytext_ptr
+ YY_MORE_ADJ
;
2622 yy_act
= YY_STATE_EOF(YY_START
);
2628 if ( ! yy_did_buffer_switch_on_eof
)
2634 case EOB_ACT_CONTINUE_SCAN
:
2636 yytext_ptr
+ yy_amount_of_matched_text
;
2638 yy_current_state
= yy_get_previous_state();
2641 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2644 case EOB_ACT_LAST_MATCH
:
2646 &yy_current_buffer
->yy_ch_buf
[yy_n_chars
];
2648 yy_current_state
= yy_get_previous_state();
2651 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2652 goto yy_find_action
;
2659 "fatal flex scanner internal error--no action found" );
2660 } /* end of action switch */
2661 } /* end of scanning one token */
2662 } /* end of yylex */
2665 /* yy_get_next_buffer - try to read in a new buffer
2667 * Returns a code representing an action:
2668 * EOB_ACT_LAST_MATCH -
2669 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2670 * EOB_ACT_END_OF_FILE - end of file
2673 static int yy_get_next_buffer()
2675 register char *dest
= yy_current_buffer
->yy_ch_buf
;
2676 register char *source
= yytext_ptr
;
2677 register int number_to_move
, i
;
2680 if ( yy_c_buf_p
> &yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] )
2682 "fatal flex scanner internal error--end of buffer missed" );
2684 if ( yy_current_buffer
->yy_fill_buffer
== 0 )
2685 { /* Don't try to fill the buffer, so this is an EOF. */
2686 if ( yy_c_buf_p
- yytext_ptr
- YY_MORE_ADJ
== 1 )
2688 /* We matched a single character, the EOB, so
2689 * treat this as a final EOF.
2691 return EOB_ACT_END_OF_FILE
;
2696 /* We matched some text prior to the EOB, first
2699 return EOB_ACT_LAST_MATCH
;
2703 /* Try to read more data. */
2705 /* First move last chars to start of buffer. */
2706 number_to_move
= (int) (yy_c_buf_p
- yytext_ptr
) - 1;
2708 for ( i
= 0; i
< number_to_move
; ++i
)
2709 *(dest
++) = *(source
++);
2711 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_EOF_PENDING
)
2712 /* don't do the read, it's not guaranteed to return an EOF,
2715 yy_current_buffer
->yy_n_chars
= yy_n_chars
= 0;
2720 yy_current_buffer
->yy_buf_size
- number_to_move
- 1;
2722 while ( num_to_read
<= 0 )
2723 { /* Not enough room in the buffer - grow it. */
2724 #ifdef YY_USES_REJECT
2726 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2729 /* just a shorter name for the current buffer */
2730 YY_BUFFER_STATE b
= yy_current_buffer
;
2732 int yy_c_buf_p_offset
=
2733 (int) (yy_c_buf_p
- b
->yy_ch_buf
);
2735 if ( b
->yy_is_our_buffer
)
2737 int new_size
= b
->yy_buf_size
* 2;
2739 if ( new_size
<= 0 )
2740 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
2742 b
->yy_buf_size
*= 2;
2744 b
->yy_ch_buf
= (char *)
2745 /* Include room in for 2 EOB chars. */
2746 yy_flex_realloc( (void *) b
->yy_ch_buf
,
2747 b
->yy_buf_size
+ 2 );
2750 /* Can't grow it, we don't own it. */
2753 if ( ! b
->yy_ch_buf
)
2755 "fatal error - scanner input buffer overflow" );
2757 yy_c_buf_p
= &b
->yy_ch_buf
[yy_c_buf_p_offset
];
2759 num_to_read
= yy_current_buffer
->yy_buf_size
-
2764 if ( num_to_read
> YY_READ_BUF_SIZE
)
2765 num_to_read
= YY_READ_BUF_SIZE
;
2767 /* Read in more data. */
2768 YY_INPUT( (&yy_current_buffer
->yy_ch_buf
[number_to_move
]),
2769 yy_n_chars
, num_to_read
);
2771 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
2774 if ( yy_n_chars
== 0 )
2776 if ( number_to_move
== YY_MORE_ADJ
)
2778 ret_val
= EOB_ACT_END_OF_FILE
;
2784 ret_val
= EOB_ACT_LAST_MATCH
;
2785 yy_current_buffer
->yy_buffer_status
=
2786 YY_BUFFER_EOF_PENDING
;
2791 ret_val
= EOB_ACT_CONTINUE_SCAN
;
2793 yy_n_chars
+= number_to_move
;
2794 yy_current_buffer
->yy_ch_buf
[yy_n_chars
] = YY_END_OF_BUFFER_CHAR
;
2795 yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] = YY_END_OF_BUFFER_CHAR
;
2797 yytext_ptr
= &yy_current_buffer
->yy_ch_buf
[0];
2803 /* yy_get_previous_state - get the state just before the EOB char was reached */
2805 static yy_state_type
yy_get_previous_state()
2807 register yy_state_type yy_current_state
;
2808 register char *yy_cp
;
2810 yy_current_state
= yy_start
;
2811 yy_current_state
+= YY_AT_BOL();
2813 for ( yy_cp
= yytext_ptr
+ YY_MORE_ADJ
; yy_cp
< yy_c_buf_p
; ++yy_cp
)
2815 register YY_CHAR yy_c
= (*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
2816 if ( yy_accept
[yy_current_state
] )
2818 yy_last_accepting_state
= yy_current_state
;
2819 yy_last_accepting_cpos
= yy_cp
;
2821 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
2823 yy_current_state
= (int) yy_def
[yy_current_state
];
2824 if ( yy_current_state
>= 939 )
2825 yy_c
= yy_meta
[(unsigned int) yy_c
];
2827 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
2830 return yy_current_state
;
2834 /* yy_try_NUL_trans - try to make a transition on the NUL character
2837 * next_state = yy_try_NUL_trans( current_state );
2840 #ifdef YY_USE_PROTOS
2841 static yy_state_type
yy_try_NUL_trans( yy_state_type yy_current_state
)
2843 static yy_state_type
yy_try_NUL_trans( yy_current_state
)
2844 yy_state_type yy_current_state
;
2847 register int yy_is_jam
;
2848 register char *yy_cp
= yy_c_buf_p
;
2850 register YY_CHAR yy_c
= 1;
2851 if ( yy_accept
[yy_current_state
] )
2853 yy_last_accepting_state
= yy_current_state
;
2854 yy_last_accepting_cpos
= yy_cp
;
2856 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
2858 yy_current_state
= (int) yy_def
[yy_current_state
];
2859 if ( yy_current_state
>= 939 )
2860 yy_c
= yy_meta
[(unsigned int) yy_c
];
2862 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
2863 yy_is_jam
= (yy_current_state
== 938);
2865 return yy_is_jam
? 0 : yy_current_state
;
2870 #ifdef YY_USE_PROTOS
2871 static void yyunput( int c
, register char *yy_bp
)
2873 static void yyunput( c
, yy_bp
)
2875 register char *yy_bp
;
2878 register char *yy_cp
= yy_c_buf_p
;
2880 /* undo effects of setting up yytext */
2881 *yy_cp
= yy_hold_char
;
2883 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
2884 { /* need to shift things up to make room */
2885 /* +2 for EOB chars. */
2886 register int number_to_move
= yy_n_chars
+ 2;
2887 register char *dest
= &yy_current_buffer
->yy_ch_buf
[
2888 yy_current_buffer
->yy_buf_size
+ 2];
2889 register char *source
=
2890 &yy_current_buffer
->yy_ch_buf
[number_to_move
];
2892 while ( source
> yy_current_buffer
->yy_ch_buf
)
2893 *--dest
= *--source
;
2895 yy_cp
+= (int) (dest
- source
);
2896 yy_bp
+= (int) (dest
- source
);
2897 yy_current_buffer
->yy_n_chars
=
2898 yy_n_chars
= yy_current_buffer
->yy_buf_size
;
2900 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
2901 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2904 *--yy_cp
= (char) c
;
2908 yy_hold_char
= *yy_cp
;
2911 #endif /* ifndef YY_NO_UNPUT */
2915 static int yyinput()
2922 *yy_c_buf_p
= yy_hold_char
;
2924 if ( *yy_c_buf_p
== YY_END_OF_BUFFER_CHAR
)
2926 /* yy_c_buf_p now points to the character we want to return.
2927 * If this occurs *before* the EOB characters, then it's a
2928 * valid NUL; if not, then we've hit the end of the buffer.
2930 if ( yy_c_buf_p
< &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
2931 /* This was really a NUL. */
2935 { /* need more input */
2936 int offset
= yy_c_buf_p
- yytext_ptr
;
2939 switch ( yy_get_next_buffer() )
2941 case EOB_ACT_LAST_MATCH
:
2942 /* This happens because yy_g_n_b()
2943 * sees that we've accumulated a
2944 * token and flags that we need to
2945 * try matching the token before
2946 * proceeding. But for input(),
2947 * there's no matching to consider.
2948 * So convert the EOB_ACT_LAST_MATCH
2949 * to EOB_ACT_END_OF_FILE.
2952 /* Reset buffer status. */
2957 case EOB_ACT_END_OF_FILE
:
2962 if ( ! yy_did_buffer_switch_on_eof
)
2971 case EOB_ACT_CONTINUE_SCAN
:
2972 yy_c_buf_p
= yytext_ptr
+ offset
;
2978 c
= *(unsigned char *) yy_c_buf_p
; /* cast for 8-bit char's */
2979 *yy_c_buf_p
= '\0'; /* preserve yytext */
2980 yy_hold_char
= *++yy_c_buf_p
;
2982 yy_current_buffer
->yy_at_bol
= (c
== '\n');
2988 #ifdef YY_USE_PROTOS
2989 void yyrestart( FILE *input_file
)
2991 void yyrestart( input_file
)
2995 if ( ! yy_current_buffer
)
2996 yy_current_buffer
= yy_create_buffer( yyin
, YY_BUF_SIZE
);
2998 yy_init_buffer( yy_current_buffer
, input_file
);
2999 yy_load_buffer_state();
3003 #ifdef YY_USE_PROTOS
3004 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer
)
3006 void yy_switch_to_buffer( new_buffer
)
3007 YY_BUFFER_STATE new_buffer
;
3010 if ( yy_current_buffer
== new_buffer
)
3013 if ( yy_current_buffer
)
3015 /* Flush out information for old buffer. */
3016 *yy_c_buf_p
= yy_hold_char
;
3017 yy_current_buffer
->yy_buf_pos
= yy_c_buf_p
;
3018 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
3021 yy_current_buffer
= new_buffer
;
3022 yy_load_buffer_state();
3024 /* We don't actually know whether we did this switch during
3025 * EOF (yywrap()) processing, but the only time this flag
3026 * is looked at is after yywrap() is called, so it's safe
3027 * to go ahead and always set it.
3029 yy_did_buffer_switch_on_eof
= 1;
3033 #ifdef YY_USE_PROTOS
3034 void yy_load_buffer_state( void )
3036 void yy_load_buffer_state()
3039 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
3040 yytext_ptr
= yy_c_buf_p
= yy_current_buffer
->yy_buf_pos
;
3041 yyin
= yy_current_buffer
->yy_input_file
;
3042 yy_hold_char
= *yy_c_buf_p
;
3046 #ifdef YY_USE_PROTOS
3047 YY_BUFFER_STATE
yy_create_buffer( FILE *file
, int size
)
3049 YY_BUFFER_STATE
yy_create_buffer( file
, size
)
3056 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
3058 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3060 b
->yy_buf_size
= size
;
3062 /* yy_ch_buf has to be 2 characters longer than the size given because
3063 * we need to put in 2 end-of-buffer characters.
3065 b
->yy_ch_buf
= (char *) yy_flex_alloc( b
->yy_buf_size
+ 2 );
3066 if ( ! b
->yy_ch_buf
)
3067 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3069 b
->yy_is_our_buffer
= 1;
3071 yy_init_buffer( b
, file
);
3077 #ifdef YY_USE_PROTOS
3078 void yy_delete_buffer( YY_BUFFER_STATE b
)
3080 void yy_delete_buffer( b
)
3087 if ( b
== yy_current_buffer
)
3088 yy_current_buffer
= (YY_BUFFER_STATE
) 0;
3090 if ( b
->yy_is_our_buffer
)
3091 yy_flex_free( (void *) b
->yy_ch_buf
);
3093 yy_flex_free( (void *) b
);
3097 #ifndef YY_ALWAYS_INTERACTIVE
3098 #ifndef YY_NEVER_INTERACTIVE
3103 #ifdef YY_USE_PROTOS
3104 void yy_init_buffer( YY_BUFFER_STATE b
, FILE *file
)
3106 void yy_init_buffer( b
, file
)
3113 yy_flush_buffer( b
);
3115 b
->yy_input_file
= file
;
3116 b
->yy_fill_buffer
= 1;
3118 #if YY_ALWAYS_INTERACTIVE
3119 b
->yy_is_interactive
= 1;
3121 #if YY_NEVER_INTERACTIVE
3122 b
->yy_is_interactive
= 0;
3124 b
->yy_is_interactive
= file
? (isatty( fileno(file
) ) > 0) : 0;
3130 #ifdef YY_USE_PROTOS
3131 void yy_flush_buffer( YY_BUFFER_STATE b
)
3133 void yy_flush_buffer( b
)
3143 /* We always need two end-of-buffer characters. The first causes
3144 * a transition to the end-of-buffer state. The second causes
3145 * a jam in that state.
3147 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
3148 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
3150 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
3153 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3155 if ( b
== yy_current_buffer
)
3156 yy_load_buffer_state();
3160 #ifndef YY_NO_SCAN_BUFFER
3161 #ifdef YY_USE_PROTOS
3162 YY_BUFFER_STATE
yy_scan_buffer( char *base
, yy_size_t size
)
3164 YY_BUFFER_STATE
yy_scan_buffer( base
, size
)
3172 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
3173 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
3174 /* They forgot to leave room for the EOB's. */
3177 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
3179 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3181 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
3182 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
3183 b
->yy_is_our_buffer
= 0;
3184 b
->yy_input_file
= 0;
3185 b
->yy_n_chars
= b
->yy_buf_size
;
3186 b
->yy_is_interactive
= 0;
3188 b
->yy_fill_buffer
= 0;
3189 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3191 yy_switch_to_buffer( b
);
3196 YY_BUFFER_STATE
yy_scan_buffer( char *base
, int size
)
3198 return yy_scan_buffer(base
, (yy_size_t
) size
);
3204 #ifndef YY_NO_SCAN_STRING
3205 #ifdef YY_USE_PROTOS
3206 YY_BUFFER_STATE
yy_scan_string( yyconst
char *yy_str
)
3208 YY_BUFFER_STATE
yy_scan_string( yy_str
)
3209 yyconst
char *yy_str
;
3213 for ( len
= 0; yy_str
[len
]; ++len
)
3216 return yy_scan_bytes( yy_str
, len
);
3221 #ifndef YY_NO_SCAN_BYTES
3222 #ifdef YY_USE_PROTOS
3223 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *bytes
, yy_size_t len
)
3225 YY_BUFFER_STATE
yy_scan_bytes( bytes
, len
)
3226 yyconst
char *bytes
;
3234 /* Get memory for full buffer, including space for trailing EOB's. */
3236 buf
= (char *) yy_flex_alloc( n
);
3238 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3240 for ( i
= 0; i
< len
; ++i
)
3243 buf
[len
] = buf
[len
+1] = YY_END_OF_BUFFER_CHAR
;
3245 b
= yy_scan_buffer( buf
, n
);
3247 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3249 /* It's okay to grow etc. this buffer, and we should throw it
3250 * away when we're done.
3252 b
->yy_is_our_buffer
= 1;
3257 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *base
, int size
)
3259 return yy_scan_bytes(base
, (yy_size_t
) size
);
3265 #ifndef YY_NO_PUSH_STATE
3266 #ifdef YY_USE_PROTOS
3267 static void yy_push_state( int new_state
)
3269 static void yy_push_state( new_state
)
3273 if ( yy_start_stack_ptr
>= yy_start_stack_depth
)
3277 yy_start_stack_depth
+= YY_START_STACK_INCR
;
3278 new_size
= yy_start_stack_depth
* sizeof( int );
3280 if ( ! yy_start_stack
)
3281 yy_start_stack
= (int *) yy_flex_alloc( new_size
);
3284 yy_start_stack
= (int *) yy_flex_realloc(
3285 (void *) yy_start_stack
, new_size
);
3287 if ( ! yy_start_stack
)
3289 "out of memory expanding start-condition stack" );
3292 yy_start_stack
[yy_start_stack_ptr
++] = YY_START
;
3299 #ifndef YY_NO_POP_STATE
3300 static void yy_pop_state()
3302 if ( --yy_start_stack_ptr
< 0 )
3303 YY_FATAL_ERROR( "start-condition stack underflow" );
3305 BEGIN(yy_start_stack
[yy_start_stack_ptr
]);
3310 #ifndef YY_NO_TOP_STATE
3311 static int yy_top_state()
3313 return yy_start_stack
[yy_start_stack_ptr
- 1];
3317 #ifndef YY_EXIT_FAILURE
3318 #define YY_EXIT_FAILURE 2
3321 #ifdef YY_USE_PROTOS
3322 static void yy_fatal_error( yyconst
char msg
[] )
3324 static void yy_fatal_error( msg
)
3328 (void) fprintf( stderr
, "%s\n", msg
);
3329 exit( YY_EXIT_FAILURE
);
3334 /* Redefine yyless() so it works in section 3 code. */
3340 /* Undo effects of setting up yytext. */ \
3341 yytext[yyleng] = yy_hold_char; \
3342 yy_c_buf_p = yytext + n; \
3343 yy_hold_char = *yy_c_buf_p; \
3344 *yy_c_buf_p = '\0'; \
3350 /* Internal utility routines. */
3353 #ifdef YY_USE_PROTOS
3354 static void yy_flex_strncpy( char *s1
, yyconst
char *s2
, yy_size_t n
)
3356 static void yy_flex_strncpy( s1
, s2
, n
)
3362 register yy_size_t i
;
3363 for ( i
= 0; i
< n
; ++i
)
3368 #ifdef YY_NEED_STRLEN
3369 #ifdef YY_USE_PROTOS
3370 static yy_size_t
yy_flex_strlen( yyconst
char *s
)
3372 static yy_size_t
yy_flex_strlen( s
)
3376 register yy_size_t n
;
3377 for ( n
= 0; s
[n
]; ++n
)
3385 #ifdef YY_USE_PROTOS
3386 static void *yy_flex_alloc( yy_size_t size
)
3388 static void *yy_flex_alloc( size
)
3392 return (void *) malloc( size
);
3395 #ifdef YY_USE_PROTOS
3396 static void *yy_flex_realloc( void *ptr
, yy_size_t size
)
3398 static void *yy_flex_realloc( ptr
, size
)
3403 /* The cast to (char *) in the following accommodates both
3404 * implementations that use char* generic pointers, and those
3405 * that use void* generic pointers. It works with the latter
3406 * because both ANSI C and C++ allow castless assignment from
3407 * any pointer type to void*, and deal with argument conversions
3408 * as though doing an assignment.
3410 return (void *) realloc( (char *) ptr
, size
);
3413 #ifdef YY_USE_PROTOS
3414 static void yy_flex_free( void *ptr
)
3416 static void yy_flex_free( ptr
)
3430 #line 418 "gengtype-lex.l"
3433 /* Deal with the expansion caused by the DEF_VEC_x macros. */
3435 /* Mangle a macro and argument list as done by cpp concatenation in
3436 the compiler proper. */
3438 mangle_macro_name (const char *macro
, unsigned macro_len
,
3439 const char *arg
, unsigned arg_len
)
3441 char *ptr
= (char *) xmemdup (macro
, macro_len
, macro_len
+ arg_len
+ 2);
3443 /* Now copy and concatenate each argument */
3446 ptr
[macro_len
++] = '_';
3447 for (; arg_len
&& (ISALNUM(*arg
) || *arg
== '_'); arg_len
--)
3448 ptr
[macro_len
++] = *arg
++;
3449 for (; arg_len
&& !(ISALNUM(*arg
) || *arg
== '_'); arg_len
--)
3457 typedef struct macro_def
3460 const char *expansion
;
3461 const char *additional
;
3464 typedef struct macro
3466 const macro_def_t
*def
;
3468 const char *args
[10];
3471 static const macro_def_t macro_defs
[] =
3473 #define IN_GENGTYPE 1
3478 /* Chain of macro expansions to do at end of scanning. */
3479 static macro_t
*macro_expns
;
3480 static macro_t
*macro_expns_end
;
3482 /* Push macro NAME (NAME_LEN) with argument ARG (ARG_LEN) onto the
3483 expansion queue. We ensure NAME is known at this point. */
3486 push_macro_expansion (const char *name
, unsigned name_len
,
3487 const char *arg
, unsigned arg_len
)
3491 for (ix
= 0; macro_defs
[ix
].name
; ix
++)
3492 if (strlen (macro_defs
[ix
].name
) == name_len
3493 && !memcmp (name
, macro_defs
[ix
].name
, name_len
))
3495 macro_t
*expansion
= XNEW (macro_t
);
3497 unsigned argno
, last_arg
;
3499 expansion
->def
= ¯o_defs
[ix
];
3500 expansion
->next
= NULL
;
3501 args
= (char *) xmemdup (arg
, arg_len
, arg_len
+1);
3503 for (argno
= 0; *args
;)
3505 expansion
->args
[argno
++] = args
;
3506 while (*args
&& (ISALNUM (*args
) || *args
== '_'))
3509 expansion
->args
[argno
++] = "base";
3513 while (*args
&& !(ISALNUM (*args
) || *args
== '_'))
3517 for (; argno
!= 10; argno
++)
3518 expansion
->args
[argno
] = NULL
;
3519 if (macro_expns_end
)
3520 macro_expns_end
->next
= expansion
;
3522 macro_expns
= expansion
;
3523 macro_expns_end
= expansion
;
3524 if (macro_defs
[ix
].additional
)
3526 macro_t
*expn2
= XNEW (macro_t
);
3527 memcpy (expn2
, expansion
, sizeof (*expn2
));
3529 expansion
->def
+= 1;
3530 expansion
->args
[last_arg
++] = macro_defs
[ix
].additional
;
3531 macro_expns_end
->next
= expansion
;
3532 macro_expns_end
= expansion
;
3534 if (last_arg
> 2 && strcmp (expansion
->args
[last_arg
- 1], "heap"))
3535 expansion
->args
[last_arg
++] = "GTY (())";
3536 return macro_defs
[ix
].additional
;
3538 error_at_line (&lexer_line
, "unrecognized macro `%.*s(%.*s)'",
3539 name_len
, name
, arg_len
, arg
);
3543 /* Attempt to read some input. Use fread until we're at the end of
3544 file. At end of file expand the next queued macro. We presume the
3545 buffer is large enough for the entire expansion. */
3548 macro_input (char *buffer
, unsigned size
)
3552 result
= fread (buffer
, 1, size
, yyin
);
3555 else if (ferror (yyin
))
3556 YY_FATAL_ERROR ("read of source file failed");
3557 else if (macro_expns
)
3562 for (expn
= macro_expns
->def
->expansion
; *expn
; expn
++)
3568 argno
= expn
[1] - '0';
3571 /* Remove inserted space? */
3572 if (buffer
[result
-1] == ' ' && buffer
[result
-2] == '_')
3575 /* Insert the argument value */
3576 if (macro_expns
->args
[argno
])
3578 len
= strlen (macro_expns
->args
[argno
]);
3579 memcpy (&buffer
[result
], macro_expns
->args
[argno
], len
);
3583 /* Skip next space? */
3584 if (expn
[1] == ' ' && expn
[2] == '_')
3589 buffer
[result
++] = *expn
;
3590 if (*expn
== ';' || *expn
== '{')
3591 buffer
[result
++] = '\n';
3595 YY_FATAL_ERROR ("buffer too small to expand macro");
3596 macro_expns
= macro_expns
->next
;
3598 macro_expns_end
= NULL
;
3604 yyerror (const char *s
)
3606 error_at_line (&lexer_line
, s
);
3610 parse_file (const char *fname
)
3612 yyin
= fopen (fname
, "r");
3613 lexer_line
.file
= fname
;
3614 lexer_line
.line
= 1;