xref: /netbsd-src/external/bsd/flex/dist/src/initscan.c (revision d909946ca08dceb44d7d0f22ec9488679695d976)
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.2 2016/03/17 15:28:00 nakayama 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>
48 typedef int8_t flex_int8_t;
49 typedef uint8_t flex_uint8_t;
50 typedef int16_t flex_int16_t;
51 typedef uint16_t flex_uint16_t;
52 typedef int32_t flex_int32_t;
53 typedef uint32_t flex_uint32_t;
54 #else
55 typedef signed char flex_int8_t;
56 typedef short int flex_int16_t;
57 typedef int flex_int32_t;
58 typedef unsigned char flex_uint8_t;
59 typedef unsigned short int flex_uint16_t;
60 typedef 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
166 typedef struct yy_buffer_state *YY_BUFFER_STATE;
167 #endif
168 
169 #ifndef YY_TYPEDEF_YY_SIZE_T
170 #define YY_TYPEDEF_YY_SIZE_T
171 typedef size_t yy_size_t;
172 #endif
173 
174 extern yy_size_t yyleng;
175 
176 extern 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
203 struct 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. */
267 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
268 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
269 static 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. */
287 static char yy_hold_char;
288 static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
289 yy_size_t yyleng;
290 
291 /* Points to current character in buffer. */
292 static char *yy_c_buf_p = (char *) 0;
293 static int yy_init = 0;		/* whether we need to initialize */
294 static 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  */
299 static int yy_did_buffer_switch_on_eof;
300 
301 void yyrestart (FILE *input_file  );
302 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
303 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
304 void yy_delete_buffer (YY_BUFFER_STATE b  );
305 void yy_flush_buffer (YY_BUFFER_STATE b  );
306 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
307 void yypop_buffer_state (void );
308 
309 static void yyensure_buffer_stack (void );
310 static void yy_load_buffer_state (void );
311 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
312 
313 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
314 
315 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
316 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
317 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
318 
319 void *yyalloc (yy_size_t  );
320 void *yyrealloc (void *,yy_size_t  );
321 void 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 
349 typedef unsigned char YY_CHAR;
350 
351 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
352 
353 typedef int yy_state_type;
354 
355 extern int yylineno;
356 
357 int yylineno = 1;
358 
359 extern char *yytext;
360 #ifdef yytext_ptr
361 #undef yytext_ptr
362 #endif
363 #define yytext_ptr yytext
364 
365 static yy_state_type yy_get_previous_state (void );
366 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
367 static int yy_get_next_buffer (void );
368 #if defined(__GNUC__) && __GNUC__ >= 3
369 __attribute__((__noreturn__))
370 #endif
371 static 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. */
388 struct yy_trans_info
389 	{
390 	flex_int32_t yy_verify;
391 	flex_int32_t yy_nxt;
392 	};
393 static 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 
519 static 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 
551 static 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 
564 static 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 
700 static 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 
836 static 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 
1286 static 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 
1736 static yy_state_type yy_last_accepting_state;
1737 static char *yy_last_accepting_cpos;
1738 
1739 extern int yy_flex_debug;
1740 int 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
1746 static int yy_more_flag = 0;
1747 static 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
1751 char *yytext;
1752 /*	$NetBSD: initscan.c,v 1.2 2016/03/17 15:28:00 nakayama Exp $	*/
1753 /* scan.l - scanner for flex input -*-C-*- */
1754 /*  Copyright (c) 1990 The Regents of the University of California. */
1755 /*  All rights reserved. */
1756 
1757 /*  This code is derived from software contributed to Berkeley by */
1758 /*  Vern Paxson. */
1759 
1760 /*  The United States Government has rights in this work pursuant */
1761 /*  to contract no. DE-AC03-76SF00098 between the United States */
1762 /*  Department of Energy and the University of California. */
1763 
1764 /*  This file is part of flex. */
1765 
1766 /*  Redistribution and use in source and binary forms, with or without */
1767 /*  modification, are permitted provided that the following conditions */
1768 /*  are met: */
1769 
1770 /*  1. Redistributions of source code must retain the above copyright */
1771 /*     notice, this list of conditions and the following disclaimer. */
1772 /*  2. Redistributions in binary form must reproduce the above copyright */
1773 /*     notice, this list of conditions and the following disclaimer in the */
1774 /*     documentation and/or other materials provided with the distribution. */
1775 
1776 /*  Neither the name of the University nor the names of its contributors */
1777 /*  may be used to endorse or promote products derived from this software */
1778 /*  without specific prior written permission. */
1779 
1780 /*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1781 /*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1782 /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1783 /*  PURPOSE. */
1784 #include "flexdef.h"
1785 __RCSID("$NetBSD: initscan.c,v 1.2 2016/03/17 15:28:00 nakayama Exp $");
1786 
1787 #include "parse.h"
1788 extern bool tablesverify, tablesext;
1789 extern int trlcontxt; /* Set in  parse.y for each rule. */
1790 extern const char *escaped_qstart, *escaped_qend;
1791 
1792 #define ACTION_ECHO add_action( yytext )
1793 #define ACTION_IFDEF(def, should_define) \
1794 	{ \
1795 	if ( should_define ) \
1796 		action_define( def, 1 ); \
1797 	}
1798 
1799 #define ACTION_ECHO_QSTART add_action (escaped_qstart)
1800 #define ACTION_ECHO_QEND   add_action (escaped_qend)
1801 
1802 #define ACTION_M4_IFDEF(def, should_define) \
1803     do{ \
1804         if ( should_define ) \
1805             buf_m4_define( &m4defs_buf, def, NULL);\
1806         else \
1807             buf_m4_undefine( &m4defs_buf, def);\
1808     } while(0)
1809 
1810 #define MARK_END_OF_PROLOG mark_prolog();
1811 
1812 #define YY_DECL \
1813 	int flexscan()
1814 
1815 #define RETURNCHAR \
1816 	yylval = (unsigned char) yytext[0]; \
1817 	return CHAR;
1818 
1819 #define RETURNNAME \
1820 	if(yyleng < MAXLINE) \
1821          { \
1822 	strlcpy( nmstr, yytext, sizeof(nmstr) ); \
1823 	 } \
1824 	else \
1825 	 { \
1826 	   synerr(_("Input line too long\n")); \
1827 	   FLEX_EXIT(EXIT_FAILURE);  \
1828 	 }  \
1829 	return NAME;
1830 
1831 #define PUT_BACK_STRING(str, start) \
1832 	for ( i = strlen( str ) - 1; i >= start; --i ) \
1833 		unput((str)[i])
1834 
1835 #define CHECK_RE_JECT(str) \
1836 	if ( all_upper( str ) ) \
1837 		reject = true
1838 
1839 #define CHECK_YYMORE(str) \
1840 	if ( all_lower( str ) ) \
1841 		yymore_used = true;
1842 
1843 #define YY_USER_INIT \
1844 	if ( getenv("POSIXLY_CORRECT") ) \
1845 		posix_compat = true;
1846 
1847 #define INITIAL 0
1848 #define SECT2 1
1849 #define SECT2PROLOG 2
1850 #define SECT3 3
1851 #define CODEBLOCK 4
1852 #define PICKUPDEF 5
1853 #define SC 6
1854 #define CARETISBOL 7
1855 #define NUM 8
1856 #define QUOTE 9
1857 #define FIRSTCCL 10
1858 #define CCL 11
1859 #define ACTION 12
1860 #define RECOVER 13
1861 #define COMMENT 14
1862 #define ACTION_STRING 15
1863 #define PERCENT_BRACE_ACTION 16
1864 #define OPTION 17
1865 #define LINEDIR 18
1866 #define CODEBLOCK_MATCH_BRACE 19
1867 #define GROUP_WITH_PARAMS 20
1868 #define GROUP_MINUS_PARAMS 21
1869 #define EXTENDED_COMMENT 22
1870 #define COMMENT_DISCARD 23
1871 
1872 #ifndef YY_NO_UNISTD_H
1873 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1874  * down here because we want the user's section 1 to have been scanned first.
1875  * The user has a chance to override it with an option.
1876  */
1877 #include <unistd.h>
1878 #endif
1879 
1880 #ifndef YY_EXTRA_TYPE
1881 #define YY_EXTRA_TYPE void *
1882 #endif
1883 
1884 static int yy_init_globals (void );
1885 
1886 /* Accessor methods to globals.
1887    These are made visible to non-reentrant scanners for convenience. */
1888 
1889 int yylex_destroy (void );
1890 
1891 int yyget_debug (void );
1892 
1893 void yyset_debug (int debug_flag  );
1894 
1895 YY_EXTRA_TYPE yyget_extra (void );
1896 
1897 void yyset_extra (YY_EXTRA_TYPE user_defined  );
1898 
1899 FILE *yyget_in (void );
1900 
1901 void yyset_in  (FILE * _in_str  );
1902 
1903 FILE *yyget_out (void );
1904 
1905 void yyset_out  (FILE * _out_str  );
1906 
1907 yy_size_t yyget_leng (void );
1908 
1909 char *yyget_text (void );
1910 
1911 int yyget_lineno (void );
1912 
1913 void yyset_lineno (int _line_number  );
1914 
1915 /* Macros after this point can all be overridden by user definitions in
1916  * section 1.
1917  */
1918 
1919 #ifndef YY_SKIP_YYWRAP
1920 #ifdef __cplusplus
1921 extern "C" int yywrap (void );
1922 #else
1923 extern int yywrap (void );
1924 #endif
1925 #endif
1926 
1927 #ifndef YY_NO_UNPUT
1928 
1929     static void yyunput (int c,char *buf_ptr  );
1930 
1931 #endif
1932 
1933 #ifndef yytext_ptr
1934 static void yy_flex_strncpy (char *,yyconst char *,int );
1935 #endif
1936 
1937 #ifdef YY_NEED_STRLEN
1938 static int yy_flex_strlen (yyconst char * );
1939 #endif
1940 
1941 #ifndef YY_NO_INPUT
1942 
1943 #ifdef __cplusplus
1944 static int yyinput (void );
1945 #else
1946 static int input (void );
1947 #endif
1948 
1949 #endif
1950 
1951         static int yy_start_stack_ptr = 0;
1952         static int yy_start_stack_depth = 0;
1953         static int *yy_start_stack = NULL;
1954 
1955     static void yy_push_state (int _new_state );
1956 
1957     static void yy_pop_state (void );
1958 
1959 /* Amount of stuff to slurp up with each read. */
1960 #ifndef YY_READ_BUF_SIZE
1961 #ifdef __ia64__
1962 /* On IA-64, the buffer size is 16k, not 8k */
1963 #define YY_READ_BUF_SIZE 16384
1964 #else
1965 #define YY_READ_BUF_SIZE 8192
1966 #endif /* __ia64__ */
1967 #endif
1968 
1969 /* Copy whatever the last rule matched to the standard output. */
1970 #ifndef ECHO
1971 /* This used to be an fputs(), but since the string might contain NUL's,
1972  * we now use fwrite().
1973  */
1974 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1975 #endif
1976 
1977 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1978  * is returned in "result".
1979  */
1980 #ifndef YY_INPUT
1981 #define YY_INPUT(buf,result,max_size) \
1982 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1983 		{ \
1984 		int c = '*'; \
1985 		size_t n; \
1986 		for ( n = 0; n < max_size && \
1987 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1988 			buf[n] = (char) c; \
1989 		if ( c == '\n' ) \
1990 			buf[n++] = (char) c; \
1991 		if ( c == EOF && ferror( yyin ) ) \
1992 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
1993 		result = n; \
1994 		} \
1995 	else \
1996 		{ \
1997 		errno=0; \
1998 		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1999 			{ \
2000 			if( errno != EINTR) \
2001 				{ \
2002 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2003 				break; \
2004 				} \
2005 			errno=0; \
2006 			clearerr(yyin); \
2007 			} \
2008 		}\
2009 \
2010 
2011 #endif
2012 
2013 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2014  * we don't want an extra ';' after the "return" because that will cause
2015  * some compilers to complain about unreachable statements.
2016  */
2017 #ifndef yyterminate
2018 #define yyterminate() return YY_NULL
2019 #endif
2020 
2021 /* Number of entries by which start-condition stack grows. */
2022 #ifndef YY_START_STACK_INCR
2023 #define YY_START_STACK_INCR 25
2024 #endif
2025 
2026 /* Report a fatal error. */
2027 #ifndef YY_FATAL_ERROR
2028 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2029 #endif
2030 
2031 /* end tables serialization structures and prototypes */
2032 
2033 /* Default declaration of generated scanner - a define so the user can
2034  * easily add parameters.
2035  */
2036 #ifndef YY_DECL
2037 #define YY_DECL_IS_OURS 1
2038 
2039 extern int yylex (void);
2040 
2041 #define YY_DECL int yylex (void)
2042 #endif /* !YY_DECL */
2043 
2044 /* Code executed at the beginning of each rule, after yytext and yyleng
2045  * have been set up.
2046  */
2047 #ifndef YY_USER_ACTION
2048 #define YY_USER_ACTION
2049 #endif
2050 
2051 /* Code executed at the end of each rule. */
2052 #ifndef YY_BREAK
2053 #define YY_BREAK /*LINTED*/break;
2054 #endif
2055 
2056 #define YY_RULE_SETUP \
2057 	if ( yyleng > 0 ) \
2058 		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2059 				(yytext[yyleng - 1] == '\n'); \
2060 	YY_USER_ACTION
2061 
2062 /** The main scanner function which does all the work.
2063  */
2064 YY_DECL
2065 {
2066 	yy_state_type yy_current_state;
2067 	char *yy_cp, *yy_bp;
2068 	int yy_act;
2069 
2070 	if ( !(yy_init) )
2071 		{
2072 		(yy_init) = 1;
2073 
2074 #ifdef YY_USER_INIT
2075 		YY_USER_INIT;
2076 #endif
2077 
2078 		if ( ! (yy_start) )
2079 			(yy_start) = 1;	/* first start state */
2080 
2081 		if ( ! yyin )
2082 			yyin = stdin;
2083 
2084 		if ( ! yyout )
2085 			yyout = stdout;
2086 
2087 		if ( ! YY_CURRENT_BUFFER ) {
2088 			yyensure_buffer_stack ();
2089 			YY_CURRENT_BUFFER_LVALUE =
2090 				yy_create_buffer(yyin,YY_BUF_SIZE );
2091 		}
2092 
2093 		yy_load_buffer_state( );
2094 		}
2095 
2096 	{
2097 
2098 	static int bracelevel, didadef, indented_code;
2099 	static int doing_rule_action = false;
2100 	static int option_sense;
2101 
2102 	int doing_codeblock = false;
2103 	int i, brace_depth=0, brace_start_line=0;
2104 	Char nmdef[MAXLINE];
2105 
2106 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2107 		{
2108 		(yy_more_len) = 0;
2109 		if ( (yy_more_flag) )
2110 			{
2111 			(yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
2112 			(yy_more_flag) = 0;
2113 			}
2114 		yy_cp = (yy_c_buf_p);
2115 
2116 		/* Support of yytext. */
2117 		*yy_cp = (yy_hold_char);
2118 
2119 		/* yy_bp points to the position in yy_ch_buf of the start of
2120 		 * the current run.
2121 		 */
2122 		yy_bp = yy_cp;
2123 
2124 		yy_current_state = (yy_start);
2125 		yy_current_state += YY_AT_BOL();
2126 yy_match:
2127 		do
2128 			{
2129 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2130 			if ( yy_accept[yy_current_state] )
2131 				{
2132 				(yy_last_accepting_state) = yy_current_state;
2133 				(yy_last_accepting_cpos) = yy_cp;
2134 				}
2135 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2136 				{
2137 				yy_current_state = (int) yy_def[yy_current_state];
2138 				if ( yy_current_state >= 1107 )
2139 					yy_c = yy_meta[(unsigned int) yy_c];
2140 				}
2141 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2142 			++yy_cp;
2143 			}
2144 		while ( yy_base[yy_current_state] != 3975 );
2145 
2146 yy_find_action:
2147 		yy_act = yy_accept[yy_current_state];
2148 		if ( yy_act == 0 )
2149 			{ /* have to back up */
2150 			yy_cp = (yy_last_accepting_cpos);
2151 			yy_current_state = (yy_last_accepting_state);
2152 			yy_act = yy_accept[yy_current_state];
2153 			}
2154 
2155 		YY_DO_BEFORE_ACTION;
2156 
2157 do_action:	/* This label is used only to access EOF actions. */
2158 
2159 		switch ( yy_act )
2160 	{ /* beginning of action switch */
2161 			case 0: /* must back up */
2162 			/* undo the effects of YY_DO_BEFORE_ACTION */
2163 			*yy_cp = (yy_hold_char);
2164 			yy_cp = (yy_last_accepting_cpos);
2165 			yy_current_state = (yy_last_accepting_state);
2166 			goto yy_find_action;
2167 
2168 case 1:
2169 YY_RULE_SETUP
2170 indented_code = true; BEGIN(CODEBLOCK);
2171 	YY_BREAK
2172 case 2:
2173 YY_RULE_SETUP
2174 ACTION_ECHO; yy_push_state( COMMENT );
2175 	YY_BREAK
2176 case 3:
2177 YY_RULE_SETUP
2178 yy_push_state( LINEDIR );
2179 	YY_BREAK
2180 case 4:
2181 YY_RULE_SETUP
2182 return SCDECL;
2183 	YY_BREAK
2184 case 5:
2185 YY_RULE_SETUP
2186 return XSCDECL;
2187 	YY_BREAK
2188 case 6:
2189 /* rule 6 can match eol */
2190 YY_RULE_SETUP
2191 {
2192 			++linenum;
2193 			line_directive_out( (FILE *) 0, 1 );
2194 			indented_code = false;
2195 			BEGIN(CODEBLOCK);
2196 			}
2197 	YY_BREAK
2198 case 7:
2199 /* rule 7 can match eol */
2200 YY_RULE_SETUP
2201 {
2202                 brace_start_line = linenum;
2203                 ++linenum;
2204                 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2205                 brace_depth = 1;
2206                 yy_push_state(CODEBLOCK_MATCH_BRACE);
2207             }
2208 	YY_BREAK
2209 case 8:
2210 YY_RULE_SETUP
2211 synerr( _("malformed '%top' directive") );
2212 	YY_BREAK
2213 case 9:
2214 YY_RULE_SETUP
2215 /* discard */
2216 	YY_BREAK
2217 case 10:
2218 YY_RULE_SETUP
2219 {
2220 			sectnum = 2;
2221 			bracelevel = 0;
2222 			mark_defs1();
2223 			line_directive_out( (FILE *) 0, 1 );
2224 			BEGIN(SECT2PROLOG);
2225 			return SECTEND;
2226 			}
2227 	YY_BREAK
2228 case 11:
2229 /* rule 11 can match eol */
2230 YY_RULE_SETUP
2231 yytext_is_array = false; ++linenum;
2232 	YY_BREAK
2233 case 12:
2234 /* rule 12 can match eol */
2235 YY_RULE_SETUP
2236 yytext_is_array = true; ++linenum;
2237 	YY_BREAK
2238 case 13:
2239 YY_RULE_SETUP
2240 BEGIN(OPTION); return OPTION_OP;
2241 	YY_BREAK
2242 case 14:
2243 /* rule 14 can match eol */
2244 YY_RULE_SETUP
2245 ++linenum; /* ignore */
2246 	YY_BREAK
2247 case 15:
2248 /* rule 15 can match eol */
2249 YY_RULE_SETUP
2250 ++linenum;	/* ignore */
2251 	YY_BREAK
2252 /* xgettext: no-c-format */
2253 case 16:
2254 /* rule 16 can match eol */
2255 YY_RULE_SETUP
2256 synerr( _( "unrecognized '%' directive" ) );
2257 	YY_BREAK
2258 case 17:
2259 YY_RULE_SETUP
2260 {
2261 			if(yyleng < MAXLINE)
2262         		 {
2263 			strlcpy( nmstr, yytext, sizeof(nmstr) );
2264 			 }
2265 			else
2266 			 {
2267 			   synerr( _("Definition name too long\n"));
2268 			   FLEX_EXIT(EXIT_FAILURE);
2269 			 }
2270 
2271 			didadef = false;
2272 			BEGIN(PICKUPDEF);
2273 			}
2274 	YY_BREAK
2275 case 18:
2276 YY_RULE_SETUP
2277 RETURNNAME;
2278 	YY_BREAK
2279 case 19:
2280 /* rule 19 can match eol */
2281 YY_RULE_SETUP
2282 ++linenum; /* allows blank lines in section 1 */
2283 	YY_BREAK
2284 case 20:
2285 /* rule 20 can match eol */
2286 YY_RULE_SETUP
2287 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2288 	YY_BREAK
2289 
2290 case 21:
2291 YY_RULE_SETUP
2292 ACTION_ECHO; yy_pop_state();
2293 	YY_BREAK
2294 case 22:
2295 YY_RULE_SETUP
2296 ACTION_ECHO;
2297 	YY_BREAK
2298 case 23:
2299 YY_RULE_SETUP
2300 ACTION_ECHO_QSTART;
2301 	YY_BREAK
2302 case 24:
2303 YY_RULE_SETUP
2304 ACTION_ECHO_QEND;
2305 	YY_BREAK
2306 case 25:
2307 YY_RULE_SETUP
2308 ACTION_ECHO;
2309 	YY_BREAK
2310 case 26:
2311 /* rule 26 can match eol */
2312 YY_RULE_SETUP
2313 ++linenum; ACTION_ECHO;
2314 	YY_BREAK
2315 
2316 /* This is the same as COMMENT, but is discarded rather than output. */
2317 case 27:
2318 YY_RULE_SETUP
2319 yy_pop_state();
2320 	YY_BREAK
2321 case 28:
2322 YY_RULE_SETUP
2323 ;
2324 	YY_BREAK
2325 case 29:
2326 YY_RULE_SETUP
2327 ;
2328 	YY_BREAK
2329 case 30:
2330 /* rule 30 can match eol */
2331 YY_RULE_SETUP
2332 ++linenum;
2333 	YY_BREAK
2334 
2335 case 31:
2336 YY_RULE_SETUP
2337 yy_pop_state();
2338 	YY_BREAK
2339 case 32:
2340 YY_RULE_SETUP
2341 ;
2342 	YY_BREAK
2343 case 33:
2344 /* rule 33 can match eol */
2345 YY_RULE_SETUP
2346 ++linenum;
2347 	YY_BREAK
2348 
2349 case 34:
2350 /* rule 34 can match eol */
2351 YY_RULE_SETUP
2352 yy_pop_state();
2353 	YY_BREAK
2354 case 35:
2355 YY_RULE_SETUP
2356 linenum = myctoi( yytext );
2357 	YY_BREAK
2358 case 36:
2359 YY_RULE_SETUP
2360 {
2361 			flex_free( (void *) infilename );
2362 			infilename = copy_string( yytext + 1 );
2363 			infilename[strlen( infilename ) - 1] = '\0';
2364 			}
2365 	YY_BREAK
2366 case 37:
2367 YY_RULE_SETUP
2368 /* ignore spurious characters */
2369 	YY_BREAK
2370 
2371 case 38:
2372 /* rule 38 can match eol */
2373 YY_RULE_SETUP
2374 ++linenum; BEGIN(INITIAL);
2375 	YY_BREAK
2376 case 39:
2377 YY_RULE_SETUP
2378 ACTION_ECHO_QSTART;
2379 	YY_BREAK
2380 case 40:
2381 YY_RULE_SETUP
2382 ACTION_ECHO_QEND;
2383 	YY_BREAK
2384 case 41:
2385 YY_RULE_SETUP
2386 ACTION_ECHO;
2387 	YY_BREAK
2388 case 42:
2389 /* rule 42 can match eol */
2390 YY_RULE_SETUP
2391 {
2392 			++linenum;
2393 			ACTION_ECHO;
2394 			if ( indented_code )
2395 				BEGIN(INITIAL);
2396 			}
2397 	YY_BREAK
2398 
2399 case 43:
2400 YY_RULE_SETUP
2401 {
2402                 if( --brace_depth == 0){
2403                     /* TODO: Matched. */
2404                     yy_pop_state();
2405                 }else
2406                     buf_strnappend(&top_buf, yytext, yyleng);
2407             }
2408 	YY_BREAK
2409 case 44:
2410 YY_RULE_SETUP
2411 {
2412                 brace_depth++;
2413                 buf_strnappend(&top_buf, yytext, yyleng);
2414             }
2415 	YY_BREAK
2416 case 45:
2417 /* rule 45 can match eol */
2418 YY_RULE_SETUP
2419 {
2420                 ++linenum;
2421                 buf_strnappend(&top_buf, yytext, yyleng);
2422             }
2423 	YY_BREAK
2424 case 46:
2425 YY_RULE_SETUP
2426 buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart));
2427 	YY_BREAK
2428 case 47:
2429 YY_RULE_SETUP
2430 buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend));
2431 	YY_BREAK
2432 case 48:
2433 YY_RULE_SETUP
2434 {
2435                 buf_strnappend(&top_buf, yytext, yyleng);
2436                }
2437 	YY_BREAK
2438 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2439 {
2440                 linenum = brace_start_line;
2441                 synerr(_("Unmatched '{'"));
2442                 yyterminate();
2443                 }
2444 	YY_BREAK
2445 
2446 case 49:
2447 YY_RULE_SETUP
2448 /* separates name and definition */
2449 	YY_BREAK
2450 case 50:
2451 YY_RULE_SETUP
2452 {
2453  		        if(yyleng < MAXLINE)
2454  		         {
2455 			strlcpy( (char *) nmdef, yytext, sizeof(nmdef) );
2456  		         }
2457  		        else
2458  		         {
2459  		           format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2460  		           FLEX_EXIT(EXIT_FAILURE);
2461 			 }
2462 			/* Skip trailing whitespace. */
2463 			for ( i = strlen( (char *) nmdef ) - 1;
2464 			      i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
2465 			      --i )
2466 				;
2467 
2468 			nmdef[i + 1] = '\0';
2469 
2470 			ndinstal( nmstr, nmdef );
2471 			didadef = true;
2472 			}
2473 	YY_BREAK
2474 case 51:
2475 /* rule 51 can match eol */
2476 YY_RULE_SETUP
2477 {
2478 			if ( ! didadef )
2479 				synerr( _( "incomplete name definition" ) );
2480 			BEGIN(INITIAL);
2481 			++linenum;
2482 			}
2483 	YY_BREAK
2484 
2485 case 52:
2486 /* rule 52 can match eol */
2487 YY_RULE_SETUP
2488 ++linenum; BEGIN(INITIAL);
2489 	YY_BREAK
2490 case 53:
2491 YY_RULE_SETUP
2492 option_sense = true;
2493 	YY_BREAK
2494 case 54:
2495 YY_RULE_SETUP
2496 return '=';
2497 	YY_BREAK
2498 case 55:
2499 YY_RULE_SETUP
2500 option_sense = ! option_sense;
2501 	YY_BREAK
2502 case 56:
2503 YY_RULE_SETUP
2504 csize = option_sense ? 128 : 256;
2505 	YY_BREAK
2506 case 57:
2507 YY_RULE_SETUP
2508 csize = option_sense ? 256 : 128;
2509 	YY_BREAK
2510 case 58:
2511 YY_RULE_SETUP
2512 long_align = option_sense;
2513 	YY_BREAK
2514 case 59:
2515 YY_RULE_SETUP
2516 {
2517 			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2518             interactive = option_sense;
2519 			}
2520 	YY_BREAK
2521 case 60:
2522 YY_RULE_SETUP
2523 yytext_is_array = option_sense;
2524 	YY_BREAK
2525 case 61:
2526 YY_RULE_SETUP
2527 ansi_func_defs = option_sense;
2528 	YY_BREAK
2529 case 62:
2530 YY_RULE_SETUP
2531 ansi_func_protos = option_sense;
2532 	YY_BREAK
2533 case 63:
2534 YY_RULE_SETUP
2535 backing_up_report = option_sense;
2536 	YY_BREAK
2537 case 64:
2538 YY_RULE_SETUP
2539 interactive = ! option_sense;
2540 	YY_BREAK
2541 case 65:
2542 YY_RULE_SETUP
2543 bison_bridge_lval = option_sense;
2544 	YY_BREAK
2545 case 66:
2546 YY_RULE_SETUP
2547 { if((bison_bridge_lloc = option_sense))
2548                             bison_bridge_lval = true;
2549                      }
2550 	YY_BREAK
2551 case 67:
2552 YY_RULE_SETUP
2553 C_plus_plus = option_sense;
2554 	YY_BREAK
2555 case 68:
2556 YY_RULE_SETUP
2557 sf_set_case_ins(!option_sense);
2558 	YY_BREAK
2559 case 69:
2560 YY_RULE_SETUP
2561 sf_set_case_ins(option_sense);
2562 	YY_BREAK
2563 case 70:
2564 YY_RULE_SETUP
2565 ddebug = option_sense;
2566 	YY_BREAK
2567 case 71:
2568 YY_RULE_SETUP
2569 spprdflt = ! option_sense;
2570 	YY_BREAK
2571 case 72:
2572 YY_RULE_SETUP
2573 useecs = option_sense;
2574 	YY_BREAK
2575 case 73:
2576 YY_RULE_SETUP
2577 {
2578 			useecs = usemecs = false;
2579 			use_read = fullspd = true;
2580 			}
2581 	YY_BREAK
2582 case 74:
2583 YY_RULE_SETUP
2584 {
2585 			useecs = usemecs = false;
2586 			use_read = fulltbl = true;
2587 			}
2588 	YY_BREAK
2589 case 75:
2590 YY_RULE_SETUP
2591 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2592 	YY_BREAK
2593 case 76:
2594 YY_RULE_SETUP
2595 interactive = option_sense;
2596 	YY_BREAK
2597 case 77:
2598 YY_RULE_SETUP
2599 lex_compat = option_sense;
2600 	YY_BREAK
2601 case 78:
2602 YY_RULE_SETUP
2603 posix_compat = option_sense;
2604 	YY_BREAK
2605 case 79:
2606 YY_RULE_SETUP
2607 {
2608 			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2609             /* Override yywrap */
2610             if( option_sense == true )
2611                 do_yywrap = false;
2612 			}
2613 	YY_BREAK
2614 case 80:
2615 YY_RULE_SETUP
2616 usemecs = option_sense;
2617 	YY_BREAK
2618 case 81:
2619 YY_RULE_SETUP
2620 {
2621 			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2622             interactive = !option_sense;
2623 			}
2624 	YY_BREAK
2625 case 82:
2626 YY_RULE_SETUP
2627 performance_report += option_sense ? 1 : -1;
2628 	YY_BREAK
2629 case 83:
2630 YY_RULE_SETUP
2631 yytext_is_array = ! option_sense;
2632 	YY_BREAK
2633 case 84:
2634 YY_RULE_SETUP
2635 use_read = option_sense;
2636 	YY_BREAK
2637 case 85:
2638 YY_RULE_SETUP
2639 reentrant = option_sense;
2640 	YY_BREAK
2641 case 86:
2642 YY_RULE_SETUP
2643 reject_really_used = option_sense;
2644 	YY_BREAK
2645 case 87:
2646 YY_RULE_SETUP
2647 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2648 	YY_BREAK
2649 case 88:
2650 YY_RULE_SETUP
2651 do_stdinit = option_sense;
2652 	YY_BREAK
2653 case 89:
2654 YY_RULE_SETUP
2655 use_stdout = option_sense;
2656 	YY_BREAK
2657 case 90:
2658 YY_RULE_SETUP
2659 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2660 	YY_BREAK
2661 case 91:
2662 YY_RULE_SETUP
2663 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2664 	YY_BREAK
2665 case 92:
2666 YY_RULE_SETUP
2667 printstats = option_sense;
2668 	YY_BREAK
2669 case 93:
2670 YY_RULE_SETUP
2671 nowarn = ! option_sense;
2672 	YY_BREAK
2673 case 94:
2674 YY_RULE_SETUP
2675 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2676 	YY_BREAK
2677 case 95:
2678 YY_RULE_SETUP
2679 yymore_really_used = option_sense;
2680 	YY_BREAK
2681 case 96:
2682 YY_RULE_SETUP
2683 do_yywrap = option_sense;
2684 	YY_BREAK
2685 case 97:
2686 YY_RULE_SETUP
2687 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2688 	YY_BREAK
2689 case 98:
2690 YY_RULE_SETUP
2691 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2692 	YY_BREAK
2693 case 99:
2694 YY_RULE_SETUP
2695 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2696 	YY_BREAK
2697 case 100:
2698 YY_RULE_SETUP
2699 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2700 	YY_BREAK
2701 case 101:
2702 YY_RULE_SETUP
2703 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2704 	YY_BREAK
2705 case 102:
2706 YY_RULE_SETUP
2707 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2708 	YY_BREAK
2709 case 103:
2710 YY_RULE_SETUP
2711 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2712 	YY_BREAK
2713 case 104:
2714 YY_RULE_SETUP
2715 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2716 	YY_BREAK
2717 case 105:
2718 YY_RULE_SETUP
2719 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2720 	YY_BREAK
2721 case 106:
2722 YY_RULE_SETUP
2723 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2724 	YY_BREAK
2725 case 107:
2726 YY_RULE_SETUP
2727 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2728 	YY_BREAK
2729 case 108:
2730 YY_RULE_SETUP
2731 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2732 	YY_BREAK
2733 case 109:
2734 YY_RULE_SETUP
2735 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2736 	YY_BREAK
2737 case 110:
2738 YY_RULE_SETUP
2739 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2740 	YY_BREAK
2741 case 111:
2742 YY_RULE_SETUP
2743 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2744 	YY_BREAK
2745 case 112:
2746 YY_RULE_SETUP
2747 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2748 	YY_BREAK
2749 case 113:
2750 YY_RULE_SETUP
2751 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
2752 	YY_BREAK
2753 case 114:
2754 YY_RULE_SETUP
2755 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
2756 	YY_BREAK
2757 case 115:
2758 YY_RULE_SETUP
2759 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
2760 	YY_BREAK
2761 case 116:
2762 YY_RULE_SETUP
2763 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
2764 	YY_BREAK
2765 case 117:
2766 YY_RULE_SETUP
2767 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
2768 	YY_BREAK
2769 case 118:
2770 YY_RULE_SETUP
2771 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
2772 	YY_BREAK
2773 case 119:
2774 YY_RULE_SETUP
2775 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
2776 	YY_BREAK
2777 case 120:
2778 YY_RULE_SETUP
2779 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
2780 	YY_BREAK
2781 case 121:
2782 YY_RULE_SETUP
2783 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
2784 	YY_BREAK
2785 case 122:
2786 YY_RULE_SETUP
2787 return OPT_EXTRA_TYPE;
2788 	YY_BREAK
2789 case 123:
2790 YY_RULE_SETUP
2791 return OPT_OUTFILE;
2792 	YY_BREAK
2793 case 124:
2794 YY_RULE_SETUP
2795 return OPT_PREFIX;
2796 	YY_BREAK
2797 case 125:
2798 YY_RULE_SETUP
2799 return OPT_YYCLASS;
2800 	YY_BREAK
2801 case 126:
2802 YY_RULE_SETUP
2803 return OPT_HEADER;
2804 	YY_BREAK
2805 case 127:
2806 YY_RULE_SETUP
2807 return OPT_TABLES;
2808 	YY_BREAK
2809 case 128:
2810 YY_RULE_SETUP
2811 {
2812                     tablesverify = option_sense;
2813                     if(!tablesext && option_sense)
2814                         tablesext = true;
2815                     }
2816 	YY_BREAK
2817 case 129:
2818 YY_RULE_SETUP
2819 {
2820 			if(yyleng-1 < MAXLINE)
2821         		 {
2822 			strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
2823 			 }
2824 			else
2825 			 {
2826 			   synerr( _("Option line too long\n"));
2827 			   FLEX_EXIT(EXIT_FAILURE);
2828 			 }
2829 			nmstr[strlen( nmstr ) - 1] = '\0';
2830 			return NAME;
2831 			}
2832 	YY_BREAK
2833 case 130:
2834 YY_RULE_SETUP
2835 {
2836 			format_synerr( _( "unrecognized %%option: %s" ),
2837 				yytext );
2838 			BEGIN(RECOVER);
2839 			}
2840 	YY_BREAK
2841 
2842 case 131:
2843 /* rule 131 can match eol */
2844 YY_RULE_SETUP
2845 ++linenum; BEGIN(INITIAL);
2846 	YY_BREAK
2847 
2848 case 132:
2849 YY_RULE_SETUP
2850 ++bracelevel; yyless( 2 );	/* eat only %{ */
2851 	YY_BREAK
2852 case 133:
2853 YY_RULE_SETUP
2854 --bracelevel; yyless( 2 );	/* eat only %} */
2855 	YY_BREAK
2856 case 134:
2857 YY_RULE_SETUP
2858 ACTION_ECHO;	/* indented code in prolog */
2859 	YY_BREAK
2860 case 135:
2861 YY_RULE_SETUP
2862 {	/* non-indented code */
2863 			if ( bracelevel <= 0 )
2864 				{ /* not in %{ ... %} */
2865 				yyless( 0 );	/* put it all back */
2866 				yy_set_bol( 1 );
2867 				mark_prolog();
2868 				BEGIN(SECT2);
2869 				}
2870 			else
2871 				ACTION_ECHO;
2872 			}
2873 	YY_BREAK
2874 case 136:
2875 YY_RULE_SETUP
2876 ACTION_ECHO;
2877 	YY_BREAK
2878 case 137:
2879 /* rule 137 can match eol */
2880 YY_RULE_SETUP
2881 ++linenum; ACTION_ECHO;
2882 	YY_BREAK
2883 case YY_STATE_EOF(SECT2PROLOG):
2884 {
2885 			mark_prolog();
2886 			sectnum = 0;
2887 			yyterminate(); /* to stop the parser */
2888 			}
2889 	YY_BREAK
2890 
2891 case 138:
2892 /* rule 138 can match eol */
2893 YY_RULE_SETUP
2894 ++linenum; /* allow blank lines in section 2 */
2895 	YY_BREAK
2896 case 139:
2897 YY_RULE_SETUP
2898 {
2899 			indented_code = false;
2900 			doing_codeblock = true;
2901 			bracelevel = 1;
2902 			BEGIN(PERCENT_BRACE_ACTION);
2903 			}
2904 	YY_BREAK
2905 case 140:
2906 YY_RULE_SETUP
2907 {
2908                         /* Allow "<" to appear in (?x) patterns. */
2909                         if (!sf_skip_ws())
2910                             BEGIN(SC);
2911                         return '<';
2912                     }
2913 	YY_BREAK
2914 case 141:
2915 YY_RULE_SETUP
2916 return '^';
2917 	YY_BREAK
2918 case 142:
2919 YY_RULE_SETUP
2920 BEGIN(QUOTE); return '"';
2921 	YY_BREAK
2922 case 143:
2923 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2924 (yy_c_buf_p) = yy_cp = yy_bp + 1;
2925 YY_DO_BEFORE_ACTION; /* set up yytext again */
2926 YY_RULE_SETUP
2927 {
2928 			BEGIN(NUM);
2929 			if ( lex_compat || posix_compat )
2930 				return BEGIN_REPEAT_POSIX;
2931 			else
2932 				return BEGIN_REPEAT_FLEX;
2933 			}
2934 	YY_BREAK
2935 case 144:
2936 /* rule 144 can match eol */
2937 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2938 YY_LINENO_REWIND_TO(yy_bp + 1);
2939 (yy_c_buf_p) = yy_cp = yy_bp + 1;
2940 YY_DO_BEFORE_ACTION; /* set up yytext again */
2941 YY_RULE_SETUP
2942 return '$';
2943 	YY_BREAK
2944 case 145:
2945 YY_RULE_SETUP
2946 {
2947 			bracelevel = 1;
2948 			BEGIN(PERCENT_BRACE_ACTION);
2949 
2950 			if ( in_rule )
2951 				{
2952 				doing_rule_action = true;
2953 				in_rule = false;
2954 				return '\n';
2955 				}
2956 			}
2957 	YY_BREAK
2958 case 146:
2959 /* rule 146 can match eol */
2960 YY_RULE_SETUP
2961 {
2962                         if (sf_skip_ws()){
2963                             /* We're in the middle of a (?x: ) pattern. */
2964                             /* Push back everything starting at the "|" */
2965                             size_t amt;
2966                             amt = strchr (yytext, '|') - yytext;
2967                             yyless(amt);
2968                         }
2969                         else {
2970                             continued_action = true;
2971                             ++linenum;
2972                             return '\n';
2973                         }
2974                     }
2975 	YY_BREAK
2976 case 147:
2977 YY_RULE_SETUP
2978 {
2979 
2980                 if (sf_skip_ws()){
2981                     /* We're in the middle of a (?x: ) pattern. */
2982                     yy_push_state(COMMENT_DISCARD);
2983                 }
2984                 else{
2985                     yyless( yyleng - 2 );	/* put back '/', '*' */
2986                     bracelevel = 0;
2987                     continued_action = false;
2988                     BEGIN(ACTION);
2989                 }
2990 			}
2991 	YY_BREAK
2992 case 148:
2993 YY_RULE_SETUP
2994 /* allow indented rules */ ;
2995 	YY_BREAK
2996 case 149:
2997 YY_RULE_SETUP
2998 {
2999             if (sf_skip_ws()){
3000                 /* We're in the middle of a (?x: ) pattern. */
3001             }
3002             else{
3003                 /* This rule is separate from the one below because
3004                  * otherwise we get variable trailing context, so
3005                  * we can't build the scanner using -{f,F}.
3006                  */
3007                 bracelevel = 0;
3008                 continued_action = false;
3009                 BEGIN(ACTION);
3010 
3011                 if ( in_rule )
3012                     {
3013                     doing_rule_action = true;
3014                     in_rule = false;
3015                     return '\n';
3016                     }
3017             }
3018 			}
3019 	YY_BREAK
3020 case 150:
3021 /* rule 150 can match eol */
3022 YY_RULE_SETUP
3023 {
3024             if (sf_skip_ws()){
3025                 /* We're in the middle of a (?x: ) pattern. */
3026                 ++linenum;
3027             }
3028             else{
3029                 bracelevel = 0;
3030                 continued_action = false;
3031                 BEGIN(ACTION);
3032                 unput( '\n' );	/* so <ACTION> sees it */
3033 
3034                 if ( in_rule )
3035                     {
3036                     doing_rule_action = true;
3037                     in_rule = false;
3038                     return '\n';
3039                     }
3040             }
3041 			}
3042 	YY_BREAK
3043 case 151:
3044 case 152:
3045 YY_RULE_SETUP
3046 return EOF_OP;
3047 	YY_BREAK
3048 case 153:
3049 YY_RULE_SETUP
3050 {
3051 			sectnum = 3;
3052 			BEGIN(SECT3);
3053 			outn("/* Begin user sect3 */");
3054 			yyterminate(); /* to stop the parser */
3055 			}
3056 	YY_BREAK
3057 case 154:
3058 YY_RULE_SETUP
3059 {
3060 			int cclval;
3061 
3062 			if(yyleng < MAXLINE)
3063         		 {
3064 			strlcpy( nmstr, yytext, sizeof(nmstr) );
3065 			 }
3066 			else
3067 			 {
3068 			   synerr( _("Input line too long\n"));
3069 			   FLEX_EXIT(EXIT_FAILURE);
3070 			 }
3071 
3072 			/* Check to see if we've already encountered this
3073 			 * ccl.
3074 			 */
3075 			if (0 /* <--- This "0" effectively disables the reuse of a
3076                    * character class (purely based on its source text).
3077                    * The reason it was disabled is so yacc/bison can parse
3078                    * ccl operations, such as ccl difference and union.
3079                    */
3080                 &&  (cclval = ccllookup( (Char *) nmstr )) != 0 )
3081 				{
3082 				if ( input() != ']' )
3083 					synerr( _( "bad character class" ) );
3084 
3085 				yylval = cclval;
3086 				++cclreuse;
3087 				return PREVCCL;
3088 				}
3089 			else
3090 				{
3091 				/* We fudge a bit.  We know that this ccl will
3092 				 * soon be numbered as lastccl + 1 by cclinit.
3093 				 */
3094 				cclinstal( (Char *) nmstr, lastccl + 1 );
3095 
3096 				/* Push back everything but the leading bracket
3097 				 * so the ccl can be rescanned.
3098 				 */
3099 				yyless( 1 );
3100 
3101 				BEGIN(FIRSTCCL);
3102 				return '[';
3103 				}
3104 			}
3105 	YY_BREAK
3106 case 155:
3107 YY_RULE_SETUP
3108 return CCL_OP_DIFF;
3109 	YY_BREAK
3110 case 156:
3111 YY_RULE_SETUP
3112 return CCL_OP_UNION;
3113 	YY_BREAK
3114 /* Check for :space: at the end of the rule so we don't
3115      * wrap the expanded regex in '(' ')' -- breaking trailing
3116      * context.
3117      */
3118 case 157:
3119 /* rule 157 can match eol */
3120 YY_RULE_SETUP
3121 {
3122 			Char *nmdefptr;
3123             int end_is_ws, end_ch;
3124 
3125             end_ch = yytext[yyleng-1];
3126             end_is_ws = end_ch != '}' ? 1 : 0;
3127 
3128  			if(yyleng-1 < MAXLINE)
3129          		 {
3130 			strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
3131  			 }
3132  			else
3133  			 {
3134  			   synerr( _("Input line too long\n"));
3135  			   FLEX_EXIT(EXIT_FAILURE);
3136  			 }
3137 nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
3138 
3139 			if ( (nmdefptr = ndlookup( nmstr )) == 0 )
3140 				format_synerr(
3141 					_( "undefined definition {%s}" ),
3142 						nmstr );
3143 
3144 			else
3145 				{ /* push back name surrounded by ()'s */
3146 				int len = strlen( (char *) nmdefptr );
3147                 if (end_is_ws)
3148                     unput(end_ch);
3149 
3150 				if ( lex_compat || nmdefptr[0] == '^' ||
3151 				     (len > 0 && nmdefptr[len - 1] == '$')
3152                      || (end_is_ws && trlcontxt && !sf_skip_ws()))
3153 					{ /* don't use ()'s after all */
3154 					PUT_BACK_STRING((char *) nmdefptr, 0);
3155 
3156 					if ( nmdefptr[0] == '^' )
3157 						BEGIN(CARETISBOL);
3158 					}
3159 
3160 				else
3161 					{
3162 					unput(')');
3163 					PUT_BACK_STRING((char *) nmdefptr, 0);
3164 					unput('(');
3165 					}
3166 				}
3167 			}
3168 	YY_BREAK
3169 case 158:
3170 YY_RULE_SETUP
3171 {
3172                     if (sf_skip_ws())
3173                         yy_push_state(COMMENT_DISCARD);
3174                     else{
3175                         /* Push back the "*" and return "/" as usual. */
3176                         yyless(1);
3177                         return '/';
3178                     }
3179                 }
3180 	YY_BREAK
3181 case 159:
3182 YY_RULE_SETUP
3183 {
3184                     if (lex_compat || posix_compat){
3185                         /* Push back the "?#" and treat it like a normal parens. */
3186                         yyless(1);
3187                         sf_push();
3188                         return '(';
3189                     }
3190                     else
3191                         yy_push_state(EXTENDED_COMMENT);
3192                 }
3193 	YY_BREAK
3194 case 160:
3195 YY_RULE_SETUP
3196 {
3197                     sf_push();
3198                     if (lex_compat || posix_compat)
3199                         /* Push back the "?" and treat it like a normal parens. */
3200                         yyless(1);
3201                     else
3202                         BEGIN(GROUP_WITH_PARAMS);
3203                     return '(';
3204                 }
3205 	YY_BREAK
3206 case 161:
3207 YY_RULE_SETUP
3208 sf_push(); return '(';
3209 	YY_BREAK
3210 case 162:
3211 YY_RULE_SETUP
3212 sf_pop(); return ')';
3213 	YY_BREAK
3214 case 163:
3215 YY_RULE_SETUP
3216 return (unsigned char) yytext[0];
3217 	YY_BREAK
3218 case 164:
3219 YY_RULE_SETUP
3220 RETURNCHAR;
3221 	YY_BREAK
3222 
3223 case 165:
3224 /* rule 165 can match eol */
3225 YY_RULE_SETUP
3226 ++linenum;	/* Allow blank lines & continuations */
3227 	YY_BREAK
3228 case 166:
3229 YY_RULE_SETUP
3230 return (unsigned char) yytext[0];
3231 	YY_BREAK
3232 case 167:
3233 YY_RULE_SETUP
3234 BEGIN(SECT2); return '>';
3235 	YY_BREAK
3236 case 168:
3237 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3238 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3239 YY_DO_BEFORE_ACTION; /* set up yytext again */
3240 YY_RULE_SETUP
3241 BEGIN(CARETISBOL); return '>';
3242 	YY_BREAK
3243 case 169:
3244 YY_RULE_SETUP
3245 RETURNNAME;
3246 	YY_BREAK
3247 case 170:
3248 YY_RULE_SETUP
3249 {
3250 			format_synerr( _( "bad <start condition>: %s" ),
3251 				yytext );
3252 			}
3253 	YY_BREAK
3254 
3255 case 171:
3256 YY_RULE_SETUP
3257 BEGIN(SECT2); return '^';
3258 	YY_BREAK
3259 
3260 case 172:
3261 YY_RULE_SETUP
3262 RETURNCHAR;
3263 	YY_BREAK
3264 case 173:
3265 YY_RULE_SETUP
3266 BEGIN(SECT2); return '"';
3267 	YY_BREAK
3268 case 174:
3269 /* rule 174 can match eol */
3270 YY_RULE_SETUP
3271 {
3272 			synerr( _( "missing quote" ) );
3273 			BEGIN(SECT2);
3274 			++linenum;
3275 			return '"';
3276 			}
3277 	YY_BREAK
3278 
3279 case 175:
3280 YY_RULE_SETUP
3281 BEGIN(SECT2);
3282 	YY_BREAK
3283 case 176:
3284 YY_RULE_SETUP
3285 BEGIN(GROUP_MINUS_PARAMS);
3286 	YY_BREAK
3287 case 177:
3288 YY_RULE_SETUP
3289 sf_set_case_ins(1);
3290 	YY_BREAK
3291 case 178:
3292 YY_RULE_SETUP
3293 sf_set_dot_all(1);
3294 	YY_BREAK
3295 case 179:
3296 YY_RULE_SETUP
3297 sf_set_skip_ws(1);
3298 	YY_BREAK
3299 
3300 case 180:
3301 YY_RULE_SETUP
3302 BEGIN(SECT2);
3303 	YY_BREAK
3304 case 181:
3305 YY_RULE_SETUP
3306 sf_set_case_ins(0);
3307 	YY_BREAK
3308 case 182:
3309 YY_RULE_SETUP
3310 sf_set_dot_all(0);
3311 	YY_BREAK
3312 case 183:
3313 YY_RULE_SETUP
3314 sf_set_skip_ws(0);
3315 	YY_BREAK
3316 
3317 case 184:
3318 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3319 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3320 YY_DO_BEFORE_ACTION; /* set up yytext again */
3321 YY_RULE_SETUP
3322 BEGIN(CCL); return '^';
3323 	YY_BREAK
3324 case 185:
3325 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3326 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3327 YY_DO_BEFORE_ACTION; /* set up yytext again */
3328 YY_RULE_SETUP
3329 return '^';
3330 	YY_BREAK
3331 case 186:
3332 YY_RULE_SETUP
3333 BEGIN(CCL); RETURNCHAR;
3334 	YY_BREAK
3335 
3336 case 187:
3337 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3338 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3339 YY_DO_BEFORE_ACTION; /* set up yytext again */
3340 YY_RULE_SETUP
3341 return '-';
3342 	YY_BREAK
3343 case 188:
3344 YY_RULE_SETUP
3345 RETURNCHAR;
3346 	YY_BREAK
3347 case 189:
3348 YY_RULE_SETUP
3349 BEGIN(SECT2); return ']';
3350 	YY_BREAK
3351 case 190:
3352 /* rule 190 can match eol */
3353 YY_RULE_SETUP
3354 {
3355 			synerr( _( "bad character class" ) );
3356 			BEGIN(SECT2);
3357 			return ']';
3358 			}
3359 	YY_BREAK
3360 
3361 case 191:
3362 YY_RULE_SETUP
3363 BEGIN(CCL); return CCE_ALNUM;
3364 	YY_BREAK
3365 case 192:
3366 YY_RULE_SETUP
3367 BEGIN(CCL); return CCE_ALPHA;
3368 	YY_BREAK
3369 case 193:
3370 YY_RULE_SETUP
3371 BEGIN(CCL); return CCE_BLANK;
3372 	YY_BREAK
3373 case 194:
3374 YY_RULE_SETUP
3375 BEGIN(CCL); return CCE_CNTRL;
3376 	YY_BREAK
3377 case 195:
3378 YY_RULE_SETUP
3379 BEGIN(CCL); return CCE_DIGIT;
3380 	YY_BREAK
3381 case 196:
3382 YY_RULE_SETUP
3383 BEGIN(CCL); return CCE_GRAPH;
3384 	YY_BREAK
3385 case 197:
3386 YY_RULE_SETUP
3387 BEGIN(CCL); return CCE_LOWER;
3388 	YY_BREAK
3389 case 198:
3390 YY_RULE_SETUP
3391 BEGIN(CCL); return CCE_PRINT;
3392 	YY_BREAK
3393 case 199:
3394 YY_RULE_SETUP
3395 BEGIN(CCL); return CCE_PUNCT;
3396 	YY_BREAK
3397 case 200:
3398 YY_RULE_SETUP
3399 BEGIN(CCL); return CCE_SPACE;
3400 	YY_BREAK
3401 case 201:
3402 YY_RULE_SETUP
3403 BEGIN(CCL); return CCE_UPPER;
3404 	YY_BREAK
3405 case 202:
3406 YY_RULE_SETUP
3407 BEGIN(CCL); return CCE_XDIGIT;
3408 	YY_BREAK
3409 case 203:
3410 YY_RULE_SETUP
3411 BEGIN(CCL); return CCE_NEG_ALNUM;
3412 	YY_BREAK
3413 case 204:
3414 YY_RULE_SETUP
3415 BEGIN(CCL); return CCE_NEG_ALPHA;
3416 	YY_BREAK
3417 case 205:
3418 YY_RULE_SETUP
3419 BEGIN(CCL); return CCE_NEG_BLANK;
3420 	YY_BREAK
3421 case 206:
3422 YY_RULE_SETUP
3423 BEGIN(CCL); return CCE_NEG_CNTRL;
3424 	YY_BREAK
3425 case 207:
3426 YY_RULE_SETUP
3427 BEGIN(CCL); return CCE_NEG_DIGIT;
3428 	YY_BREAK
3429 case 208:
3430 YY_RULE_SETUP
3431 BEGIN(CCL); return CCE_NEG_GRAPH;
3432 	YY_BREAK
3433 case 209:
3434 YY_RULE_SETUP
3435 BEGIN(CCL); return CCE_NEG_LOWER;
3436 	YY_BREAK
3437 case 210:
3438 YY_RULE_SETUP
3439 BEGIN(CCL); return CCE_NEG_PRINT;
3440 	YY_BREAK
3441 case 211:
3442 YY_RULE_SETUP
3443 BEGIN(CCL); return CCE_NEG_PUNCT;
3444 	YY_BREAK
3445 case 212:
3446 YY_RULE_SETUP
3447 BEGIN(CCL); return CCE_NEG_SPACE;
3448 	YY_BREAK
3449 case 213:
3450 YY_RULE_SETUP
3451 BEGIN(CCL); return CCE_NEG_UPPER;
3452 	YY_BREAK
3453 case 214:
3454 YY_RULE_SETUP
3455 BEGIN(CCL); return CCE_NEG_XDIGIT;
3456 	YY_BREAK
3457 case 215:
3458 YY_RULE_SETUP
3459 {
3460 			format_synerr(
3461 				_( "bad character class expression: %s" ),
3462 					yytext );
3463 			BEGIN(CCL); return CCE_ALNUM;
3464 			}
3465 	YY_BREAK
3466 
3467 case 216:
3468 YY_RULE_SETUP
3469 {
3470 			yylval = myctoi( yytext );
3471 			return NUMBER;
3472 			}
3473 	YY_BREAK
3474 case 217:
3475 YY_RULE_SETUP
3476 return ',';
3477 	YY_BREAK
3478 case 218:
3479 YY_RULE_SETUP
3480 {
3481 			BEGIN(SECT2);
3482 			if ( lex_compat || posix_compat )
3483 				return END_REPEAT_POSIX;
3484 			else
3485 				return END_REPEAT_FLEX;
3486 			}
3487 	YY_BREAK
3488 case 219:
3489 YY_RULE_SETUP
3490 {
3491 			synerr( _( "bad character inside {}'s" ) );
3492 			BEGIN(SECT2);
3493 			return '}';
3494 			}
3495 	YY_BREAK
3496 case 220:
3497 /* rule 220 can match eol */
3498 YY_RULE_SETUP
3499 {
3500 			synerr( _( "missing }" ) );
3501 			BEGIN(SECT2);
3502 			++linenum;
3503 			return '}';
3504 			}
3505 	YY_BREAK
3506 
3507 case 221:
3508 YY_RULE_SETUP
3509 bracelevel = 0;
3510 	YY_BREAK
3511 case 222:
3512 YY_RULE_SETUP
3513 ACTION_ECHO; yy_push_state( COMMENT );
3514 	YY_BREAK
3515 
3516 case 223:
3517 YY_RULE_SETUP
3518 {
3519 			ACTION_ECHO;
3520 			CHECK_RE_JECT(yytext);
3521 			}
3522 	YY_BREAK
3523 case 224:
3524 YY_RULE_SETUP
3525 {
3526 			ACTION_ECHO;
3527 			CHECK_YYMORE(yytext);
3528 			}
3529 	YY_BREAK
3530 
3531 case 225:
3532 YY_RULE_SETUP
3533 ACTION_ECHO_QSTART;
3534 	YY_BREAK
3535 case 226:
3536 YY_RULE_SETUP
3537 ACTION_ECHO_QEND;
3538 	YY_BREAK
3539 case 227:
3540 YY_RULE_SETUP
3541 ACTION_ECHO;
3542 	YY_BREAK
3543 case 228:
3544 /* rule 228 can match eol */
3545 YY_RULE_SETUP
3546 {
3547 			++linenum;
3548 			ACTION_ECHO;
3549 			if ( bracelevel == 0 ||
3550 			     (doing_codeblock && indented_code) )
3551 				{
3552 				if ( doing_rule_action )
3553 					add_action( "\tYY_BREAK\n" );
3554 
3555 				doing_rule_action = doing_codeblock = false;
3556 				BEGIN(SECT2);
3557 				}
3558 			}
3559 	YY_BREAK
3560 
3561 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3562 
3563 case 229:
3564 YY_RULE_SETUP
3565 ACTION_ECHO; ++bracelevel;
3566 	YY_BREAK
3567 case 230:
3568 YY_RULE_SETUP
3569 ACTION_ECHO; --bracelevel;
3570 	YY_BREAK
3571 case 231:
3572 YY_RULE_SETUP
3573 ACTION_ECHO_QSTART;
3574 	YY_BREAK
3575 case 232:
3576 YY_RULE_SETUP
3577 ACTION_ECHO_QEND;
3578 	YY_BREAK
3579 case 233:
3580 YY_RULE_SETUP
3581 ACTION_ECHO;
3582 	YY_BREAK
3583 case 234:
3584 YY_RULE_SETUP
3585 ACTION_ECHO;
3586 	YY_BREAK
3587 case 235:
3588 YY_RULE_SETUP
3589 ACTION_ECHO;
3590 	YY_BREAK
3591 case 236:
3592 YY_RULE_SETUP
3593 ACTION_ECHO; /* character constant */
3594 	YY_BREAK
3595 case 237:
3596 YY_RULE_SETUP
3597 ACTION_ECHO; BEGIN(ACTION_STRING);
3598 	YY_BREAK
3599 case 238:
3600 /* rule 238 can match eol */
3601 YY_RULE_SETUP
3602 {
3603 			++linenum;
3604 			ACTION_ECHO;
3605 			if ( bracelevel == 0 )
3606 				{
3607 				if ( doing_rule_action )
3608 					add_action( "\tYY_BREAK\n" );
3609 
3610 				doing_rule_action = false;
3611 				BEGIN(SECT2);
3612 				}
3613 			}
3614 	YY_BREAK
3615 case 239:
3616 YY_RULE_SETUP
3617 ACTION_ECHO;
3618 	YY_BREAK
3619 
3620 case 240:
3621 YY_RULE_SETUP
3622 ACTION_ECHO;
3623 	YY_BREAK
3624 case 241:
3625 YY_RULE_SETUP
3626 ACTION_ECHO;
3627 	YY_BREAK
3628 case 242:
3629 /* rule 242 can match eol */
3630 YY_RULE_SETUP
3631 ++linenum; ACTION_ECHO; BEGIN(ACTION);
3632 	YY_BREAK
3633 case 243:
3634 YY_RULE_SETUP
3635 ACTION_ECHO; BEGIN(ACTION);
3636 	YY_BREAK
3637 case 244:
3638 YY_RULE_SETUP
3639 ACTION_ECHO;
3640 	YY_BREAK
3641 
3642 case YY_STATE_EOF(COMMENT):
3643 case YY_STATE_EOF(COMMENT_DISCARD):
3644 case YY_STATE_EOF(ACTION):
3645 case YY_STATE_EOF(ACTION_STRING):
3646 {
3647 			synerr( _( "EOF encountered inside an action" ) );
3648 			yyterminate();
3649 			}
3650 	YY_BREAK
3651 case YY_STATE_EOF(EXTENDED_COMMENT):
3652 case YY_STATE_EOF(GROUP_WITH_PARAMS):
3653 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
3654 {
3655 			synerr( _( "EOF encountered inside pattern" ) );
3656 			yyterminate();
3657 			}
3658 	YY_BREAK
3659 case 245:
3660 YY_RULE_SETUP
3661 {
3662 			yylval = myesc( (Char *) yytext );
3663 
3664 			if ( YY_START == FIRSTCCL )
3665 				BEGIN(CCL);
3666 
3667 			return CHAR;
3668 			}
3669 	YY_BREAK
3670 
3671 case 246:
3672 YY_RULE_SETUP
3673 fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout);
3674 	YY_BREAK
3675 case 247:
3676 YY_RULE_SETUP
3677 fwrite (escaped_qend, 1, strlen(escaped_qend), yyout);
3678 	YY_BREAK
3679 case 248:
3680 /* rule 248 can match eol */
3681 YY_RULE_SETUP
3682 ECHO;
3683 	YY_BREAK
3684 case 249:
3685 /* rule 249 can match eol */
3686 YY_RULE_SETUP
3687 ECHO;
3688 	YY_BREAK
3689 case YY_STATE_EOF(SECT3):
3690 sectnum = 0; yyterminate();
3691 	YY_BREAK
3692 
3693 case 250:
3694 /* rule 250 can match eol */
3695 YY_RULE_SETUP
3696 format_synerr( _( "bad character: %s" ), yytext );
3697 	YY_BREAK
3698 case 251:
3699 YY_RULE_SETUP
3700 YY_FATAL_ERROR( "flex scanner jammed" );
3701 	YY_BREAK
3702 case YY_STATE_EOF(INITIAL):
3703 case YY_STATE_EOF(SECT2):
3704 case YY_STATE_EOF(CODEBLOCK):
3705 case YY_STATE_EOF(PICKUPDEF):
3706 case YY_STATE_EOF(SC):
3707 case YY_STATE_EOF(CARETISBOL):
3708 case YY_STATE_EOF(NUM):
3709 case YY_STATE_EOF(QUOTE):
3710 case YY_STATE_EOF(FIRSTCCL):
3711 case YY_STATE_EOF(CCL):
3712 case YY_STATE_EOF(RECOVER):
3713 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
3714 case YY_STATE_EOF(OPTION):
3715 case YY_STATE_EOF(LINEDIR):
3716 	yyterminate();
3717 
3718 	case YY_END_OF_BUFFER:
3719 		{
3720 		/* Amount of text matched not including the EOB char. */
3721 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3722 
3723 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
3724 		*yy_cp = (yy_hold_char);
3725 		YY_RESTORE_YY_MORE_OFFSET
3726 
3727 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3728 			{
3729 			/* We're scanning a new file or input source.  It's
3730 			 * possible that this happened because the user
3731 			 * just pointed yyin at a new source and called
3732 			 * yylex().  If so, then we have to assure
3733 			 * consistency between YY_CURRENT_BUFFER and our
3734 			 * globals.  Here is the right place to do so, because
3735 			 * this is the first action (other than possibly a
3736 			 * back-up) that will match for the new input source.
3737 			 */
3738 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3739 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3740 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3741 			}
3742 
3743 		/* Note that here we test for yy_c_buf_p "<=" to the position
3744 		 * of the first EOB in the buffer, since yy_c_buf_p will
3745 		 * already have been incremented past the NUL character
3746 		 * (since all states make transitions on EOB to the
3747 		 * end-of-buffer state).  Contrast this with the test
3748 		 * in input().
3749 		 */
3750 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3751 			{ /* This was really a NUL. */
3752 			yy_state_type yy_next_state;
3753 
3754 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3755 
3756 			yy_current_state = yy_get_previous_state(  );
3757 
3758 			/* Okay, we're now positioned to make the NUL
3759 			 * transition.  We couldn't have
3760 			 * yy_get_previous_state() go ahead and do it
3761 			 * for us because it doesn't know how to deal
3762 			 * with the possibility of jamming (and we don't
3763 			 * want to build jamming into it because then it
3764 			 * will run more slowly).
3765 			 */
3766 
3767 			yy_next_state = yy_try_NUL_trans( yy_current_state );
3768 
3769 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3770 
3771 			if ( yy_next_state )
3772 				{
3773 				/* Consume the NUL. */
3774 				yy_cp = ++(yy_c_buf_p);
3775 				yy_current_state = yy_next_state;
3776 				goto yy_match;
3777 				}
3778 
3779 			else
3780 				{
3781 				yy_cp = (yy_c_buf_p);
3782 				goto yy_find_action;
3783 				}
3784 			}
3785 
3786 		else switch ( yy_get_next_buffer(  ) )
3787 			{
3788 			case EOB_ACT_END_OF_FILE:
3789 				{
3790 				(yy_did_buffer_switch_on_eof) = 0;
3791 
3792 				if ( yywrap( ) )
3793 					{
3794 					/* Note: because we've taken care in
3795 					 * yy_get_next_buffer() to have set up
3796 					 * yytext, we can now set up
3797 					 * yy_c_buf_p so that if some total
3798 					 * hoser (like flex itself) wants to
3799 					 * call the scanner after we return the
3800 					 * YY_NULL, it'll still work - another
3801 					 * YY_NULL will get returned.
3802 					 */
3803 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3804 
3805 					yy_act = YY_STATE_EOF(YY_START);
3806 					goto do_action;
3807 					}
3808 
3809 				else
3810 					{
3811 					if ( ! (yy_did_buffer_switch_on_eof) )
3812 						YY_NEW_FILE;
3813 					}
3814 				break;
3815 				}
3816 
3817 			case EOB_ACT_CONTINUE_SCAN:
3818 				(yy_c_buf_p) =
3819 					(yytext_ptr) + yy_amount_of_matched_text;
3820 
3821 				yy_current_state = yy_get_previous_state(  );
3822 
3823 				yy_cp = (yy_c_buf_p);
3824 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3825 				goto yy_match;
3826 
3827 			case EOB_ACT_LAST_MATCH:
3828 				(yy_c_buf_p) =
3829 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3830 
3831 				yy_current_state = yy_get_previous_state(  );
3832 
3833 				yy_cp = (yy_c_buf_p);
3834 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3835 				goto yy_find_action;
3836 			}
3837 		break;
3838 		}
3839 
3840 	default:
3841 		YY_FATAL_ERROR(
3842 			"fatal flex scanner internal error--no action found" );
3843 	} /* end of action switch */
3844 		} /* end of scanning one token */
3845 	} /* end of user's declarations */
3846 } /* end of yylex */
3847 
3848 /* yy_get_next_buffer - try to read in a new buffer
3849  *
3850  * Returns a code representing an action:
3851  *	EOB_ACT_LAST_MATCH -
3852  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3853  *	EOB_ACT_END_OF_FILE - end of file
3854  */
3855 static int yy_get_next_buffer (void)
3856 {
3857     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3858 	char *source = (yytext_ptr);
3859 	yy_size_t number_to_move, i;
3860 	int ret_val;
3861 
3862 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3863 		YY_FATAL_ERROR(
3864 		"fatal flex scanner internal error--end of buffer missed" );
3865 
3866 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3867 		{ /* Don't try to fill the buffer, so this is an EOF. */
3868 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3869 			{
3870 			/* We matched a single character, the EOB, so
3871 			 * treat this as a final EOF.
3872 			 */
3873 			return EOB_ACT_END_OF_FILE;
3874 			}
3875 
3876 		else
3877 			{
3878 			/* We matched some text prior to the EOB, first
3879 			 * process it.
3880 			 */
3881 			return EOB_ACT_LAST_MATCH;
3882 			}
3883 		}
3884 
3885 	/* Try to read more data. */
3886 
3887 	/* First move last chars to start of buffer. */
3888 	number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3889 
3890 	for ( i = 0; i < number_to_move; ++i )
3891 		*(dest++) = *(source++);
3892 
3893 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3894 		/* don't do the read, it's not guaranteed to return an EOF,
3895 		 * just force an EOF
3896 		 */
3897 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3898 
3899 	else
3900 		{
3901 			yy_size_t num_to_read =
3902 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3903 
3904 		while ( num_to_read <= 0 )
3905 			{ /* Not enough room in the buffer - grow it. */
3906 
3907 			/* just a shorter name for the current buffer */
3908 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3909 
3910 			int yy_c_buf_p_offset =
3911 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
3912 
3913 			if ( b->yy_is_our_buffer )
3914 				{
3915 				yy_size_t new_size = b->yy_buf_size * 2;
3916 
3917 				if ( new_size <= 0 )
3918 					b->yy_buf_size += b->yy_buf_size / 8;
3919 				else
3920 					b->yy_buf_size *= 2;
3921 
3922 				b->yy_ch_buf = (char *)
3923 					/* Include room in for 2 EOB chars. */
3924 					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
3925 				}
3926 			else
3927 				/* Can't grow it, we don't own it. */
3928 				b->yy_ch_buf = 0;
3929 
3930 			if ( ! b->yy_ch_buf )
3931 				YY_FATAL_ERROR(
3932 				"fatal error - scanner input buffer overflow" );
3933 
3934 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3935 
3936 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3937 						number_to_move - 1;
3938 
3939 			}
3940 
3941 		if ( num_to_read > YY_READ_BUF_SIZE )
3942 			num_to_read = YY_READ_BUF_SIZE;
3943 
3944 		/* Read in more data. */
3945 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3946 			(yy_n_chars), num_to_read );
3947 
3948 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3949 		}
3950 
3951 	if ( (yy_n_chars) == 0 )
3952 		{
3953 		if ( number_to_move == YY_MORE_ADJ )
3954 			{
3955 			ret_val = EOB_ACT_END_OF_FILE;
3956 			yyrestart(yyin  );
3957 			}
3958 
3959 		else
3960 			{
3961 			ret_val = EOB_ACT_LAST_MATCH;
3962 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3963 				YY_BUFFER_EOF_PENDING;
3964 			}
3965 		}
3966 
3967 	else
3968 		ret_val = EOB_ACT_CONTINUE_SCAN;
3969 
3970 	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3971 		/* Extend the array by 50%, plus the number we really need. */
3972 		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3973 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
3974 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3975 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3976 	}
3977 
3978 	(yy_n_chars) += number_to_move;
3979 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3980 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3981 
3982 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3983 
3984 	return ret_val;
3985 }
3986 
3987 /* yy_get_previous_state - get the state just before the EOB char was reached */
3988 
3989     static yy_state_type yy_get_previous_state (void)
3990 {
3991 	yy_state_type yy_current_state;
3992 	char *yy_cp;
3993 
3994 	yy_current_state = (yy_start);
3995 	yy_current_state += YY_AT_BOL();
3996 
3997 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3998 		{
3999 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4000 		if ( yy_accept[yy_current_state] )
4001 			{
4002 			(yy_last_accepting_state) = yy_current_state;
4003 			(yy_last_accepting_cpos) = yy_cp;
4004 			}
4005 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4006 			{
4007 			yy_current_state = (int) yy_def[yy_current_state];
4008 			if ( yy_current_state >= 1107 )
4009 				yy_c = yy_meta[(unsigned int) yy_c];
4010 			}
4011 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4012 		}
4013 
4014 	return yy_current_state;
4015 }
4016 
4017 /* yy_try_NUL_trans - try to make a transition on the NUL character
4018  *
4019  * synopsis
4020  *	next_state = yy_try_NUL_trans( current_state );
4021  */
4022     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4023 {
4024 	int yy_is_jam;
4025     	char *yy_cp = (yy_c_buf_p);
4026 
4027 	YY_CHAR yy_c = 1;
4028 	if ( yy_accept[yy_current_state] )
4029 		{
4030 		(yy_last_accepting_state) = yy_current_state;
4031 		(yy_last_accepting_cpos) = yy_cp;
4032 		}
4033 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4034 		{
4035 		yy_current_state = (int) yy_def[yy_current_state];
4036 		if ( yy_current_state >= 1107 )
4037 			yy_c = yy_meta[(unsigned int) yy_c];
4038 		}
4039 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4040 	yy_is_jam = (yy_current_state == 1106);
4041 
4042 		return yy_is_jam ? 0 : yy_current_state;
4043 }
4044 
4045 #ifndef YY_NO_UNPUT
4046 
4047     static void yyunput (int c, char * yy_bp )
4048 {
4049 	char *yy_cp;
4050 
4051     yy_cp = (yy_c_buf_p);
4052 
4053 	/* undo effects of setting up yytext */
4054 	*yy_cp = (yy_hold_char);
4055 
4056 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4057 		{ /* need to shift things up to make room */
4058 		/* +2 for EOB chars. */
4059 		yy_size_t number_to_move = (yy_n_chars) + 2;
4060 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4061 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4062 		char *source =
4063 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4064 
4065 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4066 			*--dest = *--source;
4067 
4068 		yy_cp += (int) (dest - source);
4069 		yy_bp += (int) (dest - source);
4070 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4071 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4072 
4073 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4074 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
4075 		}
4076 
4077 	*--yy_cp = (char) c;
4078 
4079 	(yytext_ptr) = yy_bp;
4080 	(yy_hold_char) = *yy_cp;
4081 	(yy_c_buf_p) = yy_cp;
4082 }
4083 
4084 #endif
4085 
4086 #ifndef YY_NO_INPUT
4087 #ifdef __cplusplus
4088     static int yyinput (void)
4089 #else
4090     static int input  (void)
4091 #endif
4092 
4093 {
4094 	int c;
4095 
4096 	*(yy_c_buf_p) = (yy_hold_char);
4097 
4098 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4099 		{
4100 		/* yy_c_buf_p now points to the character we want to return.
4101 		 * If this occurs *before* the EOB characters, then it's a
4102 		 * valid NUL; if not, then we've hit the end of the buffer.
4103 		 */
4104 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4105 			/* This was really a NUL. */
4106 			*(yy_c_buf_p) = '\0';
4107 
4108 		else
4109 			{ /* need more input */
4110 			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
4111 			++(yy_c_buf_p);
4112 
4113 			switch ( yy_get_next_buffer(  ) )
4114 				{
4115 				case EOB_ACT_LAST_MATCH:
4116 					/* This happens because yy_g_n_b()
4117 					 * sees that we've accumulated a
4118 					 * token and flags that we need to
4119 					 * try matching the token before
4120 					 * proceeding.  But for input(),
4121 					 * there's no matching to consider.
4122 					 * So convert the EOB_ACT_LAST_MATCH
4123 					 * to EOB_ACT_END_OF_FILE.
4124 					 */
4125 
4126 					/* Reset buffer status. */
4127 					yyrestart(yyin );
4128 
4129 					/*FALLTHROUGH*/
4130 
4131 				case EOB_ACT_END_OF_FILE:
4132 					{
4133 					if ( yywrap( ) )
4134 						return EOF;
4135 
4136 					if ( ! (yy_did_buffer_switch_on_eof) )
4137 						YY_NEW_FILE;
4138 #ifdef __cplusplus
4139 					return yyinput();
4140 #else
4141 					return input();
4142 #endif
4143 					}
4144 
4145 				case EOB_ACT_CONTINUE_SCAN:
4146 					(yy_c_buf_p) = (yytext_ptr) + offset;
4147 					break;
4148 				}
4149 			}
4150 		}
4151 
4152 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
4153 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
4154 	(yy_hold_char) = *++(yy_c_buf_p);
4155 
4156 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4157 
4158 	return c;
4159 }
4160 #endif	/* ifndef YY_NO_INPUT */
4161 
4162 /** Immediately switch to a different input stream.
4163  * @param input_file A readable stream.
4164  *
4165  * @note This function does not reset the start condition to @c INITIAL .
4166  */
4167     void yyrestart  (FILE * input_file )
4168 {
4169 
4170 	if ( ! YY_CURRENT_BUFFER ){
4171         yyensure_buffer_stack ();
4172 		YY_CURRENT_BUFFER_LVALUE =
4173             yy_create_buffer(yyin,YY_BUF_SIZE );
4174 	}
4175 
4176 	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
4177 	yy_load_buffer_state( );
4178 }
4179 
4180 /** Switch to a different input buffer.
4181  * @param new_buffer The new input buffer.
4182  *
4183  */
4184     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4185 {
4186 
4187 	/* TODO. We should be able to replace this entire function body
4188 	 * with
4189 	 *		yypop_buffer_state();
4190 	 *		yypush_buffer_state(new_buffer);
4191      */
4192 	yyensure_buffer_stack ();
4193 	if ( YY_CURRENT_BUFFER == new_buffer )
4194 		return;
4195 
4196 	if ( YY_CURRENT_BUFFER )
4197 		{
4198 		/* Flush out information for old buffer. */
4199 		*(yy_c_buf_p) = (yy_hold_char);
4200 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4201 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4202 		}
4203 
4204 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4205 	yy_load_buffer_state( );
4206 
4207 	/* We don't actually know whether we did this switch during
4208 	 * EOF (yywrap()) processing, but the only time this flag
4209 	 * is looked at is after yywrap() is called, so it's safe
4210 	 * to go ahead and always set it.
4211 	 */
4212 	(yy_did_buffer_switch_on_eof) = 1;
4213 }
4214 
4215 static void yy_load_buffer_state  (void)
4216 {
4217     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4218 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4219 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4220 	(yy_hold_char) = *(yy_c_buf_p);
4221 }
4222 
4223 /** Allocate and initialize an input buffer state.
4224  * @param file A readable stream.
4225  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4226  *
4227  * @return the allocated buffer state.
4228  */
4229     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4230 {
4231 	YY_BUFFER_STATE b;
4232 
4233 	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
4234 	if ( ! b )
4235 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4236 
4237 	b->yy_buf_size = (yy_size_t)size;
4238 
4239 	/* yy_ch_buf has to be 2 characters longer than the size given because
4240 	 * we need to put in 2 end-of-buffer characters.
4241 	 */
4242 	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
4243 	if ( ! b->yy_ch_buf )
4244 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4245 
4246 	b->yy_is_our_buffer = 1;
4247 
4248 	yy_init_buffer(b,file );
4249 
4250 	return b;
4251 }
4252 
4253 /** Destroy the buffer.
4254  * @param b a buffer created with yy_create_buffer()
4255  *
4256  */
4257     void yy_delete_buffer (YY_BUFFER_STATE  b )
4258 {
4259 
4260 	if ( ! b )
4261 		return;
4262 
4263 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4264 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4265 
4266 	if ( b->yy_is_our_buffer )
4267 		yyfree((void *) b->yy_ch_buf  );
4268 
4269 	yyfree((void *) b  );
4270 }
4271 
4272 /* Initializes or reinitializes a buffer.
4273  * This function is sometimes called more than once on the same buffer,
4274  * such as during a yyrestart() or at EOF.
4275  */
4276     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4277 
4278 {
4279 	int oerrno = errno;
4280 
4281 	yy_flush_buffer(b );
4282 
4283 	b->yy_input_file = file;
4284 	b->yy_fill_buffer = 1;
4285 
4286     /* If b is the current buffer, then yy_init_buffer was _probably_
4287      * called from yyrestart() or through yy_get_next_buffer.
4288      * In that case, we don't want to reset the lineno or column.
4289      */
4290     if (b != YY_CURRENT_BUFFER){
4291         b->yy_bs_lineno = 1;
4292         b->yy_bs_column = 0;
4293     }
4294 
4295         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4296 
4297 	errno = oerrno;
4298 }
4299 
4300 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4301  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4302  *
4303  */
4304     void yy_flush_buffer (YY_BUFFER_STATE  b )
4305 {
4306     	if ( ! b )
4307 		return;
4308 
4309 	b->yy_n_chars = 0;
4310 
4311 	/* We always need two end-of-buffer characters.  The first causes
4312 	 * a transition to the end-of-buffer state.  The second causes
4313 	 * a jam in that state.
4314 	 */
4315 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4316 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4317 
4318 	b->yy_buf_pos = &b->yy_ch_buf[0];
4319 
4320 	b->yy_at_bol = 1;
4321 	b->yy_buffer_status = YY_BUFFER_NEW;
4322 
4323 	if ( b == YY_CURRENT_BUFFER )
4324 		yy_load_buffer_state( );
4325 }
4326 
4327 /** Pushes the new state onto the stack. The new state becomes
4328  *  the current state. This function will allocate the stack
4329  *  if necessary.
4330  *  @param new_buffer The new state.
4331  *
4332  */
4333 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4334 {
4335     	if (new_buffer == NULL)
4336 		return;
4337 
4338 	yyensure_buffer_stack();
4339 
4340 	/* This block is copied from yy_switch_to_buffer. */
4341 	if ( YY_CURRENT_BUFFER )
4342 		{
4343 		/* Flush out information for old buffer. */
4344 		*(yy_c_buf_p) = (yy_hold_char);
4345 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4346 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4347 		}
4348 
4349 	/* Only push if top exists. Otherwise, replace top. */
4350 	if (YY_CURRENT_BUFFER)
4351 		(yy_buffer_stack_top)++;
4352 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4353 
4354 	/* copied from yy_switch_to_buffer. */
4355 	yy_load_buffer_state( );
4356 	(yy_did_buffer_switch_on_eof) = 1;
4357 }
4358 
4359 /** Removes and deletes the top of the stack, if present.
4360  *  The next element becomes the new top.
4361  *
4362  */
4363 void yypop_buffer_state (void)
4364 {
4365     	if (!YY_CURRENT_BUFFER)
4366 		return;
4367 
4368 	yy_delete_buffer(YY_CURRENT_BUFFER );
4369 	YY_CURRENT_BUFFER_LVALUE = NULL;
4370 	if ((yy_buffer_stack_top) > 0)
4371 		--(yy_buffer_stack_top);
4372 
4373 	if (YY_CURRENT_BUFFER) {
4374 		yy_load_buffer_state( );
4375 		(yy_did_buffer_switch_on_eof) = 1;
4376 	}
4377 }
4378 
4379 /* Allocates the stack if it does not exist.
4380  *  Guarantees space for at least one push.
4381  */
4382 static void yyensure_buffer_stack (void)
4383 {
4384 	yy_size_t num_to_alloc;
4385 
4386 	if (!(yy_buffer_stack)) {
4387 
4388 		/* First allocation is just for 2 elements, since we don't know if this
4389 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4390 		 * immediate realloc on the next call.
4391          */
4392 		num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
4393 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4394 								(num_to_alloc * sizeof(struct yy_buffer_state*)
4395 								);
4396 		if ( ! (yy_buffer_stack) )
4397 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4398 
4399 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4400 
4401 		(yy_buffer_stack_max) = num_to_alloc;
4402 		(yy_buffer_stack_top) = 0;
4403 		return;
4404 	}
4405 
4406 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4407 
4408 		/* Increase the buffer to prepare for a possible push. */
4409 		yy_size_t grow_size = 8 /* arbitrary grow size */;
4410 
4411 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
4412 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4413 								((yy_buffer_stack),
4414 								num_to_alloc * sizeof(struct yy_buffer_state*)
4415 								);
4416 		if ( ! (yy_buffer_stack) )
4417 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4418 
4419 		/* zero only the new slots.*/
4420 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4421 		(yy_buffer_stack_max) = num_to_alloc;
4422 	}
4423 }
4424 
4425 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4426  * @param base the character buffer
4427  * @param size the size in bytes of the character buffer
4428  *
4429  * @return the newly allocated buffer state object.
4430  */
4431 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4432 {
4433 	YY_BUFFER_STATE b;
4434 
4435 	if ( size < 2 ||
4436 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
4437 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
4438 		/* They forgot to leave room for the EOB's. */
4439 		return 0;
4440 
4441 	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
4442 	if ( ! b )
4443 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4444 
4445 	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
4446 	b->yy_buf_pos = b->yy_ch_buf = base;
4447 	b->yy_is_our_buffer = 0;
4448 	b->yy_input_file = 0;
4449 	b->yy_n_chars = b->yy_buf_size;
4450 	b->yy_is_interactive = 0;
4451 	b->yy_at_bol = 1;
4452 	b->yy_fill_buffer = 0;
4453 	b->yy_buffer_status = YY_BUFFER_NEW;
4454 
4455 	yy_switch_to_buffer(b  );
4456 
4457 	return b;
4458 }
4459 
4460 /** Setup the input buffer state to scan a string. The next call to yylex() will
4461  * scan from a @e copy of @a str.
4462  * @param yystr a NUL-terminated string to scan
4463  *
4464  * @return the newly allocated buffer state object.
4465  * @note If you want to scan bytes that may contain NUL values, then use
4466  *       yy_scan_bytes() instead.
4467  */
4468 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
4469 {
4470 
4471 	return yy_scan_bytes(yystr,strlen(yystr) );
4472 }
4473 
4474 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4475  * scan from a @e copy of @a bytes.
4476  * @param yybytes the byte buffer to scan
4477  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4478  *
4479  * @return the newly allocated buffer state object.
4480  */
4481 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
4482 {
4483 	YY_BUFFER_STATE b;
4484 	char *buf;
4485 	yy_size_t n;
4486 	yy_size_t i;
4487 
4488 	/* Get memory for full buffer, including space for trailing EOB's. */
4489 	n = _yybytes_len + 2;
4490 	buf = (char *) yyalloc(n  );
4491 	if ( ! buf )
4492 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4493 
4494 	for ( i = 0; i < _yybytes_len; ++i )
4495 		buf[i] = yybytes[i];
4496 
4497 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4498 
4499 	b = yy_scan_buffer(buf,n );
4500 	if ( ! b )
4501 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4502 
4503 	/* It's okay to grow etc. this buffer, and we should throw it
4504 	 * away when we're done.
4505 	 */
4506 	b->yy_is_our_buffer = 1;
4507 
4508 	return b;
4509 }
4510 
4511     static void yy_push_state (int  _new_state )
4512 {
4513     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4514 		{
4515 		yy_size_t new_size;
4516 
4517 		(yy_start_stack_depth) += YY_START_STACK_INCR;
4518 		new_size = (yy_start_stack_depth) * sizeof( int );
4519 
4520 		if ( ! (yy_start_stack) )
4521 			(yy_start_stack) = (int *) yyalloc(new_size  );
4522 
4523 		else
4524 			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
4525 
4526 		if ( ! (yy_start_stack) )
4527 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4528 		}
4529 
4530 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4531 
4532 	BEGIN(_new_state);
4533 }
4534 
4535     static void yy_pop_state  (void)
4536 {
4537     	if ( --(yy_start_stack_ptr) < 0 )
4538 		YY_FATAL_ERROR( "start-condition stack underflow" );
4539 
4540 	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4541 }
4542 
4543 #ifndef YY_EXIT_FAILURE
4544 #define YY_EXIT_FAILURE 2
4545 #endif
4546 
4547 static void yy_fatal_error (yyconst char* msg )
4548 {
4549 			(void) fprintf( stderr, "%s\n", msg );
4550 	exit( YY_EXIT_FAILURE );
4551 }
4552 
4553 /* Redefine yyless() so it works in section 3 code. */
4554 
4555 #undef yyless
4556 #define yyless(n) \
4557 	do \
4558 		{ \
4559 		/* Undo effects of setting up yytext. */ \
4560         int yyless_macro_arg = (n); \
4561         YY_LESS_LINENO(yyless_macro_arg);\
4562 		yytext[yyleng] = (yy_hold_char); \
4563 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
4564 		(yy_hold_char) = *(yy_c_buf_p); \
4565 		*(yy_c_buf_p) = '\0'; \
4566 		yyleng = yyless_macro_arg; \
4567 		} \
4568 	while ( 0 )
4569 
4570 /* Accessor  methods (get/set functions) to struct members. */
4571 
4572 /** Get the current line number.
4573  *
4574  */
4575 int yyget_lineno  (void)
4576 {
4577 
4578     return yylineno;
4579 }
4580 
4581 /** Get the input stream.
4582  *
4583  */
4584 FILE *yyget_in  (void)
4585 {
4586         return yyin;
4587 }
4588 
4589 /** Get the output stream.
4590  *
4591  */
4592 FILE *yyget_out  (void)
4593 {
4594         return yyout;
4595 }
4596 
4597 /** Get the length of the current token.
4598  *
4599  */
4600 yy_size_t yyget_leng  (void)
4601 {
4602         return yyleng;
4603 }
4604 
4605 /** Get the current token.
4606  *
4607  */
4608 
4609 char *yyget_text  (void)
4610 {
4611         return yytext;
4612 }
4613 
4614 /** Set the current line number.
4615  * @param _line_number line number
4616  *
4617  */
4618 void yyset_lineno (int  _line_number )
4619 {
4620 
4621     yylineno = _line_number;
4622 }
4623 
4624 /** Set the input stream. This does not discard the current
4625  * input buffer.
4626  * @param _in_str A readable stream.
4627  *
4628  * @see yy_switch_to_buffer
4629  */
4630 void yyset_in (FILE *  _in_str )
4631 {
4632         yyin = _in_str ;
4633 }
4634 
4635 void yyset_out (FILE *  _out_str )
4636 {
4637         yyout = _out_str ;
4638 }
4639 
4640 int yyget_debug  (void)
4641 {
4642         return yy_flex_debug;
4643 }
4644 
4645 void yyset_debug (int  _bdebug )
4646 {
4647         yy_flex_debug = _bdebug ;
4648 }
4649 
4650 static int yy_init_globals (void)
4651 {
4652         /* Initialization is the same as for the non-reentrant scanner.
4653      * This function is called from yylex_destroy(), so don't allocate here.
4654      */
4655 
4656     (yy_buffer_stack) = 0;
4657     (yy_buffer_stack_top) = 0;
4658     (yy_buffer_stack_max) = 0;
4659     (yy_c_buf_p) = (char *) 0;
4660     (yy_init) = 0;
4661     (yy_start) = 0;
4662 
4663     (yy_start_stack_ptr) = 0;
4664     (yy_start_stack_depth) = 0;
4665     (yy_start_stack) =  NULL;
4666 
4667 /* Defined in main.c */
4668 #ifdef YY_STDINIT
4669     yyin = stdin;
4670     yyout = stdout;
4671 #else
4672     yyin = (FILE *) 0;
4673     yyout = (FILE *) 0;
4674 #endif
4675 
4676     /* For future reference: Set errno on error, since we are called by
4677      * yylex_init()
4678      */
4679     return 0;
4680 }
4681 
4682 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4683 int yylex_destroy  (void)
4684 {
4685 
4686     /* Pop the buffer stack, destroying each element. */
4687 	while(YY_CURRENT_BUFFER){
4688 		yy_delete_buffer(YY_CURRENT_BUFFER  );
4689 		YY_CURRENT_BUFFER_LVALUE = NULL;
4690 		yypop_buffer_state();
4691 	}
4692 
4693 	/* Destroy the stack itself. */
4694 	yyfree((yy_buffer_stack) );
4695 	(yy_buffer_stack) = NULL;
4696 
4697     /* Destroy the start condition stack. */
4698         yyfree((yy_start_stack)  );
4699         (yy_start_stack) = NULL;
4700 
4701     /* Reset the globals. This is important in a non-reentrant scanner so the next time
4702      * yylex() is called, initialization will occur. */
4703     yy_init_globals( );
4704 
4705     return 0;
4706 }
4707 
4708 /*
4709  * Internal utility routines.
4710  */
4711 
4712 #ifndef yytext_ptr
4713 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4714 {
4715 
4716 	int i;
4717 	for ( i = 0; i < n; ++i )
4718 		s1[i] = s2[i];
4719 }
4720 #endif
4721 
4722 #ifdef YY_NEED_STRLEN
4723 static int yy_flex_strlen (yyconst char * s )
4724 {
4725 	int n;
4726 	for ( n = 0; s[n]; ++n )
4727 		;
4728 
4729 	return n;
4730 }
4731 #endif
4732 
4733 void *yyalloc (yy_size_t  size )
4734 {
4735 			return (void *) malloc( size );
4736 }
4737 
4738 void *yyrealloc  (void * ptr, yy_size_t  size )
4739 {
4740 
4741 	/* The cast to (char *) in the following accommodates both
4742 	 * implementations that use char* generic pointers, and those
4743 	 * that use void* generic pointers.  It works with the latter
4744 	 * because both ANSI C and C++ allow castless assignment from
4745 	 * any pointer type to void*, and deal with argument conversions
4746 	 * as though doing an assignment.
4747 	 */
4748 	return (void *) realloc( (char *) ptr, size );
4749 }
4750 
4751 void yyfree (void * ptr )
4752 {
4753 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
4754 }
4755 
4756 #define YYTABLES_NAME "yytables"
4757 
4758 int yywrap()
4759 	{
4760 	if ( --num_input_files > 0 )
4761 		{
4762 		set_input_file( *++input_files );
4763 		return 0;
4764 		}
4765 
4766 	else
4767 		return 1;
4768 	}
4769 
4770 /* set_input_file - open the given file (if NULL, stdin) for scanning */
4771 
4772 void set_input_file( file )
4773 char *file;
4774 	{
4775 	if ( file && strcmp( file, "-" ) )
4776 		{
4777 		infilename = copy_string( file );
4778 		yyin = fopen( infilename, "r" );
4779 
4780 		if ( yyin == NULL )
4781 			lerr( _( "can't open %s" ), file );
4782 		}
4783 
4784 	else
4785 		{
4786 		yyin = stdin;
4787 		infilename = copy_string( "<stdin>" );
4788 		}
4789 
4790 	linenum = 1;
4791 	}
4792 
4793 /* Wrapper routines for accessing the scanner's malloc routines. */
4794 
4795 void *flex_alloc( size )
4796 size_t size;
4797 	{
4798 	return (void *) malloc( size );
4799 	}
4800 
4801 void *flex_realloc( ptr, size )
4802 void *ptr;
4803 size_t size;
4804 	{
4805 	return (void *) realloc( ptr, size );
4806 	}
4807 
4808 void flex_free( ptr )
4809 void *ptr;
4810 	{
4811 	if ( ptr )
4812 		free( ptr );
4813 	}
4814 
4815