2 /* A lexical scanner generated by flex */
4 /* Scanner skeleton version:
5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
6 * $FreeBSD: src/usr.bin/lex/initscan.c,v 1.6 1999/10/27 07:56:45 obrien Exp $
7 * $DragonFly: src/usr.bin/lex/initscan.c,v 1.5 2005/08/04 17:31:22 drhodus Exp $
11 #define YY_FLEX_MAJOR_VERSION 2
12 #define YY_FLEX_MINOR_VERSION 5
17 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
30 /* Use prototypes in function declarations. */
33 /* The "const" storage-class-modifier is valid. */
36 #else /* ! __cplusplus */
44 #endif /* ! __cplusplus */
54 #define YY_PROTO(proto) proto
56 #define YY_PROTO(proto) ()
59 /* Returned upon end-of-file. */
62 /* Promotes a possibly negative, possibly signed char to an unsigned
63 * integer for use as an array index. If the signed char is negative,
64 * we want to instead treat it as an 8-bit unsigned char, hence the
67 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
69 /* Enter a start condition. This macro really ought to take a parameter,
70 * but we do it the disgusting crufty way forced on us by the ()-less
71 * definition of BEGIN.
73 #define BEGIN yy_start = 1 + 2 *
75 /* Translate the current start state into a value that can be later handed
76 * to BEGIN to return to the state. The YYSTATE alias is for lex
79 #define YY_START ((yy_start - 1) / 2)
80 #define YYSTATE YY_START
82 /* Action number for EOF rule of a given start state. */
83 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
85 /* Special action meaning "start processing a new file". */
86 #define YY_NEW_FILE yyrestart( yyin )
88 #define YY_END_OF_BUFFER_CHAR 0
90 /* Size of default input buffer. */
91 #define YY_BUF_SIZE 16384
93 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
96 extern FILE *yyin
, *yyout
;
98 #define EOB_ACT_CONTINUE_SCAN 0
99 #define EOB_ACT_END_OF_FILE 1
100 #define EOB_ACT_LAST_MATCH 2
102 /* The funky do-while in the following #define is used to turn the definition
103 * int a single C statement (which needs a semi-colon terminator). This
104 * avoids problems with code like:
106 * if ( condition_holds )
109 * do_something_else();
111 * Prior to using the do-while the compiler would get upset at the
112 * "else" because it interpreted the "if" statement as being all
113 * done when it reached the ';' after the yyless() call.
116 /* Return all but the first 'n' matched characters back to the input stream. */
121 /* Undo effects of setting up yytext. */ \
122 *yy_cp = yy_hold_char; \
123 YY_RESTORE_YY_MORE_OFFSET \
124 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
125 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
129 #define unput(c) yyunput( c, yytext_ptr )
131 /* The following is because we cannot portably get our hands on size_t
132 * (without autoconf's help, which isn't available because we want
133 * flex-generated scanners to compile on their own).
135 typedef unsigned int yy_size_t
;
138 struct yy_buffer_state
142 char *yy_ch_buf
; /* input buffer */
143 char *yy_buf_pos
; /* current position in input buffer */
145 /* Size of input buffer in bytes, not including room for EOB
148 yy_size_t yy_buf_size
;
150 /* Number of characters read into yy_ch_buf, not including EOB
155 /* Whether we "own" the buffer - i.e., we know we created it,
156 * and can realloc() it to grow it, and should free() it to
159 int yy_is_our_buffer
;
161 /* Whether this is an "interactive" input source; if so, and
162 * if we're using stdio for input, then we want to use getc()
163 * instead of fread(), to make sure we stop fetching input after
166 int yy_is_interactive
;
168 /* Whether we're considered to be at the beginning of a line.
169 * If so, '^' rules will be active on the next match, otherwise
174 /* Whether to try to fill the input buffer when we reach the
179 int yy_buffer_status
;
180 #define YY_BUFFER_NEW 0
181 #define YY_BUFFER_NORMAL 1
182 /* When an EOF's been seen but there's still some text to process
183 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
184 * shouldn't try reading from the input source any more. We might
185 * still have a bunch of tokens to match, though, because of
186 * possible backing-up.
188 * When we actually see the EOF, we change the status to "new"
189 * (via yyrestart()), so that the user can continue scanning by
190 * just pointing yyin at a new input file.
192 #define YY_BUFFER_EOF_PENDING 2
195 static YY_BUFFER_STATE yy_current_buffer
= 0;
197 /* We provide macros for accessing buffer states in case in the
198 * future we want to put the buffer states in a more general
201 #define YY_CURRENT_BUFFER yy_current_buffer
204 /* yy_hold_char holds the character lost when yytext is formed. */
205 static char yy_hold_char
;
207 static int yy_n_chars
; /* number of characters read into yy_ch_buf */
212 /* Points to current character in buffer. */
213 static char *yy_c_buf_p
= NULL
;
214 static int yy_init
= 1; /* whether we need to initialize */
215 static int yy_start
= 0; /* start state number */
217 /* Flag which is used to allow yywrap()'s to do buffer switches
218 * instead of setting up a fresh yyin. A bit of a hack ...
220 static int yy_did_buffer_switch_on_eof
;
222 void yyrestart
YY_PROTO(( FILE *input_file
));
224 void yy_switch_to_buffer
YY_PROTO(( YY_BUFFER_STATE new_buffer
));
225 void yy_load_buffer_state
YY_PROTO(( void ));
226 YY_BUFFER_STATE yy_create_buffer
YY_PROTO(( FILE *file
, int size
));
227 void yy_delete_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
228 void yy_init_buffer
YY_PROTO(( YY_BUFFER_STATE b
, FILE *file
));
229 void yy_flush_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
230 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
232 YY_BUFFER_STATE yy_scan_buffer
YY_PROTO(( char *base
, yy_size_t size
));
233 YY_BUFFER_STATE yy_scan_string
YY_PROTO(( yyconst
char *yy_str
));
234 YY_BUFFER_STATE yy_scan_bytes
YY_PROTO(( yyconst
char *bytes
, int len
));
236 static void *yy_flex_alloc
YY_PROTO(( yy_size_t
));
237 static void *yy_flex_realloc
YY_PROTO(( void *, yy_size_t
));
238 static void yy_flex_free
YY_PROTO(( void * ));
240 #define yy_new_buffer yy_create_buffer
242 #define yy_set_interactive(is_interactive) \
244 if ( ! yy_current_buffer ) \
245 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
246 yy_current_buffer->yy_is_interactive = is_interactive; \
249 #define yy_set_bol(at_bol) \
251 if ( ! yy_current_buffer ) \
252 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
253 yy_current_buffer->yy_at_bol = at_bol; \
256 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
258 typedef unsigned char YY_CHAR
;
259 FILE *yyin
= NULL
, *yyout
= NULL
;
260 typedef int yy_state_type
;
262 #define yytext_ptr yytext
264 static yy_state_type yy_get_previous_state
YY_PROTO(( void ));
265 static yy_state_type yy_try_NUL_trans
YY_PROTO(( yy_state_type current_state
));
266 static int yy_get_next_buffer
YY_PROTO(( void ));
267 static void yy_fatal_error
YY_PROTO(( yyconst
char msg
[] ));
269 /* Done after the current pattern has been matched and before the
270 * corresponding action - sets up yytext.
272 #define YY_DO_BEFORE_ACTION \
273 yytext_ptr = yy_bp; \
274 yyleng = (int) (yy_cp - yy_bp); \
275 yy_hold_char = *yy_cp; \
279 #define YY_NUM_RULES 165
280 #define YY_END_OF_BUFFER 166
281 static yyconst
short int yy_accept
[769] =
283 0, 0, 0, 0, 87, 87, 163, 163, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 0, 166, 164,
287 7, 18, 164, 16, 1, 17, 164, 164, 164, 164,
288 15, 108, 100, 101, 108, 93, 108, 107, 108, 108,
289 108, 107, 99, 89, 108, 108, 91, 92, 87, 88,
290 87, 86, 85, 86, 86, 163, 163, 28, 29, 28,
291 28, 28, 28, 28, 28, 31, 30, 32, 31, 113,
292 109, 110, 112, 114, 141, 142, 141, 139, 138, 140,
294 115, 117, 115, 116, 115, 120, 120, 120, 120, 122,
295 124, 122, 122, 122, 122, 123, 151, 155, 151, 154,
296 156, 156, 152, 152, 152, 149, 150, 164, 82, 164,
297 21, 22, 21, 20, 157, 159, 157, 160, 161, 147,
298 147, 148, 147, 147, 147, 147, 147, 147, 147, 81,
299 34, 33, 81, 81, 81, 81, 35, 81, 81, 81,
300 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
301 81, 81, 81, 81, 81, 81, 26, 23, 26, 24,
302 7, 18, 0, 16, 1, 17, 0, 0, 0, 14,
303 8, 0, 0, 0, 0, 4, 5, 0, 2, 15,
305 100, 101, 0, 0, 0, 95, 0, 0, 105, 105,
306 0, 162, 162, 162, 94, 0, 99, 89, 0, 0,
307 0, 91, 92, 104, 90, 0, 87, 88, 86, 85,
308 85, 83, 84, 163, 163, 28, 29, 28, 28, 28,
309 28, 31, 30, 32, 111, 112, 142, 138, 117, 0,
310 118, 119, 124, 121, 151, 155, 0, 153, 0, 144,
311 152, 152, 152, 0, 82, 0, 21, 22, 21, 19,
312 157, 159, 158, 147, 147, 147, 148, 143, 147, 147,
313 147, 34, 33, 0, 80, 0, 0, 81, 81, 81,
314 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
316 81, 81, 81, 36, 81, 81, 81, 81, 81, 81,
317 81, 81, 81, 81, 0, 25, 24, 0, 14, 8,
318 0, 12, 0, 0, 0, 0, 0, 4, 5, 0,
319 6, 0, 96, 0, 97, 0, 0, 105, 105, 0,
320 105, 105, 105, 162, 162, 0, 106, 90, 98, 0,
321 104, 0, 83, 84, 28, 28, 28, 27, 28, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
323 0, 152, 152, 143, 143, 147, 147, 0, 0, 81,
324 81, 81, 81, 81, 44, 81, 81, 81, 49, 81,
325 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
327 81, 81, 81, 81, 81, 81, 81, 81, 0, 81,
328 81, 81, 81, 0, 0, 0, 12, 0, 0, 0,
329 0, 0, 0, 4, 5, 0, 105, 105, 105, 105,
330 105, 105, 162, 0, 0, 28, 28, 0, 0, 0,
331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
332 152, 152, 147, 147, 37, 38, 81, 81, 81, 81,
333 81, 81, 81, 81, 50, 51, 81, 81, 81, 55,
334 81, 81, 81, 81, 81, 81, 60, 81, 81, 81,
335 81, 81, 81, 67, 0, 0, 0, 81, 81, 81,
336 81, 0, 13, 0, 0, 0, 0, 0, 0, 105,
338 105, 105, 105, 105, 105, 0, 0, 28, 28, 137,
339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
340 0, 0, 152, 152, 147, 147, 39, 81, 41, 81,
341 43, 81, 81, 81, 47, 81, 52, 81, 81, 81,
342 81, 81, 81, 81, 81, 81, 62, 81, 81, 65,
343 81, 0, 0, 0, 0, 81, 81, 81, 81, 3,
344 0, 0, 0, 0, 105, 105, 105, 0, 0, 28,
345 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
346 0, 0, 0, 145, 146, 145, 146, 81, 42, 81,
347 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
349 81, 78, 61, 81, 64, 81, 0, 0, 0, 0,
350 81, 81, 69, 70, 0, 10, 0, 11, 0, 103,
351 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 0, 0, 0, 81, 81, 81, 45, 81, 48,
353 81, 81, 81, 81, 77, 81, 59, 63, 66, 0,
354 0, 0, 0, 79, 81, 0, 102, 0, 0, 0,
355 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
356 81, 81, 46, 81, 81, 56, 81, 81, 0, 0,
357 0, 0, 68, 0, 9, 0, 125, 126, 127, 128,
358 129, 130, 131, 132, 133, 134, 135, 0, 81, 81,
360 81, 81, 81, 81, 81, 0, 0, 0, 0, 0,
361 136, 81, 81, 81, 81, 54, 81, 81, 0, 0,
362 0, 0, 0, 0, 81, 81, 81, 53, 81, 58,
363 0, 0, 0, 0, 0, 0, 81, 81, 81, 81,
364 72, 0, 0, 0, 0, 73, 81, 81, 81, 81,
365 71, 0, 75, 0, 81, 81, 81, 74, 76, 81,
366 81, 81, 81, 81, 81, 57, 40, 0
369 static yyconst
int yy_ec
[256] =
371 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
372 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
373 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
374 1, 2, 1, 5, 6, 7, 8, 1, 9, 10,
375 10, 11, 12, 13, 14, 10, 15, 16, 16, 16,
376 16, 16, 16, 16, 17, 18, 19, 20, 1, 21,
377 22, 23, 10, 1, 31, 32, 33, 34, 35, 36,
378 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
379 47, 48, 49, 50, 51, 52, 53, 54, 55, 47,
380 26, 27, 28, 29, 30, 1, 31, 32, 33, 34,
382 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
383 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
384 55, 47, 56, 57, 58, 1, 1, 1, 1, 1,
385 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
386 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
387 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
388 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
389 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
390 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
391 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
395 1, 1, 1, 1, 1, 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,
401 static yyconst
int yy_meta
[59] =
403 1, 1, 2, 1, 3, 1, 1, 1, 4, 1,
404 5, 6, 1, 7, 4, 8, 8, 8, 8, 1,
405 1, 1, 1, 9, 10, 1, 11, 12, 1, 13,
406 14, 14, 14, 14, 14, 14, 15, 15, 15, 15,
407 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
408 15, 15, 15, 15, 15, 4, 1, 16
411 static yyconst
short int yy_base
[858] =
413 0, 58, 115, 172, 120, 129, 2712, 2711, 230, 2705,
414 136, 141, 288, 0, 2683, 2682, 144, 151, 185, 191,
415 178, 188, 344, 347, 375, 0, 125, 131, 147, 216,
416 431, 434, 461, 0, 519, 0, 205, 349, 2710, 2716,
417 353, 2716, 2706, 0, 360, 2716, 2705, 144, 570, 2696,
418 0, 2716, 577, 2716, 2703, 2716, 438, 2716, 2684, 126,
419 149, 427, 591, 2716, 2701, 141, 2682, 2716, 0, 2716,
420 2699, 0, 2699, 2697, 155, 2696, 2716, 0, 2716, 2695,
421 2716, 0, 2662, 2641, 2637, 0, 2692, 2716, 2690, 2716,
422 2716, 2663, 0, 2716, 2716, 2716, 2688, 2716, 431, 2716,
424 2716, 2716, 2687, 2716, 567, 2716, 2669, 571, 164, 2716,
425 2716, 2685, 0, 2667, 573, 2716, 0, 2716, 2683, 2716,
426 573, 2674, 0, 2649, 2628, 2716, 2716, 222, 2716, 356,
427 448, 2716, 450, 2667, 0, 2716, 2678, 2716, 0, 0,
428 198, 2716, 2677, 2621, 2716, 2667, 0, 2642, 2621, 2716,
429 2673, 2716, 2671, 2668, 2640, 2639, 2716, 544, 2639, 579,
430 2634, 2635, 318, 0, 2623, 2631, 424, 562, 2614, 587,
431 2629, 2613, 2618, 2626, 2629, 2604, 2716, 2716, 2653, 612,
432 634, 2716, 2654, 0, 637, 2716, 2653, 600, 2616, 0,
433 0, 641, 647, 651, 669, 0, 0, 453, 2716, 0,
435 672, 2716, 2651, 2597, 605, 2716, 2649, 2616, 620, 657,
436 645, 2716, 662, 0, 2716, 2592, 688, 2716, 2646, 2592,
437 2636, 2625, 2716, 0, 2716, 2610, 0, 2716, 0, 0,
438 2642, 0, 0, 2640, 2716, 0, 2716, 0, 2602, 2598,
439 745, 0, 2638, 2716, 2716, 0, 2716, 688, 2716, 773,
440 2716, 2716, 2716, 2716, 0, 2716, 673, 2716, 0, 2716,
441 0, 2599, 2595, 690, 2716, 698, 707, 2716, 709, 2716,
442 0, 2716, 2716, 0, 596, 2579, 2716, 827, 0, 2596,
443 2592, 2632, 2716, 2628, 2716, 2593, 2592, 0, 642, 2582,
444 563, 2617, 2579, 620, 2578, 2577, 2583, 669, 2570, 2584,
446 2572, 0, 2569, 2716, 2570, 2571, 2579, 2582, 685, 125,
447 2570, 2567, 2566, 688, 2608, 2716, 716, 2568, 0, 0,
448 720, 2716, 2608, 884, 2562, 2559, 2569, 0, 0, 723,
449 2716, 739, 2716, 805, 2716, 808, 2562, 787, 869, 876,
450 930, 881, 973, 800, 0, 2548, 2716, 2716, 2716, 2570,
451 0, 2559, 0, 0, 2568, 2557, 0, 2716, 0, 1009,
452 2581, 678, 870, 871, 874, 879, 913, 992, 974, 1013,
453 885, 2565, 2554, 0, 1067, 2563, 2552, 2546, 2545, 2557,
454 2562, 2561, 2550, 2557, 0, 2554, 2537, 2556, 0, 2536,
455 2543, 2533, 2548, 2568, 2537, 2549, 2544, 2542, 2541, 2532,
457 2539, 2540, 2538, 2539, 578, 2520, 2538, 2525, 860, 2526,
458 2528, 2521, 2517, 2529, 817, 1044, 2716, 822, 1095, 914,
459 2532, 2523, 2517, 0, 0, 2524, 1102, 1025, 1142, 2539,
460 1028, 1163, 2716, 2513, 2521, 2523, 2507, 0, 2526, 1058,
461 891, 1014, 1019, 894, 1038, 1080, 1072, 1086, 1083, 1081,
462 2520, 2504, 2518, 2502, 2716, 2716, 2505, 2493, 2492, 2495,
463 2507, 1148, 2507, 2492, 0, 0, 2492, 2493, 2507, 0,
464 2525, 2490, 2498, 2522, 2485, 2495, 0, 2500, 2491, 2487,
465 2479, 2479, 2483, 0, 875, 2494, 2481, 2494, 2480, 2475,
466 2491, 2519, 2716, 920, 999, 2465, 2474, 2468, 2494, 2496,
468 1105, 1184, 1081, 902, 969, 2479, 2491, 2463, 2477, 2716,
469 165, 1090, 1144, 1143, 1147, 1163, 1095, 1145, 1037, 1085,
470 1150, 1173, 2461, 2475, 2459, 2473, 0, 2458, 0, 2460,
471 0, 1165, 2454, 2469, 0, 2461, 0, 2471, 2410, 2414,
472 2434, 2400, 2393, 2405, 2385, 2382, 0, 2383, 2335, 0,
473 2335, 2330, 2326, 2309, 2278, 2259, 2269, 2268, 2256, 2297,
474 1046, 2238, 2242, 2253, 1179, 1142, 1145, 2247, 2246, 0,
475 0, 1191, 1192, 1172, 1201, 1202, 1204, 1205, 1206, 1207,
476 1209, 1210, 1208, 0, 0, 0, 0, 2254, 0, 2221,
477 2229, 2218, 2208, 2200, 2209, 2198, 2195, 2165, 2168, 2149,
479 2132, 0, 0, 2129, 0, 2139, 2143, 2134, 2124, 2137,
480 2117, 2116, 0, 0, 1228, 2716, 1232, 2716, 2111, 2716,
481 2117, 2716, 2115, 2114, 2108, 2107, 2106, 2103, 2102, 2098,
482 2095, 2063, 2047, 1213, 2012, 1986, 1975, 0, 1954, 0,
483 1947, 1950, 1941, 1945, 0, 1942, 0, 0, 0, 1938,
484 1940, 1934, 1905, 0, 1872, 1234, 2716, 1888, 1882, 1881,
485 1864, 1848, 1832, 1828, 1827, 1826, 1823, 1806, 1809, 1784,
486 1787, 1772, 0, 1781, 1786, 0, 1766, 1767, 1759, 1744,
487 1213, 1736, 0, 1236, 2716, 1245, 2716, 2716, 2716, 2716,
488 2716, 2716, 2716, 2716, 2716, 2716, 2716, 1750, 1727, 1720,
490 1701, 1687, 1670, 1681, 1667, 1679, 1659, 689, 1658, 1671,
491 2716, 1657, 1627, 1621, 1635, 0, 1603, 1596, 1595, 1608,
492 1602, 1587, 1586, 1583, 1581, 1587, 1555, 0, 1547, 0,
493 1527, 1507, 1520, 1503, 1483, 1482, 1485, 1443, 1440, 1228,
494 2716, 1225, 1224, 1206, 1210, 2716, 1213, 1202, 1018, 948,
495 2716, 945, 2716, 884, 780, 771, 779, 2716, 2716, 689,
496 673, 581, 408, 318, 86, 0, 0, 2716, 1263, 1279,
497 1295, 1311, 1327, 1343, 1359, 1375, 1391, 1407, 1423, 1439,
498 1455, 1471, 1481, 1496, 1505, 1520, 1536, 1545, 1560, 1576,
499 1592, 1608, 1624, 1634, 1649, 1659, 1674, 1690, 1706, 1718,
501 1728, 1743, 1759, 1775, 1791, 1807, 1817, 1832, 1843, 1236,
502 1858, 1874, 1890, 1898, 1905, 1920, 1936, 1952, 1968, 1977,
503 1985, 2001, 2017, 2033, 2049, 2065, 2081, 2097, 2113, 2123,
504 2138, 2148, 2155, 2170, 2182, 2192, 2207, 2223, 2239, 2255,
505 2265, 2280, 2291, 2306, 2322, 2338, 2354, 2364, 2373, 2388,
506 2404, 2420, 2429, 2437, 2453, 2469, 2485
509 static yyconst
short int yy_def
[858] =
511 768, 768, 769, 769, 770, 771, 772, 772, 768, 9,
512 773, 773, 768, 13, 774, 774, 775, 775, 776, 776,
513 777, 777, 778, 778, 768, 25, 779, 779, 780, 780,
514 781, 781, 768, 33, 768, 35, 782, 782, 768, 768,
515 768, 768, 768, 783, 768, 768, 768, 768, 784, 768,
516 785, 768, 768, 768, 768, 768, 768, 768, 768, 786,
517 787, 788, 768, 768, 768, 768, 768, 768, 789, 768,
518 789, 790, 791, 790, 790, 792, 768, 793, 768, 793,
519 768, 794, 794, 794, 793, 795, 768, 768, 795, 768,
520 768, 768, 796, 768, 768, 768, 768, 768, 768, 768,
522 768, 768, 768, 768, 787, 768, 768, 787, 797, 768,
523 768, 768, 798, 768, 787, 768, 799, 768, 799, 768,
524 800, 768, 801, 801, 801, 768, 768, 802, 768, 802,
525 803, 768, 803, 768, 804, 768, 804, 768, 805, 806,
526 806, 768, 806, 806, 768, 806, 807, 807, 807, 768,
527 768, 768, 768, 808, 768, 768, 768, 809, 809, 809,
528 809, 809, 809, 809, 809, 809, 809, 810, 809, 809,
529 809, 809, 809, 809, 809, 809, 768, 768, 811, 768,
530 768, 768, 768, 783, 768, 768, 768, 768, 768, 812,
531 813, 768, 768, 768, 768, 814, 815, 816, 768, 785,
533 768, 768, 768, 768, 817, 768, 768, 768, 818, 818,
534 819, 768, 768, 820, 768, 821, 768, 768, 768, 768,
535 768, 768, 768, 822, 768, 768, 823, 768, 824, 825,
536 825, 826, 827, 828, 768, 829, 768, 830, 830, 830,
537 768, 831, 768, 768, 768, 832, 768, 768, 768, 833,
538 768, 768, 768, 768, 834, 768, 835, 768, 835, 768,
539 836, 836, 836, 837, 768, 837, 838, 768, 838, 768,
540 839, 768, 768, 840, 840, 840, 768, 768, 841, 841,
541 841, 768, 768, 842, 768, 768, 768, 843, 843, 843,
542 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
544 843, 843, 843, 768, 843, 843, 843, 843, 843, 843,
545 843, 843, 843, 843, 844, 768, 768, 768, 845, 846,
546 847, 768, 768, 768, 768, 768, 768, 848, 849, 850,
547 768, 850, 768, 851, 768, 851, 768, 852, 852, 852,
548 768, 852, 852, 768, 853, 854, 768, 768, 768, 768,
549 855, 768, 826, 827, 830, 830, 241, 768, 241, 241,
550 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
551 833, 836, 836, 278, 278, 841, 841, 768, 768, 843,
552 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
553 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
555 843, 843, 843, 843, 843, 843, 843, 843, 768, 843,
556 843, 843, 843, 768, 847, 847, 768, 847, 847, 768,
557 768, 768, 768, 848, 849, 768, 341, 852, 343, 341,
558 852, 343, 768, 768, 768, 830, 830, 360, 768, 833,
559 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
560 836, 836, 841, 841, 768, 768, 843, 843, 843, 843,
561 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
562 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
563 843, 843, 843, 843, 768, 768, 768, 843, 843, 843,
564 843, 768, 768, 847, 847, 768, 768, 768, 768, 427,
566 852, 343, 852, 852, 852, 768, 768, 830, 830, 768,
567 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
568 833, 833, 836, 836, 841, 841, 843, 843, 843, 843,
569 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
570 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
571 843, 768, 768, 768, 768, 843, 843, 843, 843, 768,
572 856, 768, 768, 768, 852, 852, 852, 768, 768, 830,
573 830, 833, 833, 833, 833, 833, 833, 833, 833, 833,
574 833, 833, 833, 836, 836, 841, 841, 843, 843, 843,
575 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
577 843, 843, 843, 843, 843, 843, 768, 768, 768, 768,
578 843, 843, 843, 843, 856, 768, 856, 768, 768, 768,
579 768, 768, 833, 833, 833, 833, 833, 833, 833, 833,
580 833, 833, 833, 833, 843, 843, 843, 843, 843, 843,
581 843, 843, 843, 843, 843, 843, 843, 843, 843, 768,
582 768, 768, 768, 843, 843, 857, 768, 768, 768, 768,
583 768, 768, 768, 768, 768, 768, 768, 768, 833, 843,
584 843, 843, 843, 843, 843, 843, 843, 843, 768, 768,
585 768, 768, 843, 857, 768, 857, 768, 768, 768, 768,
586 768, 768, 768, 768, 768, 768, 768, 768, 843, 843,
588 843, 843, 843, 843, 843, 768, 768, 768, 768, 768,
589 768, 843, 843, 843, 843, 843, 843, 843, 768, 768,
590 768, 768, 768, 768, 843, 843, 843, 843, 843, 843,
591 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
592 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
593 768, 768, 768, 768, 843, 843, 843, 768, 768, 843,
594 843, 843, 843, 843, 843, 843, 843, 0, 768, 768,
595 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
596 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
597 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
599 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
600 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
601 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
602 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
603 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
604 768, 768, 768, 768, 768, 768, 768
607 static yyconst
short int yy_nxt
[2775] =
609 40, 41, 42, 43, 40, 40, 40, 40, 40, 40,
610 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
611 40, 40, 40, 44, 44, 40, 40, 40, 40, 44,
612 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
613 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
614 44, 44, 44, 44, 44, 40, 40, 40, 40, 45,
615 46, 47, 40, 48, 40, 49, 40, 40, 40, 40,
616 40, 40, 50, 40, 40, 40, 40, 40, 40, 40,
617 40, 51, 51, 40, 40, 40, 40, 51, 51, 51,
618 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
620 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
621 51, 51, 51, 40, 40, 40, 53, 54, 55, 56,
622 767, 57, 70, 71, 58, 58, 58, 129, 130, 58,
623 73, 70, 74, 129, 130, 59, 75, 87, 88, 89,
624 60, 61, 87, 88, 89, 188, 96, 97, 224, 132,
625 133, 210, 211, 96, 97, 404, 98, 134, 405, 99,
626 99, 99, 99, 98, 213, 213, 99, 99, 99, 99,
627 62, 58, 58, 63, 64, 65, 56, 252, 57, 66,
628 40, 58, 58, 58, 439, 189, 58, 102, 103, 104,
629 40, 252, 67, 102, 103, 104, 225, 60, 61, 275,
631 68, 100, 214, 107, 108, 276, 109, 178, 100, 179,
632 232, 105, 233, 107, 108, 572, 109, 105, 132, 133,
633 180, 180, 180, 180, 265, 266, 134, 62, 58, 58,
634 78, 78, 79, 80, 78, 78, 78, 78, 78, 78,
635 81, 78, 78, 78, 78, 78, 78, 78, 78, 78,
636 78, 78, 78, 82, 82, 78, 78, 78, 78, 82,
637 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
638 82, 82, 82, 82, 82, 82, 82, 83, 82, 82,
639 82, 82, 82, 82, 84, 78, 78, 78, 90, 90,
640 40, 90, 90, 90, 90, 90, 90, 90, 91, 90,
642 91, 90, 90, 90, 90, 90, 90, 90, 90, 90,
643 92, 93, 93, 90, 90, 90, 90, 93, 93, 93,
644 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
645 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
646 93, 93, 93, 90, 90, 90, 111, 112, 296, 111,
647 112, 178, 766, 179, 181, 182, 183, 113, 265, 266,
648 113, 185, 186, 187, 180, 180, 180, 180, 297, 114,
649 115, 116, 114, 115, 116, 117, 117, 118, 119, 120,
650 117, 117, 117, 121, 117, 117, 117, 117, 117, 122,
651 117, 117, 117, 117, 117, 117, 117, 117, 123, 123,
653 117, 117, 117, 117, 123, 123, 123, 123, 123, 123,
654 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
655 123, 123, 124, 123, 123, 123, 123, 123, 123, 125,
656 126, 117, 127, 136, 137, 138, 136, 137, 138, 206,
657 206, 207, 215, 215, 215, 215, 248, 248, 248, 248,
658 268, 269, 268, 269, 300, 331, 332, 139, 301, 765,
659 139, 140, 141, 142, 143, 140, 140, 140, 144, 140,
660 140, 145, 140, 140, 140, 146, 140, 140, 140, 140,
661 140, 140, 140, 140, 147, 147, 140, 140, 140, 140,
662 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
664 147, 147, 147, 147, 147, 147, 147, 147, 148, 147,
665 147, 147, 147, 147, 147, 149, 140, 140, 140, 150,
666 151, 152, 153, 154, 150, 150, 150, 150, 150, 150,
667 150, 150, 150, 150, 150, 155, 156, 150, 150, 150,
668 157, 150, 150, 150, 150, 150, 150, 150, 150, 158,
669 159, 160, 161, 162, 163, 164, 164, 165, 164, 164,
670 166, 167, 168, 169, 170, 164, 171, 172, 164, 173,
671 174, 175, 164, 176, 150, 150, 150, 191, 201, 202,
672 203, 258, 213, 213, 204, 289, 213, 213, 213, 213,
673 292, 290, 217, 218, 219, 383, 303, 275, 220, 259,
675 192, 188, 193, 276, 193, 221, 304, 335, 336, 293,
676 193, 222, 384, 193, 194, 195, 480, 193, 196, 223,
677 214, 306, 481, 197, 214, 198, 214, 317, 317, 317,
678 317, 307, 764, 205, 308, 181, 182, 183, 185, 186,
679 187, 189, 321, 322, 323, 339, 340, 205, 321, 322,
680 323, 387, 321, 322, 323, 388, 324, 324, 324, 324,
681 342, 342, 324, 324, 324, 324, 324, 324, 324, 324,
682 321, 322, 323, 201, 202, 203, 341, 344, 344, 204,
683 380, 258, 339, 340, 324, 324, 324, 324, 325, 217,
684 218, 219, 265, 266, 381, 220, 326, 439, 343, 259,
686 265, 266, 221, 248, 248, 248, 248, 673, 222, 268,
687 269, 268, 269, 327, 392, 402, 223, 409, 393, 440,
688 410, 416, 417, 418, 403, 331, 332, 763, 205, 411,
689 412, 317, 317, 317, 317, 419, 419, 419, 419, 721,
690 413, 331, 332, 722, 205, 357, 357, 358, 359, 357,
691 357, 357, 357, 357, 357, 360, 357, 357, 357, 357,
692 357, 357, 357, 357, 357, 357, 357, 357, 360, 360,
693 357, 357, 357, 357, 360, 360, 360, 360, 360, 360,
694 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
695 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
697 357, 357, 357, 362, 363, 364, 365, 335, 336, 366,
698 335, 336, 339, 340, 367, 212, 212, 762, 368, 493,
699 494, 369, 761, 370, 417, 494, 371, 374, 374, 760,
700 374, 374, 374, 374, 374, 374, 374, 375, 374, 374,
701 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
702 375, 375, 374, 374, 374, 374, 375, 375, 375, 375,
703 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
704 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
705 375, 375, 374, 374, 374, 420, 322, 323, 427, 439,
706 439, 428, 428, 439, 339, 340, 431, 431, 439, 324,
708 324, 324, 324, 338, 439, 485, 339, 340, 486, 487,
709 439, 441, 443, 439, 442, 420, 322, 323, 450, 552,
710 759, 513, 493, 494, 516, 553, 444, 339, 340, 429,
711 338, 338, 439, 338, 338, 338, 338, 338, 338, 338,
712 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
713 338, 338, 338, 430, 430, 339, 340, 445, 338, 338,
714 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
715 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
716 430, 430, 430, 430, 430, 338, 338, 338, 432, 432,
717 432, 432, 758, 439, 339, 340, 432, 757, 339, 340,
719 495, 417, 418, 432, 432, 432, 432, 432, 432, 360,
720 360, 439, 438, 360, 360, 360, 360, 360, 360, 448,
721 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
722 360, 360, 439, 439, 360, 360, 360, 360, 439, 446,
723 501, 501, 447, 504, 504, 416, 417, 418, 616, 617,
724 339, 340, 638, 339, 340, 515, 439, 439, 449, 419,
725 419, 419, 419, 514, 360, 360, 360, 375, 375, 580,
726 375, 375, 375, 375, 375, 375, 375, 439, 375, 375,
727 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
728 517, 439, 375, 375, 375, 375, 495, 417, 418, 439,
730 439, 511, 439, 512, 439, 439, 339, 340, 209, 439,
731 419, 419, 419, 419, 439, 519, 520, 581, 518, 522,
732 566, 566, 375, 375, 375, 500, 500, 573, 521, 578,
733 339, 340, 500, 500, 500, 500, 500, 500, 500, 500,
734 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
735 500, 500, 500, 500, 500, 500, 500, 502, 502, 502,
736 502, 532, 439, 439, 439, 502, 439, 339, 340, 439,
737 339, 340, 502, 502, 502, 502, 502, 502, 505, 505,
738 505, 505, 439, 533, 582, 576, 505, 574, 579, 534,
739 575, 439, 439, 505, 505, 505, 505, 505, 505, 567,
741 567, 567, 567, 590, 339, 340, 338, 567, 577, 583,
742 439, 439, 625, 591, 567, 567, 567, 567, 567, 567,
743 439, 439, 624, 439, 439, 439, 439, 439, 439, 439,
744 616, 617, 439, 623, 616, 617, 685, 686, 685, 686,
745 756, 628, 626, 632, 708, 755, 634, 685, 686, 302,
746 302, 627, 629, 754, 753, 630, 631, 633, 752, 751,
747 750, 709, 669, 52, 52, 52, 52, 52, 52, 52,
748 52, 52, 52, 52, 52, 52, 52, 52, 52, 69,
749 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
750 69, 69, 69, 69, 69, 72, 72, 72, 72, 72,
752 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
753 72, 76, 76, 76, 76, 76, 76, 76, 76, 76,
754 76, 76, 76, 76, 76, 76, 76, 86, 86, 86,
755 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
756 86, 86, 86, 40, 40, 40, 40, 40, 40, 40,
757 40, 40, 40, 40, 40, 40, 40, 40, 40, 95,
758 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
759 95, 95, 95, 95, 95, 101, 101, 101, 101, 101,
760 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
761 101, 106, 106, 106, 106, 106, 106, 106, 106, 106,
763 106, 106, 106, 106, 106, 106, 106, 110, 110, 110,
764 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
765 110, 110, 110, 128, 128, 128, 128, 128, 128, 128,
766 128, 128, 128, 128, 128, 128, 128, 128, 128, 131,
767 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
768 131, 131, 131, 131, 131, 135, 135, 135, 135, 135,
769 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
770 135, 177, 177, 177, 177, 177, 177, 177, 177, 177,
771 177, 177, 177, 177, 177, 177, 177, 184, 184, 184,
772 184, 749, 748, 184, 184, 184, 190, 190, 190, 190,
774 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
775 190, 200, 200, 200, 200, 747, 746, 200, 200, 200,
776 209, 745, 209, 209, 209, 209, 209, 209, 209, 209,
777 209, 209, 209, 209, 209, 209, 212, 744, 212, 212,
778 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
779 212, 212, 216, 216, 216, 743, 742, 216, 216, 216,
780 227, 741, 227, 227, 227, 227, 227, 227, 227, 227,
781 227, 227, 227, 227, 227, 227, 229, 740, 229, 229,
782 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
783 229, 229, 230, 739, 230, 230, 230, 230, 230, 230,
785 230, 230, 230, 230, 230, 230, 230, 230, 234, 234,
786 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
787 234, 234, 234, 234, 236, 738, 236, 236, 737, 236,
788 236, 236, 736, 735, 236, 236, 734, 733, 732, 236,
789 238, 238, 238, 238, 731, 730, 238, 238, 238, 242,
790 729, 242, 242, 242, 242, 242, 242, 242, 242, 242,
791 242, 242, 242, 242, 242, 246, 246, 246, 246, 728,
792 727, 246, 246, 246, 251, 726, 251, 251, 251, 251,
793 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
794 254, 725, 254, 254, 254, 254, 254, 254, 254, 254,
796 254, 724, 254, 254, 254, 254, 255, 723, 720, 719,
797 255, 255, 255, 255, 718, 717, 255, 255, 257, 716,
798 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
799 257, 257, 257, 257, 261, 261, 261, 261, 715, 714,
800 261, 261, 261, 264, 264, 264, 264, 264, 264, 264,
801 264, 264, 264, 264, 264, 264, 264, 264, 264, 267,
802 267, 267, 267, 713, 267, 267, 267, 267, 267, 267,
803 267, 267, 267, 267, 267, 271, 712, 711, 271, 271,
804 271, 271, 271, 271, 271, 710, 271, 271, 271, 271,
805 271, 273, 707, 273, 273, 273, 273, 273, 273, 273,
807 273, 273, 273, 273, 273, 273, 273, 274, 706, 274,
808 274, 705, 274, 274, 274, 704, 703, 274, 274, 702,
809 701, 700, 274, 279, 279, 279, 279, 699, 698, 279,
810 279, 279, 284, 697, 284, 284, 284, 284, 284, 284,
811 284, 284, 284, 284, 284, 284, 284, 284, 288, 288,
812 696, 288, 288, 695, 694, 693, 288, 288, 315, 692,
813 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
814 315, 315, 315, 315, 319, 691, 319, 319, 319, 319,
815 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
816 320, 690, 320, 320, 320, 320, 320, 320, 320, 320,
818 320, 320, 320, 320, 320, 320, 328, 328, 689, 688,
819 328, 328, 328, 329, 329, 687, 683, 329, 329, 329,
820 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
821 330, 330, 330, 330, 330, 330, 334, 334, 334, 334,
822 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
823 334, 334, 338, 682, 338, 338, 338, 338, 338, 338,
824 338, 338, 338, 681, 338, 338, 338, 338, 209, 680,
825 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
826 209, 209, 209, 209, 345, 345, 679, 678, 677, 676,
827 345, 346, 346, 346, 346, 675, 674, 346, 346, 346,
829 346, 351, 673, 351, 351, 351, 351, 351, 351, 351,
830 351, 351, 351, 351, 351, 351, 351, 227, 672, 227,
831 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
832 227, 227, 227, 229, 671, 229, 229, 229, 229, 229,
833 229, 229, 229, 229, 229, 229, 229, 229, 229, 230,
834 670, 230, 230, 230, 230, 230, 230, 230, 230, 230,
835 230, 230, 230, 230, 230, 353, 668, 353, 353, 353,
836 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
837 353, 354, 667, 354, 354, 354, 354, 354, 354, 354,
838 354, 354, 354, 354, 354, 354, 354, 234, 234, 234,
840 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
841 234, 234, 234, 236, 666, 236, 236, 665, 236, 236,
842 236, 664, 663, 236, 236, 662, 661, 660, 236, 238,
843 238, 238, 238, 659, 658, 238, 238, 238, 242, 657,
844 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
845 242, 242, 242, 242, 246, 246, 246, 246, 656, 655,
846 246, 246, 246, 361, 361, 654, 653, 652, 361, 361,
847 255, 651, 650, 649, 255, 255, 255, 255, 648, 647,
848 255, 255, 257, 646, 257, 257, 257, 257, 257, 257,
849 257, 257, 257, 257, 257, 257, 257, 257, 261, 261,
851 261, 261, 645, 644, 261, 261, 261, 264, 264, 264,
852 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
853 264, 264, 264, 267, 267, 267, 267, 643, 267, 267,
854 267, 267, 267, 267, 267, 267, 267, 267, 267, 271,
855 642, 641, 271, 271, 271, 271, 271, 271, 271, 640,
856 271, 271, 271, 271, 271, 274, 639, 274, 274, 638,
857 274, 274, 274, 637, 636, 274, 274, 635, 622, 621,
858 274, 279, 279, 279, 279, 620, 619, 279, 279, 279,
859 284, 618, 284, 284, 284, 284, 284, 284, 284, 284,
860 284, 284, 284, 284, 284, 284, 288, 288, 560, 288,
862 288, 614, 613, 612, 288, 288, 315, 611, 315, 315,
863 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
864 315, 315, 319, 610, 319, 319, 319, 319, 319, 319,
865 319, 319, 319, 319, 319, 319, 319, 319, 320, 609,
866 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
867 320, 320, 320, 320, 415, 415, 415, 415, 415, 415,
868 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
869 424, 424, 424, 424, 608, 607, 424, 424, 424, 425,
870 425, 425, 425, 606, 605, 425, 425, 425, 330, 330,
871 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
873 330, 330, 330, 330, 334, 334, 334, 334, 334, 334,
874 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
875 338, 604, 338, 338, 338, 338, 338, 338, 338, 338,
876 338, 603, 338, 338, 338, 338, 433, 433, 602, 601,
877 600, 599, 433, 346, 346, 346, 346, 598, 597, 346,
878 346, 346, 346, 351, 596, 351, 351, 351, 351, 351,
879 351, 351, 351, 351, 351, 351, 351, 351, 351, 615,
880 615, 615, 615, 615, 615, 615, 615, 615, 615, 615,
881 615, 615, 615, 615, 615, 684, 684, 684, 684, 684,
882 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
884 684, 595, 594, 593, 592, 589, 588, 587, 586, 585,
885 584, 571, 570, 569, 568, 565, 564, 563, 562, 561,
886 560, 559, 558, 557, 556, 555, 554, 551, 550, 549,
887 548, 547, 546, 545, 544, 543, 542, 541, 540, 539,
888 538, 537, 536, 535, 531, 530, 529, 528, 527, 526,
889 525, 524, 523, 510, 509, 508, 507, 506, 503, 499,
890 498, 497, 496, 492, 491, 490, 489, 488, 484, 483,
891 482, 479, 478, 477, 476, 475, 474, 473, 472, 471,
892 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
893 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
895 439, 437, 436, 435, 434, 347, 426, 423, 422, 421,
896 322, 414, 316, 408, 407, 406, 401, 400, 399, 398,
897 397, 396, 395, 394, 391, 390, 389, 386, 385, 382,
898 379, 378, 285, 282, 377, 376, 278, 373, 372, 243,
899 356, 355, 235, 231, 352, 350, 349, 348, 218, 347,
900 337, 206, 333, 202, 318, 186, 182, 316, 314, 313,
901 312, 311, 310, 309, 305, 299, 298, 295, 294, 291,
902 287, 286, 285, 283, 282, 281, 280, 260, 278, 277,
903 272, 270, 263, 262, 260, 256, 250, 253, 250, 249,
904 247, 245, 244, 243, 241, 240, 239, 237, 235, 228,
906 231, 228, 226, 218, 208, 202, 199, 186, 182, 768,
907 94, 94, 85, 77, 77, 39, 768, 768, 768, 768,
908 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
909 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
910 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
911 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
912 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
916 static yyconst
short int yy_chk
[2775] =
918 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
919 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
920 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
921 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
922 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
923 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
925 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
926 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
929 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
930 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
931 765, 3, 5, 5, 3, 3, 3, 27, 27, 3,
932 6, 6, 6, 28, 28, 3, 6, 11, 11, 11,
933 3, 3, 12, 12, 12, 48, 17, 17, 66, 29,
934 29, 60, 60, 18, 18, 310, 17, 29, 310, 17,
935 17, 17, 17, 18, 61, 61, 18, 18, 18, 18,
936 3, 3, 3, 4, 4, 4, 4, 109, 4, 4,
937 21, 4, 4, 4, 511, 48, 4, 19, 19, 19,
938 22, 109, 4, 20, 20, 20, 66, 4, 4, 141,
940 4, 17, 61, 21, 21, 141, 21, 37, 18, 37,
941 75, 19, 75, 22, 22, 511, 22, 20, 30, 30,
942 37, 37, 37, 37, 128, 128, 30, 4, 4, 4,
943 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
944 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
945 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
946 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
947 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
948 9, 9, 9, 9, 9, 9, 9, 9, 13, 13,
949 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
951 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
952 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
953 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
954 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
955 13, 13, 13, 13, 13, 13, 23, 23, 163, 24,
956 24, 38, 764, 38, 41, 41, 41, 23, 130, 130,
957 24, 45, 45, 45, 38, 38, 38, 38, 163, 23,
958 23, 23, 24, 24, 24, 25, 25, 25, 25, 25,
959 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
960 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
962 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
963 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
964 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
965 25, 25, 25, 31, 31, 31, 32, 32, 32, 57,
966 57, 57, 62, 62, 62, 62, 99, 99, 99, 99,
967 131, 131, 133, 133, 167, 198, 198, 31, 167, 763,
968 32, 33, 33, 33, 33, 33, 33, 33, 33, 33,
969 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
970 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
971 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
973 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
974 33, 33, 33, 33, 33, 33, 33, 33, 33, 35,
975 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
976 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
977 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
978 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
979 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
980 35, 35, 35, 35, 35, 35, 35, 49, 53, 53,
981 53, 121, 105, 105, 53, 158, 108, 108, 115, 115,
982 160, 158, 63, 63, 63, 291, 168, 275, 63, 121,
984 49, 188, 49, 275, 49, 63, 168, 205, 205, 160,
985 49, 63, 291, 49, 49, 49, 405, 49, 49, 63,
986 105, 170, 405, 49, 108, 49, 115, 180, 180, 180,
987 180, 170, 762, 53, 170, 181, 181, 181, 185, 185,
988 185, 188, 192, 192, 192, 209, 209, 63, 193, 193,
989 193, 294, 194, 194, 194, 294, 192, 192, 192, 192,
990 211, 211, 193, 193, 193, 193, 194, 194, 194, 194,
991 195, 195, 195, 201, 201, 201, 210, 213, 213, 201,
992 289, 257, 210, 210, 195, 195, 195, 195, 192, 217,
993 217, 217, 264, 264, 289, 217, 194, 362, 211, 257,
995 266, 266, 217, 248, 248, 248, 248, 761, 217, 267,
996 267, 269, 269, 195, 298, 309, 217, 314, 298, 362,
997 314, 321, 321, 321, 309, 330, 330, 760, 201, 314,
998 314, 317, 317, 317, 317, 321, 321, 321, 321, 708,
999 314, 332, 332, 708, 217, 241, 241, 241, 241, 241,
1000 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1001 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1002 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1003 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1004 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1006 241, 241, 241, 250, 250, 250, 250, 334, 334, 250,
1007 336, 336, 338, 338, 250, 344, 344, 757, 250, 415,
1008 415, 250, 756, 250, 418, 418, 250, 278, 278, 755,
1009 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1010 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1011 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1012 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1013 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1014 278, 278, 278, 278, 278, 324, 324, 324, 339, 363,
1015 364, 340, 340, 365, 339, 339, 342, 342, 366, 324,
1017 324, 324, 324, 340, 371, 409, 342, 342, 409, 409,
1018 441, 363, 365, 444, 364, 420, 420, 420, 371, 485,
1019 754, 441, 494, 494, 444, 485, 366, 504, 504, 340,
1020 341, 341, 367, 341, 341, 341, 341, 341, 341, 341,
1021 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1022 341, 341, 341, 341, 341, 341, 341, 367, 341, 341,
1023 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1024 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1025 341, 341, 341, 341, 341, 341, 341, 341, 343, 343,
1026 343, 343, 752, 369, 505, 505, 343, 750, 343, 343,
1028 495, 495, 495, 343, 343, 343, 343, 343, 343, 360,
1029 360, 368, 360, 360, 360, 360, 360, 360, 360, 369,
1030 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
1031 360, 360, 370, 442, 360, 360, 360, 360, 443, 368,
1032 428, 428, 368, 431, 431, 416, 416, 416, 561, 561,
1033 428, 428, 749, 431, 431, 443, 519, 445, 370, 416,
1034 416, 416, 416, 442, 360, 360, 360, 375, 375, 519,
1035 375, 375, 375, 375, 375, 375, 375, 440, 375, 375,
1036 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1037 445, 447, 375, 375, 375, 375, 419, 419, 419, 446,
1039 450, 440, 449, 440, 520, 448, 503, 503, 503, 512,
1040 419, 419, 419, 419, 517, 447, 448, 520, 446, 450,
1041 501, 501, 375, 375, 375, 427, 427, 512, 449, 517,
1042 501, 501, 427, 427, 427, 427, 427, 427, 427, 427,
1043 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1044 427, 427, 427, 427, 427, 427, 427, 429, 429, 429,
1045 429, 462, 514, 513, 518, 429, 515, 566, 566, 521,
1046 567, 567, 429, 429, 429, 429, 429, 429, 432, 432,
1047 432, 432, 516, 462, 521, 515, 432, 513, 518, 462,
1048 514, 574, 522, 432, 432, 432, 432, 432, 432, 502,
1050 502, 502, 502, 532, 565, 565, 565, 502, 516, 522,
1051 572, 573, 574, 532, 502, 502, 502, 502, 502, 502,
1052 575, 576, 573, 577, 578, 579, 580, 583, 581, 582,
1053 615, 615, 634, 572, 617, 617, 656, 656, 684, 684,
1054 748, 577, 575, 581, 681, 747, 583, 686, 686, 810,
1055 810, 576, 578, 745, 744, 579, 580, 582, 743, 742,
1056 740, 681, 634, 769, 769, 769, 769, 769, 769, 769,
1057 769, 769, 769, 769, 769, 769, 769, 769, 769, 770,
1058 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1059 770, 770, 770, 770, 770, 771, 771, 771, 771, 771,
1061 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
1062 771, 772, 772, 772, 772, 772, 772, 772, 772, 772,
1063 772, 772, 772, 772, 772, 772, 772, 773, 773, 773,
1064 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
1065 773, 773, 773, 774, 774, 774, 774, 774, 774, 774,
1066 774, 774, 774, 774, 774, 774, 774, 774, 774, 775,
1067 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
1068 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1069 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
1070 776, 777, 777, 777, 777, 777, 777, 777, 777, 777,
1072 777, 777, 777, 777, 777, 777, 777, 778, 778, 778,
1073 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
1074 778, 778, 778, 779, 779, 779, 779, 779, 779, 779,
1075 779, 779, 779, 779, 779, 779, 779, 779, 779, 780,
1076 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
1077 780, 780, 780, 780, 780, 781, 781, 781, 781, 781,
1078 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
1079 781, 782, 782, 782, 782, 782, 782, 782, 782, 782,
1080 782, 782, 782, 782, 782, 782, 782, 783, 783, 783,
1081 783, 739, 738, 783, 783, 783, 784, 784, 784, 784,
1083 784, 784, 784, 784, 784, 784, 784, 784, 784, 784,
1084 784, 785, 785, 785, 785, 737, 736, 785, 785, 785,
1085 786, 735, 786, 786, 786, 786, 786, 786, 786, 786,
1086 786, 786, 786, 786, 786, 786, 787, 734, 787, 787,
1087 787, 787, 787, 787, 787, 787, 787, 787, 787, 787,
1088 787, 787, 788, 788, 788, 733, 732, 788, 788, 788,
1089 789, 731, 789, 789, 789, 789, 789, 789, 789, 789,
1090 789, 789, 789, 789, 789, 789, 790, 729, 790, 790,
1091 790, 790, 790, 790, 790, 790, 790, 790, 790, 790,
1092 790, 790, 791, 727, 791, 791, 791, 791, 791, 791,
1094 791, 791, 791, 791, 791, 791, 791, 791, 792, 792,
1095 792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
1096 792, 792, 792, 792, 793, 726, 793, 793, 725, 793,
1097 793, 793, 724, 723, 793, 793, 722, 721, 720, 793,
1098 794, 794, 794, 794, 719, 718, 794, 794, 794, 795,
1099 717, 795, 795, 795, 795, 795, 795, 795, 795, 795,
1100 795, 795, 795, 795, 795, 796, 796, 796, 796, 715,
1101 714, 796, 796, 796, 797, 713, 797, 797, 797, 797,
1102 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1103 798, 712, 798, 798, 798, 798, 798, 798, 798, 798,
1105 798, 710, 798, 798, 798, 798, 799, 709, 707, 706,
1106 799, 799, 799, 799, 705, 704, 799, 799, 800, 703,
1107 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1108 800, 800, 800, 800, 801, 801, 801, 801, 702, 701,
1109 801, 801, 801, 802, 802, 802, 802, 802, 802, 802,
1110 802, 802, 802, 802, 802, 802, 802, 802, 802, 803,
1111 803, 803, 803, 700, 803, 803, 803, 803, 803, 803,
1112 803, 803, 803, 803, 803, 804, 699, 698, 804, 804,
1113 804, 804, 804, 804, 804, 682, 804, 804, 804, 804,
1114 804, 805, 680, 805, 805, 805, 805, 805, 805, 805,
1116 805, 805, 805, 805, 805, 805, 805, 806, 679, 806,
1117 806, 678, 806, 806, 806, 677, 675, 806, 806, 674,
1118 672, 671, 806, 807, 807, 807, 807, 670, 669, 807,
1119 807, 807, 808, 668, 808, 808, 808, 808, 808, 808,
1120 808, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1121 667, 809, 809, 666, 665, 664, 809, 809, 811, 663,
1122 811, 811, 811, 811, 811, 811, 811, 811, 811, 811,
1123 811, 811, 811, 811, 812, 662, 812, 812, 812, 812,
1124 812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
1125 813, 661, 813, 813, 813, 813, 813, 813, 813, 813,
1127 813, 813, 813, 813, 813, 813, 814, 814, 660, 659,
1128 814, 814, 814, 815, 815, 658, 655, 815, 815, 815,
1129 816, 816, 816, 816, 816, 816, 816, 816, 816, 816,
1130 816, 816, 816, 816, 816, 816, 817, 817, 817, 817,
1131 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1132 817, 817, 818, 653, 818, 818, 818, 818, 818, 818,
1133 818, 818, 818, 652, 818, 818, 818, 818, 819, 651,
1134 819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
1135 819, 819, 819, 819, 820, 820, 650, 646, 644, 643,
1136 820, 821, 821, 821, 821, 642, 641, 821, 821, 821,
1138 821, 822, 639, 822, 822, 822, 822, 822, 822, 822,
1139 822, 822, 822, 822, 822, 822, 822, 823, 637, 823,
1140 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
1141 823, 823, 823, 824, 636, 824, 824, 824, 824, 824,
1142 824, 824, 824, 824, 824, 824, 824, 824, 824, 825,
1143 635, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1144 825, 825, 825, 825, 825, 826, 633, 826, 826, 826,
1145 826, 826, 826, 826, 826, 826, 826, 826, 826, 826,
1146 826, 827, 632, 827, 827, 827, 827, 827, 827, 827,
1147 827, 827, 827, 827, 827, 827, 827, 828, 828, 828,
1149 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
1150 828, 828, 828, 829, 631, 829, 829, 630, 829, 829,
1151 829, 629, 628, 829, 829, 627, 626, 625, 829, 830,
1152 830, 830, 830, 624, 623, 830, 830, 830, 831, 621,
1153 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
1154 831, 831, 831, 831, 832, 832, 832, 832, 619, 612,
1155 832, 832, 832, 833, 833, 611, 610, 609, 833, 833,
1156 834, 608, 607, 606, 834, 834, 834, 834, 604, 601,
1157 834, 834, 835, 600, 835, 835, 835, 835, 835, 835,
1158 835, 835, 835, 835, 835, 835, 835, 835, 836, 836,
1160 836, 836, 599, 598, 836, 836, 836, 837, 837, 837,
1161 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
1162 837, 837, 837, 838, 838, 838, 838, 597, 838, 838,
1163 838, 838, 838, 838, 838, 838, 838, 838, 838, 839,
1164 596, 595, 839, 839, 839, 839, 839, 839, 839, 594,
1165 839, 839, 839, 839, 839, 840, 593, 840, 840, 592,
1166 840, 840, 840, 591, 590, 840, 840, 588, 569, 568,
1167 840, 841, 841, 841, 841, 564, 563, 841, 841, 841,
1168 842, 562, 842, 842, 842, 842, 842, 842, 842, 842,
1169 842, 842, 842, 842, 842, 842, 843, 843, 560, 843,
1171 843, 559, 558, 557, 843, 843, 844, 556, 844, 844,
1172 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1173 844, 844, 845, 555, 845, 845, 845, 845, 845, 845,
1174 845, 845, 845, 845, 845, 845, 845, 845, 846, 554,
1175 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
1176 846, 846, 846, 846, 847, 847, 847, 847, 847, 847,
1177 847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
1178 848, 848, 848, 848, 553, 552, 848, 848, 848, 849,
1179 849, 849, 849, 551, 549, 849, 849, 849, 850, 850,
1180 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
1182 850, 850, 850, 850, 851, 851, 851, 851, 851, 851,
1183 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
1184 852, 548, 852, 852, 852, 852, 852, 852, 852, 852,
1185 852, 546, 852, 852, 852, 852, 853, 853, 545, 544,
1186 543, 542, 853, 854, 854, 854, 854, 541, 540, 854,
1187 854, 854, 854, 855, 539, 855, 855, 855, 855, 855,
1188 855, 855, 855, 855, 855, 855, 855, 855, 855, 856,
1189 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
1190 856, 856, 856, 856, 856, 857, 857, 857, 857, 857,
1191 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
1193 857, 538, 536, 534, 533, 530, 528, 526, 525, 524,
1194 523, 509, 508, 507, 506, 500, 499, 498, 497, 496,
1195 492, 491, 490, 489, 488, 487, 486, 483, 482, 481,
1196 480, 479, 478, 476, 475, 474, 473, 472, 471, 469,
1197 468, 467, 464, 463, 461, 460, 459, 458, 457, 454,
1198 453, 452, 451, 439, 437, 436, 435, 434, 430, 426,
1199 423, 422, 421, 414, 413, 412, 411, 410, 408, 407,
1200 406, 404, 403, 402, 401, 400, 399, 398, 397, 396,
1201 395, 394, 393, 392, 391, 390, 388, 387, 386, 384,
1202 383, 382, 381, 380, 379, 378, 377, 376, 373, 372,
1204 361, 356, 355, 352, 350, 346, 337, 327, 326, 325,
1205 323, 318, 315, 313, 312, 311, 308, 307, 306, 305,
1206 303, 301, 300, 299, 297, 296, 295, 293, 292, 290,
1207 287, 286, 284, 282, 281, 280, 276, 263, 262, 243,
1208 240, 239, 234, 231, 226, 222, 221, 220, 219, 216,
1209 208, 207, 204, 203, 189, 187, 183, 179, 176, 175,
1210 174, 173, 172, 171, 169, 166, 165, 162, 161, 159,
1211 156, 155, 154, 153, 151, 149, 148, 146, 144, 143,
1212 137, 134, 125, 124, 122, 119, 114, 112, 107, 103,
1213 97, 92, 89, 87, 85, 84, 83, 80, 76, 74,
1215 73, 71, 67, 65, 59, 55, 50, 47, 43, 39,
1216 16, 15, 10, 8, 7, 768, 768, 768, 768, 768,
1217 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1218 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1219 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1220 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1221 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1225 static yy_state_type yy_last_accepting_state
;
1226 static char *yy_last_accepting_cpos
;
1228 /* The intent behind this definition is that it'll catch
1229 * any uses of REJECT which flex missed.
1231 #define REJECT reject_used_but_not_detected
1232 #define yymore() yymore_used_but_not_detected
1233 #define YY_MORE_ADJ 0
1234 #define YY_RESTORE_YY_MORE_OFFSET
1238 /* scan.l - scanner for flex input */
1241 * Copyright (c) 1990 The Regents of the University of California.
1242 * All rights reserved.
1244 * This code is derived from software contributed to Berkeley by
1247 * The United States Government has rights in this work pursuant
1248 * to contract no. DE-AC03-76SF00098 between the United States
1249 * Department of Energy and the University of California.
1251 * Redistribution and use in source and binary forms are permitted provided
1252 * that: (1) source distributions retain this entire copyright notice and
1253 * comment, and (2) distributions including binaries display the following
1254 * acknowledgement: ``This product includes software developed by the
1255 * University of California, Berkeley and its contributors'' in the
1256 * documentation or other materials provided with the distribution and in
1257 * all advertising materials mentioning features or use of this software.
1258 * Neither the name of the University nor the names of its contributors may
1259 * be used to endorse or promote products derived from this software without
1260 * specific prior written permission.
1261 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1262 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1263 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1266 /* $FreeBSD: src/usr.bin/lex/initscan.c,v 1.6 1999/10/27 07:56:45 obrien Exp $ */
1268 #include "flexdef.h"
1271 #define ACTION_ECHO add_action( yytext )
1272 #define ACTION_IFDEF(def, should_define) \
1274 if ( should_define ) \
1275 action_define( def, 1 ); \
1278 #define MARK_END_OF_PROLOG mark_prolog();
1283 #define RETURNCHAR \
1284 yylval = (unsigned char) yytext[0]; \
1287 #define RETURNNAME \
1288 strcpy( nmstr, yytext ); \
1291 #define PUT_BACK_STRING(str, start) \
1292 for ( i = strlen( str ) - 1; i >= start; --i ) \
1295 #define CHECK_REJECT(str) \
1296 if ( all_upper( str ) ) \
1299 #define CHECK_YYMORE(str) \
1300 if ( all_lower( str ) ) \
1302 #define YY_STACK_USED 1
1303 #define YY_NO_TOP_STATE 1
1305 #define SECT2PROLOG 2
1310 #define CARETISBOL 7
1319 #define ACTION_STRING 15
1320 #define PERCENT_BRACE_ACTION 16
1327 /* Macros after this point can all be overridden by user definitions in
1331 #ifndef YY_SKIP_YYWRAP
1333 extern "C" int yywrap
YY_PROTO(( void ));
1335 extern int yywrap
YY_PROTO(( void ));
1340 static void yyunput
YY_PROTO(( int c
, char *buf_ptr
));
1344 static void yy_flex_strncpy
YY_PROTO(( char *, yyconst
char *, int ));
1347 #ifdef YY_NEED_STRLEN
1348 static int yy_flex_strlen
YY_PROTO(( yyconst
char * ));
1353 static int yyinput
YY_PROTO(( void ));
1355 static int input
YY_PROTO(( void ));
1360 static int yy_start_stack_ptr
= 0;
1361 static int yy_start_stack_depth
= 0;
1362 static int *yy_start_stack
= 0;
1363 #ifndef YY_NO_PUSH_STATE
1364 static void yy_push_state
YY_PROTO(( int new_state
));
1366 #ifndef YY_NO_POP_STATE
1367 static void yy_pop_state
YY_PROTO(( void ));
1369 #ifndef YY_NO_TOP_STATE
1370 static int yy_top_state
YY_PROTO(( void ));
1374 #define YY_NO_PUSH_STATE 1
1375 #define YY_NO_POP_STATE 1
1376 #define YY_NO_TOP_STATE 1
1379 #ifdef YY_MALLOC_DECL
1387 /* Just try to get by without declaring the routines. This will fail
1388 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1389 * or sizeof(void*) != sizeof(int).
1394 /* Amount of stuff to slurp up with each read. */
1395 #ifndef YY_READ_BUF_SIZE
1396 #define YY_READ_BUF_SIZE 8192
1399 /* Copy whatever the last rule matched to the standard output. */
1402 /* This used to be an fputs(), but since the string might contain NUL's,
1403 * we now use fwrite().
1405 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1408 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1409 * is returned in "result".
1412 #define YY_INPUT(buf,result,max_size) \
1413 if ( yy_current_buffer->yy_is_interactive ) \
1416 for ( n = 0; n < max_size && \
1417 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1418 buf[n] = (char) c; \
1420 buf[n++] = (char) c; \
1421 if ( c == EOF && ferror( yyin ) ) \
1422 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1425 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1426 && ferror( yyin ) ) \
1427 YY_FATAL_ERROR( "input in flex scanner failed" );
1430 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1431 * we don't want an extra ';' after the "return" because that will cause
1432 * some compilers to complain about unreachable statements.
1435 #define yyterminate() return YY_NULL
1438 /* Number of entries by which start-condition stack grows. */
1439 #ifndef YY_START_STACK_INCR
1440 #define YY_START_STACK_INCR 25
1443 /* Report a fatal error. */
1444 #ifndef YY_FATAL_ERROR
1445 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1448 /* Default declaration of generated scanner - a define so the user can
1449 * easily add parameters.
1452 #define YY_DECL int yylex YY_PROTO(( void ))
1455 /* Code executed at the beginning of each rule, after yytext and yyleng
1458 #ifndef YY_USER_ACTION
1459 #define YY_USER_ACTION
1462 /* Code executed at the end of each rule. */
1464 #define YY_BREAK break;
1467 #define YY_RULE_SETUP \
1469 yy_current_buffer->yy_at_bol = \
1470 (yytext[yyleng - 1] == '\n'); \
1475 yy_state_type yy_current_state
;
1476 char *yy_cp
, *yy_bp
;
1481 static int bracelevel
, didadef
, indented_code
;
1482 static int doing_rule_action
= false;
1483 static int option_sense
;
1485 int doing_codeblock
= false;
1487 Char nmdef
[MAXLINE
], myesc();
1501 yy_start
= 1; /* first start state */
1509 if ( ! yy_current_buffer
)
1511 yy_create_buffer( yyin
, YY_BUF_SIZE
);
1513 yy_load_buffer_state();
1516 while ( 1 ) /* loops until end-of-file is reached */
1520 /* Support of yytext. */
1521 *yy_cp
= yy_hold_char
;
1523 /* yy_bp points to the position in yy_ch_buf of the start of
1528 yy_current_state
= yy_start
;
1529 yy_current_state
+= YY_AT_BOL();
1533 YY_CHAR yy_c
= yy_ec
[YY_SC_TO_UI(*yy_cp
)];
1534 if ( yy_accept
[yy_current_state
] )
1536 yy_last_accepting_state
= yy_current_state
;
1537 yy_last_accepting_cpos
= yy_cp
;
1539 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1541 yy_current_state
= (int) yy_def
[yy_current_state
];
1542 if ( yy_current_state
>= 769 )
1543 yy_c
= yy_meta
[(unsigned int) yy_c
];
1545 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1548 while ( yy_base
[yy_current_state
] != 2716 );
1551 yy_act
= yy_accept
[yy_current_state
];
1553 { /* have to back up */
1554 yy_cp
= yy_last_accepting_cpos
;
1555 yy_current_state
= yy_last_accepting_state
;
1556 yy_act
= yy_accept
[yy_current_state
];
1559 YY_DO_BEFORE_ACTION
;
1562 do_action
: /* This label is used only to access EOF actions. */
1566 { /* beginning of action switch */
1567 case 0: /* must back up */
1568 /* undo the effects of YY_DO_BEFORE_ACTION */
1569 *yy_cp
= yy_hold_char
;
1570 yy_cp
= yy_last_accepting_cpos
;
1571 yy_current_state
= yy_last_accepting_state
;
1572 goto yy_find_action
;
1578 indented_code
= true; BEGIN(CODEBLOCK
);
1583 ACTION_ECHO
; yy_push_state( COMMENT
);
1588 yy_push_state( LINEDIR
);
1605 line_directive_out( NULL
, 1 );
1606 indented_code
= false;
1622 line_directive_out( NULL
, 1 );
1630 yytext_is_array
= false; ++linenum
;
1635 yytext_is_array
= true; ++linenum
;
1640 BEGIN(OPTION
); return OPTION_OP
;
1645 ++linenum
; /* ignore */
1650 ++linenum
; /* ignore */
1655 synerr( _( "unrecognized '%' directive" ) );
1661 strcpy( nmstr
, yytext
);
1674 ++linenum
; /* allows blank lines in section 1 */
1679 ACTION_ECHO
; ++linenum
; /* maybe end of comment line */
1686 ACTION_ECHO
; yy_pop_state();
1701 ++linenum
; ACTION_ECHO
;
1713 linenum
= myctoi( yytext
);
1719 flex_free( (void *) infilename
);
1720 infilename
= copy_string( yytext
+ 1 );
1721 infilename
[strlen( infilename
) - 1] = '\0';
1727 /* ignore spurious characters */
1734 ++linenum
; BEGIN(INITIAL
);
1747 if ( indented_code
)
1756 /* separates name and definition */
1762 strcpy( (char *) nmdef
, yytext
);
1764 /* Skip trailing whitespace. */
1765 for ( i
= strlen( (char *) nmdef
) - 1;
1766 i
>= 0 && (nmdef
[i
] == ' ' || nmdef
[i
] == '\t');
1770 nmdef
[i
+ 1] = '\0';
1772 ndinstal( nmstr
, nmdef
);
1781 synerr( _( "incomplete name definition" ) );
1791 ++linenum
; BEGIN(INITIAL
);
1796 option_sense
= true;
1806 option_sense
= ! option_sense
;
1811 csize
= option_sense
? 128 : 256;
1816 csize
= option_sense
? 256 : 128;
1821 long_align
= option_sense
;
1827 action_define( "YY_ALWAYS_INTERACTIVE", option_sense
);
1833 yytext_is_array
= option_sense
;
1838 backing_up_report
= option_sense
;
1843 interactive
= ! option_sense
;
1848 C_plus_plus
= option_sense
;
1853 caseins
= ! option_sense
;
1858 caseins
= option_sense
;
1863 ddebug
= option_sense
;
1868 spprdflt
= ! option_sense
;
1873 useecs
= option_sense
;
1879 useecs
= usemecs
= false;
1880 use_read
= fullspd
= true;
1887 useecs
= usemecs
= false;
1888 use_read
= fulltbl
= true;
1894 ACTION_IFDEF("YY_NO_INPUT", ! option_sense
);
1899 interactive
= option_sense
;
1904 lex_compat
= option_sense
;
1910 action_define( "YY_MAIN", option_sense
);
1911 do_yywrap
= ! option_sense
;
1917 usemecs
= option_sense
;
1923 action_define( "YY_NEVER_INTERACTIVE", option_sense
);
1929 performance_report
+= option_sense
? 1 : -1;
1934 yytext_is_array
= ! option_sense
;
1939 use_read
= option_sense
;
1944 reject_really_used
= option_sense
;
1949 action_define( "YY_STACK_USED", option_sense
);
1954 do_stdinit
= option_sense
;
1959 use_stdout
= option_sense
;
1964 ACTION_IFDEF("YY_NO_UNPUT", ! option_sense
);
1969 printstats
= option_sense
;
1974 nowarn
= ! option_sense
;
1979 do_yylineno
= option_sense
;
1984 yymore_really_used
= option_sense
;
1989 do_yywrap
= option_sense
;
1994 ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense
);
1999 ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense
);
2004 ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense
);
2009 ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense
);
2014 ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense
);
2019 ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense
);
2040 strcpy( nmstr
, yytext
+ 1 );
2041 nmstr
[strlen( nmstr
) - 1] = '\0';
2049 format_synerr( _( "unrecognized %%option: %s" ),
2058 ++linenum
; BEGIN(INITIAL
);
2064 ++bracelevel
; yyless( 2 ); /* eat only %{ */
2069 --bracelevel
; yyless( 2 ); /* eat only %} */
2074 ACTION_ECHO
; /* indented code in prolog */
2079 { /* non-indented code */
2080 if ( bracelevel
<= 0 )
2081 { /* not in %{ ... %} */
2082 yyless( 0 ); /* put it all back */
2099 ++linenum
; ACTION_ECHO
;
2101 case YY_STATE_EOF(SECT2PROLOG
):
2106 yyterminate(); /* to stop the parser */
2114 ++linenum
; /* allow blank lines in section 2 */
2120 indented_code
= false;
2121 doing_codeblock
= true;
2123 BEGIN(PERCENT_BRACE_ACTION
);
2129 BEGIN(SC
); return '<';
2139 BEGIN(QUOTE
); return '"';
2142 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2143 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2144 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2147 BEGIN(NUM
); return '{';
2150 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2151 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2152 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2162 BEGIN(PERCENT_BRACE_ACTION
);
2166 doing_rule_action
= true;
2175 continued_action
= true; ++linenum
; return '\n';
2181 yyless( yyleng
- 2 ); /* put back '/', '*' */
2183 continued_action
= false;
2190 /* allow indented rules */
2196 /* This rule is separate from the one below because
2197 * otherwise we get variable trailing context, so
2198 * we can't build the scanner using -{f,F}.
2201 continued_action
= false;
2206 doing_rule_action
= true;
2217 continued_action
= false;
2219 unput( '\n' ); /* so <ACTION> sees it */
2223 doing_rule_action
= true;
2242 yyterminate(); /* to stop the parser */
2251 strcpy( nmstr
, yytext
);
2253 /* Check to see if we've already encountered this
2256 if ( (cclval
= ccllookup( (Char
*) nmstr
)) != 0 )
2258 if ( input() != ']' )
2259 synerr( _( "bad character class" ) );
2267 /* We fudge a bit. We know that this ccl will
2268 * soon be numbered as lastccl + 1 by cclinit.
2270 cclinstal( (Char
*) nmstr
, lastccl
+ 1 );
2272 /* Push back everything but the leading bracket
2273 * so the ccl can be rescanned.
2289 strcpy( nmstr
, yytext
+ 1 );
2290 nmstr
[yyleng
- 2] = '\0'; /* chop trailing brace */
2292 if ( (nmdefptr
= ndlookup( nmstr
)) == 0 )
2294 _( "undefined definition {%s}" ),
2298 { /* push back name surrounded by ()'s */
2299 int len
= strlen( (char *) nmdefptr
);
2301 if ( lex_compat
|| nmdefptr
[0] == '^' ||
2302 (len
> 0 && nmdefptr
[len
- 1] == '$') )
2303 { /* don't use ()'s after all */
2304 PUT_BACK_STRING((char *) nmdefptr
, 0);
2306 if ( nmdefptr
[0] == '^' )
2313 PUT_BACK_STRING((char *) nmdefptr
, 0);
2322 return (unsigned char) yytext
[0];
2334 return (unsigned char) yytext
[0];
2339 BEGIN(SECT2
); return '>';
2342 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2343 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2344 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2347 BEGIN(CARETISBOL
); return '>';
2358 format_synerr( _( "bad <start condition>: %s" ),
2366 BEGIN(SECT2
); return '^';
2377 BEGIN(SECT2
); return '"';
2383 synerr( _( "missing quote" ) );
2392 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2393 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2394 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2397 BEGIN(CCL
); return '^';
2400 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2401 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2402 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2410 BEGIN(CCL
); RETURNCHAR
;
2415 *yy_cp
= yy_hold_char
; /* undo effects of setting up yytext */
2416 yy_c_buf_p
= yy_cp
= yy_bp
+ 1;
2417 YY_DO_BEFORE_ACTION
; /* set up yytext again */
2430 BEGIN(SECT2
); return ']';
2436 synerr( _( "bad character class" ) );
2446 BEGIN(CCL
); return CCE_ALNUM
;
2451 BEGIN(CCL
); return CCE_ALPHA
;
2456 BEGIN(CCL
); return CCE_BLANK
;
2461 BEGIN(CCL
); return CCE_CNTRL
;
2466 BEGIN(CCL
); return CCE_DIGIT
;
2471 BEGIN(CCL
); return CCE_GRAPH
;
2476 BEGIN(CCL
); return CCE_LOWER
;
2481 BEGIN(CCL
); return CCE_PRINT
;
2486 BEGIN(CCL
); return CCE_PUNCT
;
2491 BEGIN(CCL
); return CCE_SPACE
;
2496 BEGIN(CCL
); return CCE_UPPER
;
2501 BEGIN(CCL
); return CCE_XDIGIT
;
2508 _( "bad character class expression: %s" ),
2510 BEGIN(CCL
); return CCE_ALNUM
;
2519 yylval
= myctoi( yytext
);
2531 BEGIN(SECT2
); return '}';
2537 synerr( _( "bad character inside {}'s" ) );
2546 synerr( _( "missing }" ) );
2562 ACTION_ECHO
; yy_push_state( COMMENT
);
2570 CHECK_REJECT(yytext
);
2578 CHECK_YYMORE(yytext
);
2593 if ( bracelevel
== 0 ||
2594 (doing_codeblock
&& indented_code
) )
2596 if ( doing_rule_action
)
2597 add_action( "\tYY_BREAK\n" );
2599 doing_rule_action
= doing_codeblock
= false;
2605 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
2610 ACTION_ECHO
; ++bracelevel
;
2615 ACTION_ECHO
; --bracelevel
;
2630 ACTION_ECHO
; /* character constant */
2635 ACTION_ECHO
; BEGIN(ACTION_STRING
);
2643 if ( bracelevel
== 0 )
2645 if ( doing_rule_action
)
2646 add_action( "\tYY_BREAK\n" );
2648 doing_rule_action
= false;
2673 ++linenum
; ACTION_ECHO
;
2678 ACTION_ECHO
; BEGIN(ACTION
);
2686 case YY_STATE_EOF(COMMENT
):
2687 case YY_STATE_EOF(ACTION
):
2688 case YY_STATE_EOF(ACTION_STRING
):
2691 synerr( _( "EOF encountered inside an action" ) );
2699 yylval
= myesc( (Char
*) yytext
);
2701 if ( YY_START
== FIRSTCCL
)
2713 case YY_STATE_EOF(SECT3
):
2715 sectnum
= 0; yyterminate();
2721 format_synerr( _( "bad character: %s" ), yytext
);
2726 YY_FATAL_ERROR( "flex scanner jammed" );
2729 case YY_STATE_EOF(INITIAL
):
2730 case YY_STATE_EOF(SECT2
):
2731 case YY_STATE_EOF(CODEBLOCK
):
2732 case YY_STATE_EOF(PICKUPDEF
):
2733 case YY_STATE_EOF(SC
):
2734 case YY_STATE_EOF(CARETISBOL
):
2735 case YY_STATE_EOF(NUM
):
2736 case YY_STATE_EOF(QUOTE
):
2737 case YY_STATE_EOF(FIRSTCCL
):
2738 case YY_STATE_EOF(CCL
):
2739 case YY_STATE_EOF(RECOVER
):
2740 case YY_STATE_EOF(PERCENT_BRACE_ACTION
):
2741 case YY_STATE_EOF(OPTION
):
2742 case YY_STATE_EOF(LINEDIR
):
2745 case YY_END_OF_BUFFER
:
2747 /* Amount of text matched not including the EOB char. */
2748 int yy_amount_of_matched_text
= (int) (yy_cp
- yytext_ptr
) - 1;
2750 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2751 *yy_cp
= yy_hold_char
;
2752 YY_RESTORE_YY_MORE_OFFSET
2754 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_NEW
)
2756 /* We're scanning a new file or input source. It's
2757 * possible that this happened because the user
2758 * just pointed yyin at a new source and called
2759 * yylex(). If so, then we have to assure
2760 * consistency between yy_current_buffer and our
2761 * globals. Here is the right place to do so, because
2762 * this is the first action (other than possibly a
2763 * back-up) that will match for the new input source.
2765 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
2766 yy_current_buffer
->yy_input_file
= yyin
;
2767 yy_current_buffer
->yy_buffer_status
= YY_BUFFER_NORMAL
;
2770 /* Note that here we test for yy_c_buf_p "<=" to the position
2771 * of the first EOB in the buffer, since yy_c_buf_p will
2772 * already have been incremented past the NUL character
2773 * (since all states make transitions on EOB to the
2774 * end-of-buffer state). Contrast this with the test
2777 if ( yy_c_buf_p
<= &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
2778 { /* This was really a NUL. */
2779 yy_state_type yy_next_state
;
2781 yy_c_buf_p
= yytext_ptr
+ yy_amount_of_matched_text
;
2783 yy_current_state
= yy_get_previous_state();
2785 /* Okay, we're now positioned to make the NUL
2786 * transition. We couldn't have
2787 * yy_get_previous_state() go ahead and do it
2788 * for us because it doesn't know how to deal
2789 * with the possibility of jamming (and we don't
2790 * want to build jamming into it because then it
2791 * will run more slowly).
2794 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
2796 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2798 if ( yy_next_state
)
2800 /* Consume the NUL. */
2801 yy_cp
= ++yy_c_buf_p
;
2802 yy_current_state
= yy_next_state
;
2809 goto yy_find_action
;
2813 else switch ( yy_get_next_buffer() )
2815 case EOB_ACT_END_OF_FILE
:
2817 yy_did_buffer_switch_on_eof
= 0;
2821 /* Note: because we've taken care in
2822 * yy_get_next_buffer() to have set up
2823 * yytext, we can now set up
2824 * yy_c_buf_p so that if some total
2825 * hoser (like flex itself) wants to
2826 * call the scanner after we return the
2827 * YY_NULL, it'll still work - another
2828 * YY_NULL will get returned.
2830 yy_c_buf_p
= yytext_ptr
+ YY_MORE_ADJ
;
2832 yy_act
= YY_STATE_EOF(YY_START
);
2838 if ( ! yy_did_buffer_switch_on_eof
)
2844 case EOB_ACT_CONTINUE_SCAN
:
2846 yytext_ptr
+ yy_amount_of_matched_text
;
2848 yy_current_state
= yy_get_previous_state();
2851 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2854 case EOB_ACT_LAST_MATCH
:
2856 &yy_current_buffer
->yy_ch_buf
[yy_n_chars
];
2858 yy_current_state
= yy_get_previous_state();
2861 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
2862 goto yy_find_action
;
2869 "fatal flex scanner internal error--no action found" );
2870 } /* end of action switch */
2871 } /* end of scanning one token */
2872 } /* end of yylex */
2875 /* yy_get_next_buffer - try to read in a new buffer
2877 * Returns a code representing an action:
2878 * EOB_ACT_LAST_MATCH -
2879 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2880 * EOB_ACT_END_OF_FILE - end of file
2883 static int yy_get_next_buffer()
2885 char *dest
= yy_current_buffer
->yy_ch_buf
;
2886 char *source
= yytext_ptr
;
2887 int number_to_move
, i
;
2890 if ( yy_c_buf_p
> &yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] )
2892 "fatal flex scanner internal error--end of buffer missed" );
2894 if ( yy_current_buffer
->yy_fill_buffer
== 0 )
2895 { /* Don't try to fill the buffer, so this is an EOF. */
2896 if ( yy_c_buf_p
- yytext_ptr
- YY_MORE_ADJ
== 1 )
2898 /* We matched a single character, the EOB, so
2899 * treat this as a final EOF.
2901 return EOB_ACT_END_OF_FILE
;
2906 /* We matched some text prior to the EOB, first
2909 return EOB_ACT_LAST_MATCH
;
2913 /* Try to read more data. */
2915 /* First move last chars to start of buffer. */
2916 number_to_move
= (int) (yy_c_buf_p
- yytext_ptr
) - 1;
2918 for ( i
= 0; i
< number_to_move
; ++i
)
2919 *(dest
++) = *(source
++);
2921 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_EOF_PENDING
)
2922 /* don't do the read, it's not guaranteed to return an EOF,
2925 yy_current_buffer
->yy_n_chars
= yy_n_chars
= 0;
2930 yy_current_buffer
->yy_buf_size
- number_to_move
- 1;
2932 while ( num_to_read
<= 0 )
2933 { /* Not enough room in the buffer - grow it. */
2934 #ifdef YY_USES_REJECT
2936 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2939 /* just a shorter name for the current buffer */
2940 YY_BUFFER_STATE b
= yy_current_buffer
;
2942 int yy_c_buf_p_offset
=
2943 (int) (yy_c_buf_p
- b
->yy_ch_buf
);
2945 if ( b
->yy_is_our_buffer
)
2947 int new_size
= b
->yy_buf_size
* 2;
2949 if ( new_size
<= 0 )
2950 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
2952 b
->yy_buf_size
*= 2;
2954 b
->yy_ch_buf
= (char *)
2955 /* Include room in for 2 EOB chars. */
2956 yy_flex_realloc( (void *) b
->yy_ch_buf
,
2957 b
->yy_buf_size
+ 2 );
2960 /* Can't grow it, we don't own it. */
2963 if ( ! b
->yy_ch_buf
)
2965 "fatal error - scanner input buffer overflow" );
2967 yy_c_buf_p
= &b
->yy_ch_buf
[yy_c_buf_p_offset
];
2969 num_to_read
= yy_current_buffer
->yy_buf_size
-
2974 if ( num_to_read
> YY_READ_BUF_SIZE
)
2975 num_to_read
= YY_READ_BUF_SIZE
;
2977 /* Read in more data. */
2978 YY_INPUT( (&yy_current_buffer
->yy_ch_buf
[number_to_move
]),
2979 yy_n_chars
, num_to_read
);
2981 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
2984 if ( yy_n_chars
== 0 )
2986 if ( number_to_move
== YY_MORE_ADJ
)
2988 ret_val
= EOB_ACT_END_OF_FILE
;
2994 ret_val
= EOB_ACT_LAST_MATCH
;
2995 yy_current_buffer
->yy_buffer_status
=
2996 YY_BUFFER_EOF_PENDING
;
3001 ret_val
= EOB_ACT_CONTINUE_SCAN
;
3003 yy_n_chars
+= number_to_move
;
3004 yy_current_buffer
->yy_ch_buf
[yy_n_chars
] = YY_END_OF_BUFFER_CHAR
;
3005 yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] = YY_END_OF_BUFFER_CHAR
;
3007 yytext_ptr
= &yy_current_buffer
->yy_ch_buf
[0];
3013 /* yy_get_previous_state - get the state just before the EOB char was reached */
3015 static yy_state_type
yy_get_previous_state()
3017 yy_state_type yy_current_state
;
3020 yy_current_state
= yy_start
;
3021 yy_current_state
+= YY_AT_BOL();
3023 for ( yy_cp
= yytext_ptr
+ YY_MORE_ADJ
; yy_cp
< yy_c_buf_p
; ++yy_cp
)
3025 YY_CHAR yy_c
= (*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
3026 if ( yy_accept
[yy_current_state
] )
3028 yy_last_accepting_state
= yy_current_state
;
3029 yy_last_accepting_cpos
= yy_cp
;
3031 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
3033 yy_current_state
= (int) yy_def
[yy_current_state
];
3034 if ( yy_current_state
>= 769 )
3035 yy_c
= yy_meta
[(unsigned int) yy_c
];
3037 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
3040 return yy_current_state
;
3044 /* yy_try_NUL_trans - try to make a transition on the NUL character
3047 * next_state = yy_try_NUL_trans( current_state );
3050 #ifdef YY_USE_PROTOS
3051 static yy_state_type
yy_try_NUL_trans( yy_state_type yy_current_state
)
3053 static yy_state_type
yy_try_NUL_trans( yy_current_state
)
3054 yy_state_type yy_current_state
;
3058 char *yy_cp
= yy_c_buf_p
;
3061 if ( yy_accept
[yy_current_state
] )
3063 yy_last_accepting_state
= yy_current_state
;
3064 yy_last_accepting_cpos
= yy_cp
;
3066 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
3068 yy_current_state
= (int) yy_def
[yy_current_state
];
3069 if ( yy_current_state
>= 769 )
3070 yy_c
= yy_meta
[(unsigned int) yy_c
];
3072 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
3073 yy_is_jam
= (yy_current_state
== 768);
3075 return yy_is_jam
? 0 : yy_current_state
;
3080 #ifdef YY_USE_PROTOS
3081 static void yyunput( int c
, char *yy_bp
)
3083 static void yyunput( c
, yy_bp
)
3088 char *yy_cp
= yy_c_buf_p
;
3090 /* undo effects of setting up yytext */
3091 *yy_cp
= yy_hold_char
;
3093 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
3094 { /* need to shift things up to make room */
3095 /* +2 for EOB chars. */
3096 int number_to_move
= yy_n_chars
+ 2;
3097 char *dest
= &yy_current_buffer
->yy_ch_buf
[
3098 yy_current_buffer
->yy_buf_size
+ 2];
3100 &yy_current_buffer
->yy_ch_buf
[number_to_move
];
3102 while ( source
> yy_current_buffer
->yy_ch_buf
)
3103 *--dest
= *--source
;
3105 yy_cp
+= (int) (dest
- source
);
3106 yy_bp
+= (int) (dest
- source
);
3107 yy_current_buffer
->yy_n_chars
=
3108 yy_n_chars
= yy_current_buffer
->yy_buf_size
;
3110 if ( yy_cp
< yy_current_buffer
->yy_ch_buf
+ 2 )
3111 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3114 *--yy_cp
= (char) c
;
3118 yy_hold_char
= *yy_cp
;
3121 #endif /* ifndef YY_NO_UNPUT */
3125 static int yyinput()
3132 *yy_c_buf_p
= yy_hold_char
;
3134 if ( *yy_c_buf_p
== YY_END_OF_BUFFER_CHAR
)
3136 /* yy_c_buf_p now points to the character we want to return.
3137 * If this occurs *before* the EOB characters, then it's a
3138 * valid NUL; if not, then we've hit the end of the buffer.
3140 if ( yy_c_buf_p
< &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
3141 /* This was really a NUL. */
3145 { /* need more input */
3146 int offset
= yy_c_buf_p
- yytext_ptr
;
3149 switch ( yy_get_next_buffer() )
3151 case EOB_ACT_LAST_MATCH
:
3152 /* This happens because yy_g_n_b()
3153 * sees that we've accumulated a
3154 * token and flags that we need to
3155 * try matching the token before
3156 * proceeding. But for input(),
3157 * there's no matching to consider.
3158 * So convert the EOB_ACT_LAST_MATCH
3159 * to EOB_ACT_END_OF_FILE.
3162 /* Reset buffer status. */
3167 case EOB_ACT_END_OF_FILE
:
3172 if ( ! yy_did_buffer_switch_on_eof
)
3181 case EOB_ACT_CONTINUE_SCAN
:
3182 yy_c_buf_p
= yytext_ptr
+ offset
;
3188 c
= *(unsigned char *) yy_c_buf_p
; /* cast for 8-bit char's */
3189 *yy_c_buf_p
= '\0'; /* preserve yytext */
3190 yy_hold_char
= *++yy_c_buf_p
;
3192 yy_current_buffer
->yy_at_bol
= (c
== '\n');
3198 #ifdef YY_USE_PROTOS
3199 void yyrestart( FILE *input_file
)
3201 void yyrestart( input_file
)
3205 if ( ! yy_current_buffer
)
3206 yy_current_buffer
= yy_create_buffer( yyin
, YY_BUF_SIZE
);
3208 yy_init_buffer( yy_current_buffer
, input_file
);
3209 yy_load_buffer_state();
3213 #ifdef YY_USE_PROTOS
3214 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer
)
3216 void yy_switch_to_buffer( new_buffer
)
3217 YY_BUFFER_STATE new_buffer
;
3220 if ( yy_current_buffer
== new_buffer
)
3223 if ( yy_current_buffer
)
3225 /* Flush out information for old buffer. */
3226 *yy_c_buf_p
= yy_hold_char
;
3227 yy_current_buffer
->yy_buf_pos
= yy_c_buf_p
;
3228 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
3231 yy_current_buffer
= new_buffer
;
3232 yy_load_buffer_state();
3234 /* We don't actually know whether we did this switch during
3235 * EOF (yywrap()) processing, but the only time this flag
3236 * is looked at is after yywrap() is called, so it's safe
3237 * to go ahead and always set it.
3239 yy_did_buffer_switch_on_eof
= 1;
3243 #ifdef YY_USE_PROTOS
3244 void yy_load_buffer_state( void )
3246 void yy_load_buffer_state()
3249 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
3250 yytext_ptr
= yy_c_buf_p
= yy_current_buffer
->yy_buf_pos
;
3251 yyin
= yy_current_buffer
->yy_input_file
;
3252 yy_hold_char
= *yy_c_buf_p
;
3256 #ifdef YY_USE_PROTOS
3257 YY_BUFFER_STATE
yy_create_buffer( FILE *file
, int size
)
3259 YY_BUFFER_STATE
yy_create_buffer( file
, size
)
3266 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
3268 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3270 b
->yy_buf_size
= size
;
3272 /* yy_ch_buf has to be 2 characters longer than the size given because
3273 * we need to put in 2 end-of-buffer characters.
3275 b
->yy_ch_buf
= (char *) yy_flex_alloc( b
->yy_buf_size
+ 2 );
3276 if ( ! b
->yy_ch_buf
)
3277 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3279 b
->yy_is_our_buffer
= 1;
3281 yy_init_buffer( b
, file
);
3287 #ifdef YY_USE_PROTOS
3288 void yy_delete_buffer( YY_BUFFER_STATE b
)
3290 void yy_delete_buffer( b
)
3297 if ( b
== yy_current_buffer
)
3298 yy_current_buffer
= (YY_BUFFER_STATE
) 0;
3300 if ( b
->yy_is_our_buffer
)
3301 yy_flex_free( (void *) b
->yy_ch_buf
);
3303 yy_flex_free( (void *) b
);
3307 #ifndef YY_ALWAYS_INTERACTIVE
3308 #ifndef YY_NEVER_INTERACTIVE
3309 extern int isatty
YY_PROTO(( int ));
3313 #ifdef YY_USE_PROTOS
3314 void yy_init_buffer( YY_BUFFER_STATE b
, FILE *file
)
3316 void yy_init_buffer( b
, file
)
3323 yy_flush_buffer( b
);
3325 b
->yy_input_file
= file
;
3326 b
->yy_fill_buffer
= 1;
3328 #if YY_ALWAYS_INTERACTIVE
3329 b
->yy_is_interactive
= 1;
3331 #if YY_NEVER_INTERACTIVE
3332 b
->yy_is_interactive
= 0;
3334 b
->yy_is_interactive
= file
? (isatty( fileno(file
) ) > 0) : 0;
3340 #ifdef YY_USE_PROTOS
3341 void yy_flush_buffer( YY_BUFFER_STATE b
)
3343 void yy_flush_buffer( b
)
3353 /* We always need two end-of-buffer characters. The first causes
3354 * a transition to the end-of-buffer state. The second causes
3355 * a jam in that state.
3357 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
3358 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
3360 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
3363 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3365 if ( b
== yy_current_buffer
)
3366 yy_load_buffer_state();
3370 #ifndef YY_NO_SCAN_BUFFER
3371 #ifdef YY_USE_PROTOS
3372 YY_BUFFER_STATE
yy_scan_buffer( char *base
, yy_size_t size
)
3374 YY_BUFFER_STATE
yy_scan_buffer( base
, size
)
3382 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
3383 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
3384 /* They forgot to leave room for the EOB's. */
3387 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
3389 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3391 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
3392 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
3393 b
->yy_is_our_buffer
= 0;
3394 b
->yy_input_file
= 0;
3395 b
->yy_n_chars
= b
->yy_buf_size
;
3396 b
->yy_is_interactive
= 0;
3398 b
->yy_fill_buffer
= 0;
3399 b
->yy_buffer_status
= YY_BUFFER_NEW
;
3401 yy_switch_to_buffer( b
);
3408 #ifndef YY_NO_SCAN_STRING
3409 #ifdef YY_USE_PROTOS
3410 YY_BUFFER_STATE
yy_scan_string( yyconst
char *yy_str
)
3412 YY_BUFFER_STATE
yy_scan_string( yy_str
)
3413 yyconst
char *yy_str
;
3417 for ( len
= 0; yy_str
[len
]; ++len
)
3420 return yy_scan_bytes( yy_str
, len
);
3425 #ifndef YY_NO_SCAN_BYTES
3426 #ifdef YY_USE_PROTOS
3427 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *bytes
, int len
)
3429 YY_BUFFER_STATE
yy_scan_bytes( bytes
, len
)
3430 yyconst
char *bytes
;
3439 /* Get memory for full buffer, including space for trailing EOB's. */
3441 buf
= (char *) yy_flex_alloc( n
);
3443 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3445 for ( i
= 0; i
< len
; ++i
)
3448 buf
[len
] = buf
[len
+1] = YY_END_OF_BUFFER_CHAR
;
3450 b
= yy_scan_buffer( buf
, n
);
3452 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3454 /* It's okay to grow etc. this buffer, and we should throw it
3455 * away when we're done.
3457 b
->yy_is_our_buffer
= 1;
3464 #ifndef YY_NO_PUSH_STATE
3465 #ifdef YY_USE_PROTOS
3466 static void yy_push_state( int new_state
)
3468 static void yy_push_state( new_state
)
3472 if ( yy_start_stack_ptr
>= yy_start_stack_depth
)
3476 yy_start_stack_depth
+= YY_START_STACK_INCR
;
3477 new_size
= yy_start_stack_depth
* sizeof( int );
3479 if ( ! yy_start_stack
)
3480 yy_start_stack
= (int *) yy_flex_alloc( new_size
);
3483 yy_start_stack
= (int *) yy_flex_realloc(
3484 (void *) yy_start_stack
, new_size
);
3486 if ( ! yy_start_stack
)
3488 "out of memory expanding start-condition stack" );
3491 yy_start_stack
[yy_start_stack_ptr
++] = YY_START
;
3498 #ifndef YY_NO_POP_STATE
3499 static void yy_pop_state()
3501 if ( --yy_start_stack_ptr
< 0 )
3502 YY_FATAL_ERROR( "start-condition stack underflow" );
3504 BEGIN(yy_start_stack
[yy_start_stack_ptr
]);
3509 #ifndef YY_NO_TOP_STATE
3510 static int yy_top_state()
3512 return yy_start_stack
[yy_start_stack_ptr
- 1];
3516 #ifndef YY_EXIT_FAILURE
3517 #define YY_EXIT_FAILURE 2
3520 #ifdef YY_USE_PROTOS
3521 static void yy_fatal_error( yyconst
char msg
[] )
3523 static void yy_fatal_error( msg
)
3527 (void) fprintf( stderr
, "%s\n", msg
);
3528 exit( YY_EXIT_FAILURE
);
3533 /* Redefine yyless() so it works in section 3 code. */
3539 /* Undo effects of setting up yytext. */ \
3540 yytext[yyleng] = yy_hold_char; \
3541 yy_c_buf_p = yytext + n; \
3542 yy_hold_char = *yy_c_buf_p; \
3543 *yy_c_buf_p = '\0'; \
3549 /* Internal utility routines. */
3552 #ifdef YY_USE_PROTOS
3553 static void yy_flex_strncpy( char *s1
, yyconst
char *s2
, int n
)
3555 static void yy_flex_strncpy( s1
, s2
, n
)
3562 for ( i
= 0; i
< n
; ++i
)
3567 #ifdef YY_NEED_STRLEN
3568 #ifdef YY_USE_PROTOS
3569 static int yy_flex_strlen( yyconst
char *s
)
3571 static int yy_flex_strlen( s
)
3576 for ( n
= 0; s
[n
]; ++n
)
3584 #ifdef YY_USE_PROTOS
3585 static void *yy_flex_alloc( yy_size_t size
)
3587 static void *yy_flex_alloc( size
)
3591 return (void *) malloc( size
);
3594 #ifdef YY_USE_PROTOS
3595 static void *yy_flex_realloc( void *ptr
, yy_size_t size
)
3597 static void *yy_flex_realloc( ptr
, size
)
3602 /* The cast to (char *) in the following accommodates both
3603 * implementations that use char* generic pointers, and those
3604 * that use void* generic pointers. It works with the latter
3605 * because both ANSI C and C++ allow castless assignment from
3606 * any pointer type to void*, and deal with argument conversions
3607 * as though doing an assignment.
3609 return (void *) realloc( (char *) ptr
, size
);
3612 #ifdef YY_USE_PROTOS
3613 static void yy_flex_free( void *ptr
)
3615 static void yy_flex_free( ptr
)
3635 if ( --num_input_files
> 0 )
3637 set_input_file( *++input_files
);
3646 /* set_input_file - open the given file (if NULL, stdin) for scanning */
3648 void set_input_file(char *file
)
3650 if ( file
&& strcmp( file
, "-" ) )
3652 infilename
= copy_string( file
);
3653 yyin
= fopen( infilename
, "r" );
3656 lerrsf( _( "can't open %s" ), file
);
3662 infilename
= copy_string( "<stdin>" );
3669 /* Wrapper routines for accessing the scanner's malloc routines. */
3671 void *flex_alloc(size_t size
)
3673 return (void *) malloc( size
);
3676 void *flex_realloc(void *ptr
, size_t size
)
3678 return (void *) realloc( ptr
, size
);
3681 void flex_free(void *ptr
)