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