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