initscan.c revision 1.1
1
2#line 3 "<stdout>"
3
4#define  YY_INT_ALIGNED short int
5
6/* A lexical scanner generated by flex */
7
8#define FLEX_SCANNER
9#define YY_FLEX_MAJOR_VERSION 2
10#define YY_FLEX_MINOR_VERSION 6
11#define YY_FLEX_SUBMINOR_VERSION 0
12#if YY_FLEX_SUBMINOR_VERSION > 0
13#define FLEX_BETA
14#endif
15
16/* First, we deal with  platform-specific or compiler-specific issues. */
17
18/* begin standard C headers. */
19#ifdef _LIBC
20#include "namespace.h"
21#endif
22#include <stdio.h>
23#include <string.h>
24#include <errno.h>
25#include <stdlib.h>
26
27/* end standard C headers. */
28
29/*	$NetBSD: initscan.c,v 1.1 2016/01/09 17:39:52 christos Exp $	*/
30
31/* flex integer type definitions */
32
33#ifndef FLEXINT_H
34#define FLEXINT_H
35
36/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
37
38#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
39
40/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
41 * if you want the limit (max/min) macros for int types.
42 */
43#ifndef __STDC_LIMIT_MACROS
44#define __STDC_LIMIT_MACROS 1
45#endif
46
47#include <inttypes.h>
48typedef int8_t flex_int8_t;
49typedef uint8_t flex_uint8_t;
50typedef int16_t flex_int16_t;
51typedef uint16_t flex_uint16_t;
52typedef int32_t flex_int32_t;
53typedef uint32_t flex_uint32_t;
54#else
55typedef signed char flex_int8_t;
56typedef short int flex_int16_t;
57typedef int flex_int32_t;
58typedef unsigned char flex_uint8_t;
59typedef unsigned short int flex_uint16_t;
60typedef unsigned int flex_uint32_t;
61
62/* Limits of integral types. */
63#ifndef INT8_MIN
64#define INT8_MIN               (-128)
65#endif
66#ifndef INT16_MIN
67#define INT16_MIN              (-32767-1)
68#endif
69#ifndef INT32_MIN
70#define INT32_MIN              (-2147483647-1)
71#endif
72#ifndef INT8_MAX
73#define INT8_MAX               (127)
74#endif
75#ifndef INT16_MAX
76#define INT16_MAX              (32767)
77#endif
78#ifndef INT32_MAX
79#define INT32_MAX              (2147483647)
80#endif
81#ifndef UINT8_MAX
82#define UINT8_MAX              (255U)
83#endif
84#ifndef UINT16_MAX
85#define UINT16_MAX             (65535U)
86#endif
87#ifndef UINT32_MAX
88#define UINT32_MAX             (4294967295U)
89#endif
90
91#endif /* ! C99 */
92
93#endif /* ! FLEXINT_H */
94
95#ifdef __cplusplus
96
97/* The "const" storage-class-modifier is valid. */
98#define YY_USE_CONST
99
100#else	/* ! __cplusplus */
101
102/* C99 requires __STDC__ to be defined as 1. */
103#if defined (__STDC__)
104
105#define YY_USE_CONST
106
107#endif	/* defined (__STDC__) */
108#endif	/* ! __cplusplus */
109
110#ifdef YY_USE_CONST
111#define yyconst const
112#else
113#define yyconst
114#endif
115
116/* Returned upon end-of-file. */
117#define YY_NULL 0
118
119/* Promotes a possibly negative, possibly signed char to an unsigned
120 * integer for use as an array index.  If the signed char is negative,
121 * we want to instead treat it as an 8-bit unsigned char, hence the
122 * double cast.
123 */
124#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
125
126/* Enter a start condition.  This macro really ought to take a parameter,
127 * but we do it the disgusting crufty way forced on us by the ()-less
128 * definition of BEGIN.
129 */
130#define BEGIN (yy_start) = 1 + 2 *
131
132/* Translate the current start state into a value that can be later handed
133 * to BEGIN to return to the state.  The YYSTATE alias is for lex
134 * compatibility.
135 */
136#define YY_START (((yy_start) - 1) / 2)
137#define YYSTATE YY_START
138
139/* Action number for EOF rule of a given start state. */
140#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
141
142/* Special action meaning "start processing a new file". */
143#define YY_NEW_FILE yyrestart(yyin  )
144
145#define YY_END_OF_BUFFER_CHAR 0
146
147/* Size of default input buffer. */
148#ifndef YY_BUF_SIZE
149#ifdef __ia64__
150/* On IA-64, the buffer size is 16k, not 8k.
151 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
152 * Ditto for the __ia64__ case accordingly.
153 */
154#define YY_BUF_SIZE 32768
155#else
156#define YY_BUF_SIZE 16384
157#endif /* __ia64__ */
158#endif
159
160/* The state buf must be large enough to hold one state per character in the main buffer.
161 */
162#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
163
164#ifndef YY_TYPEDEF_YY_BUFFER_STATE
165#define YY_TYPEDEF_YY_BUFFER_STATE
166typedef struct yy_buffer_state *YY_BUFFER_STATE;
167#endif
168
169#ifndef YY_TYPEDEF_YY_SIZE_T
170#define YY_TYPEDEF_YY_SIZE_T
171typedef size_t yy_size_t;
172#endif
173
174extern yy_size_t yyleng;
175
176extern FILE *yyin, *yyout;
177
178#define EOB_ACT_CONTINUE_SCAN 0
179#define EOB_ACT_END_OF_FILE 1
180#define EOB_ACT_LAST_MATCH 2
181
182    #define YY_LESS_LINENO(n)
183    #define YY_LINENO_REWIND_TO(ptr)
184
185/* Return all but the first "n" matched characters back to the input stream. */
186#define yyless(n) \
187	do \
188		{ \
189		/* Undo effects of setting up yytext. */ \
190        int yyless_macro_arg = (n); \
191        YY_LESS_LINENO(yyless_macro_arg);\
192		*yy_cp = (yy_hold_char); \
193		YY_RESTORE_YY_MORE_OFFSET \
194		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
196		} \
197	while ( 0 )
198
199#define unput(c) yyunput( c, (yytext_ptr)  )
200
201#ifndef YY_STRUCT_YY_BUFFER_STATE
202#define YY_STRUCT_YY_BUFFER_STATE
203struct yy_buffer_state
204	{
205	FILE *yy_input_file;
206
207	char *yy_ch_buf;		/* input buffer */
208	char *yy_buf_pos;		/* current position in input buffer */
209
210	/* Size of input buffer in bytes, not including room for EOB
211	 * characters.
212	 */
213	yy_size_t yy_buf_size;
214
215	/* Number of characters read into yy_ch_buf, not including EOB
216	 * characters.
217	 */
218	yy_size_t yy_n_chars;
219
220	/* Whether we "own" the buffer - i.e., we know we created it,
221	 * and can realloc() it to grow it, and should free() it to
222	 * delete it.
223	 */
224	int yy_is_our_buffer;
225
226	/* Whether this is an "interactive" input source; if so, and
227	 * if we're using stdio for input, then we want to use getc()
228	 * instead of fread(), to make sure we stop fetching input after
229	 * each newline.
230	 */
231	int yy_is_interactive;
232
233	/* Whether we're considered to be at the beginning of a line.
234	 * If so, '^' rules will be active on the next match, otherwise
235	 * not.
236	 */
237	int yy_at_bol;
238
239    int yy_bs_lineno; /**< The line count. */
240    int yy_bs_column; /**< The column count. */
241
242	/* Whether to try to fill the input buffer when we reach the
243	 * end of it.
244	 */
245	int yy_fill_buffer;
246
247	int yy_buffer_status;
248
249#define YY_BUFFER_NEW 0
250#define YY_BUFFER_NORMAL 1
251	/* When an EOF's been seen but there's still some text to process
252	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
253	 * shouldn't try reading from the input source any more.  We might
254	 * still have a bunch of tokens to match, though, because of
255	 * possible backing-up.
256	 *
257	 * When we actually see the EOF, we change the status to "new"
258	 * (via yyrestart()), so that the user can continue scanning by
259	 * just pointing yyin at a new input file.
260	 */
261#define YY_BUFFER_EOF_PENDING 2
262
263	};
264#endif /* !YY_STRUCT_YY_BUFFER_STATE */
265
266/* Stack of input buffers. */
267static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
268static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
269static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
270
271/* We provide macros for accessing buffer states in case in the
272 * future we want to put the buffer states in a more general
273 * "scanner state".
274 *
275 * Returns the top of the stack, or NULL.
276 */
277#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
278                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
279                          : NULL)
280
281/* Same as previous macro, but useful when we know that the buffer stack is not
282 * NULL or when we need an lvalue. For internal use only.
283 */
284#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
285
286/* yy_hold_char holds the character lost when yytext is formed. */
287static char yy_hold_char;
288static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
289yy_size_t yyleng;
290
291/* Points to current character in buffer. */
292static char *yy_c_buf_p = (char *) 0;
293static int yy_init = 0;		/* whether we need to initialize */
294static int yy_start = 0;	/* start state number */
295
296/* Flag which is used to allow yywrap()'s to do buffer switches
297 * instead of setting up a fresh yyin.  A bit of a hack ...
298 */
299static int yy_did_buffer_switch_on_eof;
300
301void yyrestart (FILE *input_file  );
302void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
303YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
304void yy_delete_buffer (YY_BUFFER_STATE b  );
305void yy_flush_buffer (YY_BUFFER_STATE b  );
306void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
307void yypop_buffer_state (void );
308
309static void yyensure_buffer_stack (void );
310static void yy_load_buffer_state (void );
311static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
312
313#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
314
315YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
316YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
317YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
318
319void *yyalloc (yy_size_t  );
320void *yyrealloc (void *,yy_size_t  );
321void yyfree (void *  );
322
323#define yy_new_buffer yy_create_buffer
324
325#define yy_set_interactive(is_interactive) \
326	{ \
327	if ( ! YY_CURRENT_BUFFER ){ \
328        yyensure_buffer_stack (); \
329		YY_CURRENT_BUFFER_LVALUE =    \
330            yy_create_buffer(yyin,YY_BUF_SIZE ); \
331	} \
332	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
333	}
334
335#define yy_set_bol(at_bol) \
336	{ \
337	if ( ! YY_CURRENT_BUFFER ){\
338        yyensure_buffer_stack (); \
339		YY_CURRENT_BUFFER_LVALUE =    \
340            yy_create_buffer(yyin,YY_BUF_SIZE ); \
341	} \
342	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
343	}
344
345#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
346
347/* Begin user sect3 */
348
349typedef unsigned char YY_CHAR;
350
351FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
352
353typedef int yy_state_type;
354
355extern int yylineno;
356
357int yylineno = 1;
358
359extern char *yytext;
360#ifdef yytext_ptr
361#undef yytext_ptr
362#endif
363#define yytext_ptr yytext
364
365static yy_state_type yy_get_previous_state (void );
366static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
367static int yy_get_next_buffer (void );
368#if defined(__GNUC__) && __GNUC__ >= 3
369__attribute__((__noreturn__))
370#endif
371static void yy_fatal_error (yyconst char msg[]  );
372
373/* Done after the current pattern has been matched and before the
374 * corresponding action - sets up yytext.
375 */
376#define YY_DO_BEFORE_ACTION \
377	(yytext_ptr) = yy_bp; \
378	(yytext_ptr) -= (yy_more_len); \
379	yyleng = (size_t) (yy_cp - (yytext_ptr)); \
380	(yy_hold_char) = *yy_cp; \
381	*yy_cp = '\0'; \
382	(yy_c_buf_p) = yy_cp;
383
384#define YY_NUM_RULES 251
385#define YY_END_OF_BUFFER 252
386/* This struct is not used in this scanner,
387   but its presence is necessary. */
388struct yy_trans_info
389	{
390	flex_int32_t yy_verify;
391	flex_int32_t yy_nxt;
392	};
393static yyconst flex_int16_t yy_accept[1107] =
394    {   0,
395        0,    0,    0,    0,    0,    0,  248,  248,    0,    0,
396        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
397        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
398        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
399        0,    0,    0,    0,    0,    0,    0,    0,  252,  250,
400        9,   20,  250,   18,    1,   19,  250,  250,  250,  250,
401       17,  164,  149,  150,  164,  142,  164,  161,  162,  163,
402      163,  164,  164,  164,  163,  148,  138,  164,  164,  140,
403      141,  136,  137,  136,  135,  134,  135,  248,  248,  249,
404      249,   41,   42,   41,   41,   41,   41,   41,   41,   50,
405
406       49,   51,  250,  170,  170,  165,  170,  166,  167,  169,
407      171,  219,  220,  219,  217,  216,  218,  172,  174,  172,
408      173,  172,  186,  186,  186,  186,  188,  190,  188,  188,
409      188,  188,  189,  233,  238,  233,  237,  239,  239,  235,
410      235,  235,  234,  234,  229,  230,  250,  131,  250,   25,
411       26,   25,   22,   25,   25,  240,  242,  240,  243,  244,
412      227,  227,  228,  227,  227,  227,  227,  227,  227,  227,
413      130,   53,   52,  130,  130,  130,  130,   54,  130,  130,
414      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
415      130,  130,  130,  130,  130,  130,  130,  130,  130,   37,
416
417       34,   37,   35,   48,   45,  250,   48,   48,   44,   43,
418      176,  175,  177,  178,  179,  180,  181,  182,  183,   32,
419       33,   32,   31,   29,   30,   29,   28,    9,   20,    0,
420       18,    1,   19,    0,    0,    0,   16,   10,    0,    0,
421        0,    0,    4,   16,    5,    0,    2,   17,  149,  150,
422        0,    0,    0,  144,    0,  160,  158,    0,  154,  154,
423        0,  245,  245,  245,    0,    0,  143,    0,  148,  138,
424        0,    0,    0,  140,  141,  153,  139,    0,  137,  135,
425      134,  134,  132,  133,  248,  248,  246,  247,   42,    0,
426        0,   39,   40,    0,   50,   49,   51,    0,  165,    0,
427
428      165,  168,  169,  220,  216,  174,    0,  184,  185,  190,
429      187,  233,  238,    0,  236,    0,  222,  235,  235,  235,
430      231,  232,    0,  131,    0,   26,   21,   23,   24,  240,
431      242,  241,    0,    0,  228,  221,  225,  226,   53,   52,
432        0,  129,    0,    0,  130,  130,  130,  130,  130,  130,
433      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
434      130,  130,  130,  130,   55,  130,  130,  130,  130,  130,
435      130,  130,  130,  130,  130,  130,    0,   36,   35,   45,
436       46,   47,   32,   33,   30,   27,    0,   16,   10,    0,
437       14,    0,    0,    0,    0,    0,    4,   16,    5,    0,
438
439        6,    0,  145,    0,  146,    0,  159,    0,  154,  154,
440        0,  154,  154,  154,  245,  245,  156,  155,    0,  157,
441      139,  147,    0,  153,    0,  132,  133,    0,    0,    0,
442       38,    0,    0,    0,    0,    0,    0,    0,    0,    0,
443        0,    0,    0,    0,  235,  235,  221,    0,    0,  130,
444      130,  130,  130,  130,  130,  130,   67,  130,  130,  130,
445       72,  130,  130,  130,  130,  130,  130,  130,  130,  130,
446      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
447      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
448      130,  130,  130,  130,  130,    0,    0,    0,    0,   14,
449
450        0,    0,    0,    0,    0,    0,    4,    8,    5,    0,
451      154,  154,  154,  154,  154,  154,  154,  245,  157,    0,
452        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
453        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
454        0,    0,    0,    0,    0,  235,  235,   56,   57,  130,
455      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
456       73,   74,  130,  130,  130,  130,   79,  130,  130,  130,
457      130,  130,  130,  130,   84,  130,  130,  130,  130,  130,
458      130,  130,  130,  130,   93,  130,  130,  130,  130,  130,
459      130,  130,  130,  130,    0,    0,    0,    0,   15,    0,
460
461        0,    0,    0,    0,    8,    8,    8,    0,  154,  154,
462      154,  154,  154,  154,  154,    0,    0,    0,    0,  215,
463        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
464        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
465        0,    0,    0,  235,  235,   58,  130,  130,   60,  130,
466       64,  130,  130,  130,  130,   70,  130,  130,  130,   75,
467      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
468      130,   87,  130,  130,  130,  130,   91,  130,  130,  130,
469      130,  130,  130,  130,  130,  130,  130,    0,    0,    0,
470        0,    3,    0,    0,    0,    8,    7,    8,    0,  154,
471
472      154,  154,    0,    0,  223,  224,    0,    0,    0,    0,
473        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
474        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
475      223,  224,  130,  130,  130,   63,  130,  130,  130,  130,
476      130,  130,  130,  126,  130,  130,  130,  130,  130,  130,
477      130,  130,  124,  130,   86,  130,   89,  130,   90,  130,
478      130,  130,  105,    0,  130,   95,  130,    0,   96,    0,
479        0,    0,    0,    0,   12,    0,   13,    0,  152,    0,
480      151,    0,    0,    0,    0,    0,    0,    0,    0,    0,
481        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
482
483        0,    0,    0,    0,    0,  130,  130,  130,  130,  130,
484      130,  130,   68,  130,   71,  130,  130,  130,  130,  130,
485      130,  123,  130,   83,  130,  130,   88,  130,   92,  103,
486      125,    0,    0,    0,    0,    0,    0,  130,  130,    0,
487        0,    0,    0,    0,    0,    0,    0,    0,    0,  151,
488        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
489        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
490        0,    0,    0,    0,  130,  130,  130,  130,  130,  130,
491      130,   69,  130,  130,  130,  130,   80,  130,  130,  130,
492      130,  130,  130,    0,    0,  114,    0,    0,    0,    0,
493
494        0,    0,   94,  130,    0,    0,  115,    0,    0,    0,
495        0,    0,    0,    0,    0,    0,   11,    0,  191,  192,
496      193,  194,  195,  196,  197,  198,  199,  200,  201,    0,
497        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
498        0,    0,  130,  130,  130,  130,  130,  130,  130,  130,
499      130,  130,  130,  130,  130,  130,   85,  130,  130,    0,
500        0,    0,    0,    0,    0,  116,    0,  104,    0,    0,
501        0,    0,    0,  117,    0,    0,    0,    0,    0,  202,
502      203,  204,  205,  206,  207,  208,  209,  210,  211,  212,
503      213,    0,  130,  130,  130,  130,  130,  130,  130,  122,
504
505      130,  130,   77,  130,  130,  130,  130,  130,    0,    0,
506      110,    0,  120,  118,  111,    0,    0,    0,  121,  119,
507        0,    0,    0,    0,    0,    0,  214,  130,  130,  130,
508      130,  130,  130,  130,  126,   76,  130,   82,  130,  127,
509      130,  106,  108,    0,  107,  109,    0,    0,    0,    0,
510        0,    0,    0,  130,  130,  130,   65,  130,  130,  130,
511      130,   78,  130,  112,  113,   98,    0,    0,    0,    0,
512       99,  130,  130,  130,  130,  130,  130,  130,  128,   97,
513        0,  101,    0,  130,  130,  130,  130,  130,   68,  130,
514      100,  102,  130,  130,   62,   66,  130,  130,  130,   61,
515
516       69,  130,  130,   81,   59,    0
517    } ;
518
519static yyconst YY_CHAR yy_ec[256] =
520    {   0,
521        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
522        4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
523        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
524        1,    2,    1,    6,    7,    8,    9,    1,   10,   11,
525       12,   13,   14,   15,   16,   17,   18,   19,   19,   19,
526       19,   19,   19,   19,   20,   21,   22,   23,    1,   24,
527       25,   26,   27,    1,   28,   29,   30,   31,   32,   33,
528       34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
529       44,   45,   46,   47,   48,   49,   50,   51,   52,   44,
530       53,   54,   55,   56,   57,    1,   58,   59,   60,   61,
531
532       62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
533       72,   73,   44,   74,   75,   76,   77,   78,   79,   80,
534       81,   44,   82,   83,   84,    1,    1,    1,    1,    1,
535        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
536        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
537        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
538        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
539        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
540        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
541        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
542
543        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
544        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
545        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
546        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
547        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
548        1,    1,    1,    1,    1
549    } ;
550
551static yyconst YY_CHAR yy_meta[85] =
552    {   0,
553        1,    1,    2,    1,    3,    4,    1,    1,    1,    5,
554        1,    6,    1,    7,    1,    8,    1,    5,    9,    9,
555        9,    9,   10,    1,    1,    1,    1,   11,   11,   11,
556       11,   11,   11,   12,   12,   12,   12,   12,   12,   12,
557       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
558       12,   12,   13,   14,   15,    1,   16,   11,   11,   11,
559       11,   11,   11,   12,   12,   12,   12,   12,   12,   12,
560       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
561       12,    5,    1,   17
562    } ;
563
564static yyconst flex_uint16_t yy_base[1201] =
565    {   0,
566        0,   84,  167,  250,  171,  184,  174,  179,  192,  233,
567      196,  200,  334,    0, 3343, 3340,  203,  416,  206,  211,
568      187,  216,  276,  417,  500,    0,  210,  223,  421,  427,
569      436,  440,  583,  588,  669,    0,  277,  299,  584,  751,
570      579,  580,  576,  732,  279,  305,  310,  444, 3378, 3975,
571      228, 3975, 3371,    0,  322, 3975, 3358,  423,  827, 3328,
572        0, 3975,  755, 3975, 3337, 3975,  448, 3312, 3975, 3975,
573     3323, 3291,  222,  408,  444,  764, 3975, 3311,  230, 3289,
574     3975, 3975, 3975, 3306,    0, 3306,  164, 3304, 3975, 3236,
575     3217, 3975, 3975, 3266,  239,  119, 3215, 3212, 3180,    0,
576
577     3248, 3975, 3243, 3975,  476, 3227, 3222, 3975, 3168,    0,
578     3975, 3975, 3975, 3203, 3975,  464, 3975, 3975, 3975, 3186,
579     3975,  742, 3975, 3161,  751,  180, 3975, 3975, 3171,    0,
580     3149,  757, 3975,    0, 3975, 3149, 3975,  200, 3138,    0,
581      429,  241, 3097, 3092, 3975, 3975,  306, 3975,  323, 3975,
582     3975, 3126, 3108, 3072, 3069,    0, 3975, 3115, 3975,    0,
583     3975,  446, 3975, 3114, 3031, 3098,  435,  371, 3045, 3026,
584     3975, 3076, 3975, 3074, 3070,  439,  440, 3975,  578,  751,
585      586,  562,  735,  752,    0,  572,  577,  588,  786,  749,
586      396,  809,  727,  582,  747,  753,  764,  769,  580, 3975,
587
588     3975, 3067,  588, 3975, 3975, 3053, 3002, 2996, 3975, 3975,
589     3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,    0,
590     3975, 3046, 3975, 3975, 3975, 3018, 2986,  837, 3975, 2998,
591        0,  847, 3975, 2997,  817,  777,    0,    0,  891,  903,
592      912,  924,    0,  774,    0,  451, 3975,    0,  858, 3975,
593     2996, 2914,  472, 3975, 2974, 2953, 3975,  791,  236,  822,
594      899, 3975,  275,    0, 2873, 2872, 3975, 2871,  949, 3975,
595     2949, 2850, 2918, 2906, 3975,    0, 3975,  796, 3975,    0,
596        0, 2925,    0,    0, 2597, 3975, 3975, 3975, 3975,  795,
597      794, 3975, 3975,  484,    0, 2597, 3975,  877, 2596, 2594,
598
599     2594, 3975,    0, 3975,  918, 3975, 1005, 3975, 3975, 3975,
600     3975,    0, 3975,  611, 3975,    0, 3975,    0,  853,  851,
601     3975, 3975,  490, 3975,  608, 3975, 3975, 3975, 3975,    0,
602     3975, 3975,  596, 2510, 3975,    0, 3975, 3975, 2588, 3975,
603     2581, 3975,  894,  906,    0,  911,  717,  727,  923,  728,
604     2571,  882,  930,  889,  902,  916,  917,  940,  928,  923,
605      940,  933,    0,  932, 3975,  935,  939,  951,  956, 1059,
606      964,  965, 1052,  955,  957, 1099, 2578, 3975, 1078, 3975,
607     3975, 3975,    0, 3975, 3975, 3975,  987,    0,    0, 1087,
608     3975, 2576, 1132,  985, 1046, 1058,    0, 1058,    0, 1009,
609
610     3975, 1016, 3975, 1057, 3975, 1099, 3975, 1068,  731, 1088,
611     1095, 1178, 1244, 1280,  988,    0, 3975, 3975, 2492, 1162,
612     3975, 3975, 1081,    0, 1086,    0,    0, 1098, 1105, 1100,
613     3975, 1167, 1245, 1246, 1247, 1250, 2539, 1248, 1249, 1258,
614     1244, 1251, 1259, 1321, 1233, 1224,    0, 1072, 1228, 1243,
615     1261, 1287, 1298, 1289, 1298, 1287,    0, 1299, 1228, 1308,
616        0, 1280, 1298, 1307, 1316, 1314, 1316, 2532, 1322, 1337,
617     1338, 1340, 1342, 1342, 1348, 1353, 1356, 1347, 1357, 1362,
618     1366, 1358, 1353, 1356, 1377, 1366, 1370, 1371, 1367, 1383,
619     1384, 1379, 1391, 1392, 1381, 1388, 1397, 1275, 1455, 3975,
620
621     1439, 1463, 1444, 1415, 1412, 1415,    0, 1409,    0, 1429,
622     1492, 1558, 1594, 1524, 2449, 1564, 1639, 3975, 3975, 1537,
623     1556, 1560, 1407, 2427, 1558, 1563, 1559, 1564, 1572, 1584,
624     1574, 1562, 1615, 1619, 1609, 1625, 1626, 1643, 1614, 1651,
625     1662, 1658, 1664, 1665, 1616, 1616, 1637, 3975, 3975, 1638,
626     1631, 2352, 1634, 1641, 1655, 1650, 1677, 1679, 1671, 1689,
627        0,    0, 1690, 1677, 1681, 1697,    0, 2348, 1684, 1694,
628     2274, 1686, 1685, 1695,    0, 1692, 1711, 1704, 1703, 1701,
629     1713, 1703, 1704, 1712,    0, 1717, 1731, 1731, 1719, 1723,
630     1722, 1741, 1726, 1742, 1734, 1747, 1741, 2241, 3975, 1464,
631
632     1485, 1729, 1743, 1740,    0, 1721, 1591, 2173, 1585, 2139,
633     1771, 1807, 1417,  962, 1426, 1755, 2049, 1745, 1769, 3975,
634     1774, 1782, 1789, 1775, 1796, 1791, 1810, 1800, 1820, 1822,
635     1821, 1823, 1832, 1831, 1838, 1840, 1853, 1856, 1854, 1855,
636     1863, 1865, 1861, 1846, 1862,    0, 1853, 1864,    0, 1857,
637        0, 2008, 1866, 1862, 1869,    0, 1874, 1893, 1870,    0,
638     1888, 1875, 1886, 1882, 1880, 1878, 1897, 1876, 1882, 1889,
639     1889,    0, 1904, 1895, 1899, 1919,    0, 1907, 1909, 1908,
640     1923, 1791, 1924, 1925, 1919, 1747, 1917, 1918, 1918, 1938,
641     1924, 1726, 1599, 1927, 1937, 1970, 3975, 1702, 1652, 1923,
642
643     1755, 1941, 1625, 1618, 3975, 3975, 1961, 1977, 1966, 1969,
644     1956, 1979, 1983, 1986, 1989, 1984, 1992, 1987, 1994, 1990,
645     1988, 1995, 2007, 2004, 2016, 2022, 1996, 2028, 2018, 2026,
646        0,    0, 1620, 1990, 2009,    0, 2035, 2020, 2035, 2029,
647     2024, 2025, 2029, 1589, 2049, 2041, 2052, 2048, 2053, 2054,
648     2044, 2057,    0, 2064,    0, 2048,    0, 1576,    0, 2064,
649     2070, 2056,    0, 2096, 2062,    0, 2067, 2108,    0, 1531,
650     2072, 2078, 1438, 1853, 3975, 2105, 3975, 2068, 3975, 1463,
651     3975, 1407, 1402, 1348, 1345, 1314, 1307, 1269, 1260, 1256,
652     1210, 1158, 2106, 2111, 2097, 2118, 2122, 2129, 2125, 2140,
653
654     2131, 2136, 2141, 2143, 2156, 2131, 2138, 2147, 2101, 2151,
655     2138, 2153,    0, 2141,    0, 2144, 2165, 2153, 2159, 2158,
656     2165,    0, 2165,    0, 2167, 2169,    0, 2178,    0,    0,
657        0, 2183, 2167, 2179, 2210, 2178, 2189, 2188, 2189, 2202,
658     2186, 2194, 2218, 2196, 2202, 1119, 1114, 2206, 2118, 3975,
659     1106, 1100, 1081, 1068, 1065, 1061, 1057,  972,  968,  965,
660      914,  925,  893,  881,  874,  869,  865,  861,  854,  843,
661      807,  802,  776, 2235, 2212, 2226, 2221, 2227, 2239, 2238,
662     2228,    0, 2228, 2239, 2242, 2252,    0, 2238, 2244, 2249,
663     2244, 2258, 2263, 2269, 2255, 3975, 2263, 2265, 2265, 2281,
664
665     2265, 2262,    0, 2285, 2288, 2274, 3975, 2277, 2280, 2295,
666     2279, 2280, 2283, 2303, 2283, 2330, 3975, 2335, 3975, 3975,
667     3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,  735,
668      612,  608,  598,  441,  374,  261,  245,  202,  152,  149,
669      137,  165, 2296, 2303, 2304, 2320, 2326, 2316, 2324, 2329,
670     2324, 2316, 2319, 2335, 2324, 2327,    0, 2332, 2328, 2327,
671     2332, 2345, 2348, 2352, 2344, 3975, 2338,    0, 2338, 2343,
672     2357, 2362, 2357, 3975, 2371, 2356, 2359, 2358, 2380, 3975,
673     3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,
674     3975,  128, 2384, 2382, 2373, 2387, 2376, 2378, 2378,    0,
675
676     2395, 2396,    0, 2385, 2384, 2405, 2403, 2401, 2405, 2413,
677     3975, 2401, 3975, 3975, 3975, 2409, 2416, 2404, 3975, 3975,
678     2400, 2422, 2422, 2414, 2417, 2417, 3975, 2421, 2421, 2418,
679     2424, 2441, 2442, 2443,    0,    0, 2453,    0, 2436,    0,
680     2451, 3975, 3975, 2445, 3975, 3975, 2446, 2457, 2445, 2461,
681     2464, 2462, 2468, 2473, 2466, 2460,    0, 2462, 2459, 2461,
682     2483,    0, 2463, 3975, 3975, 3975, 2484, 2488, 2476, 2482,
683     3975, 2495, 2485, 2497, 2495, 2501, 2506, 2493,    0, 3975,
684     2496, 3975, 2508, 2498, 2506, 2503, 2506, 2505,    0, 2520,
685     3975, 3975, 2522, 2514,    0,    0, 2529, 2514, 2515,    0,
686
687        0, 2533, 2539,    0,    0, 3975, 2601, 2618, 2635, 2652,
688     2669, 2686, 2703, 2720, 2737, 2754, 2771, 2788, 2805, 2822,
689     2839, 2856, 2873, 2890, 2907, 2917, 2933, 2942, 2958, 2975,
690     2986, 3002, 3019, 3036, 3053, 3063, 3079, 3096, 3113, 3127,
691     3137, 3153, 3170, 3187, 3204, 3215, 2009, 3227, 3244, 3254,
692     3270, 3287, 3294, 3300, 3316, 3326, 3342, 3359, 3376, 2564,
693     3386, 3403, 3420, 3437, 3454, 3471, 3488, 3505, 3522, 3532,
694     3548, 3562, 3572, 3588, 3605, 3622, 3639, 3650, 3662, 3679,
695     3696, 3713, 3730, 3740, 3749, 3765, 3782, 3799, 2571, 3809,
696     3826, 3843, 3860, 3877, 3885, 3890, 3906, 3923, 3940, 3957
697
698    } ;
699
700static yyconst flex_int16_t yy_def[1201] =
701    {   0,
702     1106, 1106, 1107, 1107, 1108, 1109, 1110, 1110, 1111, 1111,
703     1112, 1112, 1106,   13, 1113, 1113, 1114, 1114, 1115, 1115,
704     1116, 1116, 1117, 1117, 1106,   25, 1118, 1118, 1119, 1119,
705     1120, 1120, 1121, 1121, 1106,   35, 1122, 1122, 1123, 1123,
706     1113, 1113, 1113, 1113, 1124, 1124, 1125, 1125, 1106, 1106,
707     1106, 1106, 1106, 1126, 1106, 1106, 1106, 1106, 1127, 1106,
708     1128, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
709     1106, 1106, 1129, 1130, 1131, 1106, 1106, 1106, 1106, 1106,
710     1106, 1106, 1106, 1106, 1132, 1133, 1132, 1134, 1106, 1106,
711     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1135,
712
713     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1136,
714     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
715     1106, 1130, 1106, 1106, 1130, 1137, 1106, 1106, 1106, 1138,
716     1106, 1130, 1106, 1139, 1106, 1139, 1106, 1140, 1106, 1141,
717     1141, 1141, 1106, 1106, 1106, 1106, 1142, 1106, 1142, 1106,
718     1106, 1106, 1106, 1106, 1106, 1143, 1106, 1143, 1106, 1144,
719     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
720     1106, 1106, 1106, 1106, 1145, 1106, 1106, 1106, 1146, 1146,
721     1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147,
722     1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1106,
723
724     1106, 1148, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
725     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1149,
726     1106, 1149, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
727     1150, 1106, 1106, 1106, 1106, 1106, 1151, 1152, 1106, 1106,
728     1106, 1106, 1153, 1151, 1154, 1155, 1106, 1156, 1106, 1106,
729     1106, 1106, 1157, 1106, 1106, 1106, 1106, 1106, 1158, 1158,
730     1159, 1106, 1106, 1160, 1106, 1106, 1106, 1161, 1106, 1106,
731     1106, 1106, 1106, 1106, 1106, 1162, 1106, 1106, 1106, 1163,
732     1164, 1164, 1165, 1166, 1167, 1106, 1106, 1106, 1106, 1106,
733     1106, 1106, 1106, 1168, 1169, 1106, 1106, 1106, 1106, 1106,
734
735     1106, 1106, 1170, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
736     1106, 1171, 1106, 1172, 1106, 1172, 1106, 1173, 1173, 1173,
737     1106, 1106, 1174, 1106, 1174, 1106, 1106, 1106, 1106, 1175,
738     1106, 1106, 1106, 1106, 1106, 1176, 1106, 1106, 1106, 1106,
739     1177, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178,
740     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
741     1178, 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1178, 1178,
742     1178, 1178, 1178, 1178, 1178, 1178, 1179, 1106, 1106, 1106,
743     1106, 1106, 1180, 1106, 1106, 1106, 1106, 1181, 1182, 1183,
744     1106, 1106, 1106, 1106, 1106, 1106, 1184, 1181, 1185, 1186,
745
746     1106, 1186, 1106, 1187, 1106, 1187, 1106, 1106, 1188, 1188,
747     1188, 1106, 1188, 1188, 1106, 1189, 1106, 1106, 1190, 1106,
748     1106, 1106, 1106, 1191, 1106, 1192, 1193, 1106, 1106, 1194,
749     1106, 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
750     1195, 1195, 1195, 1195, 1196, 1196, 1197, 1106, 1106, 1178,
751     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
752     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
753     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
754     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
755     1178, 1178, 1178, 1178, 1178, 1106, 1106, 1183, 1183, 1106,
756
757     1183, 1183, 1106, 1106, 1106, 1106, 1184, 1198, 1185, 1106,
758     1106, 1188,  414,  412,  412, 1188,  414, 1106, 1106, 1106,
759     1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195,
760     1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
761     1195, 1195, 1195, 1195, 1195, 1196, 1196, 1106, 1106, 1178,
762     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
763     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
764     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
765     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
766     1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1183,
767
768     1183, 1106, 1106, 1106, 1198, 1198, 1198, 1106,  511,  511,
769     1188,  414, 1188, 1188, 1188, 1106, 1106, 1106, 1106, 1106,
770     1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
771     1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
772     1195, 1195, 1195, 1196, 1196, 1178, 1178, 1178, 1178, 1178,
773     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
774     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
775     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
776     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106,
777     1106, 1106, 1199, 1106, 1106, 1198, 1106, 1198, 1106, 1188,
778
779     1188, 1188, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195,
780     1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
781     1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
782     1196, 1196, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
783     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
784     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
785     1178, 1178, 1178, 1106, 1178, 1178, 1178, 1106, 1178, 1106,
786     1106, 1106, 1106, 1199, 1106, 1199, 1106, 1106, 1106, 1106,
787     1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
788     1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
789
790     1195, 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178,
791     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
792     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
793     1178, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1106,
794     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1200, 1106,
795     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
796     1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
797     1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178, 1178,
798     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
799     1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
800
801     1106, 1106, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106,
802     1106, 1106, 1106, 1106, 1106, 1200, 1106, 1200, 1106, 1106,
803     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
804     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
805     1106, 1195, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
806     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106,
807     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1106, 1106,
808     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
809     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
810     1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
811
812     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106,
813     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
814     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178,
815     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
816     1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
817     1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
818     1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
819     1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106,
820     1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
821     1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
822
823     1178, 1178, 1178, 1178, 1178,    0, 1106, 1106, 1106, 1106,
824     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
825     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
826     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
827     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
828     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
829     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
830     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
831     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
832     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106
833
834    } ;
835
836static yyconst flex_uint16_t yy_nxt[4060] =
837    {   0,
838       50,   51,   52,   50,   53,   50,   50,   50,   50,   50,
839       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
840       50,   50,   50,   50,   50,   50,   50,   54,   54,   54,
841       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
842       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
843       54,   54,   50,   50,   50,   50,   54,   54,   54,   54,
844       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
845       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
846       54,   50,   50,   50,   50,   55,   56,   50,   57,   50,
847       58,   50,   59,   50,   50,   50,   50,   50,   50,   50,
848
849       50,   60,   50,   50,   50,   50,   50,   50,   50,   50,
850       50,   61,   61,   61,   61,   61,   61,   61,   61,   61,
851       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
852       61,   61,   61,   61,   61,   61,   50,   50,   50,   50,
853       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
854       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
855       61,   61,   61,   61,   61,   50,   50,   50,   63,   64,
856      291,   65,   66,   83,   67,   84,   89,   68,   69,   70,
857       70,   89, 1027,   70,   71,   86,   83,  992,   84,   50,
858       72,  991,   87,   70,   93,  309,   94,  101,  102,  291,
859
860      103,  101,  102,  990,  103,  113,  989,  114,  119,  315,
861      120,  121,  148,  119,  149,  120,  121,  115,   50,   73,
862       74,  116,  116,  116,  116,  148,   90,  149,   91,  228,
863      229,   90,  230,   91,  309,   93,   95,   94,  276,  124,
864      125,   99,  126,   96,   97,  283,   98,  284,   75,   70,
865       70,   76,   77,  316,   78,   66,  988,   67,   79,  122,
866       68,   69,   70,   70,  122,   95,   70,   71,  124,  125,
867      290,  126,   96,   80,  260,  261,   70,   95,  128,  201,
868      129,  221,  202,  222,   96,   97,  117,   98,  410,  411,
869      223,  130,  320,  415,  415,  203,  203,  203,  203,  987,
870
871      290,  201,   73,   74,  202,   81,   95,  221,  324,  222,
872      325,  277,  225,   96,  226,  986,  223,  203,  203,  203,
873      203,  320,  227,  232,  233,  324,  234,  325,  131,  132,
874      133,   75,   70,   70,  104,  105,  106,  104,  107,  104,
875      104,  104,  104,  104,  104,  104,  108,  104,  108,  104,
876      104,  104,  104,  104,  104,  104,  104,  104,  104,  109,
877      104,  110,  110,  110,  110,  110,  110,  110,  110,  110,
878      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
879      110,  110,  110,  110,  110,  110,  104,  104,  104,  104,
880      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
881
882      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
883      110,  110,  110,  110,  110,  104,  104,  104,  113,  128,
884      114,  129,  291,  151,  235,  152,  263,  263,  985,  151,
885      115,  152,  130,  153,  116,  116,  116,  116,  157,  153,
886      158,  159,  157,  366,  158,  159,  225,  333,  226,  254,
887      254,  291,  255,  401,  334,  402,  227,  265,  264,  266,
888      319,  236,  267,  267,  267,  267,  290,  343,  344,  131,
889      132,  133,  366,  154,  405,  155,  406,  298,  299,  154,
890      300,  155,  305,  305,  305,  305,  431,  264,  432,  160,
891      319,  236,  324,  160,  325,  984,  290,  343,  344,  117,
892
893      134,  134,  135,  134,  136,  137,  134,  134,  134,  138,
894      134,  134,  134,  134,  134,  134,  134,  139,  134,  134,
895      134,  134,  134,  134,  134,  134,  134,  140,  140,  140,
896      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
897      140,  140,  140,  140,  141,  140,  140,  140,  140,  140,
898      140,  142,  143,  134,  144,  134,  140,  140,  140,  140,
899      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
900      140,  140,  140,  141,  140,  140,  140,  140,  140,  140,
901      142,  145,  134,  146,  162,  163,  205,  164,  206,  162,
902      163,  165,  164,  353,  211,  211,  165,  333,  216,  351,
903
904      166,  212,  212,  358,  334,  166,  379,  379,  379,  379,
905      324,  217,  325,  352,  213,  213,  346,  359,  347,  360,
906      315,  218,  348,  353,  214,  214,  219,  167,  371,  215,
907      215,  376,  167,  358,  168,  169,  207,  170,  208,  168,
908      169,  217,  170,  352,  213,  213,  346,  359,  347,  360,
909      218,  348,  983,  214,  214,  219,  167,  371,  215,  215,
910      376,  167,  982,  168,  316,  209,  981,  210,  168,  171,
911      172,  173,  171,  174,  175,  171,  171,  171,  171,  171,
912      171,  171,  171,  171,  171,  171,  171,  171,  176,  177,
913      171,  171,  171,  178,  171,  171,  179,  180,  181,  182,
914
915      183,  184,  185,  186,  187,  185,  185,  188,  189,  190,
916      191,  192,  185,  193,  194,  195,  196,  197,  198,  185,
917      199,  171,  171,  171,  171,  171,  179,  180,  181,  182,
918      183,  184,  185,  186,  187,  185,  185,  188,  189,  190,
919      191,  192,  193,  194,  195,  196,  197,  198,  185,  199,
920      171,  171,  171,  205,  216,  206,  249,  250,  370,  251,
921      263,  263,  452,  252,  354,  269,  270,  217,  271,  263,
922      263,  453,  272,  456,  372,  263,  263,  218,  349,  356,
923      364,  273,  219,  410,  411,  355,  350,  274,  370,  980,
924      365,  452,  264,  373,  354,  374,  375,  217,  941,  357,
925
926      453,  264,  456,  207,  372,  208,  218,  264,  349,  356,
927      364,  219,  387,  361,  355,  398,  350,  362,  235,  275,
928      365,  264,  408,  373,  940,  374,  375,  425,  357,  939,
929      264,  428,  209,  429,  210,  238,  264,  253,  228,  229,
930      367,  230,  387,  361,  412,  398,  253,  362,  232,  233,
931      368,  234,  408,  369,  239,  236,  240,  425,  240,  249,
932      250,  428,  251,  429,  240,  938,  252,  240,  241,  242,
933      367,  240,  243,  244,  410,  411,  937,  245,  298,  299,
934      368,  300,  369,  936,  239,  236,  240,  935,  240,  445,
935      446,  934,  390,  391,  240,  392,  933,  240,  241,  242,
936
937      240,  243,  244,  932,  390,  391,  245,  392,  246,  393,
938      393,  393,  393,  390,  391,  931,  392,  413,  413,  445,
939      446,  393,  393,  393,  393,  390,  391,  458,  392,  448,
940      393,  393,  393,  393,  461,  394,  305,  305,  305,  305,
941      253,  449,  393,  393,  393,  393,  450,  930,  462,  414,
942      269,  270,  454,  271,  395,  464,  458,  272,  459,  448,
943      451,  463,  460,  461,  394,  396,  273,  465,  929,  455,
944      466,  449,  274,  468,  467,  469,  450,  462,  414,  470,
945      471,  472,  454,  473,  395,  464,  474,  476,  459,  451,
946      463,  480,  460,  482,  481,  396,  475,  465,  455,  485,
947
948      466,  486,  468,  467,  275,  469,  262,  262,  470,  471,
949      472,  401,  473,  402,  410,  411,  474,  476,  401,  928,
950      402,  480,  927,  482,  481,  475,  926,  497,  485,  504,
951      486,  253,  433,  434,  435,  436,  437,  437,  438,  437,
952      437,  437,  437,  439,  437,  437,  437,  440,  437,  437,
953      441,  437,  442,  437,  437,  443,  437,  497,  504,  405,
954      444,  406,  433,  434,  435,  436,  437,  437,  438,  437,
955      437,  437,  437,  439,  437,  437,  437,  440,  437,  441,
956      437,  442,  437,  437,  443,  437,  477,  483,  499,  500,
957      478,  501,  505,  506,  484,  479,  379,  379,  379,  379,
958
959      508,  405,  431,  406,  432,  502,  502,  502,  502,  510,
960      511,  925,  520,  512,  512,  924,  477,  483,  548,  923,
961      478,  505,  922,  506,  484,  479,  487,  521,  488,  522,
962      508,  489,  490,  503,  391,  921,  392,  491,  492,  510,
963      410,  411,  520,  493,  494,  513,  523,  548,  495,  409,
964      393,  393,  393,  393,  920,  496,  487,  521,  488,  522,
965      919,  489,  490,  519,  519,  519,  519,  491,  492,  431,
966      914,  432,  493,  494,  513,  913,  523,  495,  409,  409,
967      861,  409,  409,  409,  409,  409,  409,  409,  409,  409,
968      409,  409,  409,  409,  409,  409,  409,  409,  409,  409,
969
970      409,  409,  409,  409,  409,  514,  514,  514,  514,  514,
971      514,  514,  514,  514,  514,  514,  514,  514,  514,  514,
972      514,  514,  514,  514,  514,  514,  514,  514,  514,  514,
973      410,  411,  860,  515,  409,  514,  514,  514,  514,  514,
974      514,  514,  514,  514,  514,  514,  514,  514,  514,  514,
975      514,  514,  514,  514,  514,  514,  514,  514,  514,  409,
976      409,  409,  516,  516,  546,  547,  524,  524,  524,  524,
977      524,  524,  524,  524,  549,  558,  550,  599,  859,  600,
978      524,  524,  858,  525,  526,  528,  533,  527,  551,  535,
979      530,  857,  529,  534,  546,  547,  410,  411,  517,  517,
980
981      517,  517,  531,  549,  558,  532,  550,  517,  517,  517,
982      517,  517,  517,  525,  526,  528,  533,  527,  551,  535,
983      530,  529,  552,  534,  560,  553,  554,  555,  556,  856,
984      557,  531,  410,  411,  532,  559,  855,  517,  517,  517,
985      517,  517,  517, 1106,  561,  562,  563,  565,  536,  537,
986      538,  539,  552,  560,  540,  553,  554,  555,  556,  541,
987      557,  564,  567,  542,  568,  559,  543,  854,  544,  569,
988      853,  545,  570,  561,  571,  562,  563,  565,  536,  537,
989      538,  539,  572,  573,  540,  574,  575,  576,  577,  541,
990      564,  578,  567,  542,  568,  543,  581,  544,  582,  569,
991
992      545,  579,  570,  583,  571,  584,  585,  580,  586,  587,
993      606,  588,  572,  573,  589,  574,  575,  576,  577,  590,
994      591,  578,  592,  593,  852,  594,  581,  582,  598,  851,
995      595,  579,  583,  596,  597,  584,  585,  580,  586,  587,
996      588,  500,  602,  600,  589,  503,  391,  603,  392,  590,
997      591,  619,  592,  593,  594,  604,  499,  500,  598,  501,
998      595,  608,  596,  597,  601,  500,  599,  501,  600,  410,
999      411,  259,  602,  502,  502,  502,  502,  603,  410,  411,
1000      619,  502,  502,  502,  502,  604,  601,  500,  850,  501,
1001      607,  608,  409,  409,  848,  409,  409,  409,  409,  409,
1002
1003      409,  409,  409,  409,  409,  409,  409,  409,  409,  409,
1004      409,  409,  409,  409,  409,  409,  409,  409,  409,  609,
1005      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
1006      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
1007      609,  609,  609,  609,  410,  411,  613,  610,  409,  609,
1008      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
1009      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
1010      609,  609,  609,  409,  409,  409,  611,  611,  616,  409,
1011      524,  524,  614,  614,  524,  524,  524,  845,  617,  618,
1012      623,  828,  696,  697,  524,  698,  524,  625,  621,  626,
1013
1014      622,  775,  629,  776,  817,  624,  524,  700,  616,  628,
1015      410,  411,  612,  612,  612,  612,  410,  411,  617,  618,
1016      623,  612,  612,  612,  612,  612,  612,  625,  621,  626,
1017      622,  524,  629,  627,  624,  806,  524,  524,  524,  628,
1018      409,  524,  630,  781,  632,  644,  643,  524,  524,  636,
1019      780,  612,  612,  612,  612,  612,  612,  615,  615,  615,
1020      615,  631,  627,  633,  634,  524,  615,  615,  615,  615,
1021      615,  615,  630,  524,  632,  644,  643,  779,  646,  636,
1022      524,  645,  647,  635,  524,  649,  524,  524,  650,  651,
1023      652,  631,  653,  633,  634,  637,  615,  615,  615,  615,
1024
1025      615,  615,  639,  638,  697,  640,  641,  642,  646,  654,
1026      645,  647,  656,  635,  649,  655,  658,  650,  657,  651,
1027      652,  659,  606,  660,  637,  661,  662,  692,  664,  665,
1028      669,  639,  667,  638,  640,  668,  641,  642,  670,  654,
1029      671,  672,  656,  673,  675,  655,  658,  657,  674,  676,
1030      677,  659,  660,  678,  661,  679,  662,  664,  680,  665,
1031      669,  667,  681,  683,  668,  682,  684,  670,  685,  687,
1032      671,  672,  686,  673,  675,  688,  690,  674,  676,  677,
1033      693,  689,  691,  678,  694,  679,  695,  703,  680,  701,
1034      701,  705,  681,  683,  682,  684,  524,  524,  685,  687,
1035
1036      706,  686,  607,  768,  524,  688,  690,  410,  411,  693,
1037      689,  524,  691,  524,  694,  695,  708,  703,  524,  710,
1038      705,  707,  524,  410,  411,  702,  702,  702,  702,  709,
1039      706,  711,  524,  712,  702,  702,  702,  702,  702,  702,
1040      714,  713,  524,  524,  524,  524,  708,  764,  710,  715,
1041      707,  716,  717,  524,  524,  775,  718,  776,  721,  709,
1042      524,  711,  524,  712,  702,  702,  702,  702,  702,  702,
1043      714,  713,  719,  723,  720,  524,  524,  524,  524,  715,
1044      724,  716,  717,  524,  722,  524,  718,  524,  721,  726,
1045      728,  752,  731,  732,  734,  727,  730,  748,  733,  736,
1046
1047      741,  738,  719,  723,  720,  725,  735,  729,  743,  740,
1048      724,  739,  742,  722,  744,  745,  746,  747,  749,  726,
1049      728,  731,  750,  732,  734,  727,  730,  733,  751,  736,
1050      741,  738,  753,  754,  725,  755,  735,  729,  740,  756,
1051      739,  757,  742,  744,  758,  745,  746,  747,  749,  759,
1052      761,  750,  760,  762,  763,  765,  766,  767,  751,  769,
1053      770,  753,  754,  771,  755,  772,  773,  777,  778,  756,
1054      757,  696,  697,  758,  698,  410,  411,  409,  524,  759,
1055      761,  760,  762,  524,  763,  765,  766,  767,  524,  769,
1056      770,  524,  771,  410,  411,  772,  773,  777,  778,  524,
1057
1058      782,  524,  786,  784,  783,  524,  524,  785,  524,  524,
1059      524,  524,  524,  787,  524,  791,  524,  524,  524,  363,
1060      363,  807,  793,  737,  795,  802,  524,  788,  796,  524,
1061      782,  786,  789,  784,  783,  790,  792,  785,  524,  797,
1062      524,  794,  798,  787,  524,  791,  799,  800,  524,  804,
1063      524,  807,  793,  808,  795,  802,  788,  803,  796,  805,
1064      811,  789,  801,  809,  790,  792,  812,  813,  797,  814,
1065      794,  815,  798,  810,  704,  816,  799,  800,  818,  804,
1066      819,  820,  808,  821,  822,  823,  825,  803,  824,  805,
1067      811,  826,  801,  809,  827,  829,  812,  813,  814,  830,
1068
1069      815,  831,  838,  810,  816,  839,  846,  775,  818,  776,
1070      819,  820,  849,  821,  822,  823,  825,  824,  847,  524,
1071      917,  826,  918,  827,  864,  829,  832,  833,  524,  830,
1072      831,  834,  838,  524,  835,  839,  846,  836,  840,  841,
1073      524,  849,  837,  842,  524,  878,  843,  524,  847,  844,
1074      863,  524,  862,  524,  864,  865,  832,  833,  524,  868,
1075      866,  834,  524,  524,  835,  524,  875,  836,  840,  841,
1076      876,  837,  872,  842,  878,  867,  843,  870,  524,  844,
1077      863,  862,  871,  880,  869,  865,  882,  873,  877,  868,
1078      866,  874,  879,  881,  409,  883,  875,  884,  699,  885,
1079
1080      876,  886,  872,  887,  867,  888,  870,  889,  890,  891,
1081      892,  871,  880,  869,  894,  882,  873,  895,  877,  896,
1082      902,  874,  879,  881,  883,  901,  893,  884,  885,  903,
1083      904,  886,  887,  905,  907,  888,  906,  889,  890,  891,
1084      892,  897,  692,  911,  894,  898,  895,  912,  899,  896,
1085      902,  915,  943,  908,  901,  893,  909,  524,  900,  903,
1086      904,  944,  946,  905,  907,  906,  910,  945,  947,  948,
1087      950,  897,  911,  949,  951,  898,  912,  952,  899,  953,
1088      915,  942,  943,  908,  954,  955,  909,  900,  956,  666,
1089      957,  944,  946,  958,  959,  910,  945,  960,  947,  948,
1090
1091      950,  961,  949,  962,  951,  963,  964,  952,  965,  953,
1092      942,  966,  967,  954,  968,  955,  969,  971,  956,  957,
1093      970,  972,  973,  958,  959,  974,  975,  960,  976,  979,
1094      961,  977,  917,  962,  918,  963,  964,  917,  965,  918,
1095      966,  967,  993,  994,  968,  995,  969,  971,  978,  970,
1096      996,  972,  973,  997,  974,  975,  998,  976,  979,  999,
1097     1000,  977, 1001,  663, 1002, 1003, 1004,  648, 1005, 1006,
1098     1007,  993, 1008,  994, 1009,  995, 1010,  978, 1011, 1012,
1099      996, 1013, 1014,  997, 1015, 1016,  998, 1017, 1018,  999,
1100     1000, 1019, 1001, 1002, 1003, 1020, 1004, 1005, 1021, 1006,
1101
1102     1007, 1008, 1022, 1009, 1025, 1010, 1023, 1026, 1011, 1012,
1103     1024, 1013, 1014, 1015, 1016, 1028, 1017, 1029, 1018, 1030,
1104     1031, 1019, 1032, 1033, 1034, 1020, 1035, 1036, 1021, 1037,
1105     1038, 1022, 1039, 1025, 1040, 1023, 1041, 1026, 1042, 1024,
1106     1043, 1044, 1045, 1046, 1047, 1028, 1048, 1029, 1030, 1049,
1107     1031, 1032, 1033, 1034, 1050, 1057, 1035, 1036, 1037, 1038,
1108     1051, 1052, 1039, 1053, 1040, 1054, 1041, 1055, 1042, 1056,
1109     1043, 1044, 1045, 1046, 1047, 1048, 1058, 1059, 1060, 1049,
1110     1061,  620, 1062, 1063, 1050, 1057, 1064, 1065, 1066, 1051,
1111     1052, 1067, 1053, 1068, 1054, 1069, 1055, 1070, 1056, 1071,
1112
1113     1072, 1073, 1074, 1075,  409, 1076, 1058, 1059, 1060, 1077,
1114     1061, 1062, 1078, 1063, 1079, 1080, 1064, 1065, 1066, 1081,
1115     1067, 1082, 1083, 1068, 1084, 1069, 1085, 1070, 1086, 1071,
1116     1072, 1073, 1074, 1075, 1076, 1087, 1088, 1089, 1077, 1090,
1117     1091, 1092, 1078, 1079, 1093, 1080, 1094,  566, 1095, 1081,
1118     1082, 1096, 1083, 1097, 1084, 1098, 1085, 1099, 1086, 1100,
1119     1101,  524, 1102, 1103, 1104, 1087, 1088, 1089, 1090, 1091,
1120     1105, 1092,  416, 1093,  416,  420, 1094, 1095,  391,  518,
1121     1096,  518, 1097,  378,  457, 1098,  342, 1099, 1100,  339,
1122     1101, 1102, 1103,  336, 1104,  301,  299,  301,  296,  286,
1123
1124     1105,   62,   62,   62,   62,   62,   62,   62,   62,   62,
1125       62,   62,   62,   62,   62,   62,   62,   62,   82,   82,
1126       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
1127       82,   82,   82,   82,   82,   85,   85,   85,   85,   85,
1128       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
1129       85,   85,   88,   88,   88,   88,   88,   88,   88,   88,
1130       88,   88,   88,   88,   88,   88,   88,   88,   88,   92,
1131       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
1132       92,   92,   92,   92,   92,   92,  100,  100,  100,  100,
1133      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
1134
1135      100,  100,  100,   50,   50,   50,   50,   50,   50,   50,
1136       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
1137      112,  112,  112,  112,  112,  112,  112,  112,  112,  112,
1138      112,  112,  112,  112,  112,  112,  112,  118,  118,  118,
1139      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1140      118,  118,  118,  118,  123,  123,  123,  123,  123,  123,
1141      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
1142      123,  127,  127,  127,  127,  127,  127,  127,  127,  127,
1143      127,  127,  127,  127,  127,  127,  127,  127,  147,  147,
1144      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
1145
1146      147,  147,  147,  147,  147,  150,  150,  150,  150,  150,
1147      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
1148      150,  150,  156,  156,  156,  156,  156,  156,  156,  156,
1149      156,  156,  156,  156,  156,  156,  156,  156,  156,  161,
1150      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
1151      161,  161,  161,  161,  161,  161,  200,  200,  200,  200,
1152      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
1153      200,  200,  200,  204,  204,  204,  204,  204,  204,  204,
1154      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
1155      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
1156
1157      220,  220,  220,  220,  220,  220,  220,  224,  224,  224,
1158      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
1159      224,  224,  224,  224,  231,  231,  282,  231,  231,  423,
1160      422,  421,  231,  237,  237,  237,  237,  237,  237,  237,
1161      237,  237,  237,  237,  237,  237,  237,  237,  237,  248,
1162      248,  270,  248,  248,  420,  418,  417,  248,  259,  407,
1163      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
1164      259,  259,  259,  259,  259,  262,  254,  262,  262,  262,
1165      262,  262,  262,  262,  262,  262,  262,  262,  262,  262,
1166      262,  262,  268,  268,  268,  403,  268,  268,  250,  233,
1167
1168      229,  268,  280,  386,  280,  280,  280,  280,  280,  280,
1169      280,  280,  280,  280,  280,  280,  280,  280,  280,  281,
1170      385,  281,  281,  281,  281,  281,  281,  281,  281,  281,
1171      281,  281,  281,  281,  281,  281,  285,  285,  285,  285,
1172      285,  285,  285,  285,  285,  285,  285,  285,  384,  285,
1173      382,  285,  285,  295,  381,  380,  295,  295,  295,  295,
1174      295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1175      303,  303,  378,  303,  303,  342,  340,  339,  303,  308,
1176      338,  308,  308,  308,  308,  308,  308,  308,  308,  308,
1177      308,  308,  308,  308,  308,  308,  311,  337,  311,  311,
1178
1179      311,  311,  311,  311,  311,  311,  311,  311,  311,  311,
1180      317,  311,  311,  312,  336,  312,  335,  331,  312,  312,
1181      312,  312,  312,  329,  328,  327,  312,  314,  326,  314,
1182      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
1183      314,  314,  314,  314,  318,  318,  322,  318,  318,  321,
1184      317,  313,  318,  323,  323,  323,  323,  323,  323,  323,
1185      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
1186      330,  307,  330,  310,  330,  330,  330,  330,  330,  330,
1187      330,  330,  330,  307,  330,  330,  330,  332,  306,  332,
1188      332,  332,  332,  332,  332,  332,  332,  332,  332,  332,
1189
1190      332,  332,  332,  332,  341,  304,  341,  341,  341,  341,
1191      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
1192      341,  345,  345,  302,  299,  345,  345,  377,  301,  377,
1193      377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
1194      377,  377,  377,  377,  383,  297,  383,  383,  383,  296,
1195      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
1196      383,  231,  231,  294,  231,  231,  293,  292,  289,  231,
1197      388,  288,  388,  388,  388,  388,  388,  388,  388,  388,
1198      388,  388,  388,  388,  388,  388,  388,  389,  287,  389,
1199      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1200
1201      389,  389,  389,  389,  397,  397,  286,  282,  279,  397,
1202      399,  399,  278,  270,  258,  399,  400,  400,  400,  400,
1203      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
1204      400,  400,  400,  248,  248,  257,  248,  248,  256,  250,
1205      247,  248,  404,  404,  404,  404,  404,  404,  404,  404,
1206      404,  404,  404,  404,  404,  404,  404,  404,  404,  409,
1207      233,  409,  409,  409,  409,  409,  409,  409,  409,  409,
1208      409,  409,  409,  229,  409,  409,  259, 1106,  259,  259,
1209      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
1210      259,  259,  259,  419,  419,  111,  419,  419,  111, 1106,
1211
1212     1106,  419,  419,  424, 1106,  424,  424,  424,  424,  424,
1213      424,  424,  424,  424,  424,  424,  424,  424,  424,  424,
1214      280, 1106,  280,  280,  280,  280,  280,  280,  280,  280,
1215      280,  280,  280,  280,  280,  280,  280,  281, 1106,  281,
1216      281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
1217      281,  281,  281,  281,  426, 1106,  426,  426,  426,  426,
1218      426,  426,  426,  426,  426,  426,  426,  426,  426,  426,
1219      426,  427, 1106,  427,  427,  427,  427,  427,  427,  427,
1220      427,  427,  427,  427,  427,  427,  427,  427,  285,  285,
1221      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1222
1223     1106,  285, 1106,  285,  285,  430,  430,  430,  430,  430,
1224      430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1225      430,  430,  295, 1106, 1106,  295,  295,  295,  295,  295,
1226      295,  295,  295,  295,  295,  295,  295,  295,  295,  303,
1227      303, 1106,  303,  303, 1106, 1106, 1106,  303,  312, 1106,
1228      312, 1106, 1106,  312,  312,  312,  312,  312, 1106, 1106,
1229     1106,  312,  314, 1106,  314,  314,  314,  314,  314,  314,
1230      314,  314,  314,  314,  314,  314,  314,  314,  314,  318,
1231      318, 1106,  318,  318, 1106, 1106, 1106,  318,  323,  323,
1232      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
1233
1234      323,  323,  323,  323,  323,  330, 1106,  330, 1106,  330,
1235      330,  330,  330,  330,  330,  330,  330,  330, 1106,  330,
1236      330,  330,  447, 1106,  447,  447,  447,  447,  447,  447,
1237      447,  447,  447,  447,  447,  447,  447,  447,  447,  341,
1238     1106,  341,  341,  341,  341,  341,  341,  341,  341,  341,
1239      341,  341,  341,  341,  341,  341,  345,  345, 1106, 1106,
1240      345,  345,  377, 1106,  377,  377,  377,  377,  377,  377,
1241      377,  377,  377,  377,  377,  377,  377,  377,  377,  383,
1242     1106,  383,  383,  383, 1106,  383,  383,  383,  383,  383,
1243      383,  383,  383,  383,  383,  383,  388, 1106,  388,  388,
1244
1245      388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
1246      388,  388,  388,  389, 1106,  389,  389,  389,  389,  389,
1247      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1248      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
1249      498,  498,  498,  498,  498,  498,  498,  507,  507, 1106,
1250      507,  507, 1106, 1106, 1106,  507,  509,  509, 1106,  509,
1251      509, 1106, 1106, 1106,  509,  400,  400,  400,  400,  400,
1252      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
1253      400,  400,  404,  404,  404,  404,  404,  404,  404,  404,
1254      404,  404,  404,  404,  404,  404,  404,  404,  404,  409,
1255
1256     1106,  409,  409,  409,  409,  409,  409,  409,  409,  409,
1257      409,  409,  409, 1106,  409,  409,  419,  419, 1106,  419,
1258      419, 1106, 1106, 1106,  419,  419,  424, 1106,  424,  424,
1259      424,  424,  424,  424,  424,  424,  424,  424,  424,  424,
1260      424,  424,  424,  426, 1106,  426,  426,  426,  426,  426,
1261      426,  426,  426,  426,  426,  426,  426,  426,  426,  426,
1262      427, 1106,  427,  427,  427,  427,  427,  427,  427,  427,
1263      427,  427,  427,  427,  427,  427,  427,  430,  430,  430,
1264      430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1265      430,  430,  430,  430,  437,  437,  437,  318,  318, 1106,
1266
1267      318,  318, 1106, 1106, 1106,  318,  447, 1106,  447,  447,
1268      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
1269      447,  447,  447,  605, 1106,  605,  605,  605,  605,  605,
1270      605,  605,  605,  605,  605,  605,  605,  605,  605,  605,
1271      774,  774,  774,  774,  774,  774,  774,  774,  774,  774,
1272      774,  774,  774,  774,  774,  774,  774,  916,  916,  916,
1273      916,  916,  916,  916,  916,  916,  916,  916,  916,  916,
1274      916,  916,  916,  916,   49, 1106, 1106, 1106, 1106, 1106,
1275     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1276     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1277
1278     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1279     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1280     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1281     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1282     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1283     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106
1284    } ;
1285
1286static yyconst flex_int16_t yy_chk[4060] =
1287    {   0,
1288        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1289        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1290        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1291        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1292        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1293        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1294        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1295        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1296        1,    1,    1,    1,    2,    2,    2,    2,    2,    2,
1297        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1298
1299        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1300        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1301        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1302        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1303        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1304        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1305        2,    2,    2,    2,    2,    2,    2,    2,    3,    3,
1306       96,    3,    3,    5,    3,    5,    7,    3,    3,    3,
1307        3,    8,  992,    3,    3,    6,    6,  942,    6,   21,
1308        3,  941,    6,    3,    9,  126,    9,   11,   11,   96,
1309
1310       11,   12,   12,  940,   12,   17,  939,   17,   19,  138,
1311       19,   19,   27,   20,   27,   20,   20,   17,   22,    3,
1312        3,   17,   17,   17,   17,   28,    7,   28,    7,   51,
1313       51,    8,   51,    8,  126,   10,    9,   10,   79,   21,
1314       21,   10,   21,    9,    9,   87,    9,   87,    3,    3,
1315        3,    4,    4,  138,    4,    4,  938,    4,    4,   19,
1316        4,    4,    4,    4,   20,    9,    4,    4,   22,   22,
1317       95,   22,    9,    4,   73,   73,    4,   10,   23,   37,
1318       23,   45,   37,   45,   10,   10,   17,   10,  259,  259,
1319       45,   23,  142,  263,  263,   37,   37,   37,   37,  937,
1320
1321       95,   38,    4,    4,   38,    4,   10,   46,  147,   46,
1322      147,   79,   47,   10,   47,  936,   46,   38,   38,   38,
1323       38,  142,   47,   55,   55,  149,   55,  149,   23,   23,
1324       23,    4,    4,    4,   13,   13,   13,   13,   13,   13,
1325       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1326       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1327       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1328       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1329       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1330       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1331
1332       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1333       13,   13,   13,   13,   13,   13,   13,   13,   18,   24,
1334       18,   24,  168,   29,   58,   29,   74,   74,  935,   30,
1335       18,   30,   24,   29,   18,   18,   18,   18,   31,   30,
1336       31,   31,   32,  191,   32,   32,   48,  162,   48,   67,
1337       67,  168,   67,  246,  162,  246,   48,   75,   74,   75,
1338      141,   58,   75,   75,   75,   75,  167,  176,  177,   24,
1339       24,   24,  191,   29,  253,   29,  253,  105,  105,   30,
1340      105,   30,  116,  116,  116,  116,  294,   74,  294,   31,
1341      141,   58,  323,   32,  323,  934,  167,  176,  177,   18,
1342
1343       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1344       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1345       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1346       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1347       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1348       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1349       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1350       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1351       25,   25,   25,   25,   33,   33,   39,   33,   39,   34,
1352       34,   33,   34,  182,   41,   42,   34,  333,   43,  181,
1353
1354       33,   41,   42,  186,  333,   34,  203,  203,  203,  203,
1355      325,   43,  325,  181,   41,   42,  179,  187,  179,  188,
1356      314,   43,  179,  182,   41,   42,   43,   33,  194,   41,
1357       42,  199,   34,  186,   33,   33,   39,   33,   39,   34,
1358       34,   43,   34,  181,   41,   42,  179,  187,  179,  188,
1359       43,  179,  933,   41,   42,   43,   33,  194,   41,   42,
1360      199,   34,  932,   33,  314,   39,  931,   39,   34,   35,
1361       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1362       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1363       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1364
1365       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1366       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1367       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1368       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1369       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1370       35,   35,   35,   40,   44,   40,   63,   63,  193,   63,
1371      122,  122,  347,   63,  183,   76,   76,   44,   76,  125,
1372      125,  348,   76,  350,  195,  132,  132,   44,  180,  184,
1373      190,   76,   44,  409,  409,  183,  180,   76,  193,  930,
1374      190,  347,  122,  196,  183,  197,  198,   44,  873,  184,
1375
1376      348,  125,  350,   40,  195,   40,   44,  132,  180,  184,
1377      190,   44,  236,  189,  183,  244,  180,  189,  235,   76,
1378      190,  122,  258,  196,  872,  197,  198,  278,  184,  871,
1379      125,  290,   40,  291,   40,   59,  132,   63,  228,  228,
1380      192,  228,  236,  189,  260,  244,   76,  189,  232,  232,
1381      192,  232,  258,  192,   59,  235,   59,  278,   59,  249,
1382      249,  290,  249,  291,   59,  870,  249,   59,   59,   59,
1383      192,   59,   59,   59,  260,  260,  869,   59,  298,  298,
1384      192,  298,  192,  868,   59,  235,   59,  867,   59,  319,
1385      320,  866,  239,  239,   59,  239,  865,   59,   59,   59,
1386
1387       59,   59,   59,  864,  240,  240,   59,  240,   59,  239,
1388      239,  239,  239,  241,  241,  863,  241,  261,  261,  319,
1389      320,  240,  240,  240,  240,  242,  242,  352,  242,  343,
1390      241,  241,  241,  241,  354,  239,  305,  305,  305,  305,
1391      249,  344,  242,  242,  242,  242,  346,  862,  355,  261,
1392      269,  269,  349,  269,  241,  357,  352,  269,  353,  343,
1393      346,  356,  353,  354,  239,  242,  269,  358,  861,  349,
1394      359,  344,  269,  360,  359,  361,  346,  355,  261,  362,
1395      364,  366,  349,  367,  241,  357,  368,  369,  353,  346,
1396      356,  371,  353,  372,  371,  242,  368,  358,  349,  374,
1397
1398      359,  375,  360,  359,  269,  361,  415,  415,  362,  364,
1399      366,  400,  367,  400,  614,  614,  368,  369,  402,  860,
1400      402,  371,  859,  372,  371,  368,  858,  387,  374,  394,
1401      375,  269,  307,  307,  307,  307,  307,  307,  307,  307,
1402      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
1403      307,  307,  307,  307,  307,  307,  307,  387,  394,  404,
1404      307,  404,  307,  307,  307,  307,  307,  307,  307,  307,
1405      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
1406      307,  307,  307,  307,  307,  307,  370,  373,  390,  390,
1407      370,  390,  395,  396,  373,  370,  379,  379,  379,  379,
1408
1409      398,  406,  430,  406,  430,  390,  390,  390,  390,  408,
1410      410,  857,  423,  411,  411,  856,  370,  373,  448,  855,
1411      370,  395,  854,  396,  373,  370,  376,  425,  376,  428,
1412      398,  376,  376,  393,  393,  853,  393,  376,  376,  408,
1413      410,  410,  423,  376,  376,  411,  429,  448,  376,  411,
1414      393,  393,  393,  393,  852,  376,  376,  425,  376,  428,
1415      851,  376,  376,  420,  420,  420,  420,  376,  376,  432,
1416      847,  432,  376,  376,  411,  846,  429,  376,  412,  412,
1417      792,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1418      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1419
1420      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1421      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1422      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1423      412,  412,  791,  412,  412,  412,  412,  412,  412,  412,
1424      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1425      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
1426      412,  412,  413,  413,  445,  446,  441,  433,  434,  435,
1427      438,  439,  436,  442,  449,  459,  450,  498,  790,  498,
1428      440,  443,  789,  433,  434,  436,  441,  435,  451,  443,
1429      439,  788,  438,  442,  445,  446,  413,  413,  414,  414,
1430
1431      414,  414,  440,  449,  459,  440,  450,  414,  414,  414,
1432      414,  414,  414,  433,  434,  436,  441,  435,  451,  443,
1433      439,  438,  452,  442,  462,  453,  454,  455,  456,  787,
1434      458,  440,  414,  414,  440,  460,  786,  414,  414,  414,
1435      414,  414,  414,  444,  463,  464,  465,  467,  444,  444,
1436      444,  444,  452,  462,  444,  453,  454,  455,  456,  444,
1437      458,  466,  469,  444,  470,  460,  444,  785,  444,  471,
1438      784,  444,  472,  463,  473,  464,  465,  467,  444,  444,
1439      444,  444,  474,  475,  444,  476,  477,  478,  479,  444,
1440      466,  480,  469,  444,  470,  444,  482,  444,  483,  471,
1441
1442      444,  481,  472,  484,  473,  485,  486,  481,  487,  488,
1443      508,  489,  474,  475,  490,  476,  477,  478,  479,  491,
1444      492,  480,  493,  494,  783,  495,  482,  483,  497,  782,
1445      496,  481,  484,  496,  496,  485,  486,  481,  487,  488,
1446      489,  501,  504,  501,  490,  503,  503,  505,  503,  491,
1447      492,  523,  493,  494,  495,  506,  499,  499,  497,  499,
1448      496,  510,  496,  496,  502,  502,  600,  502,  600,  613,
1449      613,  613,  504,  499,  499,  499,  499,  505,  615,  615,
1450      523,  502,  502,  502,  502,  506,  601,  601,  780,  601,
1451      508,  510,  511,  511,  773,  511,  511,  511,  511,  511,
1452
1453      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
1454      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
1455      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
1456      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
1457      511,  511,  511,  511,  511,  511,  514,  511,  511,  511,
1458      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
1459      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
1460      511,  511,  511,  511,  511,  511,  512,  512,  520,  514,
1461      525,  527,  516,  516,  532,  526,  528,  770,  521,  522,
1462      526,  758,  607,  607,  529,  607,  531,  528,  525,  529,
1463
1464      525,  693,  532,  693,  744,  527,  530,  609,  520,  531,
1465      512,  512,  513,  513,  513,  513,  516,  516,  521,  522,
1466      526,  513,  513,  513,  513,  513,  513,  528,  525,  529,
1467      525,  535,  532,  530,  527,  733,  539,  533,  545,  531,
1468      609,  534,  533,  704,  535,  546,  545,  536,  537,  539,
1469      703,  513,  513,  513,  513,  513,  513,  517,  517,  517,
1470      517,  534,  530,  536,  537,  538,  517,  517,  517,  517,
1471      517,  517,  533,  540,  535,  546,  545,  699,  550,  539,
1472      542,  547,  551,  538,  541,  553,  543,  544,  554,  555,
1473      556,  534,  557,  536,  537,  540,  517,  517,  517,  517,
1474
1475      517,  517,  542,  541,  698,  542,  543,  544,  550,  557,
1476      547,  551,  558,  538,  553,  557,  560,  554,  559,  555,
1477      556,  563,  606,  564,  540,  565,  566,  692,  569,  570,
1478      574,  542,  572,  541,  542,  573,  543,  544,  576,  557,
1479      577,  578,  558,  579,  581,  557,  560,  559,  580,  582,
1480      583,  563,  564,  584,  565,  586,  566,  569,  587,  570,
1481      574,  572,  588,  590,  573,  589,  591,  576,  592,  594,
1482      577,  578,  593,  579,  581,  595,  596,  580,  582,  583,
1483      602,  595,  597,  584,  603,  586,  604,  616,  587,  611,
1484      611,  618,  588,  590,  589,  591,  621,  624,  592,  594,
1485
1486      619,  593,  606,  686,  622,  595,  596,  701,  701,  602,
1487      595,  623,  597,  626,  603,  604,  622,  616,  625,  624,
1488      618,  621,  628,  611,  611,  612,  612,  612,  612,  623,
1489      619,  625,  627,  626,  612,  612,  612,  612,  612,  612,
1490      628,  627,  629,  631,  630,  632,  622,  682,  624,  629,
1491      621,  630,  631,  634,  633,  774,  632,  774,  634,  623,
1492      635,  625,  636,  626,  612,  612,  612,  612,  612,  612,
1493      628,  627,  633,  636,  633,  637,  639,  640,  638,  629,
1494      637,  630,  631,  643,  635,  641,  632,  642,  634,  639,
1495      641,  668,  644,  645,  648,  640,  643,  664,  647,  650,
1496
1497      655,  653,  633,  636,  633,  638,  648,  642,  658,  654,
1498      637,  653,  657,  635,  659,  661,  662,  663,  665,  639,
1499      641,  644,  666,  645,  648,  640,  643,  647,  667,  650,
1500      655,  653,  669,  670,  638,  671,  648,  642,  654,  673,
1501      653,  674,  657,  659,  675,  661,  662,  663,  665,  676,
1502      679,  666,  678,  680,  681,  683,  684,  685,  667,  687,
1503      688,  669,  670,  689,  671,  690,  691,  694,  695,  673,
1504      674,  696,  696,  675,  696,  700,  700,  700,  711,  676,
1505      679,  678,  680,  707,  681,  683,  684,  685,  709,  687,
1506      688,  710,  689,  702,  702,  690,  691,  694,  695,  708,
1507
1508      707,  712,  711,  709,  708,  713,  716,  710,  714,  718,
1509      721,  715,  720,  712,  717,  716,  719,  722,  727, 1147,
1510     1147,  734,  718,  652,  720,  727,  724,  713,  721,  723,
1511      707,  711,  714,  709,  708,  715,  717,  710,  725,  722,
1512      729,  719,  723,  712,  726,  716,  724,  725,  730,  729,
1513      728,  734,  718,  735,  720,  727,  713,  728,  721,  730,
1514      738,  714,  726,  737,  715,  717,  739,  740,  722,  741,
1515      719,  742,  723,  737,  617,  743,  724,  725,  745,  729,
1516      746,  747,  735,  748,  749,  750,  752,  728,  751,  730,
1517      738,  754,  726,  737,  756,  760,  739,  740,  741,  761,
1518
1519      742,  762,  765,  737,  743,  767,  771,  776,  745,  776,
1520      746,  747,  778,  748,  749,  750,  752,  751,  772,  795,
1521      849,  754,  849,  756,  795,  760,  764,  764,  793,  761,
1522      762,  764,  765,  794,  764,  767,  771,  764,  768,  768,
1523      796,  778,  764,  768,  797,  809,  768,  799,  772,  768,
1524      794,  798,  793,  801,  795,  796,  764,  764,  802,  799,
1525      797,  764,  800,  803,  764,  804,  806,  764,  768,  768,
1526      807,  764,  803,  768,  809,  798,  768,  801,  805,  768,
1527      794,  793,  802,  811,  800,  796,  814,  804,  808,  799,
1528      797,  805,  810,  812,  610,  816,  806,  817,  608,  818,
1529
1530      807,  819,  803,  820,  798,  821,  801,  823,  825,  826,
1531      828,  802,  811,  800,  832,  814,  804,  833,  808,  834,
1532      837,  805,  810,  812,  816,  836,  828,  817,  818,  838,
1533      839,  819,  820,  840,  842,  821,  841,  823,  825,  826,
1534      828,  835,  598,  844,  832,  835,  833,  845,  835,  834,
1535      837,  848,  875,  843,  836,  828,  843,  874,  835,  838,
1536      839,  876,  878,  840,  842,  841,  843,  877,  879,  880,
1537      883,  835,  844,  881,  884,  835,  845,  885,  835,  886,
1538      848,  874,  875,  843,  888,  889,  843,  835,  890,  571,
1539      891,  876,  878,  892,  893,  843,  877,  894,  879,  880,
1540
1541      883,  895,  881,  897,  884,  898,  899,  885,  900,  886,
1542      874,  901,  902,  888,  904,  889,  905,  908,  890,  891,
1543      906,  909,  910,  892,  893,  911,  912,  894,  913,  915,
1544      895,  914,  916,  897,  916,  898,  899,  918,  900,  918,
1545      901,  902,  943,  944,  904,  945,  905,  908,  914,  906,
1546      946,  909,  910,  947,  911,  912,  948,  913,  915,  949,
1547      950,  914,  951,  568,  952,  953,  954,  552,  955,  956,
1548      958,  943,  959,  944,  960,  945,  961,  914,  962,  963,
1549      946,  964,  965,  947,  967,  969,  948,  970,  971,  949,
1550      950,  972,  951,  952,  953,  973,  954,  955,  975,  956,
1551
1552      958,  959,  976,  960,  978,  961,  977,  979,  962,  963,
1553      977,  964,  965,  967,  969,  993,  970,  994,  971,  995,
1554      996,  972,  997,  998,  999,  973, 1001, 1002,  975, 1004,
1555     1005,  976, 1006,  978, 1007,  977, 1008,  979, 1009,  977,
1556     1010, 1012, 1016, 1017, 1018,  993, 1021,  994,  995, 1022,
1557      996,  997,  998,  999, 1023, 1031, 1001, 1002, 1004, 1005,
1558     1024, 1025, 1006, 1026, 1007, 1028, 1008, 1029, 1009, 1030,
1559     1010, 1012, 1016, 1017, 1018, 1021, 1032, 1033, 1034, 1022,
1560     1037,  524, 1039, 1041, 1023, 1031, 1044, 1047, 1048, 1024,
1561     1025, 1049, 1026, 1050, 1028, 1051, 1029, 1052, 1030, 1053,
1562
1563     1054, 1055, 1056, 1058,  515, 1059, 1032, 1033, 1034, 1060,
1564     1037, 1039, 1061, 1041, 1063, 1067, 1044, 1047, 1048, 1068,
1565     1049, 1069, 1070, 1050, 1072, 1051, 1073, 1052, 1074, 1053,
1566     1054, 1055, 1056, 1058, 1059, 1075, 1076, 1077, 1060, 1078,
1567     1081, 1083, 1061, 1063, 1084, 1067, 1085,  468, 1086, 1068,
1568     1069, 1087, 1070, 1088, 1072, 1090, 1073, 1093, 1074, 1094,
1569     1097,  437, 1098, 1099, 1102, 1075, 1076, 1077, 1078, 1081,
1570     1103, 1083, 1160, 1084, 1160,  419, 1085, 1086,  392, 1189,
1571     1087, 1189, 1088,  377,  351, 1090,  341, 1093, 1094,  339,
1572     1097, 1098, 1099,  334, 1102,  301,  300,  299,  296,  285,
1573
1574     1103, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
1575     1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108, 1108,
1576     1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1577     1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1109,
1578     1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
1579     1109, 1109, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
1580     1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111,
1581     1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
1582     1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112,
1583     1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
1584
1585     1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1586     1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1587     1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1588     1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115,
1589     1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1590     1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1116,
1591     1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1592     1116, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1593     1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118,
1594     1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1595
1596     1118, 1118, 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119,
1597     1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1598     1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1599     1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121,
1600     1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1601     1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122,
1602     1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1603     1122, 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1604     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1605     1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1606
1607     1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125,
1608     1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1609     1125, 1125, 1125, 1125, 1126, 1126,  282, 1126, 1126,  274,
1610      273,  272, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1611     1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128,
1612     1128,  271, 1128, 1128,  268,  266,  265, 1128, 1129,  256,
1613     1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1614     1129, 1129, 1129, 1129, 1129, 1130,  255, 1130, 1130, 1130,
1615     1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1616     1130, 1130, 1131, 1131, 1131,  252, 1131, 1131,  251,  234,
1617
1618      230, 1131, 1132,  227, 1132, 1132, 1132, 1132, 1132, 1132,
1619     1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133,
1620      226, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1621     1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134, 1134,
1622     1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,  222, 1134,
1623      208, 1134, 1134, 1135,  207,  206, 1135, 1135, 1135, 1135,
1624     1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
1625     1136, 1136,  202, 1136, 1136,  175,  174,  172, 1136, 1137,
1626      170, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
1627     1137, 1137, 1137, 1137, 1137, 1137, 1138,  169, 1138, 1138,
1628
1629     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1630      166, 1138, 1138, 1139,  165, 1139,  164,  158, 1139, 1139,
1631     1139, 1139, 1139,  155,  154,  153, 1139, 1140,  152, 1140,
1632     1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
1633     1140, 1140, 1140, 1140, 1141, 1141,  144, 1141, 1141,  143,
1634      139,  136, 1141, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1635     1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1636     1143,  131, 1143,  129, 1143, 1143, 1143, 1143, 1143, 1143,
1637     1143, 1143, 1143,  124, 1143, 1143, 1143, 1144,  120, 1144,
1638     1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1639
1640     1144, 1144, 1144, 1144, 1145,  114, 1145, 1145, 1145, 1145,
1641     1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
1642     1145, 1146, 1146,  109,  107, 1146, 1146, 1148,  106, 1148,
1643     1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1644     1148, 1148, 1148, 1148, 1149,  103, 1149, 1149, 1149,  101,
1645     1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1646     1149, 1150, 1150,   99, 1150, 1150,   98,   97,   94, 1150,
1647     1151,   91, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1648     1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152,   90, 1152,
1649     1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
1650
1651     1152, 1152, 1152, 1152, 1153, 1153,   88,   86,   84, 1153,
1652     1154, 1154,   80,   78,   72, 1154, 1155, 1155, 1155, 1155,
1653     1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1654     1155, 1155, 1155, 1156, 1156,   71, 1156, 1156,   68,   65,
1655       60, 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
1656     1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1158,
1657       57, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1658     1158, 1158, 1158,   53, 1158, 1158, 1159,   49, 1159, 1159,
1659     1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
1660     1159, 1159, 1159, 1161, 1161,   16, 1161, 1161,   15,    0,
1661
1662        0, 1161, 1161, 1162,    0, 1162, 1162, 1162, 1162, 1162,
1663     1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1664     1163,    0, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
1665     1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164,    0, 1164,
1666     1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1667     1164, 1164, 1164, 1164, 1165,    0, 1165, 1165, 1165, 1165,
1668     1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1669     1165, 1166,    0, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
1670     1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 1167,
1671     1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1672
1673        0, 1167,    0, 1167, 1167, 1168, 1168, 1168, 1168, 1168,
1674     1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1675     1168, 1168, 1169,    0,    0, 1169, 1169, 1169, 1169, 1169,
1676     1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170,
1677     1170,    0, 1170, 1170,    0,    0,    0, 1170, 1171,    0,
1678     1171,    0,    0, 1171, 1171, 1171, 1171, 1171,    0,    0,
1679        0, 1171, 1172,    0, 1172, 1172, 1172, 1172, 1172, 1172,
1680     1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1173,
1681     1173,    0, 1173, 1173,    0,    0,    0, 1173, 1174, 1174,
1682     1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
1683
1684     1174, 1174, 1174, 1174, 1174, 1175,    0, 1175,    0, 1175,
1685     1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,    0, 1175,
1686     1175, 1175, 1176,    0, 1176, 1176, 1176, 1176, 1176, 1176,
1687     1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177,
1688        0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1689     1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178,    0,    0,
1690     1178, 1178, 1179,    0, 1179, 1179, 1179, 1179, 1179, 1179,
1691     1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180,
1692        0, 1180, 1180, 1180,    0, 1180, 1180, 1180, 1180, 1180,
1693     1180, 1180, 1180, 1180, 1180, 1180, 1181,    0, 1181, 1181,
1694
1695     1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1696     1181, 1181, 1181, 1182,    0, 1182, 1182, 1182, 1182, 1182,
1697     1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1698     1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
1699     1183, 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184,    0,
1700     1184, 1184,    0,    0,    0, 1184, 1185, 1185,    0, 1185,
1701     1185,    0,    0,    0, 1185, 1186, 1186, 1186, 1186, 1186,
1702     1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
1703     1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1704     1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1188,
1705
1706        0, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
1707     1188, 1188, 1188,    0, 1188, 1188, 1190, 1190,    0, 1190,
1708     1190,    0,    0,    0, 1190, 1190, 1191,    0, 1191, 1191,
1709     1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1710     1191, 1191, 1191, 1192,    0, 1192, 1192, 1192, 1192, 1192,
1711     1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
1712     1193,    0, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1713     1193, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1194,
1714     1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
1715     1194, 1194, 1194, 1194, 1195, 1195, 1195, 1196, 1196,    0,
1716
1717     1196, 1196,    0,    0,    0, 1196, 1197,    0, 1197, 1197,
1718     1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
1719     1197, 1197, 1197, 1198,    0, 1198, 1198, 1198, 1198, 1198,
1720     1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1721     1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1722     1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1723     1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1724     1200, 1200, 1200, 1200, 1106, 1106, 1106, 1106, 1106, 1106,
1725     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1726     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1727
1728     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1729     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1730     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1731     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1732     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1733     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106
1734    } ;
1735
1736static yy_state_type yy_last_accepting_state;
1737static char *yy_last_accepting_cpos;
1738
1739extern int yy_flex_debug;
1740int yy_flex_debug = 0;
1741
1742/* The intent behind this definition is that it'll catch
1743 * any uses of REJECT which flex missed.
1744 */
1745#define REJECT reject_used_but_not_detected
1746static int yy_more_flag = 0;
1747static int yy_more_len = 0;
1748#define yymore() ((yy_more_flag) = 1)
1749#define YY_MORE_ADJ (yy_more_len)
1750#define YY_RESTORE_YY_MORE_OFFSET
1751char *yytext;
1752#line 1 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
1753/*	$NetBSD: initscan.c,v 1.1 2016/01/09 17:39:52 christos Exp $	*/
1754/* scan.l - scanner for flex input -*-C-*- */
1755#line 6 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
1756/*  Copyright (c) 1990 The Regents of the University of California. */
1757/*  All rights reserved. */
1758
1759/*  This code is derived from software contributed to Berkeley by */
1760/*  Vern Paxson. */
1761
1762/*  The United States Government has rights in this work pursuant */
1763/*  to contract no. DE-AC03-76SF00098 between the United States */
1764/*  Department of Energy and the University of California. */
1765
1766/*  This file is part of flex. */
1767
1768/*  Redistribution and use in source and binary forms, with or without */
1769/*  modification, are permitted provided that the following conditions */
1770/*  are met: */
1771
1772/*  1. Redistributions of source code must retain the above copyright */
1773/*     notice, this list of conditions and the following disclaimer. */
1774/*  2. Redistributions in binary form must reproduce the above copyright */
1775/*     notice, this list of conditions and the following disclaimer in the */
1776/*     documentation and/or other materials provided with the distribution. */
1777
1778/*  Neither the name of the University nor the names of its contributors */
1779/*  may be used to endorse or promote products derived from this software */
1780/*  without specific prior written permission. */
1781
1782/*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1783/*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1784/*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1785/*  PURPOSE. */
1786#include "flexdef.h"
1787__RCSID("$NetBSD: initscan.c,v 1.1 2016/01/09 17:39:52 christos Exp $");
1788
1789#include "parse.h"
1790extern bool tablesverify, tablesext;
1791extern int trlcontxt; /* Set in  parse.y for each rule. */
1792extern const char *escaped_qstart, *escaped_qend;
1793
1794#define ACTION_ECHO add_action( yytext )
1795#define ACTION_IFDEF(def, should_define) \
1796	{ \
1797	if ( should_define ) \
1798		action_define( def, 1 ); \
1799	}
1800
1801#define ACTION_ECHO_QSTART add_action (escaped_qstart)
1802#define ACTION_ECHO_QEND   add_action (escaped_qend)
1803
1804#define ACTION_M4_IFDEF(def, should_define) \
1805    do{ \
1806        if ( should_define ) \
1807            buf_m4_define( &m4defs_buf, def, NULL);\
1808        else \
1809            buf_m4_undefine( &m4defs_buf, def);\
1810    } while(0)
1811
1812#define MARK_END_OF_PROLOG mark_prolog();
1813
1814#define YY_DECL \
1815	int flexscan()
1816
1817#define RETURNCHAR \
1818	yylval = (unsigned char) yytext[0]; \
1819	return CHAR;
1820
1821#define RETURNNAME \
1822	if(yyleng < MAXLINE) \
1823         { \
1824	strlcpy( nmstr, yytext, sizeof(nmstr) ); \
1825	 } \
1826	else \
1827	 { \
1828	   synerr(_("Input line too long\n")); \
1829	   FLEX_EXIT(EXIT_FAILURE);  \
1830	 }  \
1831	return NAME;
1832
1833#define PUT_BACK_STRING(str, start) \
1834	for ( i = strlen( str ) - 1; i >= start; --i ) \
1835		unput((str)[i])
1836
1837#define CHECK_RE_JECT(str) \
1838	if ( all_upper( str ) ) \
1839		reject = true
1840
1841#define CHECK_YYMORE(str) \
1842	if ( all_lower( str ) ) \
1843		yymore_used = true;
1844
1845#define YY_USER_INIT \
1846	if ( getenv("POSIXLY_CORRECT") ) \
1847		posix_compat = true;
1848
1849
1850
1851
1852
1853
1854
1855
1856#line 1857 "<stdout>"
1857
1858#define INITIAL 0
1859#define SECT2 1
1860#define SECT2PROLOG 2
1861#define SECT3 3
1862#define CODEBLOCK 4
1863#define PICKUPDEF 5
1864#define SC 6
1865#define CARETISBOL 7
1866#define NUM 8
1867#define QUOTE 9
1868#define FIRSTCCL 10
1869#define CCL 11
1870#define ACTION 12
1871#define RECOVER 13
1872#define COMMENT 14
1873#define ACTION_STRING 15
1874#define PERCENT_BRACE_ACTION 16
1875#define OPTION 17
1876#define LINEDIR 18
1877#define CODEBLOCK_MATCH_BRACE 19
1878#define GROUP_WITH_PARAMS 20
1879#define GROUP_MINUS_PARAMS 21
1880#define EXTENDED_COMMENT 22
1881#define COMMENT_DISCARD 23
1882
1883#ifndef YY_NO_UNISTD_H
1884/* Special case for "unistd.h", since it is non-ANSI. We include it way
1885 * down here because we want the user's section 1 to have been scanned first.
1886 * The user has a chance to override it with an option.
1887 */
1888#include <unistd.h>
1889#endif
1890
1891#ifndef YY_EXTRA_TYPE
1892#define YY_EXTRA_TYPE void *
1893#endif
1894
1895static int yy_init_globals (void );
1896
1897/* Accessor methods to globals.
1898   These are made visible to non-reentrant scanners for convenience. */
1899
1900int yylex_destroy (void );
1901
1902int yyget_debug (void );
1903
1904void yyset_debug (int debug_flag  );
1905
1906YY_EXTRA_TYPE yyget_extra (void );
1907
1908void yyset_extra (YY_EXTRA_TYPE user_defined  );
1909
1910FILE *yyget_in (void );
1911
1912void yyset_in  (FILE * _in_str  );
1913
1914FILE *yyget_out (void );
1915
1916void yyset_out  (FILE * _out_str  );
1917
1918yy_size_t yyget_leng (void );
1919
1920char *yyget_text (void );
1921
1922int yyget_lineno (void );
1923
1924void yyset_lineno (int _line_number  );
1925
1926/* Macros after this point can all be overridden by user definitions in
1927 * section 1.
1928 */
1929
1930#ifndef YY_SKIP_YYWRAP
1931#ifdef __cplusplus
1932extern "C" int yywrap (void );
1933#else
1934extern int yywrap (void );
1935#endif
1936#endif
1937
1938#ifndef YY_NO_UNPUT
1939
1940    static void yyunput (int c,char *buf_ptr  );
1941
1942#endif
1943
1944#ifndef yytext_ptr
1945static void yy_flex_strncpy (char *,yyconst char *,int );
1946#endif
1947
1948#ifdef YY_NEED_STRLEN
1949static int yy_flex_strlen (yyconst char * );
1950#endif
1951
1952#ifndef YY_NO_INPUT
1953
1954#ifdef __cplusplus
1955static int yyinput (void );
1956#else
1957static int input (void );
1958#endif
1959
1960#endif
1961
1962        static int yy_start_stack_ptr = 0;
1963        static int yy_start_stack_depth = 0;
1964        static int *yy_start_stack = NULL;
1965
1966    static void yy_push_state (int _new_state );
1967
1968    static void yy_pop_state (void );
1969
1970/* Amount of stuff to slurp up with each read. */
1971#ifndef YY_READ_BUF_SIZE
1972#ifdef __ia64__
1973/* On IA-64, the buffer size is 16k, not 8k */
1974#define YY_READ_BUF_SIZE 16384
1975#else
1976#define YY_READ_BUF_SIZE 8192
1977#endif /* __ia64__ */
1978#endif
1979
1980/* Copy whatever the last rule matched to the standard output. */
1981#ifndef ECHO
1982/* This used to be an fputs(), but since the string might contain NUL's,
1983 * we now use fwrite().
1984 */
1985#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1986#endif
1987
1988/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1989 * is returned in "result".
1990 */
1991#ifndef YY_INPUT
1992#define YY_INPUT(buf,result,max_size) \
1993	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1994		{ \
1995		int c = '*'; \
1996		size_t n; \
1997		for ( n = 0; n < max_size && \
1998			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1999			buf[n] = (char) c; \
2000		if ( c == '\n' ) \
2001			buf[n++] = (char) c; \
2002		if ( c == EOF && ferror( yyin ) ) \
2003			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2004		result = n; \
2005		} \
2006	else \
2007		{ \
2008		errno=0; \
2009		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
2010			{ \
2011			if( errno != EINTR) \
2012				{ \
2013				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2014				break; \
2015				} \
2016			errno=0; \
2017			clearerr(yyin); \
2018			} \
2019		}\
2020\
2021
2022#endif
2023
2024/* No semi-colon after return; correct usage is to write "yyterminate();" -
2025 * we don't want an extra ';' after the "return" because that will cause
2026 * some compilers to complain about unreachable statements.
2027 */
2028#ifndef yyterminate
2029#define yyterminate() return YY_NULL
2030#endif
2031
2032/* Number of entries by which start-condition stack grows. */
2033#ifndef YY_START_STACK_INCR
2034#define YY_START_STACK_INCR 25
2035#endif
2036
2037/* Report a fatal error. */
2038#ifndef YY_FATAL_ERROR
2039#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2040#endif
2041
2042/* end tables serialization structures and prototypes */
2043
2044/* Default declaration of generated scanner - a define so the user can
2045 * easily add parameters.
2046 */
2047#ifndef YY_DECL
2048#define YY_DECL_IS_OURS 1
2049
2050extern int yylex (void);
2051
2052#define YY_DECL int yylex (void)
2053#endif /* !YY_DECL */
2054
2055/* Code executed at the beginning of each rule, after yytext and yyleng
2056 * have been set up.
2057 */
2058#ifndef YY_USER_ACTION
2059#define YY_USER_ACTION
2060#endif
2061
2062/* Code executed at the end of each rule. */
2063#ifndef YY_BREAK
2064#define YY_BREAK /*LINTED*/break;
2065#endif
2066
2067#define YY_RULE_SETUP \
2068	if ( yyleng > 0 ) \
2069		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2070				(yytext[yyleng - 1] == '\n'); \
2071	YY_USER_ACTION
2072
2073/** The main scanner function which does all the work.
2074 */
2075YY_DECL
2076{
2077	yy_state_type yy_current_state;
2078	char *yy_cp, *yy_bp;
2079	int yy_act;
2080
2081	if ( !(yy_init) )
2082		{
2083		(yy_init) = 1;
2084
2085#ifdef YY_USER_INIT
2086		YY_USER_INIT;
2087#endif
2088
2089		if ( ! (yy_start) )
2090			(yy_start) = 1;	/* first start state */
2091
2092		if ( ! yyin )
2093			yyin = stdin;
2094
2095		if ( ! yyout )
2096			yyout = stdout;
2097
2098		if ( ! YY_CURRENT_BUFFER ) {
2099			yyensure_buffer_stack ();
2100			YY_CURRENT_BUFFER_LVALUE =
2101				yy_create_buffer(yyin,YY_BUF_SIZE );
2102		}
2103
2104		yy_load_buffer_state( );
2105		}
2106
2107	{
2108#line 134 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2109
2110	static int bracelevel, didadef, indented_code;
2111	static int doing_rule_action = false;
2112	static int option_sense;
2113
2114	int doing_codeblock = false;
2115	int i, brace_depth=0, brace_start_line=0;
2116	Char nmdef[MAXLINE];
2117
2118
2119#line 2120 "<stdout>"
2120
2121	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2122		{
2123		(yy_more_len) = 0;
2124		if ( (yy_more_flag) )
2125			{
2126			(yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
2127			(yy_more_flag) = 0;
2128			}
2129		yy_cp = (yy_c_buf_p);
2130
2131		/* Support of yytext. */
2132		*yy_cp = (yy_hold_char);
2133
2134		/* yy_bp points to the position in yy_ch_buf of the start of
2135		 * the current run.
2136		 */
2137		yy_bp = yy_cp;
2138
2139		yy_current_state = (yy_start);
2140		yy_current_state += YY_AT_BOL();
2141yy_match:
2142		do
2143			{
2144			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2145			if ( yy_accept[yy_current_state] )
2146				{
2147				(yy_last_accepting_state) = yy_current_state;
2148				(yy_last_accepting_cpos) = yy_cp;
2149				}
2150			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2151				{
2152				yy_current_state = (int) yy_def[yy_current_state];
2153				if ( yy_current_state >= 1107 )
2154					yy_c = yy_meta[(unsigned int) yy_c];
2155				}
2156			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2157			++yy_cp;
2158			}
2159		while ( yy_base[yy_current_state] != 3975 );
2160
2161yy_find_action:
2162		yy_act = yy_accept[yy_current_state];
2163		if ( yy_act == 0 )
2164			{ /* have to back up */
2165			yy_cp = (yy_last_accepting_cpos);
2166			yy_current_state = (yy_last_accepting_state);
2167			yy_act = yy_accept[yy_current_state];
2168			}
2169
2170		YY_DO_BEFORE_ACTION;
2171
2172do_action:	/* This label is used only to access EOF actions. */
2173
2174		switch ( yy_act )
2175	{ /* beginning of action switch */
2176			case 0: /* must back up */
2177			/* undo the effects of YY_DO_BEFORE_ACTION */
2178			*yy_cp = (yy_hold_char);
2179			yy_cp = (yy_last_accepting_cpos);
2180			yy_current_state = (yy_last_accepting_state);
2181			goto yy_find_action;
2182
2183case 1:
2184YY_RULE_SETUP
2185#line 145 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2186indented_code = true; BEGIN(CODEBLOCK);
2187	YY_BREAK
2188case 2:
2189YY_RULE_SETUP
2190#line 146 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2191ACTION_ECHO; yy_push_state( COMMENT );
2192	YY_BREAK
2193case 3:
2194YY_RULE_SETUP
2195#line 147 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2196yy_push_state( LINEDIR );
2197	YY_BREAK
2198case 4:
2199YY_RULE_SETUP
2200#line 148 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2201return SCDECL;
2202	YY_BREAK
2203case 5:
2204YY_RULE_SETUP
2205#line 149 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2206return XSCDECL;
2207	YY_BREAK
2208case 6:
2209/* rule 6 can match eol */
2210YY_RULE_SETUP
2211#line 150 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2212{
2213			++linenum;
2214			line_directive_out( (FILE *) 0, 1 );
2215			indented_code = false;
2216			BEGIN(CODEBLOCK);
2217			}
2218	YY_BREAK
2219case 7:
2220/* rule 7 can match eol */
2221YY_RULE_SETUP
2222#line 156 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2223{
2224                brace_start_line = linenum;
2225                ++linenum;
2226                buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2227                brace_depth = 1;
2228                yy_push_state(CODEBLOCK_MATCH_BRACE);
2229            }
2230	YY_BREAK
2231case 8:
2232YY_RULE_SETUP
2233#line 164 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2234synerr( _("malformed '%top' directive") );
2235	YY_BREAK
2236case 9:
2237YY_RULE_SETUP
2238#line 166 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2239/* discard */
2240	YY_BREAK
2241case 10:
2242YY_RULE_SETUP
2243#line 168 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2244{
2245			sectnum = 2;
2246			bracelevel = 0;
2247			mark_defs1();
2248			line_directive_out( (FILE *) 0, 1 );
2249			BEGIN(SECT2PROLOG);
2250			return SECTEND;
2251			}
2252	YY_BREAK
2253case 11:
2254/* rule 11 can match eol */
2255YY_RULE_SETUP
2256#line 177 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2257yytext_is_array = false; ++linenum;
2258	YY_BREAK
2259case 12:
2260/* rule 12 can match eol */
2261YY_RULE_SETUP
2262#line 178 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2263yytext_is_array = true; ++linenum;
2264	YY_BREAK
2265case 13:
2266YY_RULE_SETUP
2267#line 180 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2268BEGIN(OPTION); return OPTION_OP;
2269	YY_BREAK
2270case 14:
2271/* rule 14 can match eol */
2272YY_RULE_SETUP
2273#line 182 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2274++linenum; /* ignore */
2275	YY_BREAK
2276case 15:
2277/* rule 15 can match eol */
2278YY_RULE_SETUP
2279#line 183 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2280++linenum;	/* ignore */
2281	YY_BREAK
2282/* xgettext: no-c-format */
2283case 16:
2284/* rule 16 can match eol */
2285YY_RULE_SETUP
2286#line 186 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2287synerr( _( "unrecognized '%' directive" ) );
2288	YY_BREAK
2289case 17:
2290YY_RULE_SETUP
2291#line 188 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2292{
2293			if(yyleng < MAXLINE)
2294        		 {
2295			strlcpy( nmstr, yytext, sizeof(nmstr) );
2296			 }
2297			else
2298			 {
2299			   synerr( _("Definition name too long\n"));
2300			   FLEX_EXIT(EXIT_FAILURE);
2301			 }
2302
2303			didadef = false;
2304			BEGIN(PICKUPDEF);
2305			}
2306	YY_BREAK
2307case 18:
2308YY_RULE_SETUP
2309#line 203 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2310RETURNNAME;
2311	YY_BREAK
2312case 19:
2313/* rule 19 can match eol */
2314YY_RULE_SETUP
2315#line 204 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2316++linenum; /* allows blank lines in section 1 */
2317	YY_BREAK
2318case 20:
2319/* rule 20 can match eol */
2320YY_RULE_SETUP
2321#line 205 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2322ACTION_ECHO; ++linenum; /* maybe end of comment line */
2323	YY_BREAK
2324
2325
2326case 21:
2327YY_RULE_SETUP
2328#line 210 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2329ACTION_ECHO; yy_pop_state();
2330	YY_BREAK
2331case 22:
2332YY_RULE_SETUP
2333#line 211 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2334ACTION_ECHO;
2335	YY_BREAK
2336case 23:
2337YY_RULE_SETUP
2338#line 212 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2339ACTION_ECHO_QSTART;
2340	YY_BREAK
2341case 24:
2342YY_RULE_SETUP
2343#line 213 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2344ACTION_ECHO_QEND;
2345	YY_BREAK
2346case 25:
2347YY_RULE_SETUP
2348#line 214 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2349ACTION_ECHO;
2350	YY_BREAK
2351case 26:
2352/* rule 26 can match eol */
2353YY_RULE_SETUP
2354#line 215 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2355++linenum; ACTION_ECHO;
2356	YY_BREAK
2357
2358
2359/* This is the same as COMMENT, but is discarded rather than output. */
2360case 27:
2361YY_RULE_SETUP
2362#line 220 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2363yy_pop_state();
2364	YY_BREAK
2365case 28:
2366YY_RULE_SETUP
2367#line 221 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2368;
2369	YY_BREAK
2370case 29:
2371YY_RULE_SETUP
2372#line 222 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2373;
2374	YY_BREAK
2375case 30:
2376/* rule 30 can match eol */
2377YY_RULE_SETUP
2378#line 223 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2379++linenum;
2380	YY_BREAK
2381
2382
2383case 31:
2384YY_RULE_SETUP
2385#line 227 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2386yy_pop_state();
2387	YY_BREAK
2388case 32:
2389YY_RULE_SETUP
2390#line 228 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2391;
2392	YY_BREAK
2393case 33:
2394/* rule 33 can match eol */
2395YY_RULE_SETUP
2396#line 229 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2397++linenum;
2398	YY_BREAK
2399
2400
2401case 34:
2402/* rule 34 can match eol */
2403YY_RULE_SETUP
2404#line 233 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2405yy_pop_state();
2406	YY_BREAK
2407case 35:
2408YY_RULE_SETUP
2409#line 234 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2410linenum = myctoi( yytext );
2411	YY_BREAK
2412case 36:
2413YY_RULE_SETUP
2414#line 236 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2415{
2416			flex_free( (void *) infilename );
2417			infilename = copy_string( yytext + 1 );
2418			infilename[strlen( infilename ) - 1] = '\0';
2419			}
2420	YY_BREAK
2421case 37:
2422YY_RULE_SETUP
2423#line 241 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2424/* ignore spurious characters */
2425	YY_BREAK
2426
2427
2428case 38:
2429/* rule 38 can match eol */
2430YY_RULE_SETUP
2431#line 245 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2432++linenum; BEGIN(INITIAL);
2433	YY_BREAK
2434case 39:
2435YY_RULE_SETUP
2436#line 247 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2437ACTION_ECHO_QSTART;
2438	YY_BREAK
2439case 40:
2440YY_RULE_SETUP
2441#line 248 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2442ACTION_ECHO_QEND;
2443	YY_BREAK
2444case 41:
2445YY_RULE_SETUP
2446#line 249 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2447ACTION_ECHO;
2448	YY_BREAK
2449case 42:
2450/* rule 42 can match eol */
2451YY_RULE_SETUP
2452#line 251 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2453{
2454			++linenum;
2455			ACTION_ECHO;
2456			if ( indented_code )
2457				BEGIN(INITIAL);
2458			}
2459	YY_BREAK
2460
2461
2462case 43:
2463YY_RULE_SETUP
2464#line 260 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2465{
2466                if( --brace_depth == 0){
2467                    /* TODO: Matched. */
2468                    yy_pop_state();
2469                }else
2470                    buf_strnappend(&top_buf, yytext, yyleng);
2471            }
2472	YY_BREAK
2473case 44:
2474YY_RULE_SETUP
2475#line 268 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2476{
2477                brace_depth++;
2478                buf_strnappend(&top_buf, yytext, yyleng);
2479            }
2480	YY_BREAK
2481case 45:
2482/* rule 45 can match eol */
2483YY_RULE_SETUP
2484#line 273 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2485{
2486                ++linenum;
2487                buf_strnappend(&top_buf, yytext, yyleng);
2488            }
2489	YY_BREAK
2490case 46:
2491YY_RULE_SETUP
2492#line 278 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2493buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart));
2494	YY_BREAK
2495case 47:
2496YY_RULE_SETUP
2497#line 279 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2498buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend));
2499	YY_BREAK
2500case 48:
2501YY_RULE_SETUP
2502#line 281 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2503{
2504                buf_strnappend(&top_buf, yytext, yyleng);
2505               }
2506	YY_BREAK
2507case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2508#line 285 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2509{
2510                linenum = brace_start_line;
2511                synerr(_("Unmatched '{'"));
2512                yyterminate();
2513                }
2514	YY_BREAK
2515
2516
2517case 49:
2518YY_RULE_SETUP
2519#line 294 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2520/* separates name and definition */
2521	YY_BREAK
2522case 50:
2523YY_RULE_SETUP
2524#line 296 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2525{
2526 		        if(yyleng < MAXLINE)
2527 		         {
2528			strlcpy( (char *) nmdef, yytext, sizeof(nmdef) );
2529 		         }
2530 		        else
2531 		         {
2532 		           format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2533 		           FLEX_EXIT(EXIT_FAILURE);
2534			 }
2535			/* Skip trailing whitespace. */
2536			for ( i = strlen( (char *) nmdef ) - 1;
2537			      i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
2538			      --i )
2539				;
2540
2541			nmdef[i + 1] = '\0';
2542
2543			ndinstal( nmstr, nmdef );
2544			didadef = true;
2545			}
2546	YY_BREAK
2547case 51:
2548/* rule 51 can match eol */
2549YY_RULE_SETUP
2550#line 318 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2551{
2552			if ( ! didadef )
2553				synerr( _( "incomplete name definition" ) );
2554			BEGIN(INITIAL);
2555			++linenum;
2556			}
2557	YY_BREAK
2558
2559
2560case 52:
2561/* rule 52 can match eol */
2562YY_RULE_SETUP
2563#line 328 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2564++linenum; BEGIN(INITIAL);
2565	YY_BREAK
2566case 53:
2567YY_RULE_SETUP
2568#line 329 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2569option_sense = true;
2570	YY_BREAK
2571case 54:
2572YY_RULE_SETUP
2573#line 331 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2574return '=';
2575	YY_BREAK
2576case 55:
2577YY_RULE_SETUP
2578#line 333 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2579option_sense = ! option_sense;
2580	YY_BREAK
2581case 56:
2582YY_RULE_SETUP
2583#line 335 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2584csize = option_sense ? 128 : 256;
2585	YY_BREAK
2586case 57:
2587YY_RULE_SETUP
2588#line 336 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2589csize = option_sense ? 256 : 128;
2590	YY_BREAK
2591case 58:
2592YY_RULE_SETUP
2593#line 338 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2594long_align = option_sense;
2595	YY_BREAK
2596case 59:
2597YY_RULE_SETUP
2598#line 339 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2599{
2600			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2601            interactive = option_sense;
2602			}
2603	YY_BREAK
2604case 60:
2605YY_RULE_SETUP
2606#line 343 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2607yytext_is_array = option_sense;
2608	YY_BREAK
2609case 61:
2610YY_RULE_SETUP
2611#line 344 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2612ansi_func_defs = option_sense;
2613	YY_BREAK
2614case 62:
2615YY_RULE_SETUP
2616#line 345 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2617ansi_func_protos = option_sense;
2618	YY_BREAK
2619case 63:
2620YY_RULE_SETUP
2621#line 346 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2622backing_up_report = option_sense;
2623	YY_BREAK
2624case 64:
2625YY_RULE_SETUP
2626#line 347 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2627interactive = ! option_sense;
2628	YY_BREAK
2629case 65:
2630YY_RULE_SETUP
2631#line 348 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2632bison_bridge_lval = option_sense;
2633	YY_BREAK
2634case 66:
2635YY_RULE_SETUP
2636#line 349 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2637{ if((bison_bridge_lloc = option_sense))
2638                            bison_bridge_lval = true;
2639                     }
2640	YY_BREAK
2641case 67:
2642YY_RULE_SETUP
2643#line 352 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2644C_plus_plus = option_sense;
2645	YY_BREAK
2646case 68:
2647YY_RULE_SETUP
2648#line 353 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2649sf_set_case_ins(!option_sense);
2650	YY_BREAK
2651case 69:
2652YY_RULE_SETUP
2653#line 354 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2654sf_set_case_ins(option_sense);
2655	YY_BREAK
2656case 70:
2657YY_RULE_SETUP
2658#line 355 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2659ddebug = option_sense;
2660	YY_BREAK
2661case 71:
2662YY_RULE_SETUP
2663#line 356 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2664spprdflt = ! option_sense;
2665	YY_BREAK
2666case 72:
2667YY_RULE_SETUP
2668#line 357 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2669useecs = option_sense;
2670	YY_BREAK
2671case 73:
2672YY_RULE_SETUP
2673#line 358 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2674{
2675			useecs = usemecs = false;
2676			use_read = fullspd = true;
2677			}
2678	YY_BREAK
2679case 74:
2680YY_RULE_SETUP
2681#line 362 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2682{
2683			useecs = usemecs = false;
2684			use_read = fulltbl = true;
2685			}
2686	YY_BREAK
2687case 75:
2688YY_RULE_SETUP
2689#line 366 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2690ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2691	YY_BREAK
2692case 76:
2693YY_RULE_SETUP
2694#line 367 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2695interactive = option_sense;
2696	YY_BREAK
2697case 77:
2698YY_RULE_SETUP
2699#line 368 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2700lex_compat = option_sense;
2701	YY_BREAK
2702case 78:
2703YY_RULE_SETUP
2704#line 369 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2705posix_compat = option_sense;
2706	YY_BREAK
2707case 79:
2708YY_RULE_SETUP
2709#line 370 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2710{
2711			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2712            /* Override yywrap */
2713            if( option_sense == true )
2714                do_yywrap = false;
2715			}
2716	YY_BREAK
2717case 80:
2718YY_RULE_SETUP
2719#line 376 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2720usemecs = option_sense;
2721	YY_BREAK
2722case 81:
2723YY_RULE_SETUP
2724#line 377 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2725{
2726			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2727            interactive = !option_sense;
2728			}
2729	YY_BREAK
2730case 82:
2731YY_RULE_SETUP
2732#line 381 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2733performance_report += option_sense ? 1 : -1;
2734	YY_BREAK
2735case 83:
2736YY_RULE_SETUP
2737#line 382 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2738yytext_is_array = ! option_sense;
2739	YY_BREAK
2740case 84:
2741YY_RULE_SETUP
2742#line 383 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2743use_read = option_sense;
2744	YY_BREAK
2745case 85:
2746YY_RULE_SETUP
2747#line 384 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2748reentrant = option_sense;
2749	YY_BREAK
2750case 86:
2751YY_RULE_SETUP
2752#line 385 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2753reject_really_used = option_sense;
2754	YY_BREAK
2755case 87:
2756YY_RULE_SETUP
2757#line 386 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2758ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2759	YY_BREAK
2760case 88:
2761YY_RULE_SETUP
2762#line 387 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2763do_stdinit = option_sense;
2764	YY_BREAK
2765case 89:
2766YY_RULE_SETUP
2767#line 388 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2768use_stdout = option_sense;
2769	YY_BREAK
2770case 90:
2771YY_RULE_SETUP
2772#line 389 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2773ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2774	YY_BREAK
2775case 91:
2776YY_RULE_SETUP
2777#line 390 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2778ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2779	YY_BREAK
2780case 92:
2781YY_RULE_SETUP
2782#line 391 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2783printstats = option_sense;
2784	YY_BREAK
2785case 93:
2786YY_RULE_SETUP
2787#line 392 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2788nowarn = ! option_sense;
2789	YY_BREAK
2790case 94:
2791YY_RULE_SETUP
2792#line 393 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2793do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2794	YY_BREAK
2795case 95:
2796YY_RULE_SETUP
2797#line 394 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2798yymore_really_used = option_sense;
2799	YY_BREAK
2800case 96:
2801YY_RULE_SETUP
2802#line 395 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2803do_yywrap = option_sense;
2804	YY_BREAK
2805case 97:
2806YY_RULE_SETUP
2807#line 397 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2808ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2809	YY_BREAK
2810case 98:
2811YY_RULE_SETUP
2812#line 398 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2813ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2814	YY_BREAK
2815case 99:
2816YY_RULE_SETUP
2817#line 399 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2818ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2819	YY_BREAK
2820case 100:
2821YY_RULE_SETUP
2822#line 401 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2823ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2824	YY_BREAK
2825case 101:
2826YY_RULE_SETUP
2827#line 402 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2828ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2829	YY_BREAK
2830case 102:
2831YY_RULE_SETUP
2832#line 403 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2833ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2834	YY_BREAK
2835case 103:
2836YY_RULE_SETUP
2837#line 405 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2838ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2839	YY_BREAK
2840case 104:
2841YY_RULE_SETUP
2842#line 406 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2843ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2844	YY_BREAK
2845case 105:
2846YY_RULE_SETUP
2847#line 407 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2848ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2849	YY_BREAK
2850case 106:
2851YY_RULE_SETUP
2852#line 409 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2853ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2854	YY_BREAK
2855case 107:
2856YY_RULE_SETUP
2857#line 410 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2858ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2859	YY_BREAK
2860case 108:
2861YY_RULE_SETUP
2862#line 411 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2863ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2864	YY_BREAK
2865case 109:
2866YY_RULE_SETUP
2867#line 412 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2868ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2869	YY_BREAK
2870case 110:
2871YY_RULE_SETUP
2872#line 413 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2873ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2874	YY_BREAK
2875case 111:
2876YY_RULE_SETUP
2877#line 414 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2878ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2879	YY_BREAK
2880case 112:
2881YY_RULE_SETUP
2882#line 415 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2883ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2884	YY_BREAK
2885case 113:
2886YY_RULE_SETUP
2887#line 416 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2888ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
2889	YY_BREAK
2890case 114:
2891YY_RULE_SETUP
2892#line 417 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2893ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
2894	YY_BREAK
2895case 115:
2896YY_RULE_SETUP
2897#line 418 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2898ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
2899	YY_BREAK
2900case 116:
2901YY_RULE_SETUP
2902#line 419 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2903ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
2904	YY_BREAK
2905case 117:
2906YY_RULE_SETUP
2907#line 420 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2908ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
2909	YY_BREAK
2910case 118:
2911YY_RULE_SETUP
2912#line 421 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2913ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
2914	YY_BREAK
2915case 119:
2916YY_RULE_SETUP
2917#line 422 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2918ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
2919	YY_BREAK
2920case 120:
2921YY_RULE_SETUP
2922#line 423 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2923ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
2924	YY_BREAK
2925case 121:
2926YY_RULE_SETUP
2927#line 424 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2928ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
2929	YY_BREAK
2930case 122:
2931YY_RULE_SETUP
2932#line 426 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2933return OPT_EXTRA_TYPE;
2934	YY_BREAK
2935case 123:
2936YY_RULE_SETUP
2937#line 427 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2938return OPT_OUTFILE;
2939	YY_BREAK
2940case 124:
2941YY_RULE_SETUP
2942#line 428 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2943return OPT_PREFIX;
2944	YY_BREAK
2945case 125:
2946YY_RULE_SETUP
2947#line 429 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2948return OPT_YYCLASS;
2949	YY_BREAK
2950case 126:
2951YY_RULE_SETUP
2952#line 430 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2953return OPT_HEADER;
2954	YY_BREAK
2955case 127:
2956YY_RULE_SETUP
2957#line 431 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2958return OPT_TABLES;
2959	YY_BREAK
2960case 128:
2961YY_RULE_SETUP
2962#line 432 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2963{
2964                    tablesverify = option_sense;
2965                    if(!tablesext && option_sense)
2966                        tablesext = true;
2967                    }
2968	YY_BREAK
2969case 129:
2970YY_RULE_SETUP
2971#line 439 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2972{
2973			if(yyleng-1 < MAXLINE)
2974        		 {
2975			strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
2976			 }
2977			else
2978			 {
2979			   synerr( _("Option line too long\n"));
2980			   FLEX_EXIT(EXIT_FAILURE);
2981			 }
2982			nmstr[strlen( nmstr ) - 1] = '\0';
2983			return NAME;
2984			}
2985	YY_BREAK
2986case 130:
2987YY_RULE_SETUP
2988#line 453 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
2989{
2990			format_synerr( _( "unrecognized %%option: %s" ),
2991				yytext );
2992			BEGIN(RECOVER);
2993			}
2994	YY_BREAK
2995
2996case 131:
2997/* rule 131 can match eol */
2998YY_RULE_SETUP
2999#line 460 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3000++linenum; BEGIN(INITIAL);
3001	YY_BREAK
3002
3003case 132:
3004YY_RULE_SETUP
3005#line 464 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3006++bracelevel; yyless( 2 );	/* eat only %{ */
3007	YY_BREAK
3008case 133:
3009YY_RULE_SETUP
3010#line 465 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3011--bracelevel; yyless( 2 );	/* eat only %} */
3012	YY_BREAK
3013case 134:
3014YY_RULE_SETUP
3015#line 467 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3016ACTION_ECHO;	/* indented code in prolog */
3017	YY_BREAK
3018case 135:
3019YY_RULE_SETUP
3020#line 469 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3021{	/* non-indented code */
3022			if ( bracelevel <= 0 )
3023				{ /* not in %{ ... %} */
3024				yyless( 0 );	/* put it all back */
3025				yy_set_bol( 1 );
3026				mark_prolog();
3027				BEGIN(SECT2);
3028				}
3029			else
3030				ACTION_ECHO;
3031			}
3032	YY_BREAK
3033case 136:
3034YY_RULE_SETUP
3035#line 481 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3036ACTION_ECHO;
3037	YY_BREAK
3038case 137:
3039/* rule 137 can match eol */
3040YY_RULE_SETUP
3041#line 482 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3042++linenum; ACTION_ECHO;
3043	YY_BREAK
3044case YY_STATE_EOF(SECT2PROLOG):
3045#line 484 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3046{
3047			mark_prolog();
3048			sectnum = 0;
3049			yyterminate(); /* to stop the parser */
3050			}
3051	YY_BREAK
3052
3053
3054case 138:
3055/* rule 138 can match eol */
3056YY_RULE_SETUP
3057#line 492 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3058++linenum; /* allow blank lines in section 2 */
3059	YY_BREAK
3060case 139:
3061YY_RULE_SETUP
3062#line 494 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3063{
3064			indented_code = false;
3065			doing_codeblock = true;
3066			bracelevel = 1;
3067			BEGIN(PERCENT_BRACE_ACTION);
3068			}
3069	YY_BREAK
3070case 140:
3071YY_RULE_SETUP
3072#line 501 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3073{
3074                        /* Allow "<" to appear in (?x) patterns. */
3075                        if (!sf_skip_ws())
3076                            BEGIN(SC);
3077                        return '<';
3078                    }
3079	YY_BREAK
3080case 141:
3081YY_RULE_SETUP
3082#line 507 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3083return '^';
3084	YY_BREAK
3085case 142:
3086YY_RULE_SETUP
3087#line 508 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3088BEGIN(QUOTE); return '"';
3089	YY_BREAK
3090case 143:
3091*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3092(yy_c_buf_p) = yy_cp = yy_bp + 1;
3093YY_DO_BEFORE_ACTION; /* set up yytext again */
3094YY_RULE_SETUP
3095#line 509 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3096{
3097			BEGIN(NUM);
3098			if ( lex_compat || posix_compat )
3099				return BEGIN_REPEAT_POSIX;
3100			else
3101				return BEGIN_REPEAT_FLEX;
3102			}
3103	YY_BREAK
3104case 144:
3105/* rule 144 can match eol */
3106*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3107YY_LINENO_REWIND_TO(yy_bp + 1);
3108(yy_c_buf_p) = yy_cp = yy_bp + 1;
3109YY_DO_BEFORE_ACTION; /* set up yytext again */
3110YY_RULE_SETUP
3111#line 516 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3112return '$';
3113	YY_BREAK
3114case 145:
3115YY_RULE_SETUP
3116#line 518 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3117{
3118			bracelevel = 1;
3119			BEGIN(PERCENT_BRACE_ACTION);
3120
3121			if ( in_rule )
3122				{
3123				doing_rule_action = true;
3124				in_rule = false;
3125				return '\n';
3126				}
3127			}
3128	YY_BREAK
3129case 146:
3130/* rule 146 can match eol */
3131YY_RULE_SETUP
3132#line 529 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3133{
3134                        if (sf_skip_ws()){
3135                            /* We're in the middle of a (?x: ) pattern. */
3136                            /* Push back everything starting at the "|" */
3137                            size_t amt;
3138                            amt = strchr (yytext, '|') - yytext;
3139                            yyless(amt);
3140                        }
3141                        else {
3142                            continued_action = true;
3143                            ++linenum;
3144                            return '\n';
3145                        }
3146                    }
3147	YY_BREAK
3148case 147:
3149YY_RULE_SETUP
3150#line 544 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3151{
3152
3153                if (sf_skip_ws()){
3154                    /* We're in the middle of a (?x: ) pattern. */
3155                    yy_push_state(COMMENT_DISCARD);
3156                }
3157                else{
3158                    yyless( yyleng - 2 );	/* put back '/', '*' */
3159                    bracelevel = 0;
3160                    continued_action = false;
3161                    BEGIN(ACTION);
3162                }
3163			}
3164	YY_BREAK
3165case 148:
3166YY_RULE_SETUP
3167#line 558 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3168/* allow indented rules */ ;
3169	YY_BREAK
3170case 149:
3171YY_RULE_SETUP
3172#line 560 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3173{
3174            if (sf_skip_ws()){
3175                /* We're in the middle of a (?x: ) pattern. */
3176            }
3177            else{
3178                /* This rule is separate from the one below because
3179                 * otherwise we get variable trailing context, so
3180                 * we can't build the scanner using -{f,F}.
3181                 */
3182                bracelevel = 0;
3183                continued_action = false;
3184                BEGIN(ACTION);
3185
3186                if ( in_rule )
3187                    {
3188                    doing_rule_action = true;
3189                    in_rule = false;
3190                    return '\n';
3191                    }
3192            }
3193			}
3194	YY_BREAK
3195case 150:
3196/* rule 150 can match eol */
3197YY_RULE_SETUP
3198#line 582 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3199{
3200            if (sf_skip_ws()){
3201                /* We're in the middle of a (?x: ) pattern. */
3202                ++linenum;
3203            }
3204            else{
3205                bracelevel = 0;
3206                continued_action = false;
3207                BEGIN(ACTION);
3208                unput( '\n' );	/* so <ACTION> sees it */
3209
3210                if ( in_rule )
3211                    {
3212                    doing_rule_action = true;
3213                    in_rule = false;
3214                    return '\n';
3215                    }
3216            }
3217			}
3218	YY_BREAK
3219case 151:
3220#line 603 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3221case 152:
3222YY_RULE_SETUP
3223#line 603 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3224return EOF_OP;
3225	YY_BREAK
3226case 153:
3227YY_RULE_SETUP
3228#line 605 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3229{
3230			sectnum = 3;
3231			BEGIN(SECT3);
3232			outn("/* Begin user sect3 */");
3233			yyterminate(); /* to stop the parser */
3234			}
3235	YY_BREAK
3236case 154:
3237YY_RULE_SETUP
3238#line 612 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3239{
3240			int cclval;
3241
3242			if(yyleng < MAXLINE)
3243        		 {
3244			strlcpy( nmstr, yytext, sizeof(nmstr) );
3245			 }
3246			else
3247			 {
3248			   synerr( _("Input line too long\n"));
3249			   FLEX_EXIT(EXIT_FAILURE);
3250			 }
3251
3252			/* Check to see if we've already encountered this
3253			 * ccl.
3254			 */
3255			if (0 /* <--- This "0" effectively disables the reuse of a
3256                   * character class (purely based on its source text).
3257                   * The reason it was disabled is so yacc/bison can parse
3258                   * ccl operations, such as ccl difference and union.
3259                   */
3260                &&  (cclval = ccllookup( (Char *) nmstr )) != 0 )
3261				{
3262				if ( input() != ']' )
3263					synerr( _( "bad character class" ) );
3264
3265				yylval = cclval;
3266				++cclreuse;
3267				return PREVCCL;
3268				}
3269			else
3270				{
3271				/* We fudge a bit.  We know that this ccl will
3272				 * soon be numbered as lastccl + 1 by cclinit.
3273				 */
3274				cclinstal( (Char *) nmstr, lastccl + 1 );
3275
3276				/* Push back everything but the leading bracket
3277				 * so the ccl can be rescanned.
3278				 */
3279				yyless( 1 );
3280
3281				BEGIN(FIRSTCCL);
3282				return '[';
3283				}
3284			}
3285	YY_BREAK
3286case 155:
3287YY_RULE_SETUP
3288#line 658 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3289return CCL_OP_DIFF;
3290	YY_BREAK
3291case 156:
3292YY_RULE_SETUP
3293#line 659 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3294return CCL_OP_UNION;
3295	YY_BREAK
3296/* Check for :space: at the end of the rule so we don't
3297     * wrap the expanded regex in '(' ')' -- breaking trailing
3298     * context.
3299     */
3300case 157:
3301/* rule 157 can match eol */
3302YY_RULE_SETUP
3303#line 666 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3304{
3305			Char *nmdefptr;
3306            int end_is_ws, end_ch;
3307
3308            end_ch = yytext[yyleng-1];
3309            end_is_ws = end_ch != '}' ? 1 : 0;
3310
3311 			if(yyleng-1 < MAXLINE)
3312         		 {
3313			strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
3314 			 }
3315 			else
3316 			 {
3317 			   synerr( _("Input line too long\n"));
3318 			   FLEX_EXIT(EXIT_FAILURE);
3319 			 }
3320nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
3321
3322			if ( (nmdefptr = ndlookup( nmstr )) == 0 )
3323				format_synerr(
3324					_( "undefined definition {%s}" ),
3325						nmstr );
3326
3327			else
3328				{ /* push back name surrounded by ()'s */
3329				int len = strlen( (char *) nmdefptr );
3330                if (end_is_ws)
3331                    unput(end_ch);
3332
3333				if ( lex_compat || nmdefptr[0] == '^' ||
3334				     (len > 0 && nmdefptr[len - 1] == '$')
3335                     || (end_is_ws && trlcontxt && !sf_skip_ws()))
3336					{ /* don't use ()'s after all */
3337					PUT_BACK_STRING((char *) nmdefptr, 0);
3338
3339					if ( nmdefptr[0] == '^' )
3340						BEGIN(CARETISBOL);
3341					}
3342
3343				else
3344					{
3345					unput(')');
3346					PUT_BACK_STRING((char *) nmdefptr, 0);
3347					unput('(');
3348					}
3349				}
3350			}
3351	YY_BREAK
3352case 158:
3353YY_RULE_SETUP
3354#line 714 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3355{
3356                    if (sf_skip_ws())
3357                        yy_push_state(COMMENT_DISCARD);
3358                    else{
3359                        /* Push back the "*" and return "/" as usual. */
3360                        yyless(1);
3361                        return '/';
3362                    }
3363                }
3364	YY_BREAK
3365case 159:
3366YY_RULE_SETUP
3367#line 724 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3368{
3369                    if (lex_compat || posix_compat){
3370                        /* Push back the "?#" and treat it like a normal parens. */
3371                        yyless(1);
3372                        sf_push();
3373                        return '(';
3374                    }
3375                    else
3376                        yy_push_state(EXTENDED_COMMENT);
3377                }
3378	YY_BREAK
3379case 160:
3380YY_RULE_SETUP
3381#line 734 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3382{
3383                    sf_push();
3384                    if (lex_compat || posix_compat)
3385                        /* Push back the "?" and treat it like a normal parens. */
3386                        yyless(1);
3387                    else
3388                        BEGIN(GROUP_WITH_PARAMS);
3389                    return '(';
3390                }
3391	YY_BREAK
3392case 161:
3393YY_RULE_SETUP
3394#line 743 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3395sf_push(); return '(';
3396	YY_BREAK
3397case 162:
3398YY_RULE_SETUP
3399#line 744 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3400sf_pop(); return ')';
3401	YY_BREAK
3402case 163:
3403YY_RULE_SETUP
3404#line 746 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3405return (unsigned char) yytext[0];
3406	YY_BREAK
3407case 164:
3408YY_RULE_SETUP
3409#line 747 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3410RETURNCHAR;
3411	YY_BREAK
3412
3413
3414case 165:
3415/* rule 165 can match eol */
3416YY_RULE_SETUP
3417#line 752 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3418++linenum;	/* Allow blank lines & continuations */
3419	YY_BREAK
3420case 166:
3421YY_RULE_SETUP
3422#line 753 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3423return (unsigned char) yytext[0];
3424	YY_BREAK
3425case 167:
3426YY_RULE_SETUP
3427#line 754 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3428BEGIN(SECT2); return '>';
3429	YY_BREAK
3430case 168:
3431*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3432(yy_c_buf_p) = yy_cp = yy_bp + 1;
3433YY_DO_BEFORE_ACTION; /* set up yytext again */
3434YY_RULE_SETUP
3435#line 755 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3436BEGIN(CARETISBOL); return '>';
3437	YY_BREAK
3438case 169:
3439YY_RULE_SETUP
3440#line 756 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3441RETURNNAME;
3442	YY_BREAK
3443case 170:
3444YY_RULE_SETUP
3445#line 757 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3446{
3447			format_synerr( _( "bad <start condition>: %s" ),
3448				yytext );
3449			}
3450	YY_BREAK
3451
3452case 171:
3453YY_RULE_SETUP
3454#line 763 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3455BEGIN(SECT2); return '^';
3456	YY_BREAK
3457
3458case 172:
3459YY_RULE_SETUP
3460#line 767 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3461RETURNCHAR;
3462	YY_BREAK
3463case 173:
3464YY_RULE_SETUP
3465#line 768 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3466BEGIN(SECT2); return '"';
3467	YY_BREAK
3468case 174:
3469/* rule 174 can match eol */
3470YY_RULE_SETUP
3471#line 770 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3472{
3473			synerr( _( "missing quote" ) );
3474			BEGIN(SECT2);
3475			++linenum;
3476			return '"';
3477			}
3478	YY_BREAK
3479
3480
3481case 175:
3482YY_RULE_SETUP
3483#line 779 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3484BEGIN(SECT2);
3485	YY_BREAK
3486case 176:
3487YY_RULE_SETUP
3488#line 780 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3489BEGIN(GROUP_MINUS_PARAMS);
3490	YY_BREAK
3491case 177:
3492YY_RULE_SETUP
3493#line 781 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3494sf_set_case_ins(1);
3495	YY_BREAK
3496case 178:
3497YY_RULE_SETUP
3498#line 782 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3499sf_set_dot_all(1);
3500	YY_BREAK
3501case 179:
3502YY_RULE_SETUP
3503#line 783 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3504sf_set_skip_ws(1);
3505	YY_BREAK
3506
3507
3508case 180:
3509YY_RULE_SETUP
3510#line 786 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3511BEGIN(SECT2);
3512	YY_BREAK
3513case 181:
3514YY_RULE_SETUP
3515#line 787 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3516sf_set_case_ins(0);
3517	YY_BREAK
3518case 182:
3519YY_RULE_SETUP
3520#line 788 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3521sf_set_dot_all(0);
3522	YY_BREAK
3523case 183:
3524YY_RULE_SETUP
3525#line 789 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3526sf_set_skip_ws(0);
3527	YY_BREAK
3528
3529
3530case 184:
3531*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3532(yy_c_buf_p) = yy_cp = yy_bp + 1;
3533YY_DO_BEFORE_ACTION; /* set up yytext again */
3534YY_RULE_SETUP
3535#line 793 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3536BEGIN(CCL); return '^';
3537	YY_BREAK
3538case 185:
3539*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3540(yy_c_buf_p) = yy_cp = yy_bp + 1;
3541YY_DO_BEFORE_ACTION; /* set up yytext again */
3542YY_RULE_SETUP
3543#line 794 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3544return '^';
3545	YY_BREAK
3546case 186:
3547YY_RULE_SETUP
3548#line 795 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3549BEGIN(CCL); RETURNCHAR;
3550	YY_BREAK
3551
3552
3553case 187:
3554*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3555(yy_c_buf_p) = yy_cp = yy_bp + 1;
3556YY_DO_BEFORE_ACTION; /* set up yytext again */
3557YY_RULE_SETUP
3558#line 799 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3559return '-';
3560	YY_BREAK
3561case 188:
3562YY_RULE_SETUP
3563#line 800 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3564RETURNCHAR;
3565	YY_BREAK
3566case 189:
3567YY_RULE_SETUP
3568#line 801 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3569BEGIN(SECT2); return ']';
3570	YY_BREAK
3571case 190:
3572/* rule 190 can match eol */
3573YY_RULE_SETUP
3574#line 802 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3575{
3576			synerr( _( "bad character class" ) );
3577			BEGIN(SECT2);
3578			return ']';
3579			}
3580	YY_BREAK
3581
3582
3583case 191:
3584YY_RULE_SETUP
3585#line 810 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3586BEGIN(CCL); return CCE_ALNUM;
3587	YY_BREAK
3588case 192:
3589YY_RULE_SETUP
3590#line 811 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3591BEGIN(CCL); return CCE_ALPHA;
3592	YY_BREAK
3593case 193:
3594YY_RULE_SETUP
3595#line 812 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3596BEGIN(CCL); return CCE_BLANK;
3597	YY_BREAK
3598case 194:
3599YY_RULE_SETUP
3600#line 813 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3601BEGIN(CCL); return CCE_CNTRL;
3602	YY_BREAK
3603case 195:
3604YY_RULE_SETUP
3605#line 814 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3606BEGIN(CCL); return CCE_DIGIT;
3607	YY_BREAK
3608case 196:
3609YY_RULE_SETUP
3610#line 815 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3611BEGIN(CCL); return CCE_GRAPH;
3612	YY_BREAK
3613case 197:
3614YY_RULE_SETUP
3615#line 816 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3616BEGIN(CCL); return CCE_LOWER;
3617	YY_BREAK
3618case 198:
3619YY_RULE_SETUP
3620#line 817 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3621BEGIN(CCL); return CCE_PRINT;
3622	YY_BREAK
3623case 199:
3624YY_RULE_SETUP
3625#line 818 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3626BEGIN(CCL); return CCE_PUNCT;
3627	YY_BREAK
3628case 200:
3629YY_RULE_SETUP
3630#line 819 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3631BEGIN(CCL); return CCE_SPACE;
3632	YY_BREAK
3633case 201:
3634YY_RULE_SETUP
3635#line 820 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3636BEGIN(CCL); return CCE_UPPER;
3637	YY_BREAK
3638case 202:
3639YY_RULE_SETUP
3640#line 821 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3641BEGIN(CCL); return CCE_XDIGIT;
3642	YY_BREAK
3643case 203:
3644YY_RULE_SETUP
3645#line 823 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3646BEGIN(CCL); return CCE_NEG_ALNUM;
3647	YY_BREAK
3648case 204:
3649YY_RULE_SETUP
3650#line 824 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3651BEGIN(CCL); return CCE_NEG_ALPHA;
3652	YY_BREAK
3653case 205:
3654YY_RULE_SETUP
3655#line 825 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3656BEGIN(CCL); return CCE_NEG_BLANK;
3657	YY_BREAK
3658case 206:
3659YY_RULE_SETUP
3660#line 826 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3661BEGIN(CCL); return CCE_NEG_CNTRL;
3662	YY_BREAK
3663case 207:
3664YY_RULE_SETUP
3665#line 827 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3666BEGIN(CCL); return CCE_NEG_DIGIT;
3667	YY_BREAK
3668case 208:
3669YY_RULE_SETUP
3670#line 828 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3671BEGIN(CCL); return CCE_NEG_GRAPH;
3672	YY_BREAK
3673case 209:
3674YY_RULE_SETUP
3675#line 829 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3676BEGIN(CCL); return CCE_NEG_LOWER;
3677	YY_BREAK
3678case 210:
3679YY_RULE_SETUP
3680#line 830 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3681BEGIN(CCL); return CCE_NEG_PRINT;
3682	YY_BREAK
3683case 211:
3684YY_RULE_SETUP
3685#line 831 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3686BEGIN(CCL); return CCE_NEG_PUNCT;
3687	YY_BREAK
3688case 212:
3689YY_RULE_SETUP
3690#line 832 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3691BEGIN(CCL); return CCE_NEG_SPACE;
3692	YY_BREAK
3693case 213:
3694YY_RULE_SETUP
3695#line 833 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3696BEGIN(CCL); return CCE_NEG_UPPER;
3697	YY_BREAK
3698case 214:
3699YY_RULE_SETUP
3700#line 834 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3701BEGIN(CCL); return CCE_NEG_XDIGIT;
3702	YY_BREAK
3703case 215:
3704YY_RULE_SETUP
3705#line 835 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3706{
3707			format_synerr(
3708				_( "bad character class expression: %s" ),
3709					yytext );
3710			BEGIN(CCL); return CCE_ALNUM;
3711			}
3712	YY_BREAK
3713
3714
3715case 216:
3716YY_RULE_SETUP
3717#line 844 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3718{
3719			yylval = myctoi( yytext );
3720			return NUMBER;
3721			}
3722	YY_BREAK
3723case 217:
3724YY_RULE_SETUP
3725#line 849 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3726return ',';
3727	YY_BREAK
3728case 218:
3729YY_RULE_SETUP
3730#line 850 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3731{
3732			BEGIN(SECT2);
3733			if ( lex_compat || posix_compat )
3734				return END_REPEAT_POSIX;
3735			else
3736				return END_REPEAT_FLEX;
3737			}
3738	YY_BREAK
3739case 219:
3740YY_RULE_SETUP
3741#line 858 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3742{
3743			synerr( _( "bad character inside {}'s" ) );
3744			BEGIN(SECT2);
3745			return '}';
3746			}
3747	YY_BREAK
3748case 220:
3749/* rule 220 can match eol */
3750YY_RULE_SETUP
3751#line 864 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3752{
3753			synerr( _( "missing }" ) );
3754			BEGIN(SECT2);
3755			++linenum;
3756			return '}';
3757			}
3758	YY_BREAK
3759
3760
3761case 221:
3762YY_RULE_SETUP
3763#line 874 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3764bracelevel = 0;
3765	YY_BREAK
3766case 222:
3767YY_RULE_SETUP
3768#line 876 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3769ACTION_ECHO; yy_push_state( COMMENT );
3770	YY_BREAK
3771
3772case 223:
3773YY_RULE_SETUP
3774#line 879 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3775{
3776			ACTION_ECHO;
3777			CHECK_RE_JECT(yytext);
3778			}
3779	YY_BREAK
3780case 224:
3781YY_RULE_SETUP
3782#line 883 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3783{
3784			ACTION_ECHO;
3785			CHECK_YYMORE(yytext);
3786			}
3787	YY_BREAK
3788
3789case 225:
3790YY_RULE_SETUP
3791#line 889 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3792ACTION_ECHO_QSTART;
3793	YY_BREAK
3794case 226:
3795YY_RULE_SETUP
3796#line 890 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3797ACTION_ECHO_QEND;
3798	YY_BREAK
3799case 227:
3800YY_RULE_SETUP
3801#line 891 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3802ACTION_ECHO;
3803	YY_BREAK
3804case 228:
3805/* rule 228 can match eol */
3806YY_RULE_SETUP
3807#line 892 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3808{
3809			++linenum;
3810			ACTION_ECHO;
3811			if ( bracelevel == 0 ||
3812			     (doing_codeblock && indented_code) )
3813				{
3814				if ( doing_rule_action )
3815					add_action( "\tYY_BREAK\n" );
3816
3817				doing_rule_action = doing_codeblock = false;
3818				BEGIN(SECT2);
3819				}
3820			}
3821	YY_BREAK
3822
3823/* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3824
3825case 229:
3826YY_RULE_SETUP
3827#line 910 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3828ACTION_ECHO; ++bracelevel;
3829	YY_BREAK
3830case 230:
3831YY_RULE_SETUP
3832#line 911 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3833ACTION_ECHO; --bracelevel;
3834	YY_BREAK
3835case 231:
3836YY_RULE_SETUP
3837#line 912 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3838ACTION_ECHO_QSTART;
3839	YY_BREAK
3840case 232:
3841YY_RULE_SETUP
3842#line 913 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3843ACTION_ECHO_QEND;
3844	YY_BREAK
3845case 233:
3846YY_RULE_SETUP
3847#line 914 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3848ACTION_ECHO;
3849	YY_BREAK
3850case 234:
3851YY_RULE_SETUP
3852#line 915 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3853ACTION_ECHO;
3854	YY_BREAK
3855case 235:
3856YY_RULE_SETUP
3857#line 916 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3858ACTION_ECHO;
3859	YY_BREAK
3860case 236:
3861YY_RULE_SETUP
3862#line 917 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3863ACTION_ECHO; /* character constant */
3864	YY_BREAK
3865case 237:
3866YY_RULE_SETUP
3867#line 918 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3868ACTION_ECHO; BEGIN(ACTION_STRING);
3869	YY_BREAK
3870case 238:
3871/* rule 238 can match eol */
3872YY_RULE_SETUP
3873#line 919 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3874{
3875			++linenum;
3876			ACTION_ECHO;
3877			if ( bracelevel == 0 )
3878				{
3879				if ( doing_rule_action )
3880					add_action( "\tYY_BREAK\n" );
3881
3882				doing_rule_action = false;
3883				BEGIN(SECT2);
3884				}
3885			}
3886	YY_BREAK
3887case 239:
3888YY_RULE_SETUP
3889#line 931 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3890ACTION_ECHO;
3891	YY_BREAK
3892
3893
3894case 240:
3895YY_RULE_SETUP
3896#line 935 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3897ACTION_ECHO;
3898	YY_BREAK
3899case 241:
3900YY_RULE_SETUP
3901#line 936 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3902ACTION_ECHO;
3903	YY_BREAK
3904case 242:
3905/* rule 242 can match eol */
3906YY_RULE_SETUP
3907#line 937 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3908++linenum; ACTION_ECHO; BEGIN(ACTION);
3909	YY_BREAK
3910case 243:
3911YY_RULE_SETUP
3912#line 938 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3913ACTION_ECHO; BEGIN(ACTION);
3914	YY_BREAK
3915case 244:
3916YY_RULE_SETUP
3917#line 939 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3918ACTION_ECHO;
3919	YY_BREAK
3920
3921case YY_STATE_EOF(COMMENT):
3922case YY_STATE_EOF(COMMENT_DISCARD):
3923case YY_STATE_EOF(ACTION):
3924case YY_STATE_EOF(ACTION_STRING):
3925#line 942 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3926{
3927			synerr( _( "EOF encountered inside an action" ) );
3928			yyterminate();
3929			}
3930	YY_BREAK
3931case YY_STATE_EOF(EXTENDED_COMMENT):
3932case YY_STATE_EOF(GROUP_WITH_PARAMS):
3933case YY_STATE_EOF(GROUP_MINUS_PARAMS):
3934#line 947 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3935{
3936			synerr( _( "EOF encountered inside pattern" ) );
3937			yyterminate();
3938			}
3939	YY_BREAK
3940case 245:
3941YY_RULE_SETUP
3942#line 952 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3943{
3944			yylval = myesc( (Char *) yytext );
3945
3946			if ( YY_START == FIRSTCCL )
3947				BEGIN(CCL);
3948
3949			return CHAR;
3950			}
3951	YY_BREAK
3952
3953case 246:
3954YY_RULE_SETUP
3955#line 963 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3956fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout);
3957	YY_BREAK
3958case 247:
3959YY_RULE_SETUP
3960#line 964 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3961fwrite (escaped_qend, 1, strlen(escaped_qend), yyout);
3962	YY_BREAK
3963case 248:
3964/* rule 248 can match eol */
3965YY_RULE_SETUP
3966#line 965 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3967ECHO;
3968	YY_BREAK
3969case 249:
3970/* rule 249 can match eol */
3971YY_RULE_SETUP
3972#line 966 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3973ECHO;
3974	YY_BREAK
3975case YY_STATE_EOF(SECT3):
3976#line 967 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3977sectnum = 0; yyterminate();
3978	YY_BREAK
3979
3980case 250:
3981/* rule 250 can match eol */
3982YY_RULE_SETUP
3983#line 970 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3984format_synerr( _( "bad character: %s" ), yytext );
3985	YY_BREAK
3986case 251:
3987YY_RULE_SETUP
3988#line 972 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
3989YY_FATAL_ERROR( "flex scanner jammed" );
3990	YY_BREAK
3991#line 3992 "<stdout>"
3992case YY_STATE_EOF(INITIAL):
3993case YY_STATE_EOF(SECT2):
3994case YY_STATE_EOF(CODEBLOCK):
3995case YY_STATE_EOF(PICKUPDEF):
3996case YY_STATE_EOF(SC):
3997case YY_STATE_EOF(CARETISBOL):
3998case YY_STATE_EOF(NUM):
3999case YY_STATE_EOF(QUOTE):
4000case YY_STATE_EOF(FIRSTCCL):
4001case YY_STATE_EOF(CCL):
4002case YY_STATE_EOF(RECOVER):
4003case YY_STATE_EOF(PERCENT_BRACE_ACTION):
4004case YY_STATE_EOF(OPTION):
4005case YY_STATE_EOF(LINEDIR):
4006	yyterminate();
4007
4008	case YY_END_OF_BUFFER:
4009		{
4010		/* Amount of text matched not including the EOB char. */
4011		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4012
4013		/* Undo the effects of YY_DO_BEFORE_ACTION. */
4014		*yy_cp = (yy_hold_char);
4015		YY_RESTORE_YY_MORE_OFFSET
4016
4017		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4018			{
4019			/* We're scanning a new file or input source.  It's
4020			 * possible that this happened because the user
4021			 * just pointed yyin at a new source and called
4022			 * yylex().  If so, then we have to assure
4023			 * consistency between YY_CURRENT_BUFFER and our
4024			 * globals.  Here is the right place to do so, because
4025			 * this is the first action (other than possibly a
4026			 * back-up) that will match for the new input source.
4027			 */
4028			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4029			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4030			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4031			}
4032
4033		/* Note that here we test for yy_c_buf_p "<=" to the position
4034		 * of the first EOB in the buffer, since yy_c_buf_p will
4035		 * already have been incremented past the NUL character
4036		 * (since all states make transitions on EOB to the
4037		 * end-of-buffer state).  Contrast this with the test
4038		 * in input().
4039		 */
4040		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4041			{ /* This was really a NUL. */
4042			yy_state_type yy_next_state;
4043
4044			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4045
4046			yy_current_state = yy_get_previous_state(  );
4047
4048			/* Okay, we're now positioned to make the NUL
4049			 * transition.  We couldn't have
4050			 * yy_get_previous_state() go ahead and do it
4051			 * for us because it doesn't know how to deal
4052			 * with the possibility of jamming (and we don't
4053			 * want to build jamming into it because then it
4054			 * will run more slowly).
4055			 */
4056
4057			yy_next_state = yy_try_NUL_trans( yy_current_state );
4058
4059			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4060
4061			if ( yy_next_state )
4062				{
4063				/* Consume the NUL. */
4064				yy_cp = ++(yy_c_buf_p);
4065				yy_current_state = yy_next_state;
4066				goto yy_match;
4067				}
4068
4069			else
4070				{
4071				yy_cp = (yy_c_buf_p);
4072				goto yy_find_action;
4073				}
4074			}
4075
4076		else switch ( yy_get_next_buffer(  ) )
4077			{
4078			case EOB_ACT_END_OF_FILE:
4079				{
4080				(yy_did_buffer_switch_on_eof) = 0;
4081
4082				if ( yywrap( ) )
4083					{
4084					/* Note: because we've taken care in
4085					 * yy_get_next_buffer() to have set up
4086					 * yytext, we can now set up
4087					 * yy_c_buf_p so that if some total
4088					 * hoser (like flex itself) wants to
4089					 * call the scanner after we return the
4090					 * YY_NULL, it'll still work - another
4091					 * YY_NULL will get returned.
4092					 */
4093					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4094
4095					yy_act = YY_STATE_EOF(YY_START);
4096					goto do_action;
4097					}
4098
4099				else
4100					{
4101					if ( ! (yy_did_buffer_switch_on_eof) )
4102						YY_NEW_FILE;
4103					}
4104				break;
4105				}
4106
4107			case EOB_ACT_CONTINUE_SCAN:
4108				(yy_c_buf_p) =
4109					(yytext_ptr) + yy_amount_of_matched_text;
4110
4111				yy_current_state = yy_get_previous_state(  );
4112
4113				yy_cp = (yy_c_buf_p);
4114				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4115				goto yy_match;
4116
4117			case EOB_ACT_LAST_MATCH:
4118				(yy_c_buf_p) =
4119				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4120
4121				yy_current_state = yy_get_previous_state(  );
4122
4123				yy_cp = (yy_c_buf_p);
4124				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4125				goto yy_find_action;
4126			}
4127		break;
4128		}
4129
4130	default:
4131		YY_FATAL_ERROR(
4132			"fatal flex scanner internal error--no action found" );
4133	} /* end of action switch */
4134		} /* end of scanning one token */
4135	} /* end of user's declarations */
4136} /* end of yylex */
4137
4138/* yy_get_next_buffer - try to read in a new buffer
4139 *
4140 * Returns a code representing an action:
4141 *	EOB_ACT_LAST_MATCH -
4142 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4143 *	EOB_ACT_END_OF_FILE - end of file
4144 */
4145static int yy_get_next_buffer (void)
4146{
4147    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4148	char *source = (yytext_ptr);
4149	yy_size_t number_to_move, i;
4150	int ret_val;
4151
4152	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4153		YY_FATAL_ERROR(
4154		"fatal flex scanner internal error--end of buffer missed" );
4155
4156	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4157		{ /* Don't try to fill the buffer, so this is an EOF. */
4158		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4159			{
4160			/* We matched a single character, the EOB, so
4161			 * treat this as a final EOF.
4162			 */
4163			return EOB_ACT_END_OF_FILE;
4164			}
4165
4166		else
4167			{
4168			/* We matched some text prior to the EOB, first
4169			 * process it.
4170			 */
4171			return EOB_ACT_LAST_MATCH;
4172			}
4173		}
4174
4175	/* Try to read more data. */
4176
4177	/* First move last chars to start of buffer. */
4178	number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
4179
4180	for ( i = 0; i < number_to_move; ++i )
4181		*(dest++) = *(source++);
4182
4183	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4184		/* don't do the read, it's not guaranteed to return an EOF,
4185		 * just force an EOF
4186		 */
4187		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4188
4189	else
4190		{
4191			yy_size_t num_to_read =
4192			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4193
4194		while ( num_to_read <= 0 )
4195			{ /* Not enough room in the buffer - grow it. */
4196
4197			/* just a shorter name for the current buffer */
4198			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4199
4200			int yy_c_buf_p_offset =
4201				(int) ((yy_c_buf_p) - b->yy_ch_buf);
4202
4203			if ( b->yy_is_our_buffer )
4204				{
4205				yy_size_t new_size = b->yy_buf_size * 2;
4206
4207				if ( new_size <= 0 )
4208					b->yy_buf_size += b->yy_buf_size / 8;
4209				else
4210					b->yy_buf_size *= 2;
4211
4212				b->yy_ch_buf = (char *)
4213					/* Include room in for 2 EOB chars. */
4214					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
4215				}
4216			else
4217				/* Can't grow it, we don't own it. */
4218				b->yy_ch_buf = 0;
4219
4220			if ( ! b->yy_ch_buf )
4221				YY_FATAL_ERROR(
4222				"fatal error - scanner input buffer overflow" );
4223
4224			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4225
4226			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4227						number_to_move - 1;
4228
4229			}
4230
4231		if ( num_to_read > YY_READ_BUF_SIZE )
4232			num_to_read = YY_READ_BUF_SIZE;
4233
4234		/* Read in more data. */
4235		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4236			(yy_n_chars), num_to_read );
4237
4238		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4239		}
4240
4241	if ( (yy_n_chars) == 0 )
4242		{
4243		if ( number_to_move == YY_MORE_ADJ )
4244			{
4245			ret_val = EOB_ACT_END_OF_FILE;
4246			yyrestart(yyin  );
4247			}
4248
4249		else
4250			{
4251			ret_val = EOB_ACT_LAST_MATCH;
4252			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4253				YY_BUFFER_EOF_PENDING;
4254			}
4255		}
4256
4257	else
4258		ret_val = EOB_ACT_CONTINUE_SCAN;
4259
4260	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4261		/* Extend the array by 50%, plus the number we really need. */
4262		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4263		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
4264		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4265			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4266	}
4267
4268	(yy_n_chars) += number_to_move;
4269	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4270	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4271
4272	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4273
4274	return ret_val;
4275}
4276
4277/* yy_get_previous_state - get the state just before the EOB char was reached */
4278
4279#ifndef YY_NO_UNPUT
4280
4281    static yy_state_type yy_get_previous_state (void)
4282{
4283	yy_state_type yy_current_state;
4284	char *yy_cp;
4285
4286	yy_current_state = (yy_start);
4287	yy_current_state += YY_AT_BOL();
4288
4289	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4290		{
4291		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4292		if ( yy_accept[yy_current_state] )
4293			{
4294			(yy_last_accepting_state) = yy_current_state;
4295			(yy_last_accepting_cpos) = yy_cp;
4296			}
4297		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4298			{
4299			yy_current_state = (int) yy_def[yy_current_state];
4300			if ( yy_current_state >= 1107 )
4301				yy_c = yy_meta[(unsigned int) yy_c];
4302			}
4303		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4304		}
4305
4306	return yy_current_state;
4307}
4308
4309/* yy_try_NUL_trans - try to make a transition on the NUL character
4310 *
4311 * synopsis
4312 *	next_state = yy_try_NUL_trans( current_state );
4313 */
4314    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4315{
4316	int yy_is_jam;
4317    	char *yy_cp = (yy_c_buf_p);
4318
4319	YY_CHAR yy_c = 1;
4320	if ( yy_accept[yy_current_state] )
4321		{
4322		(yy_last_accepting_state) = yy_current_state;
4323		(yy_last_accepting_cpos) = yy_cp;
4324		}
4325	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4326		{
4327		yy_current_state = (int) yy_def[yy_current_state];
4328		if ( yy_current_state >= 1107 )
4329			yy_c = yy_meta[(unsigned int) yy_c];
4330		}
4331	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4332	yy_is_jam = (yy_current_state == 1106);
4333
4334		return yy_is_jam ? 0 : yy_current_state;
4335}
4336
4337#ifndef YY_NO_UNPUT
4338
4339    static void yyunput (int c, char * yy_bp )
4340{
4341	char *yy_cp;
4342
4343    yy_cp = (yy_c_buf_p);
4344
4345	/* undo effects of setting up yytext */
4346	*yy_cp = (yy_hold_char);
4347
4348	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4349		{ /* need to shift things up to make room */
4350		/* +2 for EOB chars. */
4351		yy_size_t number_to_move = (yy_n_chars) + 2;
4352		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4353					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4354		char *source =
4355				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4356
4357		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4358			*--dest = *--source;
4359
4360		yy_cp += (int) (dest - source);
4361		yy_bp += (int) (dest - source);
4362		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4363			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4364
4365		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4366			YY_FATAL_ERROR( "flex scanner push-back overflow" );
4367		}
4368
4369	*--yy_cp = (char) c;
4370
4371	(yytext_ptr) = yy_bp;
4372	(yy_hold_char) = *yy_cp;
4373	(yy_c_buf_p) = yy_cp;
4374}
4375
4376#endif
4377
4378#ifndef YY_NO_INPUT
4379#ifdef __cplusplus
4380    static int yyinput (void)
4381#else
4382    static int input  (void)
4383#endif
4384
4385{
4386	int c;
4387
4388	*(yy_c_buf_p) = (yy_hold_char);
4389
4390	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4391		{
4392		/* yy_c_buf_p now points to the character we want to return.
4393		 * If this occurs *before* the EOB characters, then it's a
4394		 * valid NUL; if not, then we've hit the end of the buffer.
4395		 */
4396		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4397			/* This was really a NUL. */
4398			*(yy_c_buf_p) = '\0';
4399
4400		else
4401			{ /* need more input */
4402			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
4403			++(yy_c_buf_p);
4404
4405			switch ( yy_get_next_buffer(  ) )
4406				{
4407				case EOB_ACT_LAST_MATCH:
4408					/* This happens because yy_g_n_b()
4409					 * sees that we've accumulated a
4410					 * token and flags that we need to
4411					 * try matching the token before
4412					 * proceeding.  But for input(),
4413					 * there's no matching to consider.
4414					 * So convert the EOB_ACT_LAST_MATCH
4415					 * to EOB_ACT_END_OF_FILE.
4416					 */
4417
4418					/* Reset buffer status. */
4419					yyrestart(yyin );
4420
4421					/*FALLTHROUGH*/
4422
4423				case EOB_ACT_END_OF_FILE:
4424					{
4425					if ( yywrap( ) )
4426						return EOF;
4427
4428					if ( ! (yy_did_buffer_switch_on_eof) )
4429						YY_NEW_FILE;
4430#ifdef __cplusplus
4431					return yyinput();
4432#else
4433					return input();
4434#endif
4435					}
4436
4437				case EOB_ACT_CONTINUE_SCAN:
4438					(yy_c_buf_p) = (yytext_ptr) + offset;
4439					break;
4440				}
4441			}
4442		}
4443
4444	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
4445	*(yy_c_buf_p) = '\0';	/* preserve yytext */
4446	(yy_hold_char) = *++(yy_c_buf_p);
4447
4448	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4449
4450	return c;
4451}
4452#endif	/* ifndef YY_NO_INPUT */
4453#endif
4454
4455/** Immediately switch to a different input stream.
4456 * @param input_file A readable stream.
4457 *
4458 * @note This function does not reset the start condition to @c INITIAL .
4459 */
4460    void yyrestart  (FILE * input_file )
4461{
4462
4463	if ( ! YY_CURRENT_BUFFER ){
4464        yyensure_buffer_stack ();
4465		YY_CURRENT_BUFFER_LVALUE =
4466            yy_create_buffer(yyin,YY_BUF_SIZE );
4467	}
4468
4469	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
4470	yy_load_buffer_state( );
4471}
4472
4473/** Switch to a different input buffer.
4474 * @param new_buffer The new input buffer.
4475 *
4476 */
4477    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4478{
4479
4480	/* TODO. We should be able to replace this entire function body
4481	 * with
4482	 *		yypop_buffer_state();
4483	 *		yypush_buffer_state(new_buffer);
4484     */
4485	yyensure_buffer_stack ();
4486	if ( YY_CURRENT_BUFFER == new_buffer )
4487		return;
4488
4489	if ( YY_CURRENT_BUFFER )
4490		{
4491		/* Flush out information for old buffer. */
4492		*(yy_c_buf_p) = (yy_hold_char);
4493		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4494		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4495		}
4496
4497	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4498	yy_load_buffer_state( );
4499
4500	/* We don't actually know whether we did this switch during
4501	 * EOF (yywrap()) processing, but the only time this flag
4502	 * is looked at is after yywrap() is called, so it's safe
4503	 * to go ahead and always set it.
4504	 */
4505	(yy_did_buffer_switch_on_eof) = 1;
4506}
4507
4508static void yy_load_buffer_state  (void)
4509{
4510    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4511	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4512	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4513	(yy_hold_char) = *(yy_c_buf_p);
4514}
4515
4516/** Allocate and initialize an input buffer state.
4517 * @param file A readable stream.
4518 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4519 *
4520 * @return the allocated buffer state.
4521 */
4522    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4523{
4524	YY_BUFFER_STATE b;
4525
4526	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
4527	if ( ! b )
4528		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4529
4530	b->yy_buf_size = (yy_size_t)size;
4531
4532	/* yy_ch_buf has to be 2 characters longer than the size given because
4533	 * we need to put in 2 end-of-buffer characters.
4534	 */
4535	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
4536	if ( ! b->yy_ch_buf )
4537		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4538
4539	b->yy_is_our_buffer = 1;
4540
4541	yy_init_buffer(b,file );
4542
4543	return b;
4544}
4545
4546/** Destroy the buffer.
4547 * @param b a buffer created with yy_create_buffer()
4548 *
4549 */
4550    void yy_delete_buffer (YY_BUFFER_STATE  b )
4551{
4552
4553	if ( ! b )
4554		return;
4555
4556	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4557		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4558
4559	if ( b->yy_is_our_buffer )
4560		yyfree((void *) b->yy_ch_buf  );
4561
4562	yyfree((void *) b  );
4563}
4564
4565/* Initializes or reinitializes a buffer.
4566 * This function is sometimes called more than once on the same buffer,
4567 * such as during a yyrestart() or at EOF.
4568 */
4569    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4570
4571{
4572	int oerrno = errno;
4573
4574	yy_flush_buffer(b );
4575
4576	b->yy_input_file = file;
4577	b->yy_fill_buffer = 1;
4578
4579    /* If b is the current buffer, then yy_init_buffer was _probably_
4580     * called from yyrestart() or through yy_get_next_buffer.
4581     * In that case, we don't want to reset the lineno or column.
4582     */
4583    if (b != YY_CURRENT_BUFFER){
4584        b->yy_bs_lineno = 1;
4585        b->yy_bs_column = 0;
4586    }
4587
4588        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4589
4590	errno = oerrno;
4591}
4592
4593/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4594 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4595 *
4596 */
4597    void yy_flush_buffer (YY_BUFFER_STATE  b )
4598{
4599    	if ( ! b )
4600		return;
4601
4602	b->yy_n_chars = 0;
4603
4604	/* We always need two end-of-buffer characters.  The first causes
4605	 * a transition to the end-of-buffer state.  The second causes
4606	 * a jam in that state.
4607	 */
4608	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4609	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4610
4611	b->yy_buf_pos = &b->yy_ch_buf[0];
4612
4613	b->yy_at_bol = 1;
4614	b->yy_buffer_status = YY_BUFFER_NEW;
4615
4616	if ( b == YY_CURRENT_BUFFER )
4617		yy_load_buffer_state( );
4618}
4619
4620/** Pushes the new state onto the stack. The new state becomes
4621 *  the current state. This function will allocate the stack
4622 *  if necessary.
4623 *  @param new_buffer The new state.
4624 *
4625 */
4626void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4627{
4628    	if (new_buffer == NULL)
4629		return;
4630
4631	yyensure_buffer_stack();
4632
4633	/* This block is copied from yy_switch_to_buffer. */
4634	if ( YY_CURRENT_BUFFER )
4635		{
4636		/* Flush out information for old buffer. */
4637		*(yy_c_buf_p) = (yy_hold_char);
4638		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4639		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4640		}
4641
4642	/* Only push if top exists. Otherwise, replace top. */
4643	if (YY_CURRENT_BUFFER)
4644		(yy_buffer_stack_top)++;
4645	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4646
4647	/* copied from yy_switch_to_buffer. */
4648	yy_load_buffer_state( );
4649	(yy_did_buffer_switch_on_eof) = 1;
4650}
4651
4652/** Removes and deletes the top of the stack, if present.
4653 *  The next element becomes the new top.
4654 *
4655 */
4656void yypop_buffer_state (void)
4657{
4658    	if (!YY_CURRENT_BUFFER)
4659		return;
4660
4661	yy_delete_buffer(YY_CURRENT_BUFFER );
4662	YY_CURRENT_BUFFER_LVALUE = NULL;
4663	if ((yy_buffer_stack_top) > 0)
4664		--(yy_buffer_stack_top);
4665
4666	if (YY_CURRENT_BUFFER) {
4667		yy_load_buffer_state( );
4668		(yy_did_buffer_switch_on_eof) = 1;
4669	}
4670}
4671
4672/* Allocates the stack if it does not exist.
4673 *  Guarantees space for at least one push.
4674 */
4675static void yyensure_buffer_stack (void)
4676{
4677	yy_size_t num_to_alloc;
4678
4679	if (!(yy_buffer_stack)) {
4680
4681		/* First allocation is just for 2 elements, since we don't know if this
4682		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4683		 * immediate realloc on the next call.
4684         */
4685		num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
4686		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4687								(num_to_alloc * sizeof(struct yy_buffer_state*)
4688								);
4689		if ( ! (yy_buffer_stack) )
4690			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4691
4692		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4693
4694		(yy_buffer_stack_max) = num_to_alloc;
4695		(yy_buffer_stack_top) = 0;
4696		return;
4697	}
4698
4699	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4700
4701		/* Increase the buffer to prepare for a possible push. */
4702		yy_size_t grow_size = 8 /* arbitrary grow size */;
4703
4704		num_to_alloc = (yy_buffer_stack_max) + grow_size;
4705		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4706								((yy_buffer_stack),
4707								num_to_alloc * sizeof(struct yy_buffer_state*)
4708								);
4709		if ( ! (yy_buffer_stack) )
4710			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4711
4712		/* zero only the new slots.*/
4713		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4714		(yy_buffer_stack_max) = num_to_alloc;
4715	}
4716}
4717
4718/** Setup the input buffer state to scan directly from a user-specified character buffer.
4719 * @param base the character buffer
4720 * @param size the size in bytes of the character buffer
4721 *
4722 * @return the newly allocated buffer state object.
4723 */
4724YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4725{
4726	YY_BUFFER_STATE b;
4727
4728	if ( size < 2 ||
4729	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
4730	     base[size-1] != YY_END_OF_BUFFER_CHAR )
4731		/* They forgot to leave room for the EOB's. */
4732		return 0;
4733
4734	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
4735	if ( ! b )
4736		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4737
4738	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
4739	b->yy_buf_pos = b->yy_ch_buf = base;
4740	b->yy_is_our_buffer = 0;
4741	b->yy_input_file = 0;
4742	b->yy_n_chars = b->yy_buf_size;
4743	b->yy_is_interactive = 0;
4744	b->yy_at_bol = 1;
4745	b->yy_fill_buffer = 0;
4746	b->yy_buffer_status = YY_BUFFER_NEW;
4747
4748	yy_switch_to_buffer(b  );
4749
4750	return b;
4751}
4752
4753/** Setup the input buffer state to scan a string. The next call to yylex() will
4754 * scan from a @e copy of @a str.
4755 * @param yystr a NUL-terminated string to scan
4756 *
4757 * @return the newly allocated buffer state object.
4758 * @note If you want to scan bytes that may contain NUL values, then use
4759 *       yy_scan_bytes() instead.
4760 */
4761YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
4762{
4763
4764	return yy_scan_bytes(yystr,strlen(yystr) );
4765}
4766
4767/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4768 * scan from a @e copy of @a bytes.
4769 * @param yybytes the byte buffer to scan
4770 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4771 *
4772 * @return the newly allocated buffer state object.
4773 */
4774YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
4775{
4776	YY_BUFFER_STATE b;
4777	char *buf;
4778	yy_size_t n;
4779	yy_size_t i;
4780
4781	/* Get memory for full buffer, including space for trailing EOB's. */
4782	n = _yybytes_len + 2;
4783	buf = (char *) yyalloc(n  );
4784	if ( ! buf )
4785		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4786
4787	for ( i = 0; i < _yybytes_len; ++i )
4788		buf[i] = yybytes[i];
4789
4790	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4791
4792	b = yy_scan_buffer(buf,n );
4793	if ( ! b )
4794		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4795
4796	/* It's okay to grow etc. this buffer, and we should throw it
4797	 * away when we're done.
4798	 */
4799	b->yy_is_our_buffer = 1;
4800
4801	return b;
4802}
4803
4804    static void yy_push_state (int  _new_state )
4805{
4806    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4807		{
4808		yy_size_t new_size;
4809
4810		(yy_start_stack_depth) += YY_START_STACK_INCR;
4811		new_size = (yy_start_stack_depth) * sizeof( int );
4812
4813		if ( ! (yy_start_stack) )
4814			(yy_start_stack) = (int *) yyalloc(new_size  );
4815
4816		else
4817			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
4818
4819		if ( ! (yy_start_stack) )
4820			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4821		}
4822
4823	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4824
4825	BEGIN(_new_state);
4826}
4827
4828    static void yy_pop_state  (void)
4829{
4830    	if ( --(yy_start_stack_ptr) < 0 )
4831		YY_FATAL_ERROR( "start-condition stack underflow" );
4832
4833	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4834}
4835
4836#ifndef YY_EXIT_FAILURE
4837#define YY_EXIT_FAILURE 2
4838#endif
4839
4840static void yy_fatal_error (yyconst char* msg )
4841{
4842			(void) fprintf( stderr, "%s\n", msg );
4843	exit( YY_EXIT_FAILURE );
4844}
4845
4846/* Redefine yyless() so it works in section 3 code. */
4847
4848#undef yyless
4849#define yyless(n) \
4850	do \
4851		{ \
4852		/* Undo effects of setting up yytext. */ \
4853        int yyless_macro_arg = (n); \
4854        YY_LESS_LINENO(yyless_macro_arg);\
4855		yytext[yyleng] = (yy_hold_char); \
4856		(yy_c_buf_p) = yytext + yyless_macro_arg; \
4857		(yy_hold_char) = *(yy_c_buf_p); \
4858		*(yy_c_buf_p) = '\0'; \
4859		yyleng = yyless_macro_arg; \
4860		} \
4861	while ( 0 )
4862
4863/* Accessor  methods (get/set functions) to struct members. */
4864
4865/** Get the current line number.
4866 *
4867 */
4868int yyget_lineno  (void)
4869{
4870
4871    return yylineno;
4872}
4873
4874/** Get the input stream.
4875 *
4876 */
4877FILE *yyget_in  (void)
4878{
4879        return yyin;
4880}
4881
4882/** Get the output stream.
4883 *
4884 */
4885FILE *yyget_out  (void)
4886{
4887        return yyout;
4888}
4889
4890/** Get the length of the current token.
4891 *
4892 */
4893yy_size_t yyget_leng  (void)
4894{
4895        return yyleng;
4896}
4897
4898/** Get the current token.
4899 *
4900 */
4901
4902char *yyget_text  (void)
4903{
4904        return yytext;
4905}
4906
4907/** Set the current line number.
4908 * @param _line_number line number
4909 *
4910 */
4911void yyset_lineno (int  _line_number )
4912{
4913
4914    yylineno = _line_number;
4915}
4916
4917/** Set the input stream. This does not discard the current
4918 * input buffer.
4919 * @param _in_str A readable stream.
4920 *
4921 * @see yy_switch_to_buffer
4922 */
4923void yyset_in (FILE *  _in_str )
4924{
4925        yyin = _in_str ;
4926}
4927
4928void yyset_out (FILE *  _out_str )
4929{
4930        yyout = _out_str ;
4931}
4932
4933int yyget_debug  (void)
4934{
4935        return yy_flex_debug;
4936}
4937
4938void yyset_debug (int  _bdebug )
4939{
4940        yy_flex_debug = _bdebug ;
4941}
4942
4943static int yy_init_globals (void)
4944{
4945        /* Initialization is the same as for the non-reentrant scanner.
4946     * This function is called from yylex_destroy(), so don't allocate here.
4947     */
4948
4949    (yy_buffer_stack) = 0;
4950    (yy_buffer_stack_top) = 0;
4951    (yy_buffer_stack_max) = 0;
4952    (yy_c_buf_p) = (char *) 0;
4953    (yy_init) = 0;
4954    (yy_start) = 0;
4955
4956    (yy_start_stack_ptr) = 0;
4957    (yy_start_stack_depth) = 0;
4958    (yy_start_stack) =  NULL;
4959
4960/* Defined in main.c */
4961#ifdef YY_STDINIT
4962    yyin = stdin;
4963    yyout = stdout;
4964#else
4965    yyin = (FILE *) 0;
4966    yyout = (FILE *) 0;
4967#endif
4968
4969    /* For future reference: Set errno on error, since we are called by
4970     * yylex_init()
4971     */
4972    return 0;
4973}
4974
4975/* yylex_destroy is for both reentrant and non-reentrant scanners. */
4976int yylex_destroy  (void)
4977{
4978
4979    /* Pop the buffer stack, destroying each element. */
4980	while(YY_CURRENT_BUFFER){
4981		yy_delete_buffer(YY_CURRENT_BUFFER  );
4982		YY_CURRENT_BUFFER_LVALUE = NULL;
4983		yypop_buffer_state();
4984	}
4985
4986	/* Destroy the stack itself. */
4987	yyfree((yy_buffer_stack) );
4988	(yy_buffer_stack) = NULL;
4989
4990    /* Destroy the start condition stack. */
4991        yyfree((yy_start_stack)  );
4992        (yy_start_stack) = NULL;
4993
4994    /* Reset the globals. This is important in a non-reentrant scanner so the next time
4995     * yylex() is called, initialization will occur. */
4996    yy_init_globals( );
4997
4998    return 0;
4999}
5000
5001/*
5002 * Internal utility routines.
5003 */
5004
5005#ifndef yytext_ptr
5006static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
5007{
5008
5009	int i;
5010	for ( i = 0; i < n; ++i )
5011		s1[i] = s2[i];
5012}
5013#endif
5014
5015#ifdef YY_NEED_STRLEN
5016static int yy_flex_strlen (yyconst char * s )
5017{
5018	int n;
5019	for ( n = 0; s[n]; ++n )
5020		;
5021
5022	return n;
5023}
5024#endif
5025
5026void *yyalloc (yy_size_t  size )
5027{
5028			return (void *) malloc( size );
5029}
5030
5031void *yyrealloc  (void * ptr, yy_size_t  size )
5032{
5033
5034	/* The cast to (char *) in the following accommodates both
5035	 * implementations that use char* generic pointers, and those
5036	 * that use void* generic pointers.  It works with the latter
5037	 * because both ANSI C and C++ allow castless assignment from
5038	 * any pointer type to void*, and deal with argument conversions
5039	 * as though doing an assignment.
5040	 */
5041	return (void *) realloc( (char *) ptr, size );
5042}
5043
5044void yyfree (void * ptr )
5045{
5046			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
5047}
5048
5049#define YYTABLES_NAME "yytables"
5050
5051#line 972 "/p/netbsd/cvsroot/src/external/bsd/flex/dist/src/scan.l"
5052
5053
5054
5055
5056int yywrap()
5057	{
5058	if ( --num_input_files > 0 )
5059		{
5060		set_input_file( *++input_files );
5061		return 0;
5062		}
5063
5064	else
5065		return 1;
5066	}
5067
5068
5069/* set_input_file - open the given file (if NULL, stdin) for scanning */
5070
5071void set_input_file( file )
5072char *file;
5073	{
5074	if ( file && strcmp( file, "-" ) )
5075		{
5076		infilename = copy_string( file );
5077		yyin = fopen( infilename, "r" );
5078
5079		if ( yyin == NULL )
5080			lerr( _( "can't open %s" ), file );
5081		}
5082
5083	else
5084		{
5085		yyin = stdin;
5086		infilename = copy_string( "<stdin>" );
5087		}
5088
5089	linenum = 1;
5090	}
5091
5092
5093/* Wrapper routines for accessing the scanner's malloc routines. */
5094
5095void *flex_alloc( size )
5096size_t size;
5097	{
5098	return (void *) malloc( size );
5099	}
5100
5101void *flex_realloc( ptr, size )
5102void *ptr;
5103size_t size;
5104	{
5105	return (void *) realloc( ptr, size );
5106	}
5107
5108void flex_free( ptr )
5109void *ptr;
5110	{
5111	if ( ptr )
5112		free( ptr );
5113	}
5114
5115