2 /* A lexical scanner generated by flex */
4 /* Scanner skeleton version:
5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
9 #if defined(__FreeBSD__)
10 #include <sys/cdefs.h>
17 #define YY_FLEX_MAJOR_VERSION 2
18 #define YY_FLEX_MINOR_VERSION 5
23 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
36 /* Use prototypes in function declarations. */
39 /* The "const" storage-class-modifier is valid. */
42 #else /* ! __cplusplus */
50 #endif /* ! __cplusplus */
69 #define YY_PROTO(proto) proto
71 #define YY_PROTO(proto) ()
74 /* Returned upon end-of-file. */
77 /* Promotes a possibly negative, possibly signed char to an unsigned
78 * integer for use as an array index. If the signed char is negative,
79 * we want to instead treat it as an 8-bit unsigned char, hence the
82 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
84 /* Enter a start condition. This macro really ought to take a parameter,
85 * but we do it the disgusting crufty way forced on us by the ()-less
86 * definition of BEGIN.
88 #define BEGIN yy_start = 1 + 2 *
90 /* Translate the current start state into a value that can be later handed
91 * to BEGIN to return to the state. The YYSTATE alias is for lex
94 #define YY_START ((yy_start - 1) / 2)
95 #define YYSTATE YY_START
97 /* Action number for EOF rule of a given start state. */
98 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
100 /* Special action meaning "start processing a new file". */
101 #define YY_NEW_FILE yyrestart( yyin )
103 #define YY_END_OF_BUFFER_CHAR 0
105 /* Size of default input buffer. */
106 #define YY_BUF_SIZE 16384
108 typedef struct yy_buffer_state *YY_BUFFER_STATE;
111 extern FILE *yyin, *yyout;
113 #define EOB_ACT_CONTINUE_SCAN 0
114 #define EOB_ACT_END_OF_FILE 1
115 #define EOB_ACT_LAST_MATCH 2
117 /* The funky do-while in the following #define is used to turn the definition
118 * int a single C statement (which needs a semi-colon terminator). This
119 * avoids problems with code like:
121 * if ( condition_holds )
124 * do_something_else();
126 * Prior to using the do-while the compiler would get upset at the
127 * "else" because it interpreted the "if" statement as being all
128 * done when it reached the ';' after the yyless() call.
131 /* Return all but the first 'n' matched characters back to the input stream. */
136 /* Undo effects of setting up yytext. */ \
137 *yy_cp = yy_hold_char; \
138 YY_RESTORE_YY_MORE_OFFSET \
139 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
140 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
144 #define unput(c) yyunput( c, yytext_ptr )
146 /* The following is because we cannot portably get our hands on size_t
147 * (without autoconf's help, which isn't available because we want
148 * flex-generated scanners to compile on their own).
150 typedef unsigned int yy_size_t;
153 struct yy_buffer_state
157 char *yy_ch_buf; /* input buffer */
158 char *yy_buf_pos; /* current position in input buffer */
160 /* Size of input buffer in bytes, not including room for EOB
163 yy_size_t yy_buf_size;
165 /* Number of characters read into yy_ch_buf, not including EOB
170 /* Whether we "own" the buffer - i.e., we know we created it,
171 * and can realloc() it to grow it, and should free() it to
174 int yy_is_our_buffer;
176 /* Whether this is an "interactive" input source; if so, and
177 * if we're using stdio for input, then we want to use getc()
178 * instead of fread(), to make sure we stop fetching input after
181 int yy_is_interactive;
183 /* Whether we're considered to be at the beginning of a line.
184 * If so, '^' rules will be active on the next match, otherwise
189 /* Whether to try to fill the input buffer when we reach the
194 int yy_buffer_status;
195 #define YY_BUFFER_NEW 0
196 #define YY_BUFFER_NORMAL 1
197 /* When an EOF's been seen but there's still some text to process
198 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
199 * shouldn't try reading from the input source any more. We might
200 * still have a bunch of tokens to match, though, because of
201 * possible backing-up.
203 * When we actually see the EOF, we change the status to "new"
204 * (via yyrestart()), so that the user can continue scanning by
205 * just pointing yyin at a new input file.
207 #define YY_BUFFER_EOF_PENDING 2
210 static YY_BUFFER_STATE yy_current_buffer = 0;
212 /* We provide macros for accessing buffer states in case in the
213 * future we want to put the buffer states in a more general
216 #define YY_CURRENT_BUFFER yy_current_buffer
219 /* yy_hold_char holds the character lost when yytext is formed. */
220 static char yy_hold_char;
222 static int yy_n_chars; /* number of characters read into yy_ch_buf */
227 /* Points to current character in buffer. */
228 static char *yy_c_buf_p = (char *) 0;
229 static int yy_init = 1; /* whether we need to initialize */
230 static int yy_start = 0; /* start state number */
232 /* Flag which is used to allow yywrap()'s to do buffer switches
233 * instead of setting up a fresh yyin. A bit of a hack ...
235 static int yy_did_buffer_switch_on_eof;
237 void yyrestart YY_PROTO(( FILE *input_file ));
239 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
240 void yy_load_buffer_state YY_PROTO(( void ));
241 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
242 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
243 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
244 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
245 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
247 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
248 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
249 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
251 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
252 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
253 static void yy_flex_free YY_PROTO(( void * ));
255 #define yy_new_buffer yy_create_buffer
257 #define yy_set_interactive(is_interactive) \
259 if ( ! yy_current_buffer ) \
260 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
261 yy_current_buffer->yy_is_interactive = is_interactive; \
264 #define yy_set_bol(at_bol) \
266 if ( ! yy_current_buffer ) \
267 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
268 yy_current_buffer->yy_at_bol = at_bol; \
271 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
273 typedef unsigned char YY_CHAR;
274 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
275 typedef int yy_state_type;
277 #define yytext_ptr yytext
279 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
280 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
281 static int yy_get_next_buffer YY_PROTO(( void ));
282 static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) __dead2;
284 /* Done after the current pattern has been matched and before the
285 * corresponding action - sets up yytext.
287 #define YY_DO_BEFORE_ACTION \
288 yytext_ptr = yy_bp; \
289 yyleng = (int) (yy_cp - yy_bp); \
290 yy_hold_char = *yy_cp; \
294 #define YY_NUM_RULES 165
295 #define YY_END_OF_BUFFER 166
296 static yyconst short int yy_accept[769] =
298 0, 0, 0, 0, 87, 87, 163, 163, 0, 0,
299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 0, 0, 0, 0, 0, 0, 0, 0, 166, 164,
302 7, 18, 164, 16, 1, 17, 164, 164, 164, 164,
303 15, 108, 100, 101, 108, 93, 108, 107, 108, 108,
304 108, 107, 99, 89, 108, 108, 91, 92, 87, 88,
305 87, 86, 85, 86, 86, 163, 163, 28, 29, 28,
306 28, 28, 28, 28, 28, 31, 30, 32, 31, 113,
307 109, 110, 112, 114, 141, 142, 141, 139, 138, 140,
309 115, 117, 115, 116, 115, 120, 120, 120, 120, 122,
310 124, 122, 122, 122, 122, 123, 151, 155, 151, 154,
311 156, 156, 152, 152, 152, 149, 150, 164, 82, 164,
312 21, 22, 21, 20, 157, 159, 157, 160, 161, 147,
313 147, 148, 147, 147, 147, 147, 147, 147, 147, 81,
314 34, 33, 81, 81, 81, 81, 35, 81, 81, 81,
315 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
316 81, 81, 81, 81, 81, 81, 26, 23, 26, 24,
317 7, 18, 0, 16, 1, 17, 0, 0, 0, 14,
318 8, 0, 0, 0, 0, 4, 5, 0, 2, 15,
320 100, 101, 0, 0, 0, 95, 0, 0, 105, 105,
321 0, 162, 162, 162, 94, 0, 99, 89, 0, 0,
322 0, 91, 92, 104, 90, 0, 87, 88, 86, 85,
323 85, 83, 84, 163, 163, 28, 29, 28, 28, 28,
324 28, 31, 30, 32, 111, 112, 142, 138, 117, 0,
325 118, 119, 124, 121, 151, 155, 0, 153, 0, 144,
326 152, 152, 152, 0, 82, 0, 21, 22, 21, 19,
327 157, 159, 158, 147, 147, 147, 148, 143, 147, 147,
328 147, 34, 33, 0, 80, 0, 0, 81, 81, 81,
329 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
331 81, 81, 81, 36, 81, 81, 81, 81, 81, 81,
332 81, 81, 81, 81, 0, 25, 24, 0, 14, 8,
333 0, 12, 0, 0, 0, 0, 0, 4, 5, 0,
334 6, 0, 96, 0, 97, 0, 0, 105, 105, 0,
335 105, 105, 105, 162, 162, 0, 106, 90, 98, 0,
336 104, 0, 83, 84, 28, 28, 28, 27, 28, 0,
337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 152, 152, 143, 143, 147, 147, 0, 0, 81,
339 81, 81, 81, 81, 44, 81, 81, 81, 49, 81,
340 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
342 81, 81, 81, 81, 81, 81, 81, 81, 0, 81,
343 81, 81, 81, 0, 0, 0, 12, 0, 0, 0,
344 0, 0, 0, 4, 5, 0, 105, 105, 105, 105,
345 105, 105, 162, 0, 0, 28, 28, 0, 0, 0,
346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
347 152, 152, 147, 147, 37, 38, 81, 81, 81, 81,
348 81, 81, 81, 81, 50, 51, 81, 81, 81, 55,
349 81, 81, 81, 81, 81, 81, 60, 81, 81, 81,
350 81, 81, 81, 67, 0, 0, 0, 81, 81, 81,
351 81, 0, 13, 0, 0, 0, 0, 0, 0, 105,
353 105, 105, 105, 105, 105, 0, 0, 28, 28, 137,
354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 152, 152, 147, 147, 39, 81, 41, 81,
356 43, 81, 81, 81, 47, 81, 52, 81, 81, 81,
357 81, 81, 81, 81, 81, 81, 62, 81, 81, 65,
358 81, 0, 0, 0, 0, 81, 81, 81, 81, 3,
359 0, 0, 0, 0, 105, 105, 105, 0, 0, 28,
360 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 145, 146, 145, 146, 81, 42, 81,
362 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
364 81, 78, 61, 81, 64, 81, 0, 0, 0, 0,
365 81, 81, 69, 70, 0, 10, 0, 11, 0, 103,
366 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 81, 81, 81, 45, 81, 48,
368 81, 81, 81, 81, 77, 81, 59, 63, 66, 0,
369 0, 0, 0, 79, 81, 0, 102, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
371 81, 81, 46, 81, 81, 56, 81, 81, 0, 0,
372 0, 0, 68, 0, 9, 0, 125, 126, 127, 128,
373 129, 130, 131, 132, 133, 134, 135, 0, 81, 81,
375 81, 81, 81, 81, 81, 0, 0, 0, 0, 0,
376 136, 81, 81, 81, 81, 54, 81, 81, 0, 0,
377 0, 0, 0, 0, 81, 81, 81, 53, 81, 58,
378 0, 0, 0, 0, 0, 0, 81, 81, 81, 81,
379 72, 0, 0, 0, 0, 73, 81, 81, 81, 81,
380 71, 0, 75, 0, 81, 81, 81, 74, 76, 81,
381 81, 81, 81, 81, 81, 57, 40, 0
384 static yyconst int yy_ec[256] =
386 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
387 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
388 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
389 1, 2, 1, 5, 6, 7, 8, 1, 9, 10,
390 10, 11, 12, 13, 14, 10, 15, 16, 16, 16,
391 16, 16, 16, 16, 17, 18, 19, 20, 1, 21,
392 22, 23, 10, 1, 31, 32, 33, 34, 35, 36,
393 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
394 47, 48, 49, 50, 51, 52, 53, 54, 55, 47,
395 26, 27, 28, 29, 30, 1, 31, 32, 33, 34,
397 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
398 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
399 55, 47, 56, 57, 58, 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,
403 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,
408 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
409 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
410 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
412 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
416 static yyconst int yy_meta[59] =
418 1, 1, 2, 1, 3, 1, 1, 1, 4, 1,
419 5, 6, 1, 7, 4, 8, 8, 8, 8, 1,
420 1, 1, 1, 9, 10, 1, 11, 12, 1, 13,
421 14, 14, 14, 14, 14, 14, 15, 15, 15, 15,
422 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
423 15, 15, 15, 15, 15, 4, 1, 16
426 static yyconst short int yy_base[858] =
428 0, 58, 115, 172, 120, 129, 2712, 2711, 230, 2705,
429 136, 141, 288, 0, 2683, 2682, 144, 151, 185, 191,
430 178, 188, 344, 347, 375, 0, 125, 131, 147, 216,
431 431, 434, 461, 0, 519, 0, 205, 349, 2710, 2716,
432 353, 2716, 2706, 0, 360, 2716, 2705, 144, 570, 2696,
433 0, 2716, 577, 2716, 2703, 2716, 438, 2716, 2684, 126,
434 149, 427, 591, 2716, 2701, 141, 2682, 2716, 0, 2716,
435 2699, 0, 2699, 2697, 155, 2696, 2716, 0, 2716, 2695,
436 2716, 0, 2662, 2641, 2637, 0, 2692, 2716, 2690, 2716,
437 2716, 2663, 0, 2716, 2716, 2716, 2688, 2716, 431, 2716,
439 2716, 2716, 2687, 2716, 567, 2716, 2669, 571, 164, 2716,
440 2716, 2685, 0, 2667, 573, 2716, 0, 2716, 2683, 2716,
441 573, 2674, 0, 2649, 2628, 2716, 2716, 222, 2716, 356,
442 448, 2716, 450, 2667, 0, 2716, 2678, 2716, 0, 0,
443 198, 2716, 2677, 2621, 2716, 2667, 0, 2642, 2621, 2716,
444 2673, 2716, 2671, 2668, 2640, 2639, 2716, 544, 2639, 579,
445 2634, 2635, 318, 0, 2623, 2631, 424, 562, 2614, 587,
446 2629, 2613, 2618, 2626, 2629, 2604, 2716, 2716, 2653, 612,
447 634, 2716, 2654, 0, 637, 2716, 2653, 600, 2616, 0,
448 0, 641, 647, 651, 669, 0, 0, 453, 2716, 0,
450 672, 2716, 2651, 2597, 605, 2716, 2649, 2616, 620, 657,
451 645, 2716, 662, 0, 2716, 2592, 688, 2716, 2646, 2592,
452 2636, 2625, 2716, 0, 2716, 2610, 0, 2716, 0, 0,
453 2642, 0, 0, 2640, 2716, 0, 2716, 0, 2602, 2598,
454 745, 0, 2638, 2716, 2716, 0, 2716, 688, 2716, 773,
455 2716, 2716, 2716, 2716, 0, 2716, 673, 2716, 0, 2716,
456 0, 2599, 2595, 690, 2716, 698, 707, 2716, 709, 2716,
457 0, 2716, 2716, 0, 596, 2579, 2716, 827, 0, 2596,
458 2592, 2632, 2716, 2628, 2716, 2593, 2592, 0, 642, 2582,
459 563, 2617, 2579, 620, 2578, 2577, 2583, 669, 2570, 2584,
461 2572, 0, 2569, 2716, 2570, 2571, 2579, 2582, 685, 125,
462 2570, 2567, 2566, 688, 2608, 2716, 716, 2568, 0, 0,
463 720, 2716, 2608, 884, 2562, 2559, 2569, 0, 0, 723,
464 2716, 739, 2716, 805, 2716, 808, 2562, 787, 869, 876,
465 930, 881, 973, 800, 0, 2548, 2716, 2716, 2716, 2570,
466 0, 2559, 0, 0, 2568, 2557, 0, 2716, 0, 1009,
467 2581, 678, 870, 871, 874, 879, 913, 992, 974, 1013,
468 885, 2565, 2554, 0, 1067, 2563, 2552, 2546, 2545, 2557,
469 2562, 2561, 2550, 2557, 0, 2554, 2537, 2556, 0, 2536,
470 2543, 2533, 2548, 2568, 2537, 2549, 2544, 2542, 2541, 2532,
472 2539, 2540, 2538, 2539, 578, 2520, 2538, 2525, 860, 2526,
473 2528, 2521, 2517, 2529, 817, 1044, 2716, 822, 1095, 914,
474 2532, 2523, 2517, 0, 0, 2524, 1102, 1025, 1142, 2539,
475 1028, 1163, 2716, 2513, 2521, 2523, 2507, 0, 2526, 1058,
476 891, 1014, 1019, 894, 1038, 1080, 1072, 1086, 1083, 1081,
477 2520, 2504, 2518, 2502, 2716, 2716, 2505, 2493, 2492, 2495,
478 2507, 1148, 2507, 2492, 0, 0, 2492, 2493, 2507, 0,
479 2525, 2490, 2498, 2522, 2485, 2495, 0, 2500, 2491, 2487,
480 2479, 2479, 2483, 0, 875, 2494, 2481, 2494, 2480, 2475,
481 2491, 2519, 2716, 920, 999, 2465, 2474, 2468, 2494, 2496,
483 1105, 1184, 1081, 902, 969, 2479, 2491, 2463, 2477, 2716,
484 165, 1090, 1144, 1143, 1147, 1163, 1095, 1145, 1037, 1085,
485 1150, 1173, 2461, 2475, 2459, 2473, 0, 2458, 0, 2460,
486 0, 1165, 2454, 2469, 0, 2461, 0, 2471, 2410, 2414,
487 2434, 2400, 2393, 2405, 2385, 2382, 0, 2383, 2335, 0,
488 2335, 2330, 2326, 2309, 2278, 2259, 2269, 2268, 2256, 2297,
489 1046, 2238, 2242, 2253, 1179, 1142, 1145, 2247, 2246, 0,
490 0, 1191, 1192, 1172, 1201, 1202, 1204, 1205, 1206, 1207,
491 1209, 1210, 1208, 0, 0, 0, 0, 2254, 0, 2221,
492 2229, 2218, 2208, 2200, 2209, 2198, 2195, 2165, 2168, 2149,
494 2132, 0, 0, 2129, 0, 2139, 2143, 2134, 2124, 2137,
495 2117, 2116, 0, 0, 1228, 2716, 1232, 2716, 2111, 2716,
496 2117, 2716, 2115, 2114, 2108, 2107, 2106, 2103, 2102, 2098,
497 2095, 2063, 2047, 1213, 2012, 1986, 1975, 0, 1954, 0,
498 1947, 1950, 1941, 1945, 0, 1942, 0, 0, 0, 1938,
499 1940, 1934, 1905, 0, 1872, 1234, 2716, 1888, 1882, 1881,
500 1864, 1848, 1832, 1828, 1827, 1826, 1823, 1806, 1809, 1784,
501 1787, 1772, 0, 1781, 1786, 0, 1766, 1767, 1759, 1744,
502 1213, 1736, 0, 1236, 2716, 1245, 2716, 2716, 2716, 2716,
503 2716, 2716, 2716, 2716, 2716, 2716, 2716, 1750, 1727, 1720,
505 1701, 1687, 1670, 1681, 1667, 1679, 1659, 689, 1658, 1671,
506 2716, 1657, 1627, 1621, 1635, 0, 1603, 1596, 1595, 1608,
507 1602, 1587, 1586, 1583, 1581, 1587, 1555, 0, 1547, 0,
508 1527, 1507, 1520, 1503, 1483, 1482, 1485, 1443, 1440, 1228,
509 2716, 1225, 1224, 1206, 1210, 2716, 1213, 1202, 1018, 948,
510 2716, 945, 2716, 884, 780, 771, 779, 2716, 2716, 689,
511 673, 581, 408, 318, 86, 0, 0, 2716, 1263, 1279,
512 1295, 1311, 1327, 1343, 1359, 1375, 1391, 1407, 1423, 1439,
513 1455, 1471, 1481, 1496, 1505, 1520, 1536, 1545, 1560, 1576,
514 1592, 1608, 1624, 1634, 1649, 1659, 1674, 1690, 1706, 1718,
516 1728, 1743, 1759, 1775, 1791, 1807, 1817, 1832, 1843, 1236,
517 1858, 1874, 1890, 1898, 1905, 1920, 1936, 1952, 1968, 1977,
518 1985, 2001, 2017, 2033, 2049, 2065, 2081, 2097, 2113, 2123,
519 2138, 2148, 2155, 2170, 2182, 2192, 2207, 2223, 2239, 2255,
520 2265, 2280, 2291, 2306, 2322, 2338, 2354, 2364, 2373, 2388,
521 2404, 2420, 2429, 2437, 2453, 2469, 2485
524 static yyconst short int yy_def[858] =
526 768, 768, 769, 769, 770, 771, 772, 772, 768, 9,
527 773, 773, 768, 13, 774, 774, 775, 775, 776, 776,
528 777, 777, 778, 778, 768, 25, 779, 779, 780, 780,
529 781, 781, 768, 33, 768, 35, 782, 782, 768, 768,
530 768, 768, 768, 783, 768, 768, 768, 768, 784, 768,
531 785, 768, 768, 768, 768, 768, 768, 768, 768, 786,
532 787, 788, 768, 768, 768, 768, 768, 768, 789, 768,
533 789, 790, 791, 790, 790, 792, 768, 793, 768, 793,
534 768, 794, 794, 794, 793, 795, 768, 768, 795, 768,
535 768, 768, 796, 768, 768, 768, 768, 768, 768, 768,
537 768, 768, 768, 768, 787, 768, 768, 787, 797, 768,
538 768, 768, 798, 768, 787, 768, 799, 768, 799, 768,
539 800, 768, 801, 801, 801, 768, 768, 802, 768, 802,
540 803, 768, 803, 768, 804, 768, 804, 768, 805, 806,
541 806, 768, 806, 806, 768, 806, 807, 807, 807, 768,
542 768, 768, 768, 808, 768, 768, 768, 809, 809, 809,
543 809, 809, 809, 809, 809, 809, 809, 810, 809, 809,
544 809, 809, 809, 809, 809, 809, 768, 768, 811, 768,
545 768, 768, 768, 783, 768, 768, 768, 768, 768, 812,
546 813, 768, 768, 768, 768, 814, 815, 816, 768, 785,
548 768, 768, 768, 768, 817, 768, 768, 768, 818, 818,
549 819, 768, 768, 820, 768, 821, 768, 768, 768, 768,
550 768, 768, 768, 822, 768, 768, 823, 768, 824, 825,
551 825, 826, 827, 828, 768, 829, 768, 830, 830, 830,
552 768, 831, 768, 768, 768, 832, 768, 768, 768, 833,
553 768, 768, 768, 768, 834, 768, 835, 768, 835, 768,
554 836, 836, 836, 837, 768, 837, 838, 768, 838, 768,
555 839, 768, 768, 840, 840, 840, 768, 768, 841, 841,
556 841, 768, 768, 842, 768, 768, 768, 843, 843, 843,
557 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
559 843, 843, 843, 768, 843, 843, 843, 843, 843, 843,
560 843, 843, 843, 843, 844, 768, 768, 768, 845, 846,
561 847, 768, 768, 768, 768, 768, 768, 848, 849, 850,
562 768, 850, 768, 851, 768, 851, 768, 852, 852, 852,
563 768, 852, 852, 768, 853, 854, 768, 768, 768, 768,
564 855, 768, 826, 827, 830, 830, 241, 768, 241, 241,
565 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
566 833, 836, 836, 278, 278, 841, 841, 768, 768, 843,
567 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
568 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
570 843, 843, 843, 843, 843, 843, 843, 843, 768, 843,
571 843, 843, 843, 768, 847, 847, 768, 847, 847, 768,
572 768, 768, 768, 848, 849, 768, 341, 852, 343, 341,
573 852, 343, 768, 768, 768, 830, 830, 360, 768, 833,
574 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
575 836, 836, 841, 841, 768, 768, 843, 843, 843, 843,
576 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
577 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
578 843, 843, 843, 843, 768, 768, 768, 843, 843, 843,
579 843, 768, 768, 847, 847, 768, 768, 768, 768, 427,
581 852, 343, 852, 852, 852, 768, 768, 830, 830, 768,
582 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
583 833, 833, 836, 836, 841, 841, 843, 843, 843, 843,
584 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
585 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
586 843, 768, 768, 768, 768, 843, 843, 843, 843, 768,
587 856, 768, 768, 768, 852, 852, 852, 768, 768, 830,
588 830, 833, 833, 833, 833, 833, 833, 833, 833, 833,
589 833, 833, 833, 836, 836, 841, 841, 843, 843, 843,
590 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
592 843, 843, 843, 843, 843, 843, 768, 768, 768, 768,
593 843, 843, 843, 843, 856, 768, 856, 768, 768, 768,
594 768, 768, 833, 833, 833, 833, 833, 833, 833, 833,
595 833, 833, 833, 833, 843, 843, 843, 843, 843, 843,
596 843, 843, 843, 843, 843, 843, 843, 843, 843, 768,
597 768, 768, 768, 843, 843, 857, 768, 768, 768, 768,
598 768, 768, 768, 768, 768, 768, 768, 768, 833, 843,
599 843, 843, 843, 843, 843, 843, 843, 843, 768, 768,
600 768, 768, 843, 857, 768, 857, 768, 768, 768, 768,
601 768, 768, 768, 768, 768, 768, 768, 768, 843, 843,
603 843, 843, 843, 843, 843, 768, 768, 768, 768, 768,
604 768, 843, 843, 843, 843, 843, 843, 843, 768, 768,
605 768, 768, 768, 768, 843, 843, 843, 843, 843, 843,
606 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
607 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
608 768, 768, 768, 768, 843, 843, 843, 768, 768, 843,
609 843, 843, 843, 843, 843, 843, 843, 0, 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,
614 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
615 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
616 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
617 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
618 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
619 768, 768, 768, 768, 768, 768, 768
622 static yyconst short int yy_nxt[2775] =
624 40, 41, 42, 43, 40, 40, 40, 40, 40, 40,
625 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
626 40, 40, 40, 44, 44, 40, 40, 40, 40, 44,
627 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
628 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
629 44, 44, 44, 44, 44, 40, 40, 40, 40, 45,
630 46, 47, 40, 48, 40, 49, 40, 40, 40, 40,
631 40, 40, 50, 40, 40, 40, 40, 40, 40, 40,
632 40, 51, 51, 40, 40, 40, 40, 51, 51, 51,
633 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
635 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
636 51, 51, 51, 40, 40, 40, 53, 54, 55, 56,
637 767, 57, 70, 71, 58, 58, 58, 129, 130, 58,
638 73, 70, 74, 129, 130, 59, 75, 87, 88, 89,
639 60, 61, 87, 88, 89, 188, 96, 97, 224, 132,
640 133, 210, 211, 96, 97, 404, 98, 134, 405, 99,
641 99, 99, 99, 98, 213, 213, 99, 99, 99, 99,
642 62, 58, 58, 63, 64, 65, 56, 252, 57, 66,
643 40, 58, 58, 58, 439, 189, 58, 102, 103, 104,
644 40, 252, 67, 102, 103, 104, 225, 60, 61, 275,
646 68, 100, 214, 107, 108, 276, 109, 178, 100, 179,
647 232, 105, 233, 107, 108, 572, 109, 105, 132, 133,
648 180, 180, 180, 180, 265, 266, 134, 62, 58, 58,
649 78, 78, 79, 80, 78, 78, 78, 78, 78, 78,
650 81, 78, 78, 78, 78, 78, 78, 78, 78, 78,
651 78, 78, 78, 82, 82, 78, 78, 78, 78, 82,
652 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
653 82, 82, 82, 82, 82, 82, 82, 83, 82, 82,
654 82, 82, 82, 82, 84, 78, 78, 78, 90, 90,
655 40, 90, 90, 90, 90, 90, 90, 90, 91, 90,
657 91, 90, 90, 90, 90, 90, 90, 90, 90, 90,
658 92, 93, 93, 90, 90, 90, 90, 93, 93, 93,
659 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
660 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
661 93, 93, 93, 90, 90, 90, 111, 112, 296, 111,
662 112, 178, 766, 179, 181, 182, 183, 113, 265, 266,
663 113, 185, 186, 187, 180, 180, 180, 180, 297, 114,
664 115, 116, 114, 115, 116, 117, 117, 118, 119, 120,
665 117, 117, 117, 121, 117, 117, 117, 117, 117, 122,
666 117, 117, 117, 117, 117, 117, 117, 117, 123, 123,
668 117, 117, 117, 117, 123, 123, 123, 123, 123, 123,
669 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
670 123, 123, 124, 123, 123, 123, 123, 123, 123, 125,
671 126, 117, 127, 136, 137, 138, 136, 137, 138, 206,
672 206, 207, 215, 215, 215, 215, 248, 248, 248, 248,
673 268, 269, 268, 269, 300, 331, 332, 139, 301, 765,
674 139, 140, 141, 142, 143, 140, 140, 140, 144, 140,
675 140, 145, 140, 140, 140, 146, 140, 140, 140, 140,
676 140, 140, 140, 140, 147, 147, 140, 140, 140, 140,
677 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
679 147, 147, 147, 147, 147, 147, 147, 147, 148, 147,
680 147, 147, 147, 147, 147, 149, 140, 140, 140, 150,
681 151, 152, 153, 154, 150, 150, 150, 150, 150, 150,
682 150, 150, 150, 150, 150, 155, 156, 150, 150, 150,
683 157, 150, 150, 150, 150, 150, 150, 150, 150, 158,
684 159, 160, 161, 162, 163, 164, 164, 165, 164, 164,
685 166, 167, 168, 169, 170, 164, 171, 172, 164, 173,
686 174, 175, 164, 176, 150, 150, 150, 191, 201, 202,
687 203, 258, 213, 213, 204, 289, 213, 213, 213, 213,
688 292, 290, 217, 218, 219, 383, 303, 275, 220, 259,
690 192, 188, 193, 276, 193, 221, 304, 335, 336, 293,
691 193, 222, 384, 193, 194, 195, 480, 193, 196, 223,
692 214, 306, 481, 197, 214, 198, 214, 317, 317, 317,
693 317, 307, 764, 205, 308, 181, 182, 183, 185, 186,
694 187, 189, 321, 322, 323, 339, 340, 205, 321, 322,
695 323, 387, 321, 322, 323, 388, 324, 324, 324, 324,
696 342, 342, 324, 324, 324, 324, 324, 324, 324, 324,
697 321, 322, 323, 201, 202, 203, 341, 344, 344, 204,
698 380, 258, 339, 340, 324, 324, 324, 324, 325, 217,
699 218, 219, 265, 266, 381, 220, 326, 439, 343, 259,
701 265, 266, 221, 248, 248, 248, 248, 673, 222, 268,
702 269, 268, 269, 327, 392, 402, 223, 409, 393, 440,
703 410, 416, 417, 418, 403, 331, 332, 763, 205, 411,
704 412, 317, 317, 317, 317, 419, 419, 419, 419, 721,
705 413, 331, 332, 722, 205, 357, 357, 358, 359, 357,
706 357, 357, 357, 357, 357, 360, 357, 357, 357, 357,
707 357, 357, 357, 357, 357, 357, 357, 357, 360, 360,
708 357, 357, 357, 357, 360, 360, 360, 360, 360, 360,
709 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
710 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
712 357, 357, 357, 362, 363, 364, 365, 335, 336, 366,
713 335, 336, 339, 340, 367, 212, 212, 762, 368, 493,
714 494, 369, 761, 370, 417, 494, 371, 374, 374, 760,
715 374, 374, 374, 374, 374, 374, 374, 375, 374, 374,
716 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
717 375, 375, 374, 374, 374, 374, 375, 375, 375, 375,
718 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
719 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
720 375, 375, 374, 374, 374, 420, 322, 323, 427, 439,
721 439, 428, 428, 439, 339, 340, 431, 431, 439, 324,
723 324, 324, 324, 338, 439, 485, 339, 340, 486, 487,
724 439, 441, 443, 439, 442, 420, 322, 323, 450, 552,
725 759, 513, 493, 494, 516, 553, 444, 339, 340, 429,
726 338, 338, 439, 338, 338, 338, 338, 338, 338, 338,
727 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
728 338, 338, 338, 430, 430, 339, 340, 445, 338, 338,
729 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
730 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
731 430, 430, 430, 430, 430, 338, 338, 338, 432, 432,
732 432, 432, 758, 439, 339, 340, 432, 757, 339, 340,
734 495, 417, 418, 432, 432, 432, 432, 432, 432, 360,
735 360, 439, 438, 360, 360, 360, 360, 360, 360, 448,
736 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
737 360, 360, 439, 439, 360, 360, 360, 360, 439, 446,
738 501, 501, 447, 504, 504, 416, 417, 418, 616, 617,
739 339, 340, 638, 339, 340, 515, 439, 439, 449, 419,
740 419, 419, 419, 514, 360, 360, 360, 375, 375, 580,
741 375, 375, 375, 375, 375, 375, 375, 439, 375, 375,
742 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
743 517, 439, 375, 375, 375, 375, 495, 417, 418, 439,
745 439, 511, 439, 512, 439, 439, 339, 340, 209, 439,
746 419, 419, 419, 419, 439, 519, 520, 581, 518, 522,
747 566, 566, 375, 375, 375, 500, 500, 573, 521, 578,
748 339, 340, 500, 500, 500, 500, 500, 500, 500, 500,
749 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
750 500, 500, 500, 500, 500, 500, 500, 502, 502, 502,
751 502, 532, 439, 439, 439, 502, 439, 339, 340, 439,
752 339, 340, 502, 502, 502, 502, 502, 502, 505, 505,
753 505, 505, 439, 533, 582, 576, 505, 574, 579, 534,
754 575, 439, 439, 505, 505, 505, 505, 505, 505, 567,
756 567, 567, 567, 590, 339, 340, 338, 567, 577, 583,
757 439, 439, 625, 591, 567, 567, 567, 567, 567, 567,
758 439, 439, 624, 439, 439, 439, 439, 439, 439, 439,
759 616, 617, 439, 623, 616, 617, 685, 686, 685, 686,
760 756, 628, 626, 632, 708, 755, 634, 685, 686, 302,
761 302, 627, 629, 754, 753, 630, 631, 633, 752, 751,
762 750, 709, 669, 52, 52, 52, 52, 52, 52, 52,
763 52, 52, 52, 52, 52, 52, 52, 52, 52, 69,
764 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
765 69, 69, 69, 69, 69, 72, 72, 72, 72, 72,
767 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
768 72, 76, 76, 76, 76, 76, 76, 76, 76, 76,
769 76, 76, 76, 76, 76, 76, 76, 86, 86, 86,
770 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
771 86, 86, 86, 40, 40, 40, 40, 40, 40, 40,
772 40, 40, 40, 40, 40, 40, 40, 40, 40, 95,
773 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
774 95, 95, 95, 95, 95, 101, 101, 101, 101, 101,
775 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
776 101, 106, 106, 106, 106, 106, 106, 106, 106, 106,
778 106, 106, 106, 106, 106, 106, 106, 110, 110, 110,
779 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
780 110, 110, 110, 128, 128, 128, 128, 128, 128, 128,
781 128, 128, 128, 128, 128, 128, 128, 128, 128, 131,
782 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
783 131, 131, 131, 131, 131, 135, 135, 135, 135, 135,
784 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
785 135, 177, 177, 177, 177, 177, 177, 177, 177, 177,
786 177, 177, 177, 177, 177, 177, 177, 184, 184, 184,
787 184, 749, 748, 184, 184, 184, 190, 190, 190, 190,
789 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
790 190, 200, 200, 200, 200, 747, 746, 200, 200, 200,
791 209, 745, 209, 209, 209, 209, 209, 209, 209, 209,
792 209, 209, 209, 209, 209, 209, 212, 744, 212, 212,
793 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
794 212, 212, 216, 216, 216, 743, 742, 216, 216, 216,
795 227, 741, 227, 227, 227, 227, 227, 227, 227, 227,
796 227, 227, 227, 227, 227, 227, 229, 740, 229, 229,
797 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
798 229, 229, 230, 739, 230, 230, 230, 230, 230, 230,
800 230, 230, 230, 230, 230, 230, 230, 230, 234, 234,
801 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
802 234, 234, 234, 234, 236, 738, 236, 236, 737, 236,
803 236, 236, 736, 735, 236, 236, 734, 733, 732, 236,
804 238, 238, 238, 238, 731, 730, 238, 238, 238, 242,
805 729, 242, 242, 242, 242, 242, 242, 242, 242, 242,
806 242, 242, 242, 242, 242, 246, 246, 246, 246, 728,
807 727, 246, 246, 246, 251, 726, 251, 251, 251, 251,
808 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
809 254, 725, 254, 254, 254, 254, 254, 254, 254, 254,
811 254, 724, 254, 254, 254, 254, 255, 723, 720, 719,
812 255, 255, 255, 255, 718, 717, 255, 255, 257, 716,
813 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
814 257, 257, 257, 257, 261, 261, 261, 261, 715, 714,
815 261, 261, 261, 264, 264, 264, 264, 264, 264, 264,
816 264, 264, 264, 264, 264, 264, 264, 264, 264, 267,
817 267, 267, 267, 713, 267, 267, 267, 267, 267, 267,
818 267, 267, 267, 267, 267, 271, 712, 711, 271, 271,
819 271, 271, 271, 271, 271, 710, 271, 271, 271, 271,
820 271, 273, 707, 273, 273, 273, 273, 273, 273, 273,
822 273, 273, 273, 273, 273, 273, 273, 274, 706, 274,
823 274, 705, 274, 274, 274, 704, 703, 274, 274, 702,
824 701, 700, 274, 279, 279, 279, 279, 699, 698, 279,
825 279, 279, 284, 697, 284, 284, 284, 284, 284, 284,
826 284, 284, 284, 284, 284, 284, 284, 284, 288, 288,
827 696, 288, 288, 695, 694, 693, 288, 288, 315, 692,
828 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
829 315, 315, 315, 315, 319, 691, 319, 319, 319, 319,
830 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
831 320, 690, 320, 320, 320, 320, 320, 320, 320, 320,
833 320, 320, 320, 320, 320, 320, 328, 328, 689, 688,
834 328, 328, 328, 329, 329, 687, 683, 329, 329, 329,
835 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
836 330, 330, 330, 330, 330, 330, 334, 334, 334, 334,
837 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
838 334, 334, 338, 682, 338, 338, 338, 338, 338, 338,
839 338, 338, 338, 681, 338, 338, 338, 338, 209, 680,
840 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
841 209, 209, 209, 209, 345, 345, 679, 678, 677, 676,
842 345, 346, 346, 346, 346, 675, 674, 346, 346, 346,
844 346, 351, 673, 351, 351, 351, 351, 351, 351, 351,
845 351, 351, 351, 351, 351, 351, 351, 227, 672, 227,
846 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
847 227, 227, 227, 229, 671, 229, 229, 229, 229, 229,
848 229, 229, 229, 229, 229, 229, 229, 229, 229, 230,
849 670, 230, 230, 230, 230, 230, 230, 230, 230, 230,
850 230, 230, 230, 230, 230, 353, 668, 353, 353, 353,
851 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
852 353, 354, 667, 354, 354, 354, 354, 354, 354, 354,
853 354, 354, 354, 354, 354, 354, 354, 234, 234, 234,
855 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
856 234, 234, 234, 236, 666, 236, 236, 665, 236, 236,
857 236, 664, 663, 236, 236, 662, 661, 660, 236, 238,
858 238, 238, 238, 659, 658, 238, 238, 238, 242, 657,
859 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
860 242, 242, 242, 242, 246, 246, 246, 246, 656, 655,
861 246, 246, 246, 361, 361, 654, 653, 652, 361, 361,
862 255, 651, 650, 649, 255, 255, 255, 255, 648, 647,
863 255, 255, 257, 646, 257, 257, 257, 257, 257, 257,
864 257, 257, 257, 257, 257, 257, 257, 257, 261, 261,
866 261, 261, 645, 644, 261, 261, 261, 264, 264, 264,
867 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
868 264, 264, 264, 267, 267, 267, 267, 643, 267, 267,
869 267, 267, 267, 267, 267, 267, 267, 267, 267, 271,
870 642, 641, 271, 271, 271, 271, 271, 271, 271, 640,
871 271, 271, 271, 271, 271, 274, 639, 274, 274, 638,
872 274, 274, 274, 637, 636, 274, 274, 635, 622, 621,
873 274, 279, 279, 279, 279, 620, 619, 279, 279, 279,
874 284, 618, 284, 284, 284, 284, 284, 284, 284, 284,
875 284, 284, 284, 284, 284, 284, 288, 288, 560, 288,
877 288, 614, 613, 612, 288, 288, 315, 611, 315, 315,
878 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
879 315, 315, 319, 610, 319, 319, 319, 319, 319, 319,
880 319, 319, 319, 319, 319, 319, 319, 319, 320, 609,
881 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
882 320, 320, 320, 320, 415, 415, 415, 415, 415, 415,
883 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
884 424, 424, 424, 424, 608, 607, 424, 424, 424, 425,
885 425, 425, 425, 606, 605, 425, 425, 425, 330, 330,
886 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
888 330, 330, 330, 330, 334, 334, 334, 334, 334, 334,
889 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
890 338, 604, 338, 338, 338, 338, 338, 338, 338, 338,
891 338, 603, 338, 338, 338, 338, 433, 433, 602, 601,
892 600, 599, 433, 346, 346, 346, 346, 598, 597, 346,
893 346, 346, 346, 351, 596, 351, 351, 351, 351, 351,
894 351, 351, 351, 351, 351, 351, 351, 351, 351, 615,
895 615, 615, 615, 615, 615, 615, 615, 615, 615, 615,
896 615, 615, 615, 615, 615, 684, 684, 684, 684, 684,
897 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
899 684, 595, 594, 593, 592, 589, 588, 587, 586, 585,
900 584, 571, 570, 569, 568, 565, 564, 563, 562, 561,
901 560, 559, 558, 557, 556, 555, 554, 551, 550, 549,
902 548, 547, 546, 545, 544, 543, 542, 541, 540, 539,
903 538, 537, 536, 535, 531, 530, 529, 528, 527, 526,
904 525, 524, 523, 510, 509, 508, 507, 506, 503, 499,
905 498, 497, 496, 492, 491, 490, 489, 488, 484, 483,
906 482, 479, 478, 477, 476, 475, 474, 473, 472, 471,
907 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
908 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
910 439, 437, 436, 435, 434, 347, 426, 423, 422, 421,
911 322, 414, 316, 408, 407, 406, 401, 400, 399, 398,
912 397, 396, 395, 394, 391, 390, 389, 386, 385, 382,
913 379, 378, 285, 282, 377, 376, 278, 373, 372, 243,
914 356, 355, 235, 231, 352, 350, 349, 348, 218, 347,
915 337, 206, 333, 202, 318, 186, 182, 316, 314, 313,
916 312, 311, 310, 309, 305, 299, 298, 295, 294, 291,
917 287, 286, 285, 283, 282, 281, 280, 260, 278, 277,
918 272, 270, 263, 262, 260, 256, 250, 253, 250, 249,
919 247, 245, 244, 243, 241, 240, 239, 237, 235, 228,
921 231, 228, 226, 218, 208, 202, 199, 186, 182, 768,
922 94, 94, 85, 77, 77, 39, 768, 768, 768, 768,
923 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
924 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
925 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
926 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
927 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
931 static yyconst short int yy_chk[2775] =
933 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
934 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
935 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
936 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
937 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
938 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
939 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, 2, 2, 2, 2,
942 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
944 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
945 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
946 765, 3, 5, 5, 3, 3, 3, 27, 27, 3,
947 6, 6, 6, 28, 28, 3, 6, 11, 11, 11,
948 3, 3, 12, 12, 12, 48, 17, 17, 66, 29,
949 29, 60, 60, 18, 18, 310, 17, 29, 310, 17,
950 17, 17, 17, 18, 61, 61, 18, 18, 18, 18,
951 3, 3, 3, 4, 4, 4, 4, 109, 4, 4,
952 21, 4, 4, 4, 511, 48, 4, 19, 19, 19,
953 22, 109, 4, 20, 20, 20, 66, 4, 4, 141,
955 4, 17, 61, 21, 21, 141, 21, 37, 18, 37,
956 75, 19, 75, 22, 22, 511, 22, 20, 30, 30,
957 37, 37, 37, 37, 128, 128, 30, 4, 4, 4,
958 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
959 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
960 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
961 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
962 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
963 9, 9, 9, 9, 9, 9, 9, 9, 13, 13,
964 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
966 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
967 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
968 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
969 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
970 13, 13, 13, 13, 13, 13, 23, 23, 163, 24,
971 24, 38, 764, 38, 41, 41, 41, 23, 130, 130,
972 24, 45, 45, 45, 38, 38, 38, 38, 163, 23,
973 23, 23, 24, 24, 24, 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,
977 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
978 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
979 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
980 25, 25, 25, 31, 31, 31, 32, 32, 32, 57,
981 57, 57, 62, 62, 62, 62, 99, 99, 99, 99,
982 131, 131, 133, 133, 167, 198, 198, 31, 167, 763,
983 32, 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, 33,
986 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
988 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
989 33, 33, 33, 33, 33, 33, 33, 33, 33, 35,
990 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
991 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
992 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
993 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
994 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
995 35, 35, 35, 35, 35, 35, 35, 49, 53, 53,
996 53, 121, 105, 105, 53, 158, 108, 108, 115, 115,
997 160, 158, 63, 63, 63, 291, 168, 275, 63, 121,
999 49, 188, 49, 275, 49, 63, 168, 205, 205, 160,
1000 49, 63, 291, 49, 49, 49, 405, 49, 49, 63,
1001 105, 170, 405, 49, 108, 49, 115, 180, 180, 180,
1002 180, 170, 762, 53, 170, 181, 181, 181, 185, 185,
1003 185, 188, 192, 192, 192, 209, 209, 63, 193, 193,
1004 193, 294, 194, 194, 194, 294, 192, 192, 192, 192,
1005 211, 211, 193, 193, 193, 193, 194, 194, 194, 194,
1006 195, 195, 195, 201, 201, 201, 210, 213, 213, 201,
1007 289, 257, 210, 210, 195, 195, 195, 195, 192, 217,
1008 217, 217, 264, 264, 289, 217, 194, 362, 211, 257,
1010 266, 266, 217, 248, 248, 248, 248, 761, 217, 267,
1011 267, 269, 269, 195, 298, 309, 217, 314, 298, 362,
1012 314, 321, 321, 321, 309, 330, 330, 760, 201, 314,
1013 314, 317, 317, 317, 317, 321, 321, 321, 321, 708,
1014 314, 332, 332, 708, 217, 241, 241, 241, 241, 241,
1015 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1016 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1017 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1018 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1019 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1021 241, 241, 241, 250, 250, 250, 250, 334, 334, 250,
1022 336, 336, 338, 338, 250, 344, 344, 757, 250, 415,
1023 415, 250, 756, 250, 418, 418, 250, 278, 278, 755,
1024 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1025 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1026 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1027 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1028 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1029 278, 278, 278, 278, 278, 324, 324, 324, 339, 363,
1030 364, 340, 340, 365, 339, 339, 342, 342, 366, 324,
1032 324, 324, 324, 340, 371, 409, 342, 342, 409, 409,
1033 441, 363, 365, 444, 364, 420, 420, 420, 371, 485,
1034 754, 441, 494, 494, 444, 485, 366, 504, 504, 340,
1035 341, 341, 367, 341, 341, 341, 341, 341, 341, 341,
1036 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1037 341, 341, 341, 341, 341, 341, 341, 367, 341, 341,
1038 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1039 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1040 341, 341, 341, 341, 341, 341, 341, 341, 343, 343,
1041 343, 343, 752, 369, 505, 505, 343, 750, 343, 343,
1043 495, 495, 495, 343, 343, 343, 343, 343, 343, 360,
1044 360, 368, 360, 360, 360, 360, 360, 360, 360, 369,
1045 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
1046 360, 360, 370, 442, 360, 360, 360, 360, 443, 368,
1047 428, 428, 368, 431, 431, 416, 416, 416, 561, 561,
1048 428, 428, 749, 431, 431, 443, 519, 445, 370, 416,
1049 416, 416, 416, 442, 360, 360, 360, 375, 375, 519,
1050 375, 375, 375, 375, 375, 375, 375, 440, 375, 375,
1051 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1052 445, 447, 375, 375, 375, 375, 419, 419, 419, 446,
1054 450, 440, 449, 440, 520, 448, 503, 503, 503, 512,
1055 419, 419, 419, 419, 517, 447, 448, 520, 446, 450,
1056 501, 501, 375, 375, 375, 427, 427, 512, 449, 517,
1057 501, 501, 427, 427, 427, 427, 427, 427, 427, 427,
1058 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1059 427, 427, 427, 427, 427, 427, 427, 429, 429, 429,
1060 429, 462, 514, 513, 518, 429, 515, 566, 566, 521,
1061 567, 567, 429, 429, 429, 429, 429, 429, 432, 432,
1062 432, 432, 516, 462, 521, 515, 432, 513, 518, 462,
1063 514, 574, 522, 432, 432, 432, 432, 432, 432, 502,
1065 502, 502, 502, 532, 565, 565, 565, 502, 516, 522,
1066 572, 573, 574, 532, 502, 502, 502, 502, 502, 502,
1067 575, 576, 573, 577, 578, 579, 580, 583, 581, 582,
1068 615, 615, 634, 572, 617, 617, 656, 656, 684, 684,
1069 748, 577, 575, 581, 681, 747, 583, 686, 686, 810,
1070 810, 576, 578, 745, 744, 579, 580, 582, 743, 742,
1071 740, 681, 634, 769, 769, 769, 769, 769, 769, 769,
1072 769, 769, 769, 769, 769, 769, 769, 769, 769, 770,
1073 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1074 770, 770, 770, 770, 770, 771, 771, 771, 771, 771,
1076 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
1077 771, 772, 772, 772, 772, 772, 772, 772, 772, 772,
1078 772, 772, 772, 772, 772, 772, 772, 773, 773, 773,
1079 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
1080 773, 773, 773, 774, 774, 774, 774, 774, 774, 774,
1081 774, 774, 774, 774, 774, 774, 774, 774, 774, 775,
1082 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
1083 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1084 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
1085 776, 777, 777, 777, 777, 777, 777, 777, 777, 777,
1087 777, 777, 777, 777, 777, 777, 777, 778, 778, 778,
1088 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
1089 778, 778, 778, 779, 779, 779, 779, 779, 779, 779,
1090 779, 779, 779, 779, 779, 779, 779, 779, 779, 780,
1091 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
1092 780, 780, 780, 780, 780, 781, 781, 781, 781, 781,
1093 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
1094 781, 782, 782, 782, 782, 782, 782, 782, 782, 782,
1095 782, 782, 782, 782, 782, 782, 782, 783, 783, 783,
1096 783, 739, 738, 783, 783, 783, 784, 784, 784, 784,
1098 784, 784, 784, 784, 784, 784, 784, 784, 784, 784,
1099 784, 785, 785, 785, 785, 737, 736, 785, 785, 785,
1100 786, 735, 786, 786, 786, 786, 786, 786, 786, 786,
1101 786, 786, 786, 786, 786, 786, 787, 734, 787, 787,
1102 787, 787, 787, 787, 787, 787, 787, 787, 787, 787,
1103 787, 787, 788, 788, 788, 733, 732, 788, 788, 788,
1104 789, 731, 789, 789, 789, 789, 789, 789, 789, 789,
1105 789, 789, 789, 789, 789, 789, 790, 729, 790, 790,
1106 790, 790, 790, 790, 790, 790, 790, 790, 790, 790,
1107 790, 790, 791, 727, 791, 791, 791, 791, 791, 791,
1109 791, 791, 791, 791, 791, 791, 791, 791, 792, 792,
1110 792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
1111 792, 792, 792, 792, 793, 726, 793, 793, 725, 793,
1112 793, 793, 724, 723, 793, 793, 722, 721, 720, 793,
1113 794, 794, 794, 794, 719, 718, 794, 794, 794, 795,
1114 717, 795, 795, 795, 795, 795, 795, 795, 795, 795,
1115 795, 795, 795, 795, 795, 796, 796, 796, 796, 715,
1116 714, 796, 796, 796, 797, 713, 797, 797, 797, 797,
1117 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1118 798, 712, 798, 798, 798, 798, 798, 798, 798, 798,
1120 798, 710, 798, 798, 798, 798, 799, 709, 707, 706,
1121 799, 799, 799, 799, 705, 704, 799, 799, 800, 703,
1122 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1123 800, 800, 800, 800, 801, 801, 801, 801, 702, 701,
1124 801, 801, 801, 802, 802, 802, 802, 802, 802, 802,
1125 802, 802, 802, 802, 802, 802, 802, 802, 802, 803,
1126 803, 803, 803, 700, 803, 803, 803, 803, 803, 803,
1127 803, 803, 803, 803, 803, 804, 699, 698, 804, 804,
1128 804, 804, 804, 804, 804, 682, 804, 804, 804, 804,
1129 804, 805, 680, 805, 805, 805, 805, 805, 805, 805,
1131 805, 805, 805, 805, 805, 805, 805, 806, 679, 806,
1132 806, 678, 806, 806, 806, 677, 675, 806, 806, 674,
1133 672, 671, 806, 807, 807, 807, 807, 670, 669, 807,
1134 807, 807, 808, 668, 808, 808, 808, 808, 808, 808,
1135 808, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1136 667, 809, 809, 666, 665, 664, 809, 809, 811, 663,
1137 811, 811, 811, 811, 811, 811, 811, 811, 811, 811,
1138 811, 811, 811, 811, 812, 662, 812, 812, 812, 812,
1139 812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
1140 813, 661, 813, 813, 813, 813, 813, 813, 813, 813,
1142 813, 813, 813, 813, 813, 813, 814, 814, 660, 659,
1143 814, 814, 814, 815, 815, 658, 655, 815, 815, 815,
1144 816, 816, 816, 816, 816, 816, 816, 816, 816, 816,
1145 816, 816, 816, 816, 816, 816, 817, 817, 817, 817,
1146 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1147 817, 817, 818, 653, 818, 818, 818, 818, 818, 818,
1148 818, 818, 818, 652, 818, 818, 818, 818, 819, 651,
1149 819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
1150 819, 819, 819, 819, 820, 820, 650, 646, 644, 643,
1151 820, 821, 821, 821, 821, 642, 641, 821, 821, 821,
1153 821, 822, 639, 822, 822, 822, 822, 822, 822, 822,
1154 822, 822, 822, 822, 822, 822, 822, 823, 637, 823,
1155 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
1156 823, 823, 823, 824, 636, 824, 824, 824, 824, 824,
1157 824, 824, 824, 824, 824, 824, 824, 824, 824, 825,
1158 635, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1159 825, 825, 825, 825, 825, 826, 633, 826, 826, 826,
1160 826, 826, 826, 826, 826, 826, 826, 826, 826, 826,
1161 826, 827, 632, 827, 827, 827, 827, 827, 827, 827,
1162 827, 827, 827, 827, 827, 827, 827, 828, 828, 828,
1164 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
1165 828, 828, 828, 829, 631, 829, 829, 630, 829, 829,
1166 829, 629, 628, 829, 829, 627, 626, 625, 829, 830,
1167 830, 830, 830, 624, 623, 830, 830, 830, 831, 621,
1168 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
1169 831, 831, 831, 831, 832, 832, 832, 832, 619, 612,
1170 832, 832, 832, 833, 833, 611, 610, 609, 833, 833,
1171 834, 608, 607, 606, 834, 834, 834, 834, 604, 601,
1172 834, 834, 835, 600, 835, 835, 835, 835, 835, 835,
1173 835, 835, 835, 835, 835, 835, 835, 835, 836, 836,
1175 836, 836, 599, 598, 836, 836, 836, 837, 837, 837,
1176 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
1177 837, 837, 837, 838, 838, 838, 838, 597, 838, 838,
1178 838, 838, 838, 838, 838, 838, 838, 838, 838, 839,
1179 596, 595, 839, 839, 839, 839, 839, 839, 839, 594,
1180 839, 839, 839, 839, 839, 840, 593, 840, 840, 592,
1181 840, 840, 840, 591, 590, 840, 840, 588, 569, 568,
1182 840, 841, 841, 841, 841, 564, 563, 841, 841, 841,
1183 842, 562, 842, 842, 842, 842, 842, 842, 842, 842,
1184 842, 842, 842, 842, 842, 842, 843, 843, 560, 843,
1186 843, 559, 558, 557, 843, 843, 844, 556, 844, 844,
1187 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1188 844, 844, 845, 555, 845, 845, 845, 845, 845, 845,
1189 845, 845, 845, 845, 845, 845, 845, 845, 846, 554,
1190 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
1191 846, 846, 846, 846, 847, 847, 847, 847, 847, 847,
1192 847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
1193 848, 848, 848, 848, 553, 552, 848, 848, 848, 849,
1194 849, 849, 849, 551, 549, 849, 849, 849, 850, 850,
1195 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
1197 850, 850, 850, 850, 851, 851, 851, 851, 851, 851,
1198 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
1199 852, 548, 852, 852, 852, 852, 852, 852, 852, 852,
1200 852, 546, 852, 852, 852, 852, 853, 853, 545, 544,
1201 543, 542, 853, 854, 854, 854, 854, 541, 540, 854,
1202 854, 854, 854, 855, 539, 855, 855, 855, 855, 855,
1203 855, 855, 855, 855, 855, 855, 855, 855, 855, 856,
1204 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
1205 856, 856, 856, 856, 856, 857, 857, 857, 857, 857,
1206 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
1208 857, 538, 536, 534, 533, 530, 528, 526, 525, 524,
1209 523, 509, 508, 507, 506, 500, 499, 498, 497, 496,
1210 492, 491, 490, 489, 488, 487, 486, 483, 482, 481,
1211 480, 479, 478, 476, 475, 474, 473, 472, 471, 469,
1212 468, 467, 464, 463, 461, 460, 459, 458, 457, 454,
1213 453, 452, 451, 439, 437, 436, 435, 434, 430, 426,
1214 423, 422, 421, 414, 413, 412, 411, 410, 408, 407,
1215 406, 404, 403, 402, 401, 400, 399, 398, 397, 396,
1216 395, 394, 393, 392, 391, 390, 388, 387, 386, 384,
1217 383, 382, 381, 380, 379, 378, 377, 376, 373, 372,
1219 361, 356, 355, 352, 350, 346, 337, 327, 326, 325,
1220 323, 318, 315, 313, 312, 311, 308, 307, 306, 305,
1221 303, 301, 300, 299, 297, 296, 295, 293, 292, 290,
1222 287, 286, 284, 282, 281, 280, 276, 263, 262, 243,
1223 240, 239, 234, 231, 226, 222, 221, 220, 219, 216,
1224 208, 207, 204, 203, 189, 187, 183, 179, 176, 175,
1225 174, 173, 172, 171, 169, 166, 165, 162, 161, 159,
1226 156, 155, 154, 153, 151, 149, 148, 146, 144, 143,
1227 137, 134, 125, 124, 122, 119, 114, 112, 107, 103,
1228 97, 92, 89, 87, 85, 84, 83, 80, 76, 74,
1230 73, 71, 67, 65, 59, 55, 50, 47, 43, 39,
1231 16, 15, 10, 8, 7, 768, 768, 768, 768, 768,
1232 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1233 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1234 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1235 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1236 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1240 static yy_state_type yy_last_accepting_state;
1241 static char *yy_last_accepting_cpos;
1243 /* The intent behind this definition is that it'll catch
1244 * any uses of REJECT which flex missed.
1246 #define REJECT reject_used_but_not_detected
1247 #define yymore() yymore_used_but_not_detected
1248 #define YY_MORE_ADJ 0
1249 #define YY_RESTORE_YY_MORE_OFFSET
1253 /* scan.l - scanner for flex input */
1256 * Copyright (c) 1990 The Regents of the University of California.
1257 * All rights reserved.
1259 * This code is derived from software contributed to Berkeley by
1262 * The United States Government has rights in this work pursuant
1263 * to contract no. DE-AC03-76SF00098 between the United States
1264 * Department of Energy and the University of California.
1266 * Redistribution and use in source and binary forms are permitted provided
1267 * that: (1) source distributions retain this entire copyright notice and
1268 * comment, and (2) distributions including binaries display the following
1269 * acknowledgement: ``This product includes software developed by the
1270 * University of California, Berkeley and its contributors'' in the
1271 * documentation or other materials provided with the distribution and in
1272 * all advertising materials mentioning features or use of this software.
1273 * Neither the name of the University nor the names of its contributors may
1274 * be used to endorse or promote products derived from this software without
1275 * specific prior written permission.
1276 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1277 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1278 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1281 /* $Header: /home/daffy/u0/vern/flex/RCS/scan.l,v 2.56 95/04/24 12:17:19 vern Exp $ */
1284 #include "flexdef.h"
1287 #define ACTION_ECHO add_action( yytext )
1288 #define ACTION_IFDEF(def, should_define) \
1290 if ( should_define ) \
1291 action_define( def, 1 ); \
1294 #define MARK_END_OF_PROLOG mark_prolog();
1299 #define RETURNCHAR \
1300 yylval = (unsigned char) yytext[0]; \
1303 #define RETURNNAME \
1304 strcpy( nmstr, yytext ); \
1307 #define PUT_BACK_STRING(str, start) \
1308 for ( i = strlen( str ) - 1; i >= start; --i ) \
1311 #define CHECK_REJECT(str) \
1312 if ( all_upper( str ) ) \
1315 #define CHECK_YYMORE(str) \
1316 if ( all_lower( str ) ) \
1318 #define YY_STACK_USED 1
1319 #define YY_NO_TOP_STATE 1
1321 #define SECT2PROLOG 2
1326 #define CARETISBOL 7
1335 #define ACTION_STRING 15
1336 #define PERCENT_BRACE_ACTION 16
1343 /* Macros after this point can all be overridden by user definitions in
1347 #ifndef YY_SKIP_YYWRAP
1349 extern "C" int yywrap YY_PROTO(( void ));
1351 extern int yywrap YY_PROTO(( void ));
1356 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1360 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1363 #ifdef YY_NEED_STRLEN
1364 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1369 static int yyinput YY_PROTO(( void ));
1371 static int input YY_PROTO(( void ));
1376 static int yy_start_stack_ptr = 0;
1377 static int yy_start_stack_depth = 0;
1378 static int *yy_start_stack = 0;
1379 #ifndef YY_NO_PUSH_STATE
1380 static void yy_push_state YY_PROTO(( int new_state ));
1382 #ifndef YY_NO_POP_STATE
1383 static void yy_pop_state YY_PROTO(( void ));
1385 #ifndef YY_NO_TOP_STATE
1386 static int yy_top_state YY_PROTO(( void ));
1390 #define YY_NO_PUSH_STATE 1
1391 #define YY_NO_POP_STATE 1
1392 #define YY_NO_TOP_STATE 1
1395 #ifdef YY_MALLOC_DECL
1403 /* Just try to get by without declaring the routines. This will fail
1404 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1405 * or sizeof(void*) != sizeof(int).
1410 /* Amount of stuff to slurp up with each read. */
1411 #ifndef YY_READ_BUF_SIZE
1412 #define YY_READ_BUF_SIZE 8192
1415 /* Copy whatever the last rule matched to the standard output. */
1418 /* This used to be an fputs(), but since the string might contain NUL's,
1419 * we now use fwrite().
1421 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1424 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1425 * is returned in "result".
1428 #define YY_INPUT(buf,result,max_size) \
1429 if ( yy_current_buffer->yy_is_interactive ) \
1432 for ( n = 0; n < max_size && \
1433 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1434 buf[n] = (char) c; \
1436 buf[n++] = (char) c; \
1437 if ( c == EOF && ferror( yyin ) ) \
1438 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1441 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1442 && ferror( yyin ) ) \
1443 YY_FATAL_ERROR( "input in flex scanner failed" );
1446 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1447 * we don't want an extra ';' after the "return" because that will cause
1448 * some compilers to complain about unreachable statements.
1451 #define yyterminate() return YY_NULL
1454 /* Number of entries by which start-condition stack grows. */
1455 #ifndef YY_START_STACK_INCR
1456 #define YY_START_STACK_INCR 25
1459 /* Report a fatal error. */
1460 #ifndef YY_FATAL_ERROR
1461 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1464 /* Default declaration of generated scanner - a define so the user can
1465 * easily add parameters.
1468 #define YY_DECL int yylex YY_PROTO(( void ))
1471 /* Code executed at the beginning of each rule, after yytext and yyleng
1474 #ifndef YY_USER_ACTION
1475 #define YY_USER_ACTION
1478 /* Code executed at the end of each rule. */
1480 #define YY_BREAK break;
1483 #define YY_RULE_SETUP \
1485 yy_current_buffer->yy_at_bol = \
1486 (yytext[yyleng - 1] == '\n'); \
1491 yy_state_type yy_current_state;
1492 char *yy_cp, *yy_bp;
1497 static int bracelevel, didadef, indented_code;
1498 static int doing_rule_action = false;
1499 static int option_sense;
1501 int doing_codeblock = false;
1503 Char nmdef[MAXLINE], myesc();
1517 yy_start = 1; /* first start state */
1525 if ( ! yy_current_buffer )
1527 yy_create_buffer( yyin, YY_BUF_SIZE );
1529 yy_load_buffer_state();
1532 while ( 1 ) /* loops until end-of-file is reached */
1536 /* Support of yytext. */
1537 *yy_cp = yy_hold_char;
1539 /* yy_bp points to the position in yy_ch_buf of the start of
1544 yy_current_state = yy_start;
1545 yy_current_state += YY_AT_BOL();
1549 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1550 if ( yy_accept[yy_current_state] )
1552 yy_last_accepting_state = yy_current_state;
1553 yy_last_accepting_cpos = yy_cp;
1555 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1557 yy_current_state = (int) yy_def[yy_current_state];
1558 if ( yy_current_state >= 769 )
1559 yy_c = yy_meta[(unsigned int) yy_c];
1561 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1564 while ( yy_base[yy_current_state] != 2716 );
1567 yy_act = yy_accept[yy_current_state];
1569 { /* have to back up */
1570 yy_cp = yy_last_accepting_cpos;
1571 yy_current_state = yy_last_accepting_state;
1572 yy_act = yy_accept[yy_current_state];
1575 YY_DO_BEFORE_ACTION;
1578 do_action: /* This label is used only to access EOF actions. */
1582 { /* beginning of action switch */
1583 case 0: /* must back up */
1584 /* undo the effects of YY_DO_BEFORE_ACTION */
1585 *yy_cp = yy_hold_char;
1586 yy_cp = yy_last_accepting_cpos;
1587 yy_current_state = yy_last_accepting_state;
1588 goto yy_find_action;
1594 indented_code = true; BEGIN(CODEBLOCK);
1599 ACTION_ECHO; yy_push_state( COMMENT );
1604 yy_push_state( LINEDIR );
1621 line_directive_out( (FILE *) 0, 1 );
1622 indented_code = false;
1638 line_directive_out( (FILE *) 0, 1 );
1646 yytext_is_array = false; ++linenum;
1651 yytext_is_array = true; ++linenum;
1656 BEGIN(OPTION); return OPTION_OP;
1661 ++linenum; /* ignore */
1666 ++linenum; /* ignore */
1671 synerr( _( "unrecognized '%' directive" ) );
1677 strcpy( nmstr, yytext );
1690 ++linenum; /* allows blank lines in section 1 */
1695 ACTION_ECHO; ++linenum; /* maybe end of comment line */
1702 ACTION_ECHO; yy_pop_state();
1717 ++linenum; ACTION_ECHO;
1729 linenum = myctoi( yytext );
1735 flex_free( (void *) infilename );
1736 infilename = copy_string( yytext + 1 );
1737 infilename[strlen( infilename ) - 1] = '\0';
1743 /* ignore spurious characters */
1750 ++linenum; BEGIN(INITIAL);
1763 if ( indented_code )
1772 /* separates name and definition */
1778 strcpy( (char *) nmdef, yytext );
1780 /* Skip trailing whitespace. */
1781 for ( i = strlen( (char *) nmdef ) - 1;
1782 i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
1786 nmdef[i + 1] = '\0';
1788 ndinstal( nmstr, nmdef );
1797 synerr( _( "incomplete name definition" ) );
1807 ++linenum; BEGIN(INITIAL);
1812 option_sense = true;
1822 option_sense = ! option_sense;
1827 csize = option_sense ? 128 : 256;
1832 csize = option_sense ? 256 : 128;
1837 long_align = option_sense;
1843 action_define( "YY_ALWAYS_INTERACTIVE", option_sense );
1849 yytext_is_array = option_sense;
1854 backing_up_report = option_sense;
1859 interactive = ! option_sense;
1864 C_plus_plus = option_sense;
1869 caseins = ! option_sense;
1874 caseins = option_sense;
1879 ddebug = option_sense;
1884 spprdflt = ! option_sense;
1889 useecs = option_sense;
1895 useecs = usemecs = false;
1896 use_read = fullspd = true;
1903 useecs = usemecs = false;
1904 use_read = fulltbl = true;
1910 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
1915 interactive = option_sense;
1920 lex_compat = option_sense;
1926 action_define( "YY_MAIN", option_sense );
1927 do_yywrap = ! option_sense;
1933 usemecs = option_sense;
1939 action_define( "YY_NEVER_INTERACTIVE", option_sense );
1945 performance_report += option_sense ? 1 : -1;
1950 yytext_is_array = ! option_sense;
1955 use_read = option_sense;
1960 reject_really_used = option_sense;
1965 action_define( "YY_STACK_USED", option_sense );
1970 do_stdinit = option_sense;
1975 use_stdout = option_sense;
1980 ACTION_IFDEF("YY_NO_UNPUT", ! option_sense);
1985 printstats = option_sense;
1990 nowarn = ! option_sense;
1995 do_yylineno = option_sense;
2000 yymore_really_used = option_sense;
2005 do_yywrap = option_sense;
2010 ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense);
2015 ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense);
2020 ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense);
2025 ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense);
2030 ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense);
2035 ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense);
2056 strcpy( nmstr, yytext + 1 );
2057 nmstr[strlen( nmstr ) - 1] = '\0';
2065 format_synerr( _( "unrecognized %%option: %s" ),
2074 ++linenum; BEGIN(INITIAL);
2080 ++bracelevel; yyless( 2 ); /* eat only %{ */
2085 --bracelevel; yyless( 2 ); /* eat only %} */
2090 ACTION_ECHO; /* indented code in prolog */
2095 { /* non-indented code */
2096 if ( bracelevel <= 0 )
2097 { /* not in %{ ... %} */
2098 yyless( 0 ); /* put it all back */
2115 ++linenum; ACTION_ECHO;
2117 case YY_STATE_EOF(SECT2PROLOG):
2122 yyterminate(); /* to stop the parser */
2130 ++linenum; /* allow blank lines in section 2 */
2136 indented_code = false;
2137 doing_codeblock = true;
2139 BEGIN(PERCENT_BRACE_ACTION);
2145 BEGIN(SC); return '<';
2155 BEGIN(QUOTE); return '"';
2158 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2159 yy_c_buf_p = yy_cp = yy_bp + 1;
2160 YY_DO_BEFORE_ACTION; /* set up yytext again */
2163 BEGIN(NUM); return '{';
2166 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2167 yy_c_buf_p = yy_cp = yy_bp + 1;
2168 YY_DO_BEFORE_ACTION; /* set up yytext again */
2178 BEGIN(PERCENT_BRACE_ACTION);
2182 doing_rule_action = true;
2191 continued_action = true; ++linenum; return '\n';
2197 yyless( yyleng - 2 ); /* put back '/', '*' */
2199 continued_action = false;
2206 /* allow indented rules */
2212 /* This rule is separate from the one below because
2213 * otherwise we get variable trailing context, so
2214 * we can't build the scanner using -{f,F}.
2217 continued_action = false;
2222 doing_rule_action = true;
2233 continued_action = false;
2235 unput( '\n' ); /* so <ACTION> sees it */
2239 doing_rule_action = true;
2258 yyterminate(); /* to stop the parser */
2267 strcpy( nmstr, yytext );
2269 /* Check to see if we've already encountered this
2272 if ( (cclval = ccllookup( (Char *) nmstr )) != 0 )
2274 if ( input() != ']' )
2275 synerr( _( "bad character class" ) );
2283 /* We fudge a bit. We know that this ccl will
2284 * soon be numbered as lastccl + 1 by cclinit.
2286 cclinstal( (Char *) nmstr, lastccl + 1 );
2288 /* Push back everything but the leading bracket
2289 * so the ccl can be rescanned.
2305 strcpy( nmstr, yytext + 1 );
2306 nmstr[yyleng - 2] = '\0'; /* chop trailing brace */
2308 if ( (nmdefptr = ndlookup( nmstr )) == 0 )
2310 _( "undefined definition {%s}" ),
2314 { /* push back name surrounded by ()'s */
2315 int len = strlen( (char *) nmdefptr );
2317 if ( lex_compat || nmdefptr[0] == '^' ||
2318 (len > 0 && nmdefptr[len - 1] == '$') )
2319 { /* don't use ()'s after all */
2320 PUT_BACK_STRING((char *) nmdefptr, 0);
2322 if ( nmdefptr[0] == '^' )
2329 PUT_BACK_STRING((char *) nmdefptr, 0);
2338 return (unsigned char) yytext[0];
2350 return (unsigned char) yytext[0];
2355 BEGIN(SECT2); return '>';
2358 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2359 yy_c_buf_p = yy_cp = yy_bp + 1;
2360 YY_DO_BEFORE_ACTION; /* set up yytext again */
2363 BEGIN(CARETISBOL); return '>';
2374 format_synerr( _( "bad <start condition>: %s" ),
2382 BEGIN(SECT2); return '^';
2393 BEGIN(SECT2); return '"';
2399 synerr( _( "missing quote" ) );
2408 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2409 yy_c_buf_p = yy_cp = yy_bp + 1;
2410 YY_DO_BEFORE_ACTION; /* set up yytext again */
2413 BEGIN(CCL); return '^';
2416 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2417 yy_c_buf_p = yy_cp = yy_bp + 1;
2418 YY_DO_BEFORE_ACTION; /* set up yytext again */
2426 BEGIN(CCL); RETURNCHAR;
2431 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2432 yy_c_buf_p = yy_cp = yy_bp + 1;
2433 YY_DO_BEFORE_ACTION; /* set up yytext again */
2446 BEGIN(SECT2); return ']';
2452 synerr( _( "bad character class" ) );
2462 BEGIN(CCL); return CCE_ALNUM;
2467 BEGIN(CCL); return CCE_ALPHA;
2472 BEGIN(CCL); return CCE_BLANK;
2477 BEGIN(CCL); return CCE_CNTRL;
2482 BEGIN(CCL); return CCE_DIGIT;
2487 BEGIN(CCL); return CCE_GRAPH;
2492 BEGIN(CCL); return CCE_LOWER;
2497 BEGIN(CCL); return CCE_PRINT;
2502 BEGIN(CCL); return CCE_PUNCT;
2507 BEGIN(CCL); return CCE_SPACE;
2512 BEGIN(CCL); return CCE_UPPER;
2517 BEGIN(CCL); return CCE_XDIGIT;
2524 _( "bad character class expression: %s" ),
2526 BEGIN(CCL); return CCE_ALNUM;
2535 yylval = myctoi( yytext );
2547 BEGIN(SECT2); return '}';
2553 synerr( _( "bad character inside {}'s" ) );
2562 synerr( _( "missing }" ) );
2578 ACTION_ECHO; yy_push_state( COMMENT );
2586 CHECK_REJECT(yytext);
2594 CHECK_YYMORE(yytext);
2609 if ( bracelevel == 0 ||
2610 (doing_codeblock && indented_code) )
2612 if ( doing_rule_action )
2613 add_action( "\tYY_BREAK\n" );
2615 doing_rule_action = doing_codeblock = false;
2621 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
2626 ACTION_ECHO; ++bracelevel;
2631 ACTION_ECHO; --bracelevel;
2646 ACTION_ECHO; /* character constant */
2651 ACTION_ECHO; BEGIN(ACTION_STRING);
2659 if ( bracelevel == 0 )
2661 if ( doing_rule_action )
2662 add_action( "\tYY_BREAK\n" );
2664 doing_rule_action = false;
2689 ++linenum; ACTION_ECHO;
2694 ACTION_ECHO; BEGIN(ACTION);
2702 case YY_STATE_EOF(COMMENT):
2703 case YY_STATE_EOF(ACTION):
2704 case YY_STATE_EOF(ACTION_STRING):
2707 synerr( _( "EOF encountered inside an action" ) );
2715 yylval = myesc( (Char *) yytext );
2717 if ( YY_START == FIRSTCCL )
2729 case YY_STATE_EOF(SECT3):
2731 sectnum = 0; yyterminate();
2737 format_synerr( _( "bad character: %s" ), yytext );
2742 YY_FATAL_ERROR( "flex scanner jammed" );
2745 case YY_STATE_EOF(INITIAL):
2746 case YY_STATE_EOF(SECT2):
2747 case YY_STATE_EOF(CODEBLOCK):
2748 case YY_STATE_EOF(PICKUPDEF):
2749 case YY_STATE_EOF(SC):
2750 case YY_STATE_EOF(CARETISBOL):
2751 case YY_STATE_EOF(NUM):
2752 case YY_STATE_EOF(QUOTE):
2753 case YY_STATE_EOF(FIRSTCCL):
2754 case YY_STATE_EOF(CCL):
2755 case YY_STATE_EOF(RECOVER):
2756 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
2757 case YY_STATE_EOF(OPTION):
2758 case YY_STATE_EOF(LINEDIR):
2761 case YY_END_OF_BUFFER:
2763 /* Amount of text matched not including the EOB char. */
2764 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2766 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2767 *yy_cp = yy_hold_char;
2768 YY_RESTORE_YY_MORE_OFFSET
2770 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2772 /* We're scanning a new file or input source. It's
2773 * possible that this happened because the user
2774 * just pointed yyin at a new source and called
2775 * yylex(). If so, then we have to assure
2776 * consistency between yy_current_buffer and our
2777 * globals. Here is the right place to do so, because
2778 * this is the first action (other than possibly a
2779 * back-up) that will match for the new input source.
2781 yy_n_chars = yy_current_buffer->yy_n_chars;
2782 yy_current_buffer->yy_input_file = yyin;
2783 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2786 /* Note that here we test for yy_c_buf_p "<=" to the position
2787 * of the first EOB in the buffer, since yy_c_buf_p will
2788 * already have been incremented past the NUL character
2789 * (since all states make transitions on EOB to the
2790 * end-of-buffer state). Contrast this with the test
2793 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2794 { /* This was really a NUL. */
2795 yy_state_type yy_next_state;
2797 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2799 yy_current_state = yy_get_previous_state();
2801 /* Okay, we're now positioned to make the NUL
2802 * transition. We couldn't have
2803 * yy_get_previous_state() go ahead and do it
2804 * for us because it doesn't know how to deal
2805 * with the possibility of jamming (and we don't
2806 * want to build jamming into it because then it
2807 * will run more slowly).
2810 yy_next_state = yy_try_NUL_trans( yy_current_state );
2812 yy_bp = yytext_ptr + YY_MORE_ADJ;
2814 if ( yy_next_state )
2816 /* Consume the NUL. */
2817 yy_cp = ++yy_c_buf_p;
2818 yy_current_state = yy_next_state;
2825 goto yy_find_action;
2829 else switch ( yy_get_next_buffer() )
2831 case EOB_ACT_END_OF_FILE:
2833 yy_did_buffer_switch_on_eof = 0;
2837 /* Note: because we've taken care in
2838 * yy_get_next_buffer() to have set up
2839 * yytext, we can now set up
2840 * yy_c_buf_p so that if some total
2841 * hoser (like flex itself) wants to
2842 * call the scanner after we return the
2843 * YY_NULL, it'll still work - another
2844 * YY_NULL will get returned.
2846 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2848 yy_act = YY_STATE_EOF(YY_START);
2854 if ( ! yy_did_buffer_switch_on_eof )
2860 case EOB_ACT_CONTINUE_SCAN:
2862 yytext_ptr + yy_amount_of_matched_text;
2864 yy_current_state = yy_get_previous_state();
2867 yy_bp = yytext_ptr + YY_MORE_ADJ;
2870 case EOB_ACT_LAST_MATCH:
2872 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2874 yy_current_state = yy_get_previous_state();
2877 yy_bp = yytext_ptr + YY_MORE_ADJ;
2878 goto yy_find_action;
2885 "fatal flex scanner internal error--no action found" );
2886 } /* end of action switch */
2887 } /* end of scanning one token */
2888 } /* end of yylex */
2891 /* yy_get_next_buffer - try to read in a new buffer
2893 * Returns a code representing an action:
2894 * EOB_ACT_LAST_MATCH -
2895 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2896 * EOB_ACT_END_OF_FILE - end of file
2899 #ifdef YY_USE_PROTOS
2900 static int yy_get_next_buffer(void)
2902 static int yy_get_next_buffer()
2905 char *dest = yy_current_buffer->yy_ch_buf;
2906 char *source = yytext_ptr;
2907 int number_to_move, i;
2910 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2912 "fatal flex scanner internal error--end of buffer missed" );
2914 if ( yy_current_buffer->yy_fill_buffer == 0 )
2915 { /* Don't try to fill the buffer, so this is an EOF. */
2916 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2918 /* We matched a single character, the EOB, so
2919 * treat this as a final EOF.
2921 return EOB_ACT_END_OF_FILE;
2926 /* We matched some text prior to the EOB, first
2929 return EOB_ACT_LAST_MATCH;
2933 /* Try to read more data. */
2935 /* First move last chars to start of buffer. */
2936 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2938 for ( i = 0; i < number_to_move; ++i )
2939 *(dest++) = *(source++);
2941 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2942 /* don't do the read, it's not guaranteed to return an EOF,
2945 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2950 yy_current_buffer->yy_buf_size - number_to_move - 1;
2952 while ( num_to_read <= 0 )
2953 { /* Not enough room in the buffer - grow it. */
2954 #ifdef YY_USES_REJECT
2956 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2959 /* just a shorter name for the current buffer */
2960 YY_BUFFER_STATE b = yy_current_buffer;
2962 int yy_c_buf_p_offset =
2963 (int) (yy_c_buf_p - b->yy_ch_buf);
2965 if ( b->yy_is_our_buffer )
2967 int new_size = b->yy_buf_size * 2;
2969 if ( new_size <= 0 )
2970 b->yy_buf_size += b->yy_buf_size / 8;
2972 b->yy_buf_size *= 2;
2974 b->yy_ch_buf = (char *)
2975 /* Include room in for 2 EOB chars. */
2976 yy_flex_realloc( (void *) b->yy_ch_buf,
2977 b->yy_buf_size + 2 );
2980 /* Can't grow it, we don't own it. */
2983 if ( ! b->yy_ch_buf )
2985 "fatal error - scanner input buffer overflow" );
2987 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2989 num_to_read = yy_current_buffer->yy_buf_size -
2994 if ( num_to_read > YY_READ_BUF_SIZE )
2995 num_to_read = YY_READ_BUF_SIZE;
2997 /* Read in more data. */
2998 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2999 yy_n_chars, num_to_read );
3001 yy_current_buffer->yy_n_chars = yy_n_chars;
3004 if ( yy_n_chars == 0 )
3006 if ( number_to_move == YY_MORE_ADJ )
3008 ret_val = EOB_ACT_END_OF_FILE;
3014 ret_val = EOB_ACT_LAST_MATCH;
3015 yy_current_buffer->yy_buffer_status =
3016 YY_BUFFER_EOF_PENDING;
3021 ret_val = EOB_ACT_CONTINUE_SCAN;
3023 yy_n_chars += number_to_move;
3024 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3025 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3027 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3033 /* yy_get_previous_state - get the state just before the EOB char was reached */
3035 #ifdef YY_USE_PROTOS
3036 static yy_state_type yy_get_previous_state(void)
3038 static yy_state_type yy_get_previous_state()
3041 yy_state_type yy_current_state;
3044 yy_current_state = yy_start;
3045 yy_current_state += YY_AT_BOL();
3047 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3049 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3050 if ( yy_accept[yy_current_state] )
3052 yy_last_accepting_state = yy_current_state;
3053 yy_last_accepting_cpos = yy_cp;
3055 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3057 yy_current_state = (int) yy_def[yy_current_state];
3058 if ( yy_current_state >= 769 )
3059 yy_c = yy_meta[(unsigned int) yy_c];
3061 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3064 return yy_current_state;
3068 /* yy_try_NUL_trans - try to make a transition on the NUL character
3071 * next_state = yy_try_NUL_trans( current_state );
3074 #ifdef YY_USE_PROTOS
3075 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3077 static yy_state_type yy_try_NUL_trans( yy_current_state )
3078 yy_state_type yy_current_state;
3082 char *yy_cp = yy_c_buf_p;
3085 if ( yy_accept[yy_current_state] )
3087 yy_last_accepting_state = yy_current_state;
3088 yy_last_accepting_cpos = yy_cp;
3090 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3092 yy_current_state = (int) yy_def[yy_current_state];
3093 if ( yy_current_state >= 769 )
3094 yy_c = yy_meta[(unsigned int) yy_c];
3096 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3097 yy_is_jam = (yy_current_state == 768);
3099 return yy_is_jam ? 0 : yy_current_state;
3104 #ifdef YY_USE_PROTOS
3105 static void yyunput( int c, char *yy_bp )
3107 static void yyunput( c, yy_bp )
3112 char *yy_cp = yy_c_buf_p;
3114 /* undo effects of setting up yytext */
3115 *yy_cp = yy_hold_char;
3117 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3118 { /* need to shift things up to make room */
3119 /* +2 for EOB chars. */
3120 int number_to_move = yy_n_chars + 2;
3121 char *dest = &yy_current_buffer->yy_ch_buf[
3122 yy_current_buffer->yy_buf_size + 2];
3124 &yy_current_buffer->yy_ch_buf[number_to_move];
3126 while ( source > yy_current_buffer->yy_ch_buf )
3127 *--dest = *--source;
3129 yy_cp += (int) (dest - source);
3130 yy_bp += (int) (dest - source);
3131 yy_current_buffer->yy_n_chars =
3132 yy_n_chars = yy_current_buffer->yy_buf_size;
3134 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3135 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3138 *--yy_cp = (char) c;
3142 yy_hold_char = *yy_cp;
3145 #endif /* ifndef YY_NO_UNPUT */
3150 static int yyinput()
3152 #ifdef YY_USE_PROTOS
3153 static int input(void)
3161 *yy_c_buf_p = yy_hold_char;
3163 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3165 /* yy_c_buf_p now points to the character we want to return.
3166 * If this occurs *before* the EOB characters, then it's a
3167 * valid NUL; if not, then we've hit the end of the buffer.
3169 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3170 /* This was really a NUL. */
3174 { /* need more input */
3175 int offset = yy_c_buf_p - yytext_ptr;
3178 switch ( yy_get_next_buffer() )
3180 case EOB_ACT_LAST_MATCH:
3181 /* This happens because yy_g_n_b()
3182 * sees that we've accumulated a
3183 * token and flags that we need to
3184 * try matching the token before
3185 * proceeding. But for input(),
3186 * there's no matching to consider.
3187 * So convert the EOB_ACT_LAST_MATCH
3188 * to EOB_ACT_END_OF_FILE.
3191 /* Reset buffer status. */
3196 case EOB_ACT_END_OF_FILE:
3201 if ( ! yy_did_buffer_switch_on_eof )
3210 case EOB_ACT_CONTINUE_SCAN:
3211 yy_c_buf_p = yytext_ptr + offset;
3217 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3218 *yy_c_buf_p = '\0'; /* preserve yytext */
3219 yy_hold_char = *++yy_c_buf_p;
3221 yy_current_buffer->yy_at_bol = (c == '\n');
3225 #endif /* ifndef YY_NO_INPUT */
3228 #ifdef YY_USE_PROTOS
3229 void yyrestart( FILE *input_file )
3231 void yyrestart( input_file )
3235 if ( ! yy_current_buffer )
3236 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3238 yy_init_buffer( yy_current_buffer, input_file );
3239 yy_load_buffer_state();
3243 #ifdef YY_USE_PROTOS
3244 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3246 void yy_switch_to_buffer( new_buffer )
3247 YY_BUFFER_STATE new_buffer;
3250 if ( yy_current_buffer == new_buffer )
3253 if ( yy_current_buffer )
3255 /* Flush out information for old buffer. */
3256 *yy_c_buf_p = yy_hold_char;
3257 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3258 yy_current_buffer->yy_n_chars = yy_n_chars;
3261 yy_current_buffer = new_buffer;
3262 yy_load_buffer_state();
3264 /* We don't actually know whether we did this switch during
3265 * EOF (yywrap()) processing, but the only time this flag
3266 * is looked at is after yywrap() is called, so it's safe
3267 * to go ahead and always set it.
3269 yy_did_buffer_switch_on_eof = 1;
3273 #ifdef YY_USE_PROTOS
3274 void yy_load_buffer_state( void )
3276 void yy_load_buffer_state()
3279 yy_n_chars = yy_current_buffer->yy_n_chars;
3280 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3281 yyin = yy_current_buffer->yy_input_file;
3282 yy_hold_char = *yy_c_buf_p;
3286 #ifdef YY_USE_PROTOS
3287 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3289 YY_BUFFER_STATE yy_create_buffer( file, size )
3296 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3298 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3300 b->yy_buf_size = size;
3302 /* yy_ch_buf has to be 2 characters longer than the size given because
3303 * we need to put in 2 end-of-buffer characters.
3305 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3306 if ( ! b->yy_ch_buf )
3307 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3309 b->yy_is_our_buffer = 1;
3311 yy_init_buffer( b, file );
3317 #ifdef YY_USE_PROTOS
3318 void yy_delete_buffer( YY_BUFFER_STATE b )
3320 void yy_delete_buffer( b )
3327 if ( b == yy_current_buffer )
3328 yy_current_buffer = (YY_BUFFER_STATE) 0;
3330 if ( b->yy_is_our_buffer )
3331 yy_flex_free( (void *) b->yy_ch_buf );
3333 yy_flex_free( (void *) b );
3337 #ifndef YY_ALWAYS_INTERACTIVE
3338 #ifndef YY_NEVER_INTERACTIVE
3339 extern int isatty YY_PROTO(( int ));
3343 #ifdef YY_USE_PROTOS
3344 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3346 void yy_init_buffer( b, file )
3353 yy_flush_buffer( b );
3355 b->yy_input_file = file;
3356 b->yy_fill_buffer = 1;
3358 #if YY_ALWAYS_INTERACTIVE
3359 b->yy_is_interactive = 1;
3361 #if YY_NEVER_INTERACTIVE
3362 b->yy_is_interactive = 0;
3364 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3370 #ifdef YY_USE_PROTOS
3371 void yy_flush_buffer( YY_BUFFER_STATE b )
3373 void yy_flush_buffer( b )
3383 /* We always need two end-of-buffer characters. The first causes
3384 * a transition to the end-of-buffer state. The second causes
3385 * a jam in that state.
3387 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3388 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3390 b->yy_buf_pos = &b->yy_ch_buf[0];
3393 b->yy_buffer_status = YY_BUFFER_NEW;
3395 if ( b == yy_current_buffer )
3396 yy_load_buffer_state();
3400 #ifndef YY_NO_SCAN_BUFFER
3401 #ifdef YY_USE_PROTOS
3402 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3404 YY_BUFFER_STATE yy_scan_buffer( base, size )
3412 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3413 base[size-1] != YY_END_OF_BUFFER_CHAR )
3414 /* They forgot to leave room for the EOB's. */
3417 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3419 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3421 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3422 b->yy_buf_pos = b->yy_ch_buf = base;
3423 b->yy_is_our_buffer = 0;
3424 b->yy_input_file = 0;
3425 b->yy_n_chars = b->yy_buf_size;
3426 b->yy_is_interactive = 0;
3428 b->yy_fill_buffer = 0;
3429 b->yy_buffer_status = YY_BUFFER_NEW;
3431 yy_switch_to_buffer( b );
3438 #ifndef YY_NO_SCAN_STRING
3439 #ifdef YY_USE_PROTOS
3440 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3442 YY_BUFFER_STATE yy_scan_string( yy_str )
3443 yyconst char *yy_str;
3447 for ( len = 0; yy_str[len]; ++len )
3450 return yy_scan_bytes( yy_str, len );
3455 #ifndef YY_NO_SCAN_BYTES
3456 #ifdef YY_USE_PROTOS
3457 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3459 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3460 yyconst char *bytes;
3469 /* Get memory for full buffer, including space for trailing EOB's. */
3471 buf = (char *) yy_flex_alloc( n );
3473 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3475 for ( i = 0; i < len; ++i )
3478 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3480 b = yy_scan_buffer( buf, n );
3482 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3484 /* It's okay to grow etc. this buffer, and we should throw it
3485 * away when we're done.
3487 b->yy_is_our_buffer = 1;
3494 #ifndef YY_NO_PUSH_STATE
3495 #ifdef YY_USE_PROTOS
3496 static void yy_push_state( int new_state )
3498 static void yy_push_state( new_state )
3502 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3506 yy_start_stack_depth += YY_START_STACK_INCR;
3507 new_size = yy_start_stack_depth * sizeof( int );
3509 if ( ! yy_start_stack )
3510 yy_start_stack = (int *) yy_flex_alloc( new_size );
3513 yy_start_stack = (int *) yy_flex_realloc(
3514 (void *) yy_start_stack, new_size );
3516 if ( ! yy_start_stack )
3518 "out of memory expanding start-condition stack" );
3521 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3528 #ifndef YY_NO_POP_STATE
3529 #ifdef YY_USE_PROTOS
3530 static void yy_pop_state(void)
3532 static void yy_pop_state()
3535 if ( --yy_start_stack_ptr < 0 )
3536 YY_FATAL_ERROR( "start-condition stack underflow" );
3538 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3543 #ifndef YY_NO_TOP_STATE
3544 #ifdef YY_USE_PROTOS
3545 static int yy_top_state(void)
3547 static int yy_top_state()
3550 return yy_start_stack[yy_start_stack_ptr - 1];
3554 #ifndef YY_EXIT_FAILURE
3555 #define YY_EXIT_FAILURE 2
3558 #ifdef YY_USE_PROTOS
3559 static void yy_fatal_error( yyconst char msg[] )
3561 static void yy_fatal_error( msg )
3565 (void) fprintf( stderr, "%s\n", msg );
3566 exit( YY_EXIT_FAILURE );
3571 /* Redefine yyless() so it works in section 3 code. */
3577 /* Undo effects of setting up yytext. */ \
3578 yytext[yyleng] = yy_hold_char; \
3579 yy_c_buf_p = yytext + n; \
3580 yy_hold_char = *yy_c_buf_p; \
3581 *yy_c_buf_p = '\0'; \
3587 /* Internal utility routines. */
3590 #ifdef YY_USE_PROTOS
3591 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3593 static void yy_flex_strncpy( s1, s2, n )
3600 for ( i = 0; i < n; ++i )
3605 #ifdef YY_NEED_STRLEN
3606 #ifdef YY_USE_PROTOS
3607 static int yy_flex_strlen( yyconst char *s )
3609 static int yy_flex_strlen( s )
3614 for ( n = 0; s[n]; ++n )
3622 #ifdef YY_USE_PROTOS
3623 static void *yy_flex_alloc( yy_size_t size )
3625 static void *yy_flex_alloc( size )
3629 return (void *) malloc( size );
3632 #ifdef YY_USE_PROTOS
3633 static void *yy_flex_realloc( void *ptr, yy_size_t size )
3635 static void *yy_flex_realloc( ptr, size )
3640 /* The cast to (char *) in the following accommodates both
3641 * implementations that use char* generic pointers, and those
3642 * that use void* generic pointers. It works with the latter
3643 * because both ANSI C and C++ allow castless assignment from
3644 * any pointer type to void*, and deal with argument conversions
3645 * as though doing an assignment.
3647 return (void *) realloc( (char *) ptr, size );
3650 #ifdef YY_USE_PROTOS
3651 static void yy_flex_free( void *ptr )
3653 static void yy_flex_free( ptr )
3673 if ( --num_input_files > 0 )
3675 set_input_file( *++input_files );
3684 /* set_input_file - open the given file (if NULL, stdin) for scanning */
3686 void set_input_file( file )
3689 if ( file && strcmp( file, "-" ) )
3691 infilename = copy_string( file );
3692 yyin = fopen( infilename, "r" );
3695 lerrsf( _( "can't open %s" ), file );
3701 infilename = copy_string( "<stdin>" );
3708 /* Wrapper routines for accessing the scanner's malloc routines. */
3710 void *flex_alloc( size )
3713 return (void *) malloc( size );
3716 void *flex_realloc( ptr, size )
3720 return (void *) realloc( ptr, size );
3723 void flex_free( ptr )