tcsh: fix warning to keep compiling with WARNS=2
[dragonfly.git] / usr.bin / lex / initscan.c
blobb792d834a5bd6771a115da7e07683c6e805e8f9b
1 #line 2 "scan.c"
2 /* A lexical scanner generated by flex */
4 /* Scanner skeleton version:
5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
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 $
8 */
10 #define FLEX_SCANNER
11 #define YY_FLEX_MAJOR_VERSION 2
12 #define YY_FLEX_MINOR_VERSION 5
14 #include <stdio.h>
17 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
18 #ifdef c_plusplus
19 #ifndef __cplusplus
20 #define __cplusplus
21 #endif
22 #endif
25 #ifdef __cplusplus
27 #include <stdlib.h>
28 #include <unistd.h>
30 /* Use prototypes in function declarations. */
31 #define YY_USE_PROTOS
33 /* The "const" storage-class-modifier is valid. */
34 #define YY_USE_CONST
36 #else /* ! __cplusplus */
38 #if __STDC__
40 #define YY_USE_PROTOS
41 #define YY_USE_CONST
43 #endif /* __STDC__ */
44 #endif /* ! __cplusplus */
46 #ifdef YY_USE_CONST
47 #define yyconst const
48 #else
49 #define yyconst
50 #endif
53 #ifdef YY_USE_PROTOS
54 #define YY_PROTO(proto) proto
55 #else
56 #define YY_PROTO(proto) ()
57 #endif
59 /* Returned upon end-of-file. */
60 #define YY_NULL 0
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
65 * double cast.
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
77 * compatibility.
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;
95 extern int yyleng;
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 )
107 * yyless( 5 );
108 * else
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. */
118 #define yyless(n) \
119 do \
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 */ \
127 while ( 0 )
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
140 FILE *yy_input_file;
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
146 * characters.
148 yy_size_t yy_buf_size;
150 /* Number of characters read into yy_ch_buf, not including EOB
151 * characters.
153 int yy_n_chars;
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
157 * delete it.
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
164 * each newline.
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
170 * not.
172 int yy_at_bol;
174 /* Whether to try to fill the input buffer when we reach the
175 * end of it.
177 int yy_fill_buffer;
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
199 * "scanner state".
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 */
210 int yyleng;
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;
261 extern char *yytext;
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; \
276 *yy_cp = '\0'; \
277 yy_c_buf_p = yy_cp;
279 #define YY_NUM_RULES 165
280 #define YY_END_OF_BUFFER 166
281 static yyconst short int yy_accept[769] =
282 { 0,
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] =
370 { 0,
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,
398 1, 1, 1, 1, 1
401 static yyconst int yy_meta[59] =
402 { 0,
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] =
412 { 0,
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] =
510 { 0,
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] =
608 { 0,
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,
913 768, 768, 768, 768
916 static yyconst short int yy_chk[2775] =
917 { 0,
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,
1222 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
1235 char *yytext;
1236 #line 1 "scan.l"
1237 #define INITIAL 0
1238 /* scan.l - scanner for flex input */
1239 #line 4 "scan.l"
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
1245 * Vern Paxson.
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"
1269 #include "parse.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();
1280 #define YY_DECL \
1281 int flexscan()
1283 #define RETURNCHAR \
1284 yylval = (unsigned char) yytext[0]; \
1285 return CHAR;
1287 #define RETURNNAME \
1288 strcpy( nmstr, yytext ); \
1289 return NAME;
1291 #define PUT_BACK_STRING(str, start) \
1292 for ( i = strlen( str ) - 1; i >= start; --i ) \
1293 unput((str)[i])
1295 #define CHECK_REJECT(str) \
1296 if ( all_upper( str ) ) \
1297 reject = true;
1299 #define CHECK_YYMORE(str) \
1300 if ( all_lower( str ) ) \
1301 yymore_used = true;
1302 #define YY_STACK_USED 1
1303 #define YY_NO_TOP_STATE 1
1304 #define SECT2 1
1305 #define SECT2PROLOG 2
1306 #define SECT3 3
1307 #define CODEBLOCK 4
1308 #define PICKUPDEF 5
1309 #define SC 6
1310 #define CARETISBOL 7
1311 #define NUM 8
1312 #define QUOTE 9
1314 #define FIRSTCCL 10
1315 #define CCL 11
1316 #define ACTION 12
1317 #define RECOVER 13
1318 #define COMMENT 14
1319 #define ACTION_STRING 15
1320 #define PERCENT_BRACE_ACTION 16
1322 #define OPTION 17
1323 #define LINEDIR 18
1325 #line 1333 "scan.c"
1327 /* Macros after this point can all be overridden by user definitions in
1328 * section 1.
1331 #ifndef YY_SKIP_YYWRAP
1332 #ifdef __cplusplus
1333 extern "C" int yywrap YY_PROTO(( void ));
1334 #else
1335 extern int yywrap YY_PROTO(( void ));
1336 #endif
1337 #endif
1339 #ifndef YY_NO_UNPUT
1340 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1341 #endif
1343 #ifndef yytext_ptr
1344 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1345 #endif
1347 #ifdef YY_NEED_STRLEN
1348 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1349 #endif
1351 #ifndef YY_NO_INPUT
1352 #ifdef __cplusplus
1353 static int yyinput YY_PROTO(( void ));
1354 #else
1355 static int input YY_PROTO(( void ));
1356 #endif
1357 #endif
1359 #if YY_STACK_USED
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 ));
1365 #endif
1366 #ifndef YY_NO_POP_STATE
1367 static void yy_pop_state YY_PROTO(( void ));
1368 #endif
1369 #ifndef YY_NO_TOP_STATE
1370 static int yy_top_state YY_PROTO(( void ));
1371 #endif
1373 #else
1374 #define YY_NO_PUSH_STATE 1
1375 #define YY_NO_POP_STATE 1
1376 #define YY_NO_TOP_STATE 1
1377 #endif
1379 #ifdef YY_MALLOC_DECL
1380 YY_MALLOC_DECL
1381 #else
1382 #if __STDC__
1383 #ifndef __cplusplus
1384 #include <stdlib.h>
1385 #endif
1386 #else
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).
1391 #endif
1392 #endif
1394 /* Amount of stuff to slurp up with each read. */
1395 #ifndef YY_READ_BUF_SIZE
1396 #define YY_READ_BUF_SIZE 8192
1397 #endif
1399 /* Copy whatever the last rule matched to the standard output. */
1401 #ifndef ECHO
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 )
1406 #endif
1408 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1409 * is returned in "result".
1411 #ifndef YY_INPUT
1412 #define YY_INPUT(buf,result,max_size) \
1413 if ( yy_current_buffer->yy_is_interactive ) \
1415 int c = '*', n; \
1416 for ( n = 0; n < max_size && \
1417 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1418 buf[n] = (char) c; \
1419 if ( c == '\n' ) \
1420 buf[n++] = (char) c; \
1421 if ( c == EOF && ferror( yyin ) ) \
1422 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1423 result = n; \
1425 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1426 && ferror( yyin ) ) \
1427 YY_FATAL_ERROR( "input in flex scanner failed" );
1428 #endif
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.
1434 #ifndef yyterminate
1435 #define yyterminate() return YY_NULL
1436 #endif
1438 /* Number of entries by which start-condition stack grows. */
1439 #ifndef YY_START_STACK_INCR
1440 #define YY_START_STACK_INCR 25
1441 #endif
1443 /* Report a fatal error. */
1444 #ifndef YY_FATAL_ERROR
1445 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1446 #endif
1448 /* Default declaration of generated scanner - a define so the user can
1449 * easily add parameters.
1451 #ifndef YY_DECL
1452 #define YY_DECL int yylex YY_PROTO(( void ))
1453 #endif
1455 /* Code executed at the beginning of each rule, after yytext and yyleng
1456 * have been set up.
1458 #ifndef YY_USER_ACTION
1459 #define YY_USER_ACTION
1460 #endif
1462 /* Code executed at the end of each rule. */
1463 #ifndef YY_BREAK
1464 #define YY_BREAK break;
1465 #endif
1467 #define YY_RULE_SETUP \
1468 if ( yyleng > 0 ) \
1469 yy_current_buffer->yy_at_bol = \
1470 (yytext[yyleng - 1] == '\n'); \
1471 YY_USER_ACTION
1473 YY_DECL
1475 yy_state_type yy_current_state;
1476 char *yy_cp, *yy_bp;
1477 int yy_act;
1479 #line 94 "scan.l"
1481 static int bracelevel, didadef, indented_code;
1482 static int doing_rule_action = false;
1483 static int option_sense;
1485 int doing_codeblock = false;
1486 int i;
1487 Char nmdef[MAXLINE], myesc();
1490 #line 1498 "scan.c"
1492 if ( yy_init )
1494 yy_init = 0;
1496 #ifdef YY_USER_INIT
1497 YY_USER_INIT;
1498 #endif
1500 if ( ! yy_start )
1501 yy_start = 1; /* first start state */
1503 if ( ! yyin )
1504 yyin = stdin;
1506 if ( ! yyout )
1507 yyout = stdout;
1509 if ( ! yy_current_buffer )
1510 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 */
1518 yy_cp = yy_c_buf_p;
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
1524 * the current run.
1526 yy_bp = yy_cp;
1528 yy_current_state = yy_start;
1529 yy_current_state += YY_AT_BOL();
1530 yy_match:
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];
1546 ++yy_cp;
1548 while ( yy_base[yy_current_state] != 2716 );
1550 yy_find_action:
1551 yy_act = yy_accept[yy_current_state];
1552 if ( yy_act == 0 )
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. */
1565 switch ( yy_act )
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;
1575 case 1:
1576 YY_RULE_SETUP
1577 #line 105 "scan.l"
1578 indented_code = true; BEGIN(CODEBLOCK);
1579 YY_BREAK
1580 case 2:
1581 YY_RULE_SETUP
1582 #line 106 "scan.l"
1583 ACTION_ECHO; yy_push_state( COMMENT );
1584 YY_BREAK
1585 case 3:
1586 YY_RULE_SETUP
1587 #line 107 "scan.l"
1588 yy_push_state( LINEDIR );
1589 YY_BREAK
1590 case 4:
1591 YY_RULE_SETUP
1592 #line 108 "scan.l"
1593 return SCDECL;
1594 YY_BREAK
1595 case 5:
1596 YY_RULE_SETUP
1597 #line 109 "scan.l"
1598 return XSCDECL;
1599 YY_BREAK
1600 case 6:
1601 YY_RULE_SETUP
1602 #line 110 "scan.l"
1604 ++linenum;
1605 line_directive_out( NULL, 1 );
1606 indented_code = false;
1607 BEGIN(CODEBLOCK);
1609 YY_BREAK
1610 case 7:
1611 YY_RULE_SETUP
1612 #line 117 "scan.l"
1613 /* discard */
1614 YY_BREAK
1615 case 8:
1616 YY_RULE_SETUP
1617 #line 119 "scan.l"
1619 sectnum = 2;
1620 bracelevel = 0;
1621 mark_defs1();
1622 line_directive_out( NULL, 1 );
1623 BEGIN(SECT2PROLOG);
1624 return SECTEND;
1626 YY_BREAK
1627 case 9:
1628 YY_RULE_SETUP
1629 #line 128 "scan.l"
1630 yytext_is_array = false; ++linenum;
1631 YY_BREAK
1632 case 10:
1633 YY_RULE_SETUP
1634 #line 129 "scan.l"
1635 yytext_is_array = true; ++linenum;
1636 YY_BREAK
1637 case 11:
1638 YY_RULE_SETUP
1639 #line 131 "scan.l"
1640 BEGIN(OPTION); return OPTION_OP;
1641 YY_BREAK
1642 case 12:
1643 YY_RULE_SETUP
1644 #line 133 "scan.l"
1645 ++linenum; /* ignore */
1646 YY_BREAK
1647 case 13:
1648 YY_RULE_SETUP
1649 #line 134 "scan.l"
1650 ++linenum; /* ignore */
1651 YY_BREAK
1652 case 14:
1653 YY_RULE_SETUP
1654 #line 136 "scan.l"
1655 synerr( _( "unrecognized '%' directive" ) );
1656 YY_BREAK
1657 case 15:
1658 YY_RULE_SETUP
1659 #line 138 "scan.l"
1661 strcpy( nmstr, yytext );
1662 didadef = false;
1663 BEGIN(PICKUPDEF);
1665 YY_BREAK
1666 case 16:
1667 YY_RULE_SETUP
1668 #line 144 "scan.l"
1669 RETURNNAME;
1670 YY_BREAK
1671 case 17:
1672 YY_RULE_SETUP
1673 #line 145 "scan.l"
1674 ++linenum; /* allows blank lines in section 1 */
1675 YY_BREAK
1676 case 18:
1677 YY_RULE_SETUP
1678 #line 146 "scan.l"
1679 ACTION_ECHO; ++linenum; /* maybe end of comment line */
1680 YY_BREAK
1683 case 19:
1684 YY_RULE_SETUP
1685 #line 151 "scan.l"
1686 ACTION_ECHO; yy_pop_state();
1687 YY_BREAK
1688 case 20:
1689 YY_RULE_SETUP
1690 #line 152 "scan.l"
1691 ACTION_ECHO;
1692 YY_BREAK
1693 case 21:
1694 YY_RULE_SETUP
1695 #line 153 "scan.l"
1696 ACTION_ECHO;
1697 YY_BREAK
1698 case 22:
1699 YY_RULE_SETUP
1700 #line 154 "scan.l"
1701 ++linenum; ACTION_ECHO;
1702 YY_BREAK
1705 case 23:
1706 YY_RULE_SETUP
1707 #line 158 "scan.l"
1708 yy_pop_state();
1709 YY_BREAK
1710 case 24:
1711 YY_RULE_SETUP
1712 #line 159 "scan.l"
1713 linenum = myctoi( yytext );
1714 YY_BREAK
1715 case 25:
1716 YY_RULE_SETUP
1717 #line 161 "scan.l"
1719 flex_free( (void *) infilename );
1720 infilename = copy_string( yytext + 1 );
1721 infilename[strlen( infilename ) - 1] = '\0';
1723 YY_BREAK
1724 case 26:
1725 YY_RULE_SETUP
1726 #line 166 "scan.l"
1727 /* ignore spurious characters */
1728 YY_BREAK
1731 case 27:
1732 YY_RULE_SETUP
1733 #line 170 "scan.l"
1734 ++linenum; BEGIN(INITIAL);
1735 YY_BREAK
1736 case 28:
1737 YY_RULE_SETUP
1738 #line 172 "scan.l"
1739 ACTION_ECHO;
1740 YY_BREAK
1741 case 29:
1742 YY_RULE_SETUP
1743 #line 174 "scan.l"
1745 ++linenum;
1746 ACTION_ECHO;
1747 if ( indented_code )
1748 BEGIN(INITIAL);
1750 YY_BREAK
1753 case 30:
1754 YY_RULE_SETUP
1755 #line 184 "scan.l"
1756 /* separates name and definition */
1757 YY_BREAK
1758 case 31:
1759 YY_RULE_SETUP
1760 #line 186 "scan.l"
1762 strcpy( (char *) nmdef, yytext );
1764 /* Skip trailing whitespace. */
1765 for ( i = strlen( (char *) nmdef ) - 1;
1766 i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
1767 --i )
1770 nmdef[i + 1] = '\0';
1772 ndinstal( nmstr, nmdef );
1773 didadef = true;
1775 YY_BREAK
1776 case 32:
1777 YY_RULE_SETUP
1778 #line 201 "scan.l"
1780 if ( ! didadef )
1781 synerr( _( "incomplete name definition" ) );
1782 BEGIN(INITIAL);
1783 ++linenum;
1785 YY_BREAK
1788 case 33:
1789 YY_RULE_SETUP
1790 #line 211 "scan.l"
1791 ++linenum; BEGIN(INITIAL);
1792 YY_BREAK
1793 case 34:
1794 YY_RULE_SETUP
1795 #line 212 "scan.l"
1796 option_sense = true;
1797 YY_BREAK
1798 case 35:
1799 YY_RULE_SETUP
1800 #line 214 "scan.l"
1801 return '=';
1802 YY_BREAK
1803 case 36:
1804 YY_RULE_SETUP
1805 #line 216 "scan.l"
1806 option_sense = ! option_sense;
1807 YY_BREAK
1808 case 37:
1809 YY_RULE_SETUP
1810 #line 218 "scan.l"
1811 csize = option_sense ? 128 : 256;
1812 YY_BREAK
1813 case 38:
1814 YY_RULE_SETUP
1815 #line 219 "scan.l"
1816 csize = option_sense ? 256 : 128;
1817 YY_BREAK
1818 case 39:
1819 YY_RULE_SETUP
1820 #line 221 "scan.l"
1821 long_align = option_sense;
1822 YY_BREAK
1823 case 40:
1824 YY_RULE_SETUP
1825 #line 222 "scan.l"
1827 action_define( "YY_ALWAYS_INTERACTIVE", option_sense );
1829 YY_BREAK
1830 case 41:
1831 YY_RULE_SETUP
1832 #line 225 "scan.l"
1833 yytext_is_array = option_sense;
1834 YY_BREAK
1835 case 42:
1836 YY_RULE_SETUP
1837 #line 226 "scan.l"
1838 backing_up_report = option_sense;
1839 YY_BREAK
1840 case 43:
1841 YY_RULE_SETUP
1842 #line 227 "scan.l"
1843 interactive = ! option_sense;
1844 YY_BREAK
1845 case 44:
1846 YY_RULE_SETUP
1847 #line 228 "scan.l"
1848 C_plus_plus = option_sense;
1849 YY_BREAK
1850 case 45:
1851 YY_RULE_SETUP
1852 #line 229 "scan.l"
1853 caseins = ! option_sense;
1854 YY_BREAK
1855 case 46:
1856 YY_RULE_SETUP
1857 #line 230 "scan.l"
1858 caseins = option_sense;
1859 YY_BREAK
1860 case 47:
1861 YY_RULE_SETUP
1862 #line 231 "scan.l"
1863 ddebug = option_sense;
1864 YY_BREAK
1865 case 48:
1866 YY_RULE_SETUP
1867 #line 232 "scan.l"
1868 spprdflt = ! option_sense;
1869 YY_BREAK
1870 case 49:
1871 YY_RULE_SETUP
1872 #line 233 "scan.l"
1873 useecs = option_sense;
1874 YY_BREAK
1875 case 50:
1876 YY_RULE_SETUP
1877 #line 234 "scan.l"
1879 useecs = usemecs = false;
1880 use_read = fullspd = true;
1882 YY_BREAK
1883 case 51:
1884 YY_RULE_SETUP
1885 #line 238 "scan.l"
1887 useecs = usemecs = false;
1888 use_read = fulltbl = true;
1890 YY_BREAK
1891 case 52:
1892 YY_RULE_SETUP
1893 #line 242 "scan.l"
1894 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
1895 YY_BREAK
1896 case 53:
1897 YY_RULE_SETUP
1898 #line 243 "scan.l"
1899 interactive = option_sense;
1900 YY_BREAK
1901 case 54:
1902 YY_RULE_SETUP
1903 #line 244 "scan.l"
1904 lex_compat = option_sense;
1905 YY_BREAK
1906 case 55:
1907 YY_RULE_SETUP
1908 #line 245 "scan.l"
1910 action_define( "YY_MAIN", option_sense );
1911 do_yywrap = ! option_sense;
1913 YY_BREAK
1914 case 56:
1915 YY_RULE_SETUP
1916 #line 249 "scan.l"
1917 usemecs = option_sense;
1918 YY_BREAK
1919 case 57:
1920 YY_RULE_SETUP
1921 #line 250 "scan.l"
1923 action_define( "YY_NEVER_INTERACTIVE", option_sense );
1925 YY_BREAK
1926 case 58:
1927 YY_RULE_SETUP
1928 #line 253 "scan.l"
1929 performance_report += option_sense ? 1 : -1;
1930 YY_BREAK
1931 case 59:
1932 YY_RULE_SETUP
1933 #line 254 "scan.l"
1934 yytext_is_array = ! option_sense;
1935 YY_BREAK
1936 case 60:
1937 YY_RULE_SETUP
1938 #line 255 "scan.l"
1939 use_read = option_sense;
1940 YY_BREAK
1941 case 61:
1942 YY_RULE_SETUP
1943 #line 256 "scan.l"
1944 reject_really_used = option_sense;
1945 YY_BREAK
1946 case 62:
1947 YY_RULE_SETUP
1948 #line 257 "scan.l"
1949 action_define( "YY_STACK_USED", option_sense );
1950 YY_BREAK
1951 case 63:
1952 YY_RULE_SETUP
1953 #line 258 "scan.l"
1954 do_stdinit = option_sense;
1955 YY_BREAK
1956 case 64:
1957 YY_RULE_SETUP
1958 #line 259 "scan.l"
1959 use_stdout = option_sense;
1960 YY_BREAK
1961 case 65:
1962 YY_RULE_SETUP
1963 #line 260 "scan.l"
1964 ACTION_IFDEF("YY_NO_UNPUT", ! option_sense);
1965 YY_BREAK
1966 case 66:
1967 YY_RULE_SETUP
1968 #line 261 "scan.l"
1969 printstats = option_sense;
1970 YY_BREAK
1971 case 67:
1972 YY_RULE_SETUP
1973 #line 262 "scan.l"
1974 nowarn = ! option_sense;
1975 YY_BREAK
1976 case 68:
1977 YY_RULE_SETUP
1978 #line 263 "scan.l"
1979 do_yylineno = option_sense;
1980 YY_BREAK
1981 case 69:
1982 YY_RULE_SETUP
1983 #line 264 "scan.l"
1984 yymore_really_used = option_sense;
1985 YY_BREAK
1986 case 70:
1987 YY_RULE_SETUP
1988 #line 265 "scan.l"
1989 do_yywrap = option_sense;
1990 YY_BREAK
1991 case 71:
1992 YY_RULE_SETUP
1993 #line 267 "scan.l"
1994 ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense);
1995 YY_BREAK
1996 case 72:
1997 YY_RULE_SETUP
1998 #line 268 "scan.l"
1999 ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense);
2000 YY_BREAK
2001 case 73:
2002 YY_RULE_SETUP
2003 #line 269 "scan.l"
2004 ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense);
2005 YY_BREAK
2006 case 74:
2007 YY_RULE_SETUP
2008 #line 271 "scan.l"
2009 ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense);
2010 YY_BREAK
2011 case 75:
2012 YY_RULE_SETUP
2013 #line 272 "scan.l"
2014 ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense);
2015 YY_BREAK
2016 case 76:
2017 YY_RULE_SETUP
2018 #line 273 "scan.l"
2019 ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense);
2020 YY_BREAK
2021 case 77:
2022 YY_RULE_SETUP
2023 #line 275 "scan.l"
2024 return OPT_OUTFILE;
2025 YY_BREAK
2026 case 78:
2027 YY_RULE_SETUP
2028 #line 276 "scan.l"
2029 return OPT_PREFIX;
2030 YY_BREAK
2031 case 79:
2032 YY_RULE_SETUP
2033 #line 277 "scan.l"
2034 return OPT_YYCLASS;
2035 YY_BREAK
2036 case 80:
2037 YY_RULE_SETUP
2038 #line 279 "scan.l"
2040 strcpy( nmstr, yytext + 1 );
2041 nmstr[strlen( nmstr ) - 1] = '\0';
2042 return NAME;
2044 YY_BREAK
2045 case 81:
2046 YY_RULE_SETUP
2047 #line 285 "scan.l"
2049 format_synerr( _( "unrecognized %%option: %s" ),
2050 yytext );
2051 BEGIN(RECOVER);
2053 YY_BREAK
2055 case 82:
2056 YY_RULE_SETUP
2057 #line 292 "scan.l"
2058 ++linenum; BEGIN(INITIAL);
2059 YY_BREAK
2061 case 83:
2062 YY_RULE_SETUP
2063 #line 296 "scan.l"
2064 ++bracelevel; yyless( 2 ); /* eat only %{ */
2065 YY_BREAK
2066 case 84:
2067 YY_RULE_SETUP
2068 #line 297 "scan.l"
2069 --bracelevel; yyless( 2 ); /* eat only %} */
2070 YY_BREAK
2071 case 85:
2072 YY_RULE_SETUP
2073 #line 299 "scan.l"
2074 ACTION_ECHO; /* indented code in prolog */
2075 YY_BREAK
2076 case 86:
2077 YY_RULE_SETUP
2078 #line 301 "scan.l"
2079 { /* non-indented code */
2080 if ( bracelevel <= 0 )
2081 { /* not in %{ ... %} */
2082 yyless( 0 ); /* put it all back */
2083 yy_set_bol( 1 );
2084 mark_prolog();
2085 BEGIN(SECT2);
2087 else
2088 ACTION_ECHO;
2090 YY_BREAK
2091 case 87:
2092 YY_RULE_SETUP
2093 #line 313 "scan.l"
2094 ACTION_ECHO;
2095 YY_BREAK
2096 case 88:
2097 YY_RULE_SETUP
2098 #line 314 "scan.l"
2099 ++linenum; ACTION_ECHO;
2100 YY_BREAK
2101 case YY_STATE_EOF(SECT2PROLOG):
2102 #line 316 "scan.l"
2104 mark_prolog();
2105 sectnum = 0;
2106 yyterminate(); /* to stop the parser */
2108 YY_BREAK
2111 case 89:
2112 YY_RULE_SETUP
2113 #line 324 "scan.l"
2114 ++linenum; /* allow blank lines in section 2 */
2115 YY_BREAK
2116 case 90:
2117 YY_RULE_SETUP
2118 #line 326 "scan.l"
2120 indented_code = false;
2121 doing_codeblock = true;
2122 bracelevel = 1;
2123 BEGIN(PERCENT_BRACE_ACTION);
2125 YY_BREAK
2126 case 91:
2127 YY_RULE_SETUP
2128 #line 333 "scan.l"
2129 BEGIN(SC); return '<';
2130 YY_BREAK
2131 case 92:
2132 YY_RULE_SETUP
2133 #line 334 "scan.l"
2134 return '^';
2135 YY_BREAK
2136 case 93:
2137 YY_RULE_SETUP
2138 #line 335 "scan.l"
2139 BEGIN(QUOTE); return '"';
2140 YY_BREAK
2141 case 94:
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 */
2145 YY_RULE_SETUP
2146 #line 336 "scan.l"
2147 BEGIN(NUM); return '{';
2148 YY_BREAK
2149 case 95:
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 */
2153 YY_RULE_SETUP
2154 #line 337 "scan.l"
2155 return '$';
2156 YY_BREAK
2157 case 96:
2158 YY_RULE_SETUP
2159 #line 339 "scan.l"
2161 bracelevel = 1;
2162 BEGIN(PERCENT_BRACE_ACTION);
2164 if ( in_rule )
2166 doing_rule_action = true;
2167 in_rule = false;
2168 return '\n';
2171 YY_BREAK
2172 case 97:
2173 YY_RULE_SETUP
2174 #line 350 "scan.l"
2175 continued_action = true; ++linenum; return '\n';
2176 YY_BREAK
2177 case 98:
2178 YY_RULE_SETUP
2179 #line 352 "scan.l"
2181 yyless( yyleng - 2 ); /* put back '/', '*' */
2182 bracelevel = 0;
2183 continued_action = false;
2184 BEGIN(ACTION);
2186 YY_BREAK
2187 case 99:
2188 YY_RULE_SETUP
2189 #line 359 "scan.l"
2190 /* allow indented rules */
2191 YY_BREAK
2192 case 100:
2193 YY_RULE_SETUP
2194 #line 361 "scan.l"
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}.
2200 bracelevel = 0;
2201 continued_action = false;
2202 BEGIN(ACTION);
2204 if ( in_rule )
2206 doing_rule_action = true;
2207 in_rule = false;
2208 return '\n';
2211 YY_BREAK
2212 case 101:
2213 YY_RULE_SETUP
2214 #line 378 "scan.l"
2216 bracelevel = 0;
2217 continued_action = false;
2218 BEGIN(ACTION);
2219 unput( '\n' ); /* so <ACTION> sees it */
2221 if ( in_rule )
2223 doing_rule_action = true;
2224 in_rule = false;
2225 return '\n';
2228 YY_BREAK
2229 case 102:
2230 #line 393 "scan.l"
2231 case 103:
2232 YY_RULE_SETUP
2233 #line 393 "scan.l"
2234 return EOF_OP;
2235 YY_BREAK
2236 case 104:
2237 YY_RULE_SETUP
2238 #line 395 "scan.l"
2240 sectnum = 3;
2241 BEGIN(SECT3);
2242 yyterminate(); /* to stop the parser */
2244 YY_BREAK
2245 case 105:
2246 YY_RULE_SETUP
2247 #line 401 "scan.l"
2249 int cclval;
2251 strcpy( nmstr, yytext );
2253 /* Check to see if we've already encountered this
2254 * ccl.
2256 if ( (cclval = ccllookup( (Char *) nmstr )) != 0 )
2258 if ( input() != ']' )
2259 synerr( _( "bad character class" ) );
2261 yylval = cclval;
2262 ++cclreuse;
2263 return PREVCCL;
2265 else
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.
2275 yyless( 1 );
2277 BEGIN(FIRSTCCL);
2278 return '[';
2281 YY_BREAK
2282 case 106:
2283 YY_RULE_SETUP
2284 #line 435 "scan.l"
2286 Char *nmdefptr;
2287 Char *ndlookup();
2289 strcpy( nmstr, yytext + 1 );
2290 nmstr[yyleng - 2] = '\0'; /* chop trailing brace */
2292 if ( (nmdefptr = ndlookup( nmstr )) == 0 )
2293 format_synerr(
2294 _( "undefined definition {%s}" ),
2295 nmstr );
2297 else
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] == '^' )
2307 BEGIN(CARETISBOL);
2310 else
2312 unput(')');
2313 PUT_BACK_STRING((char *) nmdefptr, 0);
2314 unput('(');
2318 YY_BREAK
2319 case 107:
2320 YY_RULE_SETUP
2321 #line 469 "scan.l"
2322 return (unsigned char) yytext[0];
2323 YY_BREAK
2324 case 108:
2325 YY_RULE_SETUP
2326 #line 470 "scan.l"
2327 RETURNCHAR;
2328 YY_BREAK
2331 case 109:
2332 YY_RULE_SETUP
2333 #line 475 "scan.l"
2334 return (unsigned char) yytext[0];
2335 YY_BREAK
2336 case 110:
2337 YY_RULE_SETUP
2338 #line 476 "scan.l"
2339 BEGIN(SECT2); return '>';
2340 YY_BREAK
2341 case 111:
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 */
2345 YY_RULE_SETUP
2346 #line 477 "scan.l"
2347 BEGIN(CARETISBOL); return '>';
2348 YY_BREAK
2349 case 112:
2350 YY_RULE_SETUP
2351 #line 478 "scan.l"
2352 RETURNNAME;
2353 YY_BREAK
2354 case 113:
2355 YY_RULE_SETUP
2356 #line 479 "scan.l"
2358 format_synerr( _( "bad <start condition>: %s" ),
2359 yytext );
2361 YY_BREAK
2363 case 114:
2364 YY_RULE_SETUP
2365 #line 485 "scan.l"
2366 BEGIN(SECT2); return '^';
2367 YY_BREAK
2369 case 115:
2370 YY_RULE_SETUP
2371 #line 489 "scan.l"
2372 RETURNCHAR;
2373 YY_BREAK
2374 case 116:
2375 YY_RULE_SETUP
2376 #line 490 "scan.l"
2377 BEGIN(SECT2); return '"';
2378 YY_BREAK
2379 case 117:
2380 YY_RULE_SETUP
2381 #line 492 "scan.l"
2383 synerr( _( "missing quote" ) );
2384 BEGIN(SECT2);
2385 ++linenum;
2386 return '"';
2388 YY_BREAK
2391 case 118:
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 */
2395 YY_RULE_SETUP
2396 #line 502 "scan.l"
2397 BEGIN(CCL); return '^';
2398 YY_BREAK
2399 case 119:
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 */
2403 YY_RULE_SETUP
2404 #line 503 "scan.l"
2405 return '^';
2406 YY_BREAK
2407 case 120:
2408 YY_RULE_SETUP
2409 #line 504 "scan.l"
2410 BEGIN(CCL); RETURNCHAR;
2411 YY_BREAK
2414 case 121:
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 */
2418 YY_RULE_SETUP
2419 #line 508 "scan.l"
2420 return '-';
2421 YY_BREAK
2422 case 122:
2423 YY_RULE_SETUP
2424 #line 509 "scan.l"
2425 RETURNCHAR;
2426 YY_BREAK
2427 case 123:
2428 YY_RULE_SETUP
2429 #line 510 "scan.l"
2430 BEGIN(SECT2); return ']';
2431 YY_BREAK
2432 case 124:
2433 YY_RULE_SETUP
2434 #line 511 "scan.l"
2436 synerr( _( "bad character class" ) );
2437 BEGIN(SECT2);
2438 return ']';
2440 YY_BREAK
2443 case 125:
2444 YY_RULE_SETUP
2445 #line 519 "scan.l"
2446 BEGIN(CCL); return CCE_ALNUM;
2447 YY_BREAK
2448 case 126:
2449 YY_RULE_SETUP
2450 #line 520 "scan.l"
2451 BEGIN(CCL); return CCE_ALPHA;
2452 YY_BREAK
2453 case 127:
2454 YY_RULE_SETUP
2455 #line 521 "scan.l"
2456 BEGIN(CCL); return CCE_BLANK;
2457 YY_BREAK
2458 case 128:
2459 YY_RULE_SETUP
2460 #line 522 "scan.l"
2461 BEGIN(CCL); return CCE_CNTRL;
2462 YY_BREAK
2463 case 129:
2464 YY_RULE_SETUP
2465 #line 523 "scan.l"
2466 BEGIN(CCL); return CCE_DIGIT;
2467 YY_BREAK
2468 case 130:
2469 YY_RULE_SETUP
2470 #line 524 "scan.l"
2471 BEGIN(CCL); return CCE_GRAPH;
2472 YY_BREAK
2473 case 131:
2474 YY_RULE_SETUP
2475 #line 525 "scan.l"
2476 BEGIN(CCL); return CCE_LOWER;
2477 YY_BREAK
2478 case 132:
2479 YY_RULE_SETUP
2480 #line 526 "scan.l"
2481 BEGIN(CCL); return CCE_PRINT;
2482 YY_BREAK
2483 case 133:
2484 YY_RULE_SETUP
2485 #line 527 "scan.l"
2486 BEGIN(CCL); return CCE_PUNCT;
2487 YY_BREAK
2488 case 134:
2489 YY_RULE_SETUP
2490 #line 528 "scan.l"
2491 BEGIN(CCL); return CCE_SPACE;
2492 YY_BREAK
2493 case 135:
2494 YY_RULE_SETUP
2495 #line 529 "scan.l"
2496 BEGIN(CCL); return CCE_UPPER;
2497 YY_BREAK
2498 case 136:
2499 YY_RULE_SETUP
2500 #line 530 "scan.l"
2501 BEGIN(CCL); return CCE_XDIGIT;
2502 YY_BREAK
2503 case 137:
2504 YY_RULE_SETUP
2505 #line 531 "scan.l"
2507 format_synerr(
2508 _( "bad character class expression: %s" ),
2509 yytext );
2510 BEGIN(CCL); return CCE_ALNUM;
2512 YY_BREAK
2515 case 138:
2516 YY_RULE_SETUP
2517 #line 540 "scan.l"
2519 yylval = myctoi( yytext );
2520 return NUMBER;
2522 YY_BREAK
2523 case 139:
2524 YY_RULE_SETUP
2525 #line 545 "scan.l"
2526 return ',';
2527 YY_BREAK
2528 case 140:
2529 YY_RULE_SETUP
2530 #line 546 "scan.l"
2531 BEGIN(SECT2); return '}';
2532 YY_BREAK
2533 case 141:
2534 YY_RULE_SETUP
2535 #line 548 "scan.l"
2537 synerr( _( "bad character inside {}'s" ) );
2538 BEGIN(SECT2);
2539 return '}';
2541 YY_BREAK
2542 case 142:
2543 YY_RULE_SETUP
2544 #line 554 "scan.l"
2546 synerr( _( "missing }" ) );
2547 BEGIN(SECT2);
2548 ++linenum;
2549 return '}';
2551 YY_BREAK
2554 case 143:
2555 YY_RULE_SETUP
2556 #line 564 "scan.l"
2557 bracelevel = 0;
2558 YY_BREAK
2559 case 144:
2560 YY_RULE_SETUP
2561 #line 566 "scan.l"
2562 ACTION_ECHO; yy_push_state( COMMENT );
2563 YY_BREAK
2565 case 145:
2566 YY_RULE_SETUP
2567 #line 569 "scan.l"
2569 ACTION_ECHO;
2570 CHECK_REJECT(yytext);
2572 YY_BREAK
2573 case 146:
2574 YY_RULE_SETUP
2575 #line 573 "scan.l"
2577 ACTION_ECHO;
2578 CHECK_YYMORE(yytext);
2580 YY_BREAK
2582 case 147:
2583 YY_RULE_SETUP
2584 #line 579 "scan.l"
2585 ACTION_ECHO;
2586 YY_BREAK
2587 case 148:
2588 YY_RULE_SETUP
2589 #line 580 "scan.l"
2591 ++linenum;
2592 ACTION_ECHO;
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;
2600 BEGIN(SECT2);
2603 YY_BREAK
2605 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
2607 case 149:
2608 YY_RULE_SETUP
2609 #line 598 "scan.l"
2610 ACTION_ECHO; ++bracelevel;
2611 YY_BREAK
2612 case 150:
2613 YY_RULE_SETUP
2614 #line 599 "scan.l"
2615 ACTION_ECHO; --bracelevel;
2616 YY_BREAK
2617 case 151:
2618 YY_RULE_SETUP
2619 #line 600 "scan.l"
2620 ACTION_ECHO;
2621 YY_BREAK
2622 case 152:
2623 YY_RULE_SETUP
2624 #line 601 "scan.l"
2625 ACTION_ECHO;
2626 YY_BREAK
2627 case 153:
2628 YY_RULE_SETUP
2629 #line 602 "scan.l"
2630 ACTION_ECHO; /* character constant */
2631 YY_BREAK
2632 case 154:
2633 YY_RULE_SETUP
2634 #line 603 "scan.l"
2635 ACTION_ECHO; BEGIN(ACTION_STRING);
2636 YY_BREAK
2637 case 155:
2638 YY_RULE_SETUP
2639 #line 604 "scan.l"
2641 ++linenum;
2642 ACTION_ECHO;
2643 if ( bracelevel == 0 )
2645 if ( doing_rule_action )
2646 add_action( "\tYY_BREAK\n" );
2648 doing_rule_action = false;
2649 BEGIN(SECT2);
2652 YY_BREAK
2653 case 156:
2654 YY_RULE_SETUP
2655 #line 616 "scan.l"
2656 ACTION_ECHO;
2657 YY_BREAK
2660 case 157:
2661 YY_RULE_SETUP
2662 #line 620 "scan.l"
2663 ACTION_ECHO;
2664 YY_BREAK
2665 case 158:
2666 YY_RULE_SETUP
2667 #line 621 "scan.l"
2668 ACTION_ECHO;
2669 YY_BREAK
2670 case 159:
2671 YY_RULE_SETUP
2672 #line 622 "scan.l"
2673 ++linenum; ACTION_ECHO;
2674 YY_BREAK
2675 case 160:
2676 YY_RULE_SETUP
2677 #line 623 "scan.l"
2678 ACTION_ECHO; BEGIN(ACTION);
2679 YY_BREAK
2680 case 161:
2681 YY_RULE_SETUP
2682 #line 624 "scan.l"
2683 ACTION_ECHO;
2684 YY_BREAK
2686 case YY_STATE_EOF(COMMENT):
2687 case YY_STATE_EOF(ACTION):
2688 case YY_STATE_EOF(ACTION_STRING):
2689 #line 627 "scan.l"
2691 synerr( _( "EOF encountered inside an action" ) );
2692 yyterminate();
2694 YY_BREAK
2695 case 162:
2696 YY_RULE_SETUP
2697 #line 633 "scan.l"
2699 yylval = myesc( (Char *) yytext );
2701 if ( YY_START == FIRSTCCL )
2702 BEGIN(CCL);
2704 return CHAR;
2706 YY_BREAK
2708 case 163:
2709 YY_RULE_SETUP
2710 #line 644 "scan.l"
2711 ECHO;
2712 YY_BREAK
2713 case YY_STATE_EOF(SECT3):
2714 #line 645 "scan.l"
2715 sectnum = 0; yyterminate();
2716 YY_BREAK
2718 case 164:
2719 YY_RULE_SETUP
2720 #line 648 "scan.l"
2721 format_synerr( _( "bad character: %s" ), yytext );
2722 YY_BREAK
2723 case 165:
2724 YY_RULE_SETUP
2725 #line 650 "scan.l"
2726 YY_FATAL_ERROR( "flex scanner jammed" );
2727 YY_BREAK
2728 #line 2736 "scan.c"
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):
2743 yyterminate();
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
2775 * in input().
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;
2803 goto yy_match;
2806 else
2808 yy_cp = yy_c_buf_p;
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;
2819 if ( yywrap() )
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);
2833 goto do_action;
2836 else
2838 if ( ! yy_did_buffer_switch_on_eof )
2839 YY_NEW_FILE;
2841 break;
2844 case EOB_ACT_CONTINUE_SCAN:
2845 yy_c_buf_p =
2846 yytext_ptr + yy_amount_of_matched_text;
2848 yy_current_state = yy_get_previous_state();
2850 yy_cp = yy_c_buf_p;
2851 yy_bp = yytext_ptr + YY_MORE_ADJ;
2852 goto yy_match;
2854 case EOB_ACT_LAST_MATCH:
2855 yy_c_buf_p =
2856 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2858 yy_current_state = yy_get_previous_state();
2860 yy_cp = yy_c_buf_p;
2861 yy_bp = yytext_ptr + YY_MORE_ADJ;
2862 goto yy_find_action;
2864 break;
2867 default:
2868 YY_FATAL_ERROR(
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;
2888 int ret_val;
2890 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2891 YY_FATAL_ERROR(
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;
2904 else
2906 /* We matched some text prior to the EOB, first
2907 * process it.
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,
2923 * just force an EOF
2925 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2927 else
2929 int num_to_read =
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
2935 YY_FATAL_ERROR(
2936 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2937 #else
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;
2951 else
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 );
2959 else
2960 /* Can't grow it, we don't own it. */
2961 b->yy_ch_buf = 0;
2963 if ( ! b->yy_ch_buf )
2964 YY_FATAL_ERROR(
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 -
2970 number_to_move - 1;
2971 #endif
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;
2989 yyrestart( yyin );
2992 else
2994 ret_val = EOB_ACT_LAST_MATCH;
2995 yy_current_buffer->yy_buffer_status =
2996 YY_BUFFER_EOF_PENDING;
3000 else
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];
3009 return ret_val;
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;
3018 char *yy_cp;
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
3046 * synopsis
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 )
3052 #else
3053 static yy_state_type yy_try_NUL_trans( yy_current_state )
3054 yy_state_type yy_current_state;
3055 #endif
3057 int yy_is_jam;
3058 char *yy_cp = yy_c_buf_p;
3060 YY_CHAR yy_c = 1;
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;
3079 #ifndef YY_NO_UNPUT
3080 #ifdef YY_USE_PROTOS
3081 static void yyunput( int c, char *yy_bp )
3082 #else
3083 static void yyunput( c, yy_bp )
3084 int c;
3085 char *yy_bp;
3086 #endif
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];
3099 char *source =
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;
3117 yytext_ptr = yy_bp;
3118 yy_hold_char = *yy_cp;
3119 yy_c_buf_p = yy_cp;
3121 #endif /* ifndef YY_NO_UNPUT */
3124 #ifdef __cplusplus
3125 static int yyinput()
3126 #else
3127 static int input()
3128 #endif
3130 int c;
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. */
3142 *yy_c_buf_p = '\0';
3144 else
3145 { /* need more input */
3146 int offset = yy_c_buf_p - yytext_ptr;
3147 ++yy_c_buf_p;
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. */
3163 yyrestart( yyin );
3165 /* fall through */
3167 case EOB_ACT_END_OF_FILE:
3169 if ( yywrap() )
3170 return EOF;
3172 if ( ! yy_did_buffer_switch_on_eof )
3173 YY_NEW_FILE;
3174 #ifdef __cplusplus
3175 return yyinput();
3176 #else
3177 return input();
3178 #endif
3181 case EOB_ACT_CONTINUE_SCAN:
3182 yy_c_buf_p = yytext_ptr + offset;
3183 break;
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');
3194 return c;
3198 #ifdef YY_USE_PROTOS
3199 void yyrestart( FILE *input_file )
3200 #else
3201 void yyrestart( input_file )
3202 FILE *input_file;
3203 #endif
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 )
3215 #else
3216 void yy_switch_to_buffer( new_buffer )
3217 YY_BUFFER_STATE new_buffer;
3218 #endif
3220 if ( yy_current_buffer == new_buffer )
3221 return;
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 )
3245 #else
3246 void yy_load_buffer_state()
3247 #endif
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 )
3258 #else
3259 YY_BUFFER_STATE yy_create_buffer( file, size )
3260 FILE *file;
3261 int size;
3262 #endif
3264 YY_BUFFER_STATE b;
3266 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3267 if ( ! b )
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 );
3283 return b;
3287 #ifdef YY_USE_PROTOS
3288 void yy_delete_buffer( YY_BUFFER_STATE b )
3289 #else
3290 void yy_delete_buffer( b )
3291 YY_BUFFER_STATE b;
3292 #endif
3294 if ( ! b )
3295 return;
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 ));
3310 #endif
3311 #endif
3313 #ifdef YY_USE_PROTOS
3314 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3315 #else
3316 void yy_init_buffer( b, file )
3317 YY_BUFFER_STATE b;
3318 FILE *file;
3319 #endif
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;
3330 #else
3331 #if YY_NEVER_INTERACTIVE
3332 b->yy_is_interactive = 0;
3333 #else
3334 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3335 #endif
3336 #endif
3340 #ifdef YY_USE_PROTOS
3341 void yy_flush_buffer( YY_BUFFER_STATE b )
3342 #else
3343 void yy_flush_buffer( b )
3344 YY_BUFFER_STATE b;
3345 #endif
3348 if ( ! b )
3349 return;
3351 b->yy_n_chars = 0;
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];
3362 b->yy_at_bol = 1;
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 )
3373 #else
3374 YY_BUFFER_STATE yy_scan_buffer( base, size )
3375 char *base;
3376 yy_size_t size;
3377 #endif
3379 YY_BUFFER_STATE b;
3381 if ( size < 2 ||
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. */
3385 return 0;
3387 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3388 if ( ! b )
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;
3397 b->yy_at_bol = 1;
3398 b->yy_fill_buffer = 0;
3399 b->yy_buffer_status = YY_BUFFER_NEW;
3401 yy_switch_to_buffer( b );
3403 return b;
3405 #endif
3408 #ifndef YY_NO_SCAN_STRING
3409 #ifdef YY_USE_PROTOS
3410 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3411 #else
3412 YY_BUFFER_STATE yy_scan_string( yy_str )
3413 yyconst char *yy_str;
3414 #endif
3416 int len;
3417 for ( len = 0; yy_str[len]; ++len )
3420 return yy_scan_bytes( yy_str, len );
3422 #endif
3425 #ifndef YY_NO_SCAN_BYTES
3426 #ifdef YY_USE_PROTOS
3427 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3428 #else
3429 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3430 yyconst char *bytes;
3431 int len;
3432 #endif
3434 YY_BUFFER_STATE b;
3435 char *buf;
3436 yy_size_t n;
3437 int i;
3439 /* Get memory for full buffer, including space for trailing EOB's. */
3440 n = len + 2;
3441 buf = (char *) yy_flex_alloc( n );
3442 if ( ! buf )
3443 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3445 for ( i = 0; i < len; ++i )
3446 buf[i] = bytes[i];
3448 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3450 b = yy_scan_buffer( buf, n );
3451 if ( ! b )
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;
3459 return b;
3461 #endif
3464 #ifndef YY_NO_PUSH_STATE
3465 #ifdef YY_USE_PROTOS
3466 static void yy_push_state( int new_state )
3467 #else
3468 static void yy_push_state( new_state )
3469 int new_state;
3470 #endif
3472 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3474 yy_size_t new_size;
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 );
3482 else
3483 yy_start_stack = (int *) yy_flex_realloc(
3484 (void *) yy_start_stack, new_size );
3486 if ( ! yy_start_stack )
3487 YY_FATAL_ERROR(
3488 "out of memory expanding start-condition stack" );
3491 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3493 BEGIN(new_state);
3495 #endif
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]);
3506 #endif
3509 #ifndef YY_NO_TOP_STATE
3510 static int yy_top_state()
3512 return yy_start_stack[yy_start_stack_ptr - 1];
3514 #endif
3516 #ifndef YY_EXIT_FAILURE
3517 #define YY_EXIT_FAILURE 2
3518 #endif
3520 #ifdef YY_USE_PROTOS
3521 static void yy_fatal_error( yyconst char msg[] )
3522 #else
3523 static void yy_fatal_error( msg )
3524 char msg[];
3525 #endif
3527 (void) fprintf( stderr, "%s\n", msg );
3528 exit( YY_EXIT_FAILURE );
3533 /* Redefine yyless() so it works in section 3 code. */
3535 #undef yyless
3536 #define yyless(n) \
3537 do \
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'; \
3544 yyleng = n; \
3546 while ( 0 )
3549 /* Internal utility routines. */
3551 #ifndef yytext_ptr
3552 #ifdef YY_USE_PROTOS
3553 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3554 #else
3555 static void yy_flex_strncpy( s1, s2, n )
3556 char *s1;
3557 yyconst char *s2;
3558 int n;
3559 #endif
3561 int i;
3562 for ( i = 0; i < n; ++i )
3563 s1[i] = s2[i];
3565 #endif
3567 #ifdef YY_NEED_STRLEN
3568 #ifdef YY_USE_PROTOS
3569 static int yy_flex_strlen( yyconst char *s )
3570 #else
3571 static int yy_flex_strlen( s )
3572 yyconst char *s;
3573 #endif
3575 int n;
3576 for ( n = 0; s[n]; ++n )
3579 return n;
3581 #endif
3584 #ifdef YY_USE_PROTOS
3585 static void *yy_flex_alloc( yy_size_t size )
3586 #else
3587 static void *yy_flex_alloc( size )
3588 yy_size_t size;
3589 #endif
3591 return (void *) malloc( size );
3594 #ifdef YY_USE_PROTOS
3595 static void *yy_flex_realloc( void *ptr, yy_size_t size )
3596 #else
3597 static void *yy_flex_realloc( ptr, size )
3598 void *ptr;
3599 yy_size_t size;
3600 #endif
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 )
3614 #else
3615 static void yy_flex_free( ptr )
3616 void *ptr;
3617 #endif
3619 free( ptr );
3622 #if YY_MAIN
3623 int main()
3625 yylex();
3626 return 0;
3628 #endif
3629 #line 650 "scan.l"
3633 int yywrap(void)
3635 if ( --num_input_files > 0 )
3637 set_input_file( *++input_files );
3638 return 0;
3641 else
3642 return 1;
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" );
3655 if ( yyin == NULL )
3656 lerrsf( _( "can't open %s" ), file );
3659 else
3661 yyin = stdin;
3662 infilename = copy_string( "<stdin>" );
3665 linenum = 1;
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)
3683 if ( ptr )
3684 free( ptr );