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