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