xref: /freebsd/usr.bin/lex/initscan.c (revision 87c1627502a5dde91e5284118eec8682b60f27a2)
1 #line 2 "scan.c"
2 /* A lexical scanner generated by flex */
3 
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$
7  */
8 
9 #if defined(__FreeBSD__)
10 #include <sys/cdefs.h>
11 #else
12 #define __unused
13 #define __dead2
14 #endif
15 
16 #define FLEX_SCANNER
17 #define YY_FLEX_MAJOR_VERSION 2
18 #define YY_FLEX_MINOR_VERSION 5
19 
20 #include <stdio.h>
21 
22 
23 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
24 #ifdef c_plusplus
25 #ifndef __cplusplus
26 #define __cplusplus
27 #endif
28 #endif
29 
30 
31 #ifdef __cplusplus
32 
33 #include <stdlib.h>
34 #include <unistd.h>
35 
36 /* Use prototypes in function declarations. */
37 #define YY_USE_PROTOS
38 
39 /* The "const" storage-class-modifier is valid. */
40 #define YY_USE_CONST
41 
42 #else	/* ! __cplusplus */
43 
44 #if __STDC__
45 
46 #define YY_USE_PROTOS
47 #define YY_USE_CONST
48 
49 #endif	/* __STDC__ */
50 #endif	/* ! __cplusplus */
51 
52 #ifdef __TURBOC__
53  #pragma warn -rch
54  #pragma warn -use
55 #include <io.h>
56 #include <stdlib.h>
57 #define YY_USE_CONST
58 #define YY_USE_PROTOS
59 #endif
60 
61 #ifdef YY_USE_CONST
62 #define yyconst const
63 #else
64 #define yyconst
65 #endif
66 
67 
68 #ifdef YY_USE_PROTOS
69 #define YY_PROTO(proto) proto
70 #else
71 #define YY_PROTO(proto) ()
72 #endif
73 
74 /* Returned upon end-of-file. */
75 #define YY_NULL 0
76 
77 /* Promotes a possibly negative, possibly signed char to an unsigned
78  * integer for use as an array index.  If the signed char is negative,
79  * we want to instead treat it as an 8-bit unsigned char, hence the
80  * double cast.
81  */
82 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
83 
84 /* Enter a start condition.  This macro really ought to take a parameter,
85  * but we do it the disgusting crufty way forced on us by the ()-less
86  * definition of BEGIN.
87  */
88 #define BEGIN yy_start = 1 + 2 *
89 
90 /* Translate the current start state into a value that can be later handed
91  * to BEGIN to return to the state.  The YYSTATE alias is for lex
92  * compatibility.
93  */
94 #define YY_START ((yy_start - 1) / 2)
95 #define YYSTATE YY_START
96 
97 /* Action number for EOF rule of a given start state. */
98 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
99 
100 /* Special action meaning "start processing a new file". */
101 #define YY_NEW_FILE yyrestart( yyin )
102 
103 #define YY_END_OF_BUFFER_CHAR 0
104 
105 /* Size of default input buffer. */
106 #define YY_BUF_SIZE 16384
107 
108 typedef struct yy_buffer_state *YY_BUFFER_STATE;
109 
110 extern int yyleng;
111 extern FILE *yyin, *yyout;
112 
113 #define EOB_ACT_CONTINUE_SCAN 0
114 #define EOB_ACT_END_OF_FILE 1
115 #define EOB_ACT_LAST_MATCH 2
116 
117 /* The funky do-while in the following #define is used to turn the definition
118  * int a single C statement (which needs a semi-colon terminator).  This
119  * avoids problems with code like:
120  *
121  * 	if ( condition_holds )
122  *		yyless( 5 );
123  *	else
124  *		do_something_else();
125  *
126  * Prior to using the do-while the compiler would get upset at the
127  * "else" because it interpreted the "if" statement as being all
128  * done when it reached the ';' after the yyless() call.
129  */
130 
131 /* Return all but the first 'n' matched characters back to the input stream. */
132 
133 #define yyless(n) \
134 	do \
135 		{ \
136 		/* Undo effects of setting up yytext. */ \
137 		*yy_cp = yy_hold_char; \
138 		YY_RESTORE_YY_MORE_OFFSET \
139 		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
140 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
141 		} \
142 	while ( 0 )
143 
144 #define unput(c) yyunput( c, yytext_ptr )
145 
146 /* The following is because we cannot portably get our hands on size_t
147  * (without autoconf's help, which isn't available because we want
148  * flex-generated scanners to compile on their own).
149  */
150 typedef unsigned int yy_size_t;
151 
152 
153 struct yy_buffer_state
154 	{
155 	FILE *yy_input_file;
156 
157 	char *yy_ch_buf;		/* input buffer */
158 	char *yy_buf_pos;		/* current position in input buffer */
159 
160 	/* Size of input buffer in bytes, not including room for EOB
161 	 * characters.
162 	 */
163 	yy_size_t yy_buf_size;
164 
165 	/* Number of characters read into yy_ch_buf, not including EOB
166 	 * characters.
167 	 */
168 	int yy_n_chars;
169 
170 	/* Whether we "own" the buffer - i.e., we know we created it,
171 	 * and can realloc() it to grow it, and should free() it to
172 	 * delete it.
173 	 */
174 	int yy_is_our_buffer;
175 
176 	/* Whether this is an "interactive" input source; if so, and
177 	 * if we're using stdio for input, then we want to use getc()
178 	 * instead of fread(), to make sure we stop fetching input after
179 	 * each newline.
180 	 */
181 	int yy_is_interactive;
182 
183 	/* Whether we're considered to be at the beginning of a line.
184 	 * If so, '^' rules will be active on the next match, otherwise
185 	 * not.
186 	 */
187 	int yy_at_bol;
188 
189 	/* Whether to try to fill the input buffer when we reach the
190 	 * end of it.
191 	 */
192 	int yy_fill_buffer;
193 
194 	int yy_buffer_status;
195 #define YY_BUFFER_NEW 0
196 #define YY_BUFFER_NORMAL 1
197 	/* When an EOF's been seen but there's still some text to process
198 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
199 	 * shouldn't try reading from the input source any more.  We might
200 	 * still have a bunch of tokens to match, though, because of
201 	 * possible backing-up.
202 	 *
203 	 * When we actually see the EOF, we change the status to "new"
204 	 * (via yyrestart()), so that the user can continue scanning by
205 	 * just pointing yyin at a new input file.
206 	 */
207 #define YY_BUFFER_EOF_PENDING 2
208 	};
209 
210 static YY_BUFFER_STATE yy_current_buffer = 0;
211 
212 /* We provide macros for accessing buffer states in case in the
213  * future we want to put the buffer states in a more general
214  * "scanner state".
215  */
216 #define YY_CURRENT_BUFFER yy_current_buffer
217 
218 
219 /* yy_hold_char holds the character lost when yytext is formed. */
220 static char yy_hold_char;
221 
222 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
223 
224 
225 int yyleng;
226 
227 /* Points to current character in buffer. */
228 static char *yy_c_buf_p = (char *) 0;
229 static int yy_init = 1;		/* whether we need to initialize */
230 static int yy_start = 0;	/* start state number */
231 
232 /* Flag which is used to allow yywrap()'s to do buffer switches
233  * instead of setting up a fresh yyin.  A bit of a hack ...
234  */
235 static int yy_did_buffer_switch_on_eof;
236 
237 void yyrestart YY_PROTO(( FILE *input_file ));
238 
239 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
240 void yy_load_buffer_state YY_PROTO(( void ));
241 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
242 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
243 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
244 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
245 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
246 
247 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
248 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
249 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
250 
251 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
252 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
253 static void yy_flex_free YY_PROTO(( void * ));
254 
255 #define yy_new_buffer yy_create_buffer
256 
257 #define yy_set_interactive(is_interactive) \
258 	{ \
259 	if ( ! yy_current_buffer ) \
260 		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
261 	yy_current_buffer->yy_is_interactive = is_interactive; \
262 	}
263 
264 #define yy_set_bol(at_bol) \
265 	{ \
266 	if ( ! yy_current_buffer ) \
267 		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
268 	yy_current_buffer->yy_at_bol = at_bol; \
269 	}
270 
271 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
272 
273 typedef unsigned char YY_CHAR;
274 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
275 typedef int yy_state_type;
276 extern char *yytext;
277 #define yytext_ptr yytext
278 
279 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
280 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
281 static int yy_get_next_buffer YY_PROTO(( void ));
282 static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) __dead2;
283 
284 /* Done after the current pattern has been matched and before the
285  * corresponding action - sets up yytext.
286  */
287 #define YY_DO_BEFORE_ACTION \
288 	yytext_ptr = yy_bp; \
289 	yyleng = (int) (yy_cp - yy_bp); \
290 	yy_hold_char = *yy_cp; \
291 	*yy_cp = '\0'; \
292 	yy_c_buf_p = yy_cp;
293 
294 #define YY_NUM_RULES 165
295 #define YY_END_OF_BUFFER 166
296 static yyconst short int yy_accept[769] =
297     {   0,
298         0,    0,    0,    0,   87,   87,  163,  163,    0,    0,
299         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
300         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
301         0,    0,    0,    0,    0,    0,    0,    0,  166,  164,
302         7,   18,  164,   16,    1,   17,  164,  164,  164,  164,
303        15,  108,  100,  101,  108,   93,  108,  107,  108,  108,
304       108,  107,   99,   89,  108,  108,   91,   92,   87,   88,
305        87,   86,   85,   86,   86,  163,  163,   28,   29,   28,
306        28,   28,   28,   28,   28,   31,   30,   32,   31,  113,
307       109,  110,  112,  114,  141,  142,  141,  139,  138,  140,
308 
309       115,  117,  115,  116,  115,  120,  120,  120,  120,  122,
310       124,  122,  122,  122,  122,  123,  151,  155,  151,  154,
311       156,  156,  152,  152,  152,  149,  150,  164,   82,  164,
312        21,   22,   21,   20,  157,  159,  157,  160,  161,  147,
313       147,  148,  147,  147,  147,  147,  147,  147,  147,   81,
314        34,   33,   81,   81,   81,   81,   35,   81,   81,   81,
315        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
316        81,   81,   81,   81,   81,   81,   26,   23,   26,   24,
317         7,   18,    0,   16,    1,   17,    0,    0,    0,   14,
318         8,    0,    0,    0,    0,    4,    5,    0,    2,   15,
319 
320       100,  101,    0,    0,    0,   95,    0,    0,  105,  105,
321         0,  162,  162,  162,   94,    0,   99,   89,    0,    0,
322         0,   91,   92,  104,   90,    0,   87,   88,   86,   85,
323        85,   83,   84,  163,  163,   28,   29,   28,   28,   28,
324        28,   31,   30,   32,  111,  112,  142,  138,  117,    0,
325       118,  119,  124,  121,  151,  155,    0,  153,    0,  144,
326       152,  152,  152,    0,   82,    0,   21,   22,   21,   19,
327       157,  159,  158,  147,  147,  147,  148,  143,  147,  147,
328       147,   34,   33,    0,   80,    0,    0,   81,   81,   81,
329        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
330 
331        81,   81,   81,   36,   81,   81,   81,   81,   81,   81,
332        81,   81,   81,   81,    0,   25,   24,    0,   14,    8,
333         0,   12,    0,    0,    0,    0,    0,    4,    5,    0,
334         6,    0,   96,    0,   97,    0,    0,  105,  105,    0,
335       105,  105,  105,  162,  162,    0,  106,   90,   98,    0,
336       104,    0,   83,   84,   28,   28,   28,   27,   28,    0,
337         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
338         0,  152,  152,  143,  143,  147,  147,    0,    0,   81,
339        81,   81,   81,   81,   44,   81,   81,   81,   49,   81,
340        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
341 
342        81,   81,   81,   81,   81,   81,   81,   81,    0,   81,
343        81,   81,   81,    0,    0,    0,   12,    0,    0,    0,
344         0,    0,    0,    4,    5,    0,  105,  105,  105,  105,
345       105,  105,  162,    0,    0,   28,   28,    0,    0,    0,
346         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
347       152,  152,  147,  147,   37,   38,   81,   81,   81,   81,
348        81,   81,   81,   81,   50,   51,   81,   81,   81,   55,
349        81,   81,   81,   81,   81,   81,   60,   81,   81,   81,
350        81,   81,   81,   67,    0,    0,    0,   81,   81,   81,
351        81,    0,   13,    0,    0,    0,    0,    0,    0,  105,
352 
353       105,  105,  105,  105,  105,    0,    0,   28,   28,  137,
354         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
355         0,    0,  152,  152,  147,  147,   39,   81,   41,   81,
356        43,   81,   81,   81,   47,   81,   52,   81,   81,   81,
357        81,   81,   81,   81,   81,   81,   62,   81,   81,   65,
358        81,    0,    0,    0,    0,   81,   81,   81,   81,    3,
359         0,    0,    0,    0,  105,  105,  105,    0,    0,   28,
360        28,    0,    0,    0,    0,    0,    0,    0,    0,    0,
361         0,    0,    0,  145,  146,  145,  146,   81,   42,   81,
362        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
363 
364        81,   78,   61,   81,   64,   81,    0,    0,    0,    0,
365        81,   81,   69,   70,    0,   10,    0,   11,    0,  103,
366         0,  102,    0,    0,    0,    0,    0,    0,    0,    0,
367         0,    0,    0,    0,   81,   81,   81,   45,   81,   48,
368        81,   81,   81,   81,   77,   81,   59,   63,   66,    0,
369         0,    0,    0,   79,   81,    0,  102,    0,    0,    0,
370         0,    0,    0,    0,    0,    0,    0,    0,    0,   81,
371        81,   81,   46,   81,   81,   56,   81,   81,    0,    0,
372         0,    0,   68,    0,    9,    0,  125,  126,  127,  128,
373       129,  130,  131,  132,  133,  134,  135,    0,   81,   81,
374 
375        81,   81,   81,   81,   81,    0,    0,    0,    0,    0,
376       136,   81,   81,   81,   81,   54,   81,   81,    0,    0,
377         0,    0,    0,    0,   81,   81,   81,   53,   81,   58,
378         0,    0,    0,    0,    0,    0,   81,   81,   81,   81,
379        72,    0,    0,    0,    0,   73,   81,   81,   81,   81,
380        71,    0,   75,    0,   81,   81,   81,   74,   76,   81,
381        81,   81,   81,   81,   81,   57,   40,    0
382     } ;
383 
384 static yyconst int yy_ec[256] =
385     {   0,
386         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
387         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
388         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
389         1,    2,    1,    5,    6,    7,    8,    1,    9,   10,
390        10,   11,   12,   13,   14,   10,   15,   16,   16,   16,
391        16,   16,   16,   16,   17,   18,   19,   20,    1,   21,
392        22,   23,   10,    1,   31,   32,   33,   34,   35,   36,
393        37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
394        47,   48,   49,   50,   51,   52,   53,   54,   55,   47,
395        26,   27,   28,   29,   30,    1,   31,   32,   33,   34,
396 
397        35,   36,   37,   38,   39,   40,   41,   42,   43,   44,
398        45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
399        55,   47,   56,   57,   58,    1,    1,    1,    1,    1,
400         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
401         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
402         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
403         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
404         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
405         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
406         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
407 
408         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
409         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
410         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
411         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
412         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
413         1,    1,    1,    1,    1
414     } ;
415 
416 static yyconst int yy_meta[59] =
417     {   0,
418         1,    1,    2,    1,    3,    1,    1,    1,    4,    1,
419         5,    6,    1,    7,    4,    8,    8,    8,    8,    1,
420         1,    1,    1,    9,   10,    1,   11,   12,    1,   13,
421        14,   14,   14,   14,   14,   14,   15,   15,   15,   15,
422        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
423        15,   15,   15,   15,   15,    4,    1,   16
424     } ;
425 
426 static yyconst short int yy_base[858] =
427     {   0,
428         0,   58,  115,  172,  120,  129, 2712, 2711,  230, 2705,
429       136,  141,  288,    0, 2683, 2682,  144,  151,  185,  191,
430       178,  188,  344,  347,  375,    0,  125,  131,  147,  216,
431       431,  434,  461,    0,  519,    0,  205,  349, 2710, 2716,
432       353, 2716, 2706,    0,  360, 2716, 2705,  144,  570, 2696,
433         0, 2716,  577, 2716, 2703, 2716,  438, 2716, 2684,  126,
434       149,  427,  591, 2716, 2701,  141, 2682, 2716,    0, 2716,
435      2699,    0, 2699, 2697,  155, 2696, 2716,    0, 2716, 2695,
436      2716,    0, 2662, 2641, 2637,    0, 2692, 2716, 2690, 2716,
437      2716, 2663,    0, 2716, 2716, 2716, 2688, 2716,  431, 2716,
438 
439      2716, 2716, 2687, 2716,  567, 2716, 2669,  571,  164, 2716,
440      2716, 2685,    0, 2667,  573, 2716,    0, 2716, 2683, 2716,
441       573, 2674,    0, 2649, 2628, 2716, 2716,  222, 2716,  356,
442       448, 2716,  450, 2667,    0, 2716, 2678, 2716,    0,    0,
443       198, 2716, 2677, 2621, 2716, 2667,    0, 2642, 2621, 2716,
444      2673, 2716, 2671, 2668, 2640, 2639, 2716,  544, 2639,  579,
445      2634, 2635,  318,    0, 2623, 2631,  424,  562, 2614,  587,
446      2629, 2613, 2618, 2626, 2629, 2604, 2716, 2716, 2653,  612,
447       634, 2716, 2654,    0,  637, 2716, 2653,  600, 2616,    0,
448         0,  641,  647,  651,  669,    0,    0,  453, 2716,    0,
449 
450       672, 2716, 2651, 2597,  605, 2716, 2649, 2616,  620,  657,
451       645, 2716,  662,    0, 2716, 2592,  688, 2716, 2646, 2592,
452      2636, 2625, 2716,    0, 2716, 2610,    0, 2716,    0,    0,
453      2642,    0,    0, 2640, 2716,    0, 2716,    0, 2602, 2598,
454       745,    0, 2638, 2716, 2716,    0, 2716,  688, 2716,  773,
455      2716, 2716, 2716, 2716,    0, 2716,  673, 2716,    0, 2716,
456         0, 2599, 2595,  690, 2716,  698,  707, 2716,  709, 2716,
457         0, 2716, 2716,    0,  596, 2579, 2716,  827,    0, 2596,
458      2592, 2632, 2716, 2628, 2716, 2593, 2592,    0,  642, 2582,
459       563, 2617, 2579,  620, 2578, 2577, 2583,  669, 2570, 2584,
460 
461      2572,    0, 2569, 2716, 2570, 2571, 2579, 2582,  685,  125,
462      2570, 2567, 2566,  688, 2608, 2716,  716, 2568,    0,    0,
463       720, 2716, 2608,  884, 2562, 2559, 2569,    0,    0,  723,
464      2716,  739, 2716,  805, 2716,  808, 2562,  787,  869,  876,
465       930,  881,  973,  800,    0, 2548, 2716, 2716, 2716, 2570,
466         0, 2559,    0,    0, 2568, 2557,    0, 2716,    0, 1009,
467      2581,  678,  870,  871,  874,  879,  913,  992,  974, 1013,
468       885, 2565, 2554,    0, 1067, 2563, 2552, 2546, 2545, 2557,
469      2562, 2561, 2550, 2557,    0, 2554, 2537, 2556,    0, 2536,
470      2543, 2533, 2548, 2568, 2537, 2549, 2544, 2542, 2541, 2532,
471 
472      2539, 2540, 2538, 2539,  578, 2520, 2538, 2525,  860, 2526,
473      2528, 2521, 2517, 2529,  817, 1044, 2716,  822, 1095,  914,
474      2532, 2523, 2517,    0,    0, 2524, 1102, 1025, 1142, 2539,
475      1028, 1163, 2716, 2513, 2521, 2523, 2507,    0, 2526, 1058,
476       891, 1014, 1019,  894, 1038, 1080, 1072, 1086, 1083, 1081,
477      2520, 2504, 2518, 2502, 2716, 2716, 2505, 2493, 2492, 2495,
478      2507, 1148, 2507, 2492,    0,    0, 2492, 2493, 2507,    0,
479      2525, 2490, 2498, 2522, 2485, 2495,    0, 2500, 2491, 2487,
480      2479, 2479, 2483,    0,  875, 2494, 2481, 2494, 2480, 2475,
481      2491, 2519, 2716,  920,  999, 2465, 2474, 2468, 2494, 2496,
482 
483      1105, 1184, 1081,  902,  969, 2479, 2491, 2463, 2477, 2716,
484       165, 1090, 1144, 1143, 1147, 1163, 1095, 1145, 1037, 1085,
485      1150, 1173, 2461, 2475, 2459, 2473,    0, 2458,    0, 2460,
486         0, 1165, 2454, 2469,    0, 2461,    0, 2471, 2410, 2414,
487      2434, 2400, 2393, 2405, 2385, 2382,    0, 2383, 2335,    0,
488      2335, 2330, 2326, 2309, 2278, 2259, 2269, 2268, 2256, 2297,
489      1046, 2238, 2242, 2253, 1179, 1142, 1145, 2247, 2246,    0,
490         0, 1191, 1192, 1172, 1201, 1202, 1204, 1205, 1206, 1207,
491      1209, 1210, 1208,    0,    0,    0,    0, 2254,    0, 2221,
492      2229, 2218, 2208, 2200, 2209, 2198, 2195, 2165, 2168, 2149,
493 
494      2132,    0,    0, 2129,    0, 2139, 2143, 2134, 2124, 2137,
495      2117, 2116,    0,    0, 1228, 2716, 1232, 2716, 2111, 2716,
496      2117, 2716, 2115, 2114, 2108, 2107, 2106, 2103, 2102, 2098,
497      2095, 2063, 2047, 1213, 2012, 1986, 1975,    0, 1954,    0,
498      1947, 1950, 1941, 1945,    0, 1942,    0,    0,    0, 1938,
499      1940, 1934, 1905,    0, 1872, 1234, 2716, 1888, 1882, 1881,
500      1864, 1848, 1832, 1828, 1827, 1826, 1823, 1806, 1809, 1784,
501      1787, 1772,    0, 1781, 1786,    0, 1766, 1767, 1759, 1744,
502      1213, 1736,    0, 1236, 2716, 1245, 2716, 2716, 2716, 2716,
503      2716, 2716, 2716, 2716, 2716, 2716, 2716, 1750, 1727, 1720,
504 
505      1701, 1687, 1670, 1681, 1667, 1679, 1659,  689, 1658, 1671,
506      2716, 1657, 1627, 1621, 1635,    0, 1603, 1596, 1595, 1608,
507      1602, 1587, 1586, 1583, 1581, 1587, 1555,    0, 1547,    0,
508      1527, 1507, 1520, 1503, 1483, 1482, 1485, 1443, 1440, 1228,
509      2716, 1225, 1224, 1206, 1210, 2716, 1213, 1202, 1018,  948,
510      2716,  945, 2716,  884,  780,  771,  779, 2716, 2716,  689,
511       673,  581,  408,  318,   86,    0,    0, 2716, 1263, 1279,
512      1295, 1311, 1327, 1343, 1359, 1375, 1391, 1407, 1423, 1439,
513      1455, 1471, 1481, 1496, 1505, 1520, 1536, 1545, 1560, 1576,
514      1592, 1608, 1624, 1634, 1649, 1659, 1674, 1690, 1706, 1718,
515 
516      1728, 1743, 1759, 1775, 1791, 1807, 1817, 1832, 1843, 1236,
517      1858, 1874, 1890, 1898, 1905, 1920, 1936, 1952, 1968, 1977,
518      1985, 2001, 2017, 2033, 2049, 2065, 2081, 2097, 2113, 2123,
519      2138, 2148, 2155, 2170, 2182, 2192, 2207, 2223, 2239, 2255,
520      2265, 2280, 2291, 2306, 2322, 2338, 2354, 2364, 2373, 2388,
521      2404, 2420, 2429, 2437, 2453, 2469, 2485
522     } ;
523 
524 static yyconst short int yy_def[858] =
525     {   0,
526       768,  768,  769,  769,  770,  771,  772,  772,  768,    9,
527       773,  773,  768,   13,  774,  774,  775,  775,  776,  776,
528       777,  777,  778,  778,  768,   25,  779,  779,  780,  780,
529       781,  781,  768,   33,  768,   35,  782,  782,  768,  768,
530       768,  768,  768,  783,  768,  768,  768,  768,  784,  768,
531       785,  768,  768,  768,  768,  768,  768,  768,  768,  786,
532       787,  788,  768,  768,  768,  768,  768,  768,  789,  768,
533       789,  790,  791,  790,  790,  792,  768,  793,  768,  793,
534       768,  794,  794,  794,  793,  795,  768,  768,  795,  768,
535       768,  768,  796,  768,  768,  768,  768,  768,  768,  768,
536 
537       768,  768,  768,  768,  787,  768,  768,  787,  797,  768,
538       768,  768,  798,  768,  787,  768,  799,  768,  799,  768,
539       800,  768,  801,  801,  801,  768,  768,  802,  768,  802,
540       803,  768,  803,  768,  804,  768,  804,  768,  805,  806,
541       806,  768,  806,  806,  768,  806,  807,  807,  807,  768,
542       768,  768,  768,  808,  768,  768,  768,  809,  809,  809,
543       809,  809,  809,  809,  809,  809,  809,  810,  809,  809,
544       809,  809,  809,  809,  809,  809,  768,  768,  811,  768,
545       768,  768,  768,  783,  768,  768,  768,  768,  768,  812,
546       813,  768,  768,  768,  768,  814,  815,  816,  768,  785,
547 
548       768,  768,  768,  768,  817,  768,  768,  768,  818,  818,
549       819,  768,  768,  820,  768,  821,  768,  768,  768,  768,
550       768,  768,  768,  822,  768,  768,  823,  768,  824,  825,
551       825,  826,  827,  828,  768,  829,  768,  830,  830,  830,
552       768,  831,  768,  768,  768,  832,  768,  768,  768,  833,
553       768,  768,  768,  768,  834,  768,  835,  768,  835,  768,
554       836,  836,  836,  837,  768,  837,  838,  768,  838,  768,
555       839,  768,  768,  840,  840,  840,  768,  768,  841,  841,
556       841,  768,  768,  842,  768,  768,  768,  843,  843,  843,
557       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
558 
559       843,  843,  843,  768,  843,  843,  843,  843,  843,  843,
560       843,  843,  843,  843,  844,  768,  768,  768,  845,  846,
561       847,  768,  768,  768,  768,  768,  768,  848,  849,  850,
562       768,  850,  768,  851,  768,  851,  768,  852,  852,  852,
563       768,  852,  852,  768,  853,  854,  768,  768,  768,  768,
564       855,  768,  826,  827,  830,  830,  241,  768,  241,  241,
565       833,  833,  833,  833,  833,  833,  833,  833,  833,  833,
566       833,  836,  836,  278,  278,  841,  841,  768,  768,  843,
567       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
568       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
569 
570       843,  843,  843,  843,  843,  843,  843,  843,  768,  843,
571       843,  843,  843,  768,  847,  847,  768,  847,  847,  768,
572       768,  768,  768,  848,  849,  768,  341,  852,  343,  341,
573       852,  343,  768,  768,  768,  830,  830,  360,  768,  833,
574       833,  833,  833,  833,  833,  833,  833,  833,  833,  833,
575       836,  836,  841,  841,  768,  768,  843,  843,  843,  843,
576       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
577       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
578       843,  843,  843,  843,  768,  768,  768,  843,  843,  843,
579       843,  768,  768,  847,  847,  768,  768,  768,  768,  427,
580 
581       852,  343,  852,  852,  852,  768,  768,  830,  830,  768,
582       833,  833,  833,  833,  833,  833,  833,  833,  833,  833,
583       833,  833,  836,  836,  841,  841,  843,  843,  843,  843,
584       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
585       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
586       843,  768,  768,  768,  768,  843,  843,  843,  843,  768,
587       856,  768,  768,  768,  852,  852,  852,  768,  768,  830,
588       830,  833,  833,  833,  833,  833,  833,  833,  833,  833,
589       833,  833,  833,  836,  836,  841,  841,  843,  843,  843,
590       843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
591 
592       843,  843,  843,  843,  843,  843,  768,  768,  768,  768,
593       843,  843,  843,  843,  856,  768,  856,  768,  768,  768,
594       768,  768,  833,  833,  833,  833,  833,  833,  833,  833,
595       833,  833,  833,  833,  843,  843,  843,  843,  843,  843,
596       843,  843,  843,  843,  843,  843,  843,  843,  843,  768,
597       768,  768,  768,  843,  843,  857,  768,  768,  768,  768,
598       768,  768,  768,  768,  768,  768,  768,  768,  833,  843,
599       843,  843,  843,  843,  843,  843,  843,  843,  768,  768,
600       768,  768,  843,  857,  768,  857,  768,  768,  768,  768,
601       768,  768,  768,  768,  768,  768,  768,  768,  843,  843,
602 
603       843,  843,  843,  843,  843,  768,  768,  768,  768,  768,
604       768,  843,  843,  843,  843,  843,  843,  843,  768,  768,
605       768,  768,  768,  768,  843,  843,  843,  843,  843,  843,
606       768,  768,  768,  768,  768,  768,  843,  843,  843,  843,
607       768,  768,  768,  768,  768,  768,  843,  843,  843,  843,
608       768,  768,  768,  768,  843,  843,  843,  768,  768,  843,
609       843,  843,  843,  843,  843,  843,  843,    0,  768,  768,
610       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
611       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
612       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
613 
614       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
615       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
616       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
617       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
618       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
619       768,  768,  768,  768,  768,  768,  768
620     } ;
621 
622 static yyconst short int yy_nxt[2775] =
623     {   0,
624        40,   41,   42,   43,   40,   40,   40,   40,   40,   40,
625        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
626        40,   40,   40,   44,   44,   40,   40,   40,   40,   44,
627        44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
628        44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
629        44,   44,   44,   44,   44,   40,   40,   40,   40,   45,
630        46,   47,   40,   48,   40,   49,   40,   40,   40,   40,
631        40,   40,   50,   40,   40,   40,   40,   40,   40,   40,
632        40,   51,   51,   40,   40,   40,   40,   51,   51,   51,
633        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
634 
635        51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
636        51,   51,   51,   40,   40,   40,   53,   54,   55,   56,
637       767,   57,   70,   71,   58,   58,   58,  129,  130,   58,
638        73,   70,   74,  129,  130,   59,   75,   87,   88,   89,
639        60,   61,   87,   88,   89,  188,   96,   97,  224,  132,
640       133,  210,  211,   96,   97,  404,   98,  134,  405,   99,
641        99,   99,   99,   98,  213,  213,   99,   99,   99,   99,
642        62,   58,   58,   63,   64,   65,   56,  252,   57,   66,
643        40,   58,   58,   58,  439,  189,   58,  102,  103,  104,
644        40,  252,   67,  102,  103,  104,  225,   60,   61,  275,
645 
646        68,  100,  214,  107,  108,  276,  109,  178,  100,  179,
647       232,  105,  233,  107,  108,  572,  109,  105,  132,  133,
648       180,  180,  180,  180,  265,  266,  134,   62,   58,   58,
649        78,   78,   79,   80,   78,   78,   78,   78,   78,   78,
650        81,   78,   78,   78,   78,   78,   78,   78,   78,   78,
651        78,   78,   78,   82,   82,   78,   78,   78,   78,   82,
652        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
653        82,   82,   82,   82,   82,   82,   82,   83,   82,   82,
654        82,   82,   82,   82,   84,   78,   78,   78,   90,   90,
655        40,   90,   90,   90,   90,   90,   90,   90,   91,   90,
656 
657        91,   90,   90,   90,   90,   90,   90,   90,   90,   90,
658        92,   93,   93,   90,   90,   90,   90,   93,   93,   93,
659        93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
660        93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
661        93,   93,   93,   90,   90,   90,  111,  112,  296,  111,
662       112,  178,  766,  179,  181,  182,  183,  113,  265,  266,
663       113,  185,  186,  187,  180,  180,  180,  180,  297,  114,
664       115,  116,  114,  115,  116,  117,  117,  118,  119,  120,
665       117,  117,  117,  121,  117,  117,  117,  117,  117,  122,
666       117,  117,  117,  117,  117,  117,  117,  117,  123,  123,
667 
668       117,  117,  117,  117,  123,  123,  123,  123,  123,  123,
669       123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
670       123,  123,  124,  123,  123,  123,  123,  123,  123,  125,
671       126,  117,  127,  136,  137,  138,  136,  137,  138,  206,
672       206,  207,  215,  215,  215,  215,  248,  248,  248,  248,
673       268,  269,  268,  269,  300,  331,  332,  139,  301,  765,
674       139,  140,  141,  142,  143,  140,  140,  140,  144,  140,
675       140,  145,  140,  140,  140,  146,  140,  140,  140,  140,
676       140,  140,  140,  140,  147,  147,  140,  140,  140,  140,
677       147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
678 
679       147,  147,  147,  147,  147,  147,  147,  147,  148,  147,
680       147,  147,  147,  147,  147,  149,  140,  140,  140,  150,
681       151,  152,  153,  154,  150,  150,  150,  150,  150,  150,
682       150,  150,  150,  150,  150,  155,  156,  150,  150,  150,
683       157,  150,  150,  150,  150,  150,  150,  150,  150,  158,
684       159,  160,  161,  162,  163,  164,  164,  165,  164,  164,
685       166,  167,  168,  169,  170,  164,  171,  172,  164,  173,
686       174,  175,  164,  176,  150,  150,  150,  191,  201,  202,
687       203,  258,  213,  213,  204,  289,  213,  213,  213,  213,
688       292,  290,  217,  218,  219,  383,  303,  275,  220,  259,
689 
690       192,  188,  193,  276,  193,  221,  304,  335,  336,  293,
691       193,  222,  384,  193,  194,  195,  480,  193,  196,  223,
692       214,  306,  481,  197,  214,  198,  214,  317,  317,  317,
693       317,  307,  764,  205,  308,  181,  182,  183,  185,  186,
694       187,  189,  321,  322,  323,  339,  340,  205,  321,  322,
695       323,  387,  321,  322,  323,  388,  324,  324,  324,  324,
696       342,  342,  324,  324,  324,  324,  324,  324,  324,  324,
697       321,  322,  323,  201,  202,  203,  341,  344,  344,  204,
698       380,  258,  339,  340,  324,  324,  324,  324,  325,  217,
699       218,  219,  265,  266,  381,  220,  326,  439,  343,  259,
700 
701       265,  266,  221,  248,  248,  248,  248,  673,  222,  268,
702       269,  268,  269,  327,  392,  402,  223,  409,  393,  440,
703       410,  416,  417,  418,  403,  331,  332,  763,  205,  411,
704       412,  317,  317,  317,  317,  419,  419,  419,  419,  721,
705       413,  331,  332,  722,  205,  357,  357,  358,  359,  357,
706       357,  357,  357,  357,  357,  360,  357,  357,  357,  357,
707       357,  357,  357,  357,  357,  357,  357,  357,  360,  360,
708       357,  357,  357,  357,  360,  360,  360,  360,  360,  360,
709       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
710       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
711 
712       357,  357,  357,  362,  363,  364,  365,  335,  336,  366,
713       335,  336,  339,  340,  367,  212,  212,  762,  368,  493,
714       494,  369,  761,  370,  417,  494,  371,  374,  374,  760,
715       374,  374,  374,  374,  374,  374,  374,  375,  374,  374,
716       374,  374,  374,  374,  374,  374,  374,  374,  374,  374,
717       375,  375,  374,  374,  374,  374,  375,  375,  375,  375,
718       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
719       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
720       375,  375,  374,  374,  374,  420,  322,  323,  427,  439,
721       439,  428,  428,  439,  339,  340,  431,  431,  439,  324,
722 
723       324,  324,  324,  338,  439,  485,  339,  340,  486,  487,
724       439,  441,  443,  439,  442,  420,  322,  323,  450,  552,
725       759,  513,  493,  494,  516,  553,  444,  339,  340,  429,
726       338,  338,  439,  338,  338,  338,  338,  338,  338,  338,
727       338,  338,  338,  338,  338,  338,  338,  338,  338,  338,
728       338,  338,  338,  430,  430,  339,  340,  445,  338,  338,
729       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
730       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
731       430,  430,  430,  430,  430,  338,  338,  338,  432,  432,
732       432,  432,  758,  439,  339,  340,  432,  757,  339,  340,
733 
734       495,  417,  418,  432,  432,  432,  432,  432,  432,  360,
735       360,  439,  438,  360,  360,  360,  360,  360,  360,  448,
736       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
737       360,  360,  439,  439,  360,  360,  360,  360,  439,  446,
738       501,  501,  447,  504,  504,  416,  417,  418,  616,  617,
739       339,  340,  638,  339,  340,  515,  439,  439,  449,  419,
740       419,  419,  419,  514,  360,  360,  360,  375,  375,  580,
741       375,  375,  375,  375,  375,  375,  375,  439,  375,  375,
742       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
743       517,  439,  375,  375,  375,  375,  495,  417,  418,  439,
744 
745       439,  511,  439,  512,  439,  439,  339,  340,  209,  439,
746       419,  419,  419,  419,  439,  519,  520,  581,  518,  522,
747       566,  566,  375,  375,  375,  500,  500,  573,  521,  578,
748       339,  340,  500,  500,  500,  500,  500,  500,  500,  500,
749       500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
750       500,  500,  500,  500,  500,  500,  500,  502,  502,  502,
751       502,  532,  439,  439,  439,  502,  439,  339,  340,  439,
752       339,  340,  502,  502,  502,  502,  502,  502,  505,  505,
753       505,  505,  439,  533,  582,  576,  505,  574,  579,  534,
754       575,  439,  439,  505,  505,  505,  505,  505,  505,  567,
755 
756       567,  567,  567,  590,  339,  340,  338,  567,  577,  583,
757       439,  439,  625,  591,  567,  567,  567,  567,  567,  567,
758       439,  439,  624,  439,  439,  439,  439,  439,  439,  439,
759       616,  617,  439,  623,  616,  617,  685,  686,  685,  686,
760       756,  628,  626,  632,  708,  755,  634,  685,  686,  302,
761       302,  627,  629,  754,  753,  630,  631,  633,  752,  751,
762       750,  709,  669,   52,   52,   52,   52,   52,   52,   52,
763        52,   52,   52,   52,   52,   52,   52,   52,   52,   69,
764        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
765        69,   69,   69,   69,   69,   72,   72,   72,   72,   72,
766 
767        72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
768        72,   76,   76,   76,   76,   76,   76,   76,   76,   76,
769        76,   76,   76,   76,   76,   76,   76,   86,   86,   86,
770        86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
771        86,   86,   86,   40,   40,   40,   40,   40,   40,   40,
772        40,   40,   40,   40,   40,   40,   40,   40,   40,   95,
773        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
774        95,   95,   95,   95,   95,  101,  101,  101,  101,  101,
775       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
776       101,  106,  106,  106,  106,  106,  106,  106,  106,  106,
777 
778       106,  106,  106,  106,  106,  106,  106,  110,  110,  110,
779       110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
780       110,  110,  110,  128,  128,  128,  128,  128,  128,  128,
781       128,  128,  128,  128,  128,  128,  128,  128,  128,  131,
782       131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
783       131,  131,  131,  131,  131,  135,  135,  135,  135,  135,
784       135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
785       135,  177,  177,  177,  177,  177,  177,  177,  177,  177,
786       177,  177,  177,  177,  177,  177,  177,  184,  184,  184,
787       184,  749,  748,  184,  184,  184,  190,  190,  190,  190,
788 
789       190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
790       190,  200,  200,  200,  200,  747,  746,  200,  200,  200,
791       209,  745,  209,  209,  209,  209,  209,  209,  209,  209,
792       209,  209,  209,  209,  209,  209,  212,  744,  212,  212,
793       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
794       212,  212,  216,  216,  216,  743,  742,  216,  216,  216,
795       227,  741,  227,  227,  227,  227,  227,  227,  227,  227,
796       227,  227,  227,  227,  227,  227,  229,  740,  229,  229,
797       229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
798       229,  229,  230,  739,  230,  230,  230,  230,  230,  230,
799 
800       230,  230,  230,  230,  230,  230,  230,  230,  234,  234,
801       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
802       234,  234,  234,  234,  236,  738,  236,  236,  737,  236,
803       236,  236,  736,  735,  236,  236,  734,  733,  732,  236,
804       238,  238,  238,  238,  731,  730,  238,  238,  238,  242,
805       729,  242,  242,  242,  242,  242,  242,  242,  242,  242,
806       242,  242,  242,  242,  242,  246,  246,  246,  246,  728,
807       727,  246,  246,  246,  251,  726,  251,  251,  251,  251,
808       251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
809       254,  725,  254,  254,  254,  254,  254,  254,  254,  254,
810 
811       254,  724,  254,  254,  254,  254,  255,  723,  720,  719,
812       255,  255,  255,  255,  718,  717,  255,  255,  257,  716,
813       257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
814       257,  257,  257,  257,  261,  261,  261,  261,  715,  714,
815       261,  261,  261,  264,  264,  264,  264,  264,  264,  264,
816       264,  264,  264,  264,  264,  264,  264,  264,  264,  267,
817       267,  267,  267,  713,  267,  267,  267,  267,  267,  267,
818       267,  267,  267,  267,  267,  271,  712,  711,  271,  271,
819       271,  271,  271,  271,  271,  710,  271,  271,  271,  271,
820       271,  273,  707,  273,  273,  273,  273,  273,  273,  273,
821 
822       273,  273,  273,  273,  273,  273,  273,  274,  706,  274,
823       274,  705,  274,  274,  274,  704,  703,  274,  274,  702,
824       701,  700,  274,  279,  279,  279,  279,  699,  698,  279,
825       279,  279,  284,  697,  284,  284,  284,  284,  284,  284,
826       284,  284,  284,  284,  284,  284,  284,  284,  288,  288,
827       696,  288,  288,  695,  694,  693,  288,  288,  315,  692,
828       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
829       315,  315,  315,  315,  319,  691,  319,  319,  319,  319,
830       319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
831       320,  690,  320,  320,  320,  320,  320,  320,  320,  320,
832 
833       320,  320,  320,  320,  320,  320,  328,  328,  689,  688,
834       328,  328,  328,  329,  329,  687,  683,  329,  329,  329,
835       330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
836       330,  330,  330,  330,  330,  330,  334,  334,  334,  334,
837       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
838       334,  334,  338,  682,  338,  338,  338,  338,  338,  338,
839       338,  338,  338,  681,  338,  338,  338,  338,  209,  680,
840       209,  209,  209,  209,  209,  209,  209,  209,  209,  209,
841       209,  209,  209,  209,  345,  345,  679,  678,  677,  676,
842       345,  346,  346,  346,  346,  675,  674,  346,  346,  346,
843 
844       346,  351,  673,  351,  351,  351,  351,  351,  351,  351,
845       351,  351,  351,  351,  351,  351,  351,  227,  672,  227,
846       227,  227,  227,  227,  227,  227,  227,  227,  227,  227,
847       227,  227,  227,  229,  671,  229,  229,  229,  229,  229,
848       229,  229,  229,  229,  229,  229,  229,  229,  229,  230,
849       670,  230,  230,  230,  230,  230,  230,  230,  230,  230,
850       230,  230,  230,  230,  230,  353,  668,  353,  353,  353,
851       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
852       353,  354,  667,  354,  354,  354,  354,  354,  354,  354,
853       354,  354,  354,  354,  354,  354,  354,  234,  234,  234,
854 
855       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
856       234,  234,  234,  236,  666,  236,  236,  665,  236,  236,
857       236,  664,  663,  236,  236,  662,  661,  660,  236,  238,
858       238,  238,  238,  659,  658,  238,  238,  238,  242,  657,
859       242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
860       242,  242,  242,  242,  246,  246,  246,  246,  656,  655,
861       246,  246,  246,  361,  361,  654,  653,  652,  361,  361,
862       255,  651,  650,  649,  255,  255,  255,  255,  648,  647,
863       255,  255,  257,  646,  257,  257,  257,  257,  257,  257,
864       257,  257,  257,  257,  257,  257,  257,  257,  261,  261,
865 
866       261,  261,  645,  644,  261,  261,  261,  264,  264,  264,
867       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
868       264,  264,  264,  267,  267,  267,  267,  643,  267,  267,
869       267,  267,  267,  267,  267,  267,  267,  267,  267,  271,
870       642,  641,  271,  271,  271,  271,  271,  271,  271,  640,
871       271,  271,  271,  271,  271,  274,  639,  274,  274,  638,
872       274,  274,  274,  637,  636,  274,  274,  635,  622,  621,
873       274,  279,  279,  279,  279,  620,  619,  279,  279,  279,
874       284,  618,  284,  284,  284,  284,  284,  284,  284,  284,
875       284,  284,  284,  284,  284,  284,  288,  288,  560,  288,
876 
877       288,  614,  613,  612,  288,  288,  315,  611,  315,  315,
878       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
879       315,  315,  319,  610,  319,  319,  319,  319,  319,  319,
880       319,  319,  319,  319,  319,  319,  319,  319,  320,  609,
881       320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
882       320,  320,  320,  320,  415,  415,  415,  415,  415,  415,
883       415,  415,  415,  415,  415,  415,  415,  415,  415,  415,
884       424,  424,  424,  424,  608,  607,  424,  424,  424,  425,
885       425,  425,  425,  606,  605,  425,  425,  425,  330,  330,
886       330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
887 
888       330,  330,  330,  330,  334,  334,  334,  334,  334,  334,
889       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
890       338,  604,  338,  338,  338,  338,  338,  338,  338,  338,
891       338,  603,  338,  338,  338,  338,  433,  433,  602,  601,
892       600,  599,  433,  346,  346,  346,  346,  598,  597,  346,
893       346,  346,  346,  351,  596,  351,  351,  351,  351,  351,
894       351,  351,  351,  351,  351,  351,  351,  351,  351,  615,
895       615,  615,  615,  615,  615,  615,  615,  615,  615,  615,
896       615,  615,  615,  615,  615,  684,  684,  684,  684,  684,
897       684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
898 
899       684,  595,  594,  593,  592,  589,  588,  587,  586,  585,
900       584,  571,  570,  569,  568,  565,  564,  563,  562,  561,
901       560,  559,  558,  557,  556,  555,  554,  551,  550,  549,
902       548,  547,  546,  545,  544,  543,  542,  541,  540,  539,
903       538,  537,  536,  535,  531,  530,  529,  528,  527,  526,
904       525,  524,  523,  510,  509,  508,  507,  506,  503,  499,
905       498,  497,  496,  492,  491,  490,  489,  488,  484,  483,
906       482,  479,  478,  477,  476,  475,  474,  473,  472,  471,
907       470,  469,  468,  467,  466,  465,  464,  463,  462,  461,
908       460,  459,  458,  457,  456,  455,  454,  453,  452,  451,
909 
910       439,  437,  436,  435,  434,  347,  426,  423,  422,  421,
911       322,  414,  316,  408,  407,  406,  401,  400,  399,  398,
912       397,  396,  395,  394,  391,  390,  389,  386,  385,  382,
913       379,  378,  285,  282,  377,  376,  278,  373,  372,  243,
914       356,  355,  235,  231,  352,  350,  349,  348,  218,  347,
915       337,  206,  333,  202,  318,  186,  182,  316,  314,  313,
916       312,  311,  310,  309,  305,  299,  298,  295,  294,  291,
917       287,  286,  285,  283,  282,  281,  280,  260,  278,  277,
918       272,  270,  263,  262,  260,  256,  250,  253,  250,  249,
919       247,  245,  244,  243,  241,  240,  239,  237,  235,  228,
920 
921       231,  228,  226,  218,  208,  202,  199,  186,  182,  768,
922        94,   94,   85,   77,   77,   39,  768,  768,  768,  768,
923       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
924       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
925       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
926       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
927       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
928       768,  768,  768,  768
929     } ;
930 
931 static yyconst short int yy_chk[2775] =
932     {   0,
933         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
934         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
935         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
936         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
937         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
938         1,    1,    1,    1,    1,    1,    1,    1,    2,    2,
939         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
940         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
941         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
942         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
943 
944         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
945         2,    2,    2,    2,    2,    2,    3,    3,    3,    3,
946       765,    3,    5,    5,    3,    3,    3,   27,   27,    3,
947         6,    6,    6,   28,   28,    3,    6,   11,   11,   11,
948         3,    3,   12,   12,   12,   48,   17,   17,   66,   29,
949        29,   60,   60,   18,   18,  310,   17,   29,  310,   17,
950        17,   17,   17,   18,   61,   61,   18,   18,   18,   18,
951         3,    3,    3,    4,    4,    4,    4,  109,    4,    4,
952        21,    4,    4,    4,  511,   48,    4,   19,   19,   19,
953        22,  109,    4,   20,   20,   20,   66,    4,    4,  141,
954 
955         4,   17,   61,   21,   21,  141,   21,   37,   18,   37,
956        75,   19,   75,   22,   22,  511,   22,   20,   30,   30,
957        37,   37,   37,   37,  128,  128,   30,    4,    4,    4,
958         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
959         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
960         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
961         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
962         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
963         9,    9,    9,    9,    9,    9,    9,    9,   13,   13,
964        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
965 
966        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
967        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
968        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
969        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
970        13,   13,   13,   13,   13,   13,   23,   23,  163,   24,
971        24,   38,  764,   38,   41,   41,   41,   23,  130,  130,
972        24,   45,   45,   45,   38,   38,   38,   38,  163,   23,
973        23,   23,   24,   24,   24,   25,   25,   25,   25,   25,
974        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
975        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
976 
977        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
978        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
979        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
980        25,   25,   25,   31,   31,   31,   32,   32,   32,   57,
981        57,   57,   62,   62,   62,   62,   99,   99,   99,   99,
982       131,  131,  133,  133,  167,  198,  198,   31,  167,  763,
983        32,   33,   33,   33,   33,   33,   33,   33,   33,   33,
984        33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
985        33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
986        33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
987 
988        33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
989        33,   33,   33,   33,   33,   33,   33,   33,   33,   35,
990        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
991        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
992        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
993        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
994        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
995        35,   35,   35,   35,   35,   35,   35,   49,   53,   53,
996        53,  121,  105,  105,   53,  158,  108,  108,  115,  115,
997       160,  158,   63,   63,   63,  291,  168,  275,   63,  121,
998 
999        49,  188,   49,  275,   49,   63,  168,  205,  205,  160,
1000        49,   63,  291,   49,   49,   49,  405,   49,   49,   63,
1001       105,  170,  405,   49,  108,   49,  115,  180,  180,  180,
1002       180,  170,  762,   53,  170,  181,  181,  181,  185,  185,
1003       185,  188,  192,  192,  192,  209,  209,   63,  193,  193,
1004       193,  294,  194,  194,  194,  294,  192,  192,  192,  192,
1005       211,  211,  193,  193,  193,  193,  194,  194,  194,  194,
1006       195,  195,  195,  201,  201,  201,  210,  213,  213,  201,
1007       289,  257,  210,  210,  195,  195,  195,  195,  192,  217,
1008       217,  217,  264,  264,  289,  217,  194,  362,  211,  257,
1009 
1010       266,  266,  217,  248,  248,  248,  248,  761,  217,  267,
1011       267,  269,  269,  195,  298,  309,  217,  314,  298,  362,
1012       314,  321,  321,  321,  309,  330,  330,  760,  201,  314,
1013       314,  317,  317,  317,  317,  321,  321,  321,  321,  708,
1014       314,  332,  332,  708,  217,  241,  241,  241,  241,  241,
1015       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
1016       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
1017       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
1018       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
1019       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
1020 
1021       241,  241,  241,  250,  250,  250,  250,  334,  334,  250,
1022       336,  336,  338,  338,  250,  344,  344,  757,  250,  415,
1023       415,  250,  756,  250,  418,  418,  250,  278,  278,  755,
1024       278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
1025       278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
1026       278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
1027       278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
1028       278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
1029       278,  278,  278,  278,  278,  324,  324,  324,  339,  363,
1030       364,  340,  340,  365,  339,  339,  342,  342,  366,  324,
1031 
1032       324,  324,  324,  340,  371,  409,  342,  342,  409,  409,
1033       441,  363,  365,  444,  364,  420,  420,  420,  371,  485,
1034       754,  441,  494,  494,  444,  485,  366,  504,  504,  340,
1035       341,  341,  367,  341,  341,  341,  341,  341,  341,  341,
1036       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
1037       341,  341,  341,  341,  341,  341,  341,  367,  341,  341,
1038       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
1039       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
1040       341,  341,  341,  341,  341,  341,  341,  341,  343,  343,
1041       343,  343,  752,  369,  505,  505,  343,  750,  343,  343,
1042 
1043       495,  495,  495,  343,  343,  343,  343,  343,  343,  360,
1044       360,  368,  360,  360,  360,  360,  360,  360,  360,  369,
1045       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
1046       360,  360,  370,  442,  360,  360,  360,  360,  443,  368,
1047       428,  428,  368,  431,  431,  416,  416,  416,  561,  561,
1048       428,  428,  749,  431,  431,  443,  519,  445,  370,  416,
1049       416,  416,  416,  442,  360,  360,  360,  375,  375,  519,
1050       375,  375,  375,  375,  375,  375,  375,  440,  375,  375,
1051       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
1052       445,  447,  375,  375,  375,  375,  419,  419,  419,  446,
1053 
1054       450,  440,  449,  440,  520,  448,  503,  503,  503,  512,
1055       419,  419,  419,  419,  517,  447,  448,  520,  446,  450,
1056       501,  501,  375,  375,  375,  427,  427,  512,  449,  517,
1057       501,  501,  427,  427,  427,  427,  427,  427,  427,  427,
1058       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
1059       427,  427,  427,  427,  427,  427,  427,  429,  429,  429,
1060       429,  462,  514,  513,  518,  429,  515,  566,  566,  521,
1061       567,  567,  429,  429,  429,  429,  429,  429,  432,  432,
1062       432,  432,  516,  462,  521,  515,  432,  513,  518,  462,
1063       514,  574,  522,  432,  432,  432,  432,  432,  432,  502,
1064 
1065       502,  502,  502,  532,  565,  565,  565,  502,  516,  522,
1066       572,  573,  574,  532,  502,  502,  502,  502,  502,  502,
1067       575,  576,  573,  577,  578,  579,  580,  583,  581,  582,
1068       615,  615,  634,  572,  617,  617,  656,  656,  684,  684,
1069       748,  577,  575,  581,  681,  747,  583,  686,  686,  810,
1070       810,  576,  578,  745,  744,  579,  580,  582,  743,  742,
1071       740,  681,  634,  769,  769,  769,  769,  769,  769,  769,
1072       769,  769,  769,  769,  769,  769,  769,  769,  769,  770,
1073       770,  770,  770,  770,  770,  770,  770,  770,  770,  770,
1074       770,  770,  770,  770,  770,  771,  771,  771,  771,  771,
1075 
1076       771,  771,  771,  771,  771,  771,  771,  771,  771,  771,
1077       771,  772,  772,  772,  772,  772,  772,  772,  772,  772,
1078       772,  772,  772,  772,  772,  772,  772,  773,  773,  773,
1079       773,  773,  773,  773,  773,  773,  773,  773,  773,  773,
1080       773,  773,  773,  774,  774,  774,  774,  774,  774,  774,
1081       774,  774,  774,  774,  774,  774,  774,  774,  774,  775,
1082       775,  775,  775,  775,  775,  775,  775,  775,  775,  775,
1083       775,  775,  775,  775,  775,  776,  776,  776,  776,  776,
1084       776,  776,  776,  776,  776,  776,  776,  776,  776,  776,
1085       776,  777,  777,  777,  777,  777,  777,  777,  777,  777,
1086 
1087       777,  777,  777,  777,  777,  777,  777,  778,  778,  778,
1088       778,  778,  778,  778,  778,  778,  778,  778,  778,  778,
1089       778,  778,  778,  779,  779,  779,  779,  779,  779,  779,
1090       779,  779,  779,  779,  779,  779,  779,  779,  779,  780,
1091       780,  780,  780,  780,  780,  780,  780,  780,  780,  780,
1092       780,  780,  780,  780,  780,  781,  781,  781,  781,  781,
1093       781,  781,  781,  781,  781,  781,  781,  781,  781,  781,
1094       781,  782,  782,  782,  782,  782,  782,  782,  782,  782,
1095       782,  782,  782,  782,  782,  782,  782,  783,  783,  783,
1096       783,  739,  738,  783,  783,  783,  784,  784,  784,  784,
1097 
1098       784,  784,  784,  784,  784,  784,  784,  784,  784,  784,
1099       784,  785,  785,  785,  785,  737,  736,  785,  785,  785,
1100       786,  735,  786,  786,  786,  786,  786,  786,  786,  786,
1101       786,  786,  786,  786,  786,  786,  787,  734,  787,  787,
1102       787,  787,  787,  787,  787,  787,  787,  787,  787,  787,
1103       787,  787,  788,  788,  788,  733,  732,  788,  788,  788,
1104       789,  731,  789,  789,  789,  789,  789,  789,  789,  789,
1105       789,  789,  789,  789,  789,  789,  790,  729,  790,  790,
1106       790,  790,  790,  790,  790,  790,  790,  790,  790,  790,
1107       790,  790,  791,  727,  791,  791,  791,  791,  791,  791,
1108 
1109       791,  791,  791,  791,  791,  791,  791,  791,  792,  792,
1110       792,  792,  792,  792,  792,  792,  792,  792,  792,  792,
1111       792,  792,  792,  792,  793,  726,  793,  793,  725,  793,
1112       793,  793,  724,  723,  793,  793,  722,  721,  720,  793,
1113       794,  794,  794,  794,  719,  718,  794,  794,  794,  795,
1114       717,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1115       795,  795,  795,  795,  795,  796,  796,  796,  796,  715,
1116       714,  796,  796,  796,  797,  713,  797,  797,  797,  797,
1117       797,  797,  797,  797,  797,  797,  797,  797,  797,  797,
1118       798,  712,  798,  798,  798,  798,  798,  798,  798,  798,
1119 
1120       798,  710,  798,  798,  798,  798,  799,  709,  707,  706,
1121       799,  799,  799,  799,  705,  704,  799,  799,  800,  703,
1122       800,  800,  800,  800,  800,  800,  800,  800,  800,  800,
1123       800,  800,  800,  800,  801,  801,  801,  801,  702,  701,
1124       801,  801,  801,  802,  802,  802,  802,  802,  802,  802,
1125       802,  802,  802,  802,  802,  802,  802,  802,  802,  803,
1126       803,  803,  803,  700,  803,  803,  803,  803,  803,  803,
1127       803,  803,  803,  803,  803,  804,  699,  698,  804,  804,
1128       804,  804,  804,  804,  804,  682,  804,  804,  804,  804,
1129       804,  805,  680,  805,  805,  805,  805,  805,  805,  805,
1130 
1131       805,  805,  805,  805,  805,  805,  805,  806,  679,  806,
1132       806,  678,  806,  806,  806,  677,  675,  806,  806,  674,
1133       672,  671,  806,  807,  807,  807,  807,  670,  669,  807,
1134       807,  807,  808,  668,  808,  808,  808,  808,  808,  808,
1135       808,  808,  808,  808,  808,  808,  808,  808,  809,  809,
1136       667,  809,  809,  666,  665,  664,  809,  809,  811,  663,
1137       811,  811,  811,  811,  811,  811,  811,  811,  811,  811,
1138       811,  811,  811,  811,  812,  662,  812,  812,  812,  812,
1139       812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
1140       813,  661,  813,  813,  813,  813,  813,  813,  813,  813,
1141 
1142       813,  813,  813,  813,  813,  813,  814,  814,  660,  659,
1143       814,  814,  814,  815,  815,  658,  655,  815,  815,  815,
1144       816,  816,  816,  816,  816,  816,  816,  816,  816,  816,
1145       816,  816,  816,  816,  816,  816,  817,  817,  817,  817,
1146       817,  817,  817,  817,  817,  817,  817,  817,  817,  817,
1147       817,  817,  818,  653,  818,  818,  818,  818,  818,  818,
1148       818,  818,  818,  652,  818,  818,  818,  818,  819,  651,
1149       819,  819,  819,  819,  819,  819,  819,  819,  819,  819,
1150       819,  819,  819,  819,  820,  820,  650,  646,  644,  643,
1151       820,  821,  821,  821,  821,  642,  641,  821,  821,  821,
1152 
1153       821,  822,  639,  822,  822,  822,  822,  822,  822,  822,
1154       822,  822,  822,  822,  822,  822,  822,  823,  637,  823,
1155       823,  823,  823,  823,  823,  823,  823,  823,  823,  823,
1156       823,  823,  823,  824,  636,  824,  824,  824,  824,  824,
1157       824,  824,  824,  824,  824,  824,  824,  824,  824,  825,
1158       635,  825,  825,  825,  825,  825,  825,  825,  825,  825,
1159       825,  825,  825,  825,  825,  826,  633,  826,  826,  826,
1160       826,  826,  826,  826,  826,  826,  826,  826,  826,  826,
1161       826,  827,  632,  827,  827,  827,  827,  827,  827,  827,
1162       827,  827,  827,  827,  827,  827,  827,  828,  828,  828,
1163 
1164       828,  828,  828,  828,  828,  828,  828,  828,  828,  828,
1165       828,  828,  828,  829,  631,  829,  829,  630,  829,  829,
1166       829,  629,  628,  829,  829,  627,  626,  625,  829,  830,
1167       830,  830,  830,  624,  623,  830,  830,  830,  831,  621,
1168       831,  831,  831,  831,  831,  831,  831,  831,  831,  831,
1169       831,  831,  831,  831,  832,  832,  832,  832,  619,  612,
1170       832,  832,  832,  833,  833,  611,  610,  609,  833,  833,
1171       834,  608,  607,  606,  834,  834,  834,  834,  604,  601,
1172       834,  834,  835,  600,  835,  835,  835,  835,  835,  835,
1173       835,  835,  835,  835,  835,  835,  835,  835,  836,  836,
1174 
1175       836,  836,  599,  598,  836,  836,  836,  837,  837,  837,
1176       837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
1177       837,  837,  837,  838,  838,  838,  838,  597,  838,  838,
1178       838,  838,  838,  838,  838,  838,  838,  838,  838,  839,
1179       596,  595,  839,  839,  839,  839,  839,  839,  839,  594,
1180       839,  839,  839,  839,  839,  840,  593,  840,  840,  592,
1181       840,  840,  840,  591,  590,  840,  840,  588,  569,  568,
1182       840,  841,  841,  841,  841,  564,  563,  841,  841,  841,
1183       842,  562,  842,  842,  842,  842,  842,  842,  842,  842,
1184       842,  842,  842,  842,  842,  842,  843,  843,  560,  843,
1185 
1186       843,  559,  558,  557,  843,  843,  844,  556,  844,  844,
1187       844,  844,  844,  844,  844,  844,  844,  844,  844,  844,
1188       844,  844,  845,  555,  845,  845,  845,  845,  845,  845,
1189       845,  845,  845,  845,  845,  845,  845,  845,  846,  554,
1190       846,  846,  846,  846,  846,  846,  846,  846,  846,  846,
1191       846,  846,  846,  846,  847,  847,  847,  847,  847,  847,
1192       847,  847,  847,  847,  847,  847,  847,  847,  847,  847,
1193       848,  848,  848,  848,  553,  552,  848,  848,  848,  849,
1194       849,  849,  849,  551,  549,  849,  849,  849,  850,  850,
1195       850,  850,  850,  850,  850,  850,  850,  850,  850,  850,
1196 
1197       850,  850,  850,  850,  851,  851,  851,  851,  851,  851,
1198       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
1199       852,  548,  852,  852,  852,  852,  852,  852,  852,  852,
1200       852,  546,  852,  852,  852,  852,  853,  853,  545,  544,
1201       543,  542,  853,  854,  854,  854,  854,  541,  540,  854,
1202       854,  854,  854,  855,  539,  855,  855,  855,  855,  855,
1203       855,  855,  855,  855,  855,  855,  855,  855,  855,  856,
1204       856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
1205       856,  856,  856,  856,  856,  857,  857,  857,  857,  857,
1206       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
1207 
1208       857,  538,  536,  534,  533,  530,  528,  526,  525,  524,
1209       523,  509,  508,  507,  506,  500,  499,  498,  497,  496,
1210       492,  491,  490,  489,  488,  487,  486,  483,  482,  481,
1211       480,  479,  478,  476,  475,  474,  473,  472,  471,  469,
1212       468,  467,  464,  463,  461,  460,  459,  458,  457,  454,
1213       453,  452,  451,  439,  437,  436,  435,  434,  430,  426,
1214       423,  422,  421,  414,  413,  412,  411,  410,  408,  407,
1215       406,  404,  403,  402,  401,  400,  399,  398,  397,  396,
1216       395,  394,  393,  392,  391,  390,  388,  387,  386,  384,
1217       383,  382,  381,  380,  379,  378,  377,  376,  373,  372,
1218 
1219       361,  356,  355,  352,  350,  346,  337,  327,  326,  325,
1220       323,  318,  315,  313,  312,  311,  308,  307,  306,  305,
1221       303,  301,  300,  299,  297,  296,  295,  293,  292,  290,
1222       287,  286,  284,  282,  281,  280,  276,  263,  262,  243,
1223       240,  239,  234,  231,  226,  222,  221,  220,  219,  216,
1224       208,  207,  204,  203,  189,  187,  183,  179,  176,  175,
1225       174,  173,  172,  171,  169,  166,  165,  162,  161,  159,
1226       156,  155,  154,  153,  151,  149,  148,  146,  144,  143,
1227       137,  134,  125,  124,  122,  119,  114,  112,  107,  103,
1228        97,   92,   89,   87,   85,   84,   83,   80,   76,   74,
1229 
1230        73,   71,   67,   65,   59,   55,   50,   47,   43,   39,
1231        16,   15,   10,    8,    7,  768,  768,  768,  768,  768,
1232       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
1233       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
1234       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
1235       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
1236       768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
1237       768,  768,  768,  768
1238     } ;
1239 
1240 static yy_state_type yy_last_accepting_state;
1241 static char *yy_last_accepting_cpos;
1242 
1243 /* The intent behind this definition is that it'll catch
1244  * any uses of REJECT which flex missed.
1245  */
1246 #define REJECT reject_used_but_not_detected
1247 #define yymore() yymore_used_but_not_detected
1248 #define YY_MORE_ADJ 0
1249 #define YY_RESTORE_YY_MORE_OFFSET
1250 char *yytext;
1251 #line 1 "scan.l"
1252 #define INITIAL 0
1253 /* scan.l - scanner for flex input */
1254 #line 4 "scan.l"
1255 /*-
1256  * Copyright (c) 1990 The Regents of the University of California.
1257  * All rights reserved.
1258  *
1259  * This code is derived from software contributed to Berkeley by
1260  * Vern Paxson.
1261  *
1262  * The United States Government has rights in this work pursuant
1263  * to contract no. DE-AC03-76SF00098 between the United States
1264  * Department of Energy and the University of California.
1265  *
1266  * Redistribution and use in source and binary forms are permitted provided
1267  * that: (1) source distributions retain this entire copyright notice and
1268  * comment, and (2) distributions including binaries display the following
1269  * acknowledgement:  ``This product includes software developed by the
1270  * University of California, Berkeley and its contributors'' in the
1271  * documentation or other materials provided with the distribution and in
1272  * all advertising materials mentioning features or use of this software.
1273  * Neither the name of the University nor the names of its contributors may
1274  * be used to endorse or promote products derived from this software without
1275  * specific prior written permission.
1276  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1277  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1278  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1279  */
1280 
1281 /* $Header: /home/daffy/u0/vern/flex/RCS/scan.l,v 2.56 95/04/24 12:17:19 vern Exp $ */
1282 /* $FreeBSD$ */
1283 
1284 #include "flexdef.h"
1285 #include "parse.h"
1286 
1287 #define ACTION_ECHO add_action( yytext )
1288 #define ACTION_IFDEF(def, should_define) \
1289 	{ \
1290 	if ( should_define ) \
1291 		action_define( def, 1 ); \
1292 	}
1293 
1294 #define MARK_END_OF_PROLOG mark_prolog();
1295 
1296 #define YY_DECL \
1297 	int flexscan()
1298 
1299 #define RETURNCHAR \
1300 	yylval = (unsigned char) yytext[0]; \
1301 	return CHAR;
1302 
1303 #define RETURNNAME \
1304 	strcpy( nmstr, yytext ); \
1305 	return NAME;
1306 
1307 #define PUT_BACK_STRING(str, start) \
1308 	for ( i = strlen( str ) - 1; i >= start; --i ) \
1309 		unput((str)[i])
1310 
1311 #define CHECK_REJECT(str) \
1312 	if ( all_upper( str ) ) \
1313 		reject = true;
1314 
1315 #define CHECK_YYMORE(str) \
1316 	if ( all_lower( str ) ) \
1317 		yymore_used = true;
1318 #define YY_STACK_USED 1
1319 #define YY_NO_TOP_STATE 1
1320 #define SECT2 1
1321 #define SECT2PROLOG 2
1322 #define SECT3 3
1323 #define CODEBLOCK 4
1324 #define PICKUPDEF 5
1325 #define SC 6
1326 #define CARETISBOL 7
1327 #define NUM 8
1328 #define QUOTE 9
1329 
1330 #define FIRSTCCL 10
1331 #define CCL 11
1332 #define ACTION 12
1333 #define RECOVER 13
1334 #define COMMENT 14
1335 #define ACTION_STRING 15
1336 #define PERCENT_BRACE_ACTION 16
1337 
1338 #define OPTION 17
1339 #define LINEDIR 18
1340 
1341 #line 1342 "scan.c"
1342 
1343 /* Macros after this point can all be overridden by user definitions in
1344  * section 1.
1345  */
1346 
1347 #ifndef YY_SKIP_YYWRAP
1348 #ifdef __cplusplus
1349 extern "C" int yywrap YY_PROTO(( void ));
1350 #else
1351 extern int yywrap YY_PROTO(( void ));
1352 #endif
1353 #endif
1354 
1355 #ifndef YY_NO_UNPUT
1356 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1357 #endif
1358 
1359 #ifndef yytext_ptr
1360 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1361 #endif
1362 
1363 #ifdef YY_NEED_STRLEN
1364 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1365 #endif
1366 
1367 #ifndef YY_NO_INPUT
1368 #ifdef __cplusplus
1369 static int yyinput YY_PROTO(( void ));
1370 #else
1371 static int input YY_PROTO(( void ));
1372 #endif
1373 #endif
1374 
1375 #if YY_STACK_USED
1376 static int yy_start_stack_ptr = 0;
1377 static int yy_start_stack_depth = 0;
1378 static int *yy_start_stack = 0;
1379 #ifndef YY_NO_PUSH_STATE
1380 static void yy_push_state YY_PROTO(( int new_state ));
1381 #endif
1382 #ifndef YY_NO_POP_STATE
1383 static void yy_pop_state YY_PROTO(( void ));
1384 #endif
1385 #ifndef YY_NO_TOP_STATE
1386 static int yy_top_state YY_PROTO(( void ));
1387 #endif
1388 
1389 #else
1390 #define YY_NO_PUSH_STATE 1
1391 #define YY_NO_POP_STATE 1
1392 #define YY_NO_TOP_STATE 1
1393 #endif
1394 
1395 #ifdef YY_MALLOC_DECL
1396 YY_MALLOC_DECL
1397 #else
1398 #if __STDC__
1399 #ifndef __cplusplus
1400 #include <stdlib.h>
1401 #endif
1402 #else
1403 /* Just try to get by without declaring the routines.  This will fail
1404  * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1405  * or sizeof(void*) != sizeof(int).
1406  */
1407 #endif
1408 #endif
1409 
1410 /* Amount of stuff to slurp up with each read. */
1411 #ifndef YY_READ_BUF_SIZE
1412 #define YY_READ_BUF_SIZE 8192
1413 #endif
1414 
1415 /* Copy whatever the last rule matched to the standard output. */
1416 
1417 #ifndef ECHO
1418 /* This used to be an fputs(), but since the string might contain NUL's,
1419  * we now use fwrite().
1420  */
1421 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1422 #endif
1423 
1424 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1425  * is returned in "result".
1426  */
1427 #ifndef YY_INPUT
1428 #define YY_INPUT(buf,result,max_size) \
1429 	if ( yy_current_buffer->yy_is_interactive ) \
1430 		{ \
1431 		int c = '*', n; \
1432 		for ( n = 0; n < max_size && \
1433 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1434 			buf[n] = (char) c; \
1435 		if ( c == '\n' ) \
1436 			buf[n++] = (char) c; \
1437 		if ( c == EOF && ferror( yyin ) ) \
1438 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
1439 		result = n; \
1440 		} \
1441 	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1442 		  && ferror( yyin ) ) \
1443 		YY_FATAL_ERROR( "input in flex scanner failed" );
1444 #endif
1445 
1446 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1447  * we don't want an extra ';' after the "return" because that will cause
1448  * some compilers to complain about unreachable statements.
1449  */
1450 #ifndef yyterminate
1451 #define yyterminate() return YY_NULL
1452 #endif
1453 
1454 /* Number of entries by which start-condition stack grows. */
1455 #ifndef YY_START_STACK_INCR
1456 #define YY_START_STACK_INCR 25
1457 #endif
1458 
1459 /* Report a fatal error. */
1460 #ifndef YY_FATAL_ERROR
1461 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1462 #endif
1463 
1464 /* Default declaration of generated scanner - a define so the user can
1465  * easily add parameters.
1466  */
1467 #ifndef YY_DECL
1468 #define YY_DECL int yylex YY_PROTO(( void ))
1469 #endif
1470 
1471 /* Code executed at the beginning of each rule, after yytext and yyleng
1472  * have been set up.
1473  */
1474 #ifndef YY_USER_ACTION
1475 #define YY_USER_ACTION
1476 #endif
1477 
1478 /* Code executed at the end of each rule. */
1479 #ifndef YY_BREAK
1480 #define YY_BREAK break;
1481 #endif
1482 
1483 #define YY_RULE_SETUP \
1484 	if ( yyleng > 0 ) \
1485 		yy_current_buffer->yy_at_bol = \
1486 				(yytext[yyleng - 1] == '\n'); \
1487 	YY_USER_ACTION
1488 
1489 YY_DECL
1490 	{
1491 	yy_state_type yy_current_state;
1492 	char *yy_cp, *yy_bp;
1493 	int yy_act;
1494 
1495 #line 95 "scan.l"
1496 
1497 	static int bracelevel, didadef, indented_code;
1498 	static int doing_rule_action = false;
1499 	static int option_sense;
1500 
1501 	int doing_codeblock = false;
1502 	int i;
1503 	Char nmdef[MAXLINE], myesc();
1504 
1505 
1506 #line 1507 "scan.c"
1507 
1508 	if ( yy_init )
1509 		{
1510 		yy_init = 0;
1511 
1512 #ifdef YY_USER_INIT
1513 		YY_USER_INIT;
1514 #endif
1515 
1516 		if ( ! yy_start )
1517 			yy_start = 1;	/* first start state */
1518 
1519 		if ( ! yyin )
1520 			yyin = stdin;
1521 
1522 		if ( ! yyout )
1523 			yyout = stdout;
1524 
1525 		if ( ! yy_current_buffer )
1526 			yy_current_buffer =
1527 				yy_create_buffer( yyin, YY_BUF_SIZE );
1528 
1529 		yy_load_buffer_state();
1530 		}
1531 
1532 	while ( 1 )		/* loops until end-of-file is reached */
1533 		{
1534 		yy_cp = yy_c_buf_p;
1535 
1536 		/* Support of yytext. */
1537 		*yy_cp = yy_hold_char;
1538 
1539 		/* yy_bp points to the position in yy_ch_buf of the start of
1540 		 * the current run.
1541 		 */
1542 		yy_bp = yy_cp;
1543 
1544 		yy_current_state = yy_start;
1545 		yy_current_state += YY_AT_BOL();
1546 yy_match:
1547 		do
1548 			{
1549 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1550 			if ( yy_accept[yy_current_state] )
1551 				{
1552 				yy_last_accepting_state = yy_current_state;
1553 				yy_last_accepting_cpos = yy_cp;
1554 				}
1555 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1556 				{
1557 				yy_current_state = (int) yy_def[yy_current_state];
1558 				if ( yy_current_state >= 769 )
1559 					yy_c = yy_meta[(unsigned int) yy_c];
1560 				}
1561 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1562 			++yy_cp;
1563 			}
1564 		while ( yy_base[yy_current_state] != 2716 );
1565 
1566 yy_find_action:
1567 		yy_act = yy_accept[yy_current_state];
1568 		if ( yy_act == 0 )
1569 			{ /* have to back up */
1570 			yy_cp = yy_last_accepting_cpos;
1571 			yy_current_state = yy_last_accepting_state;
1572 			yy_act = yy_accept[yy_current_state];
1573 			}
1574 
1575 		YY_DO_BEFORE_ACTION;
1576 
1577 
1578 do_action:	/* This label is used only to access EOF actions. */
1579 
1580 
1581 		switch ( yy_act )
1582 	{ /* beginning of action switch */
1583 			case 0: /* must back up */
1584 			/* undo the effects of YY_DO_BEFORE_ACTION */
1585 			*yy_cp = yy_hold_char;
1586 			yy_cp = yy_last_accepting_cpos;
1587 			yy_current_state = yy_last_accepting_state;
1588 			goto yy_find_action;
1589 
1590 
1591 case 1:
1592 YY_RULE_SETUP
1593 #line 106 "scan.l"
1594 indented_code = true; BEGIN(CODEBLOCK);
1595 	YY_BREAK
1596 case 2:
1597 YY_RULE_SETUP
1598 #line 107 "scan.l"
1599 ACTION_ECHO; yy_push_state( COMMENT );
1600 	YY_BREAK
1601 case 3:
1602 YY_RULE_SETUP
1603 #line 108 "scan.l"
1604 yy_push_state( LINEDIR );
1605 	YY_BREAK
1606 case 4:
1607 YY_RULE_SETUP
1608 #line 109 "scan.l"
1609 return SCDECL;
1610 	YY_BREAK
1611 case 5:
1612 YY_RULE_SETUP
1613 #line 110 "scan.l"
1614 return XSCDECL;
1615 	YY_BREAK
1616 case 6:
1617 YY_RULE_SETUP
1618 #line 111 "scan.l"
1619 {
1620 			++linenum;
1621 			line_directive_out( (FILE *) 0, 1 );
1622 			indented_code = false;
1623 			BEGIN(CODEBLOCK);
1624 			}
1625 	YY_BREAK
1626 case 7:
1627 YY_RULE_SETUP
1628 #line 118 "scan.l"
1629 /* discard */
1630 	YY_BREAK
1631 case 8:
1632 YY_RULE_SETUP
1633 #line 120 "scan.l"
1634 {
1635 			sectnum = 2;
1636 			bracelevel = 0;
1637 			mark_defs1();
1638 			line_directive_out( (FILE *) 0, 1 );
1639 			BEGIN(SECT2PROLOG);
1640 			return SECTEND;
1641 			}
1642 	YY_BREAK
1643 case 9:
1644 YY_RULE_SETUP
1645 #line 129 "scan.l"
1646 yytext_is_array = false; ++linenum;
1647 	YY_BREAK
1648 case 10:
1649 YY_RULE_SETUP
1650 #line 130 "scan.l"
1651 yytext_is_array = true; ++linenum;
1652 	YY_BREAK
1653 case 11:
1654 YY_RULE_SETUP
1655 #line 132 "scan.l"
1656 BEGIN(OPTION); return OPTION_OP;
1657 	YY_BREAK
1658 case 12:
1659 YY_RULE_SETUP
1660 #line 134 "scan.l"
1661 ++linenum; /* ignore */
1662 	YY_BREAK
1663 case 13:
1664 YY_RULE_SETUP
1665 #line 135 "scan.l"
1666 ++linenum;	/* ignore */
1667 	YY_BREAK
1668 case 14:
1669 YY_RULE_SETUP
1670 #line 137 "scan.l"
1671 synerr( _( "unrecognized '%' directive" ) );
1672 	YY_BREAK
1673 case 15:
1674 YY_RULE_SETUP
1675 #line 139 "scan.l"
1676 {
1677 			strcpy( nmstr, yytext );
1678 			didadef = false;
1679 			BEGIN(PICKUPDEF);
1680 			}
1681 	YY_BREAK
1682 case 16:
1683 YY_RULE_SETUP
1684 #line 145 "scan.l"
1685 RETURNNAME;
1686 	YY_BREAK
1687 case 17:
1688 YY_RULE_SETUP
1689 #line 146 "scan.l"
1690 ++linenum; /* allows blank lines in section 1 */
1691 	YY_BREAK
1692 case 18:
1693 YY_RULE_SETUP
1694 #line 147 "scan.l"
1695 ACTION_ECHO; ++linenum; /* maybe end of comment line */
1696 	YY_BREAK
1697 
1698 
1699 case 19:
1700 YY_RULE_SETUP
1701 #line 152 "scan.l"
1702 ACTION_ECHO; yy_pop_state();
1703 	YY_BREAK
1704 case 20:
1705 YY_RULE_SETUP
1706 #line 153 "scan.l"
1707 ACTION_ECHO;
1708 	YY_BREAK
1709 case 21:
1710 YY_RULE_SETUP
1711 #line 154 "scan.l"
1712 ACTION_ECHO;
1713 	YY_BREAK
1714 case 22:
1715 YY_RULE_SETUP
1716 #line 155 "scan.l"
1717 ++linenum; ACTION_ECHO;
1718 	YY_BREAK
1719 
1720 
1721 case 23:
1722 YY_RULE_SETUP
1723 #line 159 "scan.l"
1724 yy_pop_state();
1725 	YY_BREAK
1726 case 24:
1727 YY_RULE_SETUP
1728 #line 160 "scan.l"
1729 linenum = myctoi( yytext );
1730 	YY_BREAK
1731 case 25:
1732 YY_RULE_SETUP
1733 #line 162 "scan.l"
1734 {
1735 			flex_free( (void *) infilename );
1736 			infilename = copy_string( yytext + 1 );
1737 			infilename[strlen( infilename ) - 1] = '\0';
1738 			}
1739 	YY_BREAK
1740 case 26:
1741 YY_RULE_SETUP
1742 #line 167 "scan.l"
1743 /* ignore spurious characters */
1744 	YY_BREAK
1745 
1746 
1747 case 27:
1748 YY_RULE_SETUP
1749 #line 171 "scan.l"
1750 ++linenum; BEGIN(INITIAL);
1751 	YY_BREAK
1752 case 28:
1753 YY_RULE_SETUP
1754 #line 173 "scan.l"
1755 ACTION_ECHO;
1756 	YY_BREAK
1757 case 29:
1758 YY_RULE_SETUP
1759 #line 175 "scan.l"
1760 {
1761 			++linenum;
1762 			ACTION_ECHO;
1763 			if ( indented_code )
1764 				BEGIN(INITIAL);
1765 			}
1766 	YY_BREAK
1767 
1768 
1769 case 30:
1770 YY_RULE_SETUP
1771 #line 185 "scan.l"
1772 /* separates name and definition */
1773 	YY_BREAK
1774 case 31:
1775 YY_RULE_SETUP
1776 #line 187 "scan.l"
1777 {
1778 			strcpy( (char *) nmdef, yytext );
1779 
1780 			/* Skip trailing whitespace. */
1781 			for ( i = strlen( (char *) nmdef ) - 1;
1782 			      i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
1783 			      --i )
1784 				;
1785 
1786 			nmdef[i + 1] = '\0';
1787 
1788 			ndinstal( nmstr, nmdef );
1789 			didadef = true;
1790 			}
1791 	YY_BREAK
1792 case 32:
1793 YY_RULE_SETUP
1794 #line 202 "scan.l"
1795 {
1796 			if ( ! didadef )
1797 				synerr( _( "incomplete name definition" ) );
1798 			BEGIN(INITIAL);
1799 			++linenum;
1800 			}
1801 	YY_BREAK
1802 
1803 
1804 case 33:
1805 YY_RULE_SETUP
1806 #line 212 "scan.l"
1807 ++linenum; BEGIN(INITIAL);
1808 	YY_BREAK
1809 case 34:
1810 YY_RULE_SETUP
1811 #line 213 "scan.l"
1812 option_sense = true;
1813 	YY_BREAK
1814 case 35:
1815 YY_RULE_SETUP
1816 #line 215 "scan.l"
1817 return '=';
1818 	YY_BREAK
1819 case 36:
1820 YY_RULE_SETUP
1821 #line 217 "scan.l"
1822 option_sense = ! option_sense;
1823 	YY_BREAK
1824 case 37:
1825 YY_RULE_SETUP
1826 #line 219 "scan.l"
1827 csize = option_sense ? 128 : 256;
1828 	YY_BREAK
1829 case 38:
1830 YY_RULE_SETUP
1831 #line 220 "scan.l"
1832 csize = option_sense ? 256 : 128;
1833 	YY_BREAK
1834 case 39:
1835 YY_RULE_SETUP
1836 #line 222 "scan.l"
1837 long_align = option_sense;
1838 	YY_BREAK
1839 case 40:
1840 YY_RULE_SETUP
1841 #line 223 "scan.l"
1842 {
1843 			action_define( "YY_ALWAYS_INTERACTIVE", option_sense );
1844 			}
1845 	YY_BREAK
1846 case 41:
1847 YY_RULE_SETUP
1848 #line 226 "scan.l"
1849 yytext_is_array = option_sense;
1850 	YY_BREAK
1851 case 42:
1852 YY_RULE_SETUP
1853 #line 227 "scan.l"
1854 backing_up_report = option_sense;
1855 	YY_BREAK
1856 case 43:
1857 YY_RULE_SETUP
1858 #line 228 "scan.l"
1859 interactive = ! option_sense;
1860 	YY_BREAK
1861 case 44:
1862 YY_RULE_SETUP
1863 #line 229 "scan.l"
1864 C_plus_plus = option_sense;
1865 	YY_BREAK
1866 case 45:
1867 YY_RULE_SETUP
1868 #line 230 "scan.l"
1869 caseins = ! option_sense;
1870 	YY_BREAK
1871 case 46:
1872 YY_RULE_SETUP
1873 #line 231 "scan.l"
1874 caseins = option_sense;
1875 	YY_BREAK
1876 case 47:
1877 YY_RULE_SETUP
1878 #line 232 "scan.l"
1879 ddebug = option_sense;
1880 	YY_BREAK
1881 case 48:
1882 YY_RULE_SETUP
1883 #line 233 "scan.l"
1884 spprdflt = ! option_sense;
1885 	YY_BREAK
1886 case 49:
1887 YY_RULE_SETUP
1888 #line 234 "scan.l"
1889 useecs = option_sense;
1890 	YY_BREAK
1891 case 50:
1892 YY_RULE_SETUP
1893 #line 235 "scan.l"
1894 {
1895 			useecs = usemecs = false;
1896 			use_read = fullspd = true;
1897 			}
1898 	YY_BREAK
1899 case 51:
1900 YY_RULE_SETUP
1901 #line 239 "scan.l"
1902 {
1903 			useecs = usemecs = false;
1904 			use_read = fulltbl = true;
1905 			}
1906 	YY_BREAK
1907 case 52:
1908 YY_RULE_SETUP
1909 #line 243 "scan.l"
1910 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
1911 	YY_BREAK
1912 case 53:
1913 YY_RULE_SETUP
1914 #line 244 "scan.l"
1915 interactive = option_sense;
1916 	YY_BREAK
1917 case 54:
1918 YY_RULE_SETUP
1919 #line 245 "scan.l"
1920 lex_compat = option_sense;
1921 	YY_BREAK
1922 case 55:
1923 YY_RULE_SETUP
1924 #line 246 "scan.l"
1925 {
1926 			action_define( "YY_MAIN", option_sense );
1927 			do_yywrap = ! option_sense;
1928 			}
1929 	YY_BREAK
1930 case 56:
1931 YY_RULE_SETUP
1932 #line 250 "scan.l"
1933 usemecs = option_sense;
1934 	YY_BREAK
1935 case 57:
1936 YY_RULE_SETUP
1937 #line 251 "scan.l"
1938 {
1939 			action_define( "YY_NEVER_INTERACTIVE", option_sense );
1940 			}
1941 	YY_BREAK
1942 case 58:
1943 YY_RULE_SETUP
1944 #line 254 "scan.l"
1945 performance_report += option_sense ? 1 : -1;
1946 	YY_BREAK
1947 case 59:
1948 YY_RULE_SETUP
1949 #line 255 "scan.l"
1950 yytext_is_array = ! option_sense;
1951 	YY_BREAK
1952 case 60:
1953 YY_RULE_SETUP
1954 #line 256 "scan.l"
1955 use_read = option_sense;
1956 	YY_BREAK
1957 case 61:
1958 YY_RULE_SETUP
1959 #line 257 "scan.l"
1960 reject_really_used = option_sense;
1961 	YY_BREAK
1962 case 62:
1963 YY_RULE_SETUP
1964 #line 258 "scan.l"
1965 action_define( "YY_STACK_USED", option_sense );
1966 	YY_BREAK
1967 case 63:
1968 YY_RULE_SETUP
1969 #line 259 "scan.l"
1970 do_stdinit = option_sense;
1971 	YY_BREAK
1972 case 64:
1973 YY_RULE_SETUP
1974 #line 260 "scan.l"
1975 use_stdout = option_sense;
1976 	YY_BREAK
1977 case 65:
1978 YY_RULE_SETUP
1979 #line 261 "scan.l"
1980 ACTION_IFDEF("YY_NO_UNPUT", ! option_sense);
1981 	YY_BREAK
1982 case 66:
1983 YY_RULE_SETUP
1984 #line 262 "scan.l"
1985 printstats = option_sense;
1986 	YY_BREAK
1987 case 67:
1988 YY_RULE_SETUP
1989 #line 263 "scan.l"
1990 nowarn = ! option_sense;
1991 	YY_BREAK
1992 case 68:
1993 YY_RULE_SETUP
1994 #line 264 "scan.l"
1995 do_yylineno = option_sense;
1996 	YY_BREAK
1997 case 69:
1998 YY_RULE_SETUP
1999 #line 265 "scan.l"
2000 yymore_really_used = option_sense;
2001 	YY_BREAK
2002 case 70:
2003 YY_RULE_SETUP
2004 #line 266 "scan.l"
2005 do_yywrap = option_sense;
2006 	YY_BREAK
2007 case 71:
2008 YY_RULE_SETUP
2009 #line 268 "scan.l"
2010 ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense);
2011 	YY_BREAK
2012 case 72:
2013 YY_RULE_SETUP
2014 #line 269 "scan.l"
2015 ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense);
2016 	YY_BREAK
2017 case 73:
2018 YY_RULE_SETUP
2019 #line 270 "scan.l"
2020 ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense);
2021 	YY_BREAK
2022 case 74:
2023 YY_RULE_SETUP
2024 #line 272 "scan.l"
2025 ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense);
2026 	YY_BREAK
2027 case 75:
2028 YY_RULE_SETUP
2029 #line 273 "scan.l"
2030 ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense);
2031 	YY_BREAK
2032 case 76:
2033 YY_RULE_SETUP
2034 #line 274 "scan.l"
2035 ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense);
2036 	YY_BREAK
2037 case 77:
2038 YY_RULE_SETUP
2039 #line 276 "scan.l"
2040 return OPT_OUTFILE;
2041 	YY_BREAK
2042 case 78:
2043 YY_RULE_SETUP
2044 #line 277 "scan.l"
2045 return OPT_PREFIX;
2046 	YY_BREAK
2047 case 79:
2048 YY_RULE_SETUP
2049 #line 278 "scan.l"
2050 return OPT_YYCLASS;
2051 	YY_BREAK
2052 case 80:
2053 YY_RULE_SETUP
2054 #line 280 "scan.l"
2055 {
2056 			strcpy( nmstr, yytext + 1 );
2057 			nmstr[strlen( nmstr ) - 1] = '\0';
2058 			return NAME;
2059 			}
2060 	YY_BREAK
2061 case 81:
2062 YY_RULE_SETUP
2063 #line 286 "scan.l"
2064 {
2065 			format_synerr( _( "unrecognized %%option: %s" ),
2066 				yytext );
2067 			BEGIN(RECOVER);
2068 			}
2069 	YY_BREAK
2070 
2071 case 82:
2072 YY_RULE_SETUP
2073 #line 293 "scan.l"
2074 ++linenum; BEGIN(INITIAL);
2075 	YY_BREAK
2076 
2077 case 83:
2078 YY_RULE_SETUP
2079 #line 297 "scan.l"
2080 ++bracelevel; yyless( 2 );	/* eat only %{ */
2081 	YY_BREAK
2082 case 84:
2083 YY_RULE_SETUP
2084 #line 298 "scan.l"
2085 --bracelevel; yyless( 2 );	/* eat only %} */
2086 	YY_BREAK
2087 case 85:
2088 YY_RULE_SETUP
2089 #line 300 "scan.l"
2090 ACTION_ECHO;	/* indented code in prolog */
2091 	YY_BREAK
2092 case 86:
2093 YY_RULE_SETUP
2094 #line 302 "scan.l"
2095 {	/* non-indented code */
2096 			if ( bracelevel <= 0 )
2097 				{ /* not in %{ ... %} */
2098 				yyless( 0 );	/* put it all back */
2099 				yy_set_bol( 1 );
2100 				mark_prolog();
2101 				BEGIN(SECT2);
2102 				}
2103 			else
2104 				ACTION_ECHO;
2105 			}
2106 	YY_BREAK
2107 case 87:
2108 YY_RULE_SETUP
2109 #line 314 "scan.l"
2110 ACTION_ECHO;
2111 	YY_BREAK
2112 case 88:
2113 YY_RULE_SETUP
2114 #line 315 "scan.l"
2115 ++linenum; ACTION_ECHO;
2116 	YY_BREAK
2117 case YY_STATE_EOF(SECT2PROLOG):
2118 #line 317 "scan.l"
2119 {
2120 			mark_prolog();
2121 			sectnum = 0;
2122 			yyterminate(); /* to stop the parser */
2123 			}
2124 	YY_BREAK
2125 
2126 
2127 case 89:
2128 YY_RULE_SETUP
2129 #line 325 "scan.l"
2130 ++linenum; /* allow blank lines in section 2 */
2131 	YY_BREAK
2132 case 90:
2133 YY_RULE_SETUP
2134 #line 327 "scan.l"
2135 {
2136 			indented_code = false;
2137 			doing_codeblock = true;
2138 			bracelevel = 1;
2139 			BEGIN(PERCENT_BRACE_ACTION);
2140 			}
2141 	YY_BREAK
2142 case 91:
2143 YY_RULE_SETUP
2144 #line 334 "scan.l"
2145 BEGIN(SC); return '<';
2146 	YY_BREAK
2147 case 92:
2148 YY_RULE_SETUP
2149 #line 335 "scan.l"
2150 return '^';
2151 	YY_BREAK
2152 case 93:
2153 YY_RULE_SETUP
2154 #line 336 "scan.l"
2155 BEGIN(QUOTE); return '"';
2156 	YY_BREAK
2157 case 94:
2158 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2159 yy_c_buf_p = yy_cp = yy_bp + 1;
2160 YY_DO_BEFORE_ACTION; /* set up yytext again */
2161 YY_RULE_SETUP
2162 #line 337 "scan.l"
2163 BEGIN(NUM); return '{';
2164 	YY_BREAK
2165 case 95:
2166 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2167 yy_c_buf_p = yy_cp = yy_bp + 1;
2168 YY_DO_BEFORE_ACTION; /* set up yytext again */
2169 YY_RULE_SETUP
2170 #line 338 "scan.l"
2171 return '$';
2172 	YY_BREAK
2173 case 96:
2174 YY_RULE_SETUP
2175 #line 340 "scan.l"
2176 {
2177 			bracelevel = 1;
2178 			BEGIN(PERCENT_BRACE_ACTION);
2179 
2180 			if ( in_rule )
2181 				{
2182 				doing_rule_action = true;
2183 				in_rule = false;
2184 				return '\n';
2185 				}
2186 			}
2187 	YY_BREAK
2188 case 97:
2189 YY_RULE_SETUP
2190 #line 351 "scan.l"
2191 continued_action = true; ++linenum; return '\n';
2192 	YY_BREAK
2193 case 98:
2194 YY_RULE_SETUP
2195 #line 353 "scan.l"
2196 {
2197 			yyless( yyleng - 2 );	/* put back '/', '*' */
2198 			bracelevel = 0;
2199 			continued_action = false;
2200 			BEGIN(ACTION);
2201 			}
2202 	YY_BREAK
2203 case 99:
2204 YY_RULE_SETUP
2205 #line 360 "scan.l"
2206 /* allow indented rules */
2207 	YY_BREAK
2208 case 100:
2209 YY_RULE_SETUP
2210 #line 362 "scan.l"
2211 {
2212 			/* This rule is separate from the one below because
2213 			 * otherwise we get variable trailing context, so
2214 			 * we can't build the scanner using -{f,F}.
2215 			 */
2216 			bracelevel = 0;
2217 			continued_action = false;
2218 			BEGIN(ACTION);
2219 
2220 			if ( in_rule )
2221 				{
2222 				doing_rule_action = true;
2223 				in_rule = false;
2224 				return '\n';
2225 				}
2226 			}
2227 	YY_BREAK
2228 case 101:
2229 YY_RULE_SETUP
2230 #line 379 "scan.l"
2231 {
2232 			bracelevel = 0;
2233 			continued_action = false;
2234 			BEGIN(ACTION);
2235 			unput( '\n' );	/* so <ACTION> sees it */
2236 
2237 			if ( in_rule )
2238 				{
2239 				doing_rule_action = true;
2240 				in_rule = false;
2241 				return '\n';
2242 				}
2243 			}
2244 	YY_BREAK
2245 case 102:
2246 #line 394 "scan.l"
2247 case 103:
2248 YY_RULE_SETUP
2249 #line 394 "scan.l"
2250 return EOF_OP;
2251 	YY_BREAK
2252 case 104:
2253 YY_RULE_SETUP
2254 #line 396 "scan.l"
2255 {
2256 			sectnum = 3;
2257 			BEGIN(SECT3);
2258 			yyterminate(); /* to stop the parser */
2259 			}
2260 	YY_BREAK
2261 case 105:
2262 YY_RULE_SETUP
2263 #line 402 "scan.l"
2264 {
2265 			int cclval;
2266 
2267 			strcpy( nmstr, yytext );
2268 
2269 			/* Check to see if we've already encountered this
2270 			 * ccl.
2271 			 */
2272 			if ( (cclval = ccllookup( (Char *) nmstr )) != 0 )
2273 				{
2274 				if ( input() != ']' )
2275 					synerr( _( "bad character class" ) );
2276 
2277 				yylval = cclval;
2278 				++cclreuse;
2279 				return PREVCCL;
2280 				}
2281 			else
2282 				{
2283 				/* We fudge a bit.  We know that this ccl will
2284 				 * soon be numbered as lastccl + 1 by cclinit.
2285 				 */
2286 				cclinstal( (Char *) nmstr, lastccl + 1 );
2287 
2288 				/* Push back everything but the leading bracket
2289 				 * so the ccl can be rescanned.
2290 				 */
2291 				yyless( 1 );
2292 
2293 				BEGIN(FIRSTCCL);
2294 				return '[';
2295 				}
2296 			}
2297 	YY_BREAK
2298 case 106:
2299 YY_RULE_SETUP
2300 #line 436 "scan.l"
2301 {
2302 			Char *nmdefptr;
2303 			Char *ndlookup();
2304 
2305 			strcpy( nmstr, yytext + 1 );
2306 			nmstr[yyleng - 2] = '\0';  /* chop trailing brace */
2307 
2308 			if ( (nmdefptr = ndlookup( nmstr )) == 0 )
2309 				format_synerr(
2310 					_( "undefined definition {%s}" ),
2311 						nmstr );
2312 
2313 			else
2314 				{ /* push back name surrounded by ()'s */
2315 				int len = strlen( (char *) nmdefptr );
2316 
2317 				if ( lex_compat || nmdefptr[0] == '^' ||
2318 				     (len > 0 && nmdefptr[len - 1] == '$') )
2319 					{ /* don't use ()'s after all */
2320 					PUT_BACK_STRING((char *) nmdefptr, 0);
2321 
2322 					if ( nmdefptr[0] == '^' )
2323 						BEGIN(CARETISBOL);
2324 					}
2325 
2326 				else
2327 					{
2328 					unput(')');
2329 					PUT_BACK_STRING((char *) nmdefptr, 0);
2330 					unput('(');
2331 					}
2332 				}
2333 			}
2334 	YY_BREAK
2335 case 107:
2336 YY_RULE_SETUP
2337 #line 470 "scan.l"
2338 return (unsigned char) yytext[0];
2339 	YY_BREAK
2340 case 108:
2341 YY_RULE_SETUP
2342 #line 471 "scan.l"
2343 RETURNCHAR;
2344 	YY_BREAK
2345 
2346 
2347 case 109:
2348 YY_RULE_SETUP
2349 #line 476 "scan.l"
2350 return (unsigned char) yytext[0];
2351 	YY_BREAK
2352 case 110:
2353 YY_RULE_SETUP
2354 #line 477 "scan.l"
2355 BEGIN(SECT2); return '>';
2356 	YY_BREAK
2357 case 111:
2358 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2359 yy_c_buf_p = yy_cp = yy_bp + 1;
2360 YY_DO_BEFORE_ACTION; /* set up yytext again */
2361 YY_RULE_SETUP
2362 #line 478 "scan.l"
2363 BEGIN(CARETISBOL); return '>';
2364 	YY_BREAK
2365 case 112:
2366 YY_RULE_SETUP
2367 #line 479 "scan.l"
2368 RETURNNAME;
2369 	YY_BREAK
2370 case 113:
2371 YY_RULE_SETUP
2372 #line 480 "scan.l"
2373 {
2374 			format_synerr( _( "bad <start condition>: %s" ),
2375 				yytext );
2376 			}
2377 	YY_BREAK
2378 
2379 case 114:
2380 YY_RULE_SETUP
2381 #line 486 "scan.l"
2382 BEGIN(SECT2); return '^';
2383 	YY_BREAK
2384 
2385 case 115:
2386 YY_RULE_SETUP
2387 #line 490 "scan.l"
2388 RETURNCHAR;
2389 	YY_BREAK
2390 case 116:
2391 YY_RULE_SETUP
2392 #line 491 "scan.l"
2393 BEGIN(SECT2); return '"';
2394 	YY_BREAK
2395 case 117:
2396 YY_RULE_SETUP
2397 #line 493 "scan.l"
2398 {
2399 			synerr( _( "missing quote" ) );
2400 			BEGIN(SECT2);
2401 			++linenum;
2402 			return '"';
2403 			}
2404 	YY_BREAK
2405 
2406 
2407 case 118:
2408 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2409 yy_c_buf_p = yy_cp = yy_bp + 1;
2410 YY_DO_BEFORE_ACTION; /* set up yytext again */
2411 YY_RULE_SETUP
2412 #line 503 "scan.l"
2413 BEGIN(CCL); return '^';
2414 	YY_BREAK
2415 case 119:
2416 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2417 yy_c_buf_p = yy_cp = yy_bp + 1;
2418 YY_DO_BEFORE_ACTION; /* set up yytext again */
2419 YY_RULE_SETUP
2420 #line 504 "scan.l"
2421 return '^';
2422 	YY_BREAK
2423 case 120:
2424 YY_RULE_SETUP
2425 #line 505 "scan.l"
2426 BEGIN(CCL); RETURNCHAR;
2427 	YY_BREAK
2428 
2429 
2430 case 121:
2431 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2432 yy_c_buf_p = yy_cp = yy_bp + 1;
2433 YY_DO_BEFORE_ACTION; /* set up yytext again */
2434 YY_RULE_SETUP
2435 #line 509 "scan.l"
2436 return '-';
2437 	YY_BREAK
2438 case 122:
2439 YY_RULE_SETUP
2440 #line 510 "scan.l"
2441 RETURNCHAR;
2442 	YY_BREAK
2443 case 123:
2444 YY_RULE_SETUP
2445 #line 511 "scan.l"
2446 BEGIN(SECT2); return ']';
2447 	YY_BREAK
2448 case 124:
2449 YY_RULE_SETUP
2450 #line 512 "scan.l"
2451 {
2452 			synerr( _( "bad character class" ) );
2453 			BEGIN(SECT2);
2454 			return ']';
2455 			}
2456 	YY_BREAK
2457 
2458 
2459 case 125:
2460 YY_RULE_SETUP
2461 #line 520 "scan.l"
2462 BEGIN(CCL); return CCE_ALNUM;
2463 	YY_BREAK
2464 case 126:
2465 YY_RULE_SETUP
2466 #line 521 "scan.l"
2467 BEGIN(CCL); return CCE_ALPHA;
2468 	YY_BREAK
2469 case 127:
2470 YY_RULE_SETUP
2471 #line 522 "scan.l"
2472 BEGIN(CCL); return CCE_BLANK;
2473 	YY_BREAK
2474 case 128:
2475 YY_RULE_SETUP
2476 #line 523 "scan.l"
2477 BEGIN(CCL); return CCE_CNTRL;
2478 	YY_BREAK
2479 case 129:
2480 YY_RULE_SETUP
2481 #line 524 "scan.l"
2482 BEGIN(CCL); return CCE_DIGIT;
2483 	YY_BREAK
2484 case 130:
2485 YY_RULE_SETUP
2486 #line 525 "scan.l"
2487 BEGIN(CCL); return CCE_GRAPH;
2488 	YY_BREAK
2489 case 131:
2490 YY_RULE_SETUP
2491 #line 526 "scan.l"
2492 BEGIN(CCL); return CCE_LOWER;
2493 	YY_BREAK
2494 case 132:
2495 YY_RULE_SETUP
2496 #line 527 "scan.l"
2497 BEGIN(CCL); return CCE_PRINT;
2498 	YY_BREAK
2499 case 133:
2500 YY_RULE_SETUP
2501 #line 528 "scan.l"
2502 BEGIN(CCL); return CCE_PUNCT;
2503 	YY_BREAK
2504 case 134:
2505 YY_RULE_SETUP
2506 #line 529 "scan.l"
2507 BEGIN(CCL); return CCE_SPACE;
2508 	YY_BREAK
2509 case 135:
2510 YY_RULE_SETUP
2511 #line 530 "scan.l"
2512 BEGIN(CCL); return CCE_UPPER;
2513 	YY_BREAK
2514 case 136:
2515 YY_RULE_SETUP
2516 #line 531 "scan.l"
2517 BEGIN(CCL); return CCE_XDIGIT;
2518 	YY_BREAK
2519 case 137:
2520 YY_RULE_SETUP
2521 #line 532 "scan.l"
2522 {
2523 			format_synerr(
2524 				_( "bad character class expression: %s" ),
2525 					yytext );
2526 			BEGIN(CCL); return CCE_ALNUM;
2527 			}
2528 	YY_BREAK
2529 
2530 
2531 case 138:
2532 YY_RULE_SETUP
2533 #line 541 "scan.l"
2534 {
2535 			yylval = myctoi( yytext );
2536 			return NUMBER;
2537 			}
2538 	YY_BREAK
2539 case 139:
2540 YY_RULE_SETUP
2541 #line 546 "scan.l"
2542 return ',';
2543 	YY_BREAK
2544 case 140:
2545 YY_RULE_SETUP
2546 #line 547 "scan.l"
2547 BEGIN(SECT2); return '}';
2548 	YY_BREAK
2549 case 141:
2550 YY_RULE_SETUP
2551 #line 549 "scan.l"
2552 {
2553 			synerr( _( "bad character inside {}'s" ) );
2554 			BEGIN(SECT2);
2555 			return '}';
2556 			}
2557 	YY_BREAK
2558 case 142:
2559 YY_RULE_SETUP
2560 #line 555 "scan.l"
2561 {
2562 			synerr( _( "missing }" ) );
2563 			BEGIN(SECT2);
2564 			++linenum;
2565 			return '}';
2566 			}
2567 	YY_BREAK
2568 
2569 
2570 case 143:
2571 YY_RULE_SETUP
2572 #line 565 "scan.l"
2573 bracelevel = 0;
2574 	YY_BREAK
2575 case 144:
2576 YY_RULE_SETUP
2577 #line 567 "scan.l"
2578 ACTION_ECHO; yy_push_state( COMMENT );
2579 	YY_BREAK
2580 
2581 case 145:
2582 YY_RULE_SETUP
2583 #line 570 "scan.l"
2584 {
2585 			ACTION_ECHO;
2586 			CHECK_REJECT(yytext);
2587 			}
2588 	YY_BREAK
2589 case 146:
2590 YY_RULE_SETUP
2591 #line 574 "scan.l"
2592 {
2593 			ACTION_ECHO;
2594 			CHECK_YYMORE(yytext);
2595 			}
2596 	YY_BREAK
2597 
2598 case 147:
2599 YY_RULE_SETUP
2600 #line 580 "scan.l"
2601 ACTION_ECHO;
2602 	YY_BREAK
2603 case 148:
2604 YY_RULE_SETUP
2605 #line 581 "scan.l"
2606 {
2607 			++linenum;
2608 			ACTION_ECHO;
2609 			if ( bracelevel == 0 ||
2610 			     (doing_codeblock && indented_code) )
2611 				{
2612 				if ( doing_rule_action )
2613 					add_action( "\tYY_BREAK\n" );
2614 
2615 				doing_rule_action = doing_codeblock = false;
2616 				BEGIN(SECT2);
2617 				}
2618 			}
2619 	YY_BREAK
2620 
2621 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
2622 
2623 case 149:
2624 YY_RULE_SETUP
2625 #line 599 "scan.l"
2626 ACTION_ECHO; ++bracelevel;
2627 	YY_BREAK
2628 case 150:
2629 YY_RULE_SETUP
2630 #line 600 "scan.l"
2631 ACTION_ECHO; --bracelevel;
2632 	YY_BREAK
2633 case 151:
2634 YY_RULE_SETUP
2635 #line 601 "scan.l"
2636 ACTION_ECHO;
2637 	YY_BREAK
2638 case 152:
2639 YY_RULE_SETUP
2640 #line 602 "scan.l"
2641 ACTION_ECHO;
2642 	YY_BREAK
2643 case 153:
2644 YY_RULE_SETUP
2645 #line 603 "scan.l"
2646 ACTION_ECHO; /* character constant */
2647 	YY_BREAK
2648 case 154:
2649 YY_RULE_SETUP
2650 #line 604 "scan.l"
2651 ACTION_ECHO; BEGIN(ACTION_STRING);
2652 	YY_BREAK
2653 case 155:
2654 YY_RULE_SETUP
2655 #line 605 "scan.l"
2656 {
2657 			++linenum;
2658 			ACTION_ECHO;
2659 			if ( bracelevel == 0 )
2660 				{
2661 				if ( doing_rule_action )
2662 					add_action( "\tYY_BREAK\n" );
2663 
2664 				doing_rule_action = false;
2665 				BEGIN(SECT2);
2666 				}
2667 			}
2668 	YY_BREAK
2669 case 156:
2670 YY_RULE_SETUP
2671 #line 617 "scan.l"
2672 ACTION_ECHO;
2673 	YY_BREAK
2674 
2675 
2676 case 157:
2677 YY_RULE_SETUP
2678 #line 621 "scan.l"
2679 ACTION_ECHO;
2680 	YY_BREAK
2681 case 158:
2682 YY_RULE_SETUP
2683 #line 622 "scan.l"
2684 ACTION_ECHO;
2685 	YY_BREAK
2686 case 159:
2687 YY_RULE_SETUP
2688 #line 623 "scan.l"
2689 ++linenum; ACTION_ECHO;
2690 	YY_BREAK
2691 case 160:
2692 YY_RULE_SETUP
2693 #line 624 "scan.l"
2694 ACTION_ECHO; BEGIN(ACTION);
2695 	YY_BREAK
2696 case 161:
2697 YY_RULE_SETUP
2698 #line 625 "scan.l"
2699 ACTION_ECHO;
2700 	YY_BREAK
2701 
2702 case YY_STATE_EOF(COMMENT):
2703 case YY_STATE_EOF(ACTION):
2704 case YY_STATE_EOF(ACTION_STRING):
2705 #line 628 "scan.l"
2706 {
2707 			synerr( _( "EOF encountered inside an action" ) );
2708 			yyterminate();
2709 			}
2710 	YY_BREAK
2711 case 162:
2712 YY_RULE_SETUP
2713 #line 634 "scan.l"
2714 {
2715 			yylval = myesc( (Char *) yytext );
2716 
2717 			if ( YY_START == FIRSTCCL )
2718 				BEGIN(CCL);
2719 
2720 			return CHAR;
2721 			}
2722 	YY_BREAK
2723 
2724 case 163:
2725 YY_RULE_SETUP
2726 #line 645 "scan.l"
2727 ECHO;
2728 	YY_BREAK
2729 case YY_STATE_EOF(SECT3):
2730 #line 646 "scan.l"
2731 sectnum = 0; yyterminate();
2732 	YY_BREAK
2733 
2734 case 164:
2735 YY_RULE_SETUP
2736 #line 649 "scan.l"
2737 format_synerr( _( "bad character: %s" ), yytext );
2738 	YY_BREAK
2739 case 165:
2740 YY_RULE_SETUP
2741 #line 651 "scan.l"
2742 YY_FATAL_ERROR( "flex scanner jammed" );
2743 	YY_BREAK
2744 #line 2745 "scan.c"
2745 case YY_STATE_EOF(INITIAL):
2746 case YY_STATE_EOF(SECT2):
2747 case YY_STATE_EOF(CODEBLOCK):
2748 case YY_STATE_EOF(PICKUPDEF):
2749 case YY_STATE_EOF(SC):
2750 case YY_STATE_EOF(CARETISBOL):
2751 case YY_STATE_EOF(NUM):
2752 case YY_STATE_EOF(QUOTE):
2753 case YY_STATE_EOF(FIRSTCCL):
2754 case YY_STATE_EOF(CCL):
2755 case YY_STATE_EOF(RECOVER):
2756 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
2757 case YY_STATE_EOF(OPTION):
2758 case YY_STATE_EOF(LINEDIR):
2759 	yyterminate();
2760 
2761 	case YY_END_OF_BUFFER:
2762 		{
2763 		/* Amount of text matched not including the EOB char. */
2764 		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2765 
2766 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
2767 		*yy_cp = yy_hold_char;
2768 		YY_RESTORE_YY_MORE_OFFSET
2769 
2770 		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2771 			{
2772 			/* We're scanning a new file or input source.  It's
2773 			 * possible that this happened because the user
2774 			 * just pointed yyin at a new source and called
2775 			 * yylex().  If so, then we have to assure
2776 			 * consistency between yy_current_buffer and our
2777 			 * globals.  Here is the right place to do so, because
2778 			 * this is the first action (other than possibly a
2779 			 * back-up) that will match for the new input source.
2780 			 */
2781 			yy_n_chars = yy_current_buffer->yy_n_chars;
2782 			yy_current_buffer->yy_input_file = yyin;
2783 			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2784 			}
2785 
2786 		/* Note that here we test for yy_c_buf_p "<=" to the position
2787 		 * of the first EOB in the buffer, since yy_c_buf_p will
2788 		 * already have been incremented past the NUL character
2789 		 * (since all states make transitions on EOB to the
2790 		 * end-of-buffer state).  Contrast this with the test
2791 		 * in input().
2792 		 */
2793 		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2794 			{ /* This was really a NUL. */
2795 			yy_state_type yy_next_state;
2796 
2797 			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2798 
2799 			yy_current_state = yy_get_previous_state();
2800 
2801 			/* Okay, we're now positioned to make the NUL
2802 			 * transition.  We couldn't have
2803 			 * yy_get_previous_state() go ahead and do it
2804 			 * for us because it doesn't know how to deal
2805 			 * with the possibility of jamming (and we don't
2806 			 * want to build jamming into it because then it
2807 			 * will run more slowly).
2808 			 */
2809 
2810 			yy_next_state = yy_try_NUL_trans( yy_current_state );
2811 
2812 			yy_bp = yytext_ptr + YY_MORE_ADJ;
2813 
2814 			if ( yy_next_state )
2815 				{
2816 				/* Consume the NUL. */
2817 				yy_cp = ++yy_c_buf_p;
2818 				yy_current_state = yy_next_state;
2819 				goto yy_match;
2820 				}
2821 
2822 			else
2823 				{
2824 				yy_cp = yy_c_buf_p;
2825 				goto yy_find_action;
2826 				}
2827 			}
2828 
2829 		else switch ( yy_get_next_buffer() )
2830 			{
2831 			case EOB_ACT_END_OF_FILE:
2832 				{
2833 				yy_did_buffer_switch_on_eof = 0;
2834 
2835 				if ( yywrap() )
2836 					{
2837 					/* Note: because we've taken care in
2838 					 * yy_get_next_buffer() to have set up
2839 					 * yytext, we can now set up
2840 					 * yy_c_buf_p so that if some total
2841 					 * hoser (like flex itself) wants to
2842 					 * call the scanner after we return the
2843 					 * YY_NULL, it'll still work - another
2844 					 * YY_NULL will get returned.
2845 					 */
2846 					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2847 
2848 					yy_act = YY_STATE_EOF(YY_START);
2849 					goto do_action;
2850 					}
2851 
2852 				else
2853 					{
2854 					if ( ! yy_did_buffer_switch_on_eof )
2855 						YY_NEW_FILE;
2856 					}
2857 				break;
2858 				}
2859 
2860 			case EOB_ACT_CONTINUE_SCAN:
2861 				yy_c_buf_p =
2862 					yytext_ptr + yy_amount_of_matched_text;
2863 
2864 				yy_current_state = yy_get_previous_state();
2865 
2866 				yy_cp = yy_c_buf_p;
2867 				yy_bp = yytext_ptr + YY_MORE_ADJ;
2868 				goto yy_match;
2869 
2870 			case EOB_ACT_LAST_MATCH:
2871 				yy_c_buf_p =
2872 				&yy_current_buffer->yy_ch_buf[yy_n_chars];
2873 
2874 				yy_current_state = yy_get_previous_state();
2875 
2876 				yy_cp = yy_c_buf_p;
2877 				yy_bp = yytext_ptr + YY_MORE_ADJ;
2878 				goto yy_find_action;
2879 			}
2880 		break;
2881 		}
2882 
2883 	default:
2884 		YY_FATAL_ERROR(
2885 			"fatal flex scanner internal error--no action found" );
2886 	} /* end of action switch */
2887 		} /* end of scanning one token */
2888 	} /* end of yylex */
2889 
2890 
2891 /* yy_get_next_buffer - try to read in a new buffer
2892  *
2893  * Returns a code representing an action:
2894  *	EOB_ACT_LAST_MATCH -
2895  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2896  *	EOB_ACT_END_OF_FILE - end of file
2897  */
2898 
2899 #ifdef YY_USE_PROTOS
2900 static int yy_get_next_buffer(void)
2901 #else
2902 static int yy_get_next_buffer()
2903 #endif
2904 	{
2905 	char *dest = yy_current_buffer->yy_ch_buf;
2906 	char *source = yytext_ptr;
2907 	int number_to_move, i;
2908 	int ret_val;
2909 
2910 	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2911 		YY_FATAL_ERROR(
2912 		"fatal flex scanner internal error--end of buffer missed" );
2913 
2914 	if ( yy_current_buffer->yy_fill_buffer == 0 )
2915 		{ /* Don't try to fill the buffer, so this is an EOF. */
2916 		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2917 			{
2918 			/* We matched a single character, the EOB, so
2919 			 * treat this as a final EOF.
2920 			 */
2921 			return EOB_ACT_END_OF_FILE;
2922 			}
2923 
2924 		else
2925 			{
2926 			/* We matched some text prior to the EOB, first
2927 			 * process it.
2928 			 */
2929 			return EOB_ACT_LAST_MATCH;
2930 			}
2931 		}
2932 
2933 	/* Try to read more data. */
2934 
2935 	/* First move last chars to start of buffer. */
2936 	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2937 
2938 	for ( i = 0; i < number_to_move; ++i )
2939 		*(dest++) = *(source++);
2940 
2941 	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2942 		/* don't do the read, it's not guaranteed to return an EOF,
2943 		 * just force an EOF
2944 		 */
2945 		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2946 
2947 	else
2948 		{
2949 		int num_to_read =
2950 			yy_current_buffer->yy_buf_size - number_to_move - 1;
2951 
2952 		while ( num_to_read <= 0 )
2953 			{ /* Not enough room in the buffer - grow it. */
2954 #ifdef YY_USES_REJECT
2955 			YY_FATAL_ERROR(
2956 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2957 #else
2958 
2959 			/* just a shorter name for the current buffer */
2960 			YY_BUFFER_STATE b = yy_current_buffer;
2961 
2962 			int yy_c_buf_p_offset =
2963 				(int) (yy_c_buf_p - b->yy_ch_buf);
2964 
2965 			if ( b->yy_is_our_buffer )
2966 				{
2967 				int new_size = b->yy_buf_size * 2;
2968 
2969 				if ( new_size <= 0 )
2970 					b->yy_buf_size += b->yy_buf_size / 8;
2971 				else
2972 					b->yy_buf_size *= 2;
2973 
2974 				b->yy_ch_buf = (char *)
2975 					/* Include room in for 2 EOB chars. */
2976 					yy_flex_realloc( (void *) b->yy_ch_buf,
2977 							 b->yy_buf_size + 2 );
2978 				}
2979 			else
2980 				/* Can't grow it, we don't own it. */
2981 				b->yy_ch_buf = 0;
2982 
2983 			if ( ! b->yy_ch_buf )
2984 				YY_FATAL_ERROR(
2985 				"fatal error - scanner input buffer overflow" );
2986 
2987 			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2988 
2989 			num_to_read = yy_current_buffer->yy_buf_size -
2990 						number_to_move - 1;
2991 #endif
2992 			}
2993 
2994 		if ( num_to_read > YY_READ_BUF_SIZE )
2995 			num_to_read = YY_READ_BUF_SIZE;
2996 
2997 		/* Read in more data. */
2998 		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2999 			yy_n_chars, num_to_read );
3000 
3001 		yy_current_buffer->yy_n_chars = yy_n_chars;
3002 		}
3003 
3004 	if ( yy_n_chars == 0 )
3005 		{
3006 		if ( number_to_move == YY_MORE_ADJ )
3007 			{
3008 			ret_val = EOB_ACT_END_OF_FILE;
3009 			yyrestart( yyin );
3010 			}
3011 
3012 		else
3013 			{
3014 			ret_val = EOB_ACT_LAST_MATCH;
3015 			yy_current_buffer->yy_buffer_status =
3016 				YY_BUFFER_EOF_PENDING;
3017 			}
3018 		}
3019 
3020 	else
3021 		ret_val = EOB_ACT_CONTINUE_SCAN;
3022 
3023 	yy_n_chars += number_to_move;
3024 	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3025 	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3026 
3027 	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3028 
3029 	return ret_val;
3030 	}
3031 
3032 
3033 /* yy_get_previous_state - get the state just before the EOB char was reached */
3034 
3035 #ifdef YY_USE_PROTOS
3036 static yy_state_type yy_get_previous_state(void)
3037 #else
3038 static yy_state_type yy_get_previous_state()
3039 #endif
3040 	{
3041 	yy_state_type yy_current_state;
3042 	char *yy_cp;
3043 
3044 	yy_current_state = yy_start;
3045 	yy_current_state += YY_AT_BOL();
3046 
3047 	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3048 		{
3049 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3050 		if ( yy_accept[yy_current_state] )
3051 			{
3052 			yy_last_accepting_state = yy_current_state;
3053 			yy_last_accepting_cpos = yy_cp;
3054 			}
3055 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3056 			{
3057 			yy_current_state = (int) yy_def[yy_current_state];
3058 			if ( yy_current_state >= 769 )
3059 				yy_c = yy_meta[(unsigned int) yy_c];
3060 			}
3061 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3062 		}
3063 
3064 	return yy_current_state;
3065 	}
3066 
3067 
3068 /* yy_try_NUL_trans - try to make a transition on the NUL character
3069  *
3070  * synopsis
3071  *	next_state = yy_try_NUL_trans( current_state );
3072  */
3073 
3074 #ifdef YY_USE_PROTOS
3075 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3076 #else
3077 static yy_state_type yy_try_NUL_trans( yy_current_state )
3078 yy_state_type yy_current_state;
3079 #endif
3080 	{
3081 	int yy_is_jam;
3082 	char *yy_cp = yy_c_buf_p;
3083 
3084 	YY_CHAR yy_c = 1;
3085 	if ( yy_accept[yy_current_state] )
3086 		{
3087 		yy_last_accepting_state = yy_current_state;
3088 		yy_last_accepting_cpos = yy_cp;
3089 		}
3090 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3091 		{
3092 		yy_current_state = (int) yy_def[yy_current_state];
3093 		if ( yy_current_state >= 769 )
3094 			yy_c = yy_meta[(unsigned int) yy_c];
3095 		}
3096 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3097 	yy_is_jam = (yy_current_state == 768);
3098 
3099 	return yy_is_jam ? 0 : yy_current_state;
3100 	}
3101 
3102 
3103 #ifndef YY_NO_UNPUT
3104 #ifdef YY_USE_PROTOS
3105 static void yyunput( int c, char *yy_bp )
3106 #else
3107 static void yyunput( c, yy_bp )
3108 int c;
3109 char *yy_bp;
3110 #endif
3111 	{
3112 	char *yy_cp = yy_c_buf_p;
3113 
3114 	/* undo effects of setting up yytext */
3115 	*yy_cp = yy_hold_char;
3116 
3117 	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3118 		{ /* need to shift things up to make room */
3119 		/* +2 for EOB chars. */
3120 		int number_to_move = yy_n_chars + 2;
3121 		char *dest = &yy_current_buffer->yy_ch_buf[
3122 					yy_current_buffer->yy_buf_size + 2];
3123 		char *source =
3124 				&yy_current_buffer->yy_ch_buf[number_to_move];
3125 
3126 		while ( source > yy_current_buffer->yy_ch_buf )
3127 			*--dest = *--source;
3128 
3129 		yy_cp += (int) (dest - source);
3130 		yy_bp += (int) (dest - source);
3131 		yy_current_buffer->yy_n_chars =
3132 			yy_n_chars = yy_current_buffer->yy_buf_size;
3133 
3134 		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3135 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
3136 		}
3137 
3138 	*--yy_cp = (char) c;
3139 
3140 
3141 	yytext_ptr = yy_bp;
3142 	yy_hold_char = *yy_cp;
3143 	yy_c_buf_p = yy_cp;
3144 	}
3145 #endif	/* ifndef YY_NO_UNPUT */
3146 
3147 
3148 #ifndef YY_NO_INPUT
3149 #ifdef __cplusplus
3150 static int yyinput()
3151 #else
3152 #ifdef YY_USE_PROTOS
3153 static int input(void)
3154 #else
3155 static int input()
3156 #endif
3157 #endif
3158 	{
3159 	int c;
3160 
3161 	*yy_c_buf_p = yy_hold_char;
3162 
3163 	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3164 		{
3165 		/* yy_c_buf_p now points to the character we want to return.
3166 		 * If this occurs *before* the EOB characters, then it's a
3167 		 * valid NUL; if not, then we've hit the end of the buffer.
3168 		 */
3169 		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3170 			/* This was really a NUL. */
3171 			*yy_c_buf_p = '\0';
3172 
3173 		else
3174 			{ /* need more input */
3175 			int offset = yy_c_buf_p - yytext_ptr;
3176 			++yy_c_buf_p;
3177 
3178 			switch ( yy_get_next_buffer() )
3179 				{
3180 				case EOB_ACT_LAST_MATCH:
3181 					/* This happens because yy_g_n_b()
3182 					 * sees that we've accumulated a
3183 					 * token and flags that we need to
3184 					 * try matching the token before
3185 					 * proceeding.  But for input(),
3186 					 * there's no matching to consider.
3187 					 * So convert the EOB_ACT_LAST_MATCH
3188 					 * to EOB_ACT_END_OF_FILE.
3189 					 */
3190 
3191 					/* Reset buffer status. */
3192 					yyrestart( yyin );
3193 
3194 					/* fall through */
3195 
3196 				case EOB_ACT_END_OF_FILE:
3197 					{
3198 					if ( yywrap() )
3199 						return EOF;
3200 
3201 					if ( ! yy_did_buffer_switch_on_eof )
3202 						YY_NEW_FILE;
3203 #ifdef __cplusplus
3204 					return yyinput();
3205 #else
3206 					return input();
3207 #endif
3208 					}
3209 
3210 				case EOB_ACT_CONTINUE_SCAN:
3211 					yy_c_buf_p = yytext_ptr + offset;
3212 					break;
3213 				}
3214 			}
3215 		}
3216 
3217 	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
3218 	*yy_c_buf_p = '\0';	/* preserve yytext */
3219 	yy_hold_char = *++yy_c_buf_p;
3220 
3221 	yy_current_buffer->yy_at_bol = (c == '\n');
3222 
3223 	return c;
3224 	}
3225 #endif	/* ifndef YY_NO_INPUT */
3226 
3227 
3228 #ifdef YY_USE_PROTOS
3229 void yyrestart( FILE *input_file )
3230 #else
3231 void yyrestart( input_file )
3232 FILE *input_file;
3233 #endif
3234 	{
3235 	if ( ! yy_current_buffer )
3236 		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3237 
3238 	yy_init_buffer( yy_current_buffer, input_file );
3239 	yy_load_buffer_state();
3240 	}
3241 
3242 
3243 #ifdef YY_USE_PROTOS
3244 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3245 #else
3246 void yy_switch_to_buffer( new_buffer )
3247 YY_BUFFER_STATE new_buffer;
3248 #endif
3249 	{
3250 	if ( yy_current_buffer == new_buffer )
3251 		return;
3252 
3253 	if ( yy_current_buffer )
3254 		{
3255 		/* Flush out information for old buffer. */
3256 		*yy_c_buf_p = yy_hold_char;
3257 		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3258 		yy_current_buffer->yy_n_chars = yy_n_chars;
3259 		}
3260 
3261 	yy_current_buffer = new_buffer;
3262 	yy_load_buffer_state();
3263 
3264 	/* We don't actually know whether we did this switch during
3265 	 * EOF (yywrap()) processing, but the only time this flag
3266 	 * is looked at is after yywrap() is called, so it's safe
3267 	 * to go ahead and always set it.
3268 	 */
3269 	yy_did_buffer_switch_on_eof = 1;
3270 	}
3271 
3272 
3273 #ifdef YY_USE_PROTOS
3274 void yy_load_buffer_state( void )
3275 #else
3276 void yy_load_buffer_state()
3277 #endif
3278 	{
3279 	yy_n_chars = yy_current_buffer->yy_n_chars;
3280 	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3281 	yyin = yy_current_buffer->yy_input_file;
3282 	yy_hold_char = *yy_c_buf_p;
3283 	}
3284 
3285 
3286 #ifdef YY_USE_PROTOS
3287 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3288 #else
3289 YY_BUFFER_STATE yy_create_buffer( file, size )
3290 FILE *file;
3291 int size;
3292 #endif
3293 	{
3294 	YY_BUFFER_STATE b;
3295 
3296 	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3297 	if ( ! b )
3298 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3299 
3300 	b->yy_buf_size = size;
3301 
3302 	/* yy_ch_buf has to be 2 characters longer than the size given because
3303 	 * we need to put in 2 end-of-buffer characters.
3304 	 */
3305 	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3306 	if ( ! b->yy_ch_buf )
3307 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3308 
3309 	b->yy_is_our_buffer = 1;
3310 
3311 	yy_init_buffer( b, file );
3312 
3313 	return b;
3314 	}
3315 
3316 
3317 #ifdef YY_USE_PROTOS
3318 void yy_delete_buffer( YY_BUFFER_STATE b )
3319 #else
3320 void yy_delete_buffer( b )
3321 YY_BUFFER_STATE b;
3322 #endif
3323 	{
3324 	if ( ! b )
3325 		return;
3326 
3327 	if ( b == yy_current_buffer )
3328 		yy_current_buffer = (YY_BUFFER_STATE) 0;
3329 
3330 	if ( b->yy_is_our_buffer )
3331 		yy_flex_free( (void *) b->yy_ch_buf );
3332 
3333 	yy_flex_free( (void *) b );
3334 	}
3335 
3336 
3337 #ifndef YY_ALWAYS_INTERACTIVE
3338 #ifndef YY_NEVER_INTERACTIVE
3339 extern int isatty YY_PROTO(( int ));
3340 #endif
3341 #endif
3342 
3343 #ifdef YY_USE_PROTOS
3344 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3345 #else
3346 void yy_init_buffer( b, file )
3347 YY_BUFFER_STATE b;
3348 FILE *file;
3349 #endif
3350 
3351 
3352 	{
3353 	yy_flush_buffer( b );
3354 
3355 	b->yy_input_file = file;
3356 	b->yy_fill_buffer = 1;
3357 
3358 #if YY_ALWAYS_INTERACTIVE
3359 	b->yy_is_interactive = 1;
3360 #else
3361 #if YY_NEVER_INTERACTIVE
3362 	b->yy_is_interactive = 0;
3363 #else
3364 	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3365 #endif
3366 #endif
3367 	}
3368 
3369 
3370 #ifdef YY_USE_PROTOS
3371 void yy_flush_buffer( YY_BUFFER_STATE b )
3372 #else
3373 void yy_flush_buffer( b )
3374 YY_BUFFER_STATE b;
3375 #endif
3376 
3377 	{
3378 	if ( ! b )
3379 		return;
3380 
3381 	b->yy_n_chars = 0;
3382 
3383 	/* We always need two end-of-buffer characters.  The first causes
3384 	 * a transition to the end-of-buffer state.  The second causes
3385 	 * a jam in that state.
3386 	 */
3387 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3388 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3389 
3390 	b->yy_buf_pos = &b->yy_ch_buf[0];
3391 
3392 	b->yy_at_bol = 1;
3393 	b->yy_buffer_status = YY_BUFFER_NEW;
3394 
3395 	if ( b == yy_current_buffer )
3396 		yy_load_buffer_state();
3397 	}
3398 
3399 
3400 #ifndef YY_NO_SCAN_BUFFER
3401 #ifdef YY_USE_PROTOS
3402 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3403 #else
3404 YY_BUFFER_STATE yy_scan_buffer( base, size )
3405 char *base;
3406 yy_size_t size;
3407 #endif
3408 	{
3409 	YY_BUFFER_STATE b;
3410 
3411 	if ( size < 2 ||
3412 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3413 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
3414 		/* They forgot to leave room for the EOB's. */
3415 		return 0;
3416 
3417 	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3418 	if ( ! b )
3419 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3420 
3421 	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
3422 	b->yy_buf_pos = b->yy_ch_buf = base;
3423 	b->yy_is_our_buffer = 0;
3424 	b->yy_input_file = 0;
3425 	b->yy_n_chars = b->yy_buf_size;
3426 	b->yy_is_interactive = 0;
3427 	b->yy_at_bol = 1;
3428 	b->yy_fill_buffer = 0;
3429 	b->yy_buffer_status = YY_BUFFER_NEW;
3430 
3431 	yy_switch_to_buffer( b );
3432 
3433 	return b;
3434 	}
3435 #endif
3436 
3437 
3438 #ifndef YY_NO_SCAN_STRING
3439 #ifdef YY_USE_PROTOS
3440 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3441 #else
3442 YY_BUFFER_STATE yy_scan_string( yy_str )
3443 yyconst char *yy_str;
3444 #endif
3445 	{
3446 	int len;
3447 	for ( len = 0; yy_str[len]; ++len )
3448 		;
3449 
3450 	return yy_scan_bytes( yy_str, len );
3451 	}
3452 #endif
3453 
3454 
3455 #ifndef YY_NO_SCAN_BYTES
3456 #ifdef YY_USE_PROTOS
3457 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3458 #else
3459 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3460 yyconst char *bytes;
3461 int len;
3462 #endif
3463 	{
3464 	YY_BUFFER_STATE b;
3465 	char *buf;
3466 	yy_size_t n;
3467 	int i;
3468 
3469 	/* Get memory for full buffer, including space for trailing EOB's. */
3470 	n = len + 2;
3471 	buf = (char *) yy_flex_alloc( n );
3472 	if ( ! buf )
3473 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3474 
3475 	for ( i = 0; i < len; ++i )
3476 		buf[i] = bytes[i];
3477 
3478 	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3479 
3480 	b = yy_scan_buffer( buf, n );
3481 	if ( ! b )
3482 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3483 
3484 	/* It's okay to grow etc. this buffer, and we should throw it
3485 	 * away when we're done.
3486 	 */
3487 	b->yy_is_our_buffer = 1;
3488 
3489 	return b;
3490 	}
3491 #endif
3492 
3493 
3494 #ifndef YY_NO_PUSH_STATE
3495 #ifdef YY_USE_PROTOS
3496 static void yy_push_state( int new_state )
3497 #else
3498 static void yy_push_state( new_state )
3499 int new_state;
3500 #endif
3501 	{
3502 	if ( yy_start_stack_ptr >= yy_start_stack_depth )
3503 		{
3504 		yy_size_t new_size;
3505 
3506 		yy_start_stack_depth += YY_START_STACK_INCR;
3507 		new_size = yy_start_stack_depth * sizeof( int );
3508 
3509 		if ( ! yy_start_stack )
3510 			yy_start_stack = (int *) yy_flex_alloc( new_size );
3511 
3512 		else
3513 			yy_start_stack = (int *) yy_flex_realloc(
3514 					(void *) yy_start_stack, new_size );
3515 
3516 		if ( ! yy_start_stack )
3517 			YY_FATAL_ERROR(
3518 			"out of memory expanding start-condition stack" );
3519 		}
3520 
3521 	yy_start_stack[yy_start_stack_ptr++] = YY_START;
3522 
3523 	BEGIN(new_state);
3524 	}
3525 #endif
3526 
3527 
3528 #ifndef YY_NO_POP_STATE
3529 #ifdef YY_USE_PROTOS
3530 static void yy_pop_state(void)
3531 #else
3532 static void yy_pop_state()
3533 #endif
3534 	{
3535 	if ( --yy_start_stack_ptr < 0 )
3536 		YY_FATAL_ERROR( "start-condition stack underflow" );
3537 
3538 	BEGIN(yy_start_stack[yy_start_stack_ptr]);
3539 	}
3540 #endif
3541 
3542 
3543 #ifndef YY_NO_TOP_STATE
3544 #ifdef YY_USE_PROTOS
3545 static int yy_top_state(void)
3546 #else
3547 static int yy_top_state()
3548 #endif
3549 	{
3550 	return yy_start_stack[yy_start_stack_ptr - 1];
3551 	}
3552 #endif
3553 
3554 #ifndef YY_EXIT_FAILURE
3555 #define YY_EXIT_FAILURE 2
3556 #endif
3557 
3558 #ifdef YY_USE_PROTOS
3559 static void yy_fatal_error( yyconst char msg[] )
3560 #else
3561 static void yy_fatal_error( msg )
3562 char msg[];
3563 #endif
3564 	{
3565 	(void) fprintf( stderr, "%s\n", msg );
3566 	exit( YY_EXIT_FAILURE );
3567 	}
3568 
3569 
3570 
3571 /* Redefine yyless() so it works in section 3 code. */
3572 
3573 #undef yyless
3574 #define yyless(n) \
3575 	do \
3576 		{ \
3577 		/* Undo effects of setting up yytext. */ \
3578 		yytext[yyleng] = yy_hold_char; \
3579 		yy_c_buf_p = yytext + n; \
3580 		yy_hold_char = *yy_c_buf_p; \
3581 		*yy_c_buf_p = '\0'; \
3582 		yyleng = n; \
3583 		} \
3584 	while ( 0 )
3585 
3586 
3587 /* Internal utility routines. */
3588 
3589 #ifndef yytext_ptr
3590 #ifdef YY_USE_PROTOS
3591 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3592 #else
3593 static void yy_flex_strncpy( s1, s2, n )
3594 char *s1;
3595 yyconst char *s2;
3596 int n;
3597 #endif
3598 	{
3599 	int i;
3600 	for ( i = 0; i < n; ++i )
3601 		s1[i] = s2[i];
3602 	}
3603 #endif
3604 
3605 #ifdef YY_NEED_STRLEN
3606 #ifdef YY_USE_PROTOS
3607 static int yy_flex_strlen( yyconst char *s )
3608 #else
3609 static int yy_flex_strlen( s )
3610 yyconst char *s;
3611 #endif
3612 	{
3613 	int n;
3614 	for ( n = 0; s[n]; ++n )
3615 		;
3616 
3617 	return n;
3618 	}
3619 #endif
3620 
3621 
3622 #ifdef YY_USE_PROTOS
3623 static void *yy_flex_alloc( yy_size_t size )
3624 #else
3625 static void *yy_flex_alloc( size )
3626 yy_size_t size;
3627 #endif
3628 	{
3629 	return (void *) malloc( size );
3630 	}
3631 
3632 #ifdef YY_USE_PROTOS
3633 static void *yy_flex_realloc( void *ptr, yy_size_t size )
3634 #else
3635 static void *yy_flex_realloc( ptr, size )
3636 void *ptr;
3637 yy_size_t size;
3638 #endif
3639 	{
3640 	/* The cast to (char *) in the following accommodates both
3641 	 * implementations that use char* generic pointers, and those
3642 	 * that use void* generic pointers.  It works with the latter
3643 	 * because both ANSI C and C++ allow castless assignment from
3644 	 * any pointer type to void*, and deal with argument conversions
3645 	 * as though doing an assignment.
3646 	 */
3647 	return (void *) realloc( (char *) ptr, size );
3648 	}
3649 
3650 #ifdef YY_USE_PROTOS
3651 static void yy_flex_free( void *ptr )
3652 #else
3653 static void yy_flex_free( ptr )
3654 void *ptr;
3655 #endif
3656 	{
3657 	free( ptr );
3658 	}
3659 
3660 #if YY_MAIN
3661 int main()
3662 	{
3663 	yylex();
3664 	return 0;
3665 	}
3666 #endif
3667 #line 651 "scan.l"
3668 
3669 
3670 
3671 int yywrap()
3672 	{
3673 	if ( --num_input_files > 0 )
3674 		{
3675 		set_input_file( *++input_files );
3676 		return 0;
3677 		}
3678 
3679 	else
3680 		return 1;
3681 	}
3682 
3683 
3684 /* set_input_file - open the given file (if NULL, stdin) for scanning */
3685 
3686 void set_input_file( file )
3687 char *file;
3688 	{
3689 	if ( file && strcmp( file, "-" ) )
3690 		{
3691 		infilename = copy_string( file );
3692 		yyin = fopen( infilename, "r" );
3693 
3694 		if ( yyin == NULL )
3695 			lerrsf( _( "can't open %s" ), file );
3696 		}
3697 
3698 	else
3699 		{
3700 		yyin = stdin;
3701 		infilename = copy_string( "<stdin>" );
3702 		}
3703 
3704 	linenum = 1;
3705 	}
3706 
3707 
3708 /* Wrapper routines for accessing the scanner's malloc routines. */
3709 
3710 void *flex_alloc( size )
3711 size_t size;
3712 	{
3713 	return (void *) malloc( size );
3714 	}
3715 
3716 void *flex_realloc( ptr, size )
3717 void *ptr;
3718 size_t size;
3719 	{
3720 	return (void *) realloc( ptr, size );
3721 	}
3722 
3723 void flex_free( ptr )
3724 void *ptr;
3725 	{
3726 	if ( ptr )
3727 		free( ptr );
3728 	}
3729