2 /* A lexical scanner generated by flex */
4 /* Scanner skeleton version:
5 * $NetBSD: initscan.c,v 1.16 2003/07/14 18:11:06 itojun Exp $
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
15 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
28 /* Use prototypes in function declarations. */
31 /* The "const" storage-class-modifier is valid. */
34 #else /* ! __cplusplus */
42 #endif /* ! __cplusplus */
61 #define YY_PROTO(proto) proto
63 #define YY_PROTO(proto) ()
66 /* Returned upon end-of-file. */
69 /* Promotes a possibly negative, possibly signed char to an unsigned
70 * integer for use as an array index. If the signed char is negative,
71 * we want to instead treat it as an 8-bit unsigned char, hence the
74 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
76 /* Enter a start condition. This macro really ought to take a parameter,
77 * but we do it the disgusting crufty way forced on us by the ()-less
78 * definition of BEGIN.
80 #define BEGIN yy_start = 1 + 2 *
82 /* Translate the current start state into a value that can be later handed
83 * to BEGIN to return to the state. The YYSTATE alias is for lex
86 #define YY_START ((yy_start - 1) / 2)
87 #define YYSTATE YY_START
89 /* Action number for EOF rule of a given start state. */
90 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
92 /* Special action meaning "start processing a new file". */
93 #define YY_NEW_FILE yyrestart( yyin )
95 #define YY_END_OF_BUFFER_CHAR 0
97 /* Size of default input buffer. */
98 #define YY_BUF_SIZE 16384
100 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
103 extern FILE *yyin
, *yyout
;
105 #define EOB_ACT_CONTINUE_SCAN 0
106 #define EOB_ACT_END_OF_FILE 1
107 #define EOB_ACT_LAST_MATCH 2
109 /* The funky do-while in the following #define is used to turn the definition
110 * int a single C statement (which needs a semi-colon terminator). This
111 * avoids problems with code like:
113 * if ( condition_holds )
116 * do_something_else();
118 * Prior to using the do-while the compiler would get upset at the
119 * "else" because it interpreted the "if" statement as being all
120 * done when it reached the ';' after the yyless() call.
123 /* Return all but the first 'n' matched characters back to the input stream. */
128 /* Undo effects of setting up yytext. */ \
129 *yy_cp = yy_hold_char; \
130 YY_RESTORE_YY_MORE_OFFSET \
131 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
132 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
136 #define unput(c) yyunput( c, yytext_ptr )
138 /* The following is because we cannot portably get our hands on size_t
139 * (without autoconf's help, which isn't available because we want
140 * flex-generated scanners to compile on their own).
142 typedef unsigned int yy_size_t
;
145 struct yy_buffer_state
149 char *yy_ch_buf
; /* input buffer */
150 char *yy_buf_pos
; /* current position in input buffer */
152 /* Size of input buffer in bytes, not including room for EOB
155 yy_size_t yy_buf_size
;
157 /* Number of characters read into yy_ch_buf, not including EOB
162 /* Whether we "own" the buffer - i.e., we know we created it,
163 * and can realloc() it to grow it, and should free() it to
166 int yy_is_our_buffer
;
168 /* Whether this is an "interactive" input source; if so, and
169 * if we're using stdio for input, then we want to use getc()
170 * instead of fread(), to make sure we stop fetching input after
173 int yy_is_interactive
;
175 /* Whether we're considered to be at the beginning of a line.
176 * If so, '^' rules will be active on the next match, otherwise
181 /* Whether to try to fill the input buffer when we reach the
186 int yy_buffer_status
;
187 #define YY_BUFFER_NEW 0
188 #define YY_BUFFER_NORMAL 1
189 /* When an EOF's been seen but there's still some text to process
190 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
191 * shouldn't try reading from the input source any more. We might
192 * still have a bunch of tokens to match, though, because of
193 * possible backing-up.
195 * When we actually see the EOF, we change the status to "new"
196 * (via yyrestart()), so that the user can continue scanning by
197 * just pointing yyin at a new input file.
199 #define YY_BUFFER_EOF_PENDING 2
202 static YY_BUFFER_STATE yy_current_buffer
= 0;
204 /* We provide macros for accessing buffer states in case in the
205 * future we want to put the buffer states in a more general
208 #define YY_CURRENT_BUFFER yy_current_buffer
211 /* yy_hold_char holds the character lost when yytext is formed. */
212 static char yy_hold_char
;
214 static int yy_n_chars
; /* number of characters read into yy_ch_buf */
219 /* Points to current character in buffer. */
220 static char *yy_c_buf_p
= (char *) 0;
221 static int yy_init
= 1; /* whether we need to initialize */
222 static int yy_start
= 0; /* start state number */
224 /* Flag which is used to allow yywrap()'s to do buffer switches
225 * instead of setting up a fresh yyin. A bit of a hack ...
227 static int yy_did_buffer_switch_on_eof
;
229 void yyrestart
YY_PROTO(( FILE *input_file
));
231 void yy_switch_to_buffer
YY_PROTO(( YY_BUFFER_STATE new_buffer
));
232 void yy_load_buffer_state
YY_PROTO(( void ));
233 YY_BUFFER_STATE yy_create_buffer
YY_PROTO(( FILE *file
, int size
));
234 void yy_delete_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
235 void yy_init_buffer
YY_PROTO(( YY_BUFFER_STATE b
, FILE *file
));
236 void yy_flush_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
237 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
239 YY_BUFFER_STATE yy_scan_buffer
YY_PROTO(( char *base
, yy_size_t size
));
240 YY_BUFFER_STATE yy_scan_string
YY_PROTO(( yyconst
char *yy_str
));
241 YY_BUFFER_STATE yy_scan_bytes
YY_PROTO(( yyconst
char *bytes
, yy_size_t len
));
243 #define yy_new_buffer yy_create_buffer
245 #define yy_set_interactive(is_interactive) \
247 if ( ! yy_current_buffer ) \
248 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
249 yy_current_buffer->yy_is_interactive = is_interactive; \
252 #define yy_set_bol(at_bol) \
254 if ( ! yy_current_buffer ) \
255 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
256 yy_current_buffer->yy_at_bol = at_bol; \
259 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
261 typedef unsigned char YY_CHAR
;
262 FILE *yyin
= (FILE *) 0, *yyout
= (FILE *) 0;
263 typedef int yy_state_type
;
265 #define yytext_ptr yytext
267 static void *yy_flex_alloc
YY_PROTO(( yy_size_t
));
268 static void *yy_flex_realloc
YY_PROTO(( void *, yy_size_t
))
270 __attribute__((__unused__
))
273 static void yy_flex_free
YY_PROTO(( void * ));
275 static yy_state_type yy_get_previous_state
YY_PROTO(( void ));
276 static yy_state_type yy_try_NUL_trans
YY_PROTO(( yy_state_type current_state
));
277 static int yy_get_next_buffer
YY_PROTO(( void ));
278 static void yy_fatal_error
YY_PROTO(( yyconst
char msg
[] ));
280 /* Done after the current pattern has been matched and before the
281 * corresponding action - sets up yytext.
283 #define YY_DO_BEFORE_ACTION \
284 yytext_ptr = yy_bp; \
285 yyleng = (int) (yy_cp - yy_bp); \
286 yy_hold_char = *yy_cp; \
290 #define YY_NUM_RULES 165
291 #define YY_END_OF_BUFFER 166
292 static yyconst
short int yy_accept
[769] =
294 0, 0, 0, 0, 87, 87, 163, 163, 0, 0,
295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
297 0, 0, 0, 0, 0, 0, 0, 0, 166, 164,
298 7, 18, 164, 16, 1, 17, 164, 164, 164, 164,
299 15, 108, 100, 101, 108, 93, 108, 107, 108, 108,
300 108, 107, 99, 89, 108, 108, 91, 92, 87, 88,
301 87, 86, 85, 86, 86, 163, 163, 28, 29, 28,
302 28, 28, 28, 28, 28, 31, 30, 32, 31, 113,
303 109, 110, 112, 114, 141, 142, 141, 139, 138, 140,
305 115, 117, 115, 116, 115, 120, 120, 120, 120, 122,
306 124, 122, 122, 122, 122, 123, 151, 155, 151, 154,
307 156, 156, 152, 152, 152, 149, 150, 164, 82, 164,
308 21, 22, 21, 20, 157, 159, 157, 160, 161, 147,
309 147, 148, 147, 147, 147, 147, 147, 147, 147, 81,
310 34, 33, 81, 81, 81, 81, 35, 81, 81, 81,
311 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
312 81, 81, 81, 81, 81, 81, 26, 23, 26, 24,
313 7, 18, 0, 16, 1, 17, 0, 0, 0, 14,
314 8, 0, 0, 0, 0, 4, 5, 0, 2, 15,
316 100, 101, 0, 0, 0, 95, 0, 0, 105, 105,
317 0, 162, 162, 162, 94, 0, 99, 89, 0, 0,
318 0, 91, 92, 104, 90, 0, 87, 88, 86, 85,
319 85, 83, 84, 163, 163, 28, 29, 28, 28, 28,
320 28, 31, 30, 32, 111, 112, 142, 138, 117, 0,
321 118, 119, 124, 121, 151, 155, 0, 153, 0, 144,
322 152, 152, 152, 0, 82, 0, 21, 22, 21, 19,
323 157, 159, 158, 147, 147, 147, 148, 143, 147, 147,
324 147, 34, 33, 0, 80, 0, 0, 81, 81, 81,
325 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
327 81, 81, 81, 36, 81, 81, 81, 81, 81, 81,
328 81, 81, 81, 81, 0, 25, 24, 0, 14, 8,
329 0, 12, 0, 0, 0, 0, 0, 4, 5, 0,
330 6, 0, 96, 0, 97, 0, 0, 105, 105, 0,
331 105, 105, 105, 162, 162, 0, 106, 90, 98, 0,
332 104, 0, 83, 84, 28, 28, 28, 27, 28, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 0, 152, 152, 143, 143, 147, 147, 0, 0, 81,
335 81, 81, 81, 81, 44, 81, 81, 81, 49, 81,
336 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
338 81, 81, 81, 81, 81, 81, 81, 81, 0, 81,
339 81, 81, 81, 0, 0, 0, 12, 0, 0, 0,
340 0, 0, 0, 4, 5, 0, 105, 105, 105, 105,
341 105, 105, 162, 0, 0, 28, 28, 0, 0, 0,
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
343 152, 152, 147, 147, 37, 38, 81, 81, 81, 81,
344 81, 81, 81, 81, 50, 51, 81, 81, 81, 55,
345 81, 81, 81, 81, 81, 81, 60, 81, 81, 81,
346 81, 81, 81, 67, 0, 0, 0, 81, 81, 81,
347 81, 0, 13, 0, 0, 0, 0, 0, 0, 105,
349 105, 105, 105, 105, 105, 0, 0, 28, 28, 137,
350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
351 0, 0, 152, 152, 147, 147, 39, 81, 41, 81,
352 43, 81, 81, 81, 47, 81, 52, 81, 81, 81,
353 81, 81, 81, 81, 81, 81, 62, 81, 81, 65,
354 81, 0, 0, 0, 0, 81, 81, 81, 81, 3,
355 0, 0, 0, 0, 105, 105, 105, 0, 0, 28,
356 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
357 0, 0, 0, 145, 146, 145, 146, 81, 42, 81,
358 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
360 81, 78, 61, 81, 64, 81, 0, 0, 0, 0,
361 81, 81, 69, 70, 0, 10, 0, 11, 0, 103,
362 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
363 0, 0, 0, 0, 81, 81, 81, 45, 81, 48,
364 81, 81, 81, 81, 77, 81, 59, 63, 66, 0,
365 0, 0, 0, 79, 81, 0, 102, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
367 81, 81, 46, 81, 81, 56, 81, 81, 0, 0,
368 0, 0, 68, 0, 9, 0, 125, 126, 127, 128,
369 129, 130, 131, 132, 133, 134, 135, 0, 81, 81,
371 81, 81, 81, 81, 81, 0, 0, 0, 0, 0,
372 136, 81, 81, 81, 81, 54, 81, 81, 0, 0,
373 0, 0, 0, 0, 81, 81, 81, 53, 81, 58,
374 0, 0, 0, 0, 0, 0, 81, 81, 81, 81,
375 72, 0, 0, 0, 0, 73, 81, 81, 81, 81,
376 71, 0, 75, 0, 81, 81, 81, 74, 76, 81,
377 81, 81, 81, 81, 81, 57, 40, 0
380 static yyconst
int yy_ec
[256] =
382 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
383 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
384 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
385 1, 2, 1, 5, 6, 7, 8, 1, 9, 10,
386 10, 11, 12, 13, 14, 10, 15, 16, 16, 16,
387 16, 16, 16, 16, 17, 18, 19, 20, 1, 21,
388 22, 23, 10, 1, 31, 32, 33, 34, 35, 36,
389 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
390 47, 48, 49, 50, 51, 52, 53, 54, 55, 47,
391 26, 27, 28, 29, 30, 1, 31, 32, 33, 34,
393 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
394 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
395 55, 47, 56, 57, 58, 1, 1, 1, 1, 1,
396 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
397 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
398 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
399 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
400 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
401 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
402 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
406 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
407 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
408 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
412 static yyconst
int yy_meta
[59] =
414 1, 1, 2, 1, 3, 1, 1, 1, 4, 1,
415 5, 6, 1, 7, 4, 8, 8, 8, 8, 1,
416 1, 1, 1, 9, 10, 1, 11, 12, 1, 13,
417 14, 14, 14, 14, 14, 14, 15, 15, 15, 15,
418 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
419 15, 15, 15, 15, 15, 4, 1, 16
422 static yyconst
short int yy_base
[858] =
424 0, 58, 115, 172, 120, 129, 2712, 2711, 230, 2705,
425 136, 141, 288, 0, 2683, 2682, 144, 151, 185, 191,
426 178, 188, 344, 347, 375, 0, 125, 131, 147, 216,
427 431, 434, 461, 0, 519, 0, 205, 349, 2710, 2716,
428 353, 2716, 2706, 0, 360, 2716, 2705, 144, 570, 2696,
429 0, 2716, 577, 2716, 2703, 2716, 438, 2716, 2684, 126,
430 149, 427, 591, 2716, 2701, 141, 2682, 2716, 0, 2716,
431 2699, 0, 2699, 2697, 155, 2696, 2716, 0, 2716, 2695,
432 2716, 0, 2662, 2641, 2637, 0, 2692, 2716, 2690, 2716,
433 2716, 2663, 0, 2716, 2716, 2716, 2688, 2716, 431, 2716,
435 2716, 2716, 2687, 2716, 567, 2716, 2669, 571, 164, 2716,
436 2716, 2685, 0, 2667, 573, 2716, 0, 2716, 2683, 2716,
437 573, 2674, 0, 2649, 2628, 2716, 2716, 222, 2716, 356,
438 448, 2716, 450, 2667, 0, 2716, 2678, 2716, 0, 0,
439 198, 2716, 2677, 2621, 2716, 2667, 0, 2642, 2621, 2716,
440 2673, 2716, 2671, 2668, 2640, 2639, 2716, 544, 2639, 579,
441 2634, 2635, 318, 0, 2623, 2631, 424, 562, 2614, 587,
442 2629, 2613, 2618, 2626, 2629, 2604, 2716, 2716, 2653, 612,
443 634, 2716, 2654, 0, 637, 2716, 2653, 600, 2616, 0,
444 0, 641, 647, 651, 669, 0, 0, 453, 2716, 0,
446 672, 2716, 2651, 2597, 605, 2716, 2649, 2616, 620, 657,
447 645, 2716, 662, 0, 2716, 2592, 688, 2716, 2646, 2592,
448 2636, 2625, 2716, 0, 2716, 2610, 0, 2716, 0, 0,
449 2642, 0, 0, 2640, 2716, 0, 2716, 0, 2602, 2598,
450 745, 0, 2638, 2716, 2716, 0, 2716, 688, 2716, 773,
451 2716, 2716, 2716, 2716, 0, 2716, 673, 2716, 0, 2716,
452 0, 2599, 2595, 690, 2716, 698, 707, 2716, 709, 2716,
453 0, 2716, 2716, 0, 596, 2579, 2716, 827, 0, 2596,
454 2592, 2632, 2716, 2628, 2716, 2593, 2592, 0, 642, 2582,
455 563, 2617, 2579, 620, 2578, 2577, 2583, 669, 2570, 2584,
457 2572, 0, 2569, 2716, 2570, 2571, 2579, 2582, 685, 125,
458 2570, 2567, 2566, 688, 2608, 2716, 716, 2568, 0, 0,
459 720, 2716, 2608, 884, 2562, 2559, 2569, 0, 0, 723,
460 2716, 739, 2716, 805, 2716, 808, 2562, 787, 869, 876,
461 930, 881, 973, 800, 0, 2548, 2716, 2716, 2716, 2570,
462 0, 2559, 0, 0, 2568, 2557, 0, 2716, 0, 1009,
463 2581, 678, 870, 871, 874, 879, 913, 992, 974, 1013,
464 885, 2565, 2554, 0, 1067, 2563, 2552, 2546, 2545, 2557,
465 2562, 2561, 2550, 2557, 0, 2554, 2537, 2556, 0, 2536,
466 2543, 2533, 2548, 2568, 2537, 2549, 2544, 2542, 2541, 2532,
468 2539, 2540, 2538, 2539, 578, 2520, 2538, 2525, 860, 2526,
469 2528, 2521, 2517, 2529, 817, 1044, 2716, 822, 1095, 914,
470 2532, 2523, 2517, 0, 0, 2524, 1102, 1025, 1142, 2539,
471 1028, 1163, 2716, 2513, 2521, 2523, 2507, 0, 2526, 1058,
472 891, 1014, 1019, 894, 1038, 1080, 1072, 1086, 1083, 1081,
473 2520, 2504, 2518, 2502, 2716, 2716, 2505, 2493, 2492, 2495,
474 2507, 1148, 2507, 2492, 0, 0, 2492, 2493, 2507, 0,
475 2525, 2490, 2498, 2522, 2485, 2495, 0, 2500, 2491, 2487,
476 2479, 2479, 2483, 0, 875, 2494, 2481, 2494, 2480, 2475,
477 2491, 2519, 2716, 920, 999, 2465, 2474, 2468, 2494, 2496,
479 1105, 1184, 1081, 902, 969, 2479, 2491, 2463, 2477, 2716,
480 165, 1090, 1144, 1143, 1147, 1163, 1095, 1145, 1037, 1085,
481 1150, 1173, 2461, 2475, 2459, 2473, 0, 2458, 0, 2460,
482 0, 1165, 2454, 2469, 0, 2461, 0, 2471, 2410, 2414,
483 2434, 2400, 2393, 2405, 2385, 2382, 0, 2383, 2335, 0,
484 2335, 2330, 2326, 2309, 2278, 2259, 2269, 2268, 2256, 2297,
485 1046, 2238, 2242, 2253, 1179, 1142, 1145, 2247, 2246, 0,
486 0, 1191, 1192, 1172, 1201, 1202, 1204, 1205, 1206, 1207,
487 1209, 1210, 1208, 0, 0, 0, 0, 2254, 0, 2221,
488 2229, 2218, 2208, 2200, 2209, 2198, 2195, 2165, 2168, 2149,
490 2132, 0, 0, 2129, 0, 2139, 2143, 2134, 2124, 2137,
491 2117, 2116, 0, 0, 1228, 2716, 1232, 2716, 2111, 2716,
492 2117, 2716, 2115, 2114, 2108, 2107, 2106, 2103, 2102, 2098,
493 2095, 2063, 2047, 1213, 2012, 1986, 1975, 0, 1954, 0,
494 1947, 1950, 1941, 1945, 0, 1942, 0, 0, 0, 1938,
495 1940, 1934, 1905, 0, 1872, 1234, 2716, 1888, 1882, 1881,
496 1864, 1848, 1832, 1828, 1827, 1826, 1823, 1806, 1809, 1784,
497 1787, 1772, 0, 1781, 1786, 0, 1766, 1767, 1759, 1744,
498 1213, 1736, 0, 1236, 2716, 1245, 2716, 2716, 2716, 2716,
499 2716, 2716, 2716, 2716, 2716, 2716, 2716, 1750, 1727, 1720,
501 1701, 1687, 1670, 1681, 1667, 1679, 1659, 689, 1658, 1671,
502 2716, 1657, 1627, 1621, 1635, 0, 1603, 1596, 1595, 1608,
503 1602, 1587, 1586, 1583, 1581, 1587, 1555, 0, 1547, 0,
504 1527, 1507, 1520, 1503, 1483, 1482, 1485, 1443, 1440, 1228,
505 2716, 1225, 1224, 1206, 1210, 2716, 1213, 1202, 1018, 948,
506 2716, 945, 2716, 884, 780, 771, 779, 2716, 2716, 689,
507 673, 581, 408, 318, 86, 0, 0, 2716, 1263, 1279,
508 1295, 1311, 1327, 1343, 1359, 1375, 1391, 1407, 1423, 1439,
509 1455, 1471, 1481, 1496, 1505, 1520, 1536, 1545, 1560, 1576,
510 1592, 1608, 1624, 1634, 1649, 1659, 1674, 1690, 1706, 1718,
512 1728, 1743, 1759, 1775, 1791, 1807, 1817, 1832, 1843, 1236,
513 1858, 1874, 1890, 1898, 1905, 1920, 1936, 1952, 1968, 1977,
514 1985, 2001, 2017, 2033, 2049, 2065, 2081, 2097, 2113, 2123,
515 2138, 2148, 2155, 2170, 2182, 2192, 2207, 2223, 2239, 2255,
516 2265, 2280, 2291, 2306, 2322, 2338, 2354, 2364, 2373, 2388,
517 2404, 2420, 2429, 2437, 2453, 2469, 2485
520 static yyconst
short int yy_def
[858] =
522 768, 768, 769, 769, 770, 771, 772, 772, 768, 9,
523 773, 773, 768, 13, 774, 774, 775, 775, 776, 776,
524 777, 777, 778, 778, 768, 25, 779, 779, 780, 780,
525 781, 781, 768, 33, 768, 35, 782, 782, 768, 768,
526 768, 768, 768, 783, 768, 768, 768, 768, 784, 768,
527 785, 768, 768, 768, 768, 768, 768, 768, 768, 786,
528 787, 788, 768, 768, 768, 768, 768, 768, 789, 768,
529 789, 790, 791, 790, 790, 792, 768, 793, 768, 793,
530 768, 794, 794, 794, 793, 795, 768, 768, 795, 768,
531 768, 768, 796, 768, 768, 768, 768, 768, 768, 768,
533 768, 768, 768, 768, 787, 768, 768, 787, 797, 768,
534 768, 768, 798, 768, 787, 768, 799, 768, 799, 768,
535 800, 768, 801, 801, 801, 768, 768, 802, 768, 802,
536 803, 768, 803, 768, 804, 768, 804, 768, 805, 806,
537 806, 768, 806, 806, 768, 806, 807, 807, 807, 768,
538 768, 768, 768, 808, 768, 768, 768, 809, 809, 809,
539 809, 809, 809, 809, 809, 809, 809, 810, 809, 809,
540 809, 809, 809, 809, 809, 809, 768, 768, 811, 768,
541 768, 768, 768, 783, 768, 768, 768, 768, 768, 812,
542 813, 768, 768, 768, 768, 814, 815, 816, 768, 785,
544 768, 768, 768, 768, 817, 768, 768, 768, 818, 818,
545 819, 768, 768, 820, 768, 821, 768, 768, 768, 768,
546 768, 768, 768, 822, 768, 768, 823, 768, 824, 825,
547 825, 826, 827, 828, 768, 829, 768, 830, 830, 830,
548 768, 831, 768, 768, 768, 832, 768, 768, 768, 833,
549 768, 768, 768, 768, 834, 768, 835, 768, 835, 768,
550 836, 836, 836, 837, 768, 837, 838, 768, 838, 768,
551 839, 768, 768, 840, 840, 840, 768, 768, 841, 841,
552 841, 768, 768, 842, 768, 768, 768, 843, 843, 843,
553 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
555 843, 843, 843, 768, 843, 843, 843, 843, 843, 843,
556 843, 843, 843, 843, 844, 768, 768, 768, 845, 846,
557 847, 768, 768, 768, 768, 768, 768, 848, 849, 850,
558 768, 850, 768, 851, 768, 851, 768, 852, 852, 852,
559 768, 852, 852, 768, 853, 854, 768, 768, 768, 768,
560 855, 768, 826, 827, 830, 830, 241, 768, 241, 241,
561 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
562 833, 836, 836, 278, 278, 841, 841, 768, 768, 843,
563 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
564 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
566 843, 843, 843, 843, 843, 843, 843, 843, 768, 843,
567 843, 843, 843, 768, 847, 847, 768, 847, 847, 768,
568 768, 768, 768, 848, 849, 768, 341, 852, 343, 341,
569 852, 343, 768, 768, 768, 830, 830, 360, 768, 833,
570 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
571 836, 836, 841, 841, 768, 768, 843, 843, 843, 843,
572 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
573 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
574 843, 843, 843, 843, 768, 768, 768, 843, 843, 843,
575 843, 768, 768, 847, 847, 768, 768, 768, 768, 427,
577 852, 343, 852, 852, 852, 768, 768, 830, 830, 768,
578 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
579 833, 833, 836, 836, 841, 841, 843, 843, 843, 843,
580 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
581 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
582 843, 768, 768, 768, 768, 843, 843, 843, 843, 768,
583 856, 768, 768, 768, 852, 852, 852, 768, 768, 830,
584 830, 833, 833, 833, 833, 833, 833, 833, 833, 833,
585 833, 833, 833, 836, 836, 841, 841, 843, 843, 843,
586 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
588 843, 843, 843, 843, 843, 843, 768, 768, 768, 768,
589 843, 843, 843, 843, 856, 768, 856, 768, 768, 768,
590 768, 768, 833, 833, 833, 833, 833, 833, 833, 833,
591 833, 833, 833, 833, 843, 843, 843, 843, 843, 843,
592 843, 843, 843, 843, 843, 843, 843, 843, 843, 768,
593 768, 768, 768, 843, 843, 857, 768, 768, 768, 768,
594 768, 768, 768, 768, 768, 768, 768, 768, 833, 843,
595 843, 843, 843, 843, 843, 843, 843, 843, 768, 768,
596 768, 768, 843, 857, 768, 857, 768, 768, 768, 768,
597 768, 768, 768, 768, 768, 768, 768, 768, 843, 843,
599 843, 843, 843, 843, 843, 768, 768, 768, 768, 768,
600 768, 843, 843, 843, 843, 843, 843, 843, 768, 768,
601 768, 768, 768, 768, 843, 843, 843, 843, 843, 843,
602 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
603 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
604 768, 768, 768, 768, 843, 843, 843, 768, 768, 843,
605 843, 843, 843, 843, 843, 843, 843, 0, 768, 768,
606 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
607 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
608 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
610 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
611 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
612 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
613 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
614 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
615 768, 768, 768, 768, 768, 768, 768
618 static yyconst
short int yy_nxt
[2775] =
620 40, 41, 42, 43, 40, 40, 40, 40, 40, 40,
621 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
622 40, 40, 40, 44, 44, 40, 40, 40, 40, 44,
623 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
624 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
625 44, 44, 44, 44, 44, 40, 40, 40, 40, 45,
626 46, 47, 40, 48, 40, 49, 40, 40, 40, 40,
627 40, 40, 50, 40, 40, 40, 40, 40, 40, 40,
628 40, 51, 51, 40, 40, 40, 40, 51, 51, 51,
629 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
631 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
632 51, 51, 51, 40, 40, 40, 53, 54, 55, 56,
633 767, 57, 70, 71, 58, 58, 58, 129, 130, 58,
634 73, 70, 74, 129, 130, 59, 75, 87, 88, 89,
635 60, 61, 87, 88, 89, 188, 96, 97, 224, 132,
636 133, 210, 211, 96, 97, 404, 98, 134, 405, 99,
637 99, 99, 99, 98, 213, 213, 99, 99, 99, 99,
638 62, 58, 58, 63, 64, 65, 56, 252, 57, 66,
639 40, 58, 58, 58, 439, 189, 58, 102, 103, 104,
640 40, 252, 67, 102, 103, 104, 225, 60, 61, 275,
642 68, 100, 214, 107, 108, 276, 109, 178, 100, 179,
643 232, 105, 233, 107, 108, 572, 109, 105, 132, 133,
644 180, 180, 180, 180, 265, 266, 134, 62, 58, 58,
645 78, 78, 79, 80, 78, 78, 78, 78, 78, 78,
646 81, 78, 78, 78, 78, 78, 78, 78, 78, 78,
647 78, 78, 78, 82, 82, 78, 78, 78, 78, 82,
648 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
649 82, 82, 82, 82, 82, 82, 82, 83, 82, 82,
650 82, 82, 82, 82, 84, 78, 78, 78, 90, 90,
651 40, 90, 90, 90, 90, 90, 90, 90, 91, 90,
653 91, 90, 90, 90, 90, 90, 90, 90, 90, 90,
654 92, 93, 93, 90, 90, 90, 90, 93, 93, 93,
655 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
656 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
657 93, 93, 93, 90, 90, 90, 111, 112, 296, 111,
658 112, 178, 766, 179, 181, 182, 183, 113, 265, 266,
659 113, 185, 186, 187, 180, 180, 180, 180, 297, 114,
660 115, 116, 114, 115, 116, 117, 117, 118, 119, 120,
661 117, 117, 117, 121, 117, 117, 117, 117, 117, 122,
662 117, 117, 117, 117, 117, 117, 117, 117, 123, 123,
664 117, 117, 117, 117, 123, 123, 123, 123, 123, 123,
665 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
666 123, 123, 124, 123, 123, 123, 123, 123, 123, 125,
667 126, 117, 127, 136, 137, 138, 136, 137, 138, 206,
668 206, 207, 215, 215, 215, 215, 248, 248, 248, 248,
669 268, 269, 268, 269, 300, 331, 332, 139, 301, 765,
670 139, 140, 141, 142, 143, 140, 140, 140, 144, 140,
671 140, 145, 140, 140, 140, 146, 140, 140, 140, 140,
672 140, 140, 140, 140, 147, 147, 140, 140, 140, 140,
673 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
675 147, 147, 147, 147, 147, 147, 147, 147, 148, 147,
676 147, 147, 147, 147, 147, 149, 140, 140, 140, 150,
677 151, 152, 153, 154, 150, 150, 150, 150, 150, 150,
678 150, 150, 150, 150, 150, 155, 156, 150, 150, 150,
679 157, 150, 150, 150, 150, 150, 150, 150, 150, 158,
680 159, 160, 161, 162, 163, 164, 164, 165, 164, 164,
681 166, 167, 168, 169, 170, 164, 171, 172, 164, 173,
682 174, 175, 164, 176, 150, 150, 150, 191, 201, 202,
683 203, 258, 213, 213, 204, 289, 213, 213, 213, 213,
684 292, 290, 217, 218, 219, 383, 303, 275, 220, 259,
686 192, 188, 193, 276, 193, 221, 304, 335, 336, 293,
687 193, 222, 384, 193, 194, 195, 480, 193, 196, 223,
688 214, 306, 481, 197, 214, 198, 214, 317, 317, 317,
689 317, 307, 764, 205, 308, 181, 182, 183, 185, 186,
690 187, 189, 321, 322, 323, 339, 340, 205, 321, 322,
691 323, 387, 321, 322, 323, 388, 324, 324, 324, 324,
692 342, 342, 324, 324, 324, 324, 324, 324, 324, 324,
693 321, 322, 323, 201, 202, 203, 341, 344, 344, 204,
694 380, 258, 339, 340, 324, 324, 324, 324, 325, 217,
695 218, 219, 265, 266, 381, 220, 326, 439, 343, 259,
697 265, 266, 221, 248, 248, 248, 248, 673, 222, 268,
698 269, 268, 269, 327, 392, 402, 223, 409, 393, 440,
699 410, 416, 417, 418, 403, 331, 332, 763, 205, 411,
700 412, 317, 317, 317, 317, 419, 419, 419, 419, 721,
701 413, 331, 332, 722, 205, 357, 357, 358, 359, 357,
702 357, 357, 357, 357, 357, 360, 357, 357, 357, 357,
703 357, 357, 357, 357, 357, 357, 357, 357, 360, 360,
704 357, 357, 357, 357, 360, 360, 360, 360, 360, 360,
705 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
706 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
708 357, 357, 357, 362, 363, 364, 365, 335, 336, 366,
709 335, 336, 339, 340, 367, 212, 212, 762, 368, 493,
710 494, 369, 761, 370, 417, 494, 371, 374, 374, 760,
711 374, 374, 374, 374, 374, 374, 374, 375, 374, 374,
712 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
713 375, 375, 374, 374, 374, 374, 375, 375, 375, 375,
714 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
715 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
716 375, 375, 374, 374, 374, 420, 322, 323, 427, 439,
717 439, 428, 428, 439, 339, 340, 431, 431, 439, 324,
719 324, 324, 324, 338, 439, 485, 339, 340, 486, 487,
720 439, 441, 443, 439, 442, 420, 322, 323, 450, 552,
721 759, 513, 493, 494, 516, 553, 444, 339, 340, 429,
722 338, 338, 439, 338, 338, 338, 338, 338, 338, 338,
723 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
724 338, 338, 338, 430, 430, 339, 340, 445, 338, 338,
725 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
726 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
727 430, 430, 430, 430, 430, 338, 338, 338, 432, 432,
728 432, 432, 758, 439, 339, 340, 432, 757, 339, 340,
730 495, 417, 418, 432, 432, 432, 432, 432, 432, 360,
731 360, 439, 438, 360, 360, 360, 360, 360, 360, 448,
732 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
733 360, 360, 439, 439, 360, 360, 360, 360, 439, 446,
734 501, 501, 447, 504, 504, 416, 417, 418, 616, 617,
735 339, 340, 638, 339, 340, 515, 439, 439, 449, 419,
736 419, 419, 419, 514, 360, 360, 360, 375, 375, 580,
737 375, 375, 375, 375, 375, 375, 375, 439, 375, 375,
738 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
739 517, 439, 375, 375, 375, 375, 495, 417, 418, 439,
741 439, 511, 439, 512, 439, 439, 339, 340, 209, 439,
742 419, 419, 419, 419, 439, 519, 520, 581, 518, 522,
743 566, 566, 375, 375, 375, 500, 500, 573, 521, 578,
744 339, 340, 500, 500, 500, 500, 500, 500, 500, 500,
745 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
746 500, 500, 500, 500, 500, 500, 500, 502, 502, 502,
747 502, 532, 439, 439, 439, 502, 439, 339, 340, 439,
748 339, 340, 502, 502, 502, 502, 502, 502, 505, 505,
749 505, 505, 439, 533, 582, 576, 505, 574, 579, 534,
750 575, 439, 439, 505, 505, 505, 505, 505, 505, 567,
752 567, 567, 567, 590, 339, 340, 338, 567, 577, 583,
753 439, 439, 625, 591, 567, 567, 567, 567, 567, 567,
754 439, 439, 624, 439, 439, 439, 439, 439, 439, 439,
755 616, 617, 439, 623, 616, 617, 685, 686, 685, 686,
756 756, 628, 626, 632, 708, 755, 634, 685, 686, 302,
757 302, 627, 629, 754, 753, 630, 631, 633, 752, 751,
758 750, 709, 669, 52, 52, 52, 52, 52, 52, 52,
759 52, 52, 52, 52, 52, 52, 52, 52, 52, 69,
760 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
761 69, 69, 69, 69, 69, 72, 72, 72, 72, 72,
763 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
764 72, 76, 76, 76, 76, 76, 76, 76, 76, 76,
765 76, 76, 76, 76, 76, 76, 76, 86, 86, 86,
766 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
767 86, 86, 86, 40, 40, 40, 40, 40, 40, 40,
768 40, 40, 40, 40, 40, 40, 40, 40, 40, 95,
769 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
770 95, 95, 95, 95, 95, 101, 101, 101, 101, 101,
771 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
772 101, 106, 106, 106, 106, 106, 106, 106, 106, 106,
774 106, 106, 106, 106, 106, 106, 106, 110, 110, 110,
775 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
776 110, 110, 110, 128, 128, 128, 128, 128, 128, 128,
777 128, 128, 128, 128, 128, 128, 128, 128, 128, 131,
778 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
779 131, 131, 131, 131, 131, 135, 135, 135, 135, 135,
780 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
781 135, 177, 177, 177, 177, 177, 177, 177, 177, 177,
782 177, 177, 177, 177, 177, 177, 177, 184, 184, 184,
783 184, 749, 748, 184, 184, 184, 190, 190, 190, 190,
785 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
786 190, 200, 200, 200, 200, 747, 746, 200, 200, 200,
787 209, 745, 209, 209, 209, 209, 209, 209, 209, 209,
788 209, 209, 209, 209, 209, 209, 212, 744, 212, 212,
789 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
790 212, 212, 216, 216, 216, 743, 742, 216, 216, 216,
791 227, 741, 227, 227, 227, 227, 227, 227, 227, 227,
792 227, 227, 227, 227, 227, 227, 229, 740, 229, 229,
793 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
794 229, 229, 230, 739, 230, 230, 230, 230, 230, 230,
796 230, 230, 230, 230, 230, 230, 230, 230, 234, 234,
797 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
798 234, 234, 234, 234, 236, 738, 236, 236, 737, 236,
799 236, 236, 736, 735, 236, 236, 734, 733, 732, 236,
800 238, 238, 238, 238, 731, 730, 238, 238, 238, 242,
801 729, 242, 242, 242, 242, 242, 242, 242, 242, 242,
802 242, 242, 242, 242, 242, 246, 246, 246, 246, 728,
803 727, 246, 246, 246, 251, 726, 251, 251, 251, 251,
804 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
805 254, 725, 254, 254, 254, 254, 254, 254, 254, 254,
807 254, 724, 254, 254, 254, 254, 255, 723, 720, 719,
808 255, 255, 255, 255, 718, 717, 255, 255, 257, 716,
809 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
810 257, 257, 257, 257, 261, 261, 261, 261, 715, 714,
811 261, 261, 261, 264, 264, 264, 264, 264, 264, 264,
812 264, 264, 264, 264, 264, 264, 264, 264, 264, 267,
813 267, 267, 267, 713, 267, 267, 267, 267, 267, 267,
814 267, 267, 267, 267, 267, 271, 712, 711, 271, 271,
815 271, 271, 271, 271, 271, 710, 271, 271, 271, 271,
816 271, 273, 707, 273, 273, 273, 273, 273, 273, 273,
818 273, 273, 273, 273, 273, 273, 273, 274, 706, 274,
819 274, 705, 274, 274, 274, 704, 703, 274, 274, 702,
820 701, 700, 274, 279, 279, 279, 279, 699, 698, 279,
821 279, 279, 284, 697, 284, 284, 284, 284, 284, 284,
822 284, 284, 284, 284, 284, 284, 284, 284, 288, 288,
823 696, 288, 288, 695, 694, 693, 288, 288, 315, 692,
824 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
825 315, 315, 315, 315, 319, 691, 319, 319, 319, 319,
826 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
827 320, 690, 320, 320, 320, 320, 320, 320, 320, 320,
829 320, 320, 320, 320, 320, 320, 328, 328, 689, 688,
830 328, 328, 328, 329, 329, 687, 683, 329, 329, 329,
831 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
832 330, 330, 330, 330, 330, 330, 334, 334, 334, 334,
833 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
834 334, 334, 338, 682, 338, 338, 338, 338, 338, 338,
835 338, 338, 338, 681, 338, 338, 338, 338, 209, 680,
836 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
837 209, 209, 209, 209, 345, 345, 679, 678, 677, 676,
838 345, 346, 346, 346, 346, 675, 674, 346, 346, 346,
840 346, 351, 673, 351, 351, 351, 351, 351, 351, 351,
841 351, 351, 351, 351, 351, 351, 351, 227, 672, 227,
842 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
843 227, 227, 227, 229, 671, 229, 229, 229, 229, 229,
844 229, 229, 229, 229, 229, 229, 229, 229, 229, 230,
845 670, 230, 230, 230, 230, 230, 230, 230, 230, 230,
846 230, 230, 230, 230, 230, 353, 668, 353, 353, 353,
847 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
848 353, 354, 667, 354, 354, 354, 354, 354, 354, 354,
849 354, 354, 354, 354, 354, 354, 354, 234, 234, 234,
851 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
852 234, 234, 234, 236, 666, 236, 236, 665, 236, 236,
853 236, 664, 663, 236, 236, 662, 661, 660, 236, 238,
854 238, 238, 238, 659, 658, 238, 238, 238, 242, 657,
855 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
856 242, 242, 242, 242, 246, 246, 246, 246, 656, 655,
857 246, 246, 246, 361, 361, 654, 653, 652, 361, 361,
858 255, 651, 650, 649, 255, 255, 255, 255, 648, 647,
859 255, 255, 257, 646, 257, 257, 257, 257, 257, 257,
860 257, 257, 257, 257, 257, 257, 257, 257, 261, 261,
862 261, 261, 645, 644, 261, 261, 261, 264, 264, 264,
863 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
864 264, 264, 264, 267, 267, 267, 267, 643, 267, 267,
865 267, 267, 267, 267, 267, 267, 267, 267, 267, 271,
866 642, 641, 271, 271, 271, 271, 271, 271, 271, 640,
867 271, 271, 271, 271, 271, 274, 639, 274, 274, 638,
868 274, 274, 274, 637, 636, 274, 274, 635, 622, 621,
869 274, 279, 279, 279, 279, 620, 619, 279, 279, 279,
870 284, 618, 284, 284, 284, 284, 284, 284, 284, 284,
871 284, 284, 284, 284, 284, 284, 288, 288, 560, 288,
873 288, 614, 613, 612, 288, 288, 315, 611, 315, 315,
874 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
875 315, 315, 319, 610, 319, 319, 319, 319, 319, 319,
876 319, 319, 319, 319, 319, 319, 319, 319, 320, 609,
877 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
878 320, 320, 320, 320, 415, 415, 415, 415, 415, 415,
879 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
880 424, 424, 424, 424, 608, 607, 424, 424, 424, 425,
881 425, 425, 425, 606, 605, 425, 425, 425, 330, 330,
882 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
884 330, 330, 330, 330, 334, 334, 334, 334, 334, 334,
885 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
886 338, 604, 338, 338, 338, 338, 338, 338, 338, 338,
887 338, 603, 338, 338, 338, 338, 433, 433, 602, 601,
888 600, 599, 433, 346, 346, 346, 346, 598, 597, 346,
889 346, 346, 346, 351, 596, 351, 351, 351, 351, 351,
890 351, 351, 351, 351, 351, 351, 351, 351, 351, 615,
891 615, 615, 615, 615, 615, 615, 615, 615, 615, 615,
892 615, 615, 615, 615, 615, 684, 684, 684, 684, 684,
893 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
895 684, 595, 594, 593, 592, 589, 588, 587, 586, 585,
896 584, 571, 570, 569, 568, 565, 564, 563, 562, 561,
897 560, 559, 558, 557, 556, 555, 554, 551, 550, 549,
898 548, 547, 546, 545, 544, 543, 542, 541, 540, 539,
899 538, 537, 536, 535, 531, 530, 529, 528, 527, 526,
900 525, 524, 523, 510, 509, 508, 507, 506, 503, 499,
901 498, 497, 496, 492, 491, 490, 489, 488, 484, 483,
902 482, 479, 478, 477, 476, 475, 474, 473, 472, 471,
903 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
904 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
906 439, 437, 436, 435, 434, 347, 426, 423, 422, 421,
907 322, 414, 316, 408, 407, 406, 401, 400, 399, 398,
908 397, 396, 395, 394, 391, 390, 389, 386, 385, 382,
909 379, 378, 285, 282, 377, 376, 278, 373, 372, 243,
910 356, 355, 235, 231, 352, 350, 349, 348, 218, 347,
911 337, 206, 333, 202, 318, 186, 182, 316, 314, 313,
912 312, 311, 310, 309, 305, 299, 298, 295, 294, 291,
913 287, 286, 285, 283, 282, 281, 280, 260, 278, 277,
914 272, 270, 263, 262, 260, 256, 250, 253, 250, 249,
915 247, 245, 244, 243, 241, 240, 239, 237, 235, 228,
917 231, 228, 226, 218, 208, 202, 199, 186, 182, 768,
918 94, 94, 85, 77, 77, 39, 768, 768, 768, 768,
919 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
920 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
921 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
922 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
923 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
927 static yyconst
short int yy_chk
[2775] =
929 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
930 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
931 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
933 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
934 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
935 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
936 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
937 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
938 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
940 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
941 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
942 765, 3, 5, 5, 3, 3, 3, 27, 27, 3,
943 6, 6, 6, 28, 28, 3, 6, 11, 11, 11,
944 3, 3, 12, 12, 12, 48, 17, 17, 66, 29,
945 29, 60, 60, 18, 18, 310, 17, 29, 310, 17,
946 17, 17, 17, 18, 61, 61, 18, 18, 18, 18,
947 3, 3, 3, 4, 4, 4, 4, 109, 4, 4,
948 21, 4, 4, 4, 511, 48, 4, 19, 19, 19,
949 22, 109, 4, 20, 20, 20, 66, 4, 4, 141,
951 4, 17, 61, 21, 21, 141, 21, 37, 18, 37,
952 75, 19, 75, 22, 22, 511, 22, 20, 30, 30,
953 37, 37, 37, 37, 128, 128, 30, 4, 4, 4,
954 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
955 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
956 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
957 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
958 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
959 9, 9, 9, 9, 9, 9, 9, 9, 13, 13,
960 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
962 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
963 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
964 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
965 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
966 13, 13, 13, 13, 13, 13, 23, 23, 163, 24,
967 24, 38, 764, 38, 41, 41, 41, 23, 130, 130,
968 24, 45, 45, 45, 38, 38, 38, 38, 163, 23,
969 23, 23, 24, 24, 24, 25, 25, 25, 25, 25,
970 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
971 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
973 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
974 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
975 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
976 25, 25, 25, 31, 31, 31, 32, 32, 32, 57,
977 57, 57, 62, 62, 62, 62, 99, 99, 99, 99,
978 131, 131, 133, 133, 167, 198, 198, 31, 167, 763,
979 32, 33, 33, 33, 33, 33, 33, 33, 33, 33,
980 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
981 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
982 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
984 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
985 33, 33, 33, 33, 33, 33, 33, 33, 33, 35,
986 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
987 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
988 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
989 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
990 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
991 35, 35, 35, 35, 35, 35, 35, 49, 53, 53,
992 53, 121, 105, 105, 53, 158, 108, 108, 115, 115,
993 160, 158, 63, 63, 63, 291, 168, 275, 63, 121,
995 49, 188, 49, 275, 49, 63, 168, 205, 205, 160,
996 49, 63, 291, 49, 49, 49, 405, 49, 49, 63,
997 105, 170, 405, 49, 108, 49, 115, 180, 180, 180,
998 180, 170, 762, 53, 170, 181, 181, 181, 185, 185,
999 185, 188, 192, 192, 192, 209, 209, 63, 193, 193,
1000 193, 294, 194, 194, 194, 294, 192, 192, 192, 192,
1001 211, 211, 193, 193, 193, 193, 194, 194, 194, 194,
1002 195, 195, 195, 201, 201, 201, 210, 213, 213, 201,
1003 289, 257, 210, 210, 195, 195, 195, 195, 192, 217,
1004 217, 217, 264, 264, 289, 217, 194, 362, 211, 257,
1006 266, 266, 217, 248, 248, 248, 248, 761, 217, 267,
1007 267, 269, 269, 195, 298, 309, 217, 314, 298, 362,
1008 314, 321, 321, 321, 309, 330, 330, 760, 201, 314,
1009 314, 317, 317, 317, 317, 321, 321, 321, 321, 708,
1010 314, 332, 332, 708, 217, 241, 241, 241, 241, 241,
1011 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1012 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1013 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1014 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1015 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1017 241, 241, 241, 250, 250, 250, 250, 334, 334, 250,
1018 336, 336, 338, 338, 250, 344, 344, 757, 250, 415,
1019 415, 250, 756, 250, 418, 418, 250, 278, 278, 755,
1020 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1021 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1022 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1023 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1024 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1025 278, 278, 278, 278, 278, 324, 324, 324, 339, 363,
1026 364, 340, 340, 365, 339, 339, 342, 342, 366, 324,
1028 324, 324, 324, 340, 371, 409, 342, 342, 409, 409,
1029 441, 363, 365, 444, 364, 420, 420, 420, 371, 485,
1030 754, 441, 494, 494, 444, 485, 366, 504, 504, 340,
1031 341, 341, 367, 341, 341, 341, 341, 341, 341, 341,
1032 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1033 341, 341, 341, 341, 341, 341, 341, 367, 341, 341,
1034 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1035 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1036 341, 341, 341, 341, 341, 341, 341, 341, 343, 343,
1037 343, 343, 752, 369, 505, 505, 343, 750, 343, 343,
1039 495, 495, 495, 343, 343, 343, 343, 343, 343, 360,
1040 360, 368, 360, 360, 360, 360, 360, 360, 360, 369,
1041 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
1042 360, 360, 370, 442, 360, 360, 360, 360, 443, 368,
1043 428, 428, 368, 431, 431, 416, 416, 416, 561, 561,
1044 428, 428, 749, 431, 431, 443, 519, 445, 370, 416,
1045 416, 416, 416, 442, 360, 360, 360, 375, 375, 519,
1046 375, 375, 375, 375, 375, 375, 375, 440, 375, 375,
1047 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1048 445, 447, 375, 375, 375, 375, 419, 419, 419, 446,
1050 450, 440, 449, 440, 520, 448, 503, 503, 503, 512,
1051 419, 419, 419, 419, 517, 447, 448, 520, 446, 450,
1052 501, 501, 375, 375, 375, 427, 427, 512, 449, 517,
1053 501, 501, 427, 427, 427, 427, 427, 427, 427, 427,
1054 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1055 427, 427, 427, 427, 427, 427, 427, 429, 429, 429,
1056 429, 462, 514, 513, 518, 429, 515, 566, 566, 521,
1057 567, 567, 429, 429, 429, 429, 429, 429, 432, 432,
1058 432, 432, 516, 462, 521, 515, 432, 513, 518, 462,
1059 514, 574, 522, 432, 432, 432, 432, 432, 432, 502,
1061 502, 502, 502, 532, 565, 565, 565, 502, 516, 522,
1062 572, 573, 574, 532, 502, 502, 502, 502, 502, 502,
1063 575, 576, 573, 577, 578, 579, 580, 583, 581, 582,
1064 615, 615, 634, 572, 617, 617, 656, 656, 684, 684,
1065 748, 577, 575, 581, 681, 747, 583, 686, 686, 810,
1066 810, 576, 578, 745, 744, 579, 580, 582, 743, 742,
1067 740, 681, 634, 769, 769, 769, 769, 769, 769, 769,
1068 769, 769, 769, 769, 769, 769, 769, 769, 769, 770,
1069 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1070 770, 770, 770, 770, 770, 771, 771, 771, 771, 771,
1072 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
1073 771, 772, 772, 772, 772, 772, 772, 772, 772, 772,
1074 772, 772, 772, 772, 772, 772, 772, 773, 773, 773,
1075 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
1076 773, 773, 773, 774, 774, 774, 774, 774, 774, 774,
1077 774, 774, 774, 774, 774, 774, 774, 774, 774, 775,
1078 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
1079 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1080 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
1081 776, 777, 777, 777, 777, 777, 777, 777, 777, 777,
1083 777, 777, 777, 777, 777, 777, 777, 778, 778, 778,
1084 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
1085 778, 778, 778, 779, 779, 779, 779, 779, 779, 779,
1086 779, 779, 779, 779, 779, 779, 779, 779, 779, 780,
1087 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
1088 780, 780, 780, 780, 780, 781, 781, 781, 781, 781,
1089 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
1090 781, 782, 782, 782, 782, 782, 782, 782, 782, 782,
1091 782, 782, 782, 782, 782, 782, 782, 783, 783, 783,
1092 783, 739, 738, 783, 783, 783, 784, 784, 784, 784,
1094 784, 784, 784, 784, 784, 784, 784, 784, 784, 784,
1095 784, 785, 785, 785, 785, 737, 736, 785, 785, 785,
1096 786, 735, 786, 786, 786, 786, 786, 786, 786, 786,
1097 786, 786, 786, 786, 786, 786, 787, 734, 787, 787,
1098 787, 787, 787, 787, 787, 787, 787, 787, 787, 787,
1099 787, 787, 788, 788, 788, 733, 732, 788, 788, 788,
1100 789, 731, 789, 789, 789, 789, 789, 789, 789, 789,
1101 789, 789, 789, 789, 789, 789, 790, 729, 790, 790,
1102 790, 790, 790, 790, 790, 790, 790, 790, 790, 790,
1103 790, 790, 791, 727, 791, 791, 791, 791, 791, 791,
1105 791, 791, 791, 791, 791, 791, 791, 791, 792, 792,
1106 792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
1107 792, 792, 792, 792, 793, 726, 793, 793, 725, 793,
1108 793, 793, 724, 723, 793, 793, 722, 721, 720, 793,
1109 794, 794, 794, 794, 719, 718, 794, 794, 794, 795,
1110 717, 795, 795, 795, 795, 795, 795, 795, 795, 795,
1111 795, 795, 795, 795, 795, 796, 796, 796, 796, 715,
1112 714, 796, 796, 796, 797, 713, 797, 797, 797, 797,
1113 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1114 798, 712, 798, 798, 798, 798, 798, 798, 798, 798,
1116 798, 710, 798, 798, 798, 798, 799, 709, 707, 706,
1117 799, 799, 799, 799, 705, 704, 799, 799, 800, 703,
1118 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1119 800, 800, 800, 800, 801, 801, 801, 801, 702, 701,
1120 801, 801, 801, 802, 802, 802, 802, 802, 802, 802,
1121 802, 802, 802, 802, 802, 802, 802, 802, 802, 803,
1122 803, 803, 803, 700, 803, 803, 803, 803, 803, 803,
1123 803, 803, 803, 803, 803, 804, 699, 698, 804, 804,
1124 804, 804, 804, 804, 804, 682, 804, 804, 804, 804,
1125 804, 805, 680, 805, 805, 805, 805, 805, 805, 805,
1127 805, 805, 805, 805, 805, 805, 805, 806, 679, 806,
1128 806, 678, 806, 806, 806, 677, 675, 806, 806, 674,
1129 672, 671, 806, 807, 807, 807, 807, 670, 669, 807,
1130 807, 807, 808, 668, 808, 808, 808, 808, 808, 808,
1131 808, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1132 667, 809, 809, 666, 665, 664, 809, 809, 811, 663,
1133 811, 811, 811, 811, 811, 811, 811, 811, 811, 811,
1134 811, 811, 811, 811, 812, 662, 812, 812, 812, 812,
1135 812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
1136 813, 661, 813, 813, 813, 813, 813, 813, 813, 813,
1138 813, 813, 813, 813, 813, 813, 814, 814, 660, 659,
1139 814, 814, 814, 815, 815, 658, 655, 815, 815, 815,
1140 816, 816, 816, 816, 816, 816, 816, 816, 816, 816,
1141 816, 816, 816, 816, 816, 816, 817, 817, 817, 817,
1142 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1143 817, 817, 818, 653, 818, 818, 818, 818, 818, 818,
1144 818, 818, 818, 652, 818, 818, 818, 818, 819, 651,
1145 819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
1146 819, 819, 819, 819, 820, 820, 650, 646, 644, 643,
1147 820, 821, 821, 821, 821, 642, 641, 821, 821, 821,
1149 821, 822, 639, 822, 822, 822, 822, 822, 822, 822,
1150 822, 822, 822, 822, 822, 822, 822, 823, 637, 823,
1151 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
1152 823, 823, 823, 824, 636, 824, 824, 824, 824, 824,
1153 824, 824, 824, 824, 824, 824, 824, 824, 824, 825,
1154 635, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1155 825, 825, 825, 825, 825, 826, 633, 826, 826, 826,
1156 826, 826, 826, 826, 826, 826, 826, 826, 826, 826,
1157 826, 827, 632, 827, 827, 827, 827, 827, 827, 827,
1158 827, 827, 827, 827, 827, 827, 827, 828, 828, 828,
1160 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
1161 828, 828, 828, 829, 631, 829, 829, 630, 829, 829,
1162 829, 629, 628, 829, 829, 627, 626, 625, 829, 830,
1163 830, 830, 830, 624, 623, 830, 830, 830, 831, 621,
1164 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
1165 831, 831, 831, 831, 832, 832, 832, 832, 619, 612,
1166 832, 832, 832, 833, 833, 611, 610, 609, 833, 833,
1167 834, 608, 607, 606, 834, 834, 834, 834, 604, 601,
1168 834, 834, 835, 600, 835, 835, 835, 835, 835, 835,
1169 835, 835, 835, 835, 835, 835, 835, 835, 836, 836,
1171 836, 836, 599, 598, 836, 836, 836, 837, 837, 837,
1172 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
1173 837, 837, 837, 838, 838, 838, 838, 597, 838, 838,
1174 838, 838, 838, 838, 838, 838, 838, 838, 838, 839,
1175 596, 595, 839, 839, 839, 839, 839, 839, 839, 594,
1176 839, 839, 839, 839, 839, 840, 593, 840, 840, 592,
1177 840, 840, 840, 591, 590, 840, 840, 588, 569, 568,
1178 840, 841, 841, 841, 841, 564, 563, 841, 841, 841,
1179 842, 562, 842, 842, 842, 842, 842, 842, 842, 842,
1180 842, 842, 842, 842, 842, 842, 843, 843, 560, 843,
1182 843, 559, 558, 557, 843, 843, 844, 556, 844, 844,
1183 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1184 844, 844, 845, 555, 845, 845, 845, 845, 845, 845,
1185 845, 845, 845, 845, 845, 845, 845, 845, 846, 554,
1186 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
1187 846, 846, 846, 846, 847, 847, 847, 847, 847, 847,
1188 847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
1189 848, 848, 848, 848, 553, 552, 848, 848, 848, 849,
1190 849, 849, 849, 551, 549, 849, 849, 849, 850, 850,
1191 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
1193 850, 850, 850, 850, 851, 851, 851, 851, 851, 851,
1194 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
1195 852, 548, 852, 852, 852, 852, 852, 852, 852, 852,
1196 852, 546, 852, 852, 852, 852, 853, 853, 545, 544,
1197 543, 542, 853, 854, 854, 854, 854, 541, 540, 854,
1198 854, 854, 854, 855, 539, 855, 855, 855, 855, 855,
1199 855, 855, 855, 855, 855, 855, 855, 855, 855, 856,
1200 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
1201 856, 856, 856, 856, 856, 857, 857, 857, 857, 857,
1202 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
1204 857, 538, 536, 534, 533, 530, 528, 526, 525, 524,
1205 523, 509, 508, 507, 506, 500, 499, 498, 497, 496,
1206 492, 491, 490, 489, 488, 487, 486, 483, 482, 481,
1207 480, 479, 478, 476, 475, 474, 473, 472, 471, 469,
1208 468, 467, 464, 463, 461, 460, 459, 458, 457, 454,
1209 453, 452, 451, 439, 437, 436, 435, 434, 430, 426,
1210 423, 422, 421, 414, 413, 412, 411, 410, 408, 407,
1211 406, 404, 403, 402, 401, 400, 399, 398, 397, 396,
1212 395, 394, 393, 392, 391, 390, 388, 387, 386, 384,
1213 383, 382, 381, 380, 379, 378, 377, 376, 373, 372,
1215 361, 356, 355, 352, 350, 346, 337, 327, 326, 325,
1216 323, 318, 315, 313, 312, 311, 308, 307, 306, 305,
1217 303, 301, 300, 299, 297, 296, 295, 293, 292, 290,
1218 287, 286, 284, 282, 281, 280, 276, 263, 262, 243,
1219 240, 239, 234, 231, 226, 222, 221, 220, 219, 216,
1220 208, 207, 204, 203, 189, 187, 183, 179, 176, 175,
1221 174, 173, 172, 171, 169, 166, 165, 162, 161, 159,
1222 156, 155, 154, 153, 151, 149, 148, 146, 144, 143,
1223 137, 134, 125, 124, 122, 119, 114, 112, 107, 103,
1224 97, 92, 89, 87, 85, 84, 83, 80, 76, 74,
1226 73, 71, 67, 65, 59, 55, 50, 47, 43, 39,
1227 16, 15, 10, 8, 7, 768, 768, 768, 768, 768,
1228 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1229 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1230 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1231 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1232 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1236 static yy_state_type yy_last_accepting_state
;
1237 static char *yy_last_accepting_cpos
;
1239 /* The intent behind this definition is that it'll catch
1240 * any uses of REJECT which flex missed.
1242 #define REJECT reject_used_but_not_detected
1243 #define yymore() yymore_used_but_not_detected
1244 #define YY_MORE_ADJ 0
1245 #define YY_RESTORE_YY_MORE_OFFSET
1249 /* scan.l - scanner for flex input */
1252 * Copyright (c) 1990 The Regents of the University of California.
1253 * All rights reserved.
1255 * This code is derived from software contributed to Berkeley by
1258 * The United States Government has rights in this work pursuant
1259 * to contract no. DE-AC03-76SF00098 between the United States
1260 * Department of Energy and the University of California.
1262 * Redistribution and use in source and binary forms are permitted provided
1263 * that: (1) source distributions retain this entire copyright notice and
1264 * comment, and (2) distributions including binaries display the following
1265 * acknowledgement: ``This product includes software developed by the
1266 * University of California, Berkeley and its contributors'' in the
1267 * documentation or other materials provided with the distribution and in
1268 * all advertising materials mentioning features or use of this software.
1269 * Neither the name of the University nor the names of its contributors may
1270 * be used to endorse or promote products derived from this software without
1271 * specific prior written permission.
1272 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1273 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1274 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1277 /* $NetBSD: initscan.c,v 1.16 2003/07/14 18:11:06 itojun Exp $ */
1279 #include "flexdef.h"
1282 #define ACTION_ECHO add_action( yytext )
1283 #define ACTION_IFDEF(def, should_define) \
1285 if ( should_define ) \
1286 action_define( def, 1 ); \
1289 #define MARK_END_OF_PROLOG mark_prolog();
1294 #define RETURNCHAR \
1295 yylval = (unsigned char) yytext[0]; \
1298 #define RETURNNAME \
1299 strlcpy(nmstr, yytext, sizeof(nmstr)); \
1302 #define PUT_BACK_STRING(str, start) \
1303 for ( i = strlen( str ) - 1; i >= start; --i ) \
1306 #define CHECK_REJECT(str) \
1307 if ( all_upper( str ) ) \
1310 #define CHECK_YYMORE(str) \
1311 if ( all_lower( str ) ) \
1313 #define YY_STACK_USED 1
1314 #define YY_NO_TOP_STATE 1
1316 #define SECT2PROLOG 2
1321 #define CARETISBOL 7
1330 #define ACTION_STRING 15
1331 #define PERCENT_BRACE_ACTION 16
1338 /* Macros after this point can all be overridden by user definitions in
1342 #ifndef YY_SKIP_YYWRAP
1344 extern "C" int yywrap
YY_PROTO(( void ));
1346 extern int yywrap
YY_PROTO(( void ));
1351 static void yyunput
YY_PROTO(( int c
, char *buf_ptr
))
1353 __attribute__((__unused__
))
1359 static void yy_flex_strncpy
YY_PROTO(( char *, yyconst
char *, yy_size_t
));
1362 #ifdef YY_NEED_STRLEN
1363 static yy_size_t yy_flex_strlen
YY_PROTO(( yyconst
char * ));
1368 static int yyinput
YY_PROTO(( void ));
1370 static int input
YY_PROTO(( void ));
1375 static int yy_start_stack_ptr
= 0;
1376 static int yy_start_stack_depth
= 0;
1377 static int *yy_start_stack
= 0;
1378 #ifndef YY_NO_PUSH_STATE
1379 static void yy_push_state
YY_PROTO(( int new_state
));
1381 #ifndef YY_NO_POP_STATE
1382 static void yy_pop_state
YY_PROTO(( void ));
1384 #ifndef YY_NO_TOP_STATE
1385 static int yy_top_state
YY_PROTO(( void ));
1389 #define YY_NO_PUSH_STATE 1
1390 #define YY_NO_POP_STATE 1
1391 #define YY_NO_TOP_STATE 1
1394 #ifdef YY_MALLOC_DECL
1402 /* Just try to get by without declaring the routines. This will fail
1403 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1404 * or sizeof(void*) != sizeof(int).
1409 /* Amount of stuff to slurp up with each read. */
1410 #ifndef YY_READ_BUF_SIZE
1411 #define YY_READ_BUF_SIZE 8192
1414 /* Copy whatever the last rule matched to the standard output. */
1417 /* This used to be an fputs(), but since the string might contain NUL's,
1418 * we now use fwrite().
1420 #define ECHO (void) fwrite( yytext, (size_t)yyleng, 1, yyout )
1423 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1424 * is returned in "result".
1427 #define YY_INPUT(buf,result,max_size) \
1428 if ( yy_current_buffer->yy_is_interactive ) \
1431 for ( n = 0; n < max_size && \
1432 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1433 buf[n] = (char) c; \
1435 buf[n++] = (char) c; \
1436 if ( c == EOF && ferror( yyin ) ) \
1437 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1440 else if ( ((result = fread( buf, 1, (size_t)max_size, yyin )) == 0) \
1441 && ferror( yyin ) ) \
1442 YY_FATAL_ERROR( "input in flex scanner failed" );
1445 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1446 * we don't want an extra ';' after the "return" because that will cause
1447 * some compilers to complain about unreachable statements.
1450 #define yyterminate() return YY_NULL
1453 /* Number of entries by which start-condition stack grows. */
1454 #ifndef YY_START_STACK_INCR
1455 #define YY_START_STACK_INCR 25
1458 /* Report a fatal error. */
1459 #ifndef YY_FATAL_ERROR
1460 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1463 /* Default declaration of generated scanner - a define so the user can
1464 * easily add parameters.
1467 #define YY_DECL int yylex YY_PROTO(( void ))
1470 /* Code executed at the beginning of each rule, after yytext and yyleng
1473 #ifndef YY_USER_ACTION
1474 #define YY_USER_ACTION
1477 /* Code executed at the end of each rule. */
1479 #define YY_BREAK /*LINTED*/break;
1482 #define YY_RULE_SETUP \
1484 yy_current_buffer->yy_at_bol = \
1485 (yytext[yyleng - 1] == '\n'); \
1490 register yy_state_type yy_current_state
;
1491 register char *yy_cp
, *yy_bp
;
1492 register int yy_act
;
1496 static int bracelevel
, didadef
, indented_code
;
1497 static int doing_rule_action
= false;
1498 static int option_sense
;
1500 int doing_codeblock
= false;
1502 Char nmdef
[MAXLINE
];
1507 #if defined(YY_USES_REJECT) && (defined(__GNUC__) || defined(lint))
1508 /* XXX: shut up `unused label' warning with %options yylineno */
1509 if (/*CONSTCOND*/0 && yy_full_match
)
1521 yy_start
= 1; /* first start state */
1529 if ( ! yy_current_buffer
)
1531 yy_create_buffer( yyin
, YY_BUF_SIZE
);
1533 yy_load_buffer_state();
1536 while (/*CONSTCOND*/ 1 ) /* loops until end-of-file is reached */
1540 /* Support of yytext. */
1541 *yy_cp
= yy_hold_char
;
1543 /* yy_bp points to the position in yy_ch_buf of the start of
1548 yy_current_state
= yy_start
;
1549 yy_current_state
+= YY_AT_BOL();
1553 register YY_CHAR yy_c
= yy_ec
[YY_SC_TO_UI(*yy_cp
)];
1554 if ( yy_accept
[yy_current_state
] )
1556 yy_last_accepting_state
= yy_current_state
;
1557 yy_last_accepting_cpos
= yy_cp
;
1559 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1561 yy_current_state
= (int) yy_def
[yy_current_state
];
1562 if ( yy_current_state
>= 769 )
1563 yy_c
= yy_meta
[(unsigned int) yy_c
];
1565 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1568 while ( yy_base
[yy_current_state
] != 2716 );
1571 yy_act
= yy_accept
[yy_current_state
];
1573 { /* have to back up */
1574 yy_cp
= yy_last_accepting_cpos
;
1575 yy_current_state
= yy_last_accepting_state
;
1576 yy_act
= yy_accept
[yy_current_state
];
1579 YY_DO_BEFORE_ACTION
;
1582 do_action
: /* This label is used only to access EOF actions. */
1586 { /* beginning of action switch */
1587 case 0: /* must back up */
1588 /* undo the effects of YY_DO_BEFORE_ACTION */
1589 *yy_cp
= yy_hold_char
;
1590 yy_cp
= yy_last_accepting_cpos
;
1591 yy_current_state
= yy_last_accepting_state
;
1592 goto yy_find_action
;
1598 indented_code
= true; BEGIN(CODEBLOCK
);
1603 ACTION_ECHO
; yy_push_state( COMMENT
);
1608 yy_push_state( LINEDIR
);
1625 line_directive_out( (FILE *) 0, 1 );
1626 indented_code
= false;
1642 line_directive_out( (FILE *) 0, 1 );
1650 yytext_is_array
= false; ++linenum
;
1655 yytext_is_array
= true; ++linenum
;
1660 BEGIN(OPTION
); return OPTION_OP
;
1665 ++linenum
; /* ignore */
1670 ++linenum
; /* ignore */
1675 synerr( _( "unrecognized '%' directive" ) );
1681 strlcpy(nmstr
, yytext
, sizeof(nmstr
));
1694 ++linenum
; /* allows blank lines in section 1 */
1699 ACTION_ECHO
; ++linenum
; /* maybe end of comment line */
1706 ACTION_ECHO
; yy_pop_state();
1721 ++linenum
; ACTION_ECHO
;
1733 linenum
= myctoi( yytext
);
1739 flex_free( (void *) infilename
);
1740 infilename
= copy_string( yytext
+ 1 );
1741 infilename
[strlen( infilename
) - 1] = '\0';
1747 /* ignore spurious characters */
1754 ++linenum
; BEGIN(INITIAL
);
1767 if ( indented_code
)
1776 /* separates name and definition */
1782 strlcpy((char *) nmdef
, yytext
, sizeof(nmdef
));
1784 /* Skip trailing whitespace. */
1785 for ( i
= strlen( (char *) nmdef
) - 1;
1786 i
>= 0 && (nmdef
[i
] == ' ' || nmdef
[i
] == '\t');
1790 nmdef
[i
+ 1] = '\0';
1792 ndinstal( nmstr
, nmdef
);
1801 synerr( _( "incomplete name definition" ) );
1811 ++linenum
; BEGIN(INITIAL
);
1816 option_sense
= true;
1826 option_sense
= ! option_sense
;
1831 csize
= option_sense
? 128 : 256;
1836 csize
= option_sense
? 256 : 128;
1841 long_align
= option_sense
;
1847 action_define( "YY_ALWAYS_INTERACTIVE", option_sense
);
1853 yytext_is_array
= option_sense
;
1858 backing_up_report
= option_sense
;
1863 interactive
= ! option_sense
;
1868 C_plus_plus
= option_sense
;
1873 caseins
= ! option_sense
;
1878 caseins
= option_sense
;
1883 ddebug
= option_sense
;
1888 spprdflt
= ! option_sense
;
1893 useecs
= option_sense
;
1899 useecs
= usemecs
= false;
1900 use_read
= fullspd
= true;
1907 useecs
= usemecs
= false;
1908 use_read
= fulltbl
= true;
1914 ACTION_IFDEF("YY_NO_INPUT", ! option_sense
);
1919 interactive
= option_sense
;
1924 lex_compat
= option_sense
;
1930 action_define( "YY_MAIN", option_sense
);
1931 do_yywrap
= ! option_sense
;
1937 usemecs
= option_sense
;
1943 action_define( "YY_NEVER_INTERACTIVE", option_sense
);
1949 performance_report
+= option_sense
? 1 : -1;
1954 yytext_is_array
= ! option_sense
;
1959 use_read
= option_sense
;
1964 reject_really_used
= option_sense
;
1969 action_define( "YY_STACK_USED", option_sense
);
1974 do_stdinit
= option_sense
;
1979 use_stdout
= option_sense
;
1984 ACTION_IFDEF("YY_NO_UNPUT", ! option_sense
);
1989 printstats
= option_sense
;
1994 nowarn
= ! option_sense
;
1999 do_yylineno
= option_sense
;
2004 yymore_really_used
= option_sense
;
2009 do_yywrap
= option_sense
;
2014 ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense
);
2019 ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense
);
2024 ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense
);
2029 ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense
);
2034 ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense
);
2039 ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense
);
2060 strlcpy(nmstr
, yytext
+ 1, sizeof(nmstr
));
2061 nmstr
[strlen( nmstr
) - 1] = '\0';
2069 format_synerr( _( "unrecognized %%option: %s" ),
2078 ++linenum
; BEGIN(INITIAL
);
2084 ++bracelevel
; yyless( 2 ); /* eat only %{ */
2089 --bracelevel
; yyless( 2 ); /* eat only %} */
2094 ACTION_ECHO
; /* indented code in prolog */
2099 { /* non-indented code */
2100 if ( bracelevel
<= 0 )
2101 { /* not in %{ ... %} */
2102 yyless( 0 ); /* put it all back */
2119 ++linenum
; ACTION_ECHO
;
2121 case YY_STATE_EOF(SECT2PROLOG
):
2126 yyterminate(); /* to stop the parser */
2134 ++linenum
; /* allow blank lines in section 2 */
2140 indented_code
= false;
2141 doing_codeblock
= true;
2143 BEGIN(PERCENT_BRACE_ACTION
);
2149 BEGIN(SC
); return '<';
2159 BEGIN(QUOTE
); return '"';
2162 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2163 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2164 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2167 BEGIN(NUM
); return '{';
2170 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2171 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2172 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2182 BEGIN(PERCENT_BRACE_ACTION
);
2186 doing_rule_action
= true;
2195 continued_action
= true; ++linenum
; return '\n';
2201 yyless( yyleng
- 2 ); /* put back '/', '*' */
2203 continued_action
= false;
2210 /* allow indented rules */
2216 /* This rule is separate from the one below because
2217 * otherwise we get variable trailing context, so
2218 * we can't build the scanner using -{f,F}.
2221 continued_action
= false;
2226 doing_rule_action
= true;
2237 continued_action
= false;
2239 unput( '\n' ); /* so <ACTION> sees it */
2243 doing_rule_action
= true;
2262 yyterminate(); /* to stop the parser */
2271 strlcpy(nmstr
, yytext
, sizeof(nmstr
));
2273 /* Check to see if we've already encountered this
2276 if ( (cclval
= ccllookup( (Char
*) nmstr
)) != 0 )
2278 if ( input() != ']' )
2279 synerr( _( "bad character class" ) );
2287 /* We fudge a bit. We know that this ccl will
2288 * soon be numbered as lastccl + 1 by cclinit.
2290 cclinstal( (Char
*) nmstr
, lastccl
+ 1 );
2292 /* Push back everything but the leading bracket
2293 * so the ccl can be rescanned.
2306 register Char
*nmdefptr
;
2308 strlcpy(nmstr
, yytext
+ 1, sizeof(nmstr
));
2309 nmstr
[yyleng
- 2] = '\0'; /* chop trailing brace */
2311 if ( (nmdefptr
= ndlookup( nmstr
)) == 0 )
2313 _( "undefined definition {%s}" ),
2317 { /* push back name surrounded by ()'s */
2318 int len
= strlen( (char *) nmdefptr
);
2320 if ( lex_compat
|| nmdefptr
[0] == '^' ||
2321 (len
> 0 && nmdefptr
[len
- 1] == '$') )
2322 { /* don't use ()'s after all */
2323 PUT_BACK_STRING((char *) nmdefptr
, 0);
2325 if ( nmdefptr
[0] == '^' )
2332 PUT_BACK_STRING((char *) nmdefptr
, 0);
2341 return (unsigned char) yytext
[0];
2353 return (unsigned char) yytext
[0];
2358 BEGIN(SECT2
); return '>';
2361 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2362 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2363 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2366 BEGIN(CARETISBOL
); return '>';
2377 format_synerr( _( "bad <start condition>: %s" ),
2385 BEGIN(SECT2
); return '^';
2396 BEGIN(SECT2
); return '"';
2402 synerr( _( "missing quote" ) );
2411 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2412 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2413 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2416 BEGIN(CCL
); return '^';
2419 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2420 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2421 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2429 BEGIN(CCL
); RETURNCHAR
;
2434 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2435 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2436 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2449 BEGIN(SECT2
); return ']';
2455 synerr( _( "bad character class" ) );
2465 BEGIN(CCL
); return CCE_ALNUM
;
2470 BEGIN(CCL
); return CCE_ALPHA
;
2475 BEGIN(CCL
); return CCE_BLANK
;
2480 BEGIN(CCL
); return CCE_CNTRL
;
2485 BEGIN(CCL
); return CCE_DIGIT
;
2490 BEGIN(CCL
); return CCE_GRAPH
;
2495 BEGIN(CCL
); return CCE_LOWER
;
2500 BEGIN(CCL
); return CCE_PRINT
;
2505 BEGIN(CCL
); return CCE_PUNCT
;
2510 BEGIN(CCL
); return CCE_SPACE
;
2515 BEGIN(CCL
); return CCE_UPPER
;
2520 BEGIN(CCL
); return CCE_XDIGIT
;
2527 _( "bad character class expression: %s" ),
2529 BEGIN(CCL
); return CCE_ALNUM
;
2538 yylval
= myctoi( yytext
);
2550 BEGIN(SECT2
); return '}';
2556 synerr( _( "bad character inside {}'s" ) );
2565 synerr( _( "missing }" ) );
2581 ACTION_ECHO
; yy_push_state( COMMENT
);
2589 CHECK_REJECT(yytext
);
2597 CHECK_YYMORE(yytext
);
2612 if ( bracelevel
== 0 ||
2613 (doing_codeblock
&& indented_code
) )
2615 if ( doing_rule_action
)
2616 add_action( "\tYY_BREAK\n" );
2618 doing_rule_action
= doing_codeblock
= false;
2624 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
2629 ACTION_ECHO
; ++bracelevel
;
2634 ACTION_ECHO
; --bracelevel
;
2649 ACTION_ECHO
; /* character constant */
2654 ACTION_ECHO
; BEGIN(ACTION_STRING
);
2662 if ( bracelevel
== 0 )
2664 if ( doing_rule_action
)
2665 add_action( "\tYY_BREAK\n" );
2667 doing_rule_action
= false;
2692 ++linenum
; ACTION_ECHO
;
2697 ACTION_ECHO
; BEGIN(ACTION
);
2705 case YY_STATE_EOF(COMMENT
):
2706 case YY_STATE_EOF(ACTION
):
2707 case YY_STATE_EOF(ACTION_STRING
):
2710 synerr( _( "EOF encountered inside an action" ) );
2718 yylval
= myesc( (Char
*) yytext
);
2720 if ( YY_START
== FIRSTCCL
)
2732 case YY_STATE_EOF(SECT3
):
2734 sectnum
= 0; yyterminate();
2740 format_synerr( _( "bad character: %s" ), yytext
);
2745 YY_FATAL_ERROR( "flex scanner jammed" );
2748 case YY_STATE_EOF(INITIAL
):
2749 case YY_STATE_EOF(SECT2
):
2750 case YY_STATE_EOF(CODEBLOCK
):
2751 case YY_STATE_EOF(PICKUPDEF
):
2752 case YY_STATE_EOF(SC
):
2753 case YY_STATE_EOF(CARETISBOL
):
2754 case YY_STATE_EOF(NUM
):
2755 case YY_STATE_EOF(QUOTE
):
2756 case YY_STATE_EOF(FIRSTCCL
):
2757 case YY_STATE_EOF(CCL
):
2758 case YY_STATE_EOF(RECOVER
):
2759 case YY_STATE_EOF(PERCENT_BRACE_ACTION
):
2760 case YY_STATE_EOF(OPTION
):
2761 case YY_STATE_EOF(LINEDIR
):
2764 case YY_END_OF_BUFFER
:
2766 /* Amount of text matched not including the EOB char. */
2767 int yy_amount_of_matched_text
= (int) (yy_cp
- yytext_ptr
) - 1;
2769 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2770 *yy_cp
= yy_hold_char
;
2771 YY_RESTORE_YY_MORE_OFFSET
2773 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_NEW
)
2775 /* We're scanning a new file or input source. It's
2776 * possible that this happened because the user
2777 * just pointed yyin at a new source and called
2778 * yylex(). If so, then we have to assure
2779 * consistency between yy_current_buffer and our
2780 * globals. Here is the right place to do so, because
2781 * this is the first action (other than possibly a
2782 * back-up) that will match for the new input source.
2784 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
2785 yy_current_buffer
->yy_input_file
= yyin
;
2786 yy_current_buffer
->yy_buffer_status
= YY_BUFFER_NORMAL
;
2789 /* Note that here we test for yy_c_buf_p "<=" to the position
2790 * of the first EOB in the buffer, since yy_c_buf_p will
2791 * already have been incremented past the NUL character
2792 * (since all states make transitions on EOB to the
2793 * end-of-buffer state). Contrast this with the test
2796 if ( yy_c_buf_p
<= &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
2797 { /* This was really a NUL. */
2798 yy_state_type yy_next_state
;
2800 yy_c_buf_p
= yytext_ptr
+ yy_amount_of_matched_text
;
2802 yy_current_state
= yy_get_previous_state();
2804 /* Okay, we're now positioned to make the NUL
2805 * transition. We couldn't have
2806 * yy_get_previous_state() go ahead and do it
2807 * for us because it doesn't know how to deal
2808 * with the possibility of jamming (and we don't
2809 * want to build jamming into it because then it
2810 * will run more slowly).
2813 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
2815 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2817 if ( yy_next_state
)
2819 /* Consume the NUL. */
2820 yy_cp
= ++yy_c_buf_p
;
2821 yy_current_state
= yy_next_state
;
2828 goto yy_find_action
;
2832 else switch ( yy_get_next_buffer() )
2834 case EOB_ACT_END_OF_FILE
:
2836 yy_did_buffer_switch_on_eof
= 0;
2840 /* Note: because we've taken care in
2841 * yy_get_next_buffer() to have set up
2842 * yytext, we can now set up
2843 * yy_c_buf_p so that if some total
2844 * hoser (like flex itself) wants to
2845 * call the scanner after we return the
2846 * YY_NULL, it'll still work - another
2847 * YY_NULL will get returned.
2849 yy_c_buf_p
= yytext_ptr
+ YY_MORE_ADJ
;
2851 yy_act
= YY_STATE_EOF(YY_START
);
2857 if ( ! yy_did_buffer_switch_on_eof
)
2863 case EOB_ACT_CONTINUE_SCAN
:
2865 yytext_ptr
+ yy_amount_of_matched_text
;
2867 yy_current_state
= yy_get_previous_state();
2870 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2873 case EOB_ACT_LAST_MATCH
:
2875 &yy_current_buffer
->yy_ch_buf
[yy_n_chars
];
2877 yy_current_state
= yy_get_previous_state();
2880 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2881 goto yy_find_action
;
2888 "fatal flex scanner internal error--no action found" );
2889 } /* end of action switch */
2890 } /* end of scanning one token */
2891 } /* end of yylex */
2894 /* yy_get_next_buffer - try to read in a new buffer
2896 * Returns a code representing an action:
2897 * EOB_ACT_LAST_MATCH -
2898 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2899 * EOB_ACT_END_OF_FILE - end of file
2902 static int yy_get_next_buffer()
2904 register char *dest
= yy_current_buffer
->yy_ch_buf
;
2905 register char *source
= yytext_ptr
;
2906 register int number_to_move
, i
;
2909 if ( yy_c_buf_p
> &yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] )
2911 "fatal flex scanner internal error--end of buffer missed" );
2913 if ( yy_current_buffer
->yy_fill_buffer
== 0 )
2914 { /* Don't try to fill the buffer, so this is an EOF. */
2915 if ( yy_c_buf_p
- yytext_ptr
- YY_MORE_ADJ
== 1 )
2917 /* We matched a single character, the EOB, so
2918 * treat this as a final EOF.
2920 return EOB_ACT_END_OF_FILE
;
2925 /* We matched some text prior to the EOB, first
2928 return EOB_ACT_LAST_MATCH
;
2932 /* Try to read more data. */
2934 /* First move last chars to start of buffer. */
2935 number_to_move
= (int) (yy_c_buf_p
- yytext_ptr
) - 1;
2937 for ( i
= 0; i
< number_to_move
; ++i
)
2938 *(dest
++) = *(source
++);
2940 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_EOF_PENDING
)
2941 /* don't do the read, it's not guaranteed to return an EOF,
2944 yy_current_buffer
->yy_n_chars
= yy_n_chars
= 0;
2949 yy_current_buffer
->yy_buf_size
- number_to_move
- 1;
2951 while ( num_to_read
<= 0 )
2952 { /* Not enough room in the buffer - grow it. */
2953 #ifdef YY_USES_REJECT
2955 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2958 /* just a shorter name for the current buffer */
2959 YY_BUFFER_STATE b
= yy_current_buffer
;
2961 int yy_c_buf_p_offset
=
2962 (int) (yy_c_buf_p
- b
->yy_ch_buf
);
2964 if ( b
->yy_is_our_buffer
)
2966 int new_size
= b
->yy_buf_size
* 2;
2968 if ( new_size
<= 0 )
2969 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
2971 b
->yy_buf_size
*= 2;
2973 b
->yy_ch_buf
= (char *)
2974 /* Include room in for 2 EOB chars. */
2975 yy_flex_realloc( (void *) b
->yy_ch_buf
,
2976 b
->yy_buf_size
+ 2 );
2979 /* Can't grow it, we don't own it. */
2982 if ( ! b
->yy_ch_buf
)
2984 "fatal error - scanner input buffer overflow" );
2986 yy_c_buf_p
= &b
->yy_ch_buf
[yy_c_buf_p_offset
];
2988 num_to_read
= yy_current_buffer
->yy_buf_size
-
2993 if ( num_to_read
> YY_READ_BUF_SIZE
)
2994 num_to_read
= YY_READ_BUF_SIZE
;
2996 /* Read in more data. */
2997 YY_INPUT( (&yy_current_buffer
->yy_ch_buf
[number_to_move
]),
2998 yy_n_chars
, num_to_read
);
3000 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
3003 if ( yy_n_chars
== 0 )
3005 if ( number_to_move
== YY_MORE_ADJ
)
3007 ret_val
= EOB_ACT_END_OF_FILE
;
3013 ret_val
= EOB_ACT_LAST_MATCH
;
3014 yy_current_buffer
->yy_buffer_status
=
3015 YY_BUFFER_EOF_PENDING
;
3020 ret_val
= EOB_ACT_CONTINUE_SCAN
;
3022 yy_n_chars
+= number_to_move
;
3023 yy_current_buffer
->yy_ch_buf
[yy_n_chars
] = YY_END_OF_BUFFER_CHAR
;
3024 yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] = YY_END_OF_BUFFER_CHAR
;
3026 yytext_ptr
= &yy_current_buffer
->yy_ch_buf
[0];
3032 /* yy_get_previous_state - get the state just before the EOB char was reached */
3034 static yy_state_type
yy_get_previous_state()
3036 register yy_state_type yy_current_state
;
3037 register char *yy_cp
;
3039 yy_current_state
= yy_start
;
3040 yy_current_state
+= YY_AT_BOL();
3042 for ( yy_cp
= yytext_ptr
+ YY_MORE_ADJ
; yy_cp
< yy_c_buf_p
; ++yy_cp
)
3044 register YY_CHAR yy_c
= (*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
3045 if ( yy_accept
[yy_current_state
] )
3047 yy_last_accepting_state
= yy_current_state
;
3048 yy_last_accepting_cpos
= yy_cp
;
3050 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
3052 yy_current_state
= (int) yy_def
[yy_current_state
];
3053 if ( yy_current_state
>= 769 )
3054 yy_c
= yy_meta
[(unsigned int) yy_c
];
3056 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
3059 return yy_current_state
;
3063 /* yy_try_NUL_trans - try to make a transition on the NUL character
3066 * next_state = yy_try_NUL_trans( current_state );
3069 #ifdef YY_USE_PROTOS
3070 static yy_state_type
yy_try_NUL_trans( yy_state_type yy_current_state
)
3072 static yy_state_type
yy_try_NUL_trans( yy_current_state
)
3073 yy_state_type yy_current_state
;
3076 register int yy_is_jam
;
3077 register char *yy_cp
= yy_c_buf_p
;
3079 register YY_CHAR yy_c
= 1;
3080 if ( yy_accept
[yy_current_state
] )
3082 yy_last_accepting_state
= yy_current_state
;
3083 yy_last_accepting_cpos
= yy_cp
;
3085 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
3087 yy_current_state
= (int) yy_def
[yy_current_state
];
3088 if ( yy_current_state
>= 769 )
3089 yy_c
= yy_meta
[(unsigned int) yy_c
];
3091 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
3092 yy_is_jam
= (yy_current_state
== 768);
3094 return yy_is_jam
? 0 : yy_current_state
;
3099 #ifdef YY_USE_PROTOS
3100 static void yyunput( int c
, register char *yy_bp
)
3102 static void yyunput( c
, yy_bp
)
3104 register char *yy_bp
;
3107 register char *yy_cp
= yy_c_buf_p
;
3109 /* undo effects of setting up yytext */
3110 *yy_cp
= yy_hold_char
;
3112 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
3113 { /* need to shift things up to make room */
3114 /* +2 for EOB chars. */
3115 register int number_to_move
= yy_n_chars
+ 2;
3116 register char *dest
= &yy_current_buffer
->yy_ch_buf
[
3117 yy_current_buffer
->yy_buf_size
+ 2];
3118 register char *source
=
3119 &yy_current_buffer
->yy_ch_buf
[number_to_move
];
3121 while ( source
> yy_current_buffer
->yy_ch_buf
)
3122 *--dest
= *--source
;
3124 yy_cp
+= (int) (dest
- source
);
3125 yy_bp
+= (int) (dest
- source
);
3126 yy_current_buffer
->yy_n_chars
=
3127 yy_n_chars
= yy_current_buffer
->yy_buf_size
;
3129 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
3130 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3133 *--yy_cp
= (char) c
;
3137 yy_hold_char
= *yy_cp
;
3140 #endif /* ifndef YY_NO_UNPUT */
3144 static int yyinput()
3151 *yy_c_buf_p
= yy_hold_char
;
3153 if ( *yy_c_buf_p
== YY_END_OF_BUFFER_CHAR
)
3155 /* yy_c_buf_p now points to the character we want to return.
3156 * If this occurs *before* the EOB characters, then it's a
3157 * valid NUL; if not, then we've hit the end of the buffer.
3159 if ( yy_c_buf_p
< &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
3160 /* This was really a NUL. */
3164 { /* need more input */
3165 int offset
= yy_c_buf_p
- yytext_ptr
;
3168 switch ( yy_get_next_buffer() )
3170 case EOB_ACT_LAST_MATCH
:
3171 /* This happens because yy_g_n_b()
3172 * sees that we've accumulated a
3173 * token and flags that we need to
3174 * try matching the token before
3175 * proceeding. But for input(),
3176 * there's no matching to consider.
3177 * So convert the EOB_ACT_LAST_MATCH
3178 * to EOB_ACT_END_OF_FILE.
3181 /* Reset buffer status. */
3186 case EOB_ACT_END_OF_FILE
:
3191 if ( ! yy_did_buffer_switch_on_eof
)
3200 case EOB_ACT_CONTINUE_SCAN
:
3201 yy_c_buf_p
= yytext_ptr
+ offset
;
3207 c
= *(unsigned char *) yy_c_buf_p
; /* cast for 8-bit char's */
3208 *yy_c_buf_p
= '\0'; /* preserve yytext */
3209 yy_hold_char
= *++yy_c_buf_p
;
3211 yy_current_buffer
->yy_at_bol
= (c
== '\n');
3217 #ifdef YY_USE_PROTOS
3218 void yyrestart( FILE *input_file
)
3220 void yyrestart( input_file
)
3224 if ( ! yy_current_buffer
)
3225 yy_current_buffer
= yy_create_buffer( yyin
, YY_BUF_SIZE
);
3227 yy_init_buffer( yy_current_buffer
, input_file
);
3228 yy_load_buffer_state();
3232 #ifdef YY_USE_PROTOS
3233 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer
)
3235 void yy_switch_to_buffer( new_buffer
)
3236 YY_BUFFER_STATE new_buffer
;
3239 if ( yy_current_buffer
== new_buffer
)
3242 if ( yy_current_buffer
)
3244 /* Flush out information for old buffer. */
3245 *yy_c_buf_p
= yy_hold_char
;
3246 yy_current_buffer
->yy_buf_pos
= yy_c_buf_p
;
3247 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
3250 yy_current_buffer
= new_buffer
;
3251 yy_load_buffer_state();
3253 /* We don't actually know whether we did this switch during
3254 * EOF (yywrap()) processing, but the only time this flag
3255 * is looked at is after yywrap() is called, so it's safe
3256 * to go ahead and always set it.
3258 yy_did_buffer_switch_on_eof
= 1;
3262 #ifdef YY_USE_PROTOS
3263 void yy_load_buffer_state( void )
3265 void yy_load_buffer_state()
3268 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
3269 yytext_ptr
= yy_c_buf_p
= yy_current_buffer
->yy_buf_pos
;
3270 yyin
= yy_current_buffer
->yy_input_file
;
3271 yy_hold_char
= *yy_c_buf_p
;
3275 #ifdef YY_USE_PROTOS
3276 YY_BUFFER_STATE
yy_create_buffer( FILE *file
, int size
)
3278 YY_BUFFER_STATE
yy_create_buffer( file
, size
)
3285 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
3287 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3289 b
->yy_buf_size
= size
;
3291 /* yy_ch_buf has to be 2 characters longer than the size given because
3292 * we need to put in 2 end-of-buffer characters.
3294 b
->yy_ch_buf
= (char *) yy_flex_alloc( b
->yy_buf_size
+ 2 );
3295 if ( ! b
->yy_ch_buf
)
3296 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3298 b
->yy_is_our_buffer
= 1;
3300 yy_init_buffer( b
, file
);
3306 #ifdef YY_USE_PROTOS
3307 void yy_delete_buffer( YY_BUFFER_STATE b
)
3309 void yy_delete_buffer( b
)
3316 if ( b
== yy_current_buffer
)
3317 yy_current_buffer
= (YY_BUFFER_STATE
) 0;
3319 if ( b
->yy_is_our_buffer
)
3320 yy_flex_free( (void *) b
->yy_ch_buf
);
3322 yy_flex_free( (void *) b
);
3326 #ifndef YY_ALWAYS_INTERACTIVE
3327 #ifndef YY_NEVER_INTERACTIVE
3332 #ifdef YY_USE_PROTOS
3333 void yy_init_buffer( YY_BUFFER_STATE b
, FILE *file
)
3335 void yy_init_buffer( b
, file
)
3342 yy_flush_buffer( b
);
3344 b
->yy_input_file
= file
;
3345 b
->yy_fill_buffer
= 1;
3347 #if YY_ALWAYS_INTERACTIVE
3348 b
->yy_is_interactive
= 1;
3350 #if YY_NEVER_INTERACTIVE
3351 b
->yy_is_interactive
= 0;
3353 b
->yy_is_interactive
= file
? (isatty( fileno(file
) ) > 0) : 0;
3359 #ifdef YY_USE_PROTOS
3360 void yy_flush_buffer( YY_BUFFER_STATE b
)
3362 void yy_flush_buffer( b
)
3372 /* We always need two end-of-buffer characters. The first causes
3373 * a transition to the end-of-buffer state. The second causes
3374 * a jam in that state.
3376 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
3377 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
3379 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
3382 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3384 if ( b
== yy_current_buffer
)
3385 yy_load_buffer_state();
3389 #ifndef YY_NO_SCAN_BUFFER
3390 #ifdef YY_USE_PROTOS
3391 YY_BUFFER_STATE
yy_scan_buffer( char *base
, yy_size_t size
)
3393 YY_BUFFER_STATE
yy_scan_buffer( base
, size
)
3401 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
3402 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
3403 /* They forgot to leave room for the EOB's. */
3406 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
3408 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3410 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
3411 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
3412 b
->yy_is_our_buffer
= 0;
3413 b
->yy_input_file
= 0;
3414 b
->yy_n_chars
= b
->yy_buf_size
;
3415 b
->yy_is_interactive
= 0;
3417 b
->yy_fill_buffer
= 0;
3418 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3420 yy_switch_to_buffer( b
);
3427 #ifndef YY_NO_SCAN_STRING
3428 #ifdef YY_USE_PROTOS
3429 YY_BUFFER_STATE
yy_scan_string( yyconst
char *yy_str
)
3431 YY_BUFFER_STATE
yy_scan_string( yy_str
)
3432 yyconst
char *yy_str
;
3436 for ( len
= 0; yy_str
[len
]; ++len
)
3439 return yy_scan_bytes( yy_str
, len
);
3444 #ifndef YY_NO_SCAN_BYTES
3445 #ifdef YY_USE_PROTOS
3446 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *bytes
, yy_size_t len
)
3448 YY_BUFFER_STATE
yy_scan_bytes( bytes
, len
)
3449 yyconst
char *bytes
;
3457 /* Get memory for full buffer, including space for trailing EOB's. */
3459 buf
= (char *) yy_flex_alloc( n
);
3461 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3463 for ( i
= 0; i
< len
; ++i
)
3466 buf
[len
] = buf
[len
+1] = YY_END_OF_BUFFER_CHAR
;
3468 b
= yy_scan_buffer( buf
, n
);
3470 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3472 /* It's okay to grow etc. this buffer, and we should throw it
3473 * away when we're done.
3475 b
->yy_is_our_buffer
= 1;
3482 #ifndef YY_NO_PUSH_STATE
3483 #ifdef YY_USE_PROTOS
3484 static void yy_push_state( int new_state
)
3486 static void yy_push_state( new_state
)
3490 if ( yy_start_stack_ptr
>= yy_start_stack_depth
)
3494 yy_start_stack_depth
+= YY_START_STACK_INCR
;
3495 new_size
= yy_start_stack_depth
* sizeof( int );
3497 if ( ! yy_start_stack
)
3498 yy_start_stack
= (int *) yy_flex_alloc( new_size
);
3501 yy_start_stack
= (int *) yy_flex_realloc(
3502 (void *) yy_start_stack
, new_size
);
3504 if ( ! yy_start_stack
)
3506 "out of memory expanding start-condition stack" );
3509 yy_start_stack
[yy_start_stack_ptr
++] = YY_START
;
3516 #ifndef YY_NO_POP_STATE
3517 static void yy_pop_state()
3519 if ( --yy_start_stack_ptr
< 0 )
3520 YY_FATAL_ERROR( "start-condition stack underflow" );
3522 BEGIN(yy_start_stack
[yy_start_stack_ptr
]);
3527 #ifndef YY_NO_TOP_STATE
3528 static int yy_top_state()
3530 return yy_start_stack
[yy_start_stack_ptr
- 1];
3534 #ifndef YY_EXIT_FAILURE
3535 #define YY_EXIT_FAILURE 2
3538 #ifdef YY_USE_PROTOS
3539 static void yy_fatal_error( yyconst
char msg
[] )
3541 static void yy_fatal_error( msg
)
3545 (void) fprintf( stderr
, "%s\n", msg
);
3546 exit( YY_EXIT_FAILURE
);
3551 /* Redefine yyless() so it works in section 3 code. */
3557 /* Undo effects of setting up yytext. */ \
3558 yytext[yyleng] = yy_hold_char; \
3559 yy_c_buf_p = yytext + n; \
3560 yy_hold_char = *yy_c_buf_p; \
3561 *yy_c_buf_p = '\0'; \
3567 /* Internal utility routines. */
3570 #ifdef YY_USE_PROTOS
3571 static void yy_flex_strncpy( char *s1
, yyconst
char *s2
, yy_size_t n
)
3573 static void yy_flex_strncpy( s1
, s2
, n
)
3579 register yy_size_t i
;
3580 for ( i
= 0; i
< n
; ++i
)
3585 #ifdef YY_NEED_STRLEN
3586 #ifdef YY_USE_PROTOS
3587 static yy_size_t
yy_flex_strlen( yyconst
char *s
)
3589 static yy_size_t
yy_flex_strlen( s
)
3593 register yy_size_t n
;
3594 for ( n
= 0; s
[n
]; ++n
)
3602 #ifdef YY_USE_PROTOS
3603 static void *yy_flex_alloc( yy_size_t size
)
3605 static void *yy_flex_alloc( size
)
3609 return (void *) malloc( size
);
3612 #ifdef YY_USE_PROTOS
3613 static void *yy_flex_realloc( void *ptr
, yy_size_t size
)
3615 static void *yy_flex_realloc( ptr
, size
)
3620 /* The cast to (char *) in the following accommodates both
3621 * implementations that use char* generic pointers, and those
3622 * that use void* generic pointers. It works with the latter
3623 * because both ANSI C and C++ allow castless assignment from
3624 * any pointer type to void*, and deal with argument conversions
3625 * as though doing an assignment.
3627 return (void *) realloc( (char *) ptr
, size
);
3630 #ifdef YY_USE_PROTOS
3631 static void yy_flex_free( void *ptr
)
3633 static void yy_flex_free( ptr
)
3653 if ( --num_input_files
> 0 )
3655 set_input_file( *++input_files
);
3664 /* set_input_file - open the given file (if NULL, stdin) for scanning */
3666 void set_input_file( file
)
3669 if ( file
&& strcmp( file
, "-" ) )
3671 infilename
= copy_string( file
);
3672 yyin
= fopen( infilename
, "r" );
3675 lerrsf( _( "can't open %s" ), file
);
3681 infilename
= copy_string( "<stdin>" );
3688 /* Wrapper routines for accessing the scanner's malloc routines. */
3690 void *flex_alloc( size
)
3693 return (void *) malloc( size
);
3696 void *flex_realloc( ptr
, size
)
3700 return (void *) realloc( ptr
, size
);
3703 void flex_free( ptr
)