1 #include "config.h"
2
3 #line 2 "<stdout>"
4
5 #define YY_INT_ALIGNED short int
6
7 /* A lexical scanner generated by flex */
8
9 #define yy_create_buffer c__create_buffer
10 #define yy_delete_buffer c__delete_buffer
11 #define yy_scan_buffer c__scan_buffer
12 #define yy_scan_string c__scan_string
13 #define yy_scan_bytes c__scan_bytes
14 #define yy_init_buffer c__init_buffer
15 #define yy_flush_buffer c__flush_buffer
16 #define yy_load_buffer_state c__load_buffer_state
17 #define yy_switch_to_buffer c__switch_to_buffer
18 #define yypush_buffer_state c_push_buffer_state
19 #define yypop_buffer_state c_pop_buffer_state
20 #define yyensure_buffer_stack c_ensure_buffer_stack
21 #define yy_flex_debug c__flex_debug
22 #define yyin c_in
23 #define yyleng c_leng
24 #define yylex c_lex
25 #define yylineno c_lineno
26 #define yyout c_out
27 #define yyrestart c_restart
28 #define yytext c_text
29 #define yywrap c_wrap
30 #define yyalloc c_alloc
31 #define yyrealloc c_realloc
32 #define yyfree c_free
33
34 #define FLEX_SCANNER
35 #define YY_FLEX_MAJOR_VERSION 2
36 #define YY_FLEX_MINOR_VERSION 6
37 #define YY_FLEX_SUBMINOR_VERSION 4
38 #if YY_FLEX_SUBMINOR_VERSION > 0
39 #define FLEX_BETA
40 #endif
41
42 #ifdef yy_create_buffer
43 #define c__create_buffer_ALREADY_DEFINED
44 #else
45 #define yy_create_buffer c__create_buffer
46 #endif
47
48 #ifdef yy_delete_buffer
49 #define c__delete_buffer_ALREADY_DEFINED
50 #else
51 #define yy_delete_buffer c__delete_buffer
52 #endif
53
54 #ifdef yy_scan_buffer
55 #define c__scan_buffer_ALREADY_DEFINED
56 #else
57 #define yy_scan_buffer c__scan_buffer
58 #endif
59
60 #ifdef yy_scan_string
61 #define c__scan_string_ALREADY_DEFINED
62 #else
63 #define yy_scan_string c__scan_string
64 #endif
65
66 #ifdef yy_scan_bytes
67 #define c__scan_bytes_ALREADY_DEFINED
68 #else
69 #define yy_scan_bytes c__scan_bytes
70 #endif
71
72 #ifdef yy_init_buffer
73 #define c__init_buffer_ALREADY_DEFINED
74 #else
75 #define yy_init_buffer c__init_buffer
76 #endif
77
78 #ifdef yy_flush_buffer
79 #define c__flush_buffer_ALREADY_DEFINED
80 #else
81 #define yy_flush_buffer c__flush_buffer
82 #endif
83
84 #ifdef yy_load_buffer_state
85 #define c__load_buffer_state_ALREADY_DEFINED
86 #else
87 #define yy_load_buffer_state c__load_buffer_state
88 #endif
89
90 #ifdef yy_switch_to_buffer
91 #define c__switch_to_buffer_ALREADY_DEFINED
92 #else
93 #define yy_switch_to_buffer c__switch_to_buffer
94 #endif
95
96 #ifdef yypush_buffer_state
97 #define c_push_buffer_state_ALREADY_DEFINED
98 #else
99 #define yypush_buffer_state c_push_buffer_state
100 #endif
101
102 #ifdef yypop_buffer_state
103 #define c_pop_buffer_state_ALREADY_DEFINED
104 #else
105 #define yypop_buffer_state c_pop_buffer_state
106 #endif
107
108 #ifdef yyensure_buffer_stack
109 #define c_ensure_buffer_stack_ALREADY_DEFINED
110 #else
111 #define yyensure_buffer_stack c_ensure_buffer_stack
112 #endif
113
114 #ifdef yylex
115 #define c_lex_ALREADY_DEFINED
116 #else
117 #define yylex c_lex
118 #endif
119
120 #ifdef yyrestart
121 #define c_restart_ALREADY_DEFINED
122 #else
123 #define yyrestart c_restart
124 #endif
125
126 #ifdef yylex_init
127 #define c_lex_init_ALREADY_DEFINED
128 #else
129 #define yylex_init c_lex_init
130 #endif
131
132 #ifdef yylex_init_extra
133 #define c_lex_init_extra_ALREADY_DEFINED
134 #else
135 #define yylex_init_extra c_lex_init_extra
136 #endif
137
138 #ifdef yylex_destroy
139 #define c_lex_destroy_ALREADY_DEFINED
140 #else
141 #define yylex_destroy c_lex_destroy
142 #endif
143
144 #ifdef yyget_debug
145 #define c_get_debug_ALREADY_DEFINED
146 #else
147 #define yyget_debug c_get_debug
148 #endif
149
150 #ifdef yyset_debug
151 #define c_set_debug_ALREADY_DEFINED
152 #else
153 #define yyset_debug c_set_debug
154 #endif
155
156 #ifdef yyget_extra
157 #define c_get_extra_ALREADY_DEFINED
158 #else
159 #define yyget_extra c_get_extra
160 #endif
161
162 #ifdef yyset_extra
163 #define c_set_extra_ALREADY_DEFINED
164 #else
165 #define yyset_extra c_set_extra
166 #endif
167
168 #ifdef yyget_in
169 #define c_get_in_ALREADY_DEFINED
170 #else
171 #define yyget_in c_get_in
172 #endif
173
174 #ifdef yyset_in
175 #define c_set_in_ALREADY_DEFINED
176 #else
177 #define yyset_in c_set_in
178 #endif
179
180 #ifdef yyget_out
181 #define c_get_out_ALREADY_DEFINED
182 #else
183 #define yyget_out c_get_out
184 #endif
185
186 #ifdef yyset_out
187 #define c_set_out_ALREADY_DEFINED
188 #else
189 #define yyset_out c_set_out
190 #endif
191
192 #ifdef yyget_leng
193 #define c_get_leng_ALREADY_DEFINED
194 #else
195 #define yyget_leng c_get_leng
196 #endif
197
198 #ifdef yyget_text
199 #define c_get_text_ALREADY_DEFINED
200 #else
201 #define yyget_text c_get_text
202 #endif
203
204 #ifdef yyget_lineno
205 #define c_get_lineno_ALREADY_DEFINED
206 #else
207 #define yyget_lineno c_get_lineno
208 #endif
209
210 #ifdef yyset_lineno
211 #define c_set_lineno_ALREADY_DEFINED
212 #else
213 #define yyset_lineno c_set_lineno
214 #endif
215
216 #ifdef yywrap
217 #define c_wrap_ALREADY_DEFINED
218 #else
219 #define yywrap c_wrap
220 #endif
221
222 #ifdef yyalloc
223 #define c_alloc_ALREADY_DEFINED
224 #else
225 #define yyalloc c_alloc
226 #endif
227
228 #ifdef yyrealloc
229 #define c_realloc_ALREADY_DEFINED
230 #else
231 #define yyrealloc c_realloc
232 #endif
233
234 #ifdef yyfree
235 #define c_free_ALREADY_DEFINED
236 #else
237 #define yyfree c_free
238 #endif
239
240 #ifdef yytext
241 #define c_text_ALREADY_DEFINED
242 #else
243 #define yytext c_text
244 #endif
245
246 #ifdef yyleng
247 #define c_leng_ALREADY_DEFINED
248 #else
249 #define yyleng c_leng
250 #endif
251
252 #ifdef yyin
253 #define c_in_ALREADY_DEFINED
254 #else
255 #define yyin c_in
256 #endif
257
258 #ifdef yyout
259 #define c_out_ALREADY_DEFINED
260 #else
261 #define yyout c_out
262 #endif
263
264 #ifdef yy_flex_debug
265 #define c__flex_debug_ALREADY_DEFINED
266 #else
267 #define yy_flex_debug c__flex_debug
268 #endif
269
270 #ifdef yylineno
271 #define c_lineno_ALREADY_DEFINED
272 #else
273 #define yylineno c_lineno
274 #endif
275
276 /* First, we deal with platform-specific or compiler-specific issues. */
277
278 /* begin standard C headers. */
279 #include <stdio.h>
280 #include <string.h>
281 #include <errno.h>
282 #include <stdlib.h>
283
284 /* end standard C headers. */
285
286 /* flex integer type definitions */
287
288 #ifndef FLEXINT_H
289 #define FLEXINT_H
290
291 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
292
293 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294
295 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
296 * if you want the limit (max/min) macros for int types.
297 */
298 #ifndef __STDC_LIMIT_MACROS
299 #define __STDC_LIMIT_MACROS 1
300 #endif
301
302 #include <inttypes.h>
303 typedef int8_t flex_int8_t;
304 typedef uint8_t flex_uint8_t;
305 typedef int16_t flex_int16_t;
306 typedef uint16_t flex_uint16_t;
307 typedef int32_t flex_int32_t;
308 typedef uint32_t flex_uint32_t;
309 #else
310 typedef signed char flex_int8_t;
311 typedef short int flex_int16_t;
312 typedef int flex_int32_t;
313 typedef unsigned char flex_uint8_t;
314 typedef unsigned short int flex_uint16_t;
315 typedef unsigned int flex_uint32_t;
316
317 /* Limits of integral types. */
318 #ifndef INT8_MIN
319 #define INT8_MIN (-128)
320 #endif
321 #ifndef INT16_MIN
322 #define INT16_MIN (-32767-1)
323 #endif
324 #ifndef INT32_MIN
325 #define INT32_MIN (-2147483647-1)
326 #endif
327 #ifndef INT8_MAX
328 #define INT8_MAX (127)
329 #endif
330 #ifndef INT16_MAX
331 #define INT16_MAX (32767)
332 #endif
333 #ifndef INT32_MAX
334 #define INT32_MAX (2147483647)
335 #endif
336 #ifndef UINT8_MAX
337 #define UINT8_MAX (255U)
338 #endif
339 #ifndef UINT16_MAX
340 #define UINT16_MAX (65535U)
341 #endif
342 #ifndef UINT32_MAX
343 #define UINT32_MAX (4294967295U)
344 #endif
345
346 #ifndef SIZE_MAX
347 #define SIZE_MAX (~(size_t)0)
348 #endif
349
350 #endif /* ! C99 */
351
352 #endif /* ! FLEXINT_H */
353
354 /* begin standard C++ headers. */
355
356 /* TODO: this is always defined, so inline it */
357 #define yyconst const
358
359 #if defined(__GNUC__) && __GNUC__ >= 3
360 #define yynoreturn __attribute__((__noreturn__))
361 #else
362 #define yynoreturn
363 #endif
364
365 /* Returned upon end-of-file. */
366 #define YY_NULL 0
367
368 /* Promotes a possibly negative, possibly signed char to an
369 * integer in range [0..255] for use as an array index.
370 */
371 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
372
373 /* Enter a start condition. This macro really ought to take a parameter,
374 * but we do it the disgusting crufty way forced on us by the ()-less
375 * definition of BEGIN.
376 */
377 #define BEGIN (yy_start) = 1 + 2 *
378 /* Translate the current start state into a value that can be later handed
379 * to BEGIN to return to the state. The YYSTATE alias is for lex
380 * compatibility.
381 */
382 #define YY_START (((yy_start) - 1) / 2)
383 #define YYSTATE YY_START
384 /* Action number for EOF rule of a given start state. */
385 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386 /* Special action meaning "start processing a new file". */
387 #define YY_NEW_FILE yyrestart( yyin )
388 #define YY_END_OF_BUFFER_CHAR 0
389
390 /* Size of default input buffer. */
391 #ifndef YY_BUF_SIZE
392 #ifdef __ia64__
393 /* On IA-64, the buffer size is 16k, not 8k.
394 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
395 * Ditto for the __ia64__ case accordingly.
396 */
397 #define YY_BUF_SIZE 32768
398 #else
399 #define YY_BUF_SIZE 16384
400 #endif /* __ia64__ */
401 #endif
402
403 /* The state buf must be large enough to hold one state per character in the main buffer.
404 */
405 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
406
407 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
408 #define YY_TYPEDEF_YY_BUFFER_STATE
409 typedef struct yy_buffer_state *YY_BUFFER_STATE;
410 #endif
411
412 #ifndef YY_TYPEDEF_YY_SIZE_T
413 #define YY_TYPEDEF_YY_SIZE_T
414 typedef size_t yy_size_t;
415 #endif
416
417 extern int yyleng;
418
419 extern FILE *yyin, *yyout;
420
421 #define EOB_ACT_CONTINUE_SCAN 0
422 #define EOB_ACT_END_OF_FILE 1
423 #define EOB_ACT_LAST_MATCH 2
424
425 #define YY_LESS_LINENO(n)
426 #define YY_LINENO_REWIND_TO(ptr)
427
428 /* Return all but the first "n" matched characters back to the input stream. */
429 #define yyless(n) \
430 do \
431 { \
432 /* Undo effects of setting up yytext. */ \
433 int yyless_macro_arg = (n); \
434 YY_LESS_LINENO(yyless_macro_arg);\
435 *yy_cp = (yy_hold_char); \
436 YY_RESTORE_YY_MORE_OFFSET \
437 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
439 } \
440 while ( 0 )
441 #define unput(c) yyunput( c, (yytext_ptr) )
442
443 #ifndef YY_STRUCT_YY_BUFFER_STATE
444 #define YY_STRUCT_YY_BUFFER_STATE
445 struct yy_buffer_state
446 {
447 FILE *yy_input_file;
448
449 char *yy_ch_buf; /* input buffer */
450 char *yy_buf_pos; /* current position in input buffer */
451
452 /* Size of input buffer in bytes, not including room for EOB
453 * characters.
454 */
455 int yy_buf_size;
456
457 /* Number of characters read into yy_ch_buf, not including EOB
458 * characters.
459 */
460 int yy_n_chars;
461
462 /* Whether we "own" the buffer - i.e., we know we created it,
463 * and can realloc() it to grow it, and should free() it to
464 * delete it.
465 */
466 int yy_is_our_buffer;
467
468 /* Whether this is an "interactive" input source; if so, and
469 * if we're using stdio for input, then we want to use getc()
470 * instead of fread(), to make sure we stop fetching input after
471 * each newline.
472 */
473 int yy_is_interactive;
474
475 /* Whether we're considered to be at the beginning of a line.
476 * If so, '^' rules will be active on the next match, otherwise
477 * not.
478 */
479 int yy_at_bol;
480
481 int yy_bs_lineno; /**< The line count. */
482 int yy_bs_column; /**< The column count. */
483
484 /* Whether to try to fill the input buffer when we reach the
485 * end of it.
486 */
487 int yy_fill_buffer;
488
489 int yy_buffer_status;
490
491 #define YY_BUFFER_NEW 0
492 #define YY_BUFFER_NORMAL 1
493 /* When an EOF's been seen but there's still some text to process
494 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
495 * shouldn't try reading from the input source any more. We might
496 * still have a bunch of tokens to match, though, because of
497 * possible backing-up.
498 *
499 * When we actually see the EOF, we change the status to "new"
500 * (via yyrestart()), so that the user can continue scanning by
501 * just pointing yyin at a new input file.
502 */
503 #define YY_BUFFER_EOF_PENDING 2
504
505 };
506 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
507
508 /* Stack of input buffers. */
509 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
510 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
511 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
512
513 /* We provide macros for accessing buffer states in case in the
514 * future we want to put the buffer states in a more general
515 * "scanner state".
516 *
517 * Returns the top of the stack, or NULL.
518 */
519 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521 : NULL)
522 /* Same as previous macro, but useful when we know that the buffer stack is not
523 * NULL or when we need an lvalue. For internal use only.
524 */
525 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
526
527 /* yy_hold_char holds the character lost when yytext is formed. */
528 static char yy_hold_char;
529 static int yy_n_chars; /* number of characters read into yy_ch_buf */
530 int yyleng;
531
532 /* Points to current character in buffer. */
533 static char *yy_c_buf_p = NULL;
534 static int yy_init = 0; /* whether we need to initialize */
535 static int yy_start = 0; /* start state number */
536
537 /* Flag which is used to allow yywrap()'s to do buffer switches
538 * instead of setting up a fresh yyin. A bit of a hack ...
539 */
540 static int yy_did_buffer_switch_on_eof;
541
542 void yyrestart ( FILE *input_file );
543 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
544 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
545 void yy_delete_buffer ( YY_BUFFER_STATE b );
546 void yy_flush_buffer ( YY_BUFFER_STATE b );
547 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
548 void yypop_buffer_state ( void );
549
550 static void yyensure_buffer_stack ( void );
551 static void yy_load_buffer_state ( void );
552 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
553 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
554
555 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
556 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
557 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
558
559 void *yyalloc ( yy_size_t );
560 void *yyrealloc ( void *, yy_size_t );
561 void yyfree ( void * );
562
563 #define yy_new_buffer yy_create_buffer
564 #define yy_set_interactive(is_interactive) \
565 { \
566 if ( ! YY_CURRENT_BUFFER ){ \
567 yyensure_buffer_stack (); \
568 YY_CURRENT_BUFFER_LVALUE = \
569 yy_create_buffer( yyin, YY_BUF_SIZE ); \
570 } \
571 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
572 }
573 #define yy_set_bol(at_bol) \
574 { \
575 if ( ! YY_CURRENT_BUFFER ){\
576 yyensure_buffer_stack (); \
577 YY_CURRENT_BUFFER_LVALUE = \
578 yy_create_buffer( yyin, YY_BUF_SIZE ); \
579 } \
580 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
581 }
582 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
583
584 /* Begin user sect3 */
585 typedef flex_uint8_t YY_CHAR;
586
587 FILE *yyin = NULL, *yyout = NULL;
588
589 typedef int yy_state_type;
590
591 extern int yylineno;
592 int yylineno = 1;
593
594 extern char *yytext;
595 #ifdef yytext_ptr
596 #undef yytext_ptr
597 #endif
598 #define yytext_ptr yytext
599
600 static yy_state_type yy_get_previous_state ( void );
601 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
602 static int yy_get_next_buffer ( void );
603 static void yynoreturn yy_fatal_error ( const char* msg );
604
605 /* Done after the current pattern has been matched and before the
606 * corresponding action - sets up yytext.
607 */
608 #define YY_DO_BEFORE_ACTION \
609 (yytext_ptr) = yy_bp; \
610 (yytext_ptr) -= (yy_more_len); \
611 yyleng = (int) (yy_cp - (yytext_ptr)); \
612 (yy_hold_char) = *yy_cp; \
613 *yy_cp = '\0'; \
614 (yy_c_buf_p) = yy_cp;
615 #define YY_NUM_RULES 137
616 #define YY_END_OF_BUFFER 138
617 /* This struct is not used in this scanner,
618 but its presence is necessary. */
619 struct yy_trans_info
620 {
621 flex_int32_t yy_verify;
622 flex_int32_t yy_nxt;
623 };
624 static const flex_int16_t yy_accept[1206] =
625 { 0,
626 1, 1, 125, 125, 129, 129, 133, 133, 138, 136,
627 1, 117, 124, 2, 136, 136, 136, 136, 136, 136,
628 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
629 136, 136, 136, 137, 125, 126, 137, 127, 137, 132,
630 129, 130, 131, 137, 133, 134, 135, 137, 136, 0,
631 1, 2, 2, 2, 2, 136, 136, 136, 136, 136,
632 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
633 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
634 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
635 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
636
637 125, 0, 132, 0, 129, 133, 0, 136, 136, 136,
638 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
639 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
640 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
641 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
642 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
643 79, 136, 136, 136, 136, 136, 136, 136, 136, 78,
644 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
645 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
646 136, 136, 136, 136, 65, 136, 136, 136, 136, 136,
647
648 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
649 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
650 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
651 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
652 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
653 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
654 136, 136, 136, 136, 136, 136, 4, 136, 23, 136,
655 136, 136, 36, 136, 136, 136, 136, 136, 136, 136,
656 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
657 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
658
659 136, 136, 136, 136, 136, 136, 48, 136, 136, 136,
660 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
661 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
662 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
663 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
664 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
665 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
666 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
667 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
668 136, 136, 136, 136, 136, 136, 136, 136, 39, 136,
669
670 136, 136, 136, 136, 136, 136, 136, 136, 89, 18,
671 19, 136, 136, 136, 136, 136, 136, 136, 136, 136,
672 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
673 136, 136, 136, 136, 136, 54, 136, 136, 136, 136,
674 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
675 136, 67, 136, 136, 3, 136, 120, 136, 136, 136,
676 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
677 136, 136, 136, 136, 136, 45, 136, 136, 136, 136,
678 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
679 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
680
681 136, 136, 136, 136, 136, 136, 128, 136, 136, 136,
682 136, 136, 136, 136, 136, 136, 136, 24, 136, 136,
683 136, 136, 136, 136, 136, 136, 136, 68, 35, 136,
684 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
685 136, 136, 136, 136, 136, 136, 118, 120, 0, 136,
686 136, 136, 31, 136, 136, 136, 136, 136, 136, 136,
687 136, 136, 136, 22, 136, 136, 136, 136, 136, 136,
688 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
689 136, 136, 136, 136, 136, 136, 136, 136, 20, 136,
690 43, 136, 136, 136, 136, 136, 136, 136, 136, 136,
691
692 21, 136, 136, 136, 136, 136, 16, 17, 136, 136,
693 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
694 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
695 136, 80, 82, 136, 136, 136, 136, 136, 136, 136,
696 118, 0, 136, 136, 136, 136, 136, 136, 60, 136,
697 112, 136, 136, 40, 136, 136, 136, 44, 49, 136,
698 136, 41, 136, 66, 136, 136, 136, 136, 136, 136,
699 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
700 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
701 136, 6, 136, 136, 136, 136, 136, 136, 136, 136,
702
703 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
704 136, 136, 136, 136, 37, 136, 136, 136, 136, 136,
705 136, 136, 136, 136, 136, 136, 136, 27, 136, 136,
706 136, 136, 136, 136, 47, 136, 136, 136, 136, 50,
707 136, 136, 136, 136, 136, 136, 136, 136, 63, 136,
708 136, 136, 136, 136, 136, 136, 136, 11, 136, 136,
709 136, 136, 136, 136, 136, 136, 136, 136, 5, 136,
710 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
711 136, 136, 136, 136, 136, 136, 136, 102, 136, 136,
712 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
713
714 136, 38, 136, 136, 136, 136, 136, 136, 136, 136,
715 136, 136, 136, 136, 136, 57, 136, 136, 136, 62,
716 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
717 136, 136, 136, 136, 136, 136, 136, 136, 136, 8,
718 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
719 136, 136, 136, 136, 136, 56, 136, 136, 53, 99,
720 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
721 136, 136, 30, 136, 136, 12, 136, 136, 136, 136,
722 136, 136, 51, 136, 136, 119, 136, 136, 136, 136,
723 136, 136, 73, 136, 121, 136, 136, 136, 136, 136,
724
725 136, 136, 15, 136, 13, 136, 136, 136, 136, 136,
726 136, 136, 136, 136, 136, 136, 136, 136, 55, 136,
727 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
728 26, 136, 136, 136, 136, 136, 136, 136, 136, 136,
729 136, 136, 136, 42, 136, 114, 136, 119, 0, 64,
730 136, 136, 136, 136, 136, 136, 115, 90, 136, 136,
731 136, 136, 136, 136, 14, 136, 136, 136, 136, 136,
732 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
733 136, 136, 136, 136, 81, 136, 86, 136, 136, 136,
734 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
735
736 136, 136, 136, 136, 136, 136, 71, 136, 136, 136,
737 136, 136, 136, 136, 136, 95, 136, 7, 33, 34,
738 136, 98, 136, 105, 136, 136, 106, 136, 136, 136,
739 136, 136, 70, 136, 136, 136, 136, 136, 136, 136,
740 52, 136, 136, 136, 136, 136, 136, 136, 136, 136,
741 136, 136, 136, 101, 136, 136, 136, 136, 94, 136,
742 136, 136, 136, 69, 25, 136, 107, 136, 136, 136,
743 136, 136, 136, 136, 136, 136, 136, 136, 136, 74,
744 29, 136, 113, 109, 136, 111, 136, 136, 87, 88,
745 136, 61, 136, 136, 76, 136, 136, 136, 136, 136,
746
747 136, 103, 104, 136, 136, 136, 32, 136, 136, 136,
748 136, 9, 136, 75, 136, 110, 136, 136, 136, 77,
749 72, 136, 136, 136, 136, 136, 136, 100, 136, 136,
750 136, 136, 136, 136, 136, 136, 122, 136, 136, 116,
751 136, 136, 136, 136, 91, 108, 58, 136, 136, 136,
752 136, 136, 136, 136, 59, 136, 136, 136, 93, 10,
753 136, 136, 136, 136, 28, 46, 136, 136, 92, 136,
754 136, 136, 136, 136, 136, 136, 136, 136, 123, 136,
755 136, 83, 84, 136, 136, 136, 85, 136, 136, 136,
756 136, 136, 136, 136, 136, 136, 136, 136, 136, 96,
757
758 136, 136, 136, 97, 0
759 } ;
760
761 static const YY_CHAR yy_ec[256] =
762 { 0,
763 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
764 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
766 1, 2, 1, 5, 6, 1, 1, 1, 1, 1,
767 1, 1, 1, 1, 7, 1, 1, 8, 9, 9,
768 9, 10, 9, 11, 9, 9, 9, 12, 1, 1,
769 13, 1, 1, 1, 14, 15, 16, 17, 18, 19,
770 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
771 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
772 1, 40, 1, 1, 1, 1, 41, 42, 43, 44,
773
774 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
775 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
776 65, 66, 1, 1, 1, 1, 1, 1, 1, 1,
777 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
778 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
779 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
780 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
782 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
784
785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
788 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
789 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
790 1, 1, 1, 1, 1
791 } ;
792
793 static const YY_CHAR yy_meta[67] =
794 { 0,
795 1, 2, 3, 4, 4, 1, 1, 1, 1, 1,
796 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
797 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
798 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
799 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
800 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
801 1, 1, 1, 1, 1, 1
802 } ;
803
804 static const flex_int16_t yy_base[1218] =
805 { 0,
806 0, 0, 64, 67, 71, 75, 78, 81, 3398, 3350,
807 85, 3400, 3400, 88, 72, 73, 102, 145, 76, 112,
808 92, 80, 147, 151, 109, 183, 189, 197, 137, 181,
809 164, 98, 120, 98, 3333, 3400, 3400, 3400, 84, 3332,
810 3369, 3400, 3400, 231, 3330, 3400, 3400, 141, 3328, 246,
811 99, 0, 250, 0, 0, 233, 115, 162, 199, 124,
812 225, 221, 232, 228, 231, 186, 248, 234, 209, 241,
813 258, 259, 268, 296, 257, 272, 273, 278, 275, 290,
814 281, 295, 293, 305, 306, 289, 311, 351, 300, 317,
815 347, 309, 342, 333, 320, 355, 353, 328, 369, 375,
816
817 3326, 274, 3325, 412, 3360, 3320, 320, 348, 378, 356,
818 392, 390, 382, 395, 402, 391, 401, 269, 414, 404,
819 417, 406, 421, 416, 431, 433, 428, 441, 450, 427,
820 455, 464, 172, 475, 471, 477, 452, 461, 467, 480,
821 478, 469, 494, 490, 465, 496, 488, 491, 498, 503,
822 512, 530, 502, 527, 513, 528, 533, 521, 548, 549,
823 3319, 551, 554, 540, 545, 552, 536, 561, 557, 3318,
824 560, 567, 571, 565, 572, 586, 588, 600, 584, 597,
825 604, 592, 610, 612, 594, 599, 607, 619, 615, 618,
826 613, 629, 616, 654, 3315, 638, 640, 639, 646, 648,
827
828 650, 655, 656, 669, 672, 665, 681, 673, 684, 685,
829 676, 678, 674, 697, 700, 714, 708, 680, 711, 709,
830 715, 717, 762, 767, 720, 735, 719, 721, 778, 809,
831 742, 725, 736, 769, 776, 792, 796, 744, 802, 772,
832 814, 797, 761, 813, 810, 833, 806, 823, 825, 831,
833 840, 847, 852, 837, 842, 849, 861, 865, 854, 862,
834 873, 872, 867, 875, 881, 892, 3314, 876, 3313, 878,
835 888, 884, 3310, 909, 894, 905, 912, 903, 904, 930,
836 911, 924, 933, 766, 914, 944, 908, 948, 943, 937,
837 947, 939, 938, 963, 967, 957, 974, 965, 982, 966,
838
839 995, 981, 983, 994, 990, 984, 3309, 1004, 1006, 1016,
840 1008, 1031, 954, 1019, 1026, 729, 1010, 1033, 1029, 1022,
841 1044, 1035, 1039, 1055, 1070, 1071, 1074, 1060, 1047, 1075,
842 1063, 1079, 1085, 1073, 1087, 1081, 1077, 1093, 1111, 1113,
843 1097, 1108, 1118, 1119, 1110, 1127, 1116, 1136, 1135, 1137,
844 1142, 1152, 1153, 1154, 1167, 1171, 1148, 1155, 1169, 1150,
845 1173, 1162, 1181, 1182, 1100, 1180, 1211, 1192, 1195, 1186,
846 1200, 1197, 1207, 1213, 1219, 1209, 1208, 1224, 1227, 1222,
847 1231, 1228, 1233, 1236, 1256, 1250, 1266, 1255, 1251, 1264,
848 1274, 1268, 1257, 1265, 1269, 1282, 1286, 1293, 3296, 1303,
849
850 1292, 1310, 1296, 1302, 1300, 1301, 1313, 1341, 3283, 3263,
851 3246, 1317, 1329, 1304, 1327, 1365, 1344, 1330, 1349, 1339,
852 1342, 1345, 1361, 1368, 1356, 1379, 1366, 1371, 1373, 1377,
853 1378, 1383, 1405, 1402, 1394, 3241, 1400, 1415, 1416, 1423,
854 1425, 1419, 1421, 1428, 1408, 1418, 1439, 1435, 1436, 1422,
855 1434, 3151, 1450, 1461, 3146, 1444, 3054, 1457, 1460, 1459,
856 1475, 1458, 1474, 1477, 1481, 1478, 1487, 1468, 1491, 1488,
857 1492, 1495, 1500, 1501, 1505, 3003, 1518, 1504, 1508, 1509,
858 1517, 1527, 1522, 1536, 1528, 1545, 1525, 1553, 1554, 1544,
859 1589, 1556, 1548, 1566, 1572, 1568, 1563, 1575, 1569, 1582,
860
861 1596, 1606, 1599, 1591, 1609, 1604, 2924, 1612, 1603, 1626,
862 1625, 1616, 1630, 1619, 1623, 1618, 1654, 2909, 1646, 1631,
863 1637, 1658, 1634, 1648, 1652, 1662, 1660, 2860, 2857, 1650,
864 1668, 1677, 1657, 1676, 1682, 1678, 1694, 1698, 1684, 1707,
865 1709, 1705, 1706, 1719, 1715, 1717, 2813, 2811, 1749, 1726,
866 1721, 1723, 2805, 1727, 1728, 1741, 1746, 1732, 1761, 1754,
867 1759, 1762, 1740, 2781, 1772, 1760, 1770, 1777, 1768, 1773,
868 1766, 1778, 1753, 1794, 1788, 1767, 1798, 1799, 1792, 1786,
869 1801, 1809, 1804, 1813, 1812, 1805, 1819, 1815, 2774, 1843,
870 2703, 1828, 1845, 1846, 1838, 1854, 1840, 1839, 1841, 1851,
871
872 2696, 1862, 1865, 1855, 1869, 1870, 2660, 2622, 1868, 1875,
873 1872, 1892, 1881, 1882, 1889, 1884, 1910, 1901, 1885, 1887,
874 1904, 1909, 1896, 1914, 1908, 1919, 1927, 1920, 1932, 1934,
875 1936, 2585, 2561, 1926, 1952, 1940, 1991, 1937, 1947, 1944,
876 2438, 1989, 1956, 1971, 1974, 1964, 1972, 1973, 2437, 1995,
877 2415, 1999, 1980, 2397, 2005, 2007, 2009, 2395, 2371, 2011,
878 2003, 2352, 2014, 2351, 2015, 2000, 1998, 2017, 2026, 2042,
879 2027, 2049, 2022, 2033, 2030, 2032, 2036, 2038, 2044, 2046,
880 2065, 2068, 2063, 2074, 2071, 2069, 2067, 2076, 2073, 2072,
881 2064, 2303, 2106, 2108, 2092, 2096, 2097, 2093, 2098, 2113,
882
883 2102, 2132, 2119, 2111, 2109, 2125, 2123, 2120, 2148, 2135,
884 2150, 2133, 2143, 2146, 2284, 2152, 2147, 2149, 2158, 2160,
885 2154, 2168, 2162, 2174, 2192, 2203, 2201, 2254, 2199, 2209,
886 2185, 2183, 2208, 2210, 2253, 2200, 2212, 2215, 2195, 2236,
887 2217, 2221, 2222, 2242, 2226, 2220, 2255, 2240, 2197, 2231,
888 2239, 2258, 2263, 2261, 2244, 2265, 2247, 2190, 2250, 2273,
889 2274, 2267, 2271, 2287, 2285, 2286, 2291, 2288, 2181, 2280,
890 2311, 2300, 2301, 2298, 2318, 2325, 2313, 2314, 2330, 2320,
891 2323, 2324, 2328, 2338, 2343, 2327, 2340, 2079, 2344, 2361,
892 2364, 2363, 2367, 2365, 2356, 2370, 2355, 2383, 2373, 2378,
893
894 2380, 2058, 2381, 2391, 2382, 2398, 2419, 2388, 2408, 2422,
895 2409, 2403, 2423, 2425, 2420, 2019, 2424, 2413, 2432, 1988,
896 2411, 2430, 2443, 2446, 2442, 2456, 2444, 2447, 2464, 2461,
897 2459, 2454, 2470, 2457, 2463, 2481, 2471, 2483, 2494, 1987,
898 2486, 2485, 2488, 2489, 2498, 2497, 2505, 2513, 2509, 2520,
899 2515, 2482, 2504, 2532, 2526, 1984, 2534, 2528, 1935, 1933,
900 2540, 2542, 2531, 2545, 2535, 2541, 2544, 2553, 2567, 2557,
901 2558, 2560, 1757, 2570, 2580, 1751, 2577, 2573, 2578, 2589,
902 2590, 2587, 1701, 2603, 2607, 1692, 2612, 2601, 2613, 2616,
903 2618, 2620, 1649, 2633, 1633, 2632, 2617, 2630, 2634, 2631,
904
905 2639, 2627, 1555, 2653, 1551, 2644, 2647, 2664, 2665, 2657,
906 2646, 2666, 2671, 2668, 2674, 2673, 2690, 2682, 1539, 2661,
907 2694, 2693, 2701, 2705, 2706, 2691, 2725, 2717, 2721, 2718,
908 1465, 2723, 2698, 2732, 2724, 2743, 2731, 2734, 2742, 2751,
909 2730, 2757, 2748, 1453, 2759, 1451, 2754, 1448, 2788, 1404,
910 2778, 2763, 2777, 2784, 2776, 2787, 1398, 1328, 2764, 2792,
911 2791, 2779, 2786, 2808, 1312, 2795, 2818, 2822, 2826, 2821,
912 2827, 2817, 2832, 2829, 2820, 2838, 2823, 2831, 2835, 2824,
913 2659, 2847, 2840, 2848, 1309, 2853, 1297, 2850, 2846, 2851,
914 2877, 2884, 2861, 2867, 2887, 2868, 2870, 2873, 2896, 2888,
915
916 2891, 2912, 2904, 2916, 2897, 2895, 1283, 2922, 2930, 2918,
917 2911, 2932, 2923, 2928, 2939, 1260, 2931, 1239, 1198, 1184,
918 2942, 1176, 2941, 1175, 2943, 2948, 1146, 2951, 2955, 2962,
919 2952, 2957, 1144, 2967, 2978, 2964, 2972, 2975, 2980, 2987,
920 1140, 2989, 2990, 2994, 2998, 2979, 3001, 2991, 3004, 3002,
921 3014, 3018, 3016, 1114, 3005, 3015, 3025, 3021, 1104, 3017,
922 3029, 3030, 3031, 1103, 1069, 3027, 1066, 3028, 3040, 3047,
923 3060, 3041, 3044, 3052, 3057, 3045, 3071, 3066, 3074, 1061,
924 1058, 3070, 1017, 992, 3084, 961, 3078, 3073, 940, 936,
925 3086, 902, 3095, 3096, 848, 3080, 3083, 3094, 3097, 3093,
926
927 3109, 763, 740, 3115, 3107, 3114, 688, 3101, 3120, 3124,
928 3132, 683, 3126, 642, 3123, 611, 3133, 3122, 3128, 537,
929 525, 3149, 3152, 3142, 3148, 3144, 3163, 505, 3164, 3173,
930 3169, 3166, 3167, 3165, 3178, 3159, 468, 3179, 3184, 463,
931 3171, 3186, 3185, 3198, 453, 448, 437, 3204, 3208, 3211,
932 3212, 3197, 3220, 3223, 418, 3203, 3219, 3224, 332, 324,
933 3213, 3216, 3214, 3231, 315, 314, 3226, 3235, 242, 3244,
934 3251, 3248, 3265, 3253, 3250, 3268, 3271, 3254, 223, 3267,
935 3277, 191, 187, 3286, 3270, 3238, 153, 3281, 3275, 3290,
936 3298, 3280, 3292, 3301, 3293, 3302, 3304, 3323, 3317, 131,
937
938 3329, 3316, 3327, 100, 3400, 3375, 3379, 3383, 133, 3387,
939 3391, 118, 3393, 3395, 113, 95, 93
940 } ;
941
942 static const flex_int16_t yy_def[1218] =
943 { 0,
944 1205, 1, 1206, 1206, 1207, 1207, 1208, 1208, 1205, 1209,
945 1205, 1205, 1205, 1210, 1209, 1209, 1209, 1209, 1209, 1209,
946 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
947 1209, 1209, 1209, 1209, 1211, 1205, 1205, 1205, 1211, 1212,
948 1205, 1205, 1205, 1212, 1213, 1205, 1205, 1213, 1209, 1209,
949 1205, 1214, 1210, 1214, 1210, 1209, 1209, 1209, 1209, 1209,
950 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
951 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
952 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
953 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
954
955 1211, 1211, 1212, 1212, 1205, 1213, 1213, 1209, 1209, 1209,
956 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
957 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
958 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
959 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
960 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
961 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
962 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
963 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
964 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
965
966 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
967 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
968 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
969 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
970 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
971 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
972 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
973 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
974 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
975 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
976
977 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
978 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
979 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
980 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
981 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
982 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
983 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
984 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
985 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
986 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
987
988 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
989 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
990 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
991 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
992 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
993 1209, 1209, 1209, 1209, 1209, 1209, 1215, 1209, 1209, 1209,
994 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
995 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
996 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
997 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
998
999 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1000 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1001 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1002 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1003 1209, 1209, 1209, 1209, 1209, 1209, 1216, 1215, 1215, 1209,
1004 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1005 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1006 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1007 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1008 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1009
1010 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1011 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1012 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1013 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1014 1216, 1216, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1015 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1016 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1017 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1018 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1019 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1020
1021 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1022 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1023 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1024 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1025 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1026 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1027 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1028 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1029 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1030 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1031
1032 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1033 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1034 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1035 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1036 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1037 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1038 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1039 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1040 1209, 1209, 1209, 1209, 1209, 1217, 1209, 1209, 1209, 1209,
1041 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1042
1043 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1044 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1045 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1046 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1047 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1217, 1217, 1209,
1048 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1049 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1050 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1051 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1052 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1053
1054 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1055 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1056 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1057 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1058 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1059 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1060 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1061 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1062 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1063 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1064
1065 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1066 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1067 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1068 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1069 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1070 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1071 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1072 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1073 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1074 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1075
1076 1209, 1209, 1209, 1209, 0, 1205, 1205, 1205, 1205, 1205,
1077 1205, 1205, 1205, 1205, 1205, 1205, 1205
1078 } ;
1079
1080 static const flex_int16_t yy_nxt[3467] =
1081 { 0,
1082 10, 11, 12, 12, 13, 14, 10, 10, 10, 10,
1083 10, 10, 10, 15, 16, 17, 18, 10, 10, 10,
1084 19, 20, 10, 21, 22, 23, 24, 25, 26, 10,
1085 27, 28, 29, 30, 31, 10, 32, 10, 33, 34,
1086 15, 16, 17, 18, 10, 10, 10, 19, 20, 10,
1087 21, 22, 23, 24, 25, 26, 10, 27, 28, 29,
1088 30, 31, 10, 32, 10, 33, 36, 37, 38, 36,
1089 37, 38, 41, 42, 42, 43, 41, 42, 42, 43,
1090 46, 46, 47, 46, 46, 47, 51, 101, 101, 54,
1091 52, 54, 54, 948, 60, 641, 56, 71, 57, 49,
1092
1093 51, 49, 49, 39, 52, 58, 39, 76, 59, 75,
1094 44, 50, 50, 548, 44, 50, 99, 48, 103, 50,
1095 48, 60, 61, 56, 71, 57, 62, 55, 72, 63,
1096 64, 50, 58, 49, 76, 59, 75, 50, 73, 50,
1097 74, 50, 83, 99, 106, 106, 110, 100, 50, 61,
1098 113, 50, 94, 62, 50, 72, 63, 64, 65, 50,
1099 77, 95, 66, 50, 80, 73, 67, 74, 78, 83,
1100 50, 68, 69, 110, 100, 70, 50, 113, 81, 94,
1101 79, 98, 82, 195, 50, 65, 50, 77, 95, 66,
1102 50, 80, 50, 67, 111, 78, 84, 96, 68, 69,
1103
1104 120, 50, 70, 50, 85, 81, 88, 79, 98, 82,
1105 86, 50, 97, 87, 91, 123, 89, 112, 92, 90,
1106 50, 111, 50, 84, 96, 50, 50, 120, 50, 93,
1107 50, 85, 103, 88, 103, 103, 50, 86, 50, 97,
1108 87, 91, 115, 89, 112, 92, 90, 49, 50, 49,
1109 49, 54, 108, 54, 54, 114, 93, 109, 116, 117,
1110 50, 118, 50, 119, 50, 122, 121, 50, 124, 115,
1111 50, 50, 50, 50, 125, 177, 126, 101, 101, 108,
1112 50, 50, 114, 127, 109, 116, 117, 50, 118, 55,
1113 119, 134, 122, 121, 133, 124, 50, 50, 50, 137,
1114
1115 128, 125, 129, 126, 136, 130, 131, 50, 50, 135,
1116 127, 50, 50, 139, 50, 138, 140, 50, 134, 144,
1117 50, 133, 143, 106, 106, 141, 137, 128, 50, 50,
1118 132, 136, 50, 151, 50, 50, 135, 142, 145, 50,
1119 139, 152, 138, 140, 50, 50, 144, 157, 50, 143,
1120 50, 160, 141, 50, 50, 158, 50, 132, 163, 50,
1121 151, 159, 153, 50, 142, 145, 146, 50, 152, 147,
1122 162, 50, 50, 154, 157, 166, 148, 155, 160, 156,
1123 149, 50, 158, 161, 150, 163, 50, 50, 159, 153,
1124 50, 168, 50, 146, 50, 50, 147, 162, 171, 164,
1125
1126 154, 165, 166, 148, 155, 167, 156, 149, 50, 174,
1127 161, 150, 169, 103, 50, 103, 103, 50, 168, 173,
1128 170, 50, 172, 175, 176, 171, 164, 178, 165, 50,
1129 50, 50, 167, 191, 50, 180, 174, 179, 181, 169,
1130 50, 50, 182, 50, 183, 50, 173, 170, 184, 172,
1131 175, 176, 186, 50, 178, 50, 50, 50, 187, 185,
1132 50, 192, 180, 188, 179, 181, 50, 50, 189, 182,
1133 50, 183, 50, 193, 194, 184, 50, 198, 202, 186,
1134 50, 196, 190, 199, 201, 187, 185, 50, 203, 50,
1135 188, 50, 50, 197, 50, 189, 204, 205, 200, 209,
1136
1137 50, 206, 50, 50, 50, 202, 50, 50, 50, 190,
1138 50, 201, 207, 210, 50, 203, 50, 50, 212, 50,
1139 197, 211, 208, 204, 205, 200, 209, 50, 206, 50,
1140 50, 213, 217, 50, 214, 50, 216, 50, 215, 207,
1141 210, 50, 50, 218, 50, 212, 220, 219, 211, 208,
1142 221, 50, 50, 222, 223, 224, 229, 225, 213, 217,
1143 50, 214, 230, 234, 50, 215, 50, 50, 227, 50,
1144 218, 232, 50, 220, 219, 50, 50, 221, 233, 50,
1145 222, 226, 231, 229, 50, 228, 238, 50, 50, 230,
1146 50, 50, 235, 50, 236, 227, 50, 237, 232, 50,
1147
1148 50, 241, 239, 243, 50, 233, 50, 240, 226, 231,
1149 50, 50, 228, 238, 242, 244, 247, 245, 248, 235,
1150 246, 236, 257, 50, 237, 50, 249, 50, 241, 239,
1151 243, 50, 250, 50, 240, 252, 50, 251, 50, 50,
1152 255, 242, 244, 50, 245, 253, 50, 246, 254, 50,
1153 50, 50, 50, 249, 50, 50, 256, 50, 50, 250,
1154 258, 261, 252, 263, 251, 259, 267, 255, 50, 262,
1155 260, 266, 253, 265, 268, 254, 264, 50, 50, 50,
1156 269, 50, 271, 256, 273, 50, 286, 50, 261, 50,
1157 263, 278, 259, 50, 50, 50, 262, 260, 266, 270,
1158
1159 265, 268, 272, 264, 50, 274, 275, 276, 50, 271,
1160 277, 50, 50, 50, 279, 50, 280, 50, 278, 50,
1161 50, 289, 50, 50, 50, 285, 270, 50, 287, 272,
1162 288, 312, 274, 275, 276, 281, 50, 277, 290, 50,
1163 399, 279, 303, 280, 282, 283, 302, 50, 50, 284,
1164 50, 300, 285, 50, 50, 287, 50, 288, 50, 50,
1165 50, 301, 281, 311, 50, 290, 313, 323, 50, 303,
1166 318, 282, 283, 302, 50, 50, 284, 291, 300, 50,
1167 296, 50, 297, 50, 304, 314, 364, 292, 301, 320,
1168 311, 293, 294, 313, 295, 298, 305, 318, 299, 306,
1169
1170 50, 50, 50, 315, 291, 50, 50, 296, 50, 297,
1171 322, 50, 314, 364, 292, 50, 320, 50, 293, 294,
1172 307, 295, 298, 305, 316, 299, 306, 308, 317, 319,
1173 315, 50, 321, 309, 324, 50, 50, 322, 325, 328,
1174 310, 50, 326, 327, 329, 50, 331, 332, 50, 50,
1175 336, 316, 50, 50, 308, 317, 319, 330, 333, 321,
1176 309, 324, 50, 334, 50, 325, 328, 310, 337, 335,
1177 50, 329, 50, 331, 332, 338, 50, 336, 339, 50,
1178 341, 50, 340, 342, 330, 333, 50, 50, 50, 344,
1179 334, 50, 346, 50, 347, 337, 335, 343, 348, 350,
1180
1181 50, 50, 338, 345, 50, 339, 50, 341, 352, 340,
1182 342, 50, 50, 349, 50, 50, 344, 50, 351, 346,
1183 50, 347, 355, 50, 343, 353, 350, 50, 354, 356,
1184 345, 50, 358, 50, 357, 352, 359, 361, 367, 360,
1185 349, 50, 50, 50, 50, 351, 365, 50, 50, 355,
1186 50, 50, 353, 50, 362, 354, 356, 363, 366, 358,
1187 396, 357, 368, 50, 361, 367, 360, 369, 370, 50,
1188 372, 373, 50, 365, 371, 50, 50, 50, 50, 50,
1189 374, 362, 50, 50, 363, 366, 50, 50, 375, 368,
1190 376, 377, 378, 50, 369, 370, 50, 372, 373, 379,
1191
1192 50, 371, 50, 380, 50, 50, 50, 374, 381, 384,
1193 383, 386, 382, 50, 387, 375, 400, 376, 377, 378,
1194 50, 50, 50, 50, 385, 388, 379, 389, 403, 50,
1195 380, 50, 390, 50, 50, 381, 384, 383, 386, 382,
1196 392, 387, 398, 50, 393, 50, 397, 50, 391, 50,
1197 401, 385, 388, 402, 389, 50, 50, 394, 50, 390,
1198 395, 50, 404, 413, 406, 50, 405, 392, 50, 398,
1199 50, 393, 50, 397, 50, 391, 408, 401, 50, 407,
1200 402, 409, 410, 50, 394, 411, 50, 395, 412, 404,
1201 413, 406, 414, 405, 50, 415, 416, 50, 417, 50,
1202
1203 50, 421, 50, 418, 419, 50, 407, 420, 50, 50,
1204 50, 452, 50, 50, 50, 412, 50, 422, 50, 414,
1205 50, 425, 415, 416, 50, 417, 50, 423, 421, 424,
1206 418, 419, 50, 426, 420, 427, 50, 428, 430, 50,
1207 433, 435, 50, 50, 422, 431, 436, 50, 425, 50,
1208 50, 429, 50, 50, 423, 50, 424, 50, 50, 432,
1209 426, 434, 427, 437, 428, 430, 50, 433, 438, 439,
1210 440, 441, 431, 442, 50, 50, 50, 443, 429, 50,
1211 444, 50, 445, 50, 447, 50, 432, 50, 434, 50,
1212 437, 50, 50, 50, 50, 438, 439, 440, 441, 446,
1213
1214 449, 50, 450, 451, 457, 448, 50, 444, 50, 445,
1215 50, 447, 50, 453, 50, 50, 458, 454, 459, 50,
1216 50, 50, 455, 50, 462, 50, 446, 449, 461, 450,
1217 451, 50, 448, 460, 50, 463, 50, 50, 466, 50,
1218 453, 465, 456, 458, 464, 459, 50, 50, 50, 471,
1219 50, 462, 50, 469, 467, 461, 470, 468, 50, 472,
1220 460, 50, 463, 50, 473, 466, 50, 50, 465, 456,
1221 50, 464, 50, 474, 475, 50, 471, 476, 50, 477,
1222 469, 467, 478, 470, 468, 479, 472, 480, 481, 50,
1223 50, 473, 483, 482, 50, 50, 50, 485, 490, 50,
1224
1225 474, 475, 484, 50, 50, 50, 477, 50, 50, 478,
1226 487, 486, 479, 50, 480, 481, 491, 494, 488, 483,
1227 482, 50, 50, 493, 485, 50, 489, 492, 495, 484,
1228 496, 50, 50, 502, 504, 50, 50, 487, 486, 50,
1229 50, 50, 50, 50, 494, 488, 503, 509, 50, 50,
1230 493, 50, 50, 489, 492, 495, 50, 496, 497, 508,
1231 502, 504, 498, 510, 505, 499, 50, 50, 50, 50,
1232 511, 506, 500, 503, 509, 501, 507, 518, 50, 512,
1233 50, 50, 513, 50, 50, 497, 508, 514, 50, 498,
1234 510, 505, 499, 516, 515, 50, 517, 511, 521, 500,
1235
1236 50, 519, 501, 520, 50, 50, 512, 50, 522, 513,
1237 50, 524, 50, 523, 514, 525, 50, 50, 50, 527,
1238 516, 515, 50, 517, 526, 521, 528, 529, 519, 530,
1239 520, 531, 532, 50, 534, 522, 533, 50, 535, 50,
1240 523, 50, 525, 50, 50, 536, 527, 50, 537, 538,
1241 541, 526, 539, 540, 50, 50, 547, 50, 50, 532,
1242 50, 50, 50, 533, 50, 535, 542, 50, 543, 544,
1243 544, 544, 536, 50, 50, 50, 545, 541, 50, 539,
1244 540, 551, 550, 50, 546, 552, 553, 949, 554, 50,
1245 50, 555, 50, 542, 556, 543, 50, 50, 50, 50,
1246
1247 50, 557, 560, 545, 50, 562, 564, 50, 551, 550,
1248 558, 546, 552, 50, 50, 554, 50, 50, 555, 559,
1249 50, 556, 567, 561, 563, 566, 50, 50, 557, 560,
1250 50, 50, 562, 565, 50, 568, 569, 558, 570, 50,
1251 50, 571, 572, 50, 50, 573, 559, 50, 50, 567,
1252 561, 563, 566, 575, 574, 576, 50, 50, 577, 578,
1253 565, 50, 568, 569, 50, 570, 50, 50, 571, 572,
1254 579, 580, 573, 587, 588, 50, 581, 589, 50, 591,
1255 575, 574, 576, 50, 50, 577, 578, 50, 590, 592,
1256 50, 593, 50, 50, 50, 50, 594, 579, 580, 595,
1257
1258 587, 588, 50, 581, 582, 50, 583, 50, 50, 596,
1259 584, 50, 585, 597, 50, 590, 592, 586, 593, 598,
1260 601, 50, 600, 594, 611, 599, 595, 607, 50, 603,
1261 50, 582, 602, 583, 604, 50, 596, 584, 50, 585,
1262 597, 608, 50, 50, 586, 50, 598, 605, 50, 600,
1263 609, 50, 599, 606, 610, 50, 603, 50, 50, 602,
1264 612, 604, 50, 613, 50, 50, 621, 615, 614, 50,
1265 50, 617, 50, 50, 605, 616, 50, 609, 618, 620,
1266 606, 610, 623, 619, 625, 50, 622, 50, 50, 50,
1267 613, 50, 628, 50, 615, 614, 50, 50, 617, 50,
1268
1269 629, 50, 616, 624, 630, 618, 620, 50, 631, 623,
1270 619, 625, 626, 622, 627, 50, 50, 50, 632, 628,
1271 633, 50, 634, 50, 635, 636, 637, 637, 637, 637,
1272 624, 949, 638, 50, 640, 631, 644, 50, 650, 626,
1273 50, 627, 639, 647, 50, 50, 50, 643, 50, 634,
1274 548, 635, 548, 548, 50, 645, 50, 649, 50, 638,
1275 50, 640, 50, 644, 646, 50, 50, 50, 648, 639,
1276 647, 50, 651, 654, 643, 652, 653, 655, 656, 50,
1277 50, 658, 645, 665, 662, 50, 661, 657, 659, 664,
1278 50, 646, 50, 50, 668, 648, 50, 663, 50, 50,
1279
1280 50, 50, 652, 653, 655, 50, 50, 50, 660, 50,
1281 665, 50, 50, 661, 657, 666, 50, 50, 667, 669,
1282 670, 668, 671, 672, 663, 50, 674, 50, 673, 677,
1283 675, 50, 678, 50, 679, 660, 680, 50, 50, 676,
1284 50, 682, 666, 50, 50, 667, 669, 670, 50, 671,
1285 672, 50, 50, 674, 50, 673, 677, 675, 50, 678,
1286 681, 679, 683, 680, 685, 684, 676, 50, 682, 686,
1287 687, 688, 690, 689, 696, 691, 692, 50, 50, 50,
1288 50, 697, 50, 695, 50, 50, 693, 681, 701, 683,
1289 50, 685, 684, 50, 50, 694, 686, 687, 688, 690,
1290
1291 689, 50, 691, 698, 50, 699, 702, 50, 50, 50,
1292 695, 50, 700, 693, 50, 703, 704, 706, 705, 707,
1293 50, 50, 694, 50, 50, 708, 50, 710, 50, 711,
1294 698, 50, 699, 702, 713, 50, 709, 714, 715, 700,
1295 50, 716, 703, 50, 706, 705, 707, 50, 50, 50,
1296 720, 712, 708, 50, 710, 722, 711, 719, 50, 50,
1297 717, 713, 718, 709, 714, 50, 50, 723, 716, 721,
1298 729, 50, 50, 50, 50, 50, 50, 720, 712, 50,
1299 724, 725, 722, 50, 719, 728, 50, 717, 726, 718,
1300 641, 50, 641, 641, 723, 50, 721, 636, 637, 637,
1301
1302 637, 637, 727, 50, 730, 734, 731, 724, 725, 732,
1303 50, 50, 50, 50, 733, 726, 735, 738, 742, 50,
1304 736, 741, 737, 50, 739, 740, 50, 50, 750, 727,
1305 50, 730, 734, 731, 50, 743, 732, 50, 50, 50,
1306 744, 733, 50, 752, 50, 742, 50, 736, 50, 737,
1307 50, 739, 745, 50, 50, 748, 50, 746, 50, 747,
1308 749, 50, 743, 751, 753, 50, 50, 744, 755, 50,
1309 752, 50, 50, 754, 756, 50, 758, 50, 757, 745,
1310 761, 50, 759, 50, 746, 50, 747, 762, 50, 760,
1311 751, 753, 763, 765, 766, 755, 768, 50, 764, 767,
1312
1313 754, 756, 50, 50, 50, 757, 50, 50, 50, 759,
1314 50, 50, 50, 50, 762, 50, 760, 769, 50, 763,
1315 765, 766, 771, 768, 770, 764, 767, 772, 773, 775,
1316 774, 50, 50, 776, 777, 50, 50, 50, 778, 779,
1317 781, 50, 782, 780, 788, 50, 784, 50, 50, 771,
1318 50, 770, 50, 783, 772, 773, 775, 774, 50, 50,
1319 776, 777, 50, 785, 50, 786, 779, 781, 787, 782,
1320 780, 50, 50, 784, 50, 789, 790, 792, 791, 793,
1321 783, 795, 50, 794, 796, 50, 50, 50, 50, 50,
1322 785, 50, 786, 50, 798, 787, 797, 50, 800, 50,
1323
1324 799, 50, 789, 790, 792, 791, 793, 50, 795, 801,
1325 794, 796, 802, 50, 803, 804, 806, 805, 809, 813,
1326 50, 798, 50, 797, 50, 807, 808, 799, 810, 50,
1327 811, 50, 818, 816, 50, 814, 50, 819, 50, 50,
1328 50, 803, 50, 806, 805, 809, 813, 50, 50, 50,
1329 812, 50, 807, 808, 50, 810, 50, 811, 815, 50,
1330 50, 50, 814, 817, 819, 50, 820, 826, 821, 822,
1331 50, 823, 824, 833, 830, 50, 827, 812, 50, 50,
1332 825, 50, 828, 50, 829, 815, 50, 832, 834, 50,
1333 817, 840, 50, 50, 50, 821, 822, 50, 823, 824,
1334
1335 50, 830, 50, 827, 50, 831, 50, 825, 835, 828,
1336 50, 829, 50, 50, 832, 834, 836, 838, 837, 50,
1337 839, 842, 843, 50, 50, 50, 50, 50, 841, 844,
1338 50, 846, 831, 845, 847, 835, 849, 50, 856, 50,
1339 50, 850, 50, 836, 838, 837, 848, 839, 842, 843,
1340 50, 851, 50, 50, 852, 841, 844, 50, 857, 50,
1341 845, 847, 50, 50, 50, 853, 50, 50, 850, 50,
1342 854, 855, 859, 848, 858, 860, 865, 50, 851, 50,
1343 861, 852, 50, 50, 862, 857, 863, 864, 866, 867,
1344 50, 50, 853, 873, 50, 50, 869, 854, 855, 876,
1345
1346 50, 858, 50, 50, 50, 868, 50, 861, 871, 50,
1347 50, 862, 50, 863, 864, 866, 870, 50, 872, 50,
1348 50, 50, 50, 869, 874, 875, 877, 50, 878, 879,
1349 50, 883, 868, 880, 50, 871, 50, 50, 882, 885,
1350 881, 884, 50, 870, 886, 872, 887, 50, 50, 889,
1351 50, 874, 50, 877, 50, 893, 879, 888, 50, 50,
1352 880, 50, 50, 50, 50, 882, 885, 881, 884, 50,
1353 890, 50, 891, 887, 892, 895, 50, 642, 896, 894,
1354 897, 50, 50, 50, 888, 50, 50, 898, 918, 901,
1355 902, 899, 903, 50, 905, 50, 50, 890, 50, 891,
1356
1357 50, 892, 50, 50, 900, 896, 894, 897, 904, 50,
1358 50, 906, 907, 910, 898, 919, 901, 902, 899, 911,
1359 50, 50, 50, 908, 50, 50, 909, 50, 50, 912,
1360 913, 900, 921, 50, 914, 904, 50, 50, 906, 907,
1361 910, 915, 917, 50, 50, 916, 911, 929, 50, 920,
1362 908, 922, 50, 909, 50, 923, 912, 913, 924, 50,
1363 925, 914, 930, 926, 931, 50, 928, 50, 915, 917,
1364 50, 50, 916, 50, 50, 933, 920, 927, 922, 50,
1365 50, 50, 923, 50, 50, 924, 936, 925, 932, 930,
1366 926, 934, 50, 928, 935, 942, 50, 50, 940, 50,
1367
1368 50, 944, 933, 937, 927, 941, 50, 938, 939, 50,
1369 943, 945, 50, 936, 946, 932, 50, 50, 934, 50,
1370 947, 935, 942, 950, 50, 940, 50, 951, 50, 50,
1371 937, 952, 941, 953, 938, 939, 954, 943, 945, 956,
1372 50, 955, 50, 958, 957, 963, 50, 947, 962, 959,
1373 961, 50, 50, 964, 951, 50, 50, 50, 952, 50,
1374 953, 50, 960, 954, 965, 1032, 50, 971, 955, 50,
1375 50, 50, 50, 50, 966, 962, 959, 961, 50, 967,
1376 964, 968, 969, 50, 970, 50, 50, 972, 973, 960,
1377 976, 979, 50, 974, 971, 975, 50, 978, 50, 50,
1378
1379 50, 966, 985, 50, 50, 50, 967, 50, 968, 969,
1380 50, 970, 50, 50, 972, 973, 977, 976, 979, 980,
1381 974, 50, 975, 981, 978, 982, 983, 984, 992, 50,
1382 50, 986, 50, 50, 989, 50, 987, 50, 988, 990,
1383 50, 994, 50, 977, 50, 50, 980, 991, 996, 997,
1384 981, 1000, 982, 983, 984, 992, 50, 50, 993, 998,
1385 50, 989, 50, 50, 50, 988, 990, 995, 994, 50,
1386 50, 50, 1001, 50, 991, 996, 997, 999, 1000, 1004,
1387 1002, 50, 50, 1003, 1006, 993, 998, 50, 1007, 948,
1388 50, 948, 948, 50, 995, 1005, 50, 1008, 50, 1001,
1389
1390 1009, 1011, 50, 50, 999, 1010, 1004, 1002, 1013, 1014,
1391 1003, 1006, 1012, 50, 1015, 50, 50, 50, 50, 1016,
1392 50, 1017, 1005, 50, 1008, 50, 50, 1009, 1011, 1018,
1393 50, 50, 1010, 1019, 50, 1013, 1014, 1020, 1022, 1012,
1394 1021, 1015, 1023, 1024, 50, 1026, 1025, 50, 1017, 1027,
1395 549, 1029, 642, 1030, 1028, 1031, 50, 50, 1033, 50,
1396 50, 50, 50, 50, 1038, 50, 50, 1021, 50, 1023,
1397 50, 50, 1026, 1025, 50, 1039, 1034, 50, 1029, 50,
1398 1030, 1028, 1031, 1036, 1035, 50, 50, 50, 1037, 50,
1399 50, 1038, 50, 1042, 1040, 1041, 50, 1043, 1047, 50,
1400
1401 50, 1046, 1039, 1034, 1044, 1045, 50, 50, 1054, 50,
1402 1036, 1035, 50, 1049, 1050, 1037, 50, 1048, 1052, 1055,
1403 1042, 1040, 1059, 50, 1043, 1047, 50, 50, 1046, 1051,
1404 50, 1044, 1045, 1053, 50, 50, 50, 1056, 1060, 1058,
1405 1049, 1050, 1064, 50, 1048, 1052, 1055, 1057, 50, 1061,
1406 50, 50, 1063, 1065, 1067, 50, 1051, 50, 1066, 1062,
1407 1053, 50, 50, 50, 1056, 1068, 1058, 50, 1069, 50,
1408 50, 50, 1070, 1074, 1057, 1071, 1061, 1076, 50, 1063,
1409 50, 50, 50, 1072, 1075, 1066, 1062, 50, 1073, 1077,
1410 50, 50, 1068, 1078, 50, 1069, 50, 1079, 1080, 1070,
1411
1412 1081, 50, 1071, 50, 1076, 1083, 50, 1085, 1082, 1084,
1413 1072, 50, 1086, 1089, 50, 1073, 1077, 50, 50, 50,
1414 1078, 1088, 1093, 1087, 1079, 1090, 50, 1092, 50, 50,
1415 50, 1091, 1094, 50, 1085, 1082, 1095, 50, 1102, 1103,
1416 50, 50, 50, 50, 50, 1096, 1097, 1098, 1088, 1093,
1417 1087, 1100, 1107, 50, 50, 50, 50, 50, 1091, 1094,
1418 50, 1099, 1105, 1101, 50, 1108, 50, 50, 50, 50,
1419 50, 1104, 1096, 1097, 1098, 1106, 1109, 1111, 1100, 50,
1420 50, 1110, 1112, 50, 50, 1114, 50, 1113, 1099, 1105,
1421 1101, 50, 1108, 549, 1115, 1116, 50, 1122, 1104, 50,
1422
1423 1118, 1119, 1106, 1109, 1111, 50, 1120, 1121, 1110, 50,
1424 50, 1124, 50, 50, 1113, 1117, 1123, 50, 1125, 50,
1425 1126, 1115, 50, 50, 1122, 50, 1128, 1118, 1119, 1127,
1426 1129, 1130, 50, 50, 50, 50, 50, 1132, 1124, 1131,
1427 50, 1133, 1117, 1123, 1137, 1125, 50, 1126, 50, 1134,
1428 1136, 1139, 1135, 50, 50, 1138, 1127, 1129, 1130, 50,
1429 1140, 50, 50, 50, 1132, 50, 1131, 50, 1133, 1141,
1430 1144, 50, 50, 1142, 1145, 1146, 1134, 1136, 1139, 1135,
1431 1143, 50, 1138, 50, 1147, 50, 1148, 50, 50, 1151,
1432 50, 50, 1149, 1150, 1153, 1155, 1141, 1144, 50, 1152,
1433
1434 1142, 1156, 50, 50, 50, 50, 50, 1143, 50, 1159,
1435 50, 1154, 50, 1148, 1157, 1160, 1151, 50, 50, 1149,
1436 1150, 1153, 1158, 50, 50, 50, 1152, 1161, 1156, 1164,
1437 1162, 1165, 1174, 1163, 1166, 1169, 50, 50, 1154, 1172,
1438 1167, 1157, 50, 50, 1189, 1170, 1168, 50, 1171, 1158,
1439 50, 50, 50, 50, 1161, 50, 1164, 1162, 50, 50,
1440 1163, 1175, 50, 50, 1176, 50, 1172, 1167, 1173, 1178,
1441 50, 1177, 1170, 1168, 50, 1171, 1179, 50, 1180, 1182,
1442 50, 1181, 1183, 50, 1185, 50, 1184, 50, 1175, 50,
1443 50, 1176, 50, 50, 1186, 1173, 1178, 1187, 1177, 1194,
1444
1445 1191, 1188, 50, 1192, 50, 1180, 50, 50, 1181, 50,
1446 50, 1185, 1190, 1184, 50, 1193, 50, 1199, 1196, 50,
1447 50, 1186, 50, 1195, 1197, 50, 1194, 1191, 1188, 50,
1448 1192, 50, 50, 1198, 1200, 50, 1201, 50, 1204, 1190,
1449 50, 50, 1193, 50, 1199, 1196, 1202, 1203, 50, 50,
1450 1195, 1197, 50, 50, 50, 50, 50, 50, 50, 107,
1451 1198, 105, 50, 1201, 104, 102, 50, 50, 50, 107,
1452 105, 104, 102, 1202, 1203, 35, 35, 35, 35, 40,
1453 40, 40, 40, 45, 45, 45, 45, 53, 53, 50,
1454 53, 101, 101, 106, 106, 54, 54, 1205, 54, 9,
1455
1456 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1457 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1458 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1459 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1460 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1461 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1462 1205, 1205, 1205, 1205, 1205, 1205
1463 } ;
1464
1465 static const flex_int16_t yy_chk[3467] =
1466 { 0,
1467 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1468 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1469 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1472 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1473 1, 1, 1, 1, 1, 1, 3, 3, 3, 4,
1474 4, 4, 5, 5, 5, 5, 6, 6, 6, 6,
1475 7, 7, 7, 8, 8, 8, 11, 39, 39, 14,
1476 11, 14, 14, 1217, 16, 1216, 15, 19, 15, 34,
1477
1478 51, 34, 34, 3, 51, 15, 4, 22, 15, 21,
1479 5, 15, 16, 1215, 6, 19, 32, 7, 1212, 22,
1480 8, 16, 17, 15, 19, 15, 17, 14, 20, 17,
1481 17, 21, 15, 1209, 22, 15, 21, 32, 20, 1204,
1482 20, 17, 25, 32, 48, 48, 57, 33, 25, 17,
1483 60, 20, 29, 17, 57, 20, 17, 17, 18, 33,
1484 23, 29, 18, 60, 24, 20, 18, 20, 23, 25,
1485 1200, 18, 18, 57, 33, 18, 29, 60, 24, 29,
1486 23, 31, 24, 133, 18, 18, 23, 23, 29, 18,
1487 24, 24, 1187, 18, 58, 23, 26, 30, 18, 18,
1488
1489 66, 58, 18, 31, 26, 24, 27, 23, 31, 24,
1490 26, 133, 30, 26, 28, 69, 27, 59, 28, 27,
1491 30, 58, 26, 26, 30, 66, 1183, 66, 27, 28,
1492 1182, 26, 44, 27, 44, 44, 28, 26, 59, 30,
1493 26, 28, 62, 27, 59, 28, 27, 50, 69, 50,
1494 50, 53, 56, 53, 53, 61, 28, 56, 63, 63,
1495 62, 64, 1179, 65, 61, 68, 67, 64, 70, 62,
1496 65, 63, 56, 68, 71, 118, 72, 102, 102, 56,
1497 70, 1169, 61, 73, 56, 63, 63, 67, 64, 53,
1498 65, 76, 68, 67, 75, 70, 75, 71, 72, 79,
1499
1500 73, 71, 74, 72, 78, 74, 74, 73, 118, 77,
1501 73, 76, 77, 81, 79, 80, 82, 78, 76, 86,
1502 81, 75, 85, 107, 107, 83, 79, 73, 86, 80,
1503 74, 78, 83, 89, 82, 74, 77, 84, 87, 89,
1504 81, 90, 80, 82, 84, 85, 86, 92, 92, 85,
1505 87, 95, 83, 1166, 1165, 93, 90, 74, 98, 95,
1506 89, 94, 91, 1160, 84, 87, 88, 98, 90, 88,
1507 97, 1159, 94, 91, 92, 108, 88, 91, 95, 91,
1508 88, 93, 93, 96, 88, 98, 91, 108, 94, 91,
1509 88, 110, 97, 88, 96, 110, 88, 97, 113, 99,
1510
1511 91, 100, 108, 88, 91, 109, 91, 88, 99, 116,
1512 96, 88, 111, 104, 100, 104, 104, 109, 110, 115,
1513 112, 113, 114, 116, 117, 113, 99, 119, 100, 112,
1514 116, 111, 109, 130, 114, 121, 116, 120, 122, 111,
1515 117, 115, 123, 120, 124, 122, 115, 112, 125, 114,
1516 116, 117, 127, 119, 119, 124, 121, 1155, 128, 126,
1517 123, 131, 121, 129, 120, 122, 130, 127, 129, 123,
1518 125, 124, 126, 132, 132, 125, 1147, 135, 138, 127,
1519 128, 134, 129, 136, 137, 128, 126, 1146, 139, 129,
1520 129, 137, 1145, 134, 131, 129, 140, 141, 136, 145,
1521
1522 138, 142, 1140, 132, 145, 138, 139, 1137, 142, 129,
1523 135, 137, 143, 146, 134, 139, 136, 141, 148, 140,
1524 134, 147, 144, 140, 141, 136, 145, 147, 142, 144,
1525 148, 149, 153, 143, 150, 146, 152, 149, 151, 143,
1526 146, 153, 150, 154, 1128, 148, 156, 155, 147, 144,
1527 157, 151, 155, 158, 159, 160, 164, 162, 149, 153,
1528 158, 150, 165, 169, 1121, 151, 154, 156, 163, 152,
1529 154, 167, 157, 156, 155, 167, 1120, 157, 168, 164,
1530 158, 162, 166, 164, 165, 163, 174, 159, 160, 165,
1531 162, 166, 171, 163, 172, 163, 169, 173, 167, 171,
1532
1533 168, 177, 175, 179, 174, 168, 172, 176, 162, 166,
1534 173, 175, 163, 174, 178, 180, 183, 181, 184, 171,
1535 182, 172, 193, 179, 173, 176, 185, 177, 177, 175,
1536 179, 182, 186, 185, 176, 188, 180, 187, 186, 178,
1537 191, 178, 180, 181, 181, 189, 187, 182, 190, 183,
1538 1116, 184, 191, 185, 189, 193, 192, 190, 188, 186,
1539 194, 197, 188, 199, 187, 196, 202, 191, 192, 198,
1540 196, 201, 189, 200, 203, 190, 199, 196, 198, 197,
1541 204, 1114, 206, 192, 208, 199, 218, 200, 197, 201,
1542 199, 213, 196, 194, 202, 203, 198, 196, 201, 205,
1543
1544 200, 203, 207, 199, 206, 209, 210, 211, 204, 206,
1545 212, 205, 208, 213, 214, 211, 215, 212, 213, 218,
1546 207, 221, 1112, 209, 210, 217, 205, 1107, 219, 207,
1547 220, 232, 209, 210, 211, 216, 214, 212, 222, 215,
1548 316, 214, 228, 215, 216, 216, 227, 217, 220, 216,
1549 219, 225, 217, 216, 221, 219, 222, 220, 227, 225,
1550 228, 226, 216, 231, 232, 222, 233, 243, 316, 228,
1551 238, 216, 216, 227, 226, 233, 216, 223, 225, 1103,
1552 224, 231, 224, 238, 229, 234, 284, 223, 226, 240,
1553 231, 223, 223, 233, 223, 224, 229, 238, 224, 229,
1554
1555 243, 223, 1102, 235, 223, 284, 224, 224, 234, 224,
1556 242, 240, 234, 284, 223, 235, 240, 229, 223, 223,
1557 230, 223, 224, 229, 236, 224, 229, 230, 237, 239,
1558 235, 236, 241, 230, 244, 237, 242, 242, 245, 247,
1559 230, 239, 246, 246, 248, 247, 249, 250, 230, 245,
1560 254, 236, 244, 241, 230, 237, 239, 248, 251, 241,
1561 230, 244, 248, 252, 249, 245, 247, 230, 255, 253,
1562 250, 248, 246, 249, 250, 256, 254, 254, 257, 251,
1563 259, 255, 258, 260, 248, 251, 252, 1095, 256, 262,
1564 252, 253, 264, 259, 265, 255, 253, 261, 266, 270,
1565
1566 257, 260, 256, 263, 258, 257, 263, 259, 272, 258,
1567 260, 262, 261, 268, 264, 268, 262, 270, 271, 264,
1568 265, 265, 276, 272, 261, 274, 270, 271, 275, 277,
1569 263, 266, 279, 275, 278, 272, 280, 282, 287, 281,
1570 268, 1092, 278, 279, 276, 271, 285, 287, 274, 276,
1571 281, 277, 274, 285, 283, 275, 277, 283, 286, 279,
1572 313, 278, 288, 282, 282, 287, 281, 289, 290, 280,
1573 292, 293, 283, 285, 291, 1090, 290, 293, 292, 1089,
1574 294, 283, 289, 286, 283, 286, 291, 288, 295, 288,
1575 296, 297, 298, 313, 289, 290, 296, 292, 293, 299,
1576
1577 1086, 291, 294, 300, 298, 300, 295, 294, 301, 304,
1578 303, 305, 302, 297, 306, 295, 317, 296, 297, 298,
1579 302, 299, 303, 306, 304, 308, 299, 309, 320, 305,
1580 300, 1084, 310, 304, 301, 301, 304, 303, 305, 302,
1581 311, 306, 315, 308, 312, 309, 314, 311, 310, 317,
1582 318, 304, 308, 319, 309, 310, 1083, 312, 314, 310,
1583 312, 320, 321, 329, 323, 315, 322, 311, 319, 315,
1584 312, 312, 318, 314, 322, 310, 325, 318, 323, 324,
1585 319, 325, 326, 321, 312, 327, 329, 312, 328, 321,
1586 329, 323, 330, 322, 324, 331, 332, 1081, 333, 328,
1587
1588 1080, 337, 331, 334, 335, 1067, 324, 336, 1065, 325,
1589 326, 365, 334, 327, 330, 328, 337, 338, 332, 330,
1590 336, 341, 331, 332, 333, 333, 335, 339, 337, 340,
1591 334, 335, 338, 342, 336, 343, 341, 344, 345, 365,
1592 347, 349, 1064, 1059, 338, 346, 349, 342, 341, 345,
1593 339, 344, 340, 1054, 339, 347, 340, 343, 344, 346,
1594 342, 348, 343, 350, 344, 345, 346, 347, 351, 352,
1595 353, 354, 346, 355, 349, 348, 350, 356, 344, 1041,
1596 357, 351, 358, 1033, 360, 1027, 346, 357, 348, 360,
1597 350, 352, 353, 354, 358, 351, 352, 353, 354, 359,
1598
1599 362, 362, 363, 364, 368, 361, 355, 357, 359, 358,
1600 356, 360, 361, 366, 1024, 1022, 369, 367, 370, 366,
1601 363, 364, 367, 1020, 373, 370, 359, 362, 372, 363,
1602 364, 368, 361, 371, 369, 374, 372, 1019, 377, 371,
1603 366, 376, 367, 369, 375, 370, 373, 377, 376, 382,
1604 367, 373, 374, 380, 378, 372, 381, 379, 375, 383,
1605 371, 380, 374, 378, 384, 377, 379, 382, 376, 367,
1606 381, 375, 383, 385, 386, 384, 382, 387, 1018, 388,
1607 380, 378, 389, 381, 379, 390, 383, 391, 392, 386,
1608 389, 384, 394, 393, 388, 385, 393, 396, 401, 1016,
1609
1610 385, 386, 395, 390, 394, 387, 388, 392, 395, 389,
1611 398, 397, 390, 391, 391, 392, 402, 405, 400, 394,
1612 393, 396, 1007, 404, 396, 397, 400, 403, 406, 395,
1613 407, 401, 398, 412, 414, 403, 987, 398, 397, 405,
1614 406, 404, 400, 414, 405, 400, 413, 418, 985, 402,
1615 404, 965, 407, 400, 403, 406, 412, 407, 408, 417,
1616 412, 414, 408, 419, 415, 408, 415, 958, 413, 418,
1617 420, 416, 408, 413, 418, 408, 416, 427, 420, 421,
1618 408, 421, 422, 417, 422, 408, 417, 423, 419, 408,
1619 419, 415, 408, 425, 424, 425, 426, 420, 430, 408,
1620
1621 423, 428, 408, 429, 416, 427, 421, 424, 431, 422,
1622 428, 433, 429, 432, 423, 434, 430, 431, 426, 437,
1623 425, 424, 432, 426, 435, 430, 438, 439, 428, 440,
1624 429, 441, 442, 435, 444, 431, 443, 957, 445, 437,
1625 432, 434, 434, 950, 433, 446, 437, 445, 447, 447,
1626 450, 435, 448, 449, 438, 439, 456, 446, 442, 442,
1627 443, 450, 440, 443, 441, 445, 451, 444, 453, 454,
1628 454, 454, 446, 451, 448, 449, 454, 450, 447, 448,
1629 449, 459, 458, 456, 454, 460, 461, 948, 462, 453,
1630 946, 463, 944, 451, 464, 453, 458, 462, 460, 459,
1631
1632 454, 465, 468, 454, 931, 470, 472, 468, 459, 458,
1633 466, 454, 460, 463, 461, 462, 464, 466, 463, 467,
1634 465, 464, 475, 469, 471, 474, 467, 470, 465, 468,
1635 469, 471, 470, 473, 472, 477, 478, 466, 479, 473,
1636 474, 480, 481, 478, 475, 482, 467, 479, 480, 475,
1637 469, 471, 474, 484, 483, 485, 481, 477, 486, 487,
1638 473, 483, 477, 478, 487, 479, 482, 485, 480, 481,
1639 488, 489, 482, 492, 493, 484, 490, 494, 919, 496,
1640 484, 483, 485, 490, 486, 486, 487, 493, 495, 497,
1641 905, 498, 488, 489, 903, 492, 499, 488, 489, 500,
1642
1643 492, 493, 497, 490, 491, 494, 491, 496, 499, 500,
1644 491, 495, 491, 501, 498, 495, 497, 491, 498, 502,
1645 505, 500, 504, 499, 516, 503, 500, 512, 491, 508,
1646 504, 491, 506, 491, 509, 501, 500, 491, 503, 491,
1647 501, 513, 509, 506, 491, 502, 502, 510, 505, 504,
1648 514, 508, 503, 511, 515, 512, 508, 516, 514, 506,
1649 517, 509, 515, 519, 511, 510, 527, 521, 520, 513,
1650 520, 523, 895, 523, 510, 522, 521, 514, 524, 526,
1651 511, 515, 531, 525, 533, 519, 530, 524, 893, 530,
1652 519, 525, 536, 517, 521, 520, 533, 522, 523, 527,
1653
1654 537, 526, 522, 532, 538, 524, 526, 531, 539, 531,
1655 525, 533, 534, 530, 535, 534, 532, 536, 540, 536,
1656 541, 535, 542, 539, 543, 544, 544, 544, 544, 544,
1657 532, 886, 545, 537, 546, 539, 551, 538, 558, 534,
1658 883, 535, 545, 555, 542, 543, 540, 550, 541, 542,
1659 549, 543, 549, 549, 545, 552, 546, 557, 544, 545,
1660 551, 546, 552, 551, 554, 550, 554, 555, 556, 545,
1661 555, 558, 559, 562, 550, 560, 561, 563, 565, 563,
1662 556, 567, 552, 573, 570, 557, 569, 566, 568, 572,
1663 876, 554, 573, 560, 576, 556, 873, 571, 561, 566,
1664
1665 559, 562, 560, 561, 563, 571, 576, 569, 568, 567,
1666 573, 565, 570, 569, 566, 574, 568, 572, 575, 577,
1667 578, 576, 579, 580, 571, 580, 582, 575, 581, 585,
1668 583, 579, 586, 574, 587, 568, 588, 577, 578, 584,
1669 581, 592, 574, 583, 586, 575, 577, 578, 582, 579,
1670 580, 585, 584, 582, 588, 581, 585, 583, 587, 586,
1671 590, 587, 593, 588, 595, 594, 584, 592, 592, 596,
1672 597, 598, 600, 599, 609, 602, 603, 595, 598, 597,
1673 599, 610, 590, 606, 593, 594, 604, 590, 614, 593,
1674 600, 595, 594, 596, 604, 605, 596, 597, 598, 600,
1675
1676 599, 602, 602, 611, 603, 612, 615, 609, 605, 606,
1677 606, 611, 613, 604, 610, 616, 617, 619, 618, 620,
1678 613, 614, 605, 616, 619, 621, 620, 622, 615, 623,
1679 611, 612, 612, 615, 625, 623, 621, 626, 627, 613,
1680 618, 628, 616, 621, 619, 618, 620, 625, 622, 617,
1681 634, 624, 621, 624, 622, 636, 623, 631, 626, 628,
1682 629, 625, 630, 621, 626, 634, 627, 638, 628, 635,
1683 646, 629, 860, 630, 859, 631, 638, 634, 624, 636,
1684 639, 640, 636, 640, 631, 645, 639, 629, 643, 630,
1685 642, 635, 642, 642, 638, 643, 635, 637, 637, 637,
1686
1687 637, 637, 644, 646, 647, 653, 648, 639, 640, 650,
1688 644, 647, 648, 645, 652, 643, 655, 660, 666, 653,
1689 656, 665, 657, 856, 661, 663, 840, 820, 673, 644,
1690 637, 647, 653, 648, 650, 667, 650, 667, 652, 666,
1691 668, 652, 661, 675, 655, 666, 656, 656, 657, 657,
1692 660, 661, 669, 663, 665, 672, 668, 670, 816, 671,
1693 672, 673, 667, 674, 676, 669, 671, 668, 678, 675,
1694 675, 676, 674, 677, 679, 677, 681, 678, 680, 669,
1695 684, 670, 682, 679, 670, 680, 671, 685, 672, 683,
1696 674, 676, 686, 688, 689, 678, 691, 802, 687, 690,
1697
1698 677, 679, 683, 691, 681, 680, 687, 682, 686, 682,
1699 685, 690, 689, 684, 685, 688, 683, 693, 788, 686,
1700 688, 689, 695, 691, 694, 687, 690, 696, 697, 699,
1701 698, 695, 698, 700, 701, 696, 697, 699, 702, 703,
1702 705, 701, 706, 704, 712, 693, 708, 694, 705, 695,
1703 704, 694, 700, 707, 696, 697, 699, 698, 703, 708,
1704 700, 701, 707, 709, 706, 710, 703, 705, 711, 706,
1705 704, 702, 712, 708, 710, 713, 714, 717, 716, 718,
1706 707, 720, 713, 719, 721, 714, 717, 709, 718, 711,
1707 709, 716, 710, 721, 723, 711, 722, 719, 725, 720,
1708
1709 724, 723, 713, 714, 717, 716, 718, 722, 720, 726,
1710 719, 721, 727, 724, 729, 730, 732, 731, 736, 739,
1711 769, 723, 732, 722, 731, 733, 734, 724, 737, 758,
1712 738, 725, 745, 743, 739, 741, 749, 746, 729, 736,
1713 727, 729, 726, 732, 731, 736, 739, 733, 730, 734,
1714 738, 737, 733, 734, 738, 737, 741, 738, 742, 746,
1715 742, 743, 741, 744, 746, 745, 747, 754, 748, 750,
1716 750, 751, 752, 762, 759, 740, 755, 738, 751, 748,
1717 753, 744, 756, 755, 757, 742, 757, 761, 763, 759,
1718 744, 770, 735, 728, 747, 748, 750, 752, 751, 752,
1719
1720 754, 759, 753, 755, 756, 760, 762, 753, 764, 756,
1721 763, 757, 760, 761, 761, 763, 765, 767, 766, 770,
1722 768, 772, 773, 715, 765, 766, 764, 768, 771, 774,
1723 767, 776, 760, 775, 777, 764, 779, 774, 786, 772,
1724 773, 780, 692, 765, 767, 766, 778, 768, 772, 773,
1725 771, 781, 777, 778, 782, 771, 774, 775, 787, 780,
1726 775, 777, 781, 782, 776, 783, 786, 783, 780, 779,
1727 784, 785, 790, 778, 789, 791, 796, 784, 781, 787,
1728 792, 782, 785, 789, 793, 787, 794, 795, 797, 798,
1729 664, 662, 783, 805, 797, 795, 800, 784, 785, 808,
1730
1731 790, 789, 792, 791, 794, 799, 793, 792, 803, 796,
1732 659, 793, 799, 794, 795, 797, 801, 800, 804, 801,
1733 803, 805, 798, 800, 806, 807, 809, 808, 810, 811,
1734 804, 815, 799, 812, 658, 803, 654, 806, 814, 818,
1735 813, 817, 812, 801, 819, 804, 821, 809, 811, 823,
1736 821, 806, 818, 809, 651, 827, 811, 822, 807, 815,
1737 812, 810, 813, 817, 814, 814, 818, 813, 817, 822,
1738 824, 819, 825, 821, 826, 829, 649, 641, 830, 828,
1739 831, 825, 823, 827, 822, 824, 828, 832, 852, 834,
1740 835, 833, 836, 832, 838, 826, 834, 824, 831, 825,
1741
1742 830, 826, 835, 829, 833, 830, 828, 831, 837, 833,
1743 837, 839, 841, 844, 832, 853, 834, 835, 833, 845,
1744 836, 852, 838, 842, 842, 841, 843, 843, 844, 846,
1745 847, 833, 855, 839, 848, 837, 846, 845, 839, 841,
1746 844, 849, 851, 853, 847, 850, 845, 866, 849, 854,
1747 842, 857, 848, 843, 851, 858, 846, 847, 861, 850,
1748 862, 848, 867, 863, 868, 855, 865, 858, 849, 851,
1749 863, 854, 850, 857, 865, 870, 854, 864, 857, 861,
1750 866, 862, 858, 867, 864, 861, 874, 862, 869, 867,
1751 863, 871, 868, 865, 872, 879, 870, 871, 877, 872,
1752
1753 633, 881, 870, 875, 864, 878, 869, 875, 875, 874,
1754 880, 882, 878, 874, 884, 869, 877, 879, 871, 875,
1755 885, 872, 879, 887, 632, 877, 882, 888, 880, 881,
1756 875, 889, 878, 890, 875, 875, 891, 880, 882, 894,
1757 888, 892, 884, 896, 894, 901, 885, 885, 900, 897,
1758 899, 887, 889, 902, 888, 890, 897, 891, 889, 892,
1759 890, 608, 898, 891, 904, 981, 902, 911, 892, 898,
1760 900, 896, 894, 899, 906, 900, 897, 899, 901, 907,
1761 902, 908, 909, 906, 910, 911, 907, 912, 913, 898,
1762 916, 920, 904, 914, 911, 915, 910, 918, 981, 607,
1763
1764 920, 906, 926, 908, 909, 912, 907, 914, 908, 909,
1765 913, 910, 916, 915, 912, 913, 917, 916, 920, 921,
1766 914, 918, 915, 922, 918, 923, 924, 925, 933, 917,
1767 926, 927, 922, 921, 929, 601, 927, 933, 928, 930,
1768 923, 935, 591, 917, 924, 925, 921, 932, 937, 938,
1769 922, 941, 923, 924, 925, 933, 928, 930, 934, 939,
1770 929, 929, 932, 935, 927, 928, 930, 936, 935, 941,
1771 937, 934, 942, 938, 932, 937, 938, 940, 941, 947,
1772 943, 939, 936, 945, 952, 934, 939, 943, 953, 949,
1773 940, 949, 949, 947, 936, 951, 942, 954, 945, 942,
1774
1775 955, 959, 952, 959, 940, 956, 947, 943, 961, 962,
1776 945, 952, 960, 589, 963, 955, 953, 951, 962, 964,
1777 564, 966, 951, 954, 954, 963, 956, 955, 959, 967,
1778 961, 960, 956, 968, 966, 961, 962, 969, 971, 960,
1779 970, 963, 972, 973, 553, 975, 974, 964, 966, 976,
1780 548, 978, 547, 979, 977, 980, 972, 967, 982, 975,
1781 970, 968, 977, 980, 989, 969, 971, 970, 974, 972,
1782 978, 973, 975, 974, 979, 990, 983, 976, 978, 983,
1783 979, 977, 980, 986, 984, 989, 982, 984, 988, 988,
1784 990, 989, 986, 993, 991, 992, 529, 994, 998, 528,
1785
1786 993, 997, 990, 983, 995, 996, 994, 996, 1005, 997,
1787 986, 984, 998, 1000, 1001, 988, 991, 999, 1003, 1006,
1788 993, 991, 1011, 992, 994, 998, 995, 1000, 997, 1002,
1789 1001, 995, 996, 1004, 1006, 999, 1005, 1008, 1012, 1010,
1790 1000, 1001, 1017, 1003, 999, 1003, 1006, 1009, 518, 1013,
1791 1011, 1002, 1015, 1021, 1025, 1004, 1002, 1010, 1023, 1014,
1792 1004, 1008, 1013, 507, 1008, 1026, 1010, 1014, 1028, 1009,
1793 1017, 1012, 1029, 1034, 1009, 1030, 1013, 1036, 1015, 1015,
1794 1023, 1021, 1025, 1031, 1035, 1023, 1014, 1026, 1032, 1037,
1795 1028, 1031, 1026, 1038, 1029, 1028, 1032, 1039, 1040, 1029,
1796
1797 1042, 1030, 1030, 1036, 1036, 1044, 1034, 1046, 1043, 1045,
1798 1031, 1037, 1047, 1050, 1038, 1032, 1037, 1035, 1046, 1039,
1799 1038, 1049, 1055, 1048, 1039, 1051, 1040, 1053, 1042, 1043,
1800 1048, 1052, 1056, 1044, 1046, 1043, 1057, 1045, 1066, 1068,
1801 1047, 1050, 476, 1049, 1055, 1058, 1060, 1060, 1049, 1055,
1802 1048, 1062, 1072, 1051, 1056, 1053, 1060, 1052, 1052, 1056,
1803 1058, 1061, 1070, 1063, 1057, 1073, 1066, 1068, 1061, 1062,
1804 1063, 1069, 1058, 1060, 1060, 1071, 1074, 1076, 1062, 1069,
1805 1072, 1075, 1077, 1073, 1076, 1079, 1070, 1078, 1061, 1070,
1806 1063, 1074, 1073, 457, 1082, 1085, 1075, 1096, 1069, 1071,
1807
1808 1088, 1091, 1071, 1074, 1076, 1078, 1093, 1094, 1075, 1082,
1809 1077, 1098, 1088, 1079, 1078, 1087, 1097, 1087, 1099, 1096,
1810 1100, 1082, 1097, 1085, 1096, 1091, 1104, 1088, 1091, 1101,
1811 1105, 1106, 1100, 1098, 1093, 1094, 1099, 1109, 1098, 1108,
1812 1108, 1110, 1087, 1097, 1117, 1099, 1105, 1100, 1101, 1111,
1813 1115, 1119, 1113, 1106, 1104, 1118, 1101, 1105, 1106, 1109,
1814 1122, 1118, 1115, 1110, 1109, 1113, 1108, 1119, 1110, 1123,
1815 1126, 1111, 1117, 1124, 1127, 1129, 1111, 1115, 1119, 1113,
1816 1125, 1124, 1118, 1126, 1130, 455, 1131, 1125, 1122, 1134,
1817 452, 1123, 1132, 1133, 1136, 1139, 1123, 1126, 1136, 1135,
1818
1819 1124, 1141, 1127, 1129, 1134, 1132, 1133, 1125, 1131, 1144,
1820 1141, 1138, 1130, 1131, 1142, 1148, 1134, 1135, 1138, 1132,
1821 1133, 1136, 1143, 1139, 1143, 1142, 1135, 1149, 1141, 1152,
1822 1150, 1153, 1167, 1151, 1154, 1158, 1152, 1144, 1138, 1163,
1823 1156, 1142, 1156, 1148, 1186, 1161, 1157, 1149, 1162, 1143,
1824 1150, 1151, 1161, 1163, 1149, 1162, 1152, 1150, 1157, 1153,
1825 1151, 1168, 1154, 1158, 1170, 1167, 1163, 1156, 1164, 1172,
1826 1164, 1171, 1161, 1157, 1168, 1162, 1173, 1186, 1174, 1176,
1827 436, 1175, 1177, 1170, 1180, 411, 1178, 1172, 1168, 1175,
1828 1171, 1170, 1174, 1178, 1181, 1164, 1172, 1184, 1171, 1192,
1829
1830 1189, 1185, 410, 1190, 1173, 1174, 1180, 1176, 1175, 1185,
1831 1177, 1180, 1188, 1178, 1189, 1191, 1181, 1197, 1194, 1192,
1832 1188, 1181, 409, 1193, 1195, 1184, 1192, 1189, 1185, 1190,
1833 1190, 1193, 1195, 1196, 1198, 399, 1199, 1191, 1203, 1188,
1834 1194, 1196, 1191, 1197, 1197, 1194, 1201, 1202, 307, 273,
1835 1193, 1195, 269, 267, 195, 1202, 1199, 170, 161, 106,
1836 1196, 105, 1198, 1199, 103, 101, 1203, 49, 1201, 45,
1837 41, 40, 35, 1201, 1202, 1206, 1206, 1206, 1206, 1207,
1838 1207, 1207, 1207, 1208, 1208, 1208, 1208, 1210, 1210, 10,
1839 1210, 1211, 1211, 1213, 1213, 1214, 1214, 9, 1214, 1205,
1840
1841 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1842 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1843 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1844 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1845 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1846 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1847 1205, 1205, 1205, 1205, 1205, 1205
1848 } ;
1849
1850 static yy_state_type yy_last_accepting_state;
1851 static char *yy_last_accepting_cpos;
1852
1853 extern int yy_flex_debug;
1854 int yy_flex_debug = 0;
1855
1856 /* The intent behind this definition is that it'll catch
1857 * any uses of REJECT which flex missed.
1858 */
1859 #define REJECT reject_used_but_not_detected
1860 static int yy_more_flag = 0;
1861 static int yy_more_len = 0;
1862 #define yymore() ((yy_more_flag) = 1)
1863 #define YY_MORE_ADJ (yy_more_len)
1864 #define YY_RESTORE_YY_MORE_OFFSET
1865 char *yytext;
1866 #line 1 "configlexer.lex"
1867 #line 2 "configlexer.lex"
1868 /*
1869 * configlexer.lex - lexical analyzer for NSD config file
1870 *
1871 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
1872 *
1873 * See LICENSE for the license.
1874 *
1875 */
1876 /* because flex keeps having sign-unsigned compare problems that are unfixed*/
1877 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2))))
1878 #pragma GCC diagnostic ignored "-Wsign-compare"
1879 #endif
1880 #include <ctype.h>
1881 #include <errno.h>
1882 #include <string.h>
1883 #include <strings.h>
1884 #ifdef HAVE_GLOB_H
1885 # include <glob.h>
1886 #endif
1887
1888 #include "options.h"
1889 #include "configparser.h"
1890
1891 #if 0
1892 #define LEXOUT(s) printf s /* used ONLY when debugging */
1893 #else
1894 #define LEXOUT(s)
1895 #endif
1896
1897 struct inc_state {
1898 char* filename;
1899 int line;
1900 YY_BUFFER_STATE buffer;
1901 struct inc_state* next;
1902 };
1903 static struct inc_state* config_include_stack = NULL;
1904 static int inc_depth = 0;
1905
config_start_include(const char * filename)1906 static void config_start_include(const char* filename)
1907 {
1908 FILE *input;
1909 struct inc_state* s;
1910 char* nm;
1911 if(inc_depth++ > 10000000) {
1912 c_error("too many include files");
1913 return;
1914 }
1915 if(strlen(filename) == 0) {
1916 c_error("empty include file name");
1917 return;
1918 }
1919 s = (struct inc_state*)malloc(sizeof(*s));
1920 if(!s) {
1921 c_error("include %s: malloc failure", filename);
1922 return;
1923 }
1924 nm = strdup(filename);
1925 if(!nm) {
1926 c_error("include %s: strdup failure", filename);
1927 free(s);
1928 return;
1929 }
1930 input = fopen(filename, "r");
1931 if(!input) {
1932 c_error("cannot open include file '%s': %s",
1933 filename, strerror(errno));
1934 free(s);
1935 free(nm);
1936 return;
1937 }
1938 LEXOUT(("switch_to_include_file(%s) ", filename));
1939 s->filename = cfg_parser->filename;
1940 s->line = cfg_parser->line;
1941 s->buffer = YY_CURRENT_BUFFER;
1942 s->next = config_include_stack;
1943 config_include_stack = s;
1944
1945 cfg_parser->filename = nm;
1946 cfg_parser->line = 1;
1947 yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
1948 }
1949
config_start_include_glob(const char * filename)1950 static void config_start_include_glob(const char* filename)
1951 {
1952 /* check for wildcards */
1953 #ifdef HAVE_GLOB
1954 glob_t g;
1955 int i, r, flags;
1956 #endif /* HAVE_GLOB */
1957 if (cfg_parser->chroot) {
1958 int l = strlen(cfg_parser->chroot); /* chroot has trailing slash */
1959 if (strncmp(cfg_parser->chroot, filename, l) != 0) {
1960 c_error("include file '%s' is not relative to chroot '%s'",
1961 filename, cfg_parser->chroot);
1962 return;
1963 }
1964 filename += l - 1; /* strip chroot without trailing slash */
1965 }
1966 #ifdef HAVE_GLOB
1967 if(!(!strchr(filename, '*') && !strchr(filename, '?') &&
1968 !strchr(filename, '[') && !strchr(filename, '{') &&
1969 !strchr(filename, '~'))) {
1970 flags = 0
1971 #ifdef GLOB_ERR
1972 | GLOB_ERR
1973 #endif
1974 /* do not set GLOB_NOSORT so the results are sorted
1975 and in a predictable order. */
1976 #ifdef GLOB_BRACE
1977 | GLOB_BRACE
1978 #endif
1979 #ifdef GLOB_TILDE
1980 | GLOB_TILDE
1981 #endif
1982 ;
1983 memset(&g, 0, sizeof(g));
1984 r = glob(filename, flags, NULL, &g);
1985 if(r) {
1986 /* some error */
1987 globfree(&g);
1988 if(r == GLOB_NOMATCH)
1989 return; /* no matches for pattern */
1990 config_start_include(filename); /* let original deal with it */
1991 return;
1992 }
1993 /* process files found, if any */
1994 for(i=(int)g.gl_pathc-1; i>=0; i--) {
1995 config_start_include(g.gl_pathv[i]);
1996 }
1997 globfree(&g);
1998 return;
1999 }
2000 #endif /* HAVE_GLOB */
2001 config_start_include(filename);
2002 }
2003
config_end_include(void)2004 static void config_end_include(void)
2005 {
2006 struct inc_state* s = config_include_stack;
2007 --inc_depth;
2008 if(!s) return;
2009 free(cfg_parser->filename);
2010 cfg_parser->filename = s->filename;
2011 cfg_parser->line = s->line;
2012 yy_delete_buffer(YY_CURRENT_BUFFER);
2013 yy_switch_to_buffer(s->buffer);
2014 config_include_stack = s->next;
2015 free(s);
2016 }
2017
2018 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
2019 #define yy_set_bol(at_bol) \
2020 { \
2021 if ( ! yy_current_buffer ) \
2022 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
2023 yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
2024 }
2025 #endif
2026
2027 #line 2026 "<stdout>"
2028 #define YY_NO_INPUT 1
2029 #line 165 "configlexer.lex"
2030 #ifndef YY_NO_UNPUT
2031 #define YY_NO_UNPUT 1
2032 #endif
2033 #ifndef YY_NO_INPUT
2034 #define YY_NO_INPUT 1
2035 #endif
2036 #line 2035 "<stdout>"
2037
2038 #line 2037 "<stdout>"
2039
2040 #define INITIAL 0
2041 #define quotedstring 1
2042 #define include 2
2043 #define include_quoted 3
2044
2045 #ifndef YY_NO_UNISTD_H
2046 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2047 * down here because we want the user's section 1 to have been scanned first.
2048 * The user has a chance to override it with an option.
2049 */
2050 #include <unistd.h>
2051 #endif
2052
2053 #ifndef YY_EXTRA_TYPE
2054 #define YY_EXTRA_TYPE void *
2055 #endif
2056
2057 static int yy_init_globals ( void );
2058
2059 /* Accessor methods to globals.
2060 These are made visible to non-reentrant scanners for convenience. */
2061
2062 int yylex_destroy ( void );
2063
2064 int yyget_debug ( void );
2065
2066 void yyset_debug ( int debug_flag );
2067
2068 YY_EXTRA_TYPE yyget_extra ( void );
2069
2070 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2071
2072 FILE *yyget_in ( void );
2073
2074 void yyset_in ( FILE * _in_str );
2075
2076 FILE *yyget_out ( void );
2077
2078 void yyset_out ( FILE * _out_str );
2079
2080 int yyget_leng ( void );
2081
2082 char *yyget_text ( void );
2083
2084 int yyget_lineno ( void );
2085
2086 void yyset_lineno ( int _line_number );
2087
2088 /* Macros after this point can all be overridden by user definitions in
2089 * section 1.
2090 */
2091
2092 #ifndef YY_SKIP_YYWRAP
2093 #ifdef __cplusplus
2094 extern "C" int yywrap ( void );
2095 #else
2096 extern int yywrap ( void );
2097 #endif
2098 #endif
2099
2100 #ifndef YY_NO_UNPUT
2101
2102 #endif
2103
2104 #ifndef yytext_ptr
2105 static void yy_flex_strncpy ( char *, const char *, int );
2106 #endif
2107
2108 #ifdef YY_NEED_STRLEN
2109 static int yy_flex_strlen ( const char * );
2110 #endif
2111
2112 #ifndef YY_NO_INPUT
2113 #ifdef __cplusplus
2114 static int yyinput ( void );
2115 #else
2116 static int input ( void );
2117 #endif
2118
2119 #endif
2120
2121 /* Amount of stuff to slurp up with each read. */
2122 #ifndef YY_READ_BUF_SIZE
2123 #ifdef __ia64__
2124 /* On IA-64, the buffer size is 16k, not 8k */
2125 #define YY_READ_BUF_SIZE 16384
2126 #else
2127 #define YY_READ_BUF_SIZE 8192
2128 #endif /* __ia64__ */
2129 #endif
2130
2131 /* Copy whatever the last rule matched to the standard output. */
2132 #ifndef ECHO
2133 /* This used to be an fputs(), but since the string might contain NUL's,
2134 * we now use fwrite().
2135 */
2136 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2137 #endif
2138
2139 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2140 * is returned in "result".
2141 */
2142 #ifndef YY_INPUT
2143 #define YY_INPUT(buf,result,max_size) \
2144 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2145 { \
2146 int c = '*'; \
2147 int n; \
2148 for ( n = 0; n < max_size && \
2149 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2150 buf[n] = (char) c; \
2151 if ( c == '\n' ) \
2152 buf[n++] = (char) c; \
2153 if ( c == EOF && ferror( yyin ) ) \
2154 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2155 result = n; \
2156 } \
2157 else \
2158 { \
2159 errno=0; \
2160 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2161 { \
2162 if( errno != EINTR) \
2163 { \
2164 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2165 break; \
2166 } \
2167 errno=0; \
2168 clearerr(yyin); \
2169 } \
2170 }\
2171 \
2172
2173 #endif
2174
2175 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2176 * we don't want an extra ';' after the "return" because that will cause
2177 * some compilers to complain about unreachable statements.
2178 */
2179 #ifndef yyterminate
2180 #define yyterminate() return YY_NULL
2181 #endif
2182
2183 /* Number of entries by which start-condition stack grows. */
2184 #ifndef YY_START_STACK_INCR
2185 #define YY_START_STACK_INCR 25
2186 #endif
2187
2188 /* Report a fatal error. */
2189 #ifndef YY_FATAL_ERROR
2190 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2191 #endif
2192
2193 /* end tables serialization structures and prototypes */
2194
2195 /* Default declaration of generated scanner - a define so the user can
2196 * easily add parameters.
2197 */
2198 #ifndef YY_DECL
2199 #define YY_DECL_IS_OURS 1
2200
2201 extern int yylex (void);
2202
2203 #define YY_DECL int yylex (void)
2204 #endif /* !YY_DECL */
2205
2206 /* Code executed at the beginning of each rule, after yytext and yyleng
2207 * have been set up.
2208 */
2209 #ifndef YY_USER_ACTION
2210 #define YY_USER_ACTION
2211 #endif
2212
2213 /* Code executed at the end of each rule. */
2214 #ifndef YY_BREAK
2215 #define YY_BREAK /*LINTED*/break;
2216 #endif
2217
2218 #define YY_RULE_SETUP \
2219 YY_USER_ACTION
2220
2221 /** The main scanner function which does all the work.
2222 */
2223 YY_DECL
2224 {
2225 yy_state_type yy_current_state;
2226 char *yy_cp, *yy_bp;
2227 int yy_act;
2228
2229 if ( !(yy_init) )
2230 {
2231 (yy_init) = 1;
2232
2233 #ifdef YY_USER_INIT
2234 YY_USER_INIT;
2235 #endif
2236
2237 if ( ! (yy_start) )
2238 (yy_start) = 1; /* first start state */
2239
2240 if ( ! yyin )
2241 yyin = stdin;
2242
2243 if ( ! yyout )
2244 yyout = stdout;
2245
2246 if ( ! YY_CURRENT_BUFFER ) {
2247 yyensure_buffer_stack ();
2248 YY_CURRENT_BUFFER_LVALUE =
2249 yy_create_buffer( yyin, YY_BUF_SIZE );
2250 }
2251
2252 yy_load_buffer_state( );
2253 }
2254
2255 {
2256 #line 183 "configlexer.lex"
2257
2258 #line 2257 "<stdout>"
2259
2260 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2261 {
2262 (yy_more_len) = 0;
2263 if ( (yy_more_flag) )
2264 {
2265 (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
2266 (yy_more_flag) = 0;
2267 }
2268 yy_cp = (yy_c_buf_p);
2269
2270 /* Support of yytext. */
2271 *yy_cp = (yy_hold_char);
2272
2273 /* yy_bp points to the position in yy_ch_buf of the start of
2274 * the current run.
2275 */
2276 yy_bp = yy_cp;
2277
2278 yy_current_state = (yy_start);
2279 yy_match:
2280 do
2281 {
2282 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2283 if ( yy_accept[yy_current_state] )
2284 {
2285 (yy_last_accepting_state) = yy_current_state;
2286 (yy_last_accepting_cpos) = yy_cp;
2287 }
2288 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2289 {
2290 yy_current_state = (int) yy_def[yy_current_state];
2291 if ( yy_current_state >= 1206 )
2292 yy_c = yy_meta[yy_c];
2293 }
2294 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2295 ++yy_cp;
2296 }
2297 while ( yy_base[yy_current_state] != 3400 );
2298
2299 yy_find_action:
2300 yy_act = yy_accept[yy_current_state];
2301 if ( yy_act == 0 )
2302 { /* have to back up */
2303 yy_cp = (yy_last_accepting_cpos);
2304 yy_current_state = (yy_last_accepting_state);
2305 yy_act = yy_accept[yy_current_state];
2306 }
2307
2308 YY_DO_BEFORE_ACTION;
2309
2310 do_action: /* This label is used only to access EOF actions. */
2311
2312 switch ( yy_act )
2313 { /* beginning of action switch */
2314 case 0: /* must back up */
2315 /* undo the effects of YY_DO_BEFORE_ACTION */
2316 *yy_cp = (yy_hold_char);
2317 yy_cp = (yy_last_accepting_cpos);
2318 yy_current_state = (yy_last_accepting_state);
2319 goto yy_find_action;
2320
2321 case 1:
2322 YY_RULE_SETUP
2323 #line 184 "configlexer.lex"
2324 { LEXOUT(("SP ")); /* ignore */ }
2325 YY_BREAK
2326 case 2:
2327 YY_RULE_SETUP
2328 #line 185 "configlexer.lex"
2329 { LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
2330 YY_BREAK
2331 case 3:
2332 YY_RULE_SETUP
2333 #line 186 "configlexer.lex"
2334 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER;}
2335 YY_BREAK
2336 case 4:
2337 YY_RULE_SETUP
2338 #line 187 "configlexer.lex"
2339 { LEXOUT(("v(%s) ", yytext)); return VAR_NAME;}
2340 YY_BREAK
2341 case 5:
2342 YY_RULE_SETUP
2343 #line 188 "configlexer.lex"
2344 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_ADDRESS;}
2345 YY_BREAK
2346 case 6:
2347 YY_RULE_SETUP
2348 #line 189 "configlexer.lex"
2349 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_ADDRESS;}
2350 YY_BREAK
2351 case 7:
2352 YY_RULE_SETUP
2353 #line 190 "configlexer.lex"
2354 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_TRANSPARENT;}
2355 YY_BREAK
2356 case 8:
2357 YY_RULE_SETUP
2358 #line 191 "configlexer.lex"
2359 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_FREEBIND;}
2360 YY_BREAK
2361 case 9:
2362 YY_RULE_SETUP
2363 #line 192 "configlexer.lex"
2364 { LEXOUT(("v(%s) ", yytext)); return VAR_SEND_BUFFER_SIZE;}
2365 YY_BREAK
2366 case 10:
2367 YY_RULE_SETUP
2368 #line 193 "configlexer.lex"
2369 { LEXOUT(("v(%s) ", yytext)); return VAR_RECEIVE_BUFFER_SIZE;}
2370 YY_BREAK
2371 case 11:
2372 YY_RULE_SETUP
2373 #line 194 "configlexer.lex"
2374 { LEXOUT(("v(%s) ", yytext)); return VAR_DEBUG_MODE;}
2375 YY_BREAK
2376 case 12:
2377 YY_RULE_SETUP
2378 #line 195 "configlexer.lex"
2379 { LEXOUT(("v(%s) ", yytext)); return VAR_USE_SYSTEMD;}
2380 YY_BREAK
2381 case 13:
2382 YY_RULE_SETUP
2383 #line 196 "configlexer.lex"
2384 { LEXOUT(("v(%s) ", yytext)); return VAR_HIDE_VERSION;}
2385 YY_BREAK
2386 case 14:
2387 YY_RULE_SETUP
2388 #line 197 "configlexer.lex"
2389 { LEXOUT(("v(%s) ", yytext)); return VAR_HIDE_IDENTITY;}
2390 YY_BREAK
2391 case 15:
2392 YY_RULE_SETUP
2393 #line 198 "configlexer.lex"
2394 { LEXOUT(("v(%s) ", yytext)); return VAR_DROP_UPDATES; }
2395 YY_BREAK
2396 case 16:
2397 YY_RULE_SETUP
2398 #line 199 "configlexer.lex"
2399 { LEXOUT(("v(%s) ", yytext)); return VAR_IP4_ONLY;}
2400 YY_BREAK
2401 case 17:
2402 YY_RULE_SETUP
2403 #line 200 "configlexer.lex"
2404 { LEXOUT(("v(%s) ", yytext)); return VAR_IP6_ONLY;}
2405 YY_BREAK
2406 case 18:
2407 YY_RULE_SETUP
2408 #line 201 "configlexer.lex"
2409 { LEXOUT(("v(%s) ", yytext)); return VAR_DO_IP4;}
2410 YY_BREAK
2411 case 19:
2412 YY_RULE_SETUP
2413 #line 202 "configlexer.lex"
2414 { LEXOUT(("v(%s) ", yytext)); return VAR_DO_IP6;}
2415 YY_BREAK
2416 case 20:
2417 YY_RULE_SETUP
2418 #line 203 "configlexer.lex"
2419 { LEXOUT(("v(%s) ", yytext)); return VAR_DATABASE;}
2420 YY_BREAK
2421 case 21:
2422 YY_RULE_SETUP
2423 #line 204 "configlexer.lex"
2424 { LEXOUT(("v(%s) ", yytext)); return VAR_IDENTITY;}
2425 YY_BREAK
2426 case 22:
2427 YY_RULE_SETUP
2428 #line 205 "configlexer.lex"
2429 { LEXOUT(("v(%s) ", yytext)); return VAR_VERSION;}
2430 YY_BREAK
2431 case 23:
2432 YY_RULE_SETUP
2433 #line 206 "configlexer.lex"
2434 { LEXOUT(("v(%s) ", yytext)); return VAR_NSID;}
2435 YY_BREAK
2436 case 24:
2437 YY_RULE_SETUP
2438 #line 207 "configlexer.lex"
2439 { LEXOUT(("v(%s) ", yytext)); return VAR_LOGFILE;}
2440 YY_BREAK
2441 case 25:
2442 YY_RULE_SETUP
2443 #line 208 "configlexer.lex"
2444 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_ONLY_SYSLOG;}
2445 YY_BREAK
2446 case 26:
2447 YY_RULE_SETUP
2448 #line 209 "configlexer.lex"
2449 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_COUNT;}
2450 YY_BREAK
2451 case 27:
2452 YY_RULE_SETUP
2453 #line 210 "configlexer.lex"
2454 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_COUNT;}
2455 YY_BREAK
2456 case 28:
2457 YY_RULE_SETUP
2458 #line 211 "configlexer.lex"
2459 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_REJECT_OVERFLOW;}
2460 YY_BREAK
2461 case 29:
2462 YY_RULE_SETUP
2463 #line 212 "configlexer.lex"
2464 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_QUERY_COUNT;}
2465 YY_BREAK
2466 case 30:
2467 YY_RULE_SETUP
2468 #line 213 "configlexer.lex"
2469 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_TIMEOUT;}
2470 YY_BREAK
2471 case 31:
2472 YY_RULE_SETUP
2473 #line 214 "configlexer.lex"
2474 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_MSS;}
2475 YY_BREAK
2476 case 32:
2477 YY_RULE_SETUP
2478 #line 215 "configlexer.lex"
2479 { LEXOUT(("v(%s) ", yytext)); return VAR_OUTGOING_TCP_MSS;}
2480 YY_BREAK
2481 case 33:
2482 YY_RULE_SETUP
2483 #line 216 "configlexer.lex"
2484 { LEXOUT(("v(%s) ", yytext)); return VAR_IPV4_EDNS_SIZE;}
2485 YY_BREAK
2486 case 34:
2487 YY_RULE_SETUP
2488 #line 217 "configlexer.lex"
2489 { LEXOUT(("v(%s) ", yytext)); return VAR_IPV6_EDNS_SIZE;}
2490 YY_BREAK
2491 case 35:
2492 YY_RULE_SETUP
2493 #line 218 "configlexer.lex"
2494 { LEXOUT(("v(%s) ", yytext)); return VAR_PIDFILE;}
2495 YY_BREAK
2496 case 36:
2497 YY_RULE_SETUP
2498 #line 219 "configlexer.lex"
2499 { LEXOUT(("v(%s) ", yytext)); return VAR_PORT;}
2500 YY_BREAK
2501 case 37:
2502 YY_RULE_SETUP
2503 #line 220 "configlexer.lex"
2504 { LEXOUT(("v(%s) ", yytext)); return VAR_REUSEPORT;}
2505 YY_BREAK
2506 case 38:
2507 YY_RULE_SETUP
2508 #line 221 "configlexer.lex"
2509 { LEXOUT(("v(%s) ", yytext)); return VAR_STATISTICS;}
2510 YY_BREAK
2511 case 39:
2512 YY_RULE_SETUP
2513 #line 222 "configlexer.lex"
2514 { LEXOUT(("v(%s) ", yytext)); return VAR_CHROOT;}
2515 YY_BREAK
2516 case 40:
2517 YY_RULE_SETUP
2518 #line 223 "configlexer.lex"
2519 { LEXOUT(("v(%s) ", yytext)); return VAR_USERNAME;}
2520 YY_BREAK
2521 case 41:
2522 YY_RULE_SETUP
2523 #line 224 "configlexer.lex"
2524 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONESDIR;}
2525 YY_BREAK
2526 case 42:
2527 YY_RULE_SETUP
2528 #line 225 "configlexer.lex"
2529 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONELISTFILE;}
2530 YY_BREAK
2531 case 43:
2532 YY_RULE_SETUP
2533 #line 226 "configlexer.lex"
2534 { LEXOUT(("v(%s) ", yytext)); return VAR_DIFFFILE;}
2535 YY_BREAK
2536 case 44:
2537 YY_RULE_SETUP
2538 #line 227 "configlexer.lex"
2539 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRDFILE;}
2540 YY_BREAK
2541 case 45:
2542 YY_RULE_SETUP
2543 #line 228 "configlexer.lex"
2544 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRDIR;}
2545 YY_BREAK
2546 case 46:
2547 YY_RULE_SETUP
2548 #line 229 "configlexer.lex"
2549 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_RELOAD_TIMEOUT;}
2550 YY_BREAK
2551 case 47:
2552 YY_RULE_SETUP
2553 #line 230 "configlexer.lex"
2554 { LEXOUT(("v(%s) ", yytext)); return VAR_VERBOSITY;}
2555 YY_BREAK
2556 case 48:
2557 YY_RULE_SETUP
2558 #line 231 "configlexer.lex"
2559 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONE;}
2560 YY_BREAK
2561 case 49:
2562 YY_RULE_SETUP
2563 #line 232 "configlexer.lex"
2564 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILE;}
2565 YY_BREAK
2566 case 50:
2567 YY_RULE_SETUP
2568 #line 233 "configlexer.lex"
2569 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONESTATS;}
2570 YY_BREAK
2571 case 51:
2572 YY_RULE_SETUP
2573 #line 234 "configlexer.lex"
2574 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_NOTIFY;}
2575 YY_BREAK
2576 case 52:
2577 YY_RULE_SETUP
2578 #line 235 "configlexer.lex"
2579 { LEXOUT(("v(%s) ", yytext)); return VAR_SIZE_LIMIT_XFR;}
2580 YY_BREAK
2581 case 53:
2582 YY_RULE_SETUP
2583 #line 236 "configlexer.lex"
2584 { LEXOUT(("v(%s) ", yytext)); return VAR_REQUEST_XFR;}
2585 YY_BREAK
2586 case 54:
2587 YY_RULE_SETUP
2588 #line 237 "configlexer.lex"
2589 { LEXOUT(("v(%s) ", yytext)); return VAR_NOTIFY;}
2590 YY_BREAK
2591 case 55:
2592 YY_RULE_SETUP
2593 #line 238 "configlexer.lex"
2594 { LEXOUT(("v(%s) ", yytext)); return VAR_NOTIFY_RETRY;}
2595 YY_BREAK
2596 case 56:
2597 YY_RULE_SETUP
2598 #line 239 "configlexer.lex"
2599 { LEXOUT(("v(%s) ", yytext)); return VAR_PROVIDE_XFR;}
2600 YY_BREAK
2601 case 57:
2602 YY_RULE_SETUP
2603 #line 240 "configlexer.lex"
2604 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_QUERY;}
2605 YY_BREAK
2606 case 58:
2607 YY_RULE_SETUP
2608 #line 241 "configlexer.lex"
2609 { LEXOUT(("v(%s) ", yytext)); return VAR_OUTGOING_INTERFACE;}
2610 YY_BREAK
2611 case 59:
2612 YY_RULE_SETUP
2613 #line 242 "configlexer.lex"
2614 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_AXFR_FALLBACK;}
2615 YY_BREAK
2616 case 60:
2617 YY_RULE_SETUP
2618 #line 243 "configlexer.lex"
2619 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH;}
2620 YY_BREAK
2621 case 61:
2622 YY_RULE_SETUP
2623 #line 244 "configlexer.lex"
2624 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_DOMAIN_NAME;}
2625 YY_BREAK
2626 case 62:
2627 YY_RULE_SETUP
2628 #line 245 "configlexer.lex"
2629 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_CERT;}
2630 YY_BREAK
2631 case 63:
2632 YY_RULE_SETUP
2633 #line 246 "configlexer.lex"
2634 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_KEY;}
2635 YY_BREAK
2636 case 64:
2637 YY_RULE_SETUP
2638 #line 247 "configlexer.lex"
2639 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_KEY_PW;}
2640 YY_BREAK
2641 case 65:
2642 YY_RULE_SETUP
2643 #line 248 "configlexer.lex"
2644 { LEXOUT(("v(%s) ", yytext)); return VAR_KEY;}
2645 YY_BREAK
2646 case 66:
2647 YY_RULE_SETUP
2648 #line 249 "configlexer.lex"
2649 { LEXOUT(("v(%s) ", yytext)); return VAR_ALGORITHM;}
2650 YY_BREAK
2651 case 67:
2652 YY_RULE_SETUP
2653 #line 250 "configlexer.lex"
2654 { LEXOUT(("v(%s) ", yytext)); return VAR_SECRET;}
2655 YY_BREAK
2656 case 68:
2657 YY_RULE_SETUP
2658 #line 251 "configlexer.lex"
2659 { LEXOUT(("v(%s) ", yytext)); return VAR_PATTERN;}
2660 YY_BREAK
2661 case 69:
2662 YY_RULE_SETUP
2663 #line 252 "configlexer.lex"
2664 { LEXOUT(("v(%s) ", yytext)); return VAR_INCLUDE_PATTERN;}
2665 YY_BREAK
2666 case 70:
2667 YY_RULE_SETUP
2668 #line 253 "configlexer.lex"
2669 { LEXOUT(("v(%s) ", yytext)); return VAR_REMOTE_CONTROL;}
2670 YY_BREAK
2671 case 71:
2672 YY_RULE_SETUP
2673 #line 254 "configlexer.lex"
2674 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_ENABLE;}
2675 YY_BREAK
2676 case 72:
2677 YY_RULE_SETUP
2678 #line 255 "configlexer.lex"
2679 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_INTERFACE;}
2680 YY_BREAK
2681 case 73:
2682 YY_RULE_SETUP
2683 #line 256 "configlexer.lex"
2684 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_PORT;}
2685 YY_BREAK
2686 case 74:
2687 YY_RULE_SETUP
2688 #line 257 "configlexer.lex"
2689 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_KEY_FILE;}
2690 YY_BREAK
2691 case 75:
2692 YY_RULE_SETUP
2693 #line 258 "configlexer.lex"
2694 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_CERT_FILE;}
2695 YY_BREAK
2696 case 76:
2697 YY_RULE_SETUP
2698 #line 259 "configlexer.lex"
2699 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_KEY_FILE;}
2700 YY_BREAK
2701 case 77:
2702 YY_RULE_SETUP
2703 #line 260 "configlexer.lex"
2704 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_CERT_FILE;}
2705 YY_BREAK
2706 case 78:
2707 YY_RULE_SETUP
2708 #line 261 "configlexer.lex"
2709 { LEXOUT(("v(%s) ", yytext)); return VAR_AXFR;}
2710 YY_BREAK
2711 case 79:
2712 YY_RULE_SETUP
2713 #line 262 "configlexer.lex"
2714 { LEXOUT(("v(%s) ", yytext)); return VAR_UDP;}
2715 YY_BREAK
2716 case 80:
2717 YY_RULE_SETUP
2718 #line 263 "configlexer.lex"
2719 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_SIZE;}
2720 YY_BREAK
2721 case 81:
2722 YY_RULE_SETUP
2723 #line 264 "configlexer.lex"
2724 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_RATELIMIT;}
2725 YY_BREAK
2726 case 82:
2727 YY_RULE_SETUP
2728 #line 265 "configlexer.lex"
2729 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_SLIP;}
2730 YY_BREAK
2731 case 83:
2732 YY_RULE_SETUP
2733 #line 266 "configlexer.lex"
2734 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_IPV4_PREFIX_LENGTH;}
2735 YY_BREAK
2736 case 84:
2737 YY_RULE_SETUP
2738 #line 267 "configlexer.lex"
2739 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_IPV6_PREFIX_LENGTH;}
2740 YY_BREAK
2741 case 85:
2742 YY_RULE_SETUP
2743 #line 268 "configlexer.lex"
2744 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_WHITELIST_RATELIMIT;}
2745 YY_BREAK
2746 case 86:
2747 YY_RULE_SETUP
2748 #line 269 "configlexer.lex"
2749 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_WHITELIST;}
2750 YY_BREAK
2751 case 87:
2752 YY_RULE_SETUP
2753 #line 270 "configlexer.lex"
2754 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILES_CHECK;}
2755 YY_BREAK
2756 case 88:
2757 YY_RULE_SETUP
2758 #line 271 "configlexer.lex"
2759 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILES_WRITE;}
2760 YY_BREAK
2761 case 89:
2762 YY_RULE_SETUP
2763 #line 272 "configlexer.lex"
2764 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP;}
2765 YY_BREAK
2766 case 90:
2767 YY_RULE_SETUP
2768 #line 273 "configlexer.lex"
2769 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_ENABLE;}
2770 YY_BREAK
2771 case 91:
2772 YY_RULE_SETUP
2773 #line 274 "configlexer.lex"
2774 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SOCKET_PATH; }
2775 YY_BREAK
2776 case 92:
2777 YY_RULE_SETUP
2778 #line 275 "configlexer.lex"
2779 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SEND_IDENTITY; }
2780 YY_BREAK
2781 case 93:
2782 YY_RULE_SETUP
2783 #line 276 "configlexer.lex"
2784 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SEND_VERSION; }
2785 YY_BREAK
2786 case 94:
2787 YY_RULE_SETUP
2788 #line 277 "configlexer.lex"
2789 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_IDENTITY; }
2790 YY_BREAK
2791 case 95:
2792 YY_RULE_SETUP
2793 #line 278 "configlexer.lex"
2794 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_VERSION; }
2795 YY_BREAK
2796 case 96:
2797 YY_RULE_SETUP
2798 #line 279 "configlexer.lex"
2799 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES; }
2800 YY_BREAK
2801 case 97:
2802 YY_RULE_SETUP
2803 #line 280 "configlexer.lex"
2804 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES; }
2805 YY_BREAK
2806 case 98:
2807 YY_RULE_SETUP
2808 #line 281 "configlexer.lex"
2809 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_TIME_ASCII;}
2810 YY_BREAK
2811 case 99:
2812 YY_RULE_SETUP
2813 #line 282 "configlexer.lex"
2814 { LEXOUT(("v(%s) ", yytext)); return VAR_ROUND_ROBIN;}
2815 YY_BREAK
2816 case 100:
2817 YY_RULE_SETUP
2818 #line 283 "configlexer.lex"
2819 { LEXOUT(("v(%s) ", yytext)); return VAR_MINIMAL_RESPONSES;}
2820 YY_BREAK
2821 case 101:
2822 YY_RULE_SETUP
2823 #line 284 "configlexer.lex"
2824 { LEXOUT(("v(%s) ", yytext)); return VAR_CONFINE_TO_ZONE;}
2825 YY_BREAK
2826 case 102:
2827 YY_RULE_SETUP
2828 #line 285 "configlexer.lex"
2829 { LEXOUT(("v(%s) ", yytext)); return VAR_REFUSE_ANY;}
2830 YY_BREAK
2831 case 103:
2832 YY_RULE_SETUP
2833 #line 286 "configlexer.lex"
2834 { LEXOUT(("v(%s) ", yytext)); return VAR_MAX_REFRESH_TIME;}
2835 YY_BREAK
2836 case 104:
2837 YY_RULE_SETUP
2838 #line 287 "configlexer.lex"
2839 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_REFRESH_TIME;}
2840 YY_BREAK
2841 case 105:
2842 YY_RULE_SETUP
2843 #line 288 "configlexer.lex"
2844 { LEXOUT(("v(%s) ", yytext)); return VAR_MAX_RETRY_TIME;}
2845 YY_BREAK
2846 case 106:
2847 YY_RULE_SETUP
2848 #line 289 "configlexer.lex"
2849 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_RETRY_TIME;}
2850 YY_BREAK
2851 case 107:
2852 YY_RULE_SETUP
2853 #line 290 "configlexer.lex"
2854 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_EXPIRE_TIME;}
2855 YY_BREAK
2856 case 108:
2857 YY_RULE_SETUP
2858 #line 291 "configlexer.lex"
2859 { LEXOUT(("v(%s) ", yytext)); return VAR_MULTI_MASTER_CHECK;}
2860 YY_BREAK
2861 case 109:
2862 YY_RULE_SETUP
2863 #line 292 "configlexer.lex"
2864 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_KEY;}
2865 YY_BREAK
2866 case 110:
2867 YY_RULE_SETUP
2868 #line 293 "configlexer.lex"
2869 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_OCSP;}
2870 YY_BREAK
2871 case 111:
2872 YY_RULE_SETUP
2873 #line 294 "configlexer.lex"
2874 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_PEM;}
2875 YY_BREAK
2876 case 112:
2877 YY_RULE_SETUP
2878 #line 295 "configlexer.lex"
2879 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_PORT;}
2880 YY_BREAK
2881 case 113:
2882 YY_RULE_SETUP
2883 #line 296 "configlexer.lex"
2884 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_CERT_BUNDLE; }
2885 YY_BREAK
2886 case 114:
2887 YY_RULE_SETUP
2888 #line 297 "configlexer.lex"
2889 { LEXOUT(("v(%s) ", yytext)); return VAR_ANSWER_COOKIE;}
2890 YY_BREAK
2891 case 115:
2892 YY_RULE_SETUP
2893 #line 298 "configlexer.lex"
2894 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_SECRET;}
2895 YY_BREAK
2896 case 116:
2897 YY_RULE_SETUP
2898 #line 299 "configlexer.lex"
2899 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_SECRET_FILE;}
2900 YY_BREAK
2901 case 117:
2902 /* rule 117 can match eol */
2903 YY_RULE_SETUP
2904 #line 300 "configlexer.lex"
2905 { LEXOUT(("NL\n")); cfg_parser->line++;}
2906 YY_BREAK
2907 case 118:
2908 YY_RULE_SETUP
2909 #line 302 "configlexer.lex"
2910 {
2911 yyless(yyleng - (yyleng - 8));
2912 LEXOUT(("v(%s) ", yytext));
2913 return VAR_SERVERS;
2914 }
2915 YY_BREAK
2916 case 119:
2917 YY_RULE_SETUP
2918 #line 307 "configlexer.lex"
2919 {
2920 yyless(yyleng - (yyleng - 13));
2921 LEXOUT(("v(%s) ", yytext));
2922 return VAR_BINDTODEVICE;
2923 }
2924 YY_BREAK
2925 case 120:
2926 YY_RULE_SETUP
2927 #line 312 "configlexer.lex"
2928 {
2929 yyless(yyleng - (yyleng - 7));
2930 LEXOUT(("v(%s) ", yytext));
2931 return VAR_SETFIB;
2932 }
2933 YY_BREAK
2934 case 121:
2935 YY_RULE_SETUP
2936 #line 318 "configlexer.lex"
2937 { LEXOUT(("v(%s) ", yytext)); return VAR_CPU_AFFINITY; }
2938 YY_BREAK
2939 case 122:
2940 YY_RULE_SETUP
2941 #line 319 "configlexer.lex"
2942 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_CPU_AFFINITY; }
2943 YY_BREAK
2944 case 123:
2945 YY_RULE_SETUP
2946 #line 320 "configlexer.lex"
2947 {
2948 char *str = yytext;
2949 LEXOUT(("v(%s) ", yytext));
2950 /* Skip server- */
2951 while (*str != '\0' && (*str < '0' || *str > '9')) {
2952 str++;
2953 }
2954 c_lval.llng = strtoll(str, NULL, 10);
2955 return VAR_SERVER_CPU_AFFINITY;
2956 }
2957 YY_BREAK
2958 /* Quoted strings. Strip leading and ending quotes */
2959 case 124:
2960 YY_RULE_SETUP
2961 #line 332 "configlexer.lex"
2962 { BEGIN(quotedstring); LEXOUT(("QS ")); }
2963 YY_BREAK
2964 case YY_STATE_EOF(quotedstring):
2965 #line 333 "configlexer.lex"
2966 {
2967 c_error("EOF inside quoted string");
2968 BEGIN(INITIAL);
2969 }
2970 YY_BREAK
2971 case 125:
2972 YY_RULE_SETUP
2973 #line 337 "configlexer.lex"
2974 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
2975 YY_BREAK
2976 case 126:
2977 /* rule 126 can match eol */
2978 YY_RULE_SETUP
2979 #line 338 "configlexer.lex"
2980 { cfg_parser->line++; yymore(); }
2981 YY_BREAK
2982 case 127:
2983 YY_RULE_SETUP
2984 #line 339 "configlexer.lex"
2985 {
2986 LEXOUT(("QE "));
2987 BEGIN(INITIAL);
2988 yytext[yyleng - 1] = '\0';
2989 c_lval.str = region_strdup(cfg_parser->opt->region, yytext);
2990 return STRING;
2991 }
2992 YY_BREAK
2993 /* include: directive */
2994 case 128:
2995 YY_RULE_SETUP
2996 #line 348 "configlexer.lex"
2997 { LEXOUT(("v(%s) ", yytext)); BEGIN(include); }
2998 YY_BREAK
2999 case YY_STATE_EOF(include):
3000 #line 349 "configlexer.lex"
3001 {
3002 c_error("EOF inside include directive");
3003 BEGIN(INITIAL);
3004 }
3005 YY_BREAK
3006 case 129:
3007 YY_RULE_SETUP
3008 #line 353 "configlexer.lex"
3009 { LEXOUT(("ISP ")); /* ignore */ }
3010 YY_BREAK
3011 case 130:
3012 /* rule 130 can match eol */
3013 YY_RULE_SETUP
3014 #line 354 "configlexer.lex"
3015 { LEXOUT(("NL\n")); cfg_parser->line++;}
3016 YY_BREAK
3017 case 131:
3018 YY_RULE_SETUP
3019 #line 355 "configlexer.lex"
3020 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
3021 YY_BREAK
3022 case 132:
3023 YY_RULE_SETUP
3024 #line 356 "configlexer.lex"
3025 {
3026 LEXOUT(("Iunquotedstr(%s) ", yytext));
3027 config_start_include_glob(yytext);
3028 BEGIN(INITIAL);
3029 }
3030 YY_BREAK
3031 case YY_STATE_EOF(include_quoted):
3032 #line 361 "configlexer.lex"
3033 {
3034 c_error("EOF inside quoted string");
3035 BEGIN(INITIAL);
3036 }
3037 YY_BREAK
3038 case 133:
3039 YY_RULE_SETUP
3040 #line 365 "configlexer.lex"
3041 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
3042 YY_BREAK
3043 case 134:
3044 /* rule 134 can match eol */
3045 YY_RULE_SETUP
3046 #line 366 "configlexer.lex"
3047 { cfg_parser->line++; yymore(); }
3048 YY_BREAK
3049 case 135:
3050 YY_RULE_SETUP
3051 #line 367 "configlexer.lex"
3052 {
3053 LEXOUT(("IQE "));
3054 yytext[yyleng - 1] = '\0';
3055 config_start_include_glob(yytext);
3056 BEGIN(INITIAL);
3057 }
3058 YY_BREAK
3059 case YY_STATE_EOF(INITIAL):
3060 #line 373 "configlexer.lex"
3061 {
3062 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
3063 if (!config_include_stack) {
3064 yyterminate();
3065 } else {
3066 fclose(yyin);
3067 config_end_include();
3068 }
3069 }
3070 YY_BREAK
3071 case 136:
3072 YY_RULE_SETUP
3073 #line 383 "configlexer.lex"
3074 { LEXOUT(("unquotedstr(%s) ", yytext));
3075 c_lval.str = region_strdup(cfg_parser->opt->region, yytext); return STRING; }
3076 YY_BREAK
3077 case 137:
3078 YY_RULE_SETUP
3079 #line 386 "configlexer.lex"
3080 ECHO;
3081 YY_BREAK
3082 #line 3081 "<stdout>"
3083
3084 case YY_END_OF_BUFFER:
3085 {
3086 /* Amount of text matched not including the EOB char. */
3087 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3088
3089 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3090 *yy_cp = (yy_hold_char);
3091 YY_RESTORE_YY_MORE_OFFSET
3092
3093 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3094 {
3095 /* We're scanning a new file or input source. It's
3096 * possible that this happened because the user
3097 * just pointed yyin at a new source and called
3098 * yylex(). If so, then we have to assure
3099 * consistency between YY_CURRENT_BUFFER and our
3100 * globals. Here is the right place to do so, because
3101 * this is the first action (other than possibly a
3102 * back-up) that will match for the new input source.
3103 */
3104 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3105 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3106 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3107 }
3108
3109 /* Note that here we test for yy_c_buf_p "<=" to the position
3110 * of the first EOB in the buffer, since yy_c_buf_p will
3111 * already have been incremented past the NUL character
3112 * (since all states make transitions on EOB to the
3113 * end-of-buffer state). Contrast this with the test
3114 * in input().
3115 */
3116 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3117 { /* This was really a NUL. */
3118 yy_state_type yy_next_state;
3119
3120 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3121
3122 yy_current_state = yy_get_previous_state( );
3123
3124 /* Okay, we're now positioned to make the NUL
3125 * transition. We couldn't have
3126 * yy_get_previous_state() go ahead and do it
3127 * for us because it doesn't know how to deal
3128 * with the possibility of jamming (and we don't
3129 * want to build jamming into it because then it
3130 * will run more slowly).
3131 */
3132
3133 yy_next_state = yy_try_NUL_trans( yy_current_state );
3134
3135 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3136
3137 if ( yy_next_state )
3138 {
3139 /* Consume the NUL. */
3140 yy_cp = ++(yy_c_buf_p);
3141 yy_current_state = yy_next_state;
3142 goto yy_match;
3143 }
3144
3145 else
3146 {
3147 yy_cp = (yy_c_buf_p);
3148 goto yy_find_action;
3149 }
3150 }
3151
3152 else switch ( yy_get_next_buffer( ) )
3153 {
3154 case EOB_ACT_END_OF_FILE:
3155 {
3156 (yy_did_buffer_switch_on_eof) = 0;
3157
3158 if ( yywrap( ) )
3159 {
3160 /* Note: because we've taken care in
3161 * yy_get_next_buffer() to have set up
3162 * yytext, we can now set up
3163 * yy_c_buf_p so that if some total
3164 * hoser (like flex itself) wants to
3165 * call the scanner after we return the
3166 * YY_NULL, it'll still work - another
3167 * YY_NULL will get returned.
3168 */
3169 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3170
3171 yy_act = YY_STATE_EOF(YY_START);
3172 goto do_action;
3173 }
3174
3175 else
3176 {
3177 if ( ! (yy_did_buffer_switch_on_eof) )
3178 YY_NEW_FILE;
3179 }
3180 break;
3181 }
3182
3183 case EOB_ACT_CONTINUE_SCAN:
3184 (yy_c_buf_p) =
3185 (yytext_ptr) + yy_amount_of_matched_text;
3186
3187 yy_current_state = yy_get_previous_state( );
3188
3189 yy_cp = (yy_c_buf_p);
3190 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3191 goto yy_match;
3192
3193 case EOB_ACT_LAST_MATCH:
3194 (yy_c_buf_p) =
3195 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3196
3197 yy_current_state = yy_get_previous_state( );
3198
3199 yy_cp = (yy_c_buf_p);
3200 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3201 goto yy_find_action;
3202 }
3203 break;
3204 }
3205
3206 default:
3207 YY_FATAL_ERROR(
3208 "fatal flex scanner internal error--no action found" );
3209 } /* end of action switch */
3210 } /* end of scanning one token */
3211 } /* end of user's declarations */
3212 } /* end of yylex */
3213
3214 /* yy_get_next_buffer - try to read in a new buffer
3215 *
3216 * Returns a code representing an action:
3217 * EOB_ACT_LAST_MATCH -
3218 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3219 * EOB_ACT_END_OF_FILE - end of file
3220 */
yy_get_next_buffer(void)3221 static int yy_get_next_buffer (void)
3222 {
3223 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3224 char *source = (yytext_ptr);
3225 int number_to_move, i;
3226 int ret_val;
3227
3228 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3229 YY_FATAL_ERROR(
3230 "fatal flex scanner internal error--end of buffer missed" );
3231
3232 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3233 { /* Don't try to fill the buffer, so this is an EOF. */
3234 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3235 {
3236 /* We matched a single character, the EOB, so
3237 * treat this as a final EOF.
3238 */
3239 return EOB_ACT_END_OF_FILE;
3240 }
3241
3242 else
3243 {
3244 /* We matched some text prior to the EOB, first
3245 * process it.
3246 */
3247 return EOB_ACT_LAST_MATCH;
3248 }
3249 }
3250
3251 /* Try to read more data. */
3252
3253 /* First move last chars to start of buffer. */
3254 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3255
3256 for ( i = 0; i < number_to_move; ++i )
3257 *(dest++) = *(source++);
3258
3259 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3260 /* don't do the read, it's not guaranteed to return an EOF,
3261 * just force an EOF
3262 */
3263 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3264
3265 else
3266 {
3267 int num_to_read =
3268 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3269
3270 while ( num_to_read <= 0 )
3271 { /* Not enough room in the buffer - grow it. */
3272
3273 /* just a shorter name for the current buffer */
3274 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3275
3276 int yy_c_buf_p_offset =
3277 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3278
3279 if ( b->yy_is_our_buffer )
3280 {
3281 int new_size = b->yy_buf_size * 2;
3282
3283 if ( new_size <= 0 )
3284 b->yy_buf_size += b->yy_buf_size / 8;
3285 else
3286 b->yy_buf_size *= 2;
3287
3288 b->yy_ch_buf = (char *)
3289 /* Include room in for 2 EOB chars. */
3290 yyrealloc( (void *) b->yy_ch_buf,
3291 (yy_size_t) (b->yy_buf_size + 2) );
3292 }
3293 else
3294 /* Can't grow it, we don't own it. */
3295 b->yy_ch_buf = NULL;
3296
3297 if ( ! b->yy_ch_buf )
3298 YY_FATAL_ERROR(
3299 "fatal error - scanner input buffer overflow" );
3300
3301 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3302
3303 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3304 number_to_move - 1;
3305
3306 }
3307
3308 if ( num_to_read > YY_READ_BUF_SIZE )
3309 num_to_read = YY_READ_BUF_SIZE;
3310
3311 /* Read in more data. */
3312 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3313 (yy_n_chars), num_to_read );
3314
3315 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3316 }
3317
3318 if ( (yy_n_chars) == 0 )
3319 {
3320 if ( number_to_move == YY_MORE_ADJ )
3321 {
3322 ret_val = EOB_ACT_END_OF_FILE;
3323 yyrestart( yyin );
3324 }
3325
3326 else
3327 {
3328 ret_val = EOB_ACT_LAST_MATCH;
3329 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3330 YY_BUFFER_EOF_PENDING;
3331 }
3332 }
3333
3334 else
3335 ret_val = EOB_ACT_CONTINUE_SCAN;
3336
3337 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3338 /* Extend the array by 50%, plus the number we really need. */
3339 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3340 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3341 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
3342 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3343 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3344 /* "- 2" to take care of EOB's */
3345 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3346 }
3347
3348 (yy_n_chars) += number_to_move;
3349 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3350 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3351
3352 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3353
3354 return ret_val;
3355 }
3356
3357 /* yy_get_previous_state - get the state just before the EOB char was reached */
3358
yy_get_previous_state(void)3359 static yy_state_type yy_get_previous_state (void)
3360 {
3361 yy_state_type yy_current_state;
3362 char *yy_cp;
3363
3364 yy_current_state = (yy_start);
3365
3366 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3367 {
3368 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3369 if ( yy_accept[yy_current_state] )
3370 {
3371 (yy_last_accepting_state) = yy_current_state;
3372 (yy_last_accepting_cpos) = yy_cp;
3373 }
3374 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3375 {
3376 yy_current_state = (int) yy_def[yy_current_state];
3377 if ( yy_current_state >= 1206 )
3378 yy_c = yy_meta[yy_c];
3379 }
3380 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3381 }
3382
3383 return yy_current_state;
3384 }
3385
3386 /* yy_try_NUL_trans - try to make a transition on the NUL character
3387 *
3388 * synopsis
3389 * next_state = yy_try_NUL_trans( current_state );
3390 */
yy_try_NUL_trans(yy_state_type yy_current_state)3391 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3392 {
3393 int yy_is_jam;
3394 char *yy_cp = (yy_c_buf_p);
3395
3396 YY_CHAR yy_c = 1;
3397 if ( yy_accept[yy_current_state] )
3398 {
3399 (yy_last_accepting_state) = yy_current_state;
3400 (yy_last_accepting_cpos) = yy_cp;
3401 }
3402 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3403 {
3404 yy_current_state = (int) yy_def[yy_current_state];
3405 if ( yy_current_state >= 1206 )
3406 yy_c = yy_meta[yy_c];
3407 }
3408 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3409 yy_is_jam = (yy_current_state == 1205);
3410
3411 return yy_is_jam ? 0 : yy_current_state;
3412 }
3413
3414 #ifndef YY_NO_UNPUT
3415
3416 #endif
3417
3418 #ifndef YY_NO_INPUT
3419 #ifdef __cplusplus
yyinput(void)3420 static int yyinput (void)
3421 #else
3422 static int input (void)
3423 #endif
3424
3425 {
3426 int c;
3427
3428 *(yy_c_buf_p) = (yy_hold_char);
3429
3430 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3431 {
3432 /* yy_c_buf_p now points to the character we want to return.
3433 * If this occurs *before* the EOB characters, then it's a
3434 * valid NUL; if not, then we've hit the end of the buffer.
3435 */
3436 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3437 /* This was really a NUL. */
3438 *(yy_c_buf_p) = '\0';
3439
3440 else
3441 { /* need more input */
3442 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3443 ++(yy_c_buf_p);
3444
3445 switch ( yy_get_next_buffer( ) )
3446 {
3447 case EOB_ACT_LAST_MATCH:
3448 /* This happens because yy_g_n_b()
3449 * sees that we've accumulated a
3450 * token and flags that we need to
3451 * try matching the token before
3452 * proceeding. But for input(),
3453 * there's no matching to consider.
3454 * So convert the EOB_ACT_LAST_MATCH
3455 * to EOB_ACT_END_OF_FILE.
3456 */
3457
3458 /* Reset buffer status. */
3459 yyrestart( yyin );
3460
3461 /*FALLTHROUGH*/
3462
3463 case EOB_ACT_END_OF_FILE:
3464 {
3465 if ( yywrap( ) )
3466 return 0;
3467
3468 if ( ! (yy_did_buffer_switch_on_eof) )
3469 YY_NEW_FILE;
3470 #ifdef __cplusplus
3471 return yyinput();
3472 #else
3473 return input();
3474 #endif
3475 }
3476
3477 case EOB_ACT_CONTINUE_SCAN:
3478 (yy_c_buf_p) = (yytext_ptr) + offset;
3479 break;
3480 }
3481 }
3482 }
3483
3484 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3485 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3486 (yy_hold_char) = *++(yy_c_buf_p);
3487
3488 return c;
3489 }
3490 #endif /* ifndef YY_NO_INPUT */
3491
3492 /** Immediately switch to a different input stream.
3493 * @param input_file A readable stream.
3494 *
3495 * @note This function does not reset the start condition to @c INITIAL .
3496 */
yyrestart(FILE * input_file)3497 void yyrestart (FILE * input_file )
3498 {
3499
3500 if ( ! YY_CURRENT_BUFFER ){
3501 yyensure_buffer_stack ();
3502 YY_CURRENT_BUFFER_LVALUE =
3503 yy_create_buffer( yyin, YY_BUF_SIZE );
3504 }
3505
3506 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3507 yy_load_buffer_state( );
3508 }
3509
3510 /** Switch to a different input buffer.
3511 * @param new_buffer The new input buffer.
3512 *
3513 */
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)3514 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3515 {
3516
3517 /* TODO. We should be able to replace this entire function body
3518 * with
3519 * yypop_buffer_state();
3520 * yypush_buffer_state(new_buffer);
3521 */
3522 yyensure_buffer_stack ();
3523 if ( YY_CURRENT_BUFFER == new_buffer )
3524 return;
3525
3526 if ( YY_CURRENT_BUFFER )
3527 {
3528 /* Flush out information for old buffer. */
3529 *(yy_c_buf_p) = (yy_hold_char);
3530 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3531 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3532 }
3533
3534 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3535 yy_load_buffer_state( );
3536
3537 /* We don't actually know whether we did this switch during
3538 * EOF (yywrap()) processing, but the only time this flag
3539 * is looked at is after yywrap() is called, so it's safe
3540 * to go ahead and always set it.
3541 */
3542 (yy_did_buffer_switch_on_eof) = 1;
3543 }
3544
yy_load_buffer_state(void)3545 static void yy_load_buffer_state (void)
3546 {
3547 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3548 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3549 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3550 (yy_hold_char) = *(yy_c_buf_p);
3551 }
3552
3553 /** Allocate and initialize an input buffer state.
3554 * @param file A readable stream.
3555 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3556 *
3557 * @return the allocated buffer state.
3558 */
yy_create_buffer(FILE * file,int size)3559 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3560 {
3561 YY_BUFFER_STATE b;
3562
3563 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3564 if ( ! b )
3565 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3566
3567 b->yy_buf_size = size;
3568
3569 /* yy_ch_buf has to be 2 characters longer than the size given because
3570 * we need to put in 2 end-of-buffer characters.
3571 */
3572 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
3573 if ( ! b->yy_ch_buf )
3574 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3575
3576 b->yy_is_our_buffer = 1;
3577
3578 yy_init_buffer( b, file );
3579
3580 return b;
3581 }
3582
3583 /** Destroy the buffer.
3584 * @param b a buffer created with yy_create_buffer()
3585 *
3586 */
yy_delete_buffer(YY_BUFFER_STATE b)3587 void yy_delete_buffer (YY_BUFFER_STATE b )
3588 {
3589
3590 if ( ! b )
3591 return;
3592
3593 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3594 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3595
3596 if ( b->yy_is_our_buffer )
3597 yyfree( (void *) b->yy_ch_buf );
3598
3599 yyfree( (void *) b );
3600 }
3601
3602 /* Initializes or reinitializes a buffer.
3603 * This function is sometimes called more than once on the same buffer,
3604 * such as during a yyrestart() or at EOF.
3605 */
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)3606 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3607
3608 {
3609 int oerrno = errno;
3610
3611 yy_flush_buffer( b );
3612
3613 b->yy_input_file = file;
3614 b->yy_fill_buffer = 1;
3615
3616 /* If b is the current buffer, then yy_init_buffer was _probably_
3617 * called from yyrestart() or through yy_get_next_buffer.
3618 * In that case, we don't want to reset the lineno or column.
3619 */
3620 if (b != YY_CURRENT_BUFFER){
3621 b->yy_bs_lineno = 1;
3622 b->yy_bs_column = 0;
3623 }
3624
3625 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3626
3627 errno = oerrno;
3628 }
3629
3630 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3631 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3632 *
3633 */
yy_flush_buffer(YY_BUFFER_STATE b)3634 void yy_flush_buffer (YY_BUFFER_STATE b )
3635 {
3636 if ( ! b )
3637 return;
3638
3639 b->yy_n_chars = 0;
3640
3641 /* We always need two end-of-buffer characters. The first causes
3642 * a transition to the end-of-buffer state. The second causes
3643 * a jam in that state.
3644 */
3645 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3646 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3647
3648 b->yy_buf_pos = &b->yy_ch_buf[0];
3649
3650 b->yy_at_bol = 1;
3651 b->yy_buffer_status = YY_BUFFER_NEW;
3652
3653 if ( b == YY_CURRENT_BUFFER )
3654 yy_load_buffer_state( );
3655 }
3656
3657 /** Pushes the new state onto the stack. The new state becomes
3658 * the current state. This function will allocate the stack
3659 * if necessary.
3660 * @param new_buffer The new state.
3661 *
3662 */
yypush_buffer_state(YY_BUFFER_STATE new_buffer)3663 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3664 {
3665 if (new_buffer == NULL)
3666 return;
3667
3668 yyensure_buffer_stack();
3669
3670 /* This block is copied from yy_switch_to_buffer. */
3671 if ( YY_CURRENT_BUFFER )
3672 {
3673 /* Flush out information for old buffer. */
3674 *(yy_c_buf_p) = (yy_hold_char);
3675 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3676 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3677 }
3678
3679 /* Only push if top exists. Otherwise, replace top. */
3680 if (YY_CURRENT_BUFFER)
3681 (yy_buffer_stack_top)++;
3682 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3683
3684 /* copied from yy_switch_to_buffer. */
3685 yy_load_buffer_state( );
3686 (yy_did_buffer_switch_on_eof) = 1;
3687 }
3688
3689 /** Removes and deletes the top of the stack, if present.
3690 * The next element becomes the new top.
3691 *
3692 */
yypop_buffer_state(void)3693 void yypop_buffer_state (void)
3694 {
3695 if (!YY_CURRENT_BUFFER)
3696 return;
3697
3698 yy_delete_buffer(YY_CURRENT_BUFFER );
3699 YY_CURRENT_BUFFER_LVALUE = NULL;
3700 if ((yy_buffer_stack_top) > 0)
3701 --(yy_buffer_stack_top);
3702
3703 if (YY_CURRENT_BUFFER) {
3704 yy_load_buffer_state( );
3705 (yy_did_buffer_switch_on_eof) = 1;
3706 }
3707 }
3708
3709 /* Allocates the stack if it does not exist.
3710 * Guarantees space for at least one push.
3711 */
yyensure_buffer_stack(void)3712 static void yyensure_buffer_stack (void)
3713 {
3714 yy_size_t num_to_alloc;
3715
3716 if (!(yy_buffer_stack)) {
3717
3718 /* First allocation is just for 2 elements, since we don't know if this
3719 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3720 * immediate realloc on the next call.
3721 */
3722 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3723 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3724 (num_to_alloc * sizeof(struct yy_buffer_state*)
3725 );
3726 if ( ! (yy_buffer_stack) )
3727 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3728
3729 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3730
3731 (yy_buffer_stack_max) = num_to_alloc;
3732 (yy_buffer_stack_top) = 0;
3733 return;
3734 }
3735
3736 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3737
3738 /* Increase the buffer to prepare for a possible push. */
3739 yy_size_t grow_size = 8 /* arbitrary grow size */;
3740
3741 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3742 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3743 ((yy_buffer_stack),
3744 num_to_alloc * sizeof(struct yy_buffer_state*)
3745 );
3746 if ( ! (yy_buffer_stack) )
3747 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3748
3749 /* zero only the new slots.*/
3750 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3751 (yy_buffer_stack_max) = num_to_alloc;
3752 }
3753 }
3754
3755 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3756 * @param base the character buffer
3757 * @param size the size in bytes of the character buffer
3758 *
3759 * @return the newly allocated buffer state object.
3760 */
yy_scan_buffer(char * base,yy_size_t size)3761 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3762 {
3763 YY_BUFFER_STATE b;
3764
3765 if ( size < 2 ||
3766 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3767 base[size-1] != YY_END_OF_BUFFER_CHAR )
3768 /* They forgot to leave room for the EOB's. */
3769 return NULL;
3770
3771 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3772 if ( ! b )
3773 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3774
3775 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3776 b->yy_buf_pos = b->yy_ch_buf = base;
3777 b->yy_is_our_buffer = 0;
3778 b->yy_input_file = NULL;
3779 b->yy_n_chars = b->yy_buf_size;
3780 b->yy_is_interactive = 0;
3781 b->yy_at_bol = 1;
3782 b->yy_fill_buffer = 0;
3783 b->yy_buffer_status = YY_BUFFER_NEW;
3784
3785 yy_switch_to_buffer( b );
3786
3787 return b;
3788 }
3789
3790 /** Setup the input buffer state to scan a string. The next call to yylex() will
3791 * scan from a @e copy of @a str.
3792 * @param yystr a NUL-terminated string to scan
3793 *
3794 * @return the newly allocated buffer state object.
3795 * @note If you want to scan bytes that may contain NUL values, then use
3796 * yy_scan_bytes() instead.
3797 */
yy_scan_string(const char * yystr)3798 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3799 {
3800
3801 return yy_scan_bytes( yystr, (int) strlen(yystr) );
3802 }
3803
3804 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3805 * scan from a @e copy of @a bytes.
3806 * @param yybytes the byte buffer to scan
3807 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3808 *
3809 * @return the newly allocated buffer state object.
3810 */
yy_scan_bytes(const char * yybytes,int _yybytes_len)3811 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3812 {
3813 YY_BUFFER_STATE b;
3814 char *buf;
3815 yy_size_t n;
3816 int i;
3817
3818 /* Get memory for full buffer, including space for trailing EOB's. */
3819 n = (yy_size_t) (_yybytes_len + 2);
3820 buf = (char *) yyalloc( n );
3821 if ( ! buf )
3822 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3823
3824 for ( i = 0; i < _yybytes_len; ++i )
3825 buf[i] = yybytes[i];
3826
3827 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3828
3829 b = yy_scan_buffer( buf, n );
3830 if ( ! b )
3831 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3832
3833 /* It's okay to grow etc. this buffer, and we should throw it
3834 * away when we're done.
3835 */
3836 b->yy_is_our_buffer = 1;
3837
3838 return b;
3839 }
3840
3841 #ifndef YY_EXIT_FAILURE
3842 #define YY_EXIT_FAILURE 2
3843 #endif
3844
yy_fatal_error(const char * msg)3845 static void yynoreturn yy_fatal_error (const char* msg )
3846 {
3847 fprintf( stderr, "%s\n", msg );
3848 exit( YY_EXIT_FAILURE );
3849 }
3850
3851 /* Redefine yyless() so it works in section 3 code. */
3852
3853 #undef yyless
3854 #define yyless(n) \
3855 do \
3856 { \
3857 /* Undo effects of setting up yytext. */ \
3858 int yyless_macro_arg = (n); \
3859 YY_LESS_LINENO(yyless_macro_arg);\
3860 yytext[yyleng] = (yy_hold_char); \
3861 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3862 (yy_hold_char) = *(yy_c_buf_p); \
3863 *(yy_c_buf_p) = '\0'; \
3864 yyleng = yyless_macro_arg; \
3865 } \
3866 while ( 0 )
3867
3868 /* Accessor methods (get/set functions) to struct members. */
3869
3870 /** Get the current line number.
3871 *
3872 */
yyget_lineno(void)3873 int yyget_lineno (void)
3874 {
3875
3876 return yylineno;
3877 }
3878
3879 /** Get the input stream.
3880 *
3881 */
yyget_in(void)3882 FILE *yyget_in (void)
3883 {
3884 return yyin;
3885 }
3886
3887 /** Get the output stream.
3888 *
3889 */
yyget_out(void)3890 FILE *yyget_out (void)
3891 {
3892 return yyout;
3893 }
3894
3895 /** Get the length of the current token.
3896 *
3897 */
yyget_leng(void)3898 int yyget_leng (void)
3899 {
3900 return yyleng;
3901 }
3902
3903 /** Get the current token.
3904 *
3905 */
3906
yyget_text(void)3907 char *yyget_text (void)
3908 {
3909 return yytext;
3910 }
3911
3912 /** Set the current line number.
3913 * @param _line_number line number
3914 *
3915 */
yyset_lineno(int _line_number)3916 void yyset_lineno (int _line_number )
3917 {
3918
3919 yylineno = _line_number;
3920 }
3921
3922 /** Set the input stream. This does not discard the current
3923 * input buffer.
3924 * @param _in_str A readable stream.
3925 *
3926 * @see yy_switch_to_buffer
3927 */
yyset_in(FILE * _in_str)3928 void yyset_in (FILE * _in_str )
3929 {
3930 yyin = _in_str ;
3931 }
3932
yyset_out(FILE * _out_str)3933 void yyset_out (FILE * _out_str )
3934 {
3935 yyout = _out_str ;
3936 }
3937
yyget_debug(void)3938 int yyget_debug (void)
3939 {
3940 return yy_flex_debug;
3941 }
3942
yyset_debug(int _bdebug)3943 void yyset_debug (int _bdebug )
3944 {
3945 yy_flex_debug = _bdebug ;
3946 }
3947
yy_init_globals(void)3948 static int yy_init_globals (void)
3949 {
3950 /* Initialization is the same as for the non-reentrant scanner.
3951 * This function is called from yylex_destroy(), so don't allocate here.
3952 */
3953
3954 (yy_buffer_stack) = NULL;
3955 (yy_buffer_stack_top) = 0;
3956 (yy_buffer_stack_max) = 0;
3957 (yy_c_buf_p) = NULL;
3958 (yy_init) = 0;
3959 (yy_start) = 0;
3960
3961 /* Defined in main.c */
3962 #ifdef YY_STDINIT
3963 yyin = stdin;
3964 yyout = stdout;
3965 #else
3966 yyin = NULL;
3967 yyout = NULL;
3968 #endif
3969
3970 /* For future reference: Set errno on error, since we are called by
3971 * yylex_init()
3972 */
3973 return 0;
3974 }
3975
3976 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
yylex_destroy(void)3977 int yylex_destroy (void)
3978 {
3979
3980 /* Pop the buffer stack, destroying each element. */
3981 while(YY_CURRENT_BUFFER){
3982 yy_delete_buffer( YY_CURRENT_BUFFER );
3983 YY_CURRENT_BUFFER_LVALUE = NULL;
3984 yypop_buffer_state();
3985 }
3986
3987 /* Destroy the stack itself. */
3988 yyfree((yy_buffer_stack) );
3989 (yy_buffer_stack) = NULL;
3990
3991 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3992 * yylex() is called, initialization will occur. */
3993 yy_init_globals( );
3994
3995 return 0;
3996 }
3997
3998 /*
3999 * Internal utility routines.
4000 */
4001
4002 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,const char * s2,int n)4003 static void yy_flex_strncpy (char* s1, const char * s2, int n )
4004 {
4005
4006 int i;
4007 for ( i = 0; i < n; ++i )
4008 s1[i] = s2[i];
4009 }
4010 #endif
4011
4012 #ifdef YY_NEED_STRLEN
yy_flex_strlen(const char * s)4013 static int yy_flex_strlen (const char * s )
4014 {
4015 int n;
4016 for ( n = 0; s[n]; ++n )
4017 ;
4018
4019 return n;
4020 }
4021 #endif
4022
yyalloc(yy_size_t size)4023 void *yyalloc (yy_size_t size )
4024 {
4025 return malloc(size);
4026 }
4027
yyrealloc(void * ptr,yy_size_t size)4028 void *yyrealloc (void * ptr, yy_size_t size )
4029 {
4030
4031 /* The cast to (char *) in the following accommodates both
4032 * implementations that use char* generic pointers, and those
4033 * that use void* generic pointers. It works with the latter
4034 * because both ANSI C and C++ allow castless assignment from
4035 * any pointer type to void*, and deal with argument conversions
4036 * as though doing an assignment.
4037 */
4038 return realloc(ptr, size);
4039 }
4040
yyfree(void * ptr)4041 void yyfree (void * ptr )
4042 {
4043 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4044 }
4045
4046 #define YYTABLES_NAME "yytables"
4047
4048 #line 386 "configlexer.lex"
4049
4050
4051