2 #include "util/configyyrename.h"
6 #define YY_INT_ALIGNED short int
8 /* A lexical scanner generated by flex */
11 #define YY_FLEX_MAJOR_VERSION 2
12 #define YY_FLEX_MINOR_VERSION 5
13 #define YY_FLEX_SUBMINOR_VERSION 37
14 #if YY_FLEX_SUBMINOR_VERSION > 0
18 /* First, we deal with platform-specific or compiler-specific issues. */
20 #if defined(__FreeBSD__)
21 #ifndef __STDC_LIMIT_MACROS
22 #define __STDC_LIMIT_MACROS
24 #include <sys/cdefs.h>
30 /* begin standard C headers. */
36 /* end standard C headers. */
38 /* flex integer type definitions */
43 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
45 #if defined(__FreeBSD__) || \
46 (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
48 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
49 * if you want the limit (max/min) macros for int types.
51 #ifndef __STDC_LIMIT_MACROS
52 #define __STDC_LIMIT_MACROS 1
56 typedef int8_t flex_int8_t;
57 typedef uint8_t flex_uint8_t;
58 typedef int16_t flex_int16_t;
59 typedef uint16_t flex_uint16_t;
60 typedef int32_t flex_int32_t;
61 typedef uint32_t flex_uint32_t;
63 typedef signed char flex_int8_t;
64 typedef short int flex_int16_t;
65 typedef int flex_int32_t;
66 typedef unsigned char flex_uint8_t;
67 typedef unsigned short int flex_uint16_t;
68 typedef unsigned int flex_uint32_t;
70 /* Limits of integral types. */
72 #define INT8_MIN (-128)
75 #define INT16_MIN (-32767-1)
78 #define INT32_MIN (-2147483647-1)
81 #define INT8_MAX (127)
84 #define INT16_MAX (32767)
87 #define INT32_MAX (2147483647)
90 #define UINT8_MAX (255U)
93 #define UINT16_MAX (65535U)
96 #define UINT32_MAX (4294967295U)
101 #endif /* ! FLEXINT_H */
105 /* The "const" storage-class-modifier is valid. */
108 #else /* ! __cplusplus */
110 /* C99 requires __STDC__ to be defined as 1. */
111 #if defined (__STDC__)
115 #endif /* defined (__STDC__) */
116 #endif /* ! __cplusplus */
119 #define yyconst const
124 /* Returned upon end-of-file. */
127 /* Promotes a possibly negative, possibly signed char to an unsigned
128 * integer for use as an array index. If the signed char is negative,
129 * we want to instead treat it as an 8-bit unsigned char, hence the
132 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
134 /* Enter a start condition. This macro really ought to take a parameter,
135 * but we do it the disgusting crufty way forced on us by the ()-less
136 * definition of BEGIN.
138 #define BEGIN (yy_start) = 1 + 2 *
140 /* Translate the current start state into a value that can be later handed
141 * to BEGIN to return to the state. The YYSTATE alias is for lex
144 #define YY_START (((yy_start) - 1) / 2)
145 #define YYSTATE YY_START
147 /* Action number for EOF rule of a given start state. */
148 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
150 /* Special action meaning "start processing a new file". */
151 #define YY_NEW_FILE yyrestart(yyin )
153 #define YY_END_OF_BUFFER_CHAR 0
155 /* Size of default input buffer. */
157 #define YY_BUF_SIZE 16384
160 /* The state buf must be large enough to hold one state per character in the main buffer.
162 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
164 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
165 #define YY_TYPEDEF_YY_BUFFER_STATE
166 typedef struct yy_buffer_state *YY_BUFFER_STATE;
169 #ifndef YY_TYPEDEF_YY_SIZE_T
170 #define YY_TYPEDEF_YY_SIZE_T
171 typedef size_t yy_size_t;
174 extern yy_size_t yyleng;
176 extern FILE *yyin, *yyout;
178 #define EOB_ACT_CONTINUE_SCAN 0
179 #define EOB_ACT_END_OF_FILE 1
180 #define EOB_ACT_LAST_MATCH 2
182 #define YY_LESS_LINENO(n)
184 /* Return all but the first "n" matched characters back to the input stream. */
188 /* Undo effects of setting up yytext. */ \
189 int yyless_macro_arg = (n); \
190 YY_LESS_LINENO(yyless_macro_arg);\
191 *yy_cp = (yy_hold_char); \
192 YY_RESTORE_YY_MORE_OFFSET \
193 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
194 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
198 #define unput(c) yyunput( c, (yytext_ptr) )
200 #ifndef YY_STRUCT_YY_BUFFER_STATE
201 #define YY_STRUCT_YY_BUFFER_STATE
202 struct yy_buffer_state
206 char *yy_ch_buf; /* input buffer */
207 char *yy_buf_pos; /* current position in input buffer */
209 /* Size of input buffer in bytes, not including room for EOB
212 yy_size_t yy_buf_size;
214 /* Number of characters read into yy_ch_buf, not including EOB
217 yy_size_t yy_n_chars;
219 /* Whether we "own" the buffer - i.e., we know we created it,
220 * and can realloc() it to grow it, and should free() it to
223 int yy_is_our_buffer;
225 /* Whether this is an "interactive" input source; if so, and
226 * if we're using stdio for input, then we want to use getc()
227 * instead of fread(), to make sure we stop fetching input after
230 int yy_is_interactive;
232 /* Whether we're considered to be at the beginning of a line.
233 * If so, '^' rules will be active on the next match, otherwise
238 int yy_bs_lineno; /**< The line count. */
239 int yy_bs_column; /**< The column count. */
241 /* Whether to try to fill the input buffer when we reach the
246 int yy_buffer_status;
248 #define YY_BUFFER_NEW 0
249 #define YY_BUFFER_NORMAL 1
250 /* When an EOF's been seen but there's still some text to process
251 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
252 * shouldn't try reading from the input source any more. We might
253 * still have a bunch of tokens to match, though, because of
254 * possible backing-up.
256 * When we actually see the EOF, we change the status to "new"
257 * (via yyrestart()), so that the user can continue scanning by
258 * just pointing yyin at a new input file.
260 #define YY_BUFFER_EOF_PENDING 2
263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
265 /* Stack of input buffers. */
266 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
267 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
268 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
270 /* We provide macros for accessing buffer states in case in the
271 * future we want to put the buffer states in a more general
274 * Returns the top of the stack, or NULL.
276 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
277 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
279 #define yy_current_buffer YY_CURRENT_BUFFER
281 /* Same as previous macro, but useful when we know that the buffer stack is not
282 * NULL or when we need an lvalue. For internal use only.
284 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
286 /* yy_hold_char holds the character lost when yytext is formed. */
287 static char yy_hold_char;
288 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
291 /* Points to current character in buffer. */
292 static char *yy_c_buf_p = (char *) 0;
293 static int yy_init = 0; /* whether we need to initialize */
294 static int yy_start = 0; /* start state number */
296 /* Flag which is used to allow yywrap()'s to do buffer switches
297 * instead of setting up a fresh yyin. A bit of a hack ...
299 static int yy_did_buffer_switch_on_eof;
301 void yyrestart (FILE *input_file );
302 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
303 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
304 void yy_delete_buffer (YY_BUFFER_STATE b );
305 void yy_flush_buffer (YY_BUFFER_STATE b );
306 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
307 void yypop_buffer_state (void );
309 static void yyensure_buffer_stack (void );
310 static void yy_load_buffer_state (void );
311 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
313 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
315 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
316 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
317 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
319 void *yyalloc (yy_size_t );
320 void *yyrealloc (void *,yy_size_t );
321 void yyfree (void * );
323 #define yy_new_buffer yy_create_buffer
325 #define yy_set_interactive(is_interactive) \
327 if ( ! YY_CURRENT_BUFFER ){ \
328 yyensure_buffer_stack (); \
329 YY_CURRENT_BUFFER_LVALUE = \
330 yy_create_buffer(yyin,YY_BUF_SIZE ); \
332 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
335 #define yy_set_bol(at_bol) \
337 if ( ! YY_CURRENT_BUFFER ){\
338 yyensure_buffer_stack (); \
339 YY_CURRENT_BUFFER_LVALUE = \
340 yy_create_buffer(yyin,YY_BUF_SIZE ); \
342 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
345 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
347 /* Begin user sect3 */
349 typedef unsigned char YY_CHAR;
351 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
353 typedef int yy_state_type;
360 #define yytext_ptr yytext
362 static yy_state_type yy_get_previous_state (void );
363 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
364 static int yy_get_next_buffer (void );
365 static void yy_fatal_error (yyconst char msg[] ) __dead2;
367 /* Done after the current pattern has been matched and before the
368 * corresponding action - sets up yytext.
370 #define YY_DO_BEFORE_ACTION \
371 (yytext_ptr) = yy_bp; \
372 (yytext_ptr) -= (yy_more_len); \
373 yyleng = (size_t) (yy_cp - (yytext_ptr)); \
374 (yy_hold_char) = *yy_cp; \
376 (yy_c_buf_p) = yy_cp;
378 #define YY_NUM_RULES 142
379 #define YY_END_OF_BUFFER 143
380 /* This struct is not used in this scanner,
381 but its presence is necessary. */
384 flex_int32_t yy_verify;
387 static yyconst flex_int16_t yy_accept[1343] =
389 1, 1, 124, 124, 128, 128, 132, 132, 136, 136,
390 1, 1, 143, 140, 1, 122, 122, 141, 2, 141,
391 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
392 140, 140, 140, 140, 140, 140, 140, 140, 140, 124,
393 125, 125, 126, 141, 128, 129, 129, 130, 141, 135,
394 132, 133, 133, 134, 141, 136, 137, 137, 138, 141,
395 139, 123, 2, 127, 141, 139, 140, 0, 1, 2,
396 2, 2, 2, 140, 140, 140, 140, 140, 140, 140,
397 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
398 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
400 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
401 140, 140, 140, 140, 140, 140, 140, 140, 140, 124,
402 0, 128, 0, 135, 0, 132, 136, 0, 139, 0,
403 2, 2, 139, 140, 140, 140, 140, 140, 140, 140,
404 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
405 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
406 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
407 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
408 140, 140, 140, 140, 140, 140, 139, 140, 140, 140,
409 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
411 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
412 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
413 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
414 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
415 140, 140, 140, 140, 140, 140, 140, 140, 140, 139,
416 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
417 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
418 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
419 140, 140, 140, 140, 140, 140, 140, 62, 140, 140,
420 140, 140, 140, 6, 140, 140, 140, 140, 140, 140,
422 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
423 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
424 140, 140, 140, 140, 139, 140, 140, 140, 140, 140,
425 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
426 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
427 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
428 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
429 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
430 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
431 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
433 140, 140, 140, 140, 139, 140, 140, 140, 140, 27,
434 140, 140, 140, 140, 140, 12, 13, 140, 15, 14,
435 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
436 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
437 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
438 140, 140, 140, 140, 140, 118, 140, 140, 140, 140,
439 140, 3, 140, 140, 140, 140, 140, 140, 140, 140,
440 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
441 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
442 139, 140, 140, 140, 140, 140, 140, 140, 140, 140,
444 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
445 140, 140, 140, 140, 140, 140, 131, 140, 140, 140,
446 140, 140, 140, 140, 140, 140, 140, 140, 140, 30,
447 140, 140, 140, 140, 140, 140, 140, 140, 31, 140,
448 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
449 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
450 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
451 140, 140, 140, 140, 140, 77, 131, 140, 140, 140,
452 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
453 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
455 140, 140, 140, 140, 140, 140, 140, 76, 140, 140,
456 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
457 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
458 60, 140, 140, 140, 140, 140, 140, 140, 140, 140,
459 140, 140, 20, 140, 140, 140, 140, 140, 140, 140,
460 140, 140, 140, 140, 140, 140, 140, 140, 28, 140,
461 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
462 140, 140, 140, 140, 140, 140, 140, 140, 29, 140,
463 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
464 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
466 140, 140, 140, 22, 140, 140, 140, 140, 140, 140,
467 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
468 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
469 140, 140, 25, 26, 140, 140, 140, 63, 140, 64,
470 140, 61, 140, 140, 140, 140, 140, 140, 140, 140,
471 140, 140, 140, 140, 140, 140, 5, 140, 140, 140,
472 140, 140, 140, 140, 140, 140, 140, 140, 140, 79,
473 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
474 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
475 140, 140, 140, 140, 140, 140, 140, 104, 103, 140,
477 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
478 140, 140, 140, 140, 140, 140, 140, 32, 140, 140,
479 140, 140, 140, 140, 140, 66, 65, 140, 140, 140,
480 140, 140, 140, 100, 140, 140, 140, 140, 140, 140,
481 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
482 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
483 140, 140, 140, 140, 51, 140, 140, 140, 140, 140,
484 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
485 140, 102, 140, 140, 140, 140, 140, 140, 140, 140,
486 4, 140, 140, 140, 140, 140, 140, 140, 140, 140,
488 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
489 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
490 140, 140, 97, 140, 140, 140, 140, 140, 140, 140,
491 112, 98, 140, 21, 140, 140, 140, 140, 68, 140,
492 69, 67, 140, 140, 140, 140, 140, 140, 75, 140,
493 140, 140, 140, 140, 140, 140, 140, 140, 99, 140,
494 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
495 140, 140, 140, 140, 59, 140, 140, 140, 140, 140,
496 140, 140, 140, 140, 140, 17, 140, 140, 140, 16,
497 140, 84, 140, 140, 140, 140, 140, 140, 140, 140,
499 140, 140, 140, 140, 39, 40, 140, 140, 140, 140,
500 140, 140, 140, 140, 140, 140, 70, 140, 140, 140,
501 140, 140, 74, 140, 140, 140, 140, 140, 140, 140,
502 140, 140, 140, 140, 140, 140, 140, 78, 140, 140,
503 140, 140, 140, 140, 140, 140, 140, 140, 140, 117,
504 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
505 140, 140, 140, 140, 140, 88, 140, 92, 140, 140,
506 140, 140, 73, 140, 140, 110, 140, 140, 140, 140,
507 140, 140, 140, 140, 140, 140, 140, 140, 140, 91,
508 140, 140, 140, 140, 41, 42, 140, 47, 93, 140,
510 105, 101, 140, 140, 35, 140, 95, 140, 140, 140,
511 140, 140, 7, 140, 58, 109, 140, 140, 140, 140,
512 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
513 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
514 80, 140, 140, 119, 140, 140, 140, 140, 140, 140,
515 140, 140, 140, 140, 140, 140, 94, 140, 34, 36,
516 140, 140, 140, 140, 140, 57, 140, 140, 140, 140,
517 113, 18, 19, 140, 140, 140, 140, 140, 140, 55,
518 140, 140, 140, 140, 140, 140, 140, 140, 140, 115,
519 140, 140, 33, 140, 140, 140, 140, 140, 140, 11,
521 140, 140, 140, 140, 140, 140, 140, 10, 140, 140,
522 37, 140, 121, 114, 140, 140, 140, 140, 140, 140,
523 140, 140, 140, 140, 87, 86, 140, 116, 111, 140,
524 140, 140, 140, 140, 140, 140, 140, 140, 140, 43,
525 140, 120, 140, 140, 140, 140, 38, 140, 140, 140,
526 81, 83, 140, 140, 140, 85, 140, 140, 140, 140,
527 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
528 23, 140, 140, 140, 140, 140, 140, 140, 140, 140,
529 140, 140, 140, 108, 140, 140, 140, 140, 140, 140,
530 140, 24, 140, 9, 140, 140, 106, 48, 140, 140,
532 140, 90, 140, 71, 140, 140, 140, 50, 54, 49,
533 140, 44, 140, 8, 140, 140, 89, 140, 140, 140,
534 53, 140, 45, 140, 107, 140, 140, 82, 72, 52,
535 46, 140, 140, 140, 140, 56, 140, 140, 140, 140,
539 static yyconst flex_int32_t yy_ec[256] =
541 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
542 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544 1, 2, 1, 5, 6, 1, 1, 1, 7, 1,
545 1, 1, 1, 1, 8, 1, 1, 1, 1, 1,
546 9, 10, 1, 11, 1, 1, 1, 12, 1, 1,
547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
548 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
549 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
550 1, 13, 1, 1, 1, 1, 14, 15, 16, 17,
552 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
553 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
554 38, 39, 1, 1, 1, 1, 1, 1, 1, 1,
555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
558 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
559 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
560 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
561 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 static yyconst flex_int32_t yy_meta[40] =
573 1, 2, 3, 4, 5, 1, 6, 1, 1, 1,
574 1, 7, 1, 1, 1, 1, 1, 1, 1, 1,
575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
576 1, 1, 1, 1, 1, 1, 1, 1, 1
579 static yyconst flex_int16_t yy_base[1357] =
581 0, 0, 37, 40, 44, 51, 63, 75, 56, 68,
582 87, 108, 2577, 2563, 50, 2683, 2683, 2683, 129, 94,
583 70, 104, 122, 90, 92, 115, 126, 95, 84, 132,
584 135, 138, 50, 142, 148, 156, 169, 164, 179, 2493,
585 2683, 2683, 2683, 70, 2371, 2683, 2683, 2683, 42, 2326,
586 1987, 2683, 2683, 2683, 197, 1681, 2683, 2683, 2683, 154,
587 1191, 2683, 201, 2683, 205, 111, 1082, 211, 120, 0,
588 222, 0, 0, 103, 158, 165, 149, 155, 168, 206,
589 207, 198, 217, 209, 204, 208, 215, 177, 136, 227,
590 228, 219, 232, 236, 235, 240, 245, 229, 246, 247,
592 250, 251, 254, 256, 258, 262, 259, 263, 266, 269,
593 267, 276, 268, 271, 273, 49, 280, 281, 283, 853,
594 297, 751, 301, 603, 311, 572, 360, 299, 298, 315,
595 319, 0, 296, 312, 320, 314, 316, 318, 321, 327,
596 323, 330, 342, 331, 326, 334, 335, 336, 338, 347,
597 337, 353, 348, 344, 350, 355, 359, 372, 369, 367,
598 357, 379, 377, 385, 386, 383, 387, 384, 388, 389,
599 391, 392, 395, 396, 397, 398, 405, 402, 406, 403,
600 414, 412, 420, 418, 428, 424, 425, 427, 430, 434,
601 435, 432, 433, 441, 439, 444, 452, 448, 450, 454,
603 455, 458, 461, 460, 462, 466, 473, 469, 470, 472,
604 477, 475, 478, 479, 485, 481, 482, 483, 486, 492,
605 487, 504, 498, 508, 501, 502, 510, 513, 509, 515,
606 520, 522, 528, 524, 525, 526, 527, 531, 534, 537,
607 533, 536, 539, 540, 545, 546, 565, 551, 549, 553,
608 556, 555, 562, 576, 563, 572, 573, 569, 578, 585,
609 596, 586, 591, 595, 598, 597, 600, 601, 602, 605,
610 608, 610, 609, 620, 623, 622, 621, 624, 630, 638,
611 625, 632, 635, 639, 643, 634, 644, 2683, 649, 636,
612 651, 652, 642, 2683, 653, 656, 658, 660, 662, 668,
614 664, 666, 667, 669, 674, 675, 677, 697, 680, 678,
615 690, 681, 686, 683, 692, 689, 699, 702, 706, 707,
616 709, 710, 712, 715, 716, 726, 722, 718, 724, 728,
617 732, 733, 735, 738, 739, 743, 747, 753, 755, 757,
618 763, 740, 759, 762, 765, 767, 768, 749, 775, 772,
619 774, 778, 779, 787, 776, 789, 791, 793, 783, 794,
620 797, 805, 801, 803, 808, 810, 784, 804, 814, 813,
621 820, 827, 828, 812, 829, 835, 831, 836, 824, 837,
622 839, 840, 841, 843, 844, 846, 848, 854, 850, 856,
623 861, 862, 866, 851, 868, 871, 872, 873, 874, 883,
625 875, 884, 876, 886, 887, 894, 895, 889, 902, 2683,
626 901, 904, 898, 905, 906, 2683, 2683, 890, 2683, 2683,
627 909, 914, 915, 917, 922, 923, 925, 927, 930, 932,
628 935, 936, 938, 944, 946, 939, 947, 948, 950, 954,
629 955, 957, 961, 963, 964, 965, 968, 970, 972, 974,
630 975, 981, 977, 988, 984, 2683, 986, 987, 991, 993,
631 994, 2683, 995, 996, 998, 999, 1000, 1002, 1006, 1004,
632 1007, 1014, 1013, 1009, 1012, 1019, 1029, 1030, 1025, 1028,
633 1031, 1035, 1037, 1046, 1039, 1043, 1045, 1052, 1048, 1050,
634 1054, 1051, 1055, 1057, 1060, 1063, 1085, 1065, 1062, 1064,
636 1067, 1070, 1072, 1074, 1078, 1092, 1097, 1075, 1071, 1103,
637 1105, 1099, 1095, 1106, 1112, 1113, 2683, 1119, 1120, 1108,
638 1115, 1116, 1122, 1124, 1129, 1126, 1130, 1132, 1138, 2683,
639 1135, 1136, 1137, 1140, 1147, 1139, 1149, 1159, 2683, 1161,
640 1162, 1155, 1157, 1164, 1165, 1167, 1169, 1170, 1171, 1173,
641 1181, 1176, 1178, 1183, 1182, 1187, 1189, 1190, 1192, 1193,
642 1194, 1199, 1204, 1210, 1213, 1201, 1218, 1195, 1207, 1211,
643 1224, 1219, 1222, 1225, 1226, 2683, 174, 1227, 1228, 1229,
644 1235, 1238, 1234, 1232, 1236, 1240, 1242, 1247, 1253, 1248,
645 1254, 1255, 1256, 1259, 1258, 1261, 1267, 1268, 1269, 1270,
647 1271, 1272, 1273, 1274, 1279, 1278, 1286, 2683, 1292, 1285,
648 1281, 1288, 1296, 1305, 1297, 1302, 1312, 1313, 1315, 1316,
649 1317, 1319, 1309, 1322, 1330, 1331, 1327, 1329, 1328, 1334,
650 2683, 1335, 1336, 1338, 1341, 1343, 1349, 1347, 1348, 1350,
651 1353, 1359, 2683, 1303, 1360, 1354, 1364, 1367, 1369, 1371,
652 1378, 1370, 1374, 1372, 1381, 1382, 1383, 1384, 2683, 1393,
653 1397, 1394, 1401, 1395, 1398, 1402, 1406, 1403, 1385, 1412,
654 1409, 1410, 1414, 1415, 1411, 1418, 1419, 1421, 2683, 1425,
655 1422, 1427, 1428, 1434, 1426, 1435, 1436, 1438, 1441, 1447,
656 1440, 1451, 1442, 1453, 1450, 1460, 1461, 1464, 1463, 1466,
658 1472, 1478, 1474, 2683, 1477, 1465, 1480, 1486, 1488, 1483,
659 1489, 1490, 1491, 1498, 1492, 1494, 1495, 1496, 1503, 1500,
660 1501, 1504, 1507, 1506, 1518, 1519, 1520, 1523, 1524, 1526,
661 1525, 1532, 2683, 2683, 1533, 1534, 1541, 2683, 1543, 2683,
662 1547, 2683, 1548, 1549, 1537, 1539, 1553, 1544, 1555, 1556,
663 1560, 1557, 1562, 1563, 1565, 1566, 2683, 1568, 1569, 1574,
664 1570, 1572, 1577, 1578, 1582, 1593, 1581, 1585, 1589, 2683,
665 1591, 1594, 1600, 1607, 1604, 1598, 1606, 1608, 1609, 1610,
666 1612, 1621, 1613, 1611, 1615, 1622, 1623, 1624, 1626, 1632,
667 1630, 1631, 1634, 1638, 1640, 1645, 1643, 2683, 2683, 1649,
669 1641, 1646, 1652, 1656, 1658, 1660, 1668, 1665, 1666, 1671,
670 1672, 1673, 1674, 1676, 1677, 1679, 1680, 2683, 1688, 1682,
671 1696, 1697, 1706, 1689, 1704, 2683, 2683, 1685, 1692, 1708,
672 1709, 1711, 1712, 2683, 1714, 1715, 1716, 1717, 1718, 1720,
673 1710, 1724, 1732, 1735, 1725, 1736, 1743, 1740, 1741, 1744,
674 1746, 1754, 1742, 1756, 1762, 1747, 1758, 1760, 1764, 1761,
675 1766, 1770, 1772, 1771, 2683, 1778, 1775, 1784, 1776, 1783,
676 1785, 1792, 1788, 1789, 1790, 1791, 1794, 1796, 1797, 1798,
677 1804, 2683, 1803, 1805, 1806, 1808, 1814, 1818, 1816, 1821,
678 2683, 1822, 1830, 1826, 1828, 1832, 1829, 1836, 1833, 1839,
680 1838, 1841, 1843, 1850, 1844, 1848, 1851, 1852, 1863, 1862,
681 1869, 1870, 1867, 1876, 1873, 1874, 1875, 1877, 1886, 1882,
682 1888, 1880, 2683, 1890, 1895, 1897, 1899, 1884, 1900, 1898,
683 2683, 2683, 1891, 2683, 1908, 1901, 1912, 1913, 2683, 1911,
684 2683, 2683, 1914, 1923, 1915, 1916, 1924, 1930, 2683, 1927,
685 1925, 1935, 1931, 1937, 1938, 1939, 1933, 1940, 2683, 1941,
686 1942, 1943, 1947, 1953, 1955, 1957, 1958, 1962, 1965, 1966,
687 1959, 1968, 1974, 1973, 2683, 1972, 1975, 1980, 1981, 1985,
688 1982, 1986, 1987, 1996, 1998, 2683, 1992, 1990, 2000, 2683,
689 2002, 2683, 2006, 2004, 2009, 2014, 2011, 2022, 2007, 2015,
691 2023, 2017, 2025, 2027, 2683, 2683, 2031, 2033, 2036, 2034,
692 2038, 2041, 2039, 2042, 2044, 2048, 2683, 2049, 2050, 2051,
693 2052, 2053, 2683, 2056, 2057, 2058, 2062, 2065, 2077, 2079,
694 2068, 2083, 2085, 2061, 2087, 2089, 2090, 2683, 2091, 2093,
695 2094, 2098, 2099, 2095, 2100, 2104, 2107, 2102, 2111, 2683,
696 2115, 2108, 2118, 2116, 2112, 2122, 2123, 2126, 2128, 2130,
697 2129, 2131, 2132, 2138, 2059, 2683, 2136, 2683, 2137, 2142,
698 2150, 2151, 2683, 2147, 2153, 2683, 2154, 2158, 2167, 2155,
699 2161, 2169, 2170, 2171, 2172, 2173, 2174, 2182, 2178, 2683,
700 2180, 2181, 2187, 2183, 2683, 2683, 2188, 2683, 2683, 2198,
702 2683, 2683, 2194, 2201, 2683, 2203, 2683, 2209, 2205, 2192,
703 2190, 2210, 2683, 2214, 2683, 2683, 2211, 2217, 2207, 2218,
704 2225, 2227, 2229, 2220, 2222, 2230, 2231, 2233, 2234, 2236,
705 2237, 2238, 2239, 2244, 2241, 2247, 2248, 2250, 2251, 2253,
706 2683, 2249, 2262, 2683, 2269, 2270, 2258, 2260, 2271, 2272,
707 2274, 2276, 2282, 2280, 2281, 2283, 2683, 2285, 2683, 2683,
708 2286, 2284, 2291, 2292, 2294, 2683, 2297, 2298, 2302, 2309,
709 2683, 2683, 2683, 2310, 2299, 2305, 2313, 2315, 2316, 2683,
710 2319, 2322, 2323, 2325, 2330, 2332, 2338, 2336, 2342, 2683,
711 2339, 2337, 2683, 2343, 2345, 2347, 2348, 2350, 2352, 2683,
713 2353, 2354, 2360, 2355, 2363, 2366, 2365, 2683, 2367, 2368,
714 2683, 2378, 2683, 2683, 2369, 2379, 2382, 2384, 2387, 2375,
715 2388, 2395, 2392, 2394, 2683, 2683, 2397, 2683, 2683, 2396,
716 2399, 2400, 2404, 2401, 2406, 2408, 2409, 2412, 2410, 2683,
717 2413, 2683, 2414, 2423, 2420, 2418, 2683, 2425, 2426, 2429,
718 2683, 2683, 2431, 2439, 2433, 2683, 2441, 2443, 2437, 2444,
719 2448, 2449, 2445, 2450, 2455, 2457, 2451, 2453, 2465, 2466,
720 2683, 2468, 2460, 2470, 2474, 2476, 2478, 2479, 2481, 2483,
721 2484, 2486, 2487, 2683, 2488, 2489, 2499, 2504, 2508, 2490,
722 2510, 2683, 2511, 2683, 2514, 2500, 2683, 2683, 2515, 2517,
724 2519, 2683, 2520, 2683, 2518, 2522, 2526, 2683, 2683, 2683,
725 2528, 2683, 2529, 2683, 2532, 2534, 2683, 2535, 2537, 2540,
726 2683, 2542, 2683, 2544, 2683, 2545, 2546, 2683, 2683, 2683,
727 2683, 2548, 2550, 2555, 2551, 2683, 2556, 2558, 2559, 2562,
728 2683, 2683, 2591, 2598, 2605, 2612, 2619, 94, 2626, 2633,
729 2640, 2647, 2654, 2661, 2668, 2675
732 static yyconst flex_int16_t yy_def[1357] =
734 1342, 1, 1343, 1343, 1344, 1344, 1345, 1345, 1346, 1346,
735 1347, 1347, 1342, 1348, 1342, 1342, 1342, 1342, 1349, 1348,
736 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
737 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1350,
738 1342, 1342, 1342, 1350, 1351, 1342, 1342, 1342, 1351, 1352,
739 1342, 1342, 1342, 1342, 1352, 1353, 1342, 1342, 1342, 1353,
740 1354, 1342, 1355, 1342, 1354, 1354, 1348, 1348, 1342, 1356,
741 1349, 1356, 1349, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
742 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
743 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
745 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
746 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1350,
747 1350, 1351, 1351, 1352, 1352, 1342, 1353, 1353, 1354, 1354,
748 1355, 1355, 1354, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
749 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
750 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
751 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
752 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
753 1348, 1348, 1348, 1348, 1348, 1348, 1354, 1348, 1348, 1348,
754 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
756 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
757 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
758 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
759 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
760 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1354,
761 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
762 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
763 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
764 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348,
765 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348,
767 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
768 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
769 1348, 1348, 1348, 1348, 1354, 1348, 1348, 1348, 1348, 1348,
770 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
771 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
772 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
773 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
774 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
775 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
776 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
778 1348, 1348, 1348, 1348, 1354, 1348, 1348, 1348, 1348, 1342,
779 1348, 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1342, 1342,
780 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
781 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
782 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
783 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348,
784 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
785 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
786 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
787 1354, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
789 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
790 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348,
791 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
792 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348,
793 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
794 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
795 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
796 1348, 1348, 1348, 1348, 1348, 1342, 1354, 1348, 1348, 1348,
797 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
798 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
800 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348,
801 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
802 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
803 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
804 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
805 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348,
806 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
807 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348,
808 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
809 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
811 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348,
812 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
813 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
814 1348, 1348, 1342, 1342, 1348, 1348, 1348, 1342, 1348, 1342,
815 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
816 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348,
817 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
818 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
819 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
820 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1342, 1348,
822 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
823 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348,
824 1348, 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1348, 1348,
825 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348,
826 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
827 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
828 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348,
829 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
830 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
831 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
833 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
834 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
835 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
836 1342, 1342, 1348, 1342, 1348, 1348, 1348, 1348, 1342, 1348,
837 1342, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348,
838 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348,
839 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
840 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348,
841 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1342,
842 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
844 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1348, 1348, 1348,
845 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348,
846 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
847 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348,
848 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
849 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
850 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1342, 1348, 1348,
851 1348, 1348, 1342, 1348, 1348, 1342, 1348, 1348, 1348, 1348,
852 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
853 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1342, 1342, 1348,
855 1342, 1342, 1348, 1348, 1342, 1348, 1342, 1348, 1348, 1348,
856 1348, 1348, 1342, 1348, 1342, 1342, 1348, 1348, 1348, 1348,
857 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
858 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
859 1342, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348,
860 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1342, 1342,
861 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348,
862 1342, 1342, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
863 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
864 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
866 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348,
867 1342, 1348, 1342, 1342, 1348, 1348, 1348, 1348, 1348, 1348,
868 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1342, 1342, 1348,
869 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342,
870 1348, 1342, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348,
871 1342, 1342, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348,
872 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
873 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
874 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348,
875 1348, 1342, 1348, 1342, 1348, 1348, 1342, 1342, 1348, 1348,
877 1348, 1342, 1348, 1342, 1348, 1348, 1348, 1342, 1342, 1342,
878 1348, 1342, 1348, 1342, 1348, 1348, 1342, 1348, 1348, 1348,
879 1342, 1348, 1342, 1348, 1342, 1348, 1348, 1342, 1342, 1342,
880 1342, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348,
881 1342, 0, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
882 1342, 1342, 1342, 1342, 1342, 1342
885 static yyconst flex_int16_t yy_nxt[2723] =
887 14, 15, 16, 17, 18, 19, 18, 14, 14, 14,
888 14, 18, 20, 21, 14, 22, 23, 24, 25, 14,
889 26, 27, 28, 29, 30, 31, 32, 33, 34, 14,
890 35, 36, 37, 38, 39, 14, 14, 14, 14, 41,
891 42, 43, 41, 42, 43, 122, 46, 47, 122, 44,
892 48, 69, 44, 46, 47, 70, 49, 48, 57, 58,
893 59, 68, 68, 49, 51, 52, 53, 54, 60, 18,
894 57, 58, 59, 120, 120, 55, 51, 52, 53, 54,
895 60, 18, 68, 101, 183, 74, 75, 55, 15, 16,
896 17, 62, 63, 64, 67, 67, 68, 67, 67, 65,
898 67, 93, 68, 76, 68, 67, 84, 68, 66, 15,
899 16, 17, 62, 63, 64, 68, 68, 77, 134, 86,
900 65, 69, 92, 130, 78, 70, 85, 68, 87, 66,
901 72, 79, 72, 72, 68, 72, 88, 133, 68, 80,
902 72, 73, 89, 81, 68, 90, 82, 68, 68, 83,
903 68, 98, 91, 150, 68, 99, 95, 127, 127, 94,
904 68, 68, 96, 102, 137, 106, 97, 68, 68, 103,
905 68, 100, 104, 109, 135, 107, 68, 68, 108, 105,
906 68, 68, 113, 110, 114, 138, 130, 111, 112, 68,
907 116, 68, 118, 149, 139, 117, 119, 136, 124, 115,
909 124, 124, 72, 124, 72, 72, 129, 72, 129, 129,
910 68, 129, 67, 132, 67, 67, 68, 67, 68, 68,
911 68, 68, 67, 72, 143, 72, 72, 68, 72, 68,
912 140, 68, 142, 72, 73, 145, 146, 141, 147, 68,
913 68, 68, 144, 152, 68, 148, 153, 68, 68, 156,
914 155, 158, 68, 151, 163, 159, 161, 68, 68, 68,
915 154, 160, 68, 68, 162, 164, 68, 167, 68, 157,
916 68, 68, 165, 169, 68, 68, 176, 170, 68, 68,
917 68, 68, 166, 68, 168, 68, 173, 172, 68, 178,
918 171, 177, 68, 68, 174, 68, 175, 184, 180, 181,
920 120, 120, 127, 127, 122, 185, 182, 122, 130, 179,
921 130, 187, 124, 186, 124, 124, 129, 124, 129, 129,
922 72, 129, 72, 72, 68, 72, 68, 189, 68, 188,
923 68, 132, 68, 68, 194, 68, 191, 196, 68, 68,
924 195, 190, 68, 68, 202, 192, 68, 68, 68, 68,
925 68, 204, 206, 193, 68, 207, 68, 203, 197, 68,
926 68, 213, 68, 198, 209, 68, 216, 68, 199, 68,
927 205, 68, 128, 208, 200, 201, 218, 210, 212, 68,
928 211, 68, 214, 215, 68, 217, 222, 219, 220, 68,
929 221, 68, 224, 225, 223, 68, 68, 68, 68, 68,
931 68, 68, 226, 68, 68, 227, 229, 68, 68, 68,
932 68, 231, 238, 234, 68, 68, 228, 68, 68, 232,
933 240, 242, 241, 230, 68, 245, 68, 233, 236, 237,
934 68, 235, 68, 244, 239, 247, 68, 130, 248, 68,
935 68, 253, 68, 243, 68, 68, 68, 68, 246, 250,
936 252, 68, 254, 68, 258, 249, 68, 259, 251, 255,
937 68, 257, 68, 256, 68, 260, 68, 68, 266, 263,
938 68, 264, 68, 68, 68, 268, 261, 262, 68, 265,
939 270, 68, 68, 269, 68, 68, 267, 68, 275, 68,
940 68, 68, 278, 68, 68, 68, 279, 68, 68, 68,
942 272, 271, 274, 277, 68, 273, 280, 283, 276, 288,
943 68, 285, 281, 68, 68, 282, 68, 284, 286, 287,
944 68, 68, 68, 289, 294, 68, 295, 68, 296, 292,
945 290, 293, 68, 291, 68, 299, 68, 68, 68, 68,
946 68, 302, 301, 68, 308, 68, 68, 297, 68, 68,
947 309, 68, 68, 303, 298, 307, 300, 68, 68, 304,
948 313, 68, 305, 68, 306, 130, 312, 68, 68, 310,
949 324, 311, 315, 126, 68, 68, 314, 68, 323, 316,
950 317, 68, 327, 329, 68, 68, 325, 326, 68, 318,
951 68, 319, 320, 321, 328, 330, 322, 68, 68, 331,
953 332, 333, 335, 68, 334, 336, 337, 68, 68, 68,
954 68, 342, 68, 68, 68, 125, 343, 68, 338, 339,
955 68, 68, 68, 340, 341, 350, 346, 349, 345, 348,
956 352, 344, 68, 68, 68, 68, 68, 68, 354, 347,
957 353, 351, 68, 356, 68, 357, 68, 68, 68, 355,
958 68, 68, 361, 359, 68, 68, 68, 364, 358, 360,
959 362, 68, 365, 68, 68, 68, 369, 363, 68, 366,
960 68, 367, 68, 368, 68, 375, 68, 373, 68, 68,
961 68, 68, 374, 378, 372, 370, 68, 68, 371, 68,
962 68, 380, 68, 68, 376, 68, 379, 390, 68, 393,
964 377, 68, 68, 381, 68, 395, 389, 391, 382, 68,
965 383, 68, 388, 392, 68, 384, 396, 385, 68, 68,
966 394, 68, 68, 397, 68, 386, 401, 68, 130, 398,
967 68, 402, 405, 406, 68, 387, 68, 399, 68, 410,
968 68, 400, 404, 403, 68, 68, 407, 68, 408, 409,
969 68, 68, 68, 414, 416, 68, 411, 412, 417, 68,
970 418, 68, 413, 123, 415, 68, 419, 68, 420, 68,
971 421, 68, 425, 422, 68, 68, 423, 68, 424, 68,
972 68, 428, 429, 426, 68, 427, 68, 68, 68, 430,
973 68, 68, 435, 432, 436, 68, 68, 437, 433, 68,
975 431, 68, 434, 68, 438, 68, 68, 439, 442, 68,
976 441, 443, 445, 68, 450, 68, 68, 68, 447, 446,
977 68, 444, 68, 448, 68, 68, 68, 449, 453, 440,
978 451, 452, 68, 458, 455, 457, 68, 454, 456, 68,
979 68, 68, 461, 68, 459, 463, 462, 68, 68, 68,
980 464, 68, 68, 68, 465, 68, 68, 469, 68, 460,
981 68, 474, 68, 68, 470, 121, 68, 466, 68, 476,
982 467, 471, 468, 68, 68, 473, 472, 477, 68, 478,
983 68, 475, 480, 68, 68, 68, 68, 68, 68, 483,
984 482, 485, 484, 481, 479, 68, 68, 489, 68, 130,
986 486, 68, 68, 488, 491, 487, 68, 68, 497, 492,
987 68, 493, 490, 68, 68, 495, 68, 68, 68, 502,
988 498, 68, 494, 496, 506, 500, 68, 68, 499, 68,
989 503, 505, 504, 501, 68, 68, 507, 68, 508, 68,
990 513, 509, 68, 517, 68, 516, 510, 68, 68, 519,
991 68, 68, 511, 512, 518, 514, 68, 521, 68, 68,
992 68, 522, 68, 526, 515, 520, 68, 68, 525, 68,
993 531, 523, 530, 68, 529, 68, 68, 68, 524, 532,
994 68, 527, 68, 533, 68, 528, 68, 68, 534, 68,
995 535, 537, 539, 68, 538, 541, 68, 540, 68, 68,
997 68, 543, 536, 68, 545, 68, 68, 68, 68, 547,
998 68, 68, 68, 544, 68, 542, 68, 548, 68, 68,
999 546, 68, 555, 554, 68, 68, 68, 560, 549, 550,
1000 551, 68, 553, 552, 556, 558, 563, 68, 557, 559,
1001 68, 68, 68, 68, 561, 562, 564, 68, 567, 68,
1002 569, 68, 566, 570, 571, 68, 565, 68, 68, 574,
1003 68, 576, 68, 68, 68, 577, 130, 68, 568, 68,
1004 573, 579, 68, 572, 68, 68, 68, 68, 578, 68,
1005 575, 588, 68, 68, 68, 595, 68, 68, 580, 582,
1006 68, 590, 594, 591, 68, 602, 581, 68, 593, 589,
1008 583, 601, 584, 592, 68, 596, 585, 68, 586, 68,
1009 597, 68, 598, 587, 600, 68, 603, 68, 68, 605,
1010 68, 606, 604, 608, 68, 68, 610, 68, 68, 609,
1011 599, 68, 68, 614, 68, 611, 68, 607, 68, 612,
1012 613, 68, 68, 615, 68, 621, 617, 68, 68, 68,
1013 68, 68, 68, 620, 624, 616, 619, 625, 618, 68,
1014 627, 68, 628, 623, 626, 622, 629, 68, 630, 68,
1015 634, 68, 631, 68, 68, 632, 68, 68, 633, 68,
1016 637, 68, 68, 68, 635, 68, 639, 640, 68, 641,
1017 68, 642, 643, 68, 68, 68, 636, 644, 646, 68,
1019 638, 68, 68, 130, 68, 68, 68, 68, 645, 651,
1020 652, 68, 647, 68, 654, 650, 68, 656, 648, 68,
1021 657, 649, 68, 68, 653, 68, 660, 655, 658, 659,
1022 68, 68, 663, 661, 68, 662, 68, 68, 68, 68,
1023 68, 68, 671, 665, 68, 672, 68, 68, 68, 664,
1024 68, 673, 68, 668, 68, 669, 666, 676, 674, 68,
1025 68, 670, 675, 667, 679, 68, 68, 68, 68, 677,
1026 68, 68, 682, 68, 678, 681, 684, 686, 680, 68,
1027 68, 68, 68, 68, 68, 68, 68, 683, 687, 685,
1028 68, 68, 694, 68, 690, 688, 689, 68, 68, 698,
1030 68, 700, 691, 693, 68, 692, 695, 697, 68, 68,
1031 696, 699, 703, 702, 68, 68, 704, 68, 735, 707,
1032 701, 68, 705, 706, 68, 68, 708, 68, 68, 68,
1033 711, 68, 709, 710, 68, 713, 712, 715, 716, 68,
1034 68, 68, 68, 68, 717, 718, 68, 68, 68, 719,
1035 68, 724, 714, 68, 720, 68, 721, 723, 722, 68,
1036 68, 68, 68, 725, 733, 68, 68, 727, 726, 729,
1037 734, 68, 68, 730, 728, 738, 68, 736, 731, 68,
1038 740, 68, 68, 68, 68, 737, 68, 732, 741, 742,
1039 68, 744, 745, 68, 68, 68, 68, 68, 746, 739,
1041 750, 748, 743, 749, 751, 68, 68, 68, 753, 68,
1042 68, 752, 747, 68, 68, 68, 754, 757, 68, 760,
1043 759, 68, 68, 68, 68, 756, 68, 68, 764, 755,
1044 68, 68, 769, 68, 68, 758, 770, 68, 68, 68,
1045 68, 761, 762, 765, 763, 773, 68, 68, 68, 767,
1046 68, 776, 68, 68, 68, 766, 768, 772, 775, 68,
1047 771, 783, 68, 68, 774, 68, 777, 779, 782, 778,
1048 784, 781, 68, 68, 780, 68, 68, 68, 68, 791,
1049 785, 786, 788, 790, 68, 792, 68, 793, 787, 68,
1050 68, 795, 68, 797, 794, 68, 789, 798, 68, 799,
1052 68, 68, 68, 68, 68, 804, 68, 68, 68, 803,
1053 68, 796, 68, 68, 800, 68, 68, 812, 68, 68,
1054 801, 802, 814, 805, 813, 806, 807, 808, 811, 809,
1055 68, 68, 68, 810, 818, 68, 68, 68, 68, 822,
1056 816, 819, 820, 815, 68, 68, 68, 824, 825, 68,
1057 823, 68, 817, 68, 826, 68, 68, 821, 827, 68,
1058 68, 68, 829, 828, 830, 68, 834, 68, 68, 68,
1059 832, 833, 68, 836, 68, 68, 831, 68, 68, 839,
1060 68, 68, 68, 841, 68, 838, 68, 844, 835, 68,
1061 68, 837, 848, 68, 68, 843, 840, 68, 842, 849,
1063 850, 68, 845, 68, 846, 68, 68, 853, 854, 847,
1064 68, 852, 68, 851, 857, 856, 68, 858, 68, 68,
1065 68, 68, 68, 68, 68, 68, 862, 68, 859, 864,
1066 866, 855, 865, 68, 68, 68, 68, 860, 68, 873,
1067 861, 867, 68, 68, 68, 863, 68, 868, 871, 870,
1068 68, 872, 68, 68, 869, 68, 883, 68, 68, 878,
1069 882, 68, 874, 875, 68, 877, 879, 876, 68, 880,
1070 68, 881, 68, 885, 884, 890, 891, 68, 68, 887,
1071 68, 889, 888, 68, 68, 68, 68, 886, 68, 68,
1072 898, 68, 68, 128, 68, 901, 893, 68, 892, 895,
1074 68, 68, 894, 903, 68, 909, 897, 899, 68, 68,
1075 900, 896, 902, 905, 906, 904, 68, 910, 68, 907,
1076 68, 68, 68, 68, 68, 908, 68, 68, 68, 68,
1077 68, 916, 68, 917, 918, 919, 68, 68, 911, 913,
1078 912, 920, 914, 923, 68, 921, 915, 68, 68, 925,
1079 927, 922, 68, 68, 68, 68, 68, 931, 68, 68,
1080 926, 924, 930, 933, 928, 932, 68, 934, 68, 935,
1081 68, 929, 68, 68, 68, 939, 68, 941, 68, 943,
1082 936, 942, 68, 68, 68, 945, 944, 68, 68, 937,
1083 68, 947, 938, 940, 949, 68, 68, 68, 950, 951,
1085 68, 68, 68, 68, 68, 946, 68, 959, 68, 68,
1086 68, 961, 952, 948, 953, 68, 68, 68, 68, 954,
1087 68, 955, 956, 957, 963, 965, 68, 958, 68, 966,
1088 68, 968, 964, 68, 68, 960, 962, 972, 68, 971,
1089 68, 68, 68, 975, 68, 68, 976, 974, 68, 970,
1090 68, 68, 967, 68, 969, 68, 68, 977, 973, 986,
1091 68, 982, 68, 68, 68, 978, 979, 984, 981, 980,
1092 989, 983, 985, 990, 68, 68, 991, 993, 988, 68,
1093 992, 68, 68, 995, 987, 68, 68, 68, 68, 68,
1094 997, 994, 68, 1000, 68, 1002, 68, 996, 68, 998,
1096 68, 1008, 68, 68, 1003, 1004, 1005, 68, 1006, 68,
1097 68, 68, 68, 68, 999, 1011, 1001, 1007, 1009, 1010,
1098 68, 1012, 1017, 68, 68, 68, 68, 68, 68, 1021,
1099 1019, 1014, 1013, 1015, 1016, 68, 68, 68, 1022, 68,
1100 1018, 1023, 68, 68, 1020, 68, 1024, 68, 1026, 68,
1101 68, 68, 68, 68, 68, 68, 1034, 1025, 1033, 68,
1102 1031, 1028, 1029, 1030, 1027, 68, 1038, 68, 1036, 68,
1103 68, 68, 1032, 1035, 68, 1040, 1041, 68, 68, 1037,
1104 68, 1046, 1042, 1043, 68, 68, 68, 68, 126, 1044,
1105 1047, 1050, 68, 68, 68, 1039, 1054, 68, 68, 68,
1107 1045, 1049, 68, 1048, 68, 1051, 1052, 1055, 68, 1053,
1108 68, 1056, 68, 1057, 68, 1058, 68, 1059, 68, 68,
1109 1062, 68, 1060, 68, 1063, 1066, 68, 68, 1061, 68,
1110 1065, 1070, 1067, 1068, 68, 68, 1073, 68, 1069, 68,
1111 1071, 1064, 1072, 68, 1076, 68, 68, 1074, 68, 1077,
1112 68, 68, 1075, 68, 68, 1079, 68, 1080, 1078, 1082,
1113 68, 68, 68, 68, 68, 68, 1081, 1090, 68, 68,
1114 68, 68, 1091, 68, 68, 1130, 1088, 68, 1094, 1084,
1115 68, 1086, 1083, 1092, 1087, 1085, 1089, 1093, 1095, 68,
1116 1096, 68, 1100, 1097, 1098, 68, 1099, 68, 1101, 68,
1118 1102, 68, 68, 68, 1105, 68, 68, 68, 1104, 1107,
1119 68, 68, 68, 1109, 68, 1110, 68, 1111, 1113, 68,
1120 68, 1103, 1115, 68, 68, 1106, 1116, 68, 68, 1108,
1121 68, 1118, 1112, 1114, 68, 68, 1120, 1119, 68, 1121,
1122 68, 68, 68, 68, 68, 1129, 1117, 1125, 68, 68,
1123 68, 1123, 1127, 1128, 68, 1133, 1126, 1134, 1132, 68,
1124 1122, 1124, 68, 68, 1135, 68, 68, 68, 1131, 1139,
1125 68, 1142, 1136, 68, 1137, 1140, 1143, 1138, 1141, 68,
1126 1144, 68, 68, 68, 68, 68, 68, 1145, 1147, 1150,
1127 68, 1149, 68, 68, 68, 68, 1151, 1155, 1153, 68,
1129 68, 1156, 68, 1146, 68, 1148, 68, 1154, 1152, 1157,
1130 68, 1158, 1159, 68, 1160, 68, 1161, 68, 1162, 68,
1131 1163, 68, 68, 68, 1164, 1166, 68, 1165, 1167, 68,
1132 68, 1168, 68, 1169, 68, 1170, 1171, 68, 1172, 68,
1133 1173, 68, 68, 68, 1174, 68, 68, 1180, 68, 68,
1134 68, 68, 1175, 68, 1176, 1177, 68, 1178, 1181, 68,
1135 68, 68, 68, 68, 1190, 68, 1179, 1188, 1189, 1184,
1136 68, 1183, 68, 1186, 68, 1192, 1182, 1185, 1187, 1191,
1137 1193, 68, 68, 68, 68, 1195, 68, 1200, 68, 1201,
1138 1196, 1194, 68, 68, 68, 68, 68, 68, 68, 1207,
1140 1198, 1197, 1208, 68, 68, 1199, 68, 1202, 1211, 68,
1141 68, 68, 1203, 1213, 68, 1204, 1205, 68, 1206, 1209,
1142 1214, 68, 68, 1215, 1210, 68, 1217, 68, 68, 1212,
1143 1218, 68, 1219, 1216, 68, 68, 1220, 68, 125, 1222,
1144 1223, 1225, 68, 1226, 68, 1227, 1221, 1228, 68, 68,
1145 68, 68, 1224, 1229, 68, 68, 1230, 68, 1232, 68,
1146 68, 1231, 68, 1236, 68, 68, 68, 68, 1234, 1235,
1147 1233, 1240, 68, 1237, 1242, 68, 1241, 68, 68, 68,
1148 68, 68, 1244, 123, 1238, 1239, 1243, 68, 1245, 1247,
1149 68, 68, 1249, 1246, 68, 1251, 68, 1250, 1252, 68,
1151 68, 1248, 1255, 1256, 68, 1253, 68, 68, 68, 68,
1152 1257, 68, 68, 68, 1254, 1258, 68, 1262, 68, 1260,
1153 68, 68, 68, 1264, 68, 68, 68, 1259, 1269, 1263,
1154 68, 1261, 68, 1267, 1271, 68, 1272, 68, 68, 1273,
1155 1265, 68, 1268, 68, 1270, 68, 1274, 1266, 1277, 68,
1156 1275, 68, 1278, 68, 1279, 68, 68, 68, 1280, 1284,
1157 68, 68, 68, 68, 1281, 68, 1276, 68, 1282, 68,
1158 1285, 1283, 68, 1286, 1289, 1288, 1292, 68, 68, 1294,
1159 68, 1287, 68, 1293, 1291, 1297, 68, 1298, 68, 1290,
1160 68, 68, 1295, 68, 1302, 68, 68, 1304, 68, 68,
1162 68, 68, 68, 1300, 1296, 121, 1307, 1311, 1303, 1299,
1163 1308, 68, 68, 1301, 1306, 1309, 68, 1315, 1305, 1310,
1164 68, 1312, 68, 68, 1313, 1314, 68, 68, 1317, 68,
1165 68, 68, 68, 1321, 68, 1316, 1318, 1319, 68, 1323,
1166 68, 68, 1322, 1325, 68, 1324, 68, 68, 1328, 68,
1167 1320, 1329, 68, 1330, 68, 1331, 68, 68, 68, 1333,
1168 68, 1326, 68, 68, 1334, 1327, 1336, 68, 68, 1332,
1169 68, 68, 1337, 1341, 68, 68, 1342, 1342, 1342, 1342,
1170 1342, 1342, 1335, 1338, 1339, 1342, 1342, 1342, 1342, 1342,
1171 1340, 40, 40, 40, 40, 40, 40, 40, 45, 45,
1173 45, 45, 45, 45, 45, 50, 50, 50, 50, 50,
1174 50, 50, 56, 56, 56, 56, 56, 56, 56, 61,
1175 61, 61, 61, 61, 61, 61, 71, 71, 1342, 71,
1176 71, 71, 71, 120, 120, 1342, 1342, 1342, 120, 120,
1177 122, 122, 1342, 1342, 122, 1342, 122, 124, 1342, 1342,
1178 1342, 1342, 1342, 124, 127, 127, 1342, 1342, 1342, 127,
1179 127, 129, 1342, 1342, 1342, 1342, 1342, 129, 131, 131,
1180 1342, 131, 131, 131, 131, 72, 72, 1342, 72, 72,
1181 72, 72, 13, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1182 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1184 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1185 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1189 static yyconst flex_int16_t yy_chk[2723] =
1191 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1192 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1193 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1194 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1195 3, 3, 4, 4, 4, 49, 5, 5, 49, 3,
1196 5, 15, 4, 6, 6, 15, 5, 6, 9, 9,
1197 9, 116, 33, 6, 7, 7, 7, 7, 9, 7,
1198 10, 10, 10, 44, 44, 7, 8, 8, 8, 8,
1199 10, 8, 21, 33, 116, 21, 21, 8, 11, 11,
1200 11, 11, 11, 11, 1348, 20, 29, 20, 20, 11,
1202 20, 29, 24, 21, 25, 20, 24, 28, 11, 12,
1203 12, 12, 12, 12, 12, 74, 22, 22, 74, 25,
1204 12, 69, 28, 66, 22, 69, 24, 26, 26, 12,
1205 19, 22, 19, 19, 23, 19, 26, 66, 27, 23,
1206 19, 19, 27, 23, 30, 27, 23, 31, 89, 23,
1207 32, 32, 27, 89, 34, 32, 31, 60, 60, 30,
1208 35, 77, 31, 34, 77, 35, 31, 78, 36, 34,
1209 75, 32, 34, 36, 75, 35, 38, 76, 35, 34,
1210 79, 37, 37, 36, 37, 78, 577, 36, 36, 88,
1211 38, 39, 39, 88, 79, 38, 39, 76, 55, 37,
1213 55, 55, 63, 55, 63, 63, 65, 63, 65, 65,
1214 82, 65, 68, 63, 68, 68, 85, 68, 80, 81,
1215 86, 84, 68, 71, 83, 71, 71, 87, 71, 83,
1216 80, 92, 82, 71, 71, 84, 85, 81, 86, 90,
1217 91, 98, 83, 91, 93, 87, 91, 95, 94, 93,
1218 92, 94, 96, 90, 98, 94, 96, 97, 99, 100,
1219 91, 95, 101, 102, 97, 99, 103, 102, 104, 93,
1220 105, 107, 100, 104, 106, 108, 110, 104, 109, 111,
1221 113, 110, 101, 114, 103, 115, 107, 106, 112, 112,
1222 105, 111, 117, 118, 108, 119, 109, 117, 113, 114,
1224 121, 121, 128, 128, 123, 118, 115, 123, 133, 112,
1225 129, 133, 125, 119, 125, 125, 130, 125, 130, 130,
1226 131, 130, 131, 131, 134, 131, 136, 135, 137, 134,
1227 138, 131, 135, 139, 140, 141, 137, 142, 145, 140,
1228 141, 136, 142, 144, 144, 138, 146, 147, 148, 151,
1229 149, 146, 148, 139, 143, 149, 154, 145, 143, 150,
1230 153, 154, 155, 143, 151, 152, 157, 156, 143, 161,
1231 147, 157, 127, 150, 143, 143, 159, 152, 153, 160,
1232 152, 159, 155, 156, 158, 158, 162, 159, 160, 163,
1233 161, 162, 164, 165, 163, 166, 168, 164, 165, 167,
1235 169, 170, 166, 171, 172, 167, 169, 173, 174, 175,
1236 176, 171, 177, 174, 178, 180, 168, 177, 179, 172,
1237 179, 181, 180, 170, 182, 184, 181, 173, 176, 176,
1238 184, 175, 183, 183, 178, 185, 186, 187, 186, 188,
1239 185, 190, 189, 182, 192, 193, 190, 191, 184, 187,
1240 189, 195, 191, 194, 195, 186, 196, 196, 188, 192,
1241 198, 194, 199, 193, 197, 197, 200, 201, 203, 200,
1242 202, 201, 204, 203, 205, 205, 198, 199, 206, 202,
1243 207, 208, 209, 206, 210, 207, 204, 212, 212, 211,
1244 213, 214, 215, 216, 217, 218, 216, 215, 219, 221,
1246 209, 208, 211, 214, 220, 210, 217, 219, 213, 223,
1247 223, 221, 218, 225, 226, 218, 222, 220, 222, 222,
1248 224, 229, 227, 224, 228, 228, 229, 230, 230, 226,
1249 225, 227, 231, 225, 232, 233, 234, 235, 236, 237,
1250 233, 236, 235, 238, 240, 241, 239, 231, 242, 240,
1251 241, 243, 244, 237, 232, 239, 234, 245, 246, 238,
1252 245, 249, 238, 248, 238, 250, 244, 252, 251, 242,
1253 249, 243, 246, 126, 253, 255, 245, 247, 248, 247,
1254 247, 258, 252, 254, 256, 257, 250, 251, 254, 247,
1255 259, 247, 247, 247, 253, 255, 247, 260, 262, 256,
1257 257, 258, 260, 263, 259, 261, 261, 264, 261, 266,
1258 265, 266, 267, 268, 269, 124, 267, 270, 262, 263,
1259 271, 273, 272, 264, 265, 273, 270, 272, 269, 271,
1260 275, 268, 274, 277, 276, 275, 278, 281, 277, 270,
1261 276, 274, 279, 279, 282, 280, 286, 283, 290, 278,
1262 280, 284, 284, 282, 293, 285, 287, 287, 281, 283,
1263 285, 289, 289, 291, 292, 295, 293, 286, 296, 290,
1264 297, 291, 298, 292, 299, 300, 301, 298, 302, 303,
1265 300, 304, 299, 303, 297, 295, 305, 306, 296, 307,
1266 310, 305, 309, 312, 301, 314, 304, 311, 313, 313,
1268 302, 316, 311, 306, 315, 315, 310, 311, 307, 308,
1269 308, 317, 309, 312, 318, 308, 316, 308, 319, 320,
1270 314, 321, 322, 317, 323, 308, 321, 324, 325, 318,
1271 328, 322, 325, 326, 327, 308, 329, 319, 326, 330,
1272 330, 320, 324, 323, 331, 332, 327, 333, 328, 329,
1273 334, 335, 342, 334, 336, 336, 331, 332, 337, 337,
1274 338, 348, 333, 122, 335, 338, 339, 339, 340, 340,
1275 341, 343, 345, 342, 344, 341, 343, 345, 344, 346,
1276 347, 348, 349, 346, 350, 347, 351, 349, 355, 350,
1277 352, 353, 353, 352, 354, 359, 367, 355, 352, 354,
1279 351, 356, 352, 357, 356, 358, 360, 357, 359, 361,
1280 358, 360, 362, 363, 367, 364, 368, 362, 364, 363,
1281 365, 361, 366, 365, 374, 370, 369, 366, 370, 357,
1282 368, 369, 371, 374, 372, 373, 379, 371, 372, 372,
1283 373, 375, 376, 377, 375, 377, 376, 376, 378, 380,
1284 378, 381, 382, 383, 379, 384, 385, 383, 386, 375,
1285 387, 388, 389, 394, 384, 120, 388, 380, 390, 390,
1286 381, 385, 382, 391, 392, 387, 386, 391, 393, 392,
1287 395, 389, 394, 396, 397, 398, 399, 401, 403, 397,
1288 396, 399, 398, 395, 393, 400, 402, 403, 404, 405,
1290 400, 408, 418, 402, 405, 401, 406, 407, 411, 406,
1291 413, 407, 404, 411, 409, 409, 412, 414, 415, 418,
1292 412, 421, 408, 409, 424, 414, 422, 423, 413, 424,
1293 421, 423, 422, 415, 425, 426, 425, 427, 425, 428,
1294 426, 425, 429, 430, 430, 429, 425, 431, 432, 432,
1295 433, 436, 425, 425, 431, 427, 434, 434, 435, 437,
1296 438, 435, 439, 439, 428, 433, 440, 441, 438, 442,
1297 444, 436, 443, 443, 442, 444, 445, 446, 437, 445,
1298 447, 440, 448, 446, 449, 441, 450, 451, 447, 453,
1299 448, 450, 452, 452, 451, 454, 455, 453, 457, 458,
1301 454, 457, 449, 459, 459, 460, 461, 463, 464, 461,
1302 465, 466, 467, 458, 468, 455, 470, 461, 469, 471,
1303 460, 474, 469, 468, 475, 473, 472, 474, 463, 464,
1304 465, 476, 467, 466, 470, 472, 477, 479, 471, 473,
1305 480, 477, 478, 481, 475, 476, 478, 482, 481, 483,
1306 483, 485, 480, 484, 485, 486, 479, 487, 484, 488,
1307 489, 490, 490, 492, 488, 491, 491, 493, 482, 494,
1308 487, 493, 495, 486, 499, 496, 500, 498, 492, 501,
1309 489, 498, 502, 509, 503, 505, 504, 508, 494, 496,
1310 505, 500, 504, 501, 67, 509, 495, 497, 503, 499,
1312 497, 508, 497, 502, 506, 506, 497, 513, 497, 507,
1313 506, 512, 506, 497, 507, 510, 510, 511, 514, 512,
1314 520, 513, 511, 515, 515, 516, 518, 521, 522, 516,
1315 506, 518, 519, 522, 523, 519, 524, 514, 526, 520,
1316 521, 525, 527, 523, 528, 529, 525, 531, 532, 533,
1317 529, 536, 534, 528, 533, 524, 527, 534, 526, 535,
1318 536, 537, 537, 532, 535, 531, 538, 542, 540, 543,
1319 542, 538, 540, 540, 541, 541, 544, 545, 541, 546,
1320 545, 547, 548, 549, 543, 550, 547, 548, 552, 549,
1321 553, 550, 551, 551, 555, 554, 544, 552, 554, 556,
1323 546, 557, 558, 61, 559, 560, 561, 568, 553, 559,
1324 560, 562, 555, 566, 562, 558, 563, 564, 556, 569,
1325 565, 557, 564, 570, 561, 565, 568, 563, 566, 567,
1326 567, 572, 571, 569, 573, 570, 571, 574, 575, 578,
1327 579, 580, 581, 573, 584, 582, 583, 581, 585, 572,
1328 582, 583, 586, 578, 587, 579, 574, 586, 584, 588,
1329 590, 580, 585, 575, 589, 589, 591, 592, 593, 587,
1330 595, 594, 592, 596, 588, 591, 594, 596, 590, 597,
1331 598, 599, 600, 601, 602, 603, 604, 593, 597, 595,
1332 606, 605, 604, 611, 600, 598, 599, 610, 607, 609,
1334 612, 611, 601, 603, 609, 602, 605, 607, 613, 615,
1335 606, 610, 614, 613, 616, 644, 614, 614, 644, 617,
1336 612, 623, 615, 616, 617, 618, 618, 619, 620, 621,
1337 621, 622, 619, 620, 624, 623, 622, 625, 626, 627,
1338 629, 628, 625, 626, 627, 628, 630, 632, 633, 629,
1339 634, 632, 624, 635, 629, 636, 629, 630, 629, 638,
1340 639, 637, 640, 633, 641, 641, 646, 635, 634, 637,
1341 642, 642, 645, 638, 636, 647, 647, 645, 639, 648,
1342 649, 649, 652, 650, 654, 646, 653, 640, 650, 651,
1343 651, 653, 654, 655, 656, 657, 658, 669, 655, 648,
1345 660, 657, 652, 658, 661, 660, 662, 664, 663, 661,
1346 665, 662, 656, 663, 666, 668, 664, 667, 667, 670,
1347 669, 671, 672, 675, 670, 666, 673, 674, 674, 665,
1348 676, 677, 680, 678, 681, 668, 680, 680, 685, 682,
1349 683, 671, 672, 675, 673, 683, 684, 686, 687, 677,
1350 688, 686, 691, 689, 693, 676, 678, 682, 685, 690,
1351 681, 693, 695, 692, 684, 694, 687, 689, 692, 688,
1352 694, 691, 696, 697, 690, 699, 698, 706, 700, 701,
1353 695, 696, 698, 700, 701, 702, 703, 703, 697, 705,
1354 702, 706, 707, 708, 705, 710, 699, 708, 708, 709,
1356 709, 711, 712, 713, 715, 714, 716, 717, 718, 713,
1357 714, 707, 720, 721, 710, 719, 722, 722, 724, 723,
1358 711, 712, 724, 715, 723, 716, 717, 718, 721, 719,
1359 725, 726, 727, 720, 728, 728, 729, 731, 730, 732,
1360 726, 729, 730, 725, 732, 735, 736, 736, 737, 745,
1361 735, 746, 727, 737, 739, 739, 748, 731, 741, 741,
1362 743, 744, 744, 743, 745, 747, 749, 749, 750, 752,
1363 747, 748, 751, 751, 753, 754, 746, 755, 756, 754,
1364 758, 759, 761, 756, 762, 753, 760, 760, 750, 763,
1365 764, 752, 764, 767, 765, 759, 755, 768, 758, 765,
1367 766, 769, 761, 771, 762, 766, 772, 769, 771, 763,
1368 776, 768, 773, 767, 774, 773, 775, 775, 777, 774,
1369 778, 779, 780, 784, 781, 783, 779, 785, 776, 781,
1370 783, 772, 782, 782, 786, 787, 788, 777, 789, 790,
1371 778, 784, 791, 792, 790, 780, 793, 785, 788, 787,
1372 794, 789, 795, 801, 786, 797, 801, 796, 802, 795,
1373 800, 800, 791, 792, 803, 794, 796, 793, 804, 796,
1374 805, 797, 806, 803, 802, 807, 808, 808, 809, 805,
1375 807, 806, 805, 810, 811, 812, 813, 804, 814, 815,
1376 815, 816, 817, 56, 820, 819, 810, 828, 809, 812,
1378 819, 824, 811, 821, 829, 828, 814, 816, 821, 822,
1379 817, 813, 820, 823, 824, 822, 825, 829, 823, 825,
1380 830, 831, 841, 832, 833, 825, 835, 836, 837, 838,
1381 839, 836, 840, 837, 838, 839, 842, 845, 830, 832,
1382 831, 840, 833, 843, 843, 841, 835, 844, 846, 845,
1383 847, 842, 848, 849, 853, 847, 850, 851, 851, 856,
1384 846, 844, 850, 853, 848, 852, 852, 854, 854, 855,
1385 857, 849, 858, 860, 855, 859, 859, 861, 861, 863,
1386 856, 862, 862, 864, 863, 866, 864, 867, 869, 857,
1387 866, 868, 858, 860, 870, 870, 868, 871, 871, 872,
1389 873, 874, 875, 876, 872, 867, 877, 878, 878, 879,
1390 880, 880, 873, 869, 873, 883, 881, 884, 885, 873,
1391 886, 874, 875, 876, 883, 885, 887, 877, 889, 886,
1392 888, 888, 884, 890, 892, 879, 881, 893, 894, 892,
1393 895, 897, 893, 896, 896, 899, 897, 895, 898, 890,
1394 901, 900, 887, 902, 889, 903, 905, 898, 894, 906,
1395 906, 903, 904, 907, 908, 899, 900, 905, 902, 901,
1396 909, 904, 905, 910, 910, 909, 911, 912, 908, 913,
1397 911, 911, 912, 914, 907, 915, 916, 917, 914, 918,
1398 916, 913, 922, 919, 920, 921, 928, 915, 919, 917,
1400 921, 928, 924, 933, 922, 924, 925, 925, 926, 926,
1401 930, 927, 929, 936, 918, 933, 920, 927, 929, 930,
1402 935, 935, 940, 940, 937, 938, 943, 945, 946, 946,
1403 944, 936, 935, 937, 938, 944, 947, 951, 947, 950,
1404 943, 948, 948, 953, 945, 957, 950, 952, 952, 954,
1405 955, 956, 958, 960, 961, 962, 961, 951, 960, 963,
1406 957, 954, 955, 956, 953, 964, 965, 965, 963, 966,
1407 967, 971, 958, 962, 968, 967, 968, 969, 970, 964,
1408 972, 973, 969, 970, 976, 974, 973, 977, 51, 971,
1409 974, 978, 978, 979, 981, 966, 981, 980, 982, 983,
1411 972, 977, 988, 976, 987, 979, 980, 982, 984, 980,
1412 985, 983, 989, 984, 991, 985, 994, 987, 993, 999,
1413 991, 995, 988, 997, 993, 996, 996, 1000, 989, 1002,
1414 995, 1000, 997, 998, 998, 1001, 1003, 1003, 999, 1004,
1415 1001, 994, 1002, 1007, 1008, 1008, 1010, 1004, 1009, 1009,
1416 1011, 1013, 1007, 1012, 1014, 1011, 1015, 1012, 1010, 1014,
1417 1016, 1018, 1019, 1020, 1021, 1022, 1013, 1024, 1024, 1025,
1418 1026, 1065, 1025, 1034, 1027, 1065, 1021, 1028, 1028, 1016,
1419 1031, 1019, 1015, 1026, 1020, 1018, 1022, 1027, 1029, 1029,
1420 1030, 1030, 1034, 1031, 1032, 1032, 1033, 1033, 1035, 1035,
1422 1036, 1036, 1037, 1039, 1040, 1040, 1041, 1044, 1039, 1042,
1423 1042, 1043, 1045, 1044, 1048, 1045, 1046, 1046, 1047, 1047,
1424 1052, 1037, 1049, 1049, 1055, 1041, 1051, 1051, 1054, 1043,
1425 1053, 1053, 1046, 1048, 1056, 1057, 1055, 1054, 1058, 1056,
1426 1059, 1061, 1060, 1062, 1063, 1064, 1052, 1060, 1067, 1069,
1427 1064, 1058, 1062, 1063, 1070, 1070, 1061, 1071, 1069, 1074,
1428 1057, 1059, 1071, 1072, 1072, 1075, 1077, 1080, 1067, 1077,
1429 1078, 1080, 1072, 1081, 1074, 1078, 1081, 1075, 1079, 1079,
1430 1082, 1082, 1083, 1084, 1085, 1086, 1087, 1083, 1085, 1088,
1431 1089, 1087, 1091, 1092, 1088, 1094, 1089, 1094, 1092, 1093,
1433 1097, 1097, 1111, 1084, 1110, 1086, 1103, 1093, 1091, 1100,
1434 1100, 1103, 1104, 1104, 1106, 1106, 1108, 1109, 1109, 1119,
1435 1110, 1108, 1112, 1117, 1111, 1114, 1114, 1112, 1117, 1118,
1436 1120, 1118, 1124, 1119, 1125, 1120, 1121, 1121, 1122, 1122,
1437 1123, 1123, 1126, 1127, 1124, 1128, 1129, 1130, 1130, 1131,
1438 1132, 1133, 1125, 1135, 1126, 1127, 1134, 1128, 1131, 1136,
1439 1137, 1142, 1138, 1139, 1140, 1140, 1129, 1138, 1139, 1134,
1440 1147, 1133, 1148, 1136, 1143, 1143, 1132, 1135, 1137, 1142,
1441 1145, 1145, 1146, 1149, 1150, 1147, 1151, 1152, 1152, 1153,
1442 1148, 1146, 1154, 1155, 1153, 1156, 1162, 1158, 1161, 1162,
1444 1150, 1149, 1163, 1163, 1164, 1151, 1165, 1154, 1167, 1167,
1445 1168, 1175, 1155, 1169, 1169, 1156, 1158, 1176, 1161, 1164,
1446 1170, 1170, 1174, 1174, 1165, 1177, 1176, 1178, 1179, 1168,
1447 1177, 1181, 1178, 1175, 1182, 1183, 1179, 1184, 50, 1182,
1448 1183, 1185, 1185, 1186, 1186, 1187, 1181, 1188, 1188, 1192,
1449 1187, 1191, 1184, 1189, 1189, 1194, 1191, 1195, 1194, 1196,
1450 1197, 1192, 1198, 1198, 1199, 1201, 1202, 1204, 1196, 1197,
1451 1195, 1203, 1203, 1199, 1205, 1205, 1204, 1207, 1206, 1209,
1452 1210, 1215, 1207, 45, 1201, 1202, 1206, 1220, 1209, 1212,
1453 1212, 1216, 1216, 1210, 1217, 1218, 1218, 1217, 1219, 1219,
1455 1221, 1215, 1222, 1223, 1223, 1220, 1224, 1222, 1230, 1227,
1456 1224, 1231, 1232, 1234, 1221, 1227, 1233, 1233, 1235, 1231,
1457 1236, 1237, 1239, 1235, 1238, 1241, 1243, 1230, 1241, 1234,
1458 1246, 1232, 1245, 1238, 1244, 1244, 1245, 1248, 1249, 1246,
1459 1236, 1250, 1239, 1253, 1243, 1255, 1248, 1237, 1253, 1259,
1460 1249, 1254, 1254, 1257, 1255, 1258, 1260, 1263, 1257, 1261,
1461 1261, 1262, 1264, 1267, 1258, 1268, 1250, 1265, 1259, 1266,
1462 1262, 1260, 1273, 1263, 1266, 1265, 1269, 1269, 1270, 1272,
1463 1272, 1264, 1274, 1270, 1268, 1275, 1275, 1276, 1276, 1267,
1464 1277, 1278, 1273, 1279, 1280, 1280, 1281, 1282, 1282, 1283,
1466 1285, 1286, 1290, 1278, 1274, 40, 1286, 1290, 1281, 1277,
1467 1287, 1287, 1296, 1279, 1285, 1288, 1288, 1296, 1283, 1289,
1468 1289, 1291, 1291, 1293, 1293, 1295, 1295, 1299, 1300, 1300,
1469 1305, 1301, 1303, 1306, 1306, 1299, 1301, 1303, 1307, 1311,
1470 1311, 1313, 1307, 1315, 1315, 1313, 1316, 1318, 1319, 1319,
1471 1305, 1320, 1320, 1322, 1322, 1324, 1324, 1326, 1327, 1327,
1472 1332, 1316, 1333, 1335, 1332, 1318, 1334, 1334, 1337, 1326,
1473 1338, 1339, 1335, 1340, 1340, 14, 13, 0, 0, 0,
1474 0, 0, 1333, 1337, 1338, 0, 0, 0, 0, 0,
1475 1339, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1344, 1344,
1477 1344, 1344, 1344, 1344, 1344, 1345, 1345, 1345, 1345, 1345,
1478 1345, 1345, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1347,
1479 1347, 1347, 1347, 1347, 1347, 1347, 1349, 1349, 0, 1349,
1480 1349, 1349, 1349, 1350, 1350, 0, 0, 0, 1350, 1350,
1481 1351, 1351, 0, 0, 1351, 0, 1351, 1352, 0, 0,
1482 0, 0, 0, 1352, 1353, 1353, 0, 0, 0, 1353,
1483 1353, 1354, 0, 0, 0, 0, 0, 1354, 1355, 1355,
1484 0, 1355, 1355, 1355, 1355, 1356, 1356, 0, 1356, 1356,
1485 1356, 1356, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1486 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1488 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1489 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1493 static yy_state_type yy_last_accepting_state;
1494 static char *yy_last_accepting_cpos;
1496 extern int yy_flex_debug;
1497 int yy_flex_debug = 0;
1499 /* The intent behind this definition is that it'll catch
1500 * any uses of REJECT which flex missed.
1502 #define REJECT reject_used_but_not_detected
1503 static int yy_more_flag = 0;
1504 static int yy_more_len = 0;
1505 #define yymore() ((yy_more_flag) = 1)
1506 #define YY_MORE_ADJ (yy_more_len)
1507 #define YY_RESTORE_YY_MORE_OFFSET
1510 * configlexer.lex - lexical analyzer for unbound config file
1512 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
1514 * See LICENSE for the license.
1520 #include <strings.h>
1525 #include "util/config_file.h"
1526 #include "util/configparser.h"
1527 void ub_c_error(const char *message);
1530 #define LEXOUT(s) printf s /* used ONLY when debugging */
1535 /** avoid warning in about fwrite return value */
1536 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext)
1538 /** A parser variable, this is a statement in the config file which is
1539 * of the form variable: value1 value2 ... nargs is the number of values. */
1540 #define YDVAR(nargs, var) \
1542 LEXOUT(("v(%s%d) ", yytext, num_args)); \
1543 if(num_args > 0) { BEGIN(val); } \
1550 static struct inc_state parse_stack[MAXINCLUDES];
1551 static YY_BUFFER_STATE include_stack[MAXINCLUDES];
1552 static int config_include_stack_ptr = 0;
1553 static int inc_prev = 0;
1554 static int num_args = 0;
1556 static void config_start_include(const char* filename)
1559 if(strlen(filename) == 0) {
1560 ub_c_error_msg("empty include file name");
1563 if(config_include_stack_ptr >= MAXINCLUDES) {
1564 ub_c_error_msg("includes nested too deeply, skipped (>%d)", MAXINCLUDES);
1567 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
1568 strlen(cfg_parser->chroot)) == 0) {
1569 filename += strlen(cfg_parser->chroot);
1571 input = fopen(filename, "r");
1573 ub_c_error_msg("cannot open include file '%s': %s",
1574 filename, strerror(errno));
1577 LEXOUT(("switch_to_include_file(%s) ", filename));
1578 parse_stack[config_include_stack_ptr].filename = cfg_parser->filename;
1579 parse_stack[config_include_stack_ptr].line = cfg_parser->line;
1580 include_stack[config_include_stack_ptr] = YY_CURRENT_BUFFER;
1581 cfg_parser->filename = strdup(filename);
1582 cfg_parser->line = 1;
1583 yy_switch_to_buffer(yy_create_buffer(input,YY_BUF_SIZE));
1584 ++config_include_stack_ptr;
1587 static void config_start_include_glob(const char* filename)
1590 /* check for wildcards */
1595 if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') &&
1596 !strchr(filename, '{') && !strchr(filename, '~'))) {
1611 memset(&g, 0, sizeof(g));
1612 r = glob(filename, flags, NULL, &g);
1616 config_start_include(filename); /* let original deal with it */
1619 /* process files found, if any */
1620 for(i=0; i<(size_t)g.gl_pathc; i++) {
1621 config_start_include(g.gl_pathv[i]);
1626 #endif /* HAVE_GLOB */
1628 config_start_include(filename);
1631 static void config_end_include(void)
1633 --config_include_stack_ptr;
1634 free(cfg_parser->filename);
1635 cfg_parser->filename = parse_stack[config_include_stack_ptr].filename;
1636 cfg_parser->line = parse_stack[config_include_stack_ptr].line;
1637 yy_delete_buffer(YY_CURRENT_BUFFER);
1638 yy_switch_to_buffer(include_stack[config_include_stack_ptr]);
1641 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
1642 #define yy_set_bol(at_bol) \
1644 if ( ! yy_current_buffer ) \
1645 yy_current_buffer = yy_create_buffer(yyin,YY_BUF_SIZE ); \
1646 yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
1650 #define YY_NO_INPUT 1
1652 #define YY_NO_UNPUT 1
1655 #define YY_NO_INPUT 1
1659 #define quotedstring 1
1660 #define singlequotedstr 2
1662 #define include_quoted 4
1665 #ifndef YY_NO_UNISTD_H
1666 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1667 * down here because we want the user's section 1 to have been scanned first.
1668 * The user has a chance to override it with an option.
1673 #ifndef YY_EXTRA_TYPE
1674 #define YY_EXTRA_TYPE void *
1677 static int yy_init_globals (void );
1679 /* Accessor methods to globals.
1680 These are made visible to non-reentrant scanners for convenience. */
1682 int yylex_destroy (void );
1684 int yyget_debug (void );
1686 void yyset_debug (int debug_flag );
1688 YY_EXTRA_TYPE yyget_extra (void );
1690 void yyset_extra (YY_EXTRA_TYPE user_defined );
1692 FILE *yyget_in (void );
1694 void yyset_in (FILE * in_str );
1696 FILE *yyget_out (void );
1698 void yyset_out (FILE * out_str );
1700 yy_size_t yyget_leng (void );
1702 char *yyget_text (void );
1704 int yyget_lineno (void );
1706 void yyset_lineno (int line_number );
1708 /* Macros after this point can all be overridden by user definitions in
1712 #ifndef YY_SKIP_YYWRAP
1714 extern "C" int yywrap (void );
1716 extern int yywrap (void );
1721 static void yy_flex_strncpy (char *,yyconst char *,int );
1724 #ifdef YY_NEED_STRLEN
1725 static int yy_flex_strlen (yyconst char * );
1731 static int yyinput (void );
1733 static int input (void );
1738 /* Amount of stuff to slurp up with each read. */
1739 #ifndef YY_READ_BUF_SIZE
1740 #define YY_READ_BUF_SIZE 8192
1743 /* Copy whatever the last rule matched to the standard output. */
1745 /* This used to be an fputs(), but since the string might contain NUL's,
1746 * we now use fwrite().
1748 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1751 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1752 * is returned in "result".
1755 #define YY_INPUT(buf,result,max_size) \
1756 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1760 for ( n = 0; n < max_size && \
1761 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1762 buf[n] = (char) c; \
1764 buf[n++] = (char) c; \
1765 if ( c == EOF && ferror( yyin ) ) \
1766 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1772 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1774 if( errno != EINTR) \
1776 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1787 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1788 * we don't want an extra ';' after the "return" because that will cause
1789 * some compilers to complain about unreachable statements.
1792 #define yyterminate() return YY_NULL
1795 /* Number of entries by which start-condition stack grows. */
1796 #ifndef YY_START_STACK_INCR
1797 #define YY_START_STACK_INCR 25
1800 /* Report a fatal error. */
1801 #ifndef YY_FATAL_ERROR
1802 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1805 /* end tables serialization structures and prototypes */
1807 /* Default declaration of generated scanner - a define so the user can
1808 * easily add parameters.
1811 #define YY_DECL_IS_OURS 1
1813 extern int yylex (void);
1815 #define YY_DECL int yylex (void)
1816 #endif /* !YY_DECL */
1818 /* Code executed at the beginning of each rule, after yytext and yyleng
1821 #ifndef YY_USER_ACTION
1822 #define YY_USER_ACTION
1825 /* Code executed at the end of each rule. */
1827 #define YY_BREAK break;
1830 #define YY_RULE_SETUP \
1833 /** The main scanner function which does all the work.
1837 yy_state_type yy_current_state;
1838 char *yy_cp, *yy_bp;
1850 (yy_start) = 1; /* first start state */
1858 if ( ! YY_CURRENT_BUFFER ) {
1859 yyensure_buffer_stack ();
1860 YY_CURRENT_BUFFER_LVALUE =
1861 yy_create_buffer(yyin,YY_BUF_SIZE );
1864 yy_load_buffer_state( );
1867 while ( 1 ) /* loops until end-of-file is reached */
1870 if ( (yy_more_flag) )
1872 (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
1875 yy_cp = (yy_c_buf_p);
1877 /* Support of yytext. */
1878 *yy_cp = (yy_hold_char);
1880 /* yy_bp points to the position in yy_ch_buf of the start of
1885 yy_current_state = (yy_start);
1889 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1890 if ( yy_accept[yy_current_state] )
1892 (yy_last_accepting_state) = yy_current_state;
1893 (yy_last_accepting_cpos) = yy_cp;
1895 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1897 yy_current_state = (int) yy_def[yy_current_state];
1898 if ( yy_current_state >= 1343 )
1899 yy_c = yy_meta[(unsigned int) yy_c];
1901 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1904 while ( yy_base[yy_current_state] != 2683 );
1907 yy_act = yy_accept[yy_current_state];
1909 { /* have to back up */
1910 yy_cp = (yy_last_accepting_cpos);
1911 yy_current_state = (yy_last_accepting_state);
1912 yy_act = yy_accept[yy_current_state];
1915 YY_DO_BEFORE_ACTION;
1917 do_action: /* This label is used only to access EOF actions. */
1920 { /* beginning of action switch */
1921 case 0: /* must back up */
1922 /* undo the effects of YY_DO_BEFORE_ACTION */
1923 *yy_cp = (yy_hold_char);
1924 yy_cp = (yy_last_accepting_cpos);
1925 yy_current_state = (yy_last_accepting_state);
1926 goto yy_find_action;
1931 LEXOUT(("SP ")); /* ignore */ }
1936 /* note that flex makes the longest match and '.' is any but not nl */
1937 LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
1941 { YDVAR(0, VAR_SERVER) }
1945 { YDVAR(1, VAR_NUM_THREADS) }
1949 { YDVAR(1, VAR_VERBOSITY) }
1953 { YDVAR(1, VAR_PORT) }
1957 { YDVAR(1, VAR_OUTGOING_RANGE) }
1961 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
1965 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
1969 { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
1973 { YDVAR(1, VAR_INCOMING_NUM_TCP) }
1977 { YDVAR(1, VAR_DO_IP4) }
1981 { YDVAR(1, VAR_DO_IP6) }
1985 { YDVAR(1, VAR_DO_UDP) }
1989 { YDVAR(1, VAR_DO_TCP) }
1993 { YDVAR(1, VAR_TCP_UPSTREAM) }
1997 { YDVAR(1, VAR_SSL_UPSTREAM) }
2001 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
2005 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
2009 { YDVAR(1, VAR_SSL_PORT) }
2013 { YDVAR(1, VAR_DO_DAEMONIZE) }
2017 { YDVAR(1, VAR_INTERFACE) }
2021 { YDVAR(1, VAR_OUTGOING_INTERFACE) }
2025 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
2029 { YDVAR(1, VAR_SO_RCVBUF) }
2033 { YDVAR(1, VAR_SO_SNDBUF) }
2037 { YDVAR(1, VAR_CHROOT) }
2041 { YDVAR(1, VAR_USERNAME) }
2045 { YDVAR(1, VAR_DIRECTORY) }
2049 { YDVAR(1, VAR_LOGFILE) }
2053 { YDVAR(1, VAR_PIDFILE) }
2057 { YDVAR(1, VAR_ROOT_HINTS) }
2061 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
2065 { YDVAR(1, VAR_MSG_BUFFER_SIZE) }
2069 { YDVAR(1, VAR_MSG_CACHE_SIZE) }
2073 { YDVAR(1, VAR_MSG_CACHE_SLABS) }
2077 { YDVAR(1, VAR_RRSET_CACHE_SIZE) }
2081 { YDVAR(1, VAR_RRSET_CACHE_SLABS) }
2085 { YDVAR(1, VAR_CACHE_MAX_TTL) }
2089 { YDVAR(1, VAR_CACHE_MIN_TTL) }
2093 { YDVAR(1, VAR_INFRA_HOST_TTL) }
2097 { YDVAR(1, VAR_INFRA_LAME_TTL) }
2101 { YDVAR(1, VAR_INFRA_CACHE_SLABS) }
2105 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
2109 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
2113 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
2117 { YDVAR(1, VAR_JOSTLE_TIMEOUT) }
2121 { YDVAR(1, VAR_TARGET_FETCH_POLICY) }
2125 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
2129 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
2133 { YDVAR(1, VAR_HARDEN_GLUE) }
2137 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
2141 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
2145 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
2149 { YDVAR(1, VAR_USE_CAPS_FOR_ID) }
2153 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
2157 { YDVAR(1, VAR_PRIVATE_ADDRESS) }
2161 { YDVAR(1, VAR_PRIVATE_DOMAIN) }
2165 { YDVAR(1, VAR_PREFETCH_KEY) }
2169 { YDVAR(1, VAR_PREFETCH) }
2173 { YDVAR(0, VAR_STUB_ZONE) }
2177 { YDVAR(1, VAR_NAME) }
2181 { YDVAR(1, VAR_STUB_ADDR) }
2185 { YDVAR(1, VAR_STUB_HOST) }
2189 { YDVAR(1, VAR_STUB_PRIME) }
2193 { YDVAR(1, VAR_STUB_FIRST) }
2197 { YDVAR(0, VAR_FORWARD_ZONE) }
2201 { YDVAR(1, VAR_FORWARD_ADDR) }
2205 { YDVAR(1, VAR_FORWARD_HOST) }
2209 { YDVAR(1, VAR_FORWARD_FIRST) }
2213 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
2217 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
2221 { YDVAR(2, VAR_ACCESS_CONTROL) }
2225 { YDVAR(1, VAR_HIDE_IDENTITY) }
2229 { YDVAR(1, VAR_HIDE_VERSION) }
2233 { YDVAR(1, VAR_IDENTITY) }
2237 { YDVAR(1, VAR_VERSION) }
2241 { YDVAR(1, VAR_MODULE_CONF) }
2245 { YDVAR(1, VAR_DLV_ANCHOR) }
2249 { YDVAR(1, VAR_DLV_ANCHOR_FILE) }
2253 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
2257 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
2261 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
2265 { YDVAR(1, VAR_TRUST_ANCHOR) }
2269 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
2273 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
2277 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
2281 { YDVAR(1, VAR_BOGUS_TTL) }
2285 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
2289 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
2293 { YDVAR(1, VAR_IGNORE_CD_FLAG) }
2297 { YDVAR(1, VAR_VAL_LOG_LEVEL) }
2301 { YDVAR(1, VAR_KEY_CACHE_SIZE) }
2305 { YDVAR(1, VAR_KEY_CACHE_SLABS) }
2309 { YDVAR(1, VAR_NEG_CACHE_SIZE) }
2314 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
2318 { YDVAR(1, VAR_ADD_HOLDDOWN) }
2322 { YDVAR(1, VAR_DEL_HOLDDOWN) }
2326 { YDVAR(1, VAR_KEEP_MISSING) }
2330 { YDVAR(1, VAR_USE_SYSLOG) }
2334 { YDVAR(1, VAR_LOG_TIME_ASCII) }
2338 { YDVAR(1, VAR_LOG_QUERIES) }
2342 { YDVAR(2, VAR_LOCAL_ZONE) }
2346 { YDVAR(1, VAR_LOCAL_DATA) }
2350 { YDVAR(1, VAR_LOCAL_DATA_PTR) }
2354 { YDVAR(1, VAR_STATISTICS_INTERVAL) }
2358 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
2362 { YDVAR(1, VAR_EXTENDED_STATISTICS) }
2366 { YDVAR(0, VAR_REMOTE_CONTROL) }
2370 { YDVAR(1, VAR_CONTROL_ENABLE) }
2374 { YDVAR(1, VAR_CONTROL_INTERFACE) }
2378 { YDVAR(1, VAR_CONTROL_PORT) }
2382 { YDVAR(1, VAR_SERVER_KEY_FILE) }
2386 { YDVAR(1, VAR_SERVER_CERT_FILE) }
2390 { YDVAR(1, VAR_CONTROL_KEY_FILE) }
2394 { YDVAR(1, VAR_CONTROL_CERT_FILE) }
2398 { YDVAR(1, VAR_PYTHON_SCRIPT) }
2402 { YDVAR(0, VAR_PYTHON) }
2406 { YDVAR(1, VAR_DOMAIN_INSECURE) }
2410 { YDVAR(1, VAR_MINIMAL_RESPONSES) }
2414 { YDVAR(1, VAR_RRSET_ROUNDROBIN) }
2417 /* rule 122 can match eol */
2419 { LEXOUT(("NL\n")); cfg_parser->line++; }
2421 /* Quoted strings. Strip leading and ending quotes */
2424 { BEGIN(quotedstring); LEXOUT(("QS ")); }
2426 case YY_STATE_EOF(quotedstring):
2428 yyerror("EOF inside quoted string");
2429 if(--num_args == 0) { BEGIN(INITIAL); }
2430 else { BEGIN(val); }
2435 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
2438 /* rule 125 can match eol */
2440 { yyerror("newline inside quoted string, no end \"");
2441 cfg_parser->line++; BEGIN(INITIAL); }
2447 if(--num_args == 0) { BEGIN(INITIAL); }
2448 else { BEGIN(val); }
2449 yytext[yyleng - 1] = '\0';
2450 yylval.str = strdup(yytext);
2452 yyerror("out of memory");
2456 /* Single Quoted strings. Strip leading and ending quotes */
2459 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
2461 case YY_STATE_EOF(singlequotedstr):
2463 yyerror("EOF inside quoted string");
2464 if(--num_args == 0) { BEGIN(INITIAL); }
2465 else { BEGIN(val); }
2470 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
2473 /* rule 129 can match eol */
2475 { yyerror("newline inside quoted string, no end '");
2476 cfg_parser->line++; BEGIN(INITIAL); }
2482 if(--num_args == 0) { BEGIN(INITIAL); }
2483 else { BEGIN(val); }
2484 yytext[yyleng - 1] = '\0';
2485 yylval.str = strdup(yytext);
2487 yyerror("out of memory");
2491 /* include: directive */
2495 LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
2497 case YY_STATE_EOF(include):
2499 yyerror("EOF inside include directive");
2505 { LEXOUT(("ISP ")); /* ignore */ }
2508 /* rule 133 can match eol */
2510 { LEXOUT(("NL\n")); cfg_parser->line++;}
2514 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
2519 LEXOUT(("Iunquotedstr(%s) ", yytext));
2520 config_start_include_glob(yytext);
2524 case YY_STATE_EOF(include_quoted):
2526 yyerror("EOF inside quoted string");
2532 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
2535 /* rule 137 can match eol */
2537 { yyerror("newline before \" in include name");
2538 cfg_parser->line++; BEGIN(inc_prev); }
2544 yytext[yyleng - 1] = '\0';
2545 config_start_include_glob(yytext);
2549 case YY_STATE_EOF(INITIAL):
2550 case YY_STATE_EOF(val):
2552 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
2553 if (config_include_stack_ptr == 0) {
2557 config_end_include();
2563 { LEXOUT(("unquotedstr(%s) ", yytext));
2564 if(--num_args == 0) { BEGIN(INITIAL); }
2565 yylval.str = strdup(yytext); return STRING_ARG; }
2570 ub_c_error_msg("unknown keyword '%s'", yytext);
2576 ub_c_error_msg("stray '%s'", yytext);
2584 case YY_END_OF_BUFFER:
2586 /* Amount of text matched not including the EOB char. */
2587 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2589 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2590 *yy_cp = (yy_hold_char);
2591 YY_RESTORE_YY_MORE_OFFSET
2593 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2595 /* We're scanning a new file or input source. It's
2596 * possible that this happened because the user
2597 * just pointed yyin at a new source and called
2598 * yylex(). If so, then we have to assure
2599 * consistency between YY_CURRENT_BUFFER and our
2600 * globals. Here is the right place to do so, because
2601 * this is the first action (other than possibly a
2602 * back-up) that will match for the new input source.
2604 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2605 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2606 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2609 /* Note that here we test for yy_c_buf_p "<=" to the position
2610 * of the first EOB in the buffer, since yy_c_buf_p will
2611 * already have been incremented past the NUL character
2612 * (since all states make transitions on EOB to the
2613 * end-of-buffer state). Contrast this with the test
2616 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2617 { /* This was really a NUL. */
2618 yy_state_type yy_next_state;
2620 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2622 yy_current_state = yy_get_previous_state( );
2624 /* Okay, we're now positioned to make the NUL
2625 * transition. We couldn't have
2626 * yy_get_previous_state() go ahead and do it
2627 * for us because it doesn't know how to deal
2628 * with the possibility of jamming (and we don't
2629 * want to build jamming into it because then it
2630 * will run more slowly).
2633 yy_next_state = yy_try_NUL_trans( yy_current_state );
2635 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2637 if ( yy_next_state )
2639 /* Consume the NUL. */
2640 yy_cp = ++(yy_c_buf_p);
2641 yy_current_state = yy_next_state;
2647 yy_cp = (yy_c_buf_p);
2648 goto yy_find_action;
2652 else switch ( yy_get_next_buffer( ) )
2654 case EOB_ACT_END_OF_FILE:
2656 (yy_did_buffer_switch_on_eof) = 0;
2660 /* Note: because we've taken care in
2661 * yy_get_next_buffer() to have set up
2662 * yytext, we can now set up
2663 * yy_c_buf_p so that if some total
2664 * hoser (like flex itself) wants to
2665 * call the scanner after we return the
2666 * YY_NULL, it'll still work - another
2667 * YY_NULL will get returned.
2669 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2671 yy_act = YY_STATE_EOF(YY_START);
2677 if ( ! (yy_did_buffer_switch_on_eof) )
2683 case EOB_ACT_CONTINUE_SCAN:
2685 (yytext_ptr) + yy_amount_of_matched_text;
2687 yy_current_state = yy_get_previous_state( );
2689 yy_cp = (yy_c_buf_p);
2690 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2693 case EOB_ACT_LAST_MATCH:
2695 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2697 yy_current_state = yy_get_previous_state( );
2699 yy_cp = (yy_c_buf_p);
2700 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2701 goto yy_find_action;
2708 "fatal flex scanner internal error--no action found" );
2709 } /* end of action switch */
2710 } /* end of scanning one token */
2711 } /* end of yylex */
2713 /* yy_get_next_buffer - try to read in a new buffer
2715 * Returns a code representing an action:
2716 * EOB_ACT_LAST_MATCH -
2717 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2718 * EOB_ACT_END_OF_FILE - end of file
2720 static int yy_get_next_buffer (void)
2722 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2723 char *source = (yytext_ptr);
2724 int number_to_move, i;
2727 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2729 "fatal flex scanner internal error--end of buffer missed" );
2731 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2732 { /* Don't try to fill the buffer, so this is an EOF. */
2733 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2735 /* We matched a single character, the EOB, so
2736 * treat this as a final EOF.
2738 return EOB_ACT_END_OF_FILE;
2743 /* We matched some text prior to the EOB, first
2746 return EOB_ACT_LAST_MATCH;
2750 /* Try to read more data. */
2752 /* First move last chars to start of buffer. */
2753 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2755 for ( i = 0; i < number_to_move; ++i )
2756 *(dest++) = *(source++);
2758 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2759 /* don't do the read, it's not guaranteed to return an EOF,
2762 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2766 yy_size_t num_to_read =
2767 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2769 while ( num_to_read <= 0 )
2770 { /* Not enough room in the buffer - grow it. */
2772 /* just a shorter name for the current buffer */
2773 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2775 int yy_c_buf_p_offset =
2776 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2778 if ( b->yy_is_our_buffer )
2780 yy_size_t new_size = b->yy_buf_size * 2;
2782 if ( new_size <= 0 )
2783 b->yy_buf_size += b->yy_buf_size / 8;
2785 b->yy_buf_size *= 2;
2787 b->yy_ch_buf = (char *)
2788 /* Include room in for 2 EOB chars. */
2789 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2792 /* Can't grow it, we don't own it. */
2795 if ( ! b->yy_ch_buf )
2797 "fatal error - scanner input buffer overflow" );
2799 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2801 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2806 if ( num_to_read > YY_READ_BUF_SIZE )
2807 num_to_read = YY_READ_BUF_SIZE;
2809 /* Read in more data. */
2810 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2811 (yy_n_chars), num_to_read );
2813 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2816 if ( (yy_n_chars) == 0 )
2818 if ( number_to_move == YY_MORE_ADJ )
2820 ret_val = EOB_ACT_END_OF_FILE;
2826 ret_val = EOB_ACT_LAST_MATCH;
2827 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2828 YY_BUFFER_EOF_PENDING;
2833 ret_val = EOB_ACT_CONTINUE_SCAN;
2835 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2836 /* Extend the array by 50%, plus the number we really need. */
2837 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2838 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
2839 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2840 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2843 (yy_n_chars) += number_to_move;
2844 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2845 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2847 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2852 /* yy_get_previous_state - get the state just before the EOB char was reached */
2854 static yy_state_type yy_get_previous_state (void)
2856 yy_state_type yy_current_state;
2859 yy_current_state = (yy_start);
2861 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2863 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2864 if ( yy_accept[yy_current_state] )
2866 (yy_last_accepting_state) = yy_current_state;
2867 (yy_last_accepting_cpos) = yy_cp;
2869 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2871 yy_current_state = (int) yy_def[yy_current_state];
2872 if ( yy_current_state >= 1343 )
2873 yy_c = yy_meta[(unsigned int) yy_c];
2875 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2878 return yy_current_state;
2881 /* yy_try_NUL_trans - try to make a transition on the NUL character
2884 * next_state = yy_try_NUL_trans( current_state );
2886 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2889 char *yy_cp = (yy_c_buf_p);
2892 if ( yy_accept[yy_current_state] )
2894 (yy_last_accepting_state) = yy_current_state;
2895 (yy_last_accepting_cpos) = yy_cp;
2897 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2899 yy_current_state = (int) yy_def[yy_current_state];
2900 if ( yy_current_state >= 1343 )
2901 yy_c = yy_meta[(unsigned int) yy_c];
2903 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2904 yy_is_jam = (yy_current_state == 1342);
2906 return yy_is_jam ? 0 : yy_current_state;
2911 static int yyinput (void)
2913 static int input (void)
2919 *(yy_c_buf_p) = (yy_hold_char);
2921 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2923 /* yy_c_buf_p now points to the character we want to return.
2924 * If this occurs *before* the EOB characters, then it's a
2925 * valid NUL; if not, then we've hit the end of the buffer.
2927 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2928 /* This was really a NUL. */
2929 *(yy_c_buf_p) = '\0';
2932 { /* need more input */
2933 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
2936 switch ( yy_get_next_buffer( ) )
2938 case EOB_ACT_LAST_MATCH:
2939 /* This happens because yy_g_n_b()
2940 * sees that we've accumulated a
2941 * token and flags that we need to
2942 * try matching the token before
2943 * proceeding. But for input(),
2944 * there's no matching to consider.
2945 * So convert the EOB_ACT_LAST_MATCH
2946 * to EOB_ACT_END_OF_FILE.
2949 /* Reset buffer status. */
2954 case EOB_ACT_END_OF_FILE:
2959 if ( ! (yy_did_buffer_switch_on_eof) )
2968 case EOB_ACT_CONTINUE_SCAN:
2969 (yy_c_buf_p) = (yytext_ptr) + offset;
2975 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2976 *(yy_c_buf_p) = '\0'; /* preserve yytext */
2977 (yy_hold_char) = *++(yy_c_buf_p);
2981 #endif /* ifndef YY_NO_INPUT */
2983 /** Immediately switch to a different input stream.
2984 * @param input_file A readable stream.
2986 * @note This function does not reset the start condition to @c INITIAL .
2988 void yyrestart (FILE * input_file )
2991 if ( ! YY_CURRENT_BUFFER ){
2992 yyensure_buffer_stack ();
2993 YY_CURRENT_BUFFER_LVALUE =
2994 yy_create_buffer(yyin,YY_BUF_SIZE );
2997 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
2998 yy_load_buffer_state( );
3001 /** Switch to a different input buffer.
3002 * @param new_buffer The new input buffer.
3005 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3008 /* TODO. We should be able to replace this entire function body
3010 * yypop_buffer_state();
3011 * yypush_buffer_state(new_buffer);
3013 yyensure_buffer_stack ();
3014 if ( YY_CURRENT_BUFFER == new_buffer )
3017 if ( YY_CURRENT_BUFFER )
3019 /* Flush out information for old buffer. */
3020 *(yy_c_buf_p) = (yy_hold_char);
3021 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3022 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3025 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3026 yy_load_buffer_state( );
3028 /* We don't actually know whether we did this switch during
3029 * EOF (yywrap()) processing, but the only time this flag
3030 * is looked at is after yywrap() is called, so it's safe
3031 * to go ahead and always set it.
3033 (yy_did_buffer_switch_on_eof) = 1;
3036 static void yy_load_buffer_state (void)
3038 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3039 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3040 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3041 (yy_hold_char) = *(yy_c_buf_p);
3044 /** Allocate and initialize an input buffer state.
3045 * @param file A readable stream.
3046 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3048 * @return the allocated buffer state.
3050 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3054 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3056 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3058 b->yy_buf_size = size;
3060 /* yy_ch_buf has to be 2 characters longer than the size given because
3061 * we need to put in 2 end-of-buffer characters.
3063 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3064 if ( ! b->yy_ch_buf )
3065 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3067 b->yy_is_our_buffer = 1;
3069 yy_init_buffer(b,file );
3074 /** Destroy the buffer.
3075 * @param b a buffer created with yy_create_buffer()
3078 void yy_delete_buffer (YY_BUFFER_STATE b )
3084 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3085 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3087 if ( b->yy_is_our_buffer )
3088 yyfree((void *) b->yy_ch_buf );
3090 yyfree((void *) b );
3093 /* Initializes or reinitializes a buffer.
3094 * This function is sometimes called more than once on the same buffer,
3095 * such as during a yyrestart() or at EOF.
3097 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3102 yy_flush_buffer(b );
3104 b->yy_input_file = file;
3105 b->yy_fill_buffer = 1;
3107 /* If b is the current buffer, then yy_init_buffer was _probably_
3108 * called from yyrestart() or through yy_get_next_buffer.
3109 * In that case, we don't want to reset the lineno or column.
3111 if (b != YY_CURRENT_BUFFER){
3112 b->yy_bs_lineno = 1;
3113 b->yy_bs_column = 0;
3116 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3121 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3122 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3125 void yy_flush_buffer (YY_BUFFER_STATE b )
3132 /* We always need two end-of-buffer characters. The first causes
3133 * a transition to the end-of-buffer state. The second causes
3134 * a jam in that state.
3136 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3137 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3139 b->yy_buf_pos = &b->yy_ch_buf[0];
3142 b->yy_buffer_status = YY_BUFFER_NEW;
3144 if ( b == YY_CURRENT_BUFFER )
3145 yy_load_buffer_state( );
3148 /** Pushes the new state onto the stack. The new state becomes
3149 * the current state. This function will allocate the stack
3151 * @param new_buffer The new state.
3154 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3156 if (new_buffer == NULL)
3159 yyensure_buffer_stack();
3161 /* This block is copied from yy_switch_to_buffer. */
3162 if ( YY_CURRENT_BUFFER )
3164 /* Flush out information for old buffer. */
3165 *(yy_c_buf_p) = (yy_hold_char);
3166 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3167 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3170 /* Only push if top exists. Otherwise, replace top. */
3171 if (YY_CURRENT_BUFFER)
3172 (yy_buffer_stack_top)++;
3173 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3175 /* copied from yy_switch_to_buffer. */
3176 yy_load_buffer_state( );
3177 (yy_did_buffer_switch_on_eof) = 1;
3180 /** Removes and deletes the top of the stack, if present.
3181 * The next element becomes the new top.
3184 void yypop_buffer_state (void)
3186 if (!YY_CURRENT_BUFFER)
3189 yy_delete_buffer(YY_CURRENT_BUFFER );
3190 YY_CURRENT_BUFFER_LVALUE = NULL;
3191 if ((yy_buffer_stack_top) > 0)
3192 --(yy_buffer_stack_top);
3194 if (YY_CURRENT_BUFFER) {
3195 yy_load_buffer_state( );
3196 (yy_did_buffer_switch_on_eof) = 1;
3200 /* Allocates the stack if it does not exist.
3201 * Guarantees space for at least one push.
3203 static void yyensure_buffer_stack (void)
3205 yy_size_t num_to_alloc;
3207 if (!(yy_buffer_stack)) {
3209 /* First allocation is just for 2 elements, since we don't know if this
3210 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3211 * immediate realloc on the next call.
3214 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3215 (num_to_alloc * sizeof(struct yy_buffer_state*)
3217 if ( ! (yy_buffer_stack) )
3218 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3220 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3222 (yy_buffer_stack_max) = num_to_alloc;
3223 (yy_buffer_stack_top) = 0;
3227 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3229 /* Increase the buffer to prepare for a possible push. */
3230 int grow_size = 8 /* arbitrary grow size */;
3232 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3233 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3235 num_to_alloc * sizeof(struct yy_buffer_state*)
3237 if ( ! (yy_buffer_stack) )
3238 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3240 /* zero only the new slots.*/
3241 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3242 (yy_buffer_stack_max) = num_to_alloc;
3246 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3247 * @param base the character buffer
3248 * @param size the size in bytes of the character buffer
3250 * @return the newly allocated buffer state object.
3252 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3257 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3258 base[size-1] != YY_END_OF_BUFFER_CHAR )
3259 /* They forgot to leave room for the EOB's. */
3262 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3264 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3266 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3267 b->yy_buf_pos = b->yy_ch_buf = base;
3268 b->yy_is_our_buffer = 0;
3269 b->yy_input_file = 0;
3270 b->yy_n_chars = b->yy_buf_size;
3271 b->yy_is_interactive = 0;
3273 b->yy_fill_buffer = 0;
3274 b->yy_buffer_status = YY_BUFFER_NEW;
3276 yy_switch_to_buffer(b );
3281 /** Setup the input buffer state to scan a string. The next call to yylex() will
3282 * scan from a @e copy of @a str.
3283 * @param yystr a NUL-terminated string to scan
3285 * @return the newly allocated buffer state object.
3286 * @note If you want to scan bytes that may contain NUL values, then use
3287 * yy_scan_bytes() instead.
3289 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
3292 return yy_scan_bytes(yystr,strlen(yystr) );
3295 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3296 * scan from a @e copy of @a bytes.
3297 * @param yybytes the byte buffer to scan
3298 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3300 * @return the newly allocated buffer state object.
3302 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
3309 /* Get memory for full buffer, including space for trailing EOB's. */
3310 n = _yybytes_len + 2;
3311 buf = (char *) yyalloc(n );
3313 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3315 for ( i = 0; i < _yybytes_len; ++i )
3316 buf[i] = yybytes[i];
3318 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3320 b = yy_scan_buffer(buf,n );
3322 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3324 /* It's okay to grow etc. this buffer, and we should throw it
3325 * away when we're done.
3327 b->yy_is_our_buffer = 1;
3332 #ifndef YY_EXIT_FAILURE
3333 #define YY_EXIT_FAILURE 2
3336 static void yy_fatal_error (yyconst char* msg )
3338 (void) fprintf( stderr, "%s\n", msg );
3339 exit( YY_EXIT_FAILURE );
3342 /* Redefine yyless() so it works in section 3 code. */
3348 /* Undo effects of setting up yytext. */ \
3349 int yyless_macro_arg = (n); \
3350 YY_LESS_LINENO(yyless_macro_arg);\
3351 yytext[yyleng] = (yy_hold_char); \
3352 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3353 (yy_hold_char) = *(yy_c_buf_p); \
3354 *(yy_c_buf_p) = '\0'; \
3355 yyleng = yyless_macro_arg; \
3359 /* Accessor methods (get/set functions) to struct members. */
3361 /** Get the current line number.
3364 int yyget_lineno (void)
3370 /** Get the input stream.
3373 FILE *yyget_in (void)
3378 /** Get the output stream.
3381 FILE *yyget_out (void)
3386 /** Get the length of the current token.
3389 yy_size_t yyget_leng (void)
3394 /** Get the current token.
3398 char *yyget_text (void)
3403 /** Set the current line number.
3404 * @param line_number
3407 void yyset_lineno (int line_number )
3410 yylineno = line_number;
3413 /** Set the input stream. This does not discard the current
3415 * @param in_str A readable stream.
3417 * @see yy_switch_to_buffer
3419 void yyset_in (FILE * in_str )
3424 void yyset_out (FILE * out_str )
3429 int yyget_debug (void)
3431 return yy_flex_debug;
3434 void yyset_debug (int bdebug )
3436 yy_flex_debug = bdebug ;
3439 static int yy_init_globals (void)
3441 /* Initialization is the same as for the non-reentrant scanner.
3442 * This function is called from yylex_destroy(), so don't allocate here.
3445 (yy_buffer_stack) = 0;
3446 (yy_buffer_stack_top) = 0;
3447 (yy_buffer_stack_max) = 0;
3448 (yy_c_buf_p) = (char *) 0;
3452 /* Defined in main.c */
3461 /* For future reference: Set errno on error, since we are called by
3467 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3468 int yylex_destroy (void)
3471 /* Pop the buffer stack, destroying each element. */
3472 while(YY_CURRENT_BUFFER){
3473 yy_delete_buffer(YY_CURRENT_BUFFER );
3474 YY_CURRENT_BUFFER_LVALUE = NULL;
3475 yypop_buffer_state();
3478 /* Destroy the stack itself. */
3479 yyfree((yy_buffer_stack) );
3480 (yy_buffer_stack) = NULL;
3482 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3483 * yylex() is called, initialization will occur. */
3490 * Internal utility routines.
3494 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3497 for ( i = 0; i < n; ++i )
3502 #ifdef YY_NEED_STRLEN
3503 static int yy_flex_strlen (yyconst char * s )
3506 for ( n = 0; s[n]; ++n )
3513 void *yyalloc (yy_size_t size )
3515 return (void *) malloc( size );
3518 void *yyrealloc (void * ptr, yy_size_t size )
3520 /* The cast to (char *) in the following accommodates both
3521 * implementations that use char* generic pointers, and those
3522 * that use void* generic pointers. It works with the latter
3523 * because both ANSI C and C++ allow castless assignment from
3524 * any pointer type to void*, and deal with argument conversions
3525 * as though doing an assignment.
3527 return (void *) realloc( (char *) ptr, size );
3530 void yyfree (void * ptr )
3532 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3535 #define YYTABLES_NAME "yytables"