Kea 2.7.5
dhcp6_lexer.cc
Go to the documentation of this file.
1#line 1 "dhcp6_lexer.cc"
2
3#line 3 "dhcp6_lexer.cc"
4
5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9/* %not-for-header */
10/* %if-c-only */
11/* %if-not-reentrant */
12#define yy_create_buffer parser6__create_buffer
13#define yy_delete_buffer parser6__delete_buffer
14#define yy_scan_buffer parser6__scan_buffer
15#define yy_scan_string parser6__scan_string
16#define yy_scan_bytes parser6__scan_bytes
17#define yy_init_buffer parser6__init_buffer
18#define yy_flush_buffer parser6__flush_buffer
19#define yy_load_buffer_state parser6__load_buffer_state
20#define yy_switch_to_buffer parser6__switch_to_buffer
21#define yypush_buffer_state parser6_push_buffer_state
22#define yypop_buffer_state parser6_pop_buffer_state
23#define yyensure_buffer_stack parser6_ensure_buffer_stack
24#define yy_flex_debug parser6__flex_debug
25#define yyin parser6_in
26#define yyleng parser6_leng
27#define yylex parser6_lex
28#define yylineno parser6_lineno
29#define yyout parser6_out
30#define yyrestart parser6_restart
31#define yytext parser6_text
32#define yywrap parser6_wrap
33#define yyalloc parser6_alloc
34#define yyrealloc parser6_realloc
35#define yyfree parser6_free
36
37/* %endif */
38/* %endif */
39/* %ok-for-header */
40
41#define FLEX_SCANNER
42#define YY_FLEX_MAJOR_VERSION 2
43#define YY_FLEX_MINOR_VERSION 6
44#define YY_FLEX_SUBMINOR_VERSION 4
45#if YY_FLEX_SUBMINOR_VERSION > 0
46#define FLEX_BETA
47#endif
48
49/* %if-c++-only */
50/* %endif */
51
52/* %if-c-only */
53#ifdef yy_create_buffer
54#define parser6__create_buffer_ALREADY_DEFINED
55#else
56#define yy_create_buffer parser6__create_buffer
57#endif
58
59#ifdef yy_delete_buffer
60#define parser6__delete_buffer_ALREADY_DEFINED
61#else
62#define yy_delete_buffer parser6__delete_buffer
63#endif
64
65#ifdef yy_scan_buffer
66#define parser6__scan_buffer_ALREADY_DEFINED
67#else
68#define yy_scan_buffer parser6__scan_buffer
69#endif
70
71#ifdef yy_scan_string
72#define parser6__scan_string_ALREADY_DEFINED
73#else
74#define yy_scan_string parser6__scan_string
75#endif
76
77#ifdef yy_scan_bytes
78#define parser6__scan_bytes_ALREADY_DEFINED
79#else
80#define yy_scan_bytes parser6__scan_bytes
81#endif
82
83#ifdef yy_init_buffer
84#define parser6__init_buffer_ALREADY_DEFINED
85#else
86#define yy_init_buffer parser6__init_buffer
87#endif
88
89#ifdef yy_flush_buffer
90#define parser6__flush_buffer_ALREADY_DEFINED
91#else
92#define yy_flush_buffer parser6__flush_buffer
93#endif
94
95#ifdef yy_load_buffer_state
96#define parser6__load_buffer_state_ALREADY_DEFINED
97#else
98#define yy_load_buffer_state parser6__load_buffer_state
99#endif
100
101#ifdef yy_switch_to_buffer
102#define parser6__switch_to_buffer_ALREADY_DEFINED
103#else
104#define yy_switch_to_buffer parser6__switch_to_buffer
105#endif
106
107#ifdef yypush_buffer_state
108#define parser6_push_buffer_state_ALREADY_DEFINED
109#else
110#define yypush_buffer_state parser6_push_buffer_state
111#endif
112
113#ifdef yypop_buffer_state
114#define parser6_pop_buffer_state_ALREADY_DEFINED
115#else
116#define yypop_buffer_state parser6_pop_buffer_state
117#endif
118
119#ifdef yyensure_buffer_stack
120#define parser6_ensure_buffer_stack_ALREADY_DEFINED
121#else
122#define yyensure_buffer_stack parser6_ensure_buffer_stack
123#endif
124
125#ifdef yylex
126#define parser6_lex_ALREADY_DEFINED
127#else
128#define yylex parser6_lex
129#endif
130
131#ifdef yyrestart
132#define parser6_restart_ALREADY_DEFINED
133#else
134#define yyrestart parser6_restart
135#endif
136
137#ifdef yylex_init
138#define parser6_lex_init_ALREADY_DEFINED
139#else
140#define yylex_init parser6_lex_init
141#endif
142
143#ifdef yylex_init_extra
144#define parser6_lex_init_extra_ALREADY_DEFINED
145#else
146#define yylex_init_extra parser6_lex_init_extra
147#endif
148
149#ifdef yylex_destroy
150#define parser6_lex_destroy_ALREADY_DEFINED
151#else
152#define yylex_destroy parser6_lex_destroy
153#endif
154
155#ifdef yyget_debug
156#define parser6_get_debug_ALREADY_DEFINED
157#else
158#define yyget_debug parser6_get_debug
159#endif
160
161#ifdef yyset_debug
162#define parser6_set_debug_ALREADY_DEFINED
163#else
164#define yyset_debug parser6_set_debug
165#endif
166
167#ifdef yyget_extra
168#define parser6_get_extra_ALREADY_DEFINED
169#else
170#define yyget_extra parser6_get_extra
171#endif
172
173#ifdef yyset_extra
174#define parser6_set_extra_ALREADY_DEFINED
175#else
176#define yyset_extra parser6_set_extra
177#endif
178
179#ifdef yyget_in
180#define parser6_get_in_ALREADY_DEFINED
181#else
182#define yyget_in parser6_get_in
183#endif
184
185#ifdef yyset_in
186#define parser6_set_in_ALREADY_DEFINED
187#else
188#define yyset_in parser6_set_in
189#endif
190
191#ifdef yyget_out
192#define parser6_get_out_ALREADY_DEFINED
193#else
194#define yyget_out parser6_get_out
195#endif
196
197#ifdef yyset_out
198#define parser6_set_out_ALREADY_DEFINED
199#else
200#define yyset_out parser6_set_out
201#endif
202
203#ifdef yyget_leng
204#define parser6_get_leng_ALREADY_DEFINED
205#else
206#define yyget_leng parser6_get_leng
207#endif
208
209#ifdef yyget_text
210#define parser6_get_text_ALREADY_DEFINED
211#else
212#define yyget_text parser6_get_text
213#endif
214
215#ifdef yyget_lineno
216#define parser6_get_lineno_ALREADY_DEFINED
217#else
218#define yyget_lineno parser6_get_lineno
219#endif
220
221#ifdef yyset_lineno
222#define parser6_set_lineno_ALREADY_DEFINED
223#else
224#define yyset_lineno parser6_set_lineno
225#endif
226
227#ifdef yywrap
228#define parser6_wrap_ALREADY_DEFINED
229#else
230#define yywrap parser6_wrap
231#endif
232
233/* %endif */
234
235#ifdef yyalloc
236#define parser6_alloc_ALREADY_DEFINED
237#else
238#define yyalloc parser6_alloc
239#endif
240
241#ifdef yyrealloc
242#define parser6_realloc_ALREADY_DEFINED
243#else
244#define yyrealloc parser6_realloc
245#endif
246
247#ifdef yyfree
248#define parser6_free_ALREADY_DEFINED
249#else
250#define yyfree parser6_free
251#endif
252
253/* %if-c-only */
254
255#ifdef yytext
256#define parser6_text_ALREADY_DEFINED
257#else
258#define yytext parser6_text
259#endif
260
261#ifdef yyleng
262#define parser6_leng_ALREADY_DEFINED
263#else
264#define yyleng parser6_leng
265#endif
266
267#ifdef yyin
268#define parser6_in_ALREADY_DEFINED
269#else
270#define yyin parser6_in
271#endif
272
273#ifdef yyout
274#define parser6_out_ALREADY_DEFINED
275#else
276#define yyout parser6_out
277#endif
278
279#ifdef yy_flex_debug
280#define parser6__flex_debug_ALREADY_DEFINED
281#else
282#define yy_flex_debug parser6__flex_debug
283#endif
284
285#ifdef yylineno
286#define parser6_lineno_ALREADY_DEFINED
287#else
288#define yylineno parser6_lineno
289#endif
290
291/* %endif */
292
293/* First, we deal with platform-specific or compiler-specific issues. */
294
295/* begin standard C headers. */
296/* %if-c-only */
297#include <stdio.h>
298#include <string.h>
299#include <errno.h>
300#include <stdlib.h>
301/* %endif */
302
303/* %if-tables-serialization */
304/* %endif */
305/* end standard C headers. */
306
307/* %if-c-or-c++ */
308/* flex integer type definitions */
309
310#ifndef FLEXINT_H
311#define FLEXINT_H
312
313/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
314
315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
316
317/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
318 * if you want the limit (max/min) macros for int types.
319 */
320#ifndef __STDC_LIMIT_MACROS
321#define __STDC_LIMIT_MACROS 1
322#endif
323
324#include <inttypes.h>
325typedef int8_t flex_int8_t;
326typedef uint8_t flex_uint8_t;
327typedef int16_t flex_int16_t;
328typedef uint16_t flex_uint16_t;
329typedef int32_t flex_int32_t;
330typedef uint32_t flex_uint32_t;
331#else
332typedef signed char flex_int8_t;
333typedef short int flex_int16_t;
334typedef int flex_int32_t;
335typedef unsigned char flex_uint8_t;
336typedef unsigned short int flex_uint16_t;
337typedef unsigned int flex_uint32_t;
338
339/* Limits of integral types. */
340#ifndef INT8_MIN
341#define INT8_MIN (-128)
342#endif
343#ifndef INT16_MIN
344#define INT16_MIN (-32767-1)
345#endif
346#ifndef INT32_MIN
347#define INT32_MIN (-2147483647-1)
348#endif
349#ifndef INT8_MAX
350#define INT8_MAX (127)
351#endif
352#ifndef INT16_MAX
353#define INT16_MAX (32767)
354#endif
355#ifndef INT32_MAX
356#define INT32_MAX (2147483647)
357#endif
358#ifndef UINT8_MAX
359#define UINT8_MAX (255U)
360#endif
361#ifndef UINT16_MAX
362#define UINT16_MAX (65535U)
363#endif
364#ifndef UINT32_MAX
365#define UINT32_MAX (4294967295U)
366#endif
367
368#ifndef SIZE_MAX
369#define SIZE_MAX (~(size_t)0)
370#endif
371
372#endif /* ! C99 */
373
374#endif /* ! FLEXINT_H */
375
376/* %endif */
377
378/* begin standard C++ headers. */
379/* %if-c++-only */
380/* %endif */
381
382/* TODO: this is always defined, so inline it */
383#define yyconst const
384
385#if defined(__GNUC__) && __GNUC__ >= 3
386#define yynoreturn __attribute__((__noreturn__))
387#else
388#define yynoreturn
389#endif
390
391/* %not-for-header */
392/* Returned upon end-of-file. */
393#define YY_NULL 0
394/* %ok-for-header */
395
396/* %not-for-header */
397/* Promotes a possibly negative, possibly signed char to an
398 * integer in range [0..255] for use as an array index.
399 */
400#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
401/* %ok-for-header */
402
403/* %if-reentrant */
404/* %endif */
405
406/* %if-not-reentrant */
407
408/* %endif */
409
410/* Enter a start condition. This macro really ought to take a parameter,
411 * but we do it the disgusting crufty way forced on us by the ()-less
412 * definition of BEGIN.
413 */
414#define BEGIN (yy_start) = 1 + 2 *
415/* Translate the current start state into a value that can be later handed
416 * to BEGIN to return to the state. The YYSTATE alias is for lex
417 * compatibility.
418 */
419#define YY_START (((yy_start) - 1) / 2)
420#define YYSTATE YY_START
421/* Action number for EOF rule of a given start state. */
422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
423/* Special action meaning "start processing a new file". */
424#define YY_NEW_FILE yyrestart( yyin )
425#define YY_END_OF_BUFFER_CHAR 0
426
427/* Size of default input buffer. */
428#ifndef YY_BUF_SIZE
429#ifdef __ia64__
430/* On IA-64, the buffer size is 16k, not 8k.
431 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
432 * Ditto for the __ia64__ case accordingly.
433 */
434#define YY_BUF_SIZE 32768
435#else
436#define YY_BUF_SIZE 16384
437#endif /* __ia64__ */
438#endif
439
440/* The state buf must be large enough to hold one state per character in the main buffer.
441 */
442#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
443
444#ifndef YY_TYPEDEF_YY_BUFFER_STATE
445#define YY_TYPEDEF_YY_BUFFER_STATE
447#endif
448
449#ifndef YY_TYPEDEF_YY_SIZE_T
450#define YY_TYPEDEF_YY_SIZE_T
451typedef size_t yy_size_t;
452#endif
453
454/* %if-not-reentrant */
455extern int yyleng;
456/* %endif */
457
458/* %if-c-only */
459/* %if-not-reentrant */
460extern FILE *yyin, *yyout;
461/* %endif */
462/* %endif */
463
464#define EOB_ACT_CONTINUE_SCAN 0
465#define EOB_ACT_END_OF_FILE 1
466#define EOB_ACT_LAST_MATCH 2
467
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
470
471/* Return all but the first "n" matched characters back to the input stream. */
472#define yyless(n) \
473 do \
474 { \
475 /* Undo effects of setting up yytext. */ \
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
482 } \
483 while ( 0 )
484#define unput(c) yyunput( c, (yytext_ptr) )
485
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
488struct yy_buffer_state
489 {
490/* %if-c-only */
491 FILE *yy_input_file;
492/* %endif */
493
494/* %if-c++-only */
495/* %endif */
496
497 char *yy_ch_buf; /* input buffer */
498 char *yy_buf_pos; /* current position in input buffer */
499
500 /* Size of input buffer in bytes, not including room for EOB
501 * characters.
502 */
503 int yy_buf_size;
504
505 /* Number of characters read into yy_ch_buf, not including EOB
506 * characters.
507 */
508 int yy_n_chars;
509
510 /* Whether we "own" the buffer - i.e., we know we created it,
511 * and can realloc() it to grow it, and should free() it to
512 * delete it.
513 */
515
516 /* Whether this is an "interactive" input source; if so, and
517 * if we're using stdio for input, then we want to use getc()
518 * instead of fread(), to make sure we stop fetching input after
519 * each newline.
520 */
522
523 /* Whether we're considered to be at the beginning of a line.
524 * If so, '^' rules will be active on the next match, otherwise
525 * not.
526 */
527 int yy_at_bol;
528
529 int yy_bs_lineno;
530 int yy_bs_column;
532 /* Whether to try to fill the input buffer when we reach the
533 * end of it.
534 */
535 int yy_fill_buffer;
536
538
539#define YY_BUFFER_NEW 0
540#define YY_BUFFER_NORMAL 1
541 /* When an EOF's been seen but there's still some text to process
542 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
543 * shouldn't try reading from the input source any more. We might
544 * still have a bunch of tokens to match, though, because of
545 * possible backing-up.
546 *
547 * When we actually see the EOF, we change the status to "new"
548 * (via yyrestart()), so that the user can continue scanning by
549 * just pointing yyin at a new input file.
550 */
551#define YY_BUFFER_EOF_PENDING 2
552
553 };
554#endif /* !YY_STRUCT_YY_BUFFER_STATE */
555
556/* %if-c-only Standard (non-C++) definition */
557/* %not-for-header */
558/* %if-not-reentrant */
559
560/* Stack of input buffers. */
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
563static YY_BUFFER_STATE * yy_buffer_stack = NULL;
564/* %endif */
565/* %ok-for-header */
566
567/* %endif */
568
569/* We provide macros for accessing buffer states in case in the
570 * future we want to put the buffer states in a more general
571 * "scanner state".
572 *
573 * Returns the top of the stack, or NULL.
574 */
575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
577 : NULL)
578/* Same as previous macro, but useful when we know that the buffer stack is not
579 * NULL or when we need an lvalue. For internal use only.
580 */
581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
582
583/* %if-c-only Standard (non-C++) definition */
584
585/* %if-not-reentrant */
586/* %not-for-header */
587/* yy_hold_char holds the character lost when yytext is formed. */
588static char yy_hold_char;
589static int yy_n_chars; /* number of characters read into yy_ch_buf */
591
592/* Points to current character in buffer. */
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0; /* whether we need to initialize */
595static int yy_start = 0; /* start state number */
596
597/* Flag which is used to allow yywrap()'s to do buffer switches
598 * instead of setting up a fresh yyin. A bit of a hack ...
599 */
600static int yy_did_buffer_switch_on_eof;
601/* %ok-for-header */
602
603/* %endif */
604
605void yyrestart ( FILE *input_file );
606void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
607YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
610void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
611void yypop_buffer_state ( void );
612
613static void yyensure_buffer_stack ( void );
614static void yy_load_buffer_state ( void );
615static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
617
618YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
619YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
620YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
621
622/* %endif */
623
624void *yyalloc ( yy_size_t );
625void *yyrealloc ( void *, yy_size_t );
626void yyfree ( void * );
627
628#define yy_new_buffer yy_create_buffer
629#define yy_set_interactive(is_interactive) \
630 { \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
635 } \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
637 }
638#define yy_set_bol(at_bol) \
639 { \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
644 } \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
646 }
647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
648
649/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
650/* Begin user sect3 */
651
652#define parser6_wrap() (/*CONSTCOND*/1)
653#define YY_SKIP_YYWRAP
654
655#define FLEX_DEBUG
657
658FILE *yyin = NULL, *yyout = NULL;
659
660typedef int yy_state_type;
661
662extern int yylineno;
663int yylineno = 1;
664
665extern char *yytext;
666#ifdef yytext_ptr
667#undef yytext_ptr
668#endif
669#define yytext_ptr yytext
670
671/* %% [1.5] DFA */
672
673/* %if-c-only Standard (non-C++) definition */
674
675static yy_state_type yy_get_previous_state ( void );
676static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
677static int yy_get_next_buffer ( void );
678static void yynoreturn yy_fatal_error ( const char* msg );
679
680/* %endif */
681
682/* Done after the current pattern has been matched and before the
683 * corresponding action - sets up yytext.
684 */
685#define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
687/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
690 *yy_cp = '\0'; \
691/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
692 (yy_c_buf_p) = yy_cp;
693/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
694#define YY_NUM_RULES 240
695#define YY_END_OF_BUFFER 241
696/* This struct is not used in this scanner,
697 but its presence is necessary. */
698struct yy_trans_info
699 {
702 };
703static const flex_int16_t yy_accept[2306] =
704 { 0,
705 233, 233, 0, 0, 0, 0, 0, 0, 0, 0,
706 241, 239, 10, 11, 239, 1, 233, 230, 233, 233,
707 239, 232, 231, 239, 239, 239, 239, 239, 226, 227,
708 239, 239, 239, 228, 229, 5, 5, 5, 239, 239,
709 239, 10, 11, 0, 0, 221, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
713 233, 233, 0, 232, 233, 3, 2, 6, 0, 233,
714 0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
715
716 0, 222, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 224, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
725 0, 0, 0, 0, 0, 8, 0, 0, 0, 176,
726
727 0, 0, 177, 0, 0, 0, 0, 0, 0, 0,
728 0, 223, 225, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 125, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
737
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
740 236, 0, 235, 234, 0, 0, 0, 0, 0, 0,
741 175, 0, 0, 23, 0, 22, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 237, 234, 0, 0, 0, 0, 0, 24,
755 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 130, 0, 0, 0,
757 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
758 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
759
760 0, 0, 0, 0, 0, 53, 0, 0, 0, 198,
761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, 107, 0, 0, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
765 0, 0, 54, 0, 0, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 153, 0, 180, 0,
769 50, 197, 0, 51, 0, 0, 0, 0, 0, 0,
770
771 32, 29, 28, 0, 0, 0, 0, 0, 169, 0,
772 204, 0, 0, 0, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 0, 143,
776 0, 0, 0, 0, 0, 0, 199, 179, 0, 0,
777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 111, 0, 0,
781
782 0, 0, 0, 0, 0, 205, 0, 0, 0, 0,
783 170, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 165, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 7, 30, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 145, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 142, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 0, 0, 0, 0, 122, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 207, 121, 0,
803
804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 164, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 173, 139, 0, 0, 0, 0, 0, 0, 0, 144,
810 0, 0, 0, 0, 0, 0, 62, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 146, 0, 0, 55,
812 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 0, 0, 0, 0, 214, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 163, 0, 0, 0, 0, 0, 0, 0, 71,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
825
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 52, 0, 0, 112,
828 0, 0, 159, 0, 0, 0, 0, 49, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 148, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 84, 0, 0, 0, 0, 0, 70, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
836
837 0, 215, 0, 0, 206, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 0, 123, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
843 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 0, 0, 15, 0, 0, 174, 13, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 208, 0, 0, 0,
847
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 166, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 162, 178, 0, 35, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 19, 0, 110, 0, 0, 0, 105, 0, 0,
856 0, 172, 0, 0, 0, 0, 114, 213, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
858
859 0, 0, 0, 82, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 135, 136, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
862 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 131, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
869
870 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
871 0, 0, 0, 16, 0, 14, 0, 0, 0, 200,
872 202, 196, 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
874 0, 0, 0, 152, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 189, 0, 0, 212, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 124, 0, 158, 0, 41, 0, 0, 56, 0, 0,
879 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
880
881 0, 0, 0, 0, 0, 0, 85, 0, 126, 58,
882 80, 0, 0, 167, 0, 0, 157, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 69, 0, 120, 0, 0, 0, 0, 0, 0,
885 0, 0, 138, 0, 0, 210, 0, 219, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 117, 0, 0, 0, 0, 181,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891
892 209, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 40, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 154, 0, 0, 0, 59, 0, 0, 0, 0,
895 0, 203, 0, 0, 149, 46, 0, 0, 0, 194,
896 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
898 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
899 0, 43, 0, 0, 17, 0, 0, 0, 68, 0,
900 0, 0, 0, 0, 0, 141, 140, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
902
903 0, 0, 0, 201, 0, 0, 0, 0, 0, 0,
904 76, 0, 0, 0, 0, 0, 137, 0, 0, 0,
905 57, 195, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 115, 0, 0,
907 0, 0, 0, 0, 171, 0, 0, 0, 45, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 104, 0, 63,
911 0, 0, 0, 0, 0, 97, 0, 0, 31, 0,
912 47, 0, 0, 0, 0, 0, 0, 0, 0, 101,
913
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 187, 0, 0, 0, 0, 155, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
918 0, 64, 0, 0, 0, 0, 60, 192, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 88, 0, 0, 0, 0, 0, 0, 0, 0, 160,
921 0, 0, 0, 0, 0, 0, 20, 34, 0, 0,
922 0, 0, 0, 0, 0, 0, 0, 193, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 211, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 186, 0, 78, 0, 77, 0, 0, 73,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 98, 0, 134, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 116, 0, 0, 0, 185, 0, 0, 0,
933 0, 0, 67, 0, 0, 83, 0, 61, 0, 0,
934 127, 0, 0, 0, 0, 0, 0, 0, 0, 103,
935
936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 94, 0, 0, 0, 0, 0, 0, 42, 0, 0,
938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 100, 48, 0, 0, 0, 93, 0,
944 0, 0, 0, 191, 0, 0, 0, 0, 0, 217,
945 220, 75, 74, 0, 0, 132, 150, 128, 0, 0,
946
947 0, 0, 0, 0, 0, 99, 0, 0, 89, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 156, 183,
949 0, 0, 0, 0, 0, 0, 188, 0, 0, 91,
950 0, 81, 0, 0, 0, 0, 0, 0, 0, 129,
951 0, 0, 0, 0, 0, 0, 0, 0, 0, 182,
952 0, 0, 21, 218, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
954 0, 0, 90, 0, 0, 151, 0, 0, 39, 37,
955 0, 0, 0, 0, 95, 0, 0, 133, 0, 87,
956 0, 96, 0, 0, 0, 0, 0, 0, 0, 86,
957
958 0, 184, 38, 216, 0
959 } ;
960
961static const YY_CHAR yy_ec[256] =
962 { 0,
963 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
964 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
965 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
966 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
967 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
968 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
969 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
970 5, 29, 30, 31, 32, 33, 5, 34, 35, 36,
971 5, 37, 38, 39, 40, 41, 42, 43, 44, 5,
972 45, 46, 47, 5, 48, 5, 49, 50, 51, 52,
973
974 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
975 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
976 73, 74, 75, 5, 76, 5, 5, 5, 5, 5,
977 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
978 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
979 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
980 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
981 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
982 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
983 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
984
985 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
986 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
987 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
988 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
989 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
990 5, 5, 5, 5, 5
991 } ;
992
993static const YY_CHAR yy_meta[77] =
994 { 0,
995 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
996 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
997 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
998 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
999 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1000 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1002 1, 1, 1, 1, 1, 1
1003 } ;
1004
1005static const flex_int16_t yy_base[2314] =
1006 { 0,
1007 0, 75, 21, 28, 39, 47, 53, 61, 95, 103,
1008 2754, 2755, 31, 2750, 151, 0, 216, 2755, 223, 230,
1009 13, 237, 2755, 2730, 124, 17, 4, 34, 2755, 2755,
1010 23, 43, 64, 2755, 2755, 2755, 56, 2738, 2688, 0,
1011 2728, 106, 2745, 2, 268, 2755, 85, 90, 2691, 2712,
1012 98, 77, 2712, 235, 231, 97, 207, 298, 240, 2695,
1013 294, 306, 62, 243, 204, 222, 2690, 224, 296, 341,
1014 196, 320, 2673, 21, 332, 362, 345, 2692, 350, 0,
1015 406, 422, 436, 446, 451, 2755, 0, 2755, 298, 465,
1016 349, 351, 202, 365, 369, 301, 2755, 2689, 2733, 2755,
1017
1018 334, 2755, 464, 332, 232, 2687, 2731, 372, 17, 350,
1019 373, 2725, 225, 377, 391, 252, 2729, 0, 528, 414,
1020 2668, 2665, 2665, 433, 2665, 2666, 2672, 434, 2658, 2659,
1021 2664, 76, 2674, 2658, 2666, 2656, 342, 2672, 380, 373,
1022 427, 403, 2709, 16, 2651, 2707, 2644, 439, 2665, 2665,
1023 2659, 440, 2651, 2652, 2650, 2644, 451, 397, 2641, 2640,
1024 449, 2696, 2640, 50, 2652, 2651, 2639, 498, 2640, 436,
1025 2652, 2649, 2650, 440, 2648, 2686, 2685, 471, 444, 2629,
1026 2633, 468, 2629, 456, 2639, 2631, 2633, 0, 490, 490,
1027 509, 500, 508, 532, 2629, 2755, 538, 539, 2624, 2755,
1028
1029 502, 536, 2755, 2681, 544, 548, 2680, 547, 2679, 541,
1030 2678, 2755, 2755, 590, 2620, 553, 2633, 2625, 2623, 2623,
1031 2627, 2628, 2608, 2619, 2621, 2620, 285, 557, 2661, 2622,
1032 2603, 2600, 2608, 2614, 2602, 2612, 2612, 2603, 2612, 2612,
1033 2607, 2599, 2598, 2600, 2603, 2583, 2587, 2601, 2593, 2583,
1034 2586, 2585, 2599, 2755, 2585, 2593, 82, 2634, 2577, 2586,
1035 2631, 2575, 2585, 2628, 561, 2627, 2569, 2583, 2624, 556,
1036 2580, 2560, 2575, 2567, 2571, 470, 2562, 2560, 475, 2560,
1037 2566, 2557, 2570, 2554, 2565, 2569, 532, 2563, 462, 2570,
1038 2565, 2548, 2563, 2549, 2557, 2561, 2542, 2558, 2544, 2550,
1039
1040 2557, 2539, 522, 2544, 2541, 2540, 583, 2539, 2534, 2548,
1041 2547, 568, 2546, 2526, 2548, 2530, 2538, 2526, 569, 2755,
1042 2755, 574, 2755, 2755, 2524, 547, 578, 2574, 585, 2585,
1043 2755, 586, 595, 2755, 2584, 2755, 2578, 639, 2537, 585,
1044 2514, 2533, 2534, 2531, 2514, 2531, 2570, 2527, 2517, 2572,
1045 2524, 2527, 2518, 2521, 2507, 2518, 639, 2560, 2515, 2512,
1046 2513, 615, 2516, 2560, 2492, 2504, 2499, 2496, 2492, 2491,
1047 2493, 2496, 2546, 2500, 2544, 2487, 662, 627, 2500, 2500,
1048 2483, 2484, 2497, 2495, 2493, 2493, 2492, 2487, 2494, 2489,
1049 2474, 605, 2483, 2486, 566, 2481, 2531, 595, 610, 2487,
1050
1051 2524, 2471, 2464, 2479, 2470, 2477, 2458, 2475, 2467, 2463,
1052 2468, 666, 2518, 621, 2470, 2470, 2468, 623, 2459, 2457,
1053 2469, 617, 2444, 2445, 2458, 2448, 2440, 2444, 2458, 627,
1054 2444, 2456, 2455, 2454, 2449, 2494, 2451, 2450, 2449, 2448,
1055 2431, 2439, 2492, 2448, 2490, 2427, 2488, 2487, 2426, 676,
1056 2439, 2437, 2755, 2755, 2437, 643, 2477, 2481, 2480, 2755,
1057 2479, 658, 2755, 661, 720, 2435, 660, 2477, 2420, 2475,
1058 2469, 2419, 2421, 594, 2411, 2408, 2755, 2413, 2406, 2418,
1059 2421, 2408, 2407, 2755, 2417, 649, 2408, 2405, 2417, 644,
1060 2402, 2396, 2755, 2452, 2409, 2394, 2396, 2410, 2406, 2404,
1061
1062 2404, 2398, 695, 2388, 2442, 2755, 2386, 2402, 2439, 2755,
1063 2443, 2442, 2395, 2389, 2391, 2392, 2376, 2385, 2430, 2378,
1064 2377, 2372, 2371, 2373, 2369, 2365, 650, 2384, 2358, 2365,
1065 2364, 2380, 2417, 2755, 2364, 2360, 696, 2368, 2367, 2361,
1066 2354, 2353, 2367, 2367, 2355, 2351, 2356, 2352, 2347, 2755,
1067 2356, 2406, 2755, 2345, 2338, 2398, 2397, 2339, 2338, 2343,
1068 2398, 2351, 2345, 2339, 2348, 715, 2388, 2332, 2327, 2385,
1069 2322, 2328, 688, 2342, 2335, 2339, 2322, 2383, 2321, 2321,
1070 2375, 2317, 2318, 2317, 2315, 2332, 2755, 2328, 2755, 2368,
1071 2755, 2755, 2316, 2755, 654, 2366, 2365, 2322, 2368, 713,
1072
1073 2755, 2755, 2755, 705, 687, 683, 2305, 746, 2755, 2304,
1074 2755, 671, 2322, 2302, 2312, 2315, 2356, 708, 2298, 2308,
1075 2353, 2295, 2302, 2295, 2303, 2296, 2305, 2287, 2287, 2302,
1076 2301, 2285, 664, 2299, 2298, 2282, 2297, 2279, 2329, 2283,
1077 2290, 2333, 2274, 2276, 2273, 2287, 2287, 2285, 2285, 2755,
1078 2270, 2282, 2274, 2280, 2271, 2279, 2755, 2755, 2264, 2275,
1079 2279, 2261, 2273, 2265, 690, 2256, 2255, 2249, 2254, 2251,
1080 2266, 2265, 2266, 2245, 2255, 2261, 2307, 2259, 2251, 2242,
1081 2243, 2245, 2755, 2240, 2246, 697, 2294, 747, 2293, 2235,
1082 2291, 2235, 2238, 2236, 2238, 2229, 2244, 2755, 2229, 754,
1083
1084 2226, 2242, 2239, 2234, 2230, 2755, 2278, 2227, 2234, 2275,
1085 2755, 2218, 2216, 2230, 2233, 2218, 2269, 2268, 2212, 2266,
1086 2223, 2207, 2263, 2262, 2755, 2204, 2218, 2217, 758, 2218,
1087 2217, 2214, 2198, 2254, 2215, 2210, 2199, 2204, 2200, 2191,
1088 2755, 2755, 718, 732, 735, 724, 750, 2195, 2190, 2195,
1089 12, 173, 212, 269, 370, 376, 412, 469, 525, 587,
1090 596, 727, 650, 757, 719, 716, 721, 723, 733, 738,
1091 724, 729, 733, 744, 744, 728, 788, 747, 739, 749,
1092 793, 739, 746, 747, 749, 753, 758, 761, 803, 763,
1093 811, 765, 768, 763, 754, 769, 774, 771, 768, 775,
1094
1095 774, 762, 776, 774, 782, 821, 780, 828, 829, 770,
1096 783, 769, 779, 829, 784, 837, 2755, 790, 788, 790,
1097 786, 780, 796, 844, 840, 841, 801, 2755, 791, 792,
1098 791, 804, 794, 807, 854, 810, 795, 857, 858, 812,
1099 2755, 806, 800, 795, 806, 819, 810, 799, 805, 863,
1100 824, 808, 808, 821, 868, 812, 819, 831, 826, 831,
1101 828, 875, 814, 826, 840, 834, 825, 822, 2755, 889,
1102 844, 845, 833, 847, 837, 841, 853, 844, 847, 852,
1103 853, 881, 873, 902, 903, 877, 850, 864, 867, 847,
1104 854, 868, 916, 870, 855, 868, 866, 2755, 2755, 870,
1105
1106 865, 880, 877, 863, 865, 884, 881, 881, 883, 871,
1107 879, 880, 890, 932, 896, 935, 894, 884, 897, 883,
1108 882, 888, 880, 891, 886, 887, 893, 909, 892, 949,
1109 950, 902, 952, 2755, 913, 905, 916, 914, 962, 901,
1110 903, 918, 919, 907, 905, 970, 924, 910, 916, 914,
1111 2755, 2755, 930, 929, 930, 935, 923, 933, 935, 2755,
1112 935, 937, 924, 942, 929, 931, 2755, 928, 946, 947,
1113 933, 934, 930, 935, 953, 997, 2755, 955, 999, 2755,
1114 2755, 954, 954, 1003, 946, 950, 944, 960, 1008, 958,
1115 948, 949, 945, 955, 959, 970, 965, 1012, 968, 961,
1116
1117 963, 959, 976, 966, 981, 964, 1026, 980, 982, 986,
1118 973, 964, 987, 973, 973, 2755, 980, 981, 1033, 1034,
1119 983, 996, 1037, 981, 997, 997, 991, 1015, 1025, 1013,
1120 1021, 1033, 1050, 996, 1010, 1050, 1009, 1052, 2755, 1058,
1121 1008, 999, 1018, 1008, 1007, 1002, 1003, 1015, 1010, 1006,
1122 1024, 1016, 1011, 1012, 1022, 1031, 1072, 1023, 1020, 1038,
1123 1030, 1025, 1081, 1087, 1041, 1032, 1090, 1047, 1038, 1046,
1124 1048, 1033, 1049, 1054, 1040, 1052, 1049, 1047, 1059, 1043,
1125 1044, 2755, 1060, 1063, 1046, 1048, 1109, 1049, 1068, 2755,
1126 1067, 1070, 1057, 1052, 1070, 1058, 1114, 1069, 1065, 1062,
1127
1128 1118, 1064, 1120, 1079, 1065, 1083, 1083, 1083, 1085, 1070,
1129 1085, 1072, 1073, 1089, 1076, 1093, 2755, 1091, 1078, 2755,
1130 1136, 1086, 2755, 1096, 1089, 1145, 1089, 2755, 1092, 1097,
1131 1144, 1092, 1093, 1105, 1099, 1097, 1094, 1109, 1157, 1098,
1132 1099, 1160, 1161, 1102, 1114, 1107, 2755, 1103, 1120, 1112,
1133 1108, 1111, 1166, 1105, 1126, 1112, 1113, 1114, 1115, 1121,
1134 1129, 1120, 1134, 1182, 1136, 1137, 1152, 1181, 1164, 1156,
1135 1161, 2755, 1144, 1129, 1149, 1132, 1132, 2755, 1135, 1134,
1136 1136, 1147, 1137, 1157, 1156, 1147, 1158, 1204, 1143, 1155,
1137 1164, 1157, 1161, 1165, 1148, 1165, 1166, 1161, 1219, 1163,
1138
1139 1167, 2755, 1217, 1163, 2755, 1181, 1163, 1163, 1184, 1181,
1140 1224, 1184, 1171, 1189, 1177, 1191, 1184, 1193, 1173, 1188,
1141 1195, 1240, 1241, 2755, 1191, 1243, 1197, 1183, 1193, 1203,
1142 1187, 1207, 1190, 1192, 1192, 1199, 1208, 1196, 1203, 1198,
1143 1205, 1217, 1261, 1205, 1263, 1205, 1219, 1223, 1267, 1217,
1144 1218, 1207, 1271, 1219, 1222, 1217, 1221, 1276, 1277, 1227,
1145 2755, 1216, 1233, 1226, 1217, 1236, 1230, 1225, 1235, 1231,
1146 1226, 1244, 2755, 1228, 1224, 2755, 2755, 1230, 1293, 1249,
1147 1230, 1236, 1250, 1236, 1252, 1254, 1296, 1246, 1303, 1304,
1148 1254, 1259, 1253, 1251, 1262, 1244, 2755, 1249, 1255, 1281,
1149
1150 1294, 1282, 1296, 1283, 1318, 1268, 1271, 1271, 1275, 1276,
1151 1324, 1264, 1264, 1267, 1284, 1279, 1283, 1278, 2755, 1275,
1152 1288, 1272, 1289, 1269, 1290, 1280, 1279, 1336, 1290, 2755,
1153 1303, 1301, 1304, 1288, 1297, 1301, 1306, 1292, 1355, 1305,
1154 1311, 1311, 1298, 1312, 1310, 1307, 1303, 1321, 1322, 1323,
1155 2755, 2755, 1321, 2755, 1323, 1308, 1319, 1310, 1329, 1322,
1156 1320, 1375, 1329, 1326, 1373, 1334, 1323, 1330, 1335, 1332,
1157 1338, 2755, 1331, 2755, 1323, 1336, 1388, 2755, 1332, 1333,
1158 1344, 2755, 1345, 1339, 1334, 1344, 2755, 2755, 1334, 1335,
1159 1338, 1352, 1357, 1340, 1351, 1403, 1357, 1344, 1363, 1354,
1160
1161 1408, 1404, 1410, 2755, 1358, 1355, 1366, 1414, 1415, 1416,
1162 1370, 1371, 1373, 2755, 2755, 1365, 1360, 1417, 1363, 1379,
1163 1363, 1375, 1364, 1423, 1406, 1407, 1399, 1432, 2755, 1376,
1164 1387, 1378, 1389, 1391, 2755, 1438, 1372, 1383, 1398, 1437,
1165 1386, 1397, 1385, 1384, 1400, 1401, 1398, 1445, 1405, 1407,
1166 1396, 1406, 1412, 1402, 1402, 1461, 1457, 1458, 1464, 1418,
1167 2755, 1420, 1416, 1420, 1422, 1413, 1416, 1425, 1422, 1412,
1168 1415, 1415, 1477, 1421, 1479, 1423, 1481, 1421, 1426, 1484,
1169 2755, 1440, 1419, 1434, 1427, 1430, 1443, 1446, 1445, 1443,
1170 1495, 1446, 1436, 2755, 1443, 1444, 1496, 1440, 1456, 1504,
1171
1172 1457, 1506, 1507, 1508, 1449, 1459, 1511, 1465, 2755, 1457,
1173 1514, 1455, 1455, 2755, 1473, 2755, 1470, 1461, 1461, 2755,
1174 2755, 2755, 1475, 1458, 1478, 1479, 1465, 1467, 1529, 1476,
1175 1531, 1477, 1471, 1498, 1516, 1531, 1517, 2755, 1481, 1539,
1176 1486, 1536, 1542, 2755, 1482, 1544, 1491, 1485, 1482, 1485,
1177 1487, 1483, 1546, 1506, 1548, 1498, 1510, 1513, 1510, 1502,
1178 1505, 1500, 1565, 1510, 2755, 1507, 1506, 2755, 1508, 1570,
1179 1509, 1521, 1512, 1569, 1528, 1530, 1530, 1527, 1574, 1533,
1180 2755, 1525, 2755, 1526, 2755, 1536, 1528, 2755, 1580, 1539,
1181 1540, 1538, 1585, 1530, 1545, 1588, 1547, 1539, 2755, 1536,
1182
1183 1546, 1537, 1538, 1539, 1596, 1602, 2755, 1556, 2755, 2755,
1184 2755, 1599, 1543, 2755, 1560, 1545, 2755, 1559, 1547, 1611,
1185 1555, 1548, 1553, 1564, 1557, 1576, 1569, 1575, 1565, 1623,
1186 1573, 2755, 1582, 2755, 1579, 1627, 1604, 1605, 1611, 1596,
1187 1604, 1633, 2755, 1588, 1573, 2755, 1636, 2755, 1637, 1591,
1188 1596, 1578, 1641, 1642, 1583, 1639, 1602, 1596, 1592, 1586,
1189 1593, 1645, 1600, 1601, 2755, 1591, 1607, 1611, 1662, 2755,
1190 1612, 1598, 1660, 1621, 1621, 1663, 1608, 1613, 1611, 1673,
1191 1626, 1614, 1676, 1672, 1624, 1679, 1637, 1626, 1620, 1683,
1192 1622, 1631, 1624, 1638, 1641, 1632, 1690, 1691, 1641, 1639,
1193
1194 2755, 1632, 1630, 1691, 1692, 1693, 1645, 1644, 1644, 1640,
1195 1641, 2755, 1649, 1655, 1646, 1647, 1709, 1647, 1649, 1707,
1196 1650, 2755, 1646, 1664, 1716, 2755, 1684, 1698, 1697, 1686,
1197 1688, 2755, 1722, 1672, 2755, 2755, 1663, 1674, 1726, 2755,
1198 1727, 2755, 1681, 1671, 1676, 1674, 1727, 1682, 1688, 1674,
1199 1677, 1693, 1682, 1680, 1680, 1682, 2755, 1686, 1749, 1687,
1200 1701, 1747, 1691, 1755, 1700, 1710, 1711, 2755, 1759, 1709,
1201 1756, 2755, 1704, 1712, 2755, 1703, 1718, 1706, 2755, 1716,
1202 1717, 1718, 1770, 1725, 1716, 2755, 2755, 1705, 1723, 1724,
1203 1733, 1715, 1721, 1734, 1723, 1776, 1725, 1721, 1726, 1723,
1204
1205 1724, 1782, 1788, 2755, 1735, 1790, 1740, 1730, 1746, 1739,
1206 2755, 1772, 1797, 1779, 1794, 1800, 2755, 1746, 1802, 1741,
1207 2755, 2755, 1743, 1745, 1755, 1802, 1747, 1762, 1749, 1811,
1208 1765, 1751, 1758, 1758, 1769, 1770, 1762, 2755, 1765, 1759,
1209 1761, 1776, 1763, 1775, 2755, 1822, 1770, 1767, 2755, 1781,
1210 1768, 1789, 1785, 1787, 1835, 1785, 1782, 1790, 1784, 2755,
1211 1840, 1798, 1795, 1788, 1789, 1794, 1795, 1789, 1794, 1805,
1212 1789, 1798, 1847, 1853, 1803, 1855, 1801, 2755, 1795, 2755,
1213 1802, 1859, 1860, 1857, 1858, 2755, 1840, 1846, 2755, 1818,
1214 2755, 1862, 1811, 1822, 1823, 1808, 1809, 1817, 1874, 2755,
1215
1216 1819, 1871, 1872, 1824, 1819, 1837, 1838, 1835, 1883, 1827,
1217 1840, 1835, 1832, 1837, 1835, 1890, 1893, 1838, 1835, 1849,
1218 1836, 2755, 1851, 1852, 1853, 1854, 2755, 1848, 1903, 1853,
1219 1858, 1844, 1852, 1846, 1866, 1867, 1848, 1849, 1856, 2755,
1220 1858, 2755, 1872, 1869, 1912, 1870, 2755, 2755, 1874, 1900,
1221 1901, 1899, 1862, 1862, 1871, 1878, 1871, 1870, 1881, 1868,
1222 2755, 1884, 1872, 1875, 1934, 1871, 1890, 1883, 1882, 2755,
1223 1894, 1887, 1886, 1895, 1897, 1901, 2755, 2755, 1894, 1887,
1224 1888, 1951, 1891, 1953, 1892, 1955, 1951, 2755, 1895, 1958,
1225 1954, 1913, 1910, 1901, 1909, 1920, 1907, 1918, 1904, 1902,
1226
1227 1910, 1909, 1914, 1906, 1951, 1975, 1957, 1977, 1927, 1916,
1228 1929, 1919, 1936, 1935, 1979, 1920, 1939, 1940, 2755, 1945,
1229 1938, 1985, 1991, 1945, 1932, 1947, 1995, 1949, 1952, 1939,
1230 1948, 1949, 2755, 2003, 2755, 1953, 2755, 1951, 2006, 2755,
1231 1945, 2008, 1952, 1949, 2011, 1956, 2008, 2009, 1968, 2011,
1232 1954, 1958, 1976, 2020, 1976, 2003, 2755, 1999, 2755, 1969,
1233 1963, 1960, 2022, 1985, 1978, 1974, 2031, 1971, 1973, 1972,
1234 1979, 1991, 2755, 1976, 2038, 1979, 2755, 1984, 1994, 1979,
1235 1987, 1989, 2755, 1990, 1995, 2755, 1996, 2755, 1993, 2004,
1236 2755, 2005, 2005, 1996, 2055, 1996, 2006, 1991, 2004, 2755,
1237
1238 2006, 2037, 2043, 2015, 2013, 2065, 2003, 2005, 2002, 2026,
1239 2755, 2013, 2020, 2021, 2024, 2020, 2014, 2755, 2071, 2015,
1240 2023, 2032, 2031, 2034, 2035, 2022, 2029, 2024, 2025, 2025,
1241 2039, 2034, 2755, 2045, 2033, 2089, 2037, 2049, 2077, 2098,
1242 2099, 2043, 2755, 2043, 2055, 2103, 2049, 2051, 2049, 2050,
1243 2108, 2066, 2059, 2046, 2061, 2066, 2114, 2115, 2116, 2117,
1244 2056, 2072, 2120, 2121, 2122, 2064, 2068, 2064, 2080, 2063,
1245 2075, 2069, 2131, 2755, 2755, 2076, 2087, 2134, 2755, 2088,
1246 2073, 2091, 2082, 2755, 2078, 2084, 2098, 2094, 2087, 2755,
1247 2755, 2755, 2755, 2144, 2145, 2755, 2755, 2755, 2085, 2093,
1248
1249 2088, 2144, 2107, 2104, 2152, 2755, 2148, 2111, 2755, 2155,
1250 2094, 2157, 2097, 2098, 2111, 2110, 2111, 2101, 2755, 2755,
1251 2102, 2165, 2115, 2124, 2117, 2164, 2755, 2115, 2109, 2755,
1252 2121, 2755, 2168, 2127, 2175, 2114, 2130, 2178, 2179, 2755,
1253 2133, 2127, 2120, 2140, 2127, 2139, 2130, 2134, 2128, 2755,
1254 2185, 2131, 2755, 2755, 2131, 2139, 2189, 2146, 2139, 2151,
1255 2198, 2143, 2143, 2201, 2140, 2142, 2204, 2205, 2144, 2160,
1256 2145, 2162, 2755, 2210, 2154, 2755, 2161, 2213, 2755, 2755,
1257 2163, 2215, 2160, 2217, 2755, 2165, 2164, 2755, 2165, 2755,
1258 2159, 2755, 2159, 2176, 2177, 2225, 2168, 2227, 2228, 2755,
1259
1260 2229, 2755, 2755, 2755, 2755, 2235, 2238, 2241, 2242, 2244,
1261 2247, 2250, 2253
1262 } ;
1263
1264static const flex_int16_t yy_def[2314] =
1265 { 0,
1266 2306, 2306, 2307, 2307, 2306, 2306, 2306, 2306, 2306, 2306,
1267 2305, 2305, 2305, 2305, 2305, 2308, 2305, 2305, 2305, 2305,
1268 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1269 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2309,
1270 2305, 2305, 2305, 2310, 15, 2305, 45, 45, 45, 45,
1271 45, 45, 45, 45, 45, 45, 45, 2311, 45, 45,
1272 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1273 45, 45, 45, 45, 45, 45, 45, 45, 45, 2308,
1274 2305, 2305, 2305, 2305, 2305, 2305, 2312, 2305, 2305, 2305,
1275 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2309, 2305,
1276
1277 2310, 2305, 2305, 45, 45, 45, 45, 45, 45, 45,
1278 45, 45, 45, 45, 45, 45, 2313, 45, 2311, 45,
1279 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1280 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1281 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1282 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1283 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1284 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1285 45, 45, 45, 45, 45, 45, 45, 2312, 2305, 2305,
1286 2305, 2305, 2305, 2305, 2305, 2305, 45, 45, 45, 2305,
1287
1288 45, 45, 2305, 45, 45, 45, 45, 45, 45, 45,
1289 2313, 2305, 2305, 119, 45, 45, 45, 45, 45, 45,
1290 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1291 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1292 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1293 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1294 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1296 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1297 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1298
1299 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 2305, 2305,
1301 2305, 2305, 2305, 2305, 2305, 45, 45, 45, 45, 45,
1302 2305, 45, 45, 2305, 45, 2305, 45, 119, 45, 45,
1303 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1304 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1305 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1306 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1307 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1308 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1309
1310 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1311 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1312 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1313 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 2305, 2305, 2305, 45, 45, 45, 45, 2305,
1316 45, 45, 2305, 45, 119, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1318 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1319 45, 45, 2305, 45, 45, 45, 45, 45, 45, 45,
1320
1321 45, 45, 45, 45, 45, 2305, 45, 45, 45, 2305,
1322 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1325 45, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1326 45, 45, 2305, 45, 45, 45, 45, 45, 45, 45,
1327 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1328 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 45, 2305, 45, 2305, 45,
1330 2305, 2305, 45, 2305, 45, 45, 45, 2305, 45, 45,
1331
1332 2305, 2305, 2305, 45, 45, 45, 45, 45, 2305, 45,
1333 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1334 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1335 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1336 45, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1337 45, 45, 45, 45, 45, 45, 2305, 2305, 45, 45,
1338 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 2305, 45, 45, 45, 45, 45, 45, 45,
1341 45, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1342
1343 45, 45, 45, 45, 45, 2305, 45, 45, 45, 45,
1344 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1345 45, 45, 45, 45, 2305, 45, 45, 45, 45, 45,
1346 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1347 2305, 2305, 45, 45, 45, 45, 45, 45, 45, 45,
1348 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1349 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1352 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1353
1354 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1355 45, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1357 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1358 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1359 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1360 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1361 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1363 45, 45, 45, 45, 45, 45, 45, 2305, 2305, 45,
1364
1365 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1366 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1367 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1368 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1369 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1370 2305, 2305, 45, 45, 45, 45, 45, 45, 45, 2305,
1371 45, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1372 45, 45, 45, 45, 45, 45, 2305, 45, 45, 2305,
1373 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1374 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1375
1376 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1377 45, 45, 45, 45, 45, 2305, 45, 45, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1379 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1380 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1381 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1382 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1383 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1384 45, 2305, 45, 45, 45, 45, 45, 45, 45, 2305,
1385 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1386
1387 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1388 45, 45, 45, 45, 45, 45, 2305, 45, 45, 2305,
1389 45, 45, 2305, 45, 45, 45, 45, 2305, 45, 45,
1390 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1391 45, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1392 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1393 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1394 45, 2305, 45, 45, 45, 45, 45, 2305, 45, 45,
1395 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1396 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1397
1398 45, 2305, 45, 45, 2305, 45, 45, 45, 45, 45,
1399 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1400 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1401 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1402 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1403 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1404 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1405 45, 45, 2305, 45, 45, 2305, 2305, 45, 45, 45,
1406 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1407 45, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1408
1409 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1410 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1411 45, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1412 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1413 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1414 2305, 2305, 45, 2305, 45, 45, 45, 45, 45, 45,
1415 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1416 45, 2305, 45, 2305, 45, 45, 45, 2305, 45, 45,
1417 45, 2305, 45, 45, 45, 45, 2305, 2305, 45, 45,
1418 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1419
1420 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1421 45, 45, 45, 2305, 2305, 45, 45, 45, 45, 45,
1422 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1423 45, 45, 45, 45, 2305, 45, 45, 45, 45, 45,
1424 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1425 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1426 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1427 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1428 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1429 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1430
1431 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1432 45, 45, 45, 2305, 45, 2305, 45, 45, 45, 2305,
1433 2305, 2305, 45, 45, 45, 45, 45, 45, 45, 45,
1434 45, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1435 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1436 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1437 45, 45, 45, 45, 2305, 45, 45, 2305, 45, 45,
1438 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1439 2305, 45, 2305, 45, 2305, 45, 45, 2305, 45, 45,
1440 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1441
1442 45, 45, 45, 45, 45, 45, 2305, 45, 2305, 2305,
1443 2305, 45, 45, 2305, 45, 45, 2305, 45, 45, 45,
1444 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1445 45, 2305, 45, 2305, 45, 45, 45, 45, 45, 45,
1446 45, 45, 2305, 45, 45, 2305, 45, 2305, 45, 45,
1447 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1448 45, 45, 45, 45, 2305, 45, 45, 45, 45, 2305,
1449 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1450 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1451 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1452
1453 2305, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1454 45, 2305, 45, 45, 45, 45, 45, 45, 45, 45,
1455 45, 2305, 45, 45, 45, 2305, 45, 45, 45, 45,
1456 45, 2305, 45, 45, 2305, 2305, 45, 45, 45, 2305,
1457 45, 2305, 45, 45, 45, 45, 45, 45, 45, 45,
1458 45, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1459 45, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1460 45, 2305, 45, 45, 2305, 45, 45, 45, 2305, 45,
1461 45, 45, 45, 45, 45, 2305, 2305, 45, 45, 45,
1462 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1463
1464 45, 45, 45, 2305, 45, 45, 45, 45, 45, 45,
1465 2305, 45, 45, 45, 45, 45, 2305, 45, 45, 45,
1466 2305, 2305, 45, 45, 45, 45, 45, 45, 45, 45,
1467 45, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1468 45, 45, 45, 45, 2305, 45, 45, 45, 2305, 45,
1469 45, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1470 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1471 45, 45, 45, 45, 45, 45, 45, 2305, 45, 2305,
1472 45, 45, 45, 45, 45, 2305, 45, 45, 2305, 45,
1473 2305, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1474
1475 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1476 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1477 45, 2305, 45, 45, 45, 45, 2305, 45, 45, 45,
1478 45, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1479 45, 2305, 45, 45, 45, 45, 2305, 2305, 45, 45,
1480 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1481 2305, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1482 45, 45, 45, 45, 45, 45, 2305, 2305, 45, 45,
1483 45, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1484 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1485
1486 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1487 45, 45, 45, 45, 45, 45, 45, 45, 2305, 45,
1488 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1489 45, 45, 2305, 45, 2305, 45, 2305, 45, 45, 2305,
1490 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1491 45, 45, 45, 45, 45, 45, 2305, 45, 2305, 45,
1492 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1493 45, 45, 2305, 45, 45, 45, 2305, 45, 45, 45,
1494 45, 45, 2305, 45, 45, 2305, 45, 2305, 45, 45,
1495 2305, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1496
1497 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1498 2305, 45, 45, 45, 45, 45, 45, 2305, 45, 45,
1499 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1500 45, 45, 2305, 45, 45, 45, 45, 45, 45, 45,
1501 45, 45, 2305, 45, 45, 45, 45, 45, 45, 45,
1502 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1503 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1504 45, 45, 45, 2305, 2305, 45, 45, 45, 2305, 45,
1505 45, 45, 45, 2305, 45, 45, 45, 45, 45, 2305,
1506 2305, 2305, 2305, 45, 45, 2305, 2305, 2305, 45, 45,
1507
1508 45, 45, 45, 45, 45, 2305, 45, 45, 2305, 45,
1509 45, 45, 45, 45, 45, 45, 45, 45, 2305, 2305,
1510 45, 45, 45, 45, 45, 45, 2305, 45, 45, 2305,
1511 45, 2305, 45, 45, 45, 45, 45, 45, 45, 2305,
1512 45, 45, 45, 45, 45, 45, 45, 45, 45, 2305,
1513 45, 45, 2305, 2305, 45, 45, 45, 45, 45, 45,
1514 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1515 45, 45, 2305, 45, 45, 2305, 45, 45, 2305, 2305,
1516 45, 45, 45, 45, 2305, 45, 45, 2305, 45, 2305,
1517 45, 2305, 45, 45, 45, 45, 45, 45, 45, 2305,
1518
1519 45, 2305, 2305, 2305, 0, 2305, 2305, 2305, 2305, 2305,
1520 2305, 2305, 2305
1521 } ;
1522
1523static const flex_int16_t yy_nxt[2832] =
1524 { 0,
1525 2305, 13, 14, 13, 2305, 15, 16, 102, 17, 18,
1526 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1527 86, 254, 37, 14, 37, 87, 25, 26, 38, 37,
1528 14, 37, 42, 27, 42, 38, 2305, 2305, 28, 91,
1529 13, 14, 13, 92, 29, 91, 30, 103, 13, 14,
1530 13, 202, 25, 31, 13, 14, 13, 42, 40, 42,
1531 890, 32, 13, 14, 13, 91, 40, 33, 255, 167,
1532 93, 94, 92, 168, 34, 35, 13, 14, 13, 202,
1533 15, 16, 92, 17, 18, 19, 20, 21, 22, 22,
1534 22, 22, 22, 23, 24, 39, 13, 14, 13, 93,
1535
1536 93, 25, 26, 39, 13, 14, 13, 42, 27, 42,
1537 136, 95, 281, 28, 109, 282, 41, 104, 105, 29,
1538 108, 30, 115, 137, 41, 232, 233, 25, 31, 96,
1539 383, 138, 89, 139, 89, 234, 32, 90, 90, 90,
1540 90, 90, 33, 109, 104, 105, 108, 384, 115, 34,
1541 35, 44, 44, 44, 45, 45, 46, 45, 45, 45,
1542 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1543 45, 45, 45, 47, 45, 48, 49, 50, 51, 45,
1544 45, 52, 45, 53, 54, 45, 45, 45, 45, 55,
1545 56, 45, 57, 45, 45, 45, 58, 45, 45, 59,
1546
1547 60, 61, 62, 63, 64, 45, 65, 66, 52, 67,
1548 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1549 78, 79, 45, 45, 45, 45, 45, 81, 891, 82,
1550 82, 82, 82, 82, 81, 116, 84, 84, 84, 84,
1551 84, 191, 83, 85, 85, 85, 85, 85, 81, 83,
1552 84, 84, 84, 84, 84, 113, 83, 158, 198, 159,
1553 207, 111, 116, 83, 160, 108, 141, 114, 83, 112,
1554 191, 142, 104, 144, 143, 83, 148, 149, 210, 892,
1555 150, 113, 83, 145, 198, 146, 151, 111, 207, 83,
1556 45, 108, 45, 45, 45, 45, 114, 112, 45, 120,
1557
1558 45, 45, 140, 118, 210, 121, 45, 45, 122, 45,
1559 45, 90, 90, 90, 90, 90, 45, 45, 45, 45,
1560 45, 45, 105, 45, 45, 45, 45, 45, 45, 45,
1561 45, 45, 45, 45, 45, 45, 45, 45, 45, 102,
1562 191, 893, 124, 45, 152, 351, 125, 45, 352, 105,
1563 126, 45, 153, 127, 130, 203, 128, 131, 132, 45,
1564 129, 133, 134, 45, 154, 45, 119, 111, 161, 194,
1565 115, 162, 163, 197, 135, 112, 176, 177, 116, 103,
1566 169, 189, 164, 190, 170, 165, 113, 171, 204, 155,
1567 239, 156, 240, 157, 172, 173, 115, 189, 114, 174,
1568
1569 175, 190, 197, 112, 201, 116, 184, 271, 189, 241,
1570 190, 185, 178, 205, 179, 187, 208, 180, 181, 85,
1571 85, 85, 85, 85, 192, 246, 209, 182, 193, 894,
1572 243, 201, 83, 81, 183, 82, 82, 82, 82, 82,
1573 895, 247, 205, 244, 89, 208, 89, 245, 83, 90,
1574 90, 90, 90, 90, 209, 197, 272, 81, 83, 84,
1575 84, 84, 84, 84, 85, 85, 85, 85, 85, 101,
1576 251, 896, 83, 215, 83, 252, 101, 83, 90, 90,
1577 90, 90, 90, 220, 216, 226, 248, 259, 302, 249,
1578 264, 205, 221, 250, 227, 228, 222, 296, 83, 275,
1579
1580 260, 297, 303, 83, 308, 298, 207, 208, 286, 101,
1581 309, 265, 314, 101, 276, 277, 278, 101, 405, 897,
1582 270, 421, 320, 409, 422, 101, 315, 319, 406, 101,
1583 898, 101, 101, 213, 307, 321, 312, 319, 410, 329,
1584 320, 214, 214, 214, 214, 214, 287, 288, 289, 320,
1585 214, 214, 214, 214, 214, 214, 319, 290, 321, 291,
1586 326, 321, 292, 327, 293, 294, 322, 323, 329, 330,
1587 332, 392, 333, 335, 337, 326, 214, 214, 214, 214,
1588 214, 214, 332, 418, 324, 436, 326, 437, 334, 327,
1589 456, 419, 899, 441, 335, 453, 332, 330, 333, 335,
1590
1591 453, 340, 337, 338, 338, 338, 338, 338, 399, 457,
1592 353, 459, 338, 338, 338, 338, 338, 338, 354, 456,
1593 335, 453, 461, 462, 355, 490, 454, 393, 456, 531,
1594 394, 491, 510, 559, 446, 532, 457, 459, 338, 338,
1595 338, 338, 338, 338, 484, 900, 461, 615, 535, 485,
1596 462, 461, 465, 465, 465, 465, 465, 467, 536, 616,
1597 904, 465, 465, 465, 465, 465, 465, 506, 525, 526,
1598 527, 550, 507, 554, 528, 537, 551, 555, 564, 573,
1599 599, 594, 565, 574, 604, 560, 595, 465, 465, 465,
1600 465, 465, 465, 511, 605, 637, 606, 599, 719, 626,
1601
1602 650, 683, 673, 627, 737, 651, 684, 738, 638, 599,
1603 604, 628, 674, 629, 630, 631, 632, 633, 758, 747,
1604 711, 746, 605, 508, 606, 712, 608, 774, 509, 745,
1605 775, 751, 552, 45, 45, 45, 45, 45, 752, 743,
1606 804, 805, 45, 45, 45, 45, 45, 45, 747, 746,
1607 825, 742, 828, 720, 744, 745, 749, 829, 826, 841,
1608 882, 883, 885, 869, 842, 743, 884, 905, 45, 45,
1609 45, 45, 45, 45, 759, 870, 886, 901, 902, 906,
1610 903, 907, 908, 744, 909, 910, 911, 912, 883, 882,
1611 913, 885, 914, 884, 830, 915, 916, 917, 918, 919,
1612
1613 920, 921, 886, 922, 923, 924, 843, 925, 928, 929,
1614 930, 926, 931, 932, 933, 927, 934, 935, 936, 937,
1615 938, 939, 940, 941, 942, 943, 944, 945, 946, 947,
1616 948, 949, 950, 951, 952, 953, 954, 955, 956, 958,
1617 959, 957, 960, 961, 962, 963, 964, 965, 966, 967,
1618 968, 969, 970, 971, 972, 973, 974, 975, 976, 977,
1619 978, 979, 980, 981, 982, 983, 984, 985, 986, 987,
1620 988, 989, 990, 991, 992, 993, 994, 995, 996, 997,
1621 998, 999, 1000, 1002, 1003, 1006, 1007, 1008, 1009, 1001,
1622 1013, 1004, 1014, 1015, 1016, 1005, 1017, 1018, 1019, 1020,
1623
1624 1021, 1010, 1022, 1011, 1023, 1024, 1025, 1012, 1026, 1027,
1625 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037,
1626 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
1627 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1028, 1055, 1056,
1628 1029, 1057, 1058, 1032, 1059, 1060, 1061, 1062, 1063, 1064,
1629 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
1630 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1084, 1085,
1631 1086, 1087, 1083, 1088, 1089, 1090, 1091, 1092, 1093, 1094,
1632 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104,
1633 1105, 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1114, 1111,
1634
1635 1115, 1116, 1117, 1119, 1120, 1121, 1122, 1118, 1123, 1124,
1636 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
1637 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1144, 1145,
1638 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1143,
1639 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164,
1640 1165, 1166, 1167, 1168, 1169, 1172, 1170, 1173, 1174, 1171,
1641 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
1642 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194,
1643 1168, 1167, 1195, 1169, 1170, 1171, 1196, 1197, 1198, 1199,
1644 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
1645
1646 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
1647 1220, 1221, 1222, 1223, 1224, 1227, 1228, 1229, 1230, 1225,
1648 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1649 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
1650 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260,
1651 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
1652 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280,
1653 1281, 1282, 1283, 1284, 1285, 1226, 1286, 1287, 1288, 1289,
1654 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
1655 1300, 1301, 1303, 1302, 1304, 1305, 1306, 1307, 1308, 1309,
1656
1657 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
1658 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1300,
1659 1302, 1303, 1304, 1329, 1330, 1331, 1332, 1333, 1334, 1335,
1660 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345,
1661 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1356,
1662 1357, 1358, 1359, 1355, 1360, 1361, 1362, 1363, 1364, 1365,
1663 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375,
1664 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385,
1665 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395,
1666 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
1667
1668 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1669 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425,
1670 1426, 1428, 1427, 1429, 1430, 1431, 1432, 1433, 1434, 1435,
1671 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445,
1672 1446, 1447, 1448, 1449, 1450, 1425, 1451, 1424, 1427, 1426,
1673 1428, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460,
1674 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470,
1675 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480,
1676 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490,
1677 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500,
1678
1679 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510,
1680 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520,
1681 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530,
1682 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540,
1683 1541, 1542, 1543, 1544, 1546, 1547, 1548, 1549, 1550, 1551,
1684 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561,
1685 1562, 1535, 1536, 1563, 1564, 1537, 1565, 1566, 1567, 1568,
1686 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578,
1687 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588,
1688 1545, 1589, 1590, 1591, 1593, 1594, 1595, 1596, 1597, 1598,
1689
1690 1599, 1592, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
1691 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617,
1692 1619, 1620, 1623, 1621, 1618, 1622, 1624, 1625, 1626, 1627,
1693 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637,
1694 1638, 1639, 1642, 1641, 1643, 1644, 1645, 1646, 1647, 1648,
1695 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658,
1696 1659, 1660, 1661, 1662, 1663, 1640, 1638, 1664, 1637, 1641,
1697 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674,
1698 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684,
1699 1685, 1686, 1687, 1640, 1688, 1689, 1690, 1691, 1692, 1693,
1700
1701 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
1702 1704, 1705, 1706, 1707, 1711, 1708, 1712, 1713, 1709, 1714,
1703 1715, 1710, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723,
1704 1724, 1725, 1726, 1727, 1728, 1730, 1729, 1731, 1732, 1733,
1705 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1742, 1743, 1744,
1706 1747, 1748, 1745, 1749, 1750, 1751, 1752, 1753, 1754, 1755,
1707 1727, 1728, 1729, 1746, 1730, 1731, 1756, 1757, 1758, 1759,
1708 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1770,
1709 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780,
1710 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790,
1711
1712 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1741, 1798, 1799,
1713 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809,
1714 1810, 1811, 1812, 1813, 1815, 1814, 1816, 1817, 1818, 1819,
1715 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1769,
1716 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1813,
1717 1841, 1812, 1814, 1815, 1838, 1816, 1842, 1843, 1844, 1839,
1718 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
1719 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
1720 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
1721 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884,
1722
1723 1885, 1840, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893,
1724 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903,
1725 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1885, 1911, 1887,
1726 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,
1727 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931,
1728 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941,
1729 1942, 1943, 1945, 1946, 1947, 1948, 1944, 1949, 1950, 1951,
1730 1953, 1952, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961,
1731 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971,
1732 1972, 1973, 1974, 1975, 1976, 1977, 1951, 1952, 1978, 1979,
1733
1734 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989,
1735 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1736 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
1737 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
1738 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029,
1739 2030, 2005, 2006, 2031, 2007, 2032, 2033, 2034, 2035, 2036,
1740 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046,
1741 2047, 2048, 2049, 2050, 2051, 2053, 2054, 2052, 2055, 2056,
1742 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066,
1743 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076,
1744
1745 2077, 2078, 2079, 2080, 2081, 2082, 2056, 2058, 2083, 2084,
1746 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094,
1747 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
1748 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114,
1749 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124,
1750 2125, 2126, 2127, 2102, 2128, 2103, 2129, 2130, 2131, 2132,
1751 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2141, 2140, 2142,
1752 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
1753 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
1754 2163, 2164, 2165, 2139, 2140, 2166, 2167, 2168, 2169, 2170,
1755
1756 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180,
1757 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190,
1758 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2173, 2199,
1759 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209,
1760 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219,
1761 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229,
1762 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239,
1763 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249,
1764 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2260,
1765 2259, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269,
1766
1767 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279,
1768 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289,
1769 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299,
1770 2300, 2301, 2302, 2303, 2304, 12, 12, 12, 36, 36,
1771 36, 80, 99, 80, 101, 101, 101, 117, 117, 117,
1772 188, 889, 188, 211, 211, 211, 888, 887, 881, 880,
1773 879, 878, 877, 876, 875, 874, 873, 872, 871, 868,
1774 867, 866, 865, 864, 863, 862, 861, 860, 859, 858,
1775 857, 856, 855, 854, 853, 852, 851, 850, 849, 848,
1776 847, 846, 845, 844, 840, 839, 838, 837, 836, 835,
1777
1778 834, 833, 832, 831, 827, 824, 823, 822, 821, 820,
1779 819, 818, 817, 816, 815, 814, 813, 812, 811, 810,
1780 809, 808, 807, 806, 803, 802, 801, 800, 799, 798,
1781 797, 796, 795, 794, 793, 792, 791, 790, 789, 788,
1782 787, 786, 785, 784, 783, 782, 781, 780, 779, 778,
1783 777, 776, 773, 772, 771, 770, 769, 768, 767, 766,
1784 765, 764, 763, 762, 761, 760, 757, 756, 755, 754,
1785 753, 750, 748, 742, 741, 740, 739, 736, 735, 734,
1786 733, 732, 731, 730, 729, 728, 727, 726, 725, 724,
1787 723, 722, 721, 718, 717, 716, 715, 714, 713, 710,
1788
1789 709, 708, 707, 706, 705, 704, 703, 702, 701, 700,
1790 699, 698, 697, 696, 695, 694, 693, 692, 691, 690,
1791 689, 688, 687, 686, 685, 682, 681, 680, 679, 678,
1792 677, 676, 675, 672, 671, 670, 669, 668, 667, 666,
1793 665, 664, 663, 662, 661, 660, 659, 658, 657, 656,
1794 655, 654, 653, 652, 649, 648, 647, 646, 645, 644,
1795 643, 642, 641, 640, 639, 636, 635, 634, 625, 624,
1796 623, 622, 621, 620, 619, 618, 617, 614, 613, 612,
1797 611, 610, 609, 607, 603, 602, 601, 600, 598, 597,
1798 596, 593, 592, 591, 590, 589, 588, 587, 586, 585,
1799
1800 584, 583, 582, 581, 580, 579, 578, 577, 576, 575,
1801 572, 571, 570, 569, 568, 567, 566, 563, 562, 561,
1802 558, 557, 556, 553, 549, 548, 547, 546, 545, 544,
1803 543, 542, 541, 540, 539, 538, 534, 533, 530, 529,
1804 524, 523, 522, 521, 520, 519, 518, 517, 516, 515,
1805 514, 513, 512, 505, 504, 503, 502, 501, 500, 499,
1806 498, 497, 496, 495, 494, 493, 492, 489, 488, 487,
1807 486, 483, 482, 481, 480, 479, 478, 477, 476, 475,
1808 474, 473, 472, 471, 470, 469, 468, 466, 464, 463,
1809 460, 458, 455, 452, 451, 450, 449, 448, 447, 445,
1810
1811 444, 443, 442, 440, 439, 438, 435, 434, 433, 432,
1812 431, 430, 429, 428, 427, 426, 425, 424, 423, 420,
1813 417, 416, 415, 414, 413, 412, 411, 408, 407, 404,
1814 403, 402, 401, 400, 398, 397, 396, 395, 391, 390,
1815 389, 388, 387, 386, 385, 382, 381, 380, 379, 378,
1816 377, 376, 375, 374, 373, 372, 371, 370, 369, 368,
1817 367, 366, 365, 364, 363, 362, 361, 360, 359, 358,
1818 357, 356, 350, 349, 348, 347, 346, 345, 344, 343,
1819 342, 341, 339, 212, 336, 334, 331, 328, 325, 318,
1820 317, 316, 313, 311, 310, 306, 305, 304, 301, 300,
1821
1822 299, 295, 285, 284, 283, 280, 279, 274, 273, 269,
1823 268, 267, 266, 263, 262, 261, 258, 257, 256, 253,
1824 242, 238, 237, 236, 235, 231, 230, 229, 225, 224,
1825 223, 219, 218, 217, 212, 206, 200, 199, 196, 195,
1826 186, 166, 147, 123, 110, 107, 106, 43, 100, 98,
1827 97, 88, 43, 2305, 11, 2305, 2305, 2305, 2305, 2305,
1828 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1829 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1830 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1831 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1832
1833 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1834 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1835 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
1836 2305
1837 } ;
1838
1839static const flex_int16_t yy_chk[2832] =
1840 { 0,
1841 0, 1, 1, 1, 0, 1, 1, 44, 1, 1,
1842 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1843 21, 144, 3, 3, 3, 21, 1, 1, 3, 4,
1844 4, 4, 13, 1, 13, 4, 0, 0, 1, 26,
1845 5, 5, 5, 27, 1, 31, 1, 44, 6, 6,
1846 6, 109, 1, 1, 7, 7, 7, 37, 7, 37,
1847 751, 1, 8, 8, 8, 26, 8, 1, 144, 74,
1848 28, 31, 27, 74, 1, 1, 2, 2, 2, 109,
1849 2, 2, 32, 2, 2, 2, 2, 2, 2, 2,
1850 2, 2, 2, 2, 2, 5, 9, 9, 9, 28,
1851
1852 33, 2, 2, 6, 10, 10, 10, 42, 2, 42,
1853 63, 32, 164, 2, 52, 164, 9, 47, 48, 2,
1854 51, 2, 56, 63, 10, 132, 132, 2, 2, 33,
1855 257, 63, 25, 63, 25, 132, 2, 25, 25, 25,
1856 25, 25, 2, 52, 47, 48, 51, 257, 56, 2,
1857 2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1858 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1859 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1860 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1861 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1862
1863 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1864 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1865 15, 15, 15, 15, 15, 15, 15, 17, 752, 17,
1866 17, 17, 17, 17, 19, 57, 19, 19, 19, 19,
1867 19, 93, 17, 20, 20, 20, 20, 20, 22, 19,
1868 22, 22, 22, 22, 22, 55, 20, 71, 105, 71,
1869 113, 54, 57, 22, 71, 64, 65, 55, 17, 54,
1870 93, 65, 59, 66, 65, 19, 68, 68, 116, 753,
1871 68, 55, 20, 66, 105, 66, 68, 54, 113, 22,
1872 45, 64, 45, 45, 45, 45, 55, 54, 45, 59,
1873
1874 45, 45, 64, 58, 116, 59, 45, 45, 59, 45,
1875 58, 89, 89, 89, 89, 89, 45, 45, 45, 45,
1876 45, 45, 61, 45, 45, 45, 45, 45, 45, 45,
1877 45, 45, 45, 45, 45, 45, 45, 45, 45, 101,
1878 96, 754, 61, 58, 69, 227, 61, 58, 227, 61,
1879 61, 58, 69, 61, 62, 110, 61, 62, 62, 58,
1880 61, 62, 62, 58, 69, 58, 58, 70, 72, 96,
1881 77, 72, 72, 104, 62, 70, 76, 76, 79, 101,
1882 75, 91, 72, 92, 75, 72, 76, 75, 110, 70,
1883 137, 70, 137, 70, 75, 75, 77, 94, 76, 75,
1884
1885 75, 95, 104, 70, 108, 79, 77, 158, 91, 137,
1886 92, 77, 76, 111, 76, 79, 114, 76, 76, 81,
1887 81, 81, 81, 81, 94, 140, 115, 76, 95, 755,
1888 139, 108, 81, 82, 76, 82, 82, 82, 82, 82,
1889 756, 140, 111, 139, 83, 114, 83, 139, 82, 83,
1890 83, 83, 83, 83, 115, 120, 158, 84, 81, 84,
1891 84, 84, 84, 84, 85, 85, 85, 85, 85, 103,
1892 142, 757, 84, 120, 82, 142, 103, 85, 90, 90,
1893 90, 90, 90, 124, 120, 128, 141, 148, 174, 141,
1894 152, 157, 124, 141, 128, 128, 124, 170, 84, 161,
1895
1896 148, 170, 174, 85, 179, 170, 178, 182, 168, 103,
1897 179, 152, 184, 103, 161, 161, 161, 103, 276, 758,
1898 157, 289, 190, 279, 289, 103, 184, 189, 276, 103,
1899 759, 103, 103, 119, 178, 191, 182, 192, 279, 201,
1900 193, 119, 119, 119, 119, 119, 168, 168, 168, 190,
1901 119, 119, 119, 119, 119, 119, 189, 168, 194, 168,
1902 197, 191, 168, 198, 168, 168, 192, 193, 201, 202,
1903 205, 265, 206, 208, 210, 216, 119, 119, 119, 119,
1904 119, 119, 270, 287, 194, 303, 197, 303, 307, 198,
1905 326, 287, 760, 307, 312, 319, 205, 202, 206, 208,
1906
1907 322, 216, 210, 214, 214, 214, 214, 214, 270, 327,
1908 228, 329, 214, 214, 214, 214, 214, 214, 228, 326,
1909 312, 319, 332, 333, 228, 362, 322, 265, 340, 395,
1910 265, 362, 378, 418, 312, 395, 327, 329, 214, 214,
1911 214, 214, 214, 214, 357, 761, 399, 474, 398, 357,
1912 333, 332, 338, 338, 338, 338, 338, 340, 398, 474,
1913 763, 338, 338, 338, 338, 338, 338, 377, 392, 392,
1914 392, 412, 377, 414, 392, 399, 412, 414, 422, 430,
1915 456, 450, 422, 430, 462, 418, 450, 338, 338, 338,
1916 338, 338, 338, 378, 464, 490, 464, 467, 573, 486,
1917
1918 503, 537, 527, 486, 595, 503, 537, 595, 490, 456,
1919 462, 486, 527, 486, 486, 486, 486, 486, 618, 606,
1920 566, 605, 464, 377, 464, 566, 467, 633, 377, 604,
1921 633, 612, 412, 465, 465, 465, 465, 465, 612, 600,
1922 665, 665, 465, 465, 465, 465, 465, 465, 606, 605,
1923 686, 608, 688, 573, 600, 604, 608, 688, 686, 700,
1924 743, 744, 746, 729, 700, 600, 745, 764, 465, 465,
1925 465, 465, 465, 465, 618, 729, 747, 762, 762, 765,
1926 762, 766, 767, 600, 768, 769, 770, 771, 744, 743,
1927 772, 746, 773, 745, 688, 774, 775, 776, 777, 778,
1928
1929 779, 780, 747, 781, 782, 783, 700, 784, 785, 786,
1930 787, 784, 788, 789, 790, 784, 791, 792, 793, 794,
1931 795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
1932 805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
1933 815, 813, 816, 818, 819, 820, 821, 822, 823, 824,
1934 825, 826, 827, 829, 830, 831, 832, 833, 834, 835,
1935 836, 837, 838, 839, 840, 842, 843, 844, 845, 846,
1936 847, 848, 849, 850, 851, 852, 853, 854, 855, 856,
1937 857, 858, 859, 860, 861, 862, 863, 864, 865, 859,
1938 866, 861, 867, 868, 870, 861, 871, 872, 873, 874,
1939
1940 875, 865, 876, 865, 877, 878, 879, 865, 880, 881,
1941 882, 883, 884, 885, 886, 887, 888, 889, 890, 891,
1942 892, 893, 894, 895, 896, 897, 900, 901, 902, 903,
1943 904, 905, 906, 907, 908, 909, 910, 882, 911, 912,
1944 883, 913, 914, 886, 915, 916, 917, 918, 919, 920,
1945 921, 922, 923, 924, 925, 926, 927, 928, 929, 930,
1946 931, 932, 933, 935, 936, 937, 938, 939, 940, 941,
1947 942, 943, 939, 944, 945, 946, 947, 948, 949, 950,
1948 953, 954, 955, 956, 957, 958, 959, 961, 962, 963,
1949 964, 965, 966, 968, 969, 970, 971, 972, 973, 970,
1950
1951 974, 975, 976, 978, 979, 982, 983, 976, 984, 985,
1952 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
1953 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
1954 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1003,
1955 1015, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
1956 1026, 1027, 1028, 1029, 1030, 1033, 1031, 1034, 1035, 1032,
1957 1036, 1037, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
1958 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056,
1959 1029, 1028, 1057, 1030, 1031, 1032, 1058, 1059, 1060, 1061,
1960 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
1961
1962 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
1963 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1091, 1092, 1087,
1964 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
1965 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
1966 1113, 1114, 1115, 1116, 1118, 1119, 1121, 1122, 1124, 1125,
1967 1126, 1127, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136,
1968 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146,
1969 1148, 1149, 1150, 1151, 1152, 1087, 1153, 1154, 1155, 1156,
1970 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166,
1971 1167, 1168, 1170, 1169, 1171, 1173, 1174, 1175, 1176, 1177,
1972
1973 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
1974 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1167,
1975 1169, 1170, 1171, 1198, 1199, 1200, 1201, 1203, 1204, 1206,
1976 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
1977 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1225, 1226, 1227,
1978 1228, 1229, 1230, 1226, 1231, 1232, 1233, 1234, 1235, 1236,
1979 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
1980 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256,
1981 1257, 1258, 1259, 1260, 1262, 1263, 1264, 1265, 1266, 1267,
1982 1268, 1269, 1270, 1271, 1272, 1274, 1275, 1278, 1279, 1280,
1983
1984 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
1985 1291, 1292, 1293, 1294, 1295, 1296, 1298, 1299, 1300, 1301,
1986 1302, 1304, 1303, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
1987 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1320, 1321, 1322,
1988 1323, 1324, 1325, 1326, 1327, 1301, 1328, 1300, 1303, 1302,
1989 1304, 1329, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
1990 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
1991 1349, 1350, 1353, 1355, 1356, 1357, 1358, 1359, 1360, 1361,
1992 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371,
1993 1373, 1375, 1376, 1377, 1379, 1380, 1381, 1383, 1384, 1385,
1994
1995 1386, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397,
1996 1398, 1399, 1400, 1401, 1402, 1403, 1405, 1406, 1407, 1408,
1997 1409, 1410, 1411, 1412, 1413, 1416, 1417, 1418, 1419, 1420,
1998 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1431,
1999 1432, 1433, 1434, 1436, 1437, 1438, 1439, 1440, 1441, 1442,
2000 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452,
2001 1453, 1425, 1426, 1454, 1455, 1427, 1456, 1457, 1458, 1459,
2002 1460, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470,
2003 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480,
2004 1436, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490,
2005
2006 1491, 1484, 1492, 1493, 1495, 1496, 1497, 1498, 1499, 1500,
2007 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1510, 1511,
2008 1512, 1513, 1517, 1515, 1511, 1515, 1518, 1519, 1523, 1524,
2009 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534,
2010 1535, 1536, 1539, 1537, 1540, 1541, 1542, 1543, 1545, 1546,
2011 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
2012 1557, 1558, 1559, 1560, 1561, 1536, 1535, 1562, 1534, 1537,
2013 1563, 1564, 1566, 1567, 1569, 1570, 1571, 1572, 1573, 1574,
2014 1575, 1576, 1577, 1578, 1579, 1580, 1582, 1584, 1586, 1587,
2015 1589, 1590, 1591, 1536, 1592, 1593, 1594, 1595, 1596, 1597,
2016
2017 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1608, 1612,
2018 1613, 1615, 1616, 1618, 1619, 1618, 1620, 1621, 1618, 1622,
2019 1623, 1618, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631,
2020 1633, 1635, 1636, 1637, 1638, 1640, 1639, 1641, 1642, 1644,
2021 1645, 1647, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656,
2022 1658, 1659, 1657, 1660, 1661, 1662, 1663, 1664, 1666, 1667,
2023 1637, 1638, 1639, 1657, 1640, 1641, 1668, 1669, 1671, 1672,
2024 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1679, 1680, 1681,
2025 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691,
2026 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1702,
2027
2028 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1653, 1710, 1711,
2029 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1723,
2030 1724, 1725, 1727, 1728, 1730, 1729, 1731, 1733, 1734, 1737,
2031 1738, 1739, 1741, 1743, 1744, 1745, 1746, 1747, 1748, 1680,
2032 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1758, 1728,
2033 1760, 1727, 1729, 1730, 1759, 1731, 1761, 1762, 1763, 1759,
2034 1764, 1765, 1766, 1767, 1769, 1770, 1771, 1773, 1774, 1776,
2035 1777, 1778, 1780, 1781, 1782, 1783, 1784, 1785, 1788, 1789,
2036 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799,
2037 1800, 1801, 1802, 1803, 1805, 1806, 1807, 1808, 1809, 1810,
2038
2039 1812, 1759, 1813, 1814, 1815, 1816, 1818, 1819, 1820, 1823,
2040 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
2041 1834, 1835, 1836, 1837, 1839, 1840, 1841, 1812, 1842, 1814,
2042 1843, 1844, 1846, 1847, 1848, 1850, 1851, 1852, 1853, 1854,
2043 1855, 1856, 1857, 1858, 1859, 1861, 1862, 1863, 1864, 1865,
2044 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875,
2045 1876, 1877, 1879, 1881, 1882, 1883, 1877, 1884, 1885, 1887,
2046 1890, 1888, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899,
2047 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
2048 1911, 1912, 1913, 1914, 1915, 1916, 1887, 1888, 1917, 1918,
2049
2050 1919, 1920, 1921, 1923, 1924, 1925, 1926, 1928, 1929, 1930,
2051 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1941,
2052 1943, 1944, 1945, 1946, 1949, 1950, 1951, 1952, 1953, 1954,
2053 1955, 1956, 1957, 1958, 1959, 1960, 1962, 1963, 1964, 1965,
2054 1966, 1967, 1968, 1969, 1971, 1972, 1973, 1974, 1975, 1976,
2055 1979, 1950, 1951, 1980, 1952, 1981, 1982, 1983, 1984, 1985,
2056 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
2057 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2001, 2004, 2005,
2058 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2059 2016, 2017, 2018, 2020, 2021, 2022, 2023, 2024, 2025, 2026,
2060
2061 2027, 2028, 2029, 2030, 2031, 2032, 2005, 2007, 2034, 2036,
2062 2038, 2039, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
2063 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2058, 2060,
2064 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070,
2065 2071, 2072, 2074, 2075, 2076, 2078, 2079, 2080, 2081, 2082,
2066 2084, 2085, 2087, 2056, 2089, 2058, 2090, 2092, 2093, 2094,
2067 2095, 2096, 2097, 2098, 2099, 2101, 2102, 2104, 2103, 2105,
2068 2106, 2107, 2108, 2109, 2110, 2112, 2113, 2114, 2115, 2116,
2069 2117, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127,
2070 2128, 2129, 2130, 2102, 2103, 2131, 2132, 2134, 2135, 2136,
2071
2072 2137, 2138, 2139, 2140, 2141, 2142, 2144, 2145, 2146, 2147,
2073 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157,
2074 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2139, 2166,
2075 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2176, 2177, 2178,
2076 2180, 2181, 2182, 2183, 2185, 2186, 2187, 2188, 2189, 2194,
2077 2195, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2207, 2208,
2078 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2221,
2079 2222, 2223, 2224, 2225, 2226, 2228, 2229, 2231, 2233, 2234,
2080 2235, 2236, 2237, 2238, 2239, 2241, 2242, 2243, 2244, 2245,
2081 2244, 2246, 2247, 2248, 2249, 2251, 2252, 2255, 2256, 2257,
2082
2083 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267,
2084 2268, 2269, 2270, 2271, 2272, 2274, 2275, 2277, 2278, 2281,
2085 2282, 2283, 2284, 2286, 2287, 2289, 2291, 2293, 2294, 2295,
2086 2296, 2297, 2298, 2299, 2301, 2306, 2306, 2306, 2307, 2307,
2087 2307, 2308, 2309, 2308, 2310, 2310, 2310, 2311, 2311, 2311,
2088 2312, 750, 2312, 2313, 2313, 2313, 749, 748, 740, 739,
2089 738, 737, 736, 735, 734, 733, 732, 731, 730, 728,
2090 727, 726, 724, 723, 722, 721, 720, 719, 718, 717,
2091 716, 715, 714, 713, 712, 710, 709, 708, 707, 705,
2092 704, 703, 702, 701, 699, 697, 696, 695, 694, 693,
2093
2094 692, 691, 690, 689, 687, 685, 684, 682, 681, 680,
2095 679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
2096 669, 668, 667, 666, 664, 663, 662, 661, 660, 659,
2097 656, 655, 654, 653, 652, 651, 649, 648, 647, 646,
2098 645, 644, 643, 642, 641, 640, 639, 638, 637, 636,
2099 635, 634, 632, 631, 630, 629, 628, 627, 626, 625,
2100 624, 623, 622, 621, 620, 619, 617, 616, 615, 614,
2101 613, 610, 607, 599, 598, 597, 596, 593, 590, 588,
2102 586, 585, 584, 583, 582, 581, 580, 579, 578, 577,
2103 576, 575, 574, 572, 571, 570, 569, 568, 567, 565,
2104
2105 564, 563, 562, 561, 560, 559, 558, 557, 556, 555,
2106 554, 552, 551, 549, 548, 547, 546, 545, 544, 543,
2107 542, 541, 540, 539, 538, 536, 535, 533, 532, 531,
2108 530, 529, 528, 526, 525, 524, 523, 522, 521, 520,
2109 519, 518, 517, 516, 515, 514, 513, 512, 511, 509,
2110 508, 507, 505, 504, 502, 501, 500, 499, 498, 497,
2111 496, 495, 494, 492, 491, 489, 488, 487, 485, 483,
2112 482, 481, 480, 479, 478, 476, 475, 473, 472, 471,
2113 470, 469, 468, 466, 461, 459, 458, 457, 455, 452,
2114 451, 449, 448, 447, 446, 445, 444, 443, 442, 441,
2115
2116 440, 439, 438, 437, 436, 435, 434, 433, 432, 431,
2117 429, 428, 427, 426, 425, 424, 423, 421, 420, 419,
2118 417, 416, 415, 413, 411, 410, 409, 408, 407, 406,
2119 405, 404, 403, 402, 401, 400, 397, 396, 394, 393,
2120 391, 390, 389, 388, 387, 386, 385, 384, 383, 382,
2121 381, 380, 379, 376, 375, 374, 373, 372, 371, 370,
2122 369, 368, 367, 366, 365, 364, 363, 361, 360, 359,
2123 358, 356, 355, 354, 353, 352, 351, 350, 349, 348,
2124 347, 346, 345, 344, 343, 342, 341, 339, 337, 335,
2125 330, 328, 325, 318, 317, 316, 315, 314, 313, 311,
2126
2127 310, 309, 308, 306, 305, 304, 302, 301, 300, 299,
2128 298, 297, 296, 295, 294, 293, 292, 291, 290, 288,
2129 286, 285, 284, 283, 282, 281, 280, 278, 277, 275,
2130 274, 273, 272, 271, 269, 268, 267, 266, 264, 263,
2131 262, 261, 260, 259, 258, 256, 255, 253, 252, 251,
2132 250, 249, 248, 247, 246, 245, 244, 243, 242, 241,
2133 240, 239, 238, 237, 236, 235, 234, 233, 232, 231,
2134 230, 229, 226, 225, 224, 223, 222, 221, 220, 219,
2135 218, 217, 215, 211, 209, 207, 204, 199, 195, 187,
2136 186, 185, 183, 181, 180, 177, 176, 175, 173, 172,
2137
2138 171, 169, 167, 166, 165, 163, 162, 160, 159, 156,
2139 155, 154, 153, 151, 150, 149, 147, 146, 145, 143,
2140 138, 136, 135, 134, 133, 131, 130, 129, 127, 126,
2141 125, 123, 122, 121, 117, 112, 107, 106, 99, 98,
2142 78, 73, 67, 60, 53, 50, 49, 43, 41, 39,
2143 38, 24, 14, 11, 2305, 2305, 2305, 2305, 2305, 2305,
2144 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2145 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2146 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2147 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2148
2149 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2150 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2151 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2152 2305
2153 } ;
2154
2155static yy_state_type yy_last_accepting_state;
2156static char *yy_last_accepting_cpos;
2157
2158extern int yy_flex_debug;
2160
2161static const flex_int16_t yy_rule_linenum[240] =
2162 { 0,
2163 149, 151, 153, 158, 159, 164, 165, 166, 178, 180,
2164 185, 191, 200, 209, 218, 227, 236, 245, 254, 263,
2165 274, 285, 295, 305, 315, 325, 335, 344, 354, 364,
2166 374, 384, 393, 402, 411, 420, 429, 438, 447, 456,
2167 465, 474, 483, 492, 501, 510, 519, 528, 537, 546,
2168 560, 572, 584, 595, 606, 618, 629, 640, 651, 662,
2169 673, 684, 695, 704, 713, 722, 733, 744, 753, 765,
2170 777, 789, 800, 812, 824, 836, 848, 860, 872, 883,
2171 894, 903, 912, 921, 932, 943, 952, 961, 972, 983,
2172 994, 1005, 1016, 1027, 1038, 1049, 1060, 1069, 1078, 1087,
2173
2174 1096, 1107, 1117, 1128, 1137, 1146, 1161, 1177, 1186, 1195,
2175 1204, 1213, 1222, 1231, 1240, 1249, 1258, 1267, 1276, 1286,
2176 1312, 1338, 1347, 1357, 1367, 1376, 1386, 1397, 1408, 1419,
2177 1429, 1438, 1447, 1456, 1467, 1478, 1489, 1500, 1511, 1520,
2178 1529, 1538, 1547, 1556, 1565, 1574, 1583, 1592, 1601, 1612,
2179 1624, 1636, 1649, 1658, 1667, 1676, 1685, 1695, 1705, 1714,
2180 1723, 1734, 1744, 1753, 1763, 1773, 1782, 1791, 1800, 1809,
2181 1819, 1828, 1837, 1846, 1855, 1864, 1873, 1882, 1891, 1900,
2182 1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981, 1990,
2183 1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071, 2080,
2184
2185 2089, 2098, 2107, 2116, 2125, 2134, 2143, 2152, 2161, 2170,
2186 2179, 2188, 2197, 2206, 2215, 2224, 2233, 2242, 2251, 2260,
2187 2269, 2370, 2386, 2435, 2443, 2458, 2459, 2460, 2461, 2462,
2188 2463, 2465, 2483, 2496, 2501, 2505, 2507, 2509, 2511
2189 } ;
2190
2191/* The intent behind this definition is that it'll catch
2192 * any uses of REJECT which flex missed.
2193 */
2194#define REJECT reject_used_but_not_detected
2195#define yymore() yymore_used_but_not_detected
2196#define YY_MORE_ADJ 0
2197#define YY_RESTORE_YY_MORE_OFFSET
2199#line 1 "dhcp6_lexer.ll"
2200/* Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
2201
2202 This Source Code Form is subject to the terms of the Mozilla Public
2203 License, v. 2.0. If a copy of the MPL was not distributed with this
2204 file, You can obtain one at http://mozilla.org/MPL/2.0/. */
2205#line 8 "dhcp6_lexer.ll"
2206
2207/* Generated files do not make clang static analyser so happy */
2208#ifndef __clang_analyzer__
2209
2210#include <cctype>
2211#include <cerrno>
2212#include <climits>
2213#include <cstdint>
2214#include <cstdlib>
2215#include <string>
2216#include <dhcp6/parser_context.h>
2217#include <asiolink/io_address.h>
2218#include <boost/lexical_cast.hpp>
2219#include <exceptions/exceptions.h>
2220
2221/* Please avoid C++ style comments (// ... eol) as they break flex 2.6.2 */
2222
2223/* Work around an incompatibility in flex (at least versions
2224 2.5.31 through 2.5.33): it generates code that does
2225 not conform to C89. See Debian bug 333231
2226 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. */
2227# undef yywrap
2228# define yywrap() 1
2229
2230namespace {
2231
2232bool start_token_flag = false;
2233
2235unsigned int comment_start_line = 0;
2236
2237using namespace isc::dhcp;
2238
2239};
2240
2241/* To avoid the call to exit... oops! */
2242#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
2243#line 2243 "dhcp6_lexer.cc"
2244/* noyywrap disables automatic rewinding for the next file to parse. Since we
2245 always parse only a single string, there's no need to do any wraps. And
2246 using yywrap requires linking with -lfl, which provides the default yywrap
2247 implementation that always returns 1 anyway. */
2248/* nounput simplifies the lexer, by removing support for putting a character
2249 back into the input stream. We never use such capability anyway. */
2250/* batch means that we'll never use the generated lexer interactively. */
2251/* avoid to get static global variables to remain with C++. */
2252/* in last resort %option reentrant */
2253/* Enables debug mode. To see the debug messages, one needs to also set
2254 yy_flex_debug to 1, then the debug messages will be printed on stderr. */
2255/* I have no idea what this option does, except it was specified in the bison
2256 examples and Postgres folks added it to remove gcc 4.3 warnings. Let's
2257 be on the safe side and keep it. */
2258#define YY_NO_INPUT 1
2259
2260/* These are not token expressions yet, just convenience expressions that
2261 can be used during actual token definitions. Note some can match
2262 incorrect inputs (e.g., IP addresses) which must be checked. */
2263/* for errors */
2264#line 96 "dhcp6_lexer.ll"
2265/* This code run each time a pattern is matched. It updates the location
2266 by moving it ahead by yyleng bytes. yyleng specifies the length of the
2267 currently matched token. */
2268#define YY_USER_ACTION driver.loc_.columns(yyleng);
2269#line 2269 "dhcp6_lexer.cc"
2270#line 2270 "dhcp6_lexer.cc"
2271
2272#define INITIAL 0
2273#define COMMENT 1
2274#define DIR_ENTER 2
2275#define DIR_INCLUDE 3
2276#define DIR_EXIT 4
2277
2278#ifndef YY_NO_UNISTD_H
2279/* Special case for "unistd.h", since it is non-ANSI. We include it way
2280 * down here because we want the user's section 1 to have been scanned first.
2281 * The user has a chance to override it with an option.
2282 */
2283/* %if-c-only */
2284#include <unistd.h>
2285/* %endif */
2286/* %if-c++-only */
2287/* %endif */
2288#endif
2289
2290#ifndef YY_EXTRA_TYPE
2291#define YY_EXTRA_TYPE void *
2292#endif
2293
2294/* %if-c-only Reentrant structure and macros (non-C++). */
2295/* %if-reentrant */
2296/* %if-c-only */
2297
2298static int yy_init_globals ( void );
2299
2300/* %endif */
2301/* %if-reentrant */
2302/* %endif */
2303/* %endif End reentrant structures and macros. */
2304
2305/* Accessor methods to globals.
2306 These are made visible to non-reentrant scanners for convenience. */
2307
2308int yylex_destroy ( void );
2309
2310int yyget_debug ( void );
2311
2312void yyset_debug ( int debug_flag );
2313
2314YY_EXTRA_TYPE yyget_extra ( void );
2315
2316void yyset_extra ( YY_EXTRA_TYPE user_defined );
2317
2318FILE *yyget_in ( void );
2319
2320void yyset_in ( FILE * _in_str );
2321
2322FILE *yyget_out ( void );
2323
2324void yyset_out ( FILE * _out_str );
2325
2326 int yyget_leng ( void );
2327
2328char *yyget_text ( void );
2329
2330int yyget_lineno ( void );
2331
2332void yyset_lineno ( int _line_number );
2333
2334/* %if-bison-bridge */
2335/* %endif */
2336
2337/* Macros after this point can all be overridden by user definitions in
2338 * section 1.
2339 */
2340
2341#ifndef YY_SKIP_YYWRAP
2342#ifdef __cplusplus
2343extern "C" int yywrap ( void );
2344#else
2345extern int yywrap ( void );
2346#endif
2347#endif
2348
2349/* %not-for-header */
2350#ifndef YY_NO_UNPUT
2351
2352#endif
2353/* %ok-for-header */
2354
2355/* %endif */
2356
2357#ifndef yytext_ptr
2358static void yy_flex_strncpy ( char *, const char *, int );
2359#endif
2360
2361#ifdef YY_NEED_STRLEN
2362static int yy_flex_strlen ( const char * );
2363#endif
2364
2365#ifndef YY_NO_INPUT
2366/* %if-c-only Standard (non-C++) definition */
2367/* %not-for-header */
2368#ifdef __cplusplus
2369static int yyinput ( void );
2370#else
2371static int input ( void );
2372#endif
2373/* %ok-for-header */
2374
2375/* %endif */
2376#endif
2377
2378/* %if-c-only */
2379
2380/* %endif */
2381
2382/* Amount of stuff to slurp up with each read. */
2383#ifndef YY_READ_BUF_SIZE
2384#ifdef __ia64__
2385/* On IA-64, the buffer size is 16k, not 8k */
2386#define YY_READ_BUF_SIZE 16384
2387#else
2388#define YY_READ_BUF_SIZE 8192
2389#endif /* __ia64__ */
2390#endif
2391
2392/* Copy whatever the last rule matched to the standard output. */
2393#ifndef ECHO
2394/* %if-c-only Standard (non-C++) definition */
2395/* This used to be an fputs(), but since the string might contain NUL's,
2396 * we now use fwrite().
2397 */
2398#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2399/* %endif */
2400/* %if-c++-only C++ definition */
2401/* %endif */
2402#endif
2403
2404/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2405 * is returned in "result".
2406 */
2407#ifndef YY_INPUT
2408#define YY_INPUT(buf,result,max_size) \
2409/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2410 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2411 { \
2412 int c = '*'; \
2413 int n; \
2414 for ( n = 0; n < max_size && \
2415 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2416 buf[n] = (char) c; \
2417 if ( c == '\n' ) \
2418 buf[n++] = (char) c; \
2419 if ( c == EOF && ferror( yyin ) ) \
2420 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2421 result = n; \
2422 } \
2423 else \
2424 { \
2425 errno=0; \
2426 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2427 { \
2428 if( errno != EINTR) \
2429 { \
2430 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2431 break; \
2432 } \
2433 errno=0; \
2434 clearerr(yyin); \
2435 } \
2436 }\
2437\
2438/* %if-c++-only C++ definition \ */\
2439/* %endif */
2440
2441#endif
2442
2443/* No semi-colon after return; correct usage is to write "yyterminate();" -
2444 * we don't want an extra ';' after the "return" because that will cause
2445 * some compilers to complain about unreachable statements.
2446 */
2447#ifndef yyterminate
2448#define yyterminate() return YY_NULL
2449#endif
2450
2451/* Number of entries by which start-condition stack grows. */
2452#ifndef YY_START_STACK_INCR
2453#define YY_START_STACK_INCR 25
2454#endif
2455
2456/* Report a fatal error. */
2457#ifndef YY_FATAL_ERROR
2458/* %if-c-only */
2459#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2460/* %endif */
2461/* %if-c++-only */
2462/* %endif */
2463#endif
2464
2465/* %if-tables-serialization structures and prototypes */
2466/* %not-for-header */
2467/* %ok-for-header */
2468
2469/* %not-for-header */
2470/* %tables-yydmap generated elements */
2471/* %endif */
2472/* end tables serialization structures and prototypes */
2473
2474/* %ok-for-header */
2475
2476/* Default declaration of generated scanner - a define so the user can
2477 * easily add parameters.
2478 */
2479#ifndef YY_DECL
2480#define YY_DECL_IS_OURS 1
2481/* %if-c-only Standard (non-C++) definition */
2482
2483extern int yylex (void);
2484
2485#define YY_DECL int yylex (void)
2486/* %endif */
2487/* %if-c++-only C++ definition */
2488/* %endif */
2489#endif /* !YY_DECL */
2490
2491/* Code executed at the beginning of each rule, after yytext and yyleng
2492 * have been set up.
2493 */
2494#ifndef YY_USER_ACTION
2495#define YY_USER_ACTION
2496#endif
2497
2498/* Code executed at the end of each rule. */
2499#ifndef YY_BREAK
2500#define YY_BREAK /*LINTED*/break;
2501#endif
2502
2503/* %% [6.0] YY_RULE_SETUP definition goes here */
2504#define YY_RULE_SETUP \
2505 YY_USER_ACTION
2506
2507/* %not-for-header */
2511{
2512 yy_state_type yy_current_state;
2513 char *yy_cp, *yy_bp;
2515
2516 if ( !(yy_init) )
2517 {
2518 (yy_init) = 1;
2519
2520#ifdef YY_USER_INIT
2521 YY_USER_INIT;
2522#endif
2523
2524 if ( ! (yy_start) )
2525 (yy_start) = 1; /* first start state */
2526
2527 if ( ! yyin )
2528/* %if-c-only */
2529 yyin = stdin;
2530/* %endif */
2531/* %if-c++-only */
2532/* %endif */
2533
2534 if ( ! yyout )
2535/* %if-c-only */
2536 yyout = stdout;
2537/* %endif */
2538/* %if-c++-only */
2539/* %endif */
2540
2541 if ( ! YY_CURRENT_BUFFER ) {
2545 }
2546
2548 }
2549
2550 {
2551/* %% [7.0] user's declarations go here */
2552#line 102 "dhcp6_lexer.ll"
2553
2554
2555
2556#line 106 "dhcp6_lexer.ll"
2557 /* This part of the code is copied over to the verbatim to the top
2558 of the generated yylex function. Explanation:
2559 http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
2560
2561 /* Code run each time yylex is called. */
2562 driver.loc_.step();
2563
2564 if (start_token_flag) {
2565 start_token_flag = false;
2566 switch (start_token_value) {
2568 default:
2573 return isc::dhcp::Dhcp6Parser::make_SUB_DHCP6(driver.loc_);
2577 return isc::dhcp::Dhcp6Parser::make_SUB_SUBNET6(driver.loc_);
2579 return isc::dhcp::Dhcp6Parser::make_SUB_POOL6(driver.loc_);
2581 return isc::dhcp::Dhcp6Parser::make_SUB_PD_POOL(driver.loc_);
2596 }
2597 }
2598
2599
2600#line 2600 "dhcp6_lexer.cc"
2601
2602 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2603 {
2604/* %% [8.0] yymore()-related code goes here */
2605 yy_cp = (yy_c_buf_p);
2606
2607 /* Support of yytext. */
2608 *yy_cp = (yy_hold_char);
2609
2610 /* yy_bp points to the position in yy_ch_buf of the start of
2611 * the current run.
2612 */
2613 yy_bp = yy_cp;
2614
2615/* %% [9.0] code to set up and find next match goes here */
2616 yy_current_state = (yy_start);
2617yy_match:
2618 do
2619 {
2620 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2621 if ( yy_accept[yy_current_state] )
2622 {
2623 (yy_last_accepting_state) = yy_current_state;
2624 (yy_last_accepting_cpos) = yy_cp;
2625 }
2626 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2627 {
2628 yy_current_state = (int) yy_def[yy_current_state];
2629 if ( yy_current_state >= 2306 )
2630 yy_c = yy_meta[yy_c];
2631 }
2632 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2633 ++yy_cp;
2634 }
2635 while ( yy_current_state != 2305 );
2636 yy_cp = (yy_last_accepting_cpos);
2637 yy_current_state = (yy_last_accepting_state);
2638
2639yy_find_action:
2640/* %% [10.0] code to find the action number goes here */
2641 yy_act = yy_accept[yy_current_state];
2642
2644
2645/* %% [11.0] code for yylineno update goes here */
2646
2647do_action: /* This label is used only to access EOF actions. */
2648
2649/* %% [12.0] debug code goes here */
2650 if ( yy_flex_debug )
2651 {
2652 if ( yy_act == 0 )
2653 fprintf( stderr, "--scanner backing up\n" );
2654 else if ( yy_act < 240 )
2655 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2656 (long)yy_rule_linenum[yy_act], yytext );
2657 else if ( yy_act == 240 )
2658 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2659 yytext );
2660 else if ( yy_act == 241 )
2661 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2662 else
2663 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2664 }
2665
2666 switch ( yy_act )
2667 { /* beginning of action switch */
2668/* %% [13.0] actions go here */
2669 case 0: /* must back up */
2670 /* undo the effects of YY_DO_BEFORE_ACTION */
2671 *yy_cp = (yy_hold_char);
2672 yy_cp = (yy_last_accepting_cpos);
2673 yy_current_state = (yy_last_accepting_state);
2674 goto yy_find_action;
2675
2676case 1:
2678#line 149 "dhcp6_lexer.ll"
2679;
2680 YY_BREAK
2681case 2:
2683#line 151 "dhcp6_lexer.ll"
2684;
2685 YY_BREAK
2686case 3:
2688#line 153 "dhcp6_lexer.ll"
2689{
2690 BEGIN(COMMENT);
2691 comment_start_line = driver.loc_.end.line;;
2692}
2693 YY_BREAK
2694case 4:
2696#line 158 "dhcp6_lexer.ll"
2697BEGIN(INITIAL);
2698 YY_BREAK
2699case 5:
2701#line 159 "dhcp6_lexer.ll"
2702;
2703 YY_BREAK
2704case YY_STATE_EOF(COMMENT):
2705#line 160 "dhcp6_lexer.ll"
2706{
2707 isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line);
2708}
2709 YY_BREAK
2710case 6:
2712#line 164 "dhcp6_lexer.ll"
2714 YY_BREAK
2715case 7:
2717#line 165 "dhcp6_lexer.ll"
2719 YY_BREAK
2720case 8:
2722#line 166 "dhcp6_lexer.ll"
2723{
2724 /* Include directive. */
2725
2726 /* Extract the filename. */
2727 std::string tmp(yytext+1);
2728 tmp.resize(tmp.size() - 1);
2729
2730 driver.includeFile(tmp);
2731}
2732 YY_BREAK
2736#line 175 "dhcp6_lexer.ll"
2737{
2738 isc_throw(Dhcp6ParseError, "Directive not closed.");
2739}
2740 YY_BREAK
2741case 9:
2743#line 178 "dhcp6_lexer.ll"
2744BEGIN(INITIAL);
2745 YY_BREAK
2746case 10:
2748#line 180 "dhcp6_lexer.ll"
2749{
2750 /* Ok, we found a with space. Let's ignore it and update loc variable. */
2751 driver.loc_.step();
2752}
2753 YY_BREAK
2754case 11:
2755/* rule 11 can match eol */
2757#line 185 "dhcp6_lexer.ll"
2758{
2759 /* Newline found. Let's update the location and continue. */
2760 driver.loc_.lines(yyleng);
2761 driver.loc_.step();
2762}
2763 YY_BREAK
2764case 12:
2766#line 191 "dhcp6_lexer.ll"
2767{
2768 switch(driver.ctx_) {
2771 default:
2772 return isc::dhcp::Dhcp6Parser::make_STRING("enable-updates", driver.loc_);
2773 }
2774}
2775 YY_BREAK
2776case 13:
2778#line 200 "dhcp6_lexer.ll"
2779{
2780 switch(driver.ctx_) {
2782 return isc::dhcp::Dhcp6Parser::make_SERVER_IP(driver.loc_);
2783 default:
2784 return isc::dhcp::Dhcp6Parser::make_STRING("server-ip", driver.loc_);
2785 }
2786}
2787 YY_BREAK
2788case 14:
2790#line 209 "dhcp6_lexer.ll"
2791{
2792 switch(driver.ctx_) {
2794 return isc::dhcp::Dhcp6Parser::make_SERVER_PORT(driver.loc_);
2795 default:
2796 return isc::dhcp::Dhcp6Parser::make_STRING("server-port", driver.loc_);
2797 }
2798}
2799 YY_BREAK
2800case 15:
2802#line 218 "dhcp6_lexer.ll"
2803{
2804 switch(driver.ctx_) {
2806 return isc::dhcp::Dhcp6Parser::make_SENDER_IP(driver.loc_);
2807 default:
2808 return isc::dhcp::Dhcp6Parser::make_STRING("sender-ip", driver.loc_);
2809 }
2810}
2811 YY_BREAK
2812case 16:
2814#line 227 "dhcp6_lexer.ll"
2815{
2816 switch(driver.ctx_) {
2818 return isc::dhcp::Dhcp6Parser::make_SENDER_PORT(driver.loc_);
2819 default:
2820 return isc::dhcp::Dhcp6Parser::make_STRING("sender-port", driver.loc_);
2821 }
2822}
2823 YY_BREAK
2824case 17:
2826#line 236 "dhcp6_lexer.ll"
2827{
2828 switch(driver.ctx_) {
2831 default:
2832 return isc::dhcp::Dhcp6Parser::make_STRING("max-queue-size", driver.loc_);
2833 }
2834}
2835 YY_BREAK
2836case 18:
2838#line 245 "dhcp6_lexer.ll"
2839{
2840 switch(driver.ctx_) {
2843 default:
2844 return isc::dhcp::Dhcp6Parser::make_STRING("ncr-protocol", driver.loc_);
2845 }
2846}
2847 YY_BREAK
2848case 19:
2850#line 254 "dhcp6_lexer.ll"
2851{
2852 switch(driver.ctx_) {
2854 return isc::dhcp::Dhcp6Parser::make_NCR_FORMAT(driver.loc_);
2855 default:
2856 return isc::dhcp::Dhcp6Parser::make_STRING("ncr-format", driver.loc_);
2857 }
2858}
2859 YY_BREAK
2860case 20:
2862#line 263 "dhcp6_lexer.ll"
2863{
2864 switch(driver.ctx_) {
2869 default:
2870 return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-set", driver.loc_);
2871 }
2872}
2873 YY_BREAK
2874case 21:
2876#line 274 "dhcp6_lexer.ll"
2877{
2878 switch(driver.ctx_) {
2883 default:
2884 return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-replacement", driver.loc_);
2885 }
2886}
2887 YY_BREAK
2888case 22:
2890#line 285 "dhcp6_lexer.ll"
2891{
2892 /* dhcp-ddns value keywords are case insensitive */
2893 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
2894 return isc::dhcp::Dhcp6Parser::make_UDP(driver.loc_);
2895 }
2896 std::string tmp(yytext+1);
2897 tmp.resize(tmp.size() - 1);
2898 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2899}
2900 YY_BREAK
2901case 23:
2903#line 295 "dhcp6_lexer.ll"
2904{
2905 /* dhcp-ddns value keywords are case insensitive */
2906 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
2907 return isc::dhcp::Dhcp6Parser::make_TCP(driver.loc_);
2908 }
2909 std::string tmp(yytext+1);
2910 tmp.resize(tmp.size() - 1);
2911 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2912}
2913 YY_BREAK
2914case 24:
2916#line 305 "dhcp6_lexer.ll"
2917{
2918 /* dhcp-ddns value keywords are case insensitive */
2919 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
2920 return isc::dhcp::Dhcp6Parser::make_JSON(driver.loc_);
2921 }
2922 std::string tmp(yytext+1);
2923 tmp.resize(tmp.size() - 1);
2924 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2925}
2926 YY_BREAK
2927case 25:
2929#line 315 "dhcp6_lexer.ll"
2930{
2931 /* dhcp-ddns value keywords are case insensitive */
2934 }
2935 std::string tmp(yytext+1);
2936 tmp.resize(tmp.size() - 1);
2937 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2938}
2939 YY_BREAK
2940case 26:
2942#line 325 "dhcp6_lexer.ll"
2943{
2944 /* dhcp-ddns value keywords are case insensitive */
2947 }
2948 std::string tmp(yytext+1);
2949 tmp.resize(tmp.size() - 1);
2950 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2951}
2952 YY_BREAK
2953case 27:
2955#line 335 "dhcp6_lexer.ll"
2956{
2957 switch(driver.ctx_) {
2959 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
2960 default:
2961 return isc::dhcp::Dhcp6Parser::make_STRING("never", driver.loc_);
2962 }
2963}
2964 YY_BREAK
2965case 28:
2967#line 344 "dhcp6_lexer.ll"
2968{
2969 /* dhcp-ddns value keywords are case insensitive */
2971 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
2972 }
2973 std::string tmp(yytext+1);
2974 tmp.resize(tmp.size() - 1);
2975 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2976}
2977 YY_BREAK
2978case 29:
2980#line 354 "dhcp6_lexer.ll"
2981{
2982 /* dhcp-ddns value keywords are case insensitive */
2984 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
2985 }
2986 std::string tmp(yytext+1);
2987 tmp.resize(tmp.size() - 1);
2988 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2989}
2990 YY_BREAK
2991case 30:
2993#line 364 "dhcp6_lexer.ll"
2994{
2995 /* dhcp-ddns value keywords are case insensitive */
2997 return isc::dhcp::Dhcp6Parser::make_ALWAYS(driver.loc_);
2998 }
2999 std::string tmp(yytext+1);
3000 tmp.resize(tmp.size() - 1);
3001 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3002}
3003 YY_BREAK
3004case 31:
3006#line 374 "dhcp6_lexer.ll"
3007{
3008 /* dhcp-ddns value keywords are case insensitive */
3011 }
3012 std::string tmp(yytext+1);
3013 tmp.resize(tmp.size() - 1);
3014 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3015}
3016 YY_BREAK
3017case 32:
3019#line 384 "dhcp6_lexer.ll"
3020{
3021 switch(driver.ctx_) {
3023 return isc::dhcp::Dhcp6Parser::make_DHCP6(driver.loc_);
3024 default:
3025 return isc::dhcp::Dhcp6Parser::make_STRING("Dhcp6", driver.loc_);
3026 }
3027}
3028 YY_BREAK
3029case 33:
3031#line 393 "dhcp6_lexer.ll"
3032{
3033 switch(driver.ctx_) {
3036 default:
3037 return isc::dhcp::Dhcp6Parser::make_STRING("data-directory", driver.loc_);
3038 }
3039}
3040 YY_BREAK
3041case 34:
3043#line 402 "dhcp6_lexer.ll"
3044{
3045 switch(driver.ctx_) {
3048 default:
3049 return isc::dhcp::Dhcp6Parser::make_STRING("interfaces-config", driver.loc_);
3050 }
3051}
3052 YY_BREAK
3053case 35:
3055#line 411 "dhcp6_lexer.ll"
3056{
3057 switch(driver.ctx_) {
3059 return isc::dhcp::Dhcp6Parser::make_INTERFACES(driver.loc_);
3060 default:
3061 return isc::dhcp::Dhcp6Parser::make_STRING("interfaces", driver.loc_);
3062 }
3063}
3064 YY_BREAK
3065case 36:
3067#line 420 "dhcp6_lexer.ll"
3068{
3069 switch(driver.ctx_) {
3071 return isc::dhcp::Dhcp6Parser::make_RE_DETECT(driver.loc_);
3072 default:
3073 return isc::dhcp::Dhcp6Parser::make_STRING("re-detect", driver.loc_);
3074 }
3075}
3076 YY_BREAK
3077case 37:
3079#line 429 "dhcp6_lexer.ll"
3080{
3081 switch(driver.ctx_) {
3084 default:
3085 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-require-all", driver.loc_);
3086 }
3087}
3088 YY_BREAK
3089case 38:
3091#line 438 "dhcp6_lexer.ll"
3092{
3093 switch(driver.ctx_) {
3096 default:
3097 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-retry-wait-time", driver.loc_);
3098 }
3099}
3100 YY_BREAK
3101case 39:
3103#line 447 "dhcp6_lexer.ll"
3104{
3105 switch(driver.ctx_) {
3108 default:
3109 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-max-retries", driver.loc_);
3110 }
3111}
3112 YY_BREAK
3113case 40:
3115#line 456 "dhcp6_lexer.ll"
3116{
3117 switch(driver.ctx_) {
3120 default:
3121 return isc::dhcp::Dhcp6Parser::make_STRING("sanity-checks", driver.loc_);
3122 }
3123}
3124 YY_BREAK
3125case 41:
3127#line 465 "dhcp6_lexer.ll"
3128{
3129 switch(driver.ctx_) {
3132 default:
3133 return isc::dhcp::Dhcp6Parser::make_STRING("lease-checks", driver.loc_);
3134 }
3135}
3136 YY_BREAK
3137case 42:
3139#line 474 "dhcp6_lexer.ll"
3140{
3141 switch(driver.ctx_) {
3144 default:
3145 return isc::dhcp::Dhcp6Parser::make_STRING("extended-info-checks", driver.loc_);
3146 }
3147}
3148 YY_BREAK
3149case 43:
3151#line 483 "dhcp6_lexer.ll"
3152{
3153 switch(driver.ctx_) {
3156 default:
3157 return isc::dhcp::Dhcp6Parser::make_STRING("lease-database", driver.loc_);
3158 }
3159}
3160 YY_BREAK
3161case 44:
3163#line 492 "dhcp6_lexer.ll"
3164{
3165 switch(driver.ctx_) {
3168 default:
3169 return isc::dhcp::Dhcp6Parser::make_STRING("hosts-database", driver.loc_);
3170 }
3171}
3172 YY_BREAK
3173case 45:
3175#line 501 "dhcp6_lexer.ll"
3176{
3177 switch(driver.ctx_) {
3180 default:
3181 return isc::dhcp::Dhcp6Parser::make_STRING("hosts-databases", driver.loc_);
3182 }
3183}
3184 YY_BREAK
3185case 46:
3187#line 510 "dhcp6_lexer.ll"
3188{
3189 switch(driver.ctx_) {
3192 default:
3193 return isc::dhcp::Dhcp6Parser::make_STRING("config-control", driver.loc_);
3194 }
3195}
3196 YY_BREAK
3197case 47:
3199#line 519 "dhcp6_lexer.ll"
3200{
3201 switch(driver.ctx_) {
3204 default:
3205 return isc::dhcp::Dhcp6Parser::make_STRING("config-databases", driver.loc_);
3206 }
3207}
3208 YY_BREAK
3209case 48:
3211#line 528 "dhcp6_lexer.ll"
3212{
3213 switch(driver.ctx_) {
3216 default:
3217 return isc::dhcp::Dhcp6Parser::make_STRING("config-fetch-wait-time", driver.loc_);
3218 }
3219}
3220 YY_BREAK
3221case 49:
3223#line 537 "dhcp6_lexer.ll"
3224{
3225 switch(driver.ctx_) {
3227 return isc::dhcp::Dhcp6Parser::make_READONLY(driver.loc_);
3228 default:
3229 return isc::dhcp::Dhcp6Parser::make_STRING("readonly", driver.loc_);
3230 }
3231}
3232 YY_BREAK
3233case 50:
3235#line 546 "dhcp6_lexer.ll"
3236{
3237 switch(driver.ctx_) {
3244 return isc::dhcp::Dhcp6Parser::make_TYPE(driver.loc_);
3245 default:
3246 return isc::dhcp::Dhcp6Parser::make_STRING("type", driver.loc_);
3247 }
3248}
3249 YY_BREAK
3250case 51:
3252#line 560 "dhcp6_lexer.ll"
3253{
3254 switch(driver.ctx_) {
3259 return isc::dhcp::Dhcp6Parser::make_USER(driver.loc_);
3260 default:
3261 return isc::dhcp::Dhcp6Parser::make_STRING("user", driver.loc_);
3262 }
3263}
3264 YY_BREAK
3265case 52:
3267#line 572 "dhcp6_lexer.ll"
3268{
3269 switch(driver.ctx_) {
3274 return isc::dhcp::Dhcp6Parser::make_PASSWORD(driver.loc_);
3275 default:
3276 return isc::dhcp::Dhcp6Parser::make_STRING("password", driver.loc_);
3277 }
3278}
3279 YY_BREAK
3280case 53:
3282#line 584 "dhcp6_lexer.ll"
3283{
3284 switch(driver.ctx_) {
3288 return isc::dhcp::Dhcp6Parser::make_HOST(driver.loc_);
3289 default:
3290 return isc::dhcp::Dhcp6Parser::make_STRING("host", driver.loc_);
3291 }
3292}
3293 YY_BREAK
3294case 54:
3296#line 595 "dhcp6_lexer.ll"
3297{
3298 switch(driver.ctx_) {
3302 return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_);
3303 default:
3304 return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_);
3305 }
3306}
3307 YY_BREAK
3308case 55:
3310#line 606 "dhcp6_lexer.ll"
3311{
3312 switch(driver.ctx_) {
3317 return isc::dhcp::Dhcp6Parser::make_PERSIST(driver.loc_);
3318 default:
3319 return isc::dhcp::Dhcp6Parser::make_STRING("persist", driver.loc_);
3320 }
3321}
3322 YY_BREAK
3323case 56:
3325#line 618 "dhcp6_lexer.ll"
3326{
3327 switch(driver.ctx_) {
3332 default:
3333 return isc::dhcp::Dhcp6Parser::make_STRING("lfc-interval", driver.loc_);
3334 }
3335}
3336 YY_BREAK
3337case 57:
3339#line 629 "dhcp6_lexer.ll"
3340{
3341 switch(driver.ctx_) {
3346 default:
3347 return isc::dhcp::Dhcp6Parser::make_STRING("connect-timeout", driver.loc_);
3348 }
3349}
3350 YY_BREAK
3351case 58:
3353#line 640 "dhcp6_lexer.ll"
3354{
3355 switch(driver.ctx_) {
3360 default:
3361 return isc::dhcp::Dhcp6Parser::make_STRING("read-timeout", driver.loc_);
3362 }
3363}
3364 YY_BREAK
3365case 59:
3367#line 651 "dhcp6_lexer.ll"
3368{
3369 switch(driver.ctx_) {
3374 default:
3375 return isc::dhcp::Dhcp6Parser::make_STRING("write-timeout", driver.loc_);
3376 }
3377}
3378 YY_BREAK
3379case 60:
3381#line 662 "dhcp6_lexer.ll"
3382{
3383 switch(driver.ctx_) {
3388 default:
3389 return isc::dhcp::Dhcp6Parser::make_STRING("tcp-user-timeout", driver.loc_);
3390 }
3391}
3392 YY_BREAK
3393case 61:
3395#line 673 "dhcp6_lexer.ll"
3396{
3397 switch(driver.ctx_) {
3402 default:
3403 return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_);
3404 }
3405}
3406 YY_BREAK
3407case 62:
3409#line 684 "dhcp6_lexer.ll"
3410{
3411 switch(driver.ctx_) {
3415 return isc::dhcp::Dhcp6Parser::make_ON_FAIL(driver.loc_);
3416 default:
3417 return isc::dhcp::Dhcp6Parser::make_STRING("on-fail", driver.loc_);
3418 }
3419}
3420 YY_BREAK
3421case 63:
3423#line 695 "dhcp6_lexer.ll"
3424{
3425 switch(driver.ctx_) {
3428 default:
3429 return isc::dhcp::Dhcp6Parser::make_STRING("stop-retry-exit", driver.loc_);
3430 }
3431}
3432 YY_BREAK
3433case 64:
3435#line 704 "dhcp6_lexer.ll"
3436{
3437 switch(driver.ctx_) {
3440 default:
3441 return isc::dhcp::Dhcp6Parser::make_STRING("serve-retry-exit", driver.loc_);
3442 }
3443}
3444 YY_BREAK
3445case 65:
3447#line 713 "dhcp6_lexer.ll"
3448{
3449 switch(driver.ctx_) {
3452 default:
3453 return isc::dhcp::Dhcp6Parser::make_STRING("serve-retry-continue", driver.loc_);
3454 }
3455}
3456 YY_BREAK
3457case 66:
3459#line 722 "dhcp6_lexer.ll"
3460{
3461 switch(driver.ctx_) {
3466 default:
3467 return isc::dhcp::Dhcp6Parser::make_STRING("retry-on-startup", driver.loc_);
3468 }
3469}
3470 YY_BREAK
3471case 67:
3473#line 733 "dhcp6_lexer.ll"
3474{
3475 switch(driver.ctx_) {
3480 default:
3481 return isc::dhcp::Dhcp6Parser::make_STRING("max-reconnect-tries", driver.loc_);
3482 }
3483}
3484 YY_BREAK
3485case 68:
3487#line 744 "dhcp6_lexer.ll"
3488{
3489 switch(driver.ctx_) {
3492 default:
3493 return isc::dhcp::Dhcp6Parser::make_STRING("max-row-errors", driver.loc_);
3494 }
3495}
3496 YY_BREAK
3497case 69:
3499#line 753 "dhcp6_lexer.ll"
3500{
3501 switch(driver.ctx_) {
3507 default:
3508 return isc::dhcp::Dhcp6Parser::make_STRING("trust-anchor", driver.loc_);
3509 }
3510}
3511 YY_BREAK
3512case 70:
3514#line 765 "dhcp6_lexer.ll"
3515{
3516 switch(driver.ctx_) {
3521 return isc::dhcp::Dhcp6Parser::make_CERT_FILE(driver.loc_);
3522 default:
3523 return isc::dhcp::Dhcp6Parser::make_STRING("cert-file", driver.loc_);
3524 }
3525}
3526 YY_BREAK
3527case 71:
3529#line 777 "dhcp6_lexer.ll"
3530{
3531 switch(driver.ctx_) {
3536 return isc::dhcp::Dhcp6Parser::make_KEY_FILE(driver.loc_);
3537 default:
3538 return isc::dhcp::Dhcp6Parser::make_STRING("key-file", driver.loc_);
3539 }
3540}
3541 YY_BREAK
3542case 72:
3544#line 789 "dhcp6_lexer.ll"
3545{
3546 switch(driver.ctx_) {
3550 return isc::dhcp::Dhcp6Parser::make_CIPHER_LIST(driver.loc_);
3551 default:
3552 return isc::dhcp::Dhcp6Parser::make_STRING("cipher-list", driver.loc_);
3553 }
3554}
3555 YY_BREAK
3556case 73:
3558#line 800 "dhcp6_lexer.ll"
3559{
3560 switch(driver.ctx_) {
3566 default:
3567 return isc::dhcp::Dhcp6Parser::make_STRING("preferred-lifetime", driver.loc_);
3568 }
3569}
3570 YY_BREAK
3571case 74:
3573#line 812 "dhcp6_lexer.ll"
3574{
3575 switch(driver.ctx_) {
3581 default:
3582 return isc::dhcp::Dhcp6Parser::make_STRING("min-preferred-lifetime", driver.loc_);
3583 }
3584}
3585 YY_BREAK
3586case 75:
3588#line 824 "dhcp6_lexer.ll"
3589{
3590 switch(driver.ctx_) {
3596 default:
3597 return isc::dhcp::Dhcp6Parser::make_STRING("max-preferred-lifetime", driver.loc_);
3598 }
3599}
3600 YY_BREAK
3601case 76:
3603#line 836 "dhcp6_lexer.ll"
3604{
3605 switch(driver.ctx_) {
3611 default:
3612 return isc::dhcp::Dhcp6Parser::make_STRING("valid-lifetime", driver.loc_);
3613 }
3614}
3615 YY_BREAK
3616case 77:
3618#line 848 "dhcp6_lexer.ll"
3619{
3620 switch(driver.ctx_) {
3626 default:
3627 return isc::dhcp::Dhcp6Parser::make_STRING("min-valid-lifetime", driver.loc_);
3628 }
3629}
3630 YY_BREAK
3631case 78:
3633#line 860 "dhcp6_lexer.ll"
3634{
3635 switch(driver.ctx_) {
3641 default:
3642 return isc::dhcp::Dhcp6Parser::make_STRING("max-valid-lifetime", driver.loc_);
3643 }
3644}
3645 YY_BREAK
3646case 79:
3648#line 872 "dhcp6_lexer.ll"
3649{
3650 switch(driver.ctx_) {
3654 return isc::dhcp::Dhcp6Parser::make_RENEW_TIMER(driver.loc_);
3655 default:
3656 return isc::dhcp::Dhcp6Parser::make_STRING("renew-timer", driver.loc_);
3657 }
3658}
3659 YY_BREAK
3660case 80:
3662#line 883 "dhcp6_lexer.ll"
3663{
3664 switch(driver.ctx_) {
3669 default:
3670 return isc::dhcp::Dhcp6Parser::make_STRING("rebind-timer", driver.loc_);
3671 }
3672}
3673 YY_BREAK
3674case 81:
3676#line 894 "dhcp6_lexer.ll"
3677{
3678 switch(driver.ctx_) {
3681 default:
3682 return isc::dhcp::Dhcp6Parser::make_STRING("decline-probation-period", driver.loc_);
3683 }
3684}
3685 YY_BREAK
3686case 82:
3688#line 903 "dhcp6_lexer.ll"
3689{
3690 switch(driver.ctx_) {
3692 return isc::dhcp::Dhcp6Parser::make_SERVER_TAG(driver.loc_);
3693 default:
3694 return isc::dhcp::Dhcp6Parser::make_STRING("server-tag", driver.loc_);
3695 }
3696}
3697 YY_BREAK
3698case 83:
3700#line 912 "dhcp6_lexer.ll"
3701{
3702 switch(driver.ctx_) {
3705 default:
3706 return isc::dhcp::Dhcp6Parser::make_STRING("parked-packet-limit", driver.loc_);
3707 }
3708}
3709 YY_BREAK
3710case 84:
3712#line 921 "dhcp6_lexer.ll"
3713{
3714 switch(driver.ctx_) {
3718 return isc::dhcp::Dhcp6Parser::make_ALLOCATOR(driver.loc_);
3719 default:
3720 return isc::dhcp::Dhcp6Parser::make_STRING("allocator", driver.loc_);
3721 }
3722}
3723 YY_BREAK
3724case 85:
3726#line 932 "dhcp6_lexer.ll"
3727{
3728 switch(driver.ctx_) {
3733 default:
3734 return isc::dhcp::Dhcp6Parser::make_STRING("pd-allocator", driver.loc_);
3735 }
3736}
3737 YY_BREAK
3738case 86:
3740#line 943 "dhcp6_lexer.ll"
3741{
3742 switch(driver.ctx_) {
3745 default:
3746 return isc::dhcp::Dhcp6Parser::make_STRING("statistic-default-sample-count", driver.loc_);
3747 }
3748}
3749 YY_BREAK
3750case 87:
3752#line 952 "dhcp6_lexer.ll"
3753{
3754 switch(driver.ctx_) {
3757 default:
3758 return isc::dhcp::Dhcp6Parser::make_STRING("statistic-default-sample-age", driver.loc_);
3759 }
3760}
3761 YY_BREAK
3762case 88:
3764#line 961 "dhcp6_lexer.ll"
3765{
3766 switch(driver.ctx_) {
3771 default:
3772 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-send-updates", driver.loc_);
3773 }
3774}
3775 YY_BREAK
3776case 89:
3778#line 972 "dhcp6_lexer.ll"
3779{
3780 switch(driver.ctx_) {
3785 default:
3786 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-no-update", driver.loc_);
3787 }
3788}
3789 YY_BREAK
3790case 90:
3792#line 983 "dhcp6_lexer.ll"
3793{
3794 switch(driver.ctx_) {
3799 default:
3800 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-client-update", driver.loc_);
3801 }
3802}
3803 YY_BREAK
3804case 91:
3806#line 994 "dhcp6_lexer.ll"
3807{
3808 switch(driver.ctx_) {
3813 default:
3814 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-replace-client-name", driver.loc_);
3815 }
3816}
3817 YY_BREAK
3818case 92:
3820#line 1005 "dhcp6_lexer.ll"
3821{
3822 switch(driver.ctx_) {
3827 default:
3828 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-generated-prefix", driver.loc_);
3829 }
3830}
3831 YY_BREAK
3832case 93:
3834#line 1016 "dhcp6_lexer.ll"
3835{
3836 switch(driver.ctx_) {
3841 default:
3842 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-qualifying-suffix", driver.loc_);
3843 }
3844}
3845 YY_BREAK
3846case 94:
3848#line 1027 "dhcp6_lexer.ll"
3849{
3850 switch(driver.ctx_) {
3855 default:
3856 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-update-on-renew", driver.loc_);
3857 }
3858}
3859 YY_BREAK
3860case 95:
3862#line 1038 "dhcp6_lexer.ll"
3863{
3864 switch(driver.ctx_) {
3869 default:
3870 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
3871 }
3872}
3873 YY_BREAK
3874case 96:
3876#line 1049 "dhcp6_lexer.ll"
3877{
3878 switch(driver.ctx_) {
3883 default:
3884 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-conflict-resolution-mode", driver.loc_);
3885 }
3886}
3887 YY_BREAK
3888case 97:
3890#line 1060 "dhcp6_lexer.ll"
3891{
3894 }
3895 std::string tmp(yytext+1);
3896 tmp.resize(tmp.size() - 1);
3897 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3898}
3899 YY_BREAK
3900case 98:
3902#line 1069 "dhcp6_lexer.ll"
3903{
3906 }
3907 std::string tmp(yytext+1);
3908 tmp.resize(tmp.size() - 1);
3909 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3910}
3911 YY_BREAK
3912case 99:
3914#line 1078 "dhcp6_lexer.ll"
3915{
3918 }
3919 std::string tmp(yytext+1);
3920 tmp.resize(tmp.size() - 1);
3921 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3922}
3923 YY_BREAK
3924case 100:
3926#line 1087 "dhcp6_lexer.ll"
3927{
3930 }
3931 std::string tmp(yytext+1);
3932 tmp.resize(tmp.size() - 1);
3933 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3934}
3935 YY_BREAK
3936case 101:
3938#line 1096 "dhcp6_lexer.ll"
3939{
3940 switch(driver.ctx_) {
3945 default:
3946 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl-percent", driver.loc_);
3947 }
3948}
3949 YY_BREAK
3950case 102:
3952#line 1107 "dhcp6_lexer.ll"
3953{
3954 switch(driver.ctx_) {
3957 return isc::dhcp::Dhcp6Parser::make_SUBNET6(driver.loc_);
3958 default:
3959 return isc::dhcp::Dhcp6Parser::make_STRING("subnet6", driver.loc_);
3960 }
3961}
3962 YY_BREAK
3963case 103:
3965#line 1117 "dhcp6_lexer.ll"
3966{
3967 switch(driver.ctx_) {
3972 default:
3973 return isc::dhcp::Dhcp6Parser::make_STRING("store-extended-info", driver.loc_);
3974 }
3975}
3976 YY_BREAK
3977case 104:
3979#line 1128 "dhcp6_lexer.ll"
3980{
3981 switch (driver.ctx_) {
3983 return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
3984 default:
3985 return Dhcp6Parser::make_STRING("shared-networks", driver.loc_);
3986 }
3987}
3988 YY_BREAK
3989case 105:
3991#line 1137 "dhcp6_lexer.ll"
3992{
3993 switch(driver.ctx_) {
3995 return isc::dhcp::Dhcp6Parser::make_OPTION_DEF(driver.loc_);
3996 default:
3997 return isc::dhcp::Dhcp6Parser::make_STRING("option-def", driver.loc_);
3998 }
3999}
4000 YY_BREAK
4001case 106:
4003#line 1146 "dhcp6_lexer.ll"
4004{
4005 switch(driver.ctx_) {
4013 return isc::dhcp::Dhcp6Parser::make_OPTION_DATA(driver.loc_);
4014 default:
4015 return isc::dhcp::Dhcp6Parser::make_STRING("option-data", driver.loc_);
4016 }
4017}
4018 YY_BREAK
4019case 107:
4021#line 1161 "dhcp6_lexer.ll"
4022{
4023 switch(driver.ctx_) {
4032 return isc::dhcp::Dhcp6Parser::make_NAME(driver.loc_);
4033 default:
4034 return isc::dhcp::Dhcp6Parser::make_STRING("name", driver.loc_);
4035 }
4036}
4037 YY_BREAK
4038case 108:
4040#line 1177 "dhcp6_lexer.ll"
4041{
4042 switch(driver.ctx_) {
4044 return isc::dhcp::Dhcp6Parser::make_DATA(driver.loc_);
4045 default:
4046 return isc::dhcp::Dhcp6Parser::make_STRING("data", driver.loc_);
4047 }
4048}
4049 YY_BREAK
4050case 109:
4052#line 1186 "dhcp6_lexer.ll"
4053{
4054 switch(driver.ctx_) {
4056 return isc::dhcp::Dhcp6Parser::make_ALWAYS_SEND(driver.loc_);
4057 default:
4058 return isc::dhcp::Dhcp6Parser::make_STRING("always-send", driver.loc_);
4059 }
4060}
4061 YY_BREAK
4062case 110:
4064#line 1195 "dhcp6_lexer.ll"
4065{
4066 switch(driver.ctx_) {
4068 return isc::dhcp::Dhcp6Parser::make_NEVER_SEND(driver.loc_);
4069 default:
4070 return isc::dhcp::Dhcp6Parser::make_STRING("never-send", driver.loc_);
4071 }
4072}
4073 YY_BREAK
4074case 111:
4076#line 1204 "dhcp6_lexer.ll"
4077{
4078 switch(driver.ctx_) {
4080 return isc::dhcp::Dhcp6Parser::make_POOLS(driver.loc_);
4081 default:
4082 return isc::dhcp::Dhcp6Parser::make_STRING("pools", driver.loc_);
4083 }
4084}
4085 YY_BREAK
4086case 112:
4088#line 1213 "dhcp6_lexer.ll"
4089{
4090 switch(driver.ctx_) {
4092 return isc::dhcp::Dhcp6Parser::make_PD_POOLS(driver.loc_);
4093 default:
4094 return isc::dhcp::Dhcp6Parser::make_STRING("pd-pools", driver.loc_);
4095 }
4096}
4097 YY_BREAK
4098case 113:
4100#line 1222 "dhcp6_lexer.ll"
4101{
4102 switch(driver.ctx_) {
4104 return isc::dhcp::Dhcp6Parser::make_PREFIX(driver.loc_);
4105 default:
4106 return isc::dhcp::Dhcp6Parser::make_STRING("prefix", driver.loc_);
4107 }
4108}
4109 YY_BREAK
4110case 114:
4112#line 1231 "dhcp6_lexer.ll"
4113{
4114 switch(driver.ctx_) {
4116 return isc::dhcp::Dhcp6Parser::make_PREFIX_LEN(driver.loc_);
4117 default:
4118 return isc::dhcp::Dhcp6Parser::make_STRING("prefix-len", driver.loc_);
4119 }
4120}
4121 YY_BREAK
4122case 115:
4124#line 1240 "dhcp6_lexer.ll"
4125{
4126 switch(driver.ctx_) {
4129 default:
4130 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefix", driver.loc_);
4131 }
4132}
4133 YY_BREAK
4134case 116:
4136#line 1249 "dhcp6_lexer.ll"
4137{
4138 switch(driver.ctx_) {
4141 default:
4142 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefix-len", driver.loc_);
4143 }
4144}
4145 YY_BREAK
4146case 117:
4148#line 1258 "dhcp6_lexer.ll"
4149{
4150 switch(driver.ctx_) {
4153 default:
4154 return isc::dhcp::Dhcp6Parser::make_STRING("delegated-len", driver.loc_);
4155 }
4156}
4157 YY_BREAK
4158case 118:
4160#line 1267 "dhcp6_lexer.ll"
4161{
4162 switch(driver.ctx_) {
4164 return isc::dhcp::Dhcp6Parser::make_POOL(driver.loc_);
4165 default:
4166 return isc::dhcp::Dhcp6Parser::make_STRING("pool", driver.loc_);
4167 }
4168}
4169 YY_BREAK
4170case 119:
4172#line 1276 "dhcp6_lexer.ll"
4173{
4174 switch(driver.ctx_) {
4177 return isc::dhcp::Dhcp6Parser::make_POOL_ID(driver.loc_);
4178 default:
4179 return isc::dhcp::Dhcp6Parser::make_STRING("pool-id", driver.loc_);
4180 }
4181}
4182 YY_BREAK
4183case 120:
4185#line 1286 "dhcp6_lexer.ll"
4186{
4187 switch(driver.ctx_) {
4207 default:
4208 return isc::dhcp::Dhcp6Parser::make_STRING("user-context", driver.loc_);
4209 }
4210}
4211 YY_BREAK
4212case 121:
4214#line 1312 "dhcp6_lexer.ll"
4215{
4216 switch(driver.ctx_) {
4235 return isc::dhcp::Dhcp6Parser::make_COMMENT(driver.loc_);
4236 default:
4237 return isc::dhcp::Dhcp6Parser::make_STRING("comment", driver.loc_);
4238 }
4239}
4240 YY_BREAK
4241case 122:
4243#line 1338 "dhcp6_lexer.ll"
4244{
4245 switch(driver.ctx_) {
4247 return isc::dhcp::Dhcp6Parser::make_SUBNET(driver.loc_);
4248 default:
4249 return isc::dhcp::Dhcp6Parser::make_STRING("subnet", driver.loc_);
4250 }
4251}
4252 YY_BREAK
4253case 123:
4255#line 1347 "dhcp6_lexer.ll"
4256{
4257 switch(driver.ctx_) {
4260 return isc::dhcp::Dhcp6Parser::make_INTERFACE(driver.loc_);
4261 default:
4262 return isc::dhcp::Dhcp6Parser::make_STRING("interface", driver.loc_);
4263 }
4264}
4265 YY_BREAK
4266case 124:
4268#line 1357 "dhcp6_lexer.ll"
4269{
4270 switch(driver.ctx_) {
4274 default:
4275 return isc::dhcp::Dhcp6Parser::make_STRING("interface-id", driver.loc_);
4276 }
4277}
4278 YY_BREAK
4279case 125:
4281#line 1367 "dhcp6_lexer.ll"
4282{
4283 switch(driver.ctx_) {
4285 return isc::dhcp::Dhcp6Parser::make_ID(driver.loc_);
4286 default:
4287 return isc::dhcp::Dhcp6Parser::make_STRING("id", driver.loc_);
4288 }
4289}
4290 YY_BREAK
4291case 126:
4293#line 1376 "dhcp6_lexer.ll"
4294{
4295 switch(driver.ctx_) {
4299 default:
4300 return isc::dhcp::Dhcp6Parser::make_STRING("rapid-commit", driver.loc_);
4301 }
4302}
4303 YY_BREAK
4304case 127:
4306#line 1386 "dhcp6_lexer.ll"
4307{
4308 switch(driver.ctx_) {
4313 default:
4314 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-global", driver.loc_);
4315 }
4316}
4317 YY_BREAK
4318case 128:
4320#line 1397 "dhcp6_lexer.ll"
4321{
4322 switch(driver.ctx_) {
4327 default:
4328 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-in-subnet", driver.loc_);
4329 }
4330}
4331 YY_BREAK
4332case 129:
4334#line 1408 "dhcp6_lexer.ll"
4335{
4336 switch(driver.ctx_) {
4341 default:
4342 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-out-of-pool", driver.loc_);
4343 }
4344}
4345 YY_BREAK
4346case 130:
4348#line 1419 "dhcp6_lexer.ll"
4349{
4350 switch(driver.ctx_) {
4353 return isc::dhcp::Dhcp6Parser::make_CODE(driver.loc_);
4354 default:
4355 return isc::dhcp::Dhcp6Parser::make_STRING("code", driver.loc_);
4356 }
4357}
4358 YY_BREAK
4359case 131:
4361#line 1429 "dhcp6_lexer.ll"
4362{
4363 switch(driver.ctx_) {
4365 return isc::dhcp::Dhcp6Parser::make_MAC_SOURCES(driver.loc_);
4366 default:
4367 return isc::dhcp::Dhcp6Parser::make_STRING("mac-sources", driver.loc_);
4368 }
4369}
4370 YY_BREAK
4371case 132:
4373#line 1438 "dhcp6_lexer.ll"
4374{
4375 switch(driver.ctx_) {
4378 default:
4379 return isc::dhcp::Dhcp6Parser::make_STRING("relay-supplied-options", driver.loc_);
4380 }
4381}
4382 YY_BREAK
4383case 133:
4385#line 1447 "dhcp6_lexer.ll"
4386{
4387 switch(driver.ctx_) {
4390 default:
4391 return isc::dhcp::Dhcp6Parser::make_STRING("host-reservation-identifiers", driver.loc_);
4392 }
4393}
4394 YY_BREAK
4395case 134:
4397#line 1456 "dhcp6_lexer.ll"
4398{
4399 switch(driver.ctx_) {
4404 default:
4405 return isc::dhcp::Dhcp6Parser::make_STRING("calculate-tee-times", driver.loc_);
4406 }
4407}
4408 YY_BREAK
4409case 135:
4411#line 1467 "dhcp6_lexer.ll"
4412{
4413 switch(driver.ctx_) {
4417 return isc::dhcp::Dhcp6Parser::make_T1_PERCENT(driver.loc_);
4418 default:
4419 return isc::dhcp::Dhcp6Parser::make_STRING("t1-percent", driver.loc_);
4420 }
4421}
4422 YY_BREAK
4423case 136:
4425#line 1478 "dhcp6_lexer.ll"
4426{
4427 switch(driver.ctx_) {
4431 return isc::dhcp::Dhcp6Parser::make_T2_PERCENT(driver.loc_);
4432 default:
4433 return isc::dhcp::Dhcp6Parser::make_STRING("t2-percent", driver.loc_);
4434 }
4435}
4436 YY_BREAK
4437case 137:
4439#line 1489 "dhcp6_lexer.ll"
4440{
4441 switch(driver.ctx_) {
4446 default:
4447 return isc::dhcp::Dhcp6Parser::make_STRING("cache-threshold", driver.loc_);
4448 }
4449}
4450 YY_BREAK
4451case 138:
4453#line 1500 "dhcp6_lexer.ll"
4454{
4455 switch(driver.ctx_) {
4460 default:
4461 return isc::dhcp::Dhcp6Parser::make_STRING("cache-max-age", driver.loc_);
4462 }
4463}
4464 YY_BREAK
4465case 139:
4467#line 1511 "dhcp6_lexer.ll"
4468{
4469 switch(driver.ctx_) {
4471 return isc::dhcp::Dhcp6Parser::make_LOGGERS(driver.loc_);
4472 default:
4473 return isc::dhcp::Dhcp6Parser::make_STRING("loggers", driver.loc_);
4474 }
4475}
4476 YY_BREAK
4477case 140:
4479#line 1520 "dhcp6_lexer.ll"
4480{
4481 switch(driver.ctx_) {
4484 default:
4485 return isc::dhcp::Dhcp6Parser::make_STRING("output_options", driver.loc_);
4486 }
4487}
4488 YY_BREAK
4489case 141:
4491#line 1529 "dhcp6_lexer.ll"
4492{
4493 switch(driver.ctx_) {
4496 default:
4497 return isc::dhcp::Dhcp6Parser::make_STRING("output-options", driver.loc_);
4498 }
4499}
4500 YY_BREAK
4501case 142:
4503#line 1538 "dhcp6_lexer.ll"
4504{
4505 switch(driver.ctx_) {
4507 return isc::dhcp::Dhcp6Parser::make_OUTPUT(driver.loc_);
4508 default:
4509 return isc::dhcp::Dhcp6Parser::make_STRING("output", driver.loc_);
4510 }
4511}
4512 YY_BREAK
4513case 143:
4515#line 1547 "dhcp6_lexer.ll"
4516{
4517 switch(driver.ctx_) {
4519 return isc::dhcp::Dhcp6Parser::make_FLUSH(driver.loc_);
4520 default:
4521 return isc::dhcp::Dhcp6Parser::make_STRING("flush", driver.loc_);
4522 }
4523}
4524 YY_BREAK
4525case 144:
4527#line 1556 "dhcp6_lexer.ll"
4528{
4529 switch(driver.ctx_) {
4531 return isc::dhcp::Dhcp6Parser::make_MAXSIZE(driver.loc_);
4532 default:
4533 return isc::dhcp::Dhcp6Parser::make_STRING("maxsize", driver.loc_);
4534 }
4535}
4536 YY_BREAK
4537case 145:
4539#line 1565 "dhcp6_lexer.ll"
4540{
4541 switch(driver.ctx_) {
4543 return isc::dhcp::Dhcp6Parser::make_MAXVER(driver.loc_);
4544 default:
4545 return isc::dhcp::Dhcp6Parser::make_STRING("maxver", driver.loc_);
4546 }
4547}
4548 YY_BREAK
4549case 146:
4551#line 1574 "dhcp6_lexer.ll"
4552{
4553 switch(driver.ctx_) {
4555 return isc::dhcp::Dhcp6Parser::make_PATTERN(driver.loc_);
4556 default:
4557 return isc::dhcp::Dhcp6Parser::make_STRING("pattern", driver.loc_);
4558 }
4559}
4560 YY_BREAK
4561case 147:
4563#line 1583 "dhcp6_lexer.ll"
4564{
4565 switch(driver.ctx_) {
4567 return isc::dhcp::Dhcp6Parser::make_DEBUGLEVEL(driver.loc_);
4568 default:
4569 return isc::dhcp::Dhcp6Parser::make_STRING("debuglevel", driver.loc_);
4570 }
4571}
4572 YY_BREAK
4573case 148:
4575#line 1592 "dhcp6_lexer.ll"
4576{
4577 switch(driver.ctx_) {
4579 return isc::dhcp::Dhcp6Parser::make_SEVERITY(driver.loc_);
4580 default:
4581 return isc::dhcp::Dhcp6Parser::make_STRING("severity", driver.loc_);
4582 }
4583}
4584 YY_BREAK
4585case 149:
4587#line 1601 "dhcp6_lexer.ll"
4588{
4589 switch(driver.ctx_) {
4594 default:
4595 return isc::dhcp::Dhcp6Parser::make_STRING("client-classes", driver.loc_);
4596 }
4597}
4598 YY_BREAK
4599case 150:
4601#line 1612 "dhcp6_lexer.ll"
4602{
4603 switch(driver.ctx_) {
4609 default:
4610 return isc::dhcp::Dhcp6Parser::make_STRING("require-client-classes", driver.loc_);
4611 }
4612}
4613 YY_BREAK
4614case 151:
4616#line 1624 "dhcp6_lexer.ll"
4617{
4618 switch(driver.ctx_) {
4624 default:
4625 return isc::dhcp::Dhcp6Parser::make_STRING("evaluate-additional-classes", driver.loc_);
4626 }
4627}
4628 YY_BREAK
4629case 152:
4631#line 1636 "dhcp6_lexer.ll"
4632{
4633 switch(driver.ctx_) {
4640 default:
4641 return isc::dhcp::Dhcp6Parser::make_STRING("client-class", driver.loc_);
4642 }
4643}
4644 YY_BREAK
4645case 153:
4647#line 1649 "dhcp6_lexer.ll"
4648{
4649 switch(driver.ctx_) {
4651 return isc::dhcp::Dhcp6Parser::make_TEST(driver.loc_);
4652 default:
4653 return isc::dhcp::Dhcp6Parser::make_STRING("test", driver.loc_);
4654 }
4655}
4656 YY_BREAK
4657case 154:
4659#line 1658 "dhcp6_lexer.ll"
4660{
4661 switch(driver.ctx_) {
4664 default:
4665 return isc::dhcp::Dhcp6Parser::make_STRING("template-test", driver.loc_);
4666 }
4667}
4668 YY_BREAK
4669case 155:
4671#line 1667 "dhcp6_lexer.ll"
4672{
4673 switch(driver.ctx_) {
4676 default:
4677 return isc::dhcp::Dhcp6Parser::make_STRING("only-if-required", driver.loc_);
4678 }
4679}
4680 YY_BREAK
4681case 156:
4683#line 1676 "dhcp6_lexer.ll"
4684{
4685 switch(driver.ctx_) {
4688 default:
4689 return isc::dhcp::Dhcp6Parser::make_STRING("only-in-additional-list", driver.loc_);
4690 }
4691}
4692 YY_BREAK
4693case 157:
4695#line 1685 "dhcp6_lexer.ll"
4696{
4697 switch(driver.ctx_) {
4701 default:
4702 return isc::dhcp::Dhcp6Parser::make_STRING("reservations", driver.loc_);
4703 }
4704}
4705 YY_BREAK
4706case 158:
4708#line 1695 "dhcp6_lexer.ll"
4709{
4710 switch(driver.ctx_) {
4714 default:
4715 return isc::dhcp::Dhcp6Parser::make_STRING("ip-addresses", driver.loc_);
4716 }
4717}
4718 YY_BREAK
4719case 159:
4721#line 1705 "dhcp6_lexer.ll"
4722{
4723 switch(driver.ctx_) {
4725 return isc::dhcp::Dhcp6Parser::make_PREFIXES(driver.loc_);
4726 default:
4727 return isc::dhcp::Dhcp6Parser::make_STRING("prefixes", driver.loc_);
4728 }
4729}
4730 YY_BREAK
4731case 160:
4733#line 1714 "dhcp6_lexer.ll"
4734{
4735 switch(driver.ctx_) {
4738 default:
4739 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefixes", driver.loc_);
4740 }
4741}
4742 YY_BREAK
4743case 161:
4745#line 1723 "dhcp6_lexer.ll"
4746{
4747 switch(driver.ctx_) {
4751 return isc::dhcp::Dhcp6Parser::make_DUID(driver.loc_);
4752 default:
4753 return isc::dhcp::Dhcp6Parser::make_STRING("duid", driver.loc_);
4754 }
4755}
4756 YY_BREAK
4757case 162:
4759#line 1734 "dhcp6_lexer.ll"
4760{
4761 switch(driver.ctx_) {
4764 return isc::dhcp::Dhcp6Parser::make_HW_ADDRESS(driver.loc_);
4765 default:
4766 return isc::dhcp::Dhcp6Parser::make_STRING("hw-address", driver.loc_);
4767 }
4768}
4769 YY_BREAK
4770case 163:
4772#line 1744 "dhcp6_lexer.ll"
4773{
4774 switch(driver.ctx_) {
4776 return isc::dhcp::Dhcp6Parser::make_HOSTNAME(driver.loc_);
4777 default:
4778 return isc::dhcp::Dhcp6Parser::make_STRING("hostname", driver.loc_);
4779 }
4780}
4781 YY_BREAK
4782case 164:
4784#line 1753 "dhcp6_lexer.ll"
4785{
4786 switch(driver.ctx_) {
4789 return isc::dhcp::Dhcp6Parser::make_FLEX_ID(driver.loc_);
4790 default:
4791 return isc::dhcp::Dhcp6Parser::make_STRING("flex-id", driver.loc_);
4792 }
4793}
4794 YY_BREAK
4795case 165:
4797#line 1763 "dhcp6_lexer.ll"
4798{
4799 switch(driver.ctx_) {
4802 return isc::dhcp::Dhcp6Parser::make_SPACE(driver.loc_);
4803 default:
4804 return isc::dhcp::Dhcp6Parser::make_STRING("space", driver.loc_);
4805 }
4806}
4807 YY_BREAK
4808case 166:
4810#line 1773 "dhcp6_lexer.ll"
4811{
4812 switch(driver.ctx_) {
4814 return isc::dhcp::Dhcp6Parser::make_CSV_FORMAT(driver.loc_);
4815 default:
4816 return isc::dhcp::Dhcp6Parser::make_STRING("csv-format", driver.loc_);
4817 }
4818}
4819 YY_BREAK
4820case 167:
4822#line 1782 "dhcp6_lexer.ll"
4823{
4824 switch(driver.ctx_) {
4827 default:
4828 return isc::dhcp::Dhcp6Parser::make_STRING("record-types", driver.loc_);
4829 }
4830}
4831 YY_BREAK
4832case 168:
4834#line 1791 "dhcp6_lexer.ll"
4835{
4836 switch(driver.ctx_) {
4838 return isc::dhcp::Dhcp6Parser::make_ENCAPSULATE(driver.loc_);
4839 default:
4840 return isc::dhcp::Dhcp6Parser::make_STRING("encapsulate", driver.loc_);
4841 }
4842}
4843 YY_BREAK
4844case 169:
4846#line 1800 "dhcp6_lexer.ll"
4847{
4848 switch(driver.ctx_) {
4850 return isc::dhcp::Dhcp6Parser::make_ARRAY(driver.loc_);
4851 default:
4852 return isc::dhcp::Dhcp6Parser::make_STRING("array", driver.loc_);
4853 }
4854}
4855 YY_BREAK
4856case 170:
4858#line 1809 "dhcp6_lexer.ll"
4859{
4860 switch(driver.ctx_) {
4863 return isc::dhcp::Dhcp6Parser::make_RELAY(driver.loc_);
4864 default:
4865 return isc::dhcp::Dhcp6Parser::make_STRING("relay", driver.loc_);
4866 }
4867}
4868 YY_BREAK
4869case 171:
4871#line 1819 "dhcp6_lexer.ll"
4872{
4873 switch(driver.ctx_) {
4876 default:
4877 return isc::dhcp::Dhcp6Parser::make_STRING("hooks-libraries", driver.loc_);
4878 }
4879}
4880 YY_BREAK
4881case 172:
4883#line 1828 "dhcp6_lexer.ll"
4884{
4885 switch(driver.ctx_) {
4887 return isc::dhcp::Dhcp6Parser::make_PARAMETERS(driver.loc_);
4888 default:
4889 return isc::dhcp::Dhcp6Parser::make_STRING("parameters", driver.loc_);
4890 }
4891}
4892 YY_BREAK
4893case 173:
4895#line 1837 "dhcp6_lexer.ll"
4896{
4897 switch(driver.ctx_) {
4899 return isc::dhcp::Dhcp6Parser::make_LIBRARY(driver.loc_);
4900 default:
4901 return isc::dhcp::Dhcp6Parser::make_STRING("library", driver.loc_);
4902 }
4903}
4904 YY_BREAK
4905case 174:
4907#line 1846 "dhcp6_lexer.ll"
4908{
4909 switch(driver.ctx_) {
4911 return isc::dhcp::Dhcp6Parser::make_SERVER_ID(driver.loc_);
4912 default:
4913 return isc::dhcp::Dhcp6Parser::make_STRING("server-id", driver.loc_);
4914 }
4915}
4916 YY_BREAK
4917case 175:
4919#line 1855 "dhcp6_lexer.ll"
4920{
4921 switch(driver.ctx_) {
4923 return isc::dhcp::Dhcp6Parser::make_LLT(driver.loc_);
4924 default:
4925 return isc::dhcp::Dhcp6Parser::make_STRING("LLT", driver.loc_);
4926 }
4927}
4928 YY_BREAK
4929case 176:
4931#line 1864 "dhcp6_lexer.ll"
4932{
4933 switch(driver.ctx_) {
4935 return isc::dhcp::Dhcp6Parser::make_EN(driver.loc_);
4936 default:
4937 return isc::dhcp::Dhcp6Parser::make_STRING("EN", driver.loc_);
4938 }
4939}
4940 YY_BREAK
4941case 177:
4943#line 1873 "dhcp6_lexer.ll"
4944{
4945 switch(driver.ctx_) {
4947 return isc::dhcp::Dhcp6Parser::make_LL(driver.loc_);
4948 default:
4949 return isc::dhcp::Dhcp6Parser::make_STRING("LL", driver.loc_);
4950 }
4951}
4952 YY_BREAK
4953case 178:
4955#line 1882 "dhcp6_lexer.ll"
4956{
4957 switch(driver.ctx_) {
4959 return isc::dhcp::Dhcp6Parser::make_IDENTIFIER(driver.loc_);
4960 default:
4961 return isc::dhcp::Dhcp6Parser::make_STRING("identifier", driver.loc_);
4962 }
4963}
4964 YY_BREAK
4965case 179:
4967#line 1891 "dhcp6_lexer.ll"
4968{
4969 switch(driver.ctx_) {
4971 return isc::dhcp::Dhcp6Parser::make_HTYPE(driver.loc_);
4972 default:
4973 return isc::dhcp::Dhcp6Parser::make_STRING("htype", driver.loc_);
4974 }
4975}
4976 YY_BREAK
4977case 180:
4979#line 1900 "dhcp6_lexer.ll"
4980{
4981 switch(driver.ctx_) {
4983 return isc::dhcp::Dhcp6Parser::make_TIME(driver.loc_);
4984 default:
4985 return isc::dhcp::Dhcp6Parser::make_STRING("time", driver.loc_);
4986 }
4987}
4988 YY_BREAK
4989case 181:
4991#line 1909 "dhcp6_lexer.ll"
4992{
4993 switch(driver.ctx_) {
4996 default:
4997 return isc::dhcp::Dhcp6Parser::make_STRING("enterprise-id", driver.loc_);
4998 }
4999}
5000 YY_BREAK
5001case 182:
5003#line 1918 "dhcp6_lexer.ll"
5004{
5005 switch(driver.ctx_) {
5008 default:
5009 return isc::dhcp::Dhcp6Parser::make_STRING("expired-leases-processing", driver.loc_);
5010 }
5011}
5012 YY_BREAK
5013case 183:
5015#line 1927 "dhcp6_lexer.ll"
5016{
5017 switch(driver.ctx_) {
5020 default:
5021 return isc::dhcp::Dhcp6Parser::make_STRING("reclaim-timer-wait-time", driver.loc_);
5022 }
5023}
5024 YY_BREAK
5025case 184:
5027#line 1936 "dhcp6_lexer.ll"
5028{
5029 switch(driver.ctx_) {
5032 default:
5033 return isc::dhcp::Dhcp6Parser::make_STRING("flush-reclaimed-timer-wait-time", driver.loc_);
5034 }
5035}
5036 YY_BREAK
5037case 185:
5039#line 1945 "dhcp6_lexer.ll"
5040{
5041 switch(driver.ctx_) {
5044 default:
5045 return isc::dhcp::Dhcp6Parser::make_STRING("hold-reclaimed-time", driver.loc_);
5046 }
5047}
5048 YY_BREAK
5049case 186:
5051#line 1954 "dhcp6_lexer.ll"
5052{
5053 switch(driver.ctx_) {
5056 default:
5057 return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-leases", driver.loc_);
5058 }
5059}
5060 YY_BREAK
5061case 187:
5063#line 1963 "dhcp6_lexer.ll"
5064{
5065 switch(driver.ctx_) {
5068 default:
5069 return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-time", driver.loc_);
5070 }
5071}
5072 YY_BREAK
5073case 188:
5075#line 1972 "dhcp6_lexer.ll"
5076{
5077 switch(driver.ctx_) {
5080 default:
5081 return isc::dhcp::Dhcp6Parser::make_STRING("unwarned-reclaim-cycles", driver.loc_);
5082 }
5083}
5084 YY_BREAK
5085case 189:
5087#line 1981 "dhcp6_lexer.ll"
5088{
5089 switch(driver.ctx_) {
5092 default:
5093 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp4o6-port", driver.loc_);
5094 }
5095}
5096 YY_BREAK
5097case 190:
5099#line 1990 "dhcp6_lexer.ll"
5100{
5101 switch(driver.ctx_) {
5104 default:
5105 return isc::dhcp::Dhcp6Parser::make_STRING("multi-threading", driver.loc_);
5106 }
5107}
5108 YY_BREAK
5109case 191:
5111#line 1999 "dhcp6_lexer.ll"
5112{
5113 switch(driver.ctx_) {
5116 default:
5117 return isc::dhcp::Dhcp6Parser::make_STRING("enable-multi-threading", driver.loc_);
5118 }
5119}
5120 YY_BREAK
5121case 192:
5123#line 2008 "dhcp6_lexer.ll"
5124{
5125 switch(driver.ctx_) {
5128 default:
5129 return isc::dhcp::Dhcp6Parser::make_STRING("thread-pool-size", driver.loc_);
5130 }
5131}
5132 YY_BREAK
5133case 193:
5135#line 2017 "dhcp6_lexer.ll"
5136{
5137 switch(driver.ctx_) {
5140 default:
5141 return isc::dhcp::Dhcp6Parser::make_STRING("packet-queue-size", driver.loc_);
5142 }
5143}
5144 YY_BREAK
5145case 194:
5147#line 2026 "dhcp6_lexer.ll"
5148{
5149 switch(driver.ctx_) {
5152 default:
5153 return isc::dhcp::Dhcp6Parser::make_STRING("control-socket", driver.loc_);
5154 }
5155}
5156 YY_BREAK
5157case 195:
5159#line 2035 "dhcp6_lexer.ll"
5160{
5161 switch(driver.ctx_) {
5164 default:
5165 return isc::dhcp::Dhcp6Parser::make_STRING("control-sockets", driver.loc_);
5166 }
5167}
5168 YY_BREAK
5169case 196:
5171#line 2044 "dhcp6_lexer.ll"
5172{
5173 switch(driver.ctx_) {
5175 return isc::dhcp::Dhcp6Parser::make_SOCKET_TYPE(driver.loc_);
5176 default:
5177 return isc::dhcp::Dhcp6Parser::make_STRING("socket-type", driver.loc_);
5178 }
5179}
5180 YY_BREAK
5181case 197:
5183#line 2053 "dhcp6_lexer.ll"
5184{
5185 switch(driver.ctx_) {
5187 return isc::dhcp::Dhcp6Parser::make_UNIX(driver.loc_);
5188 default:
5189 return isc::dhcp::Dhcp6Parser::make_STRING("unix", driver.loc_);
5190 }
5191}
5192 YY_BREAK
5193case 198:
5195#line 2062 "dhcp6_lexer.ll"
5196{
5197 switch(driver.ctx_) {
5199 return isc::dhcp::Dhcp6Parser::make_HTTP(driver.loc_);
5200 default:
5201 return isc::dhcp::Dhcp6Parser::make_STRING("http", driver.loc_);
5202 }
5203}
5204 YY_BREAK
5205case 199:
5207#line 2071 "dhcp6_lexer.ll"
5208{
5209 switch(driver.ctx_) {
5211 return isc::dhcp::Dhcp6Parser::make_HTTPS(driver.loc_);
5212 default:
5213 return isc::dhcp::Dhcp6Parser::make_STRING("https", driver.loc_);
5214 }
5215}
5216 YY_BREAK
5217case 200:
5219#line 2080 "dhcp6_lexer.ll"
5220{
5221 switch(driver.ctx_) {
5223 return isc::dhcp::Dhcp6Parser::make_SOCKET_NAME(driver.loc_);
5224 default:
5225 return isc::dhcp::Dhcp6Parser::make_STRING("socket-name", driver.loc_);
5226 }
5227}
5228 YY_BREAK
5229case 201:
5231#line 2089 "dhcp6_lexer.ll"
5232{
5233 switch(driver.ctx_) {
5236 default:
5237 return isc::dhcp::Dhcp6Parser::make_STRING("socket-address", driver.loc_);
5238 }
5239}
5240 YY_BREAK
5241case 202:
5243#line 2098 "dhcp6_lexer.ll"
5244{
5245 switch(driver.ctx_) {
5247 return isc::dhcp::Dhcp6Parser::make_SOCKET_PORT(driver.loc_);
5248 default:
5249 return isc::dhcp::Dhcp6Parser::make_STRING("socket-port", driver.loc_);
5250 }
5251}
5252 YY_BREAK
5253case 203:
5255#line 2107 "dhcp6_lexer.ll"
5256{
5257 switch(driver.ctx_) {
5260 default:
5261 return isc::dhcp::Dhcp6Parser::make_STRING("authentication", driver.loc_);
5262 }
5263}
5264 YY_BREAK
5265case 204:
5267#line 2116 "dhcp6_lexer.ll"
5268{
5269 switch(driver.ctx_) {
5271 return isc::dhcp::Dhcp6Parser::make_BASIC(driver.loc_);
5272 default:
5273 return isc::dhcp::Dhcp6Parser::make_STRING("basic", driver.loc_);
5274 }
5275}
5276 YY_BREAK
5277case 205:
5279#line 2125 "dhcp6_lexer.ll"
5280{
5281 switch(driver.ctx_) {
5283 return isc::dhcp::Dhcp6Parser::make_REALM(driver.loc_);
5284 default:
5285 return isc::dhcp::Dhcp6Parser::make_STRING("realm", driver.loc_);
5286 }
5287}
5288 YY_BREAK
5289case 206:
5291#line 2134 "dhcp6_lexer.ll"
5292{
5293 switch(driver.ctx_) {
5295 return isc::dhcp::Dhcp6Parser::make_DIRECTORY(driver.loc_);
5296 default:
5297 return isc::dhcp::Dhcp6Parser::make_STRING("directory", driver.loc_);
5298 }
5299}
5300 YY_BREAK
5301case 207:
5303#line 2143 "dhcp6_lexer.ll"
5304{
5305 switch(driver.ctx_) {
5307 return isc::dhcp::Dhcp6Parser::make_CLIENTS(driver.loc_);
5308 default:
5309 return isc::dhcp::Dhcp6Parser::make_STRING("clients", driver.loc_);
5310 }
5311}
5312 YY_BREAK
5313case 208:
5315#line 2152 "dhcp6_lexer.ll"
5316{
5317 switch(driver.ctx_) {
5319 return isc::dhcp::Dhcp6Parser::make_USER_FILE(driver.loc_);
5320 default:
5321 return isc::dhcp::Dhcp6Parser::make_STRING("user-file", driver.loc_);
5322 }
5323}
5324 YY_BREAK
5325case 209:
5327#line 2161 "dhcp6_lexer.ll"
5328{
5329 switch(driver.ctx_) {
5332 default:
5333 return isc::dhcp::Dhcp6Parser::make_STRING("password-file", driver.loc_);
5334 }
5335}
5336 YY_BREAK
5337case 210:
5339#line 2170 "dhcp6_lexer.ll"
5340{
5341 switch(driver.ctx_) {
5344 default:
5345 return isc::dhcp::Dhcp6Parser::make_STRING("cert-required", driver.loc_);
5346 }
5347}
5348 YY_BREAK
5349case 211:
5351#line 2179 "dhcp6_lexer.ll"
5352{
5353 switch(driver.ctx_) {
5356 default:
5357 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-queue-control", driver.loc_);
5358 }
5359}
5360 YY_BREAK
5361case 212:
5363#line 2188 "dhcp6_lexer.ll"
5364{
5365 switch(driver.ctx_) {
5368 default:
5369 return isc::dhcp::Dhcp6Parser::make_STRING("enable-queue", driver.loc_);
5370 }
5371}
5372 YY_BREAK
5373case 213:
5375#line 2197 "dhcp6_lexer.ll"
5376{
5377 switch(driver.ctx_) {
5379 return isc::dhcp::Dhcp6Parser::make_QUEUE_TYPE(driver.loc_);
5380 default:
5381 return isc::dhcp::Dhcp6Parser::make_STRING("queue-type", driver.loc_);
5382 }
5383}
5384 YY_BREAK
5385case 214:
5387#line 2206 "dhcp6_lexer.ll"
5388{
5389 switch(driver.ctx_) {
5391 return isc::dhcp::Dhcp6Parser::make_CAPACITY(driver.loc_);
5392 default:
5393 return isc::dhcp::Dhcp6Parser::make_STRING("capacity", driver.loc_);
5394 }
5395}
5396 YY_BREAK
5397case 215:
5399#line 2215 "dhcp6_lexer.ll"
5400{
5401 switch(driver.ctx_) {
5403 return isc::dhcp::Dhcp6Parser::make_DHCP_DDNS(driver.loc_);
5404 default:
5405 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-ddns", driver.loc_);
5406 }
5407}
5408 YY_BREAK
5409case 216:
5411#line 2224 "dhcp6_lexer.ll"
5412{
5413 switch(driver.ctx_) {
5416 default:
5417 return isc::dhcp::Dhcp6Parser::make_STRING("early-global-reservations-lookup", driver.loc_);
5418 }
5419}
5420 YY_BREAK
5421case 217:
5423#line 2233 "dhcp6_lexer.ll"
5424{
5425 switch(driver.ctx_) {
5428 default:
5429 return isc::dhcp::Dhcp6Parser::make_STRING("ip-reservations-unique", driver.loc_);
5430 }
5431}
5432 YY_BREAK
5433case 218:
5435#line 2242 "dhcp6_lexer.ll"
5436{
5437 switch(driver.ctx_) {
5440 default:
5441 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-lookup-first", driver.loc_);
5442 }
5443}
5444 YY_BREAK
5445case 219:
5447#line 2251 "dhcp6_lexer.ll"
5448{
5449 switch(driver.ctx_) {
5452 default:
5453 return isc::dhcp::Dhcp6Parser::make_STRING("compatibility", driver.loc_);
5454 }
5455}
5456 YY_BREAK
5457case 220:
5459#line 2260 "dhcp6_lexer.ll"
5460{
5461 switch(driver.ctx_) {
5464 default:
5465 return isc::dhcp::Dhcp6Parser::make_STRING("lenient-option-parsing", driver.loc_);
5466 }
5467}
5468 YY_BREAK
5469case 221:
5471#line 2269 "dhcp6_lexer.ll"
5472{
5473 /* A string has been matched. It contains the actual string and single quotes.
5474 We need to get those quotes out of the way and just use its content, e.g.
5475 for 'foo' we should get foo */
5476 std::string raw(yytext+1);
5477 size_t len = raw.size() - 1;
5478 raw.resize(len);
5479 std::string decoded;
5480 decoded.reserve(len);
5481 for (size_t pos = 0; pos < len; ++pos) {
5482 int b = 0;
5483 char c = raw[pos];
5484 switch (c) {
5485 case '"':
5486 /* impossible condition */
5487 driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
5488 break;
5489 case '\\':
5490 ++pos;
5491 if (pos >= len) {
5492 /* impossible condition */
5493 driver.error(driver.loc_, "Overflow escape in \"" + raw + "\"");
5494 }
5495 c = raw[pos];
5496 switch (c) {
5497 case '"':
5498 case '\\':
5499 case '/':
5500 decoded.push_back(c);
5501 break;
5502 case 'b':
5503 decoded.push_back('\b');
5504 break;
5505 case 'f':
5506 decoded.push_back('\f');
5507 break;
5508 case 'n':
5509 decoded.push_back('\n');
5510 break;
5511 case 'r':
5512 decoded.push_back('\r');
5513 break;
5514 case 't':
5515 decoded.push_back('\t');
5516 break;
5517 case 'u':
5518 /* support only \u0000 to \u00ff */
5519 ++pos;
5520 if (pos + 4 > len) {
5521 /* impossible condition */
5522 driver.error(driver.loc_,
5523 "Overflow unicode escape in \"" + raw + "\"");
5524 }
5525 if ((raw[pos] != '0') || (raw[pos + 1] != '0')) {
5526 driver.error(driver.loc_,
5527 "Unsupported unicode escape in \"" + raw + "\"",
5528 pos + 1);
5529 }
5530 pos += 2;
5531 c = raw[pos];
5532 if ((c >= '0') && (c <= '9')) {
5533 b = (c - '0') << 4;
5534 } else if ((c >= 'A') && (c <= 'F')) {
5535 b = (c - 'A' + 10) << 4;
5536 } else if ((c >= 'a') && (c <= 'f')) {
5537 b = (c - 'a' + 10) << 4;
5538 } else {
5539 /* impossible condition */
5540 driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\"");
5541 }
5542 pos++;
5543 c = raw[pos];
5544 if ((c >= '0') && (c <= '9')) {
5545 b |= c - '0';
5546 } else if ((c >= 'A') && (c <= 'F')) {
5547 b |= c - 'A' + 10;
5548 } else if ((c >= 'a') && (c <= 'f')) {
5549 b |= c - 'a' + 10;
5550 } else {
5551 /* impossible condition */
5552 driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\"");
5553 }
5554 decoded.push_back(static_cast<char>(b & 0xff));
5555 break;
5556 default:
5557 /* impossible condition */
5558 driver.error(driver.loc_, "Bad escape in \"" + raw + "\"");
5559 }
5560 break;
5561 default:
5562 if ((c >= 0) && (c < 0x20)) {
5563 /* impossible condition */
5564 driver.error(driver.loc_, "Invalid control in \"" + raw + "\"");
5565 }
5566 decoded.push_back(c);
5567 }
5568 }
5569
5570 return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_);
5571}
5572 YY_BREAK
5573case 222:
5574/* rule 222 can match eol */
5576#line 2370 "dhcp6_lexer.ll"
5577{
5578 /* Bad string with a forbidden control character inside */
5579 std::string raw(yytext+1);
5580 size_t len = raw.size() - 1;
5581 size_t pos = 0;
5582 for (; pos < len; ++pos) {
5583 char c = raw[pos];
5584 if ((c >= 0) && (c < 0x20)) {
5585 break;
5586 }
5587 }
5588 driver.error(driver.loc_,
5589 "Invalid control in " + std::string(yytext),
5590 pos + 1);
5591}
5592 YY_BREAK
5593case 223:
5594/* rule 223 can match eol */
5596#line 2386 "dhcp6_lexer.ll"
5597{
5598 /* Bad string with a bad escape inside */
5599 std::string raw(yytext+1);
5600 size_t len = raw.size() - 1;
5601 size_t pos = 0;
5602 bool found = false;
5603 for (; pos < len; ++pos) {
5604 if (found) {
5605 break;
5606 }
5607 char c = raw[pos];
5608 if (c == '\\') {
5609 ++pos;
5610 c = raw[pos];
5611 switch (c) {
5612 case '"':
5613 case '\\':
5614 case '/':
5615 case 'b':
5616 case 'f':
5617 case 'n':
5618 case 'r':
5619 case 't':
5620 break;
5621 case 'u':
5622 if ((pos + 4 > len) ||
5623 !std::isxdigit(raw[pos + 1]) ||
5624 !std::isxdigit(raw[pos + 2]) ||
5625 !std::isxdigit(raw[pos + 3]) ||
5626 !std::isxdigit(raw[pos + 4])) {
5627 found = true;
5628 }
5629 break;
5630 default:
5631 found = true;
5632 break;
5633 }
5634 }
5635 }
5636 /* The rule stops on the first " including on \" so add ... in this case */
5637 std::string trailer = "";
5638 if (raw[len - 1] == '\\') {
5639 trailer = "...";
5640 }
5641 driver.error(driver.loc_,
5642 "Bad escape in " + std::string(yytext) + trailer,
5643 pos);
5644}
5645 YY_BREAK
5646case 224:
5648#line 2435 "dhcp6_lexer.ll"
5649{
5650 /* Bad string with an open escape at the end */
5651 std::string raw(yytext+1);
5652 driver.error(driver.loc_,
5653 "Overflow escape in " + std::string(yytext),
5654 raw.size() + 1);
5655}
5656 YY_BREAK
5657case 225:
5659#line 2443 "dhcp6_lexer.ll"
5660{
5661 /* Bad string with an open unicode escape at the end */
5662 std::string raw(yytext+1);
5663 size_t pos = raw.size() - 1;
5664 for (; pos > 0; --pos) {
5665 char c = raw[pos];
5666 if (c == 'u') {
5667 break;
5668 }
5669 }
5670 driver.error(driver.loc_,
5671 "Overflow unicode escape in " + std::string(yytext),
5672 pos + 1);
5673}
5674 YY_BREAK
5675case 226:
5677#line 2458 "dhcp6_lexer.ll"
5678{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
5679 YY_BREAK
5680case 227:
5682#line 2459 "dhcp6_lexer.ll"
5683{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
5684 YY_BREAK
5685case 228:
5687#line 2460 "dhcp6_lexer.ll"
5688{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
5689 YY_BREAK
5690case 229:
5692#line 2461 "dhcp6_lexer.ll"
5693{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
5694 YY_BREAK
5695case 230:
5697#line 2462 "dhcp6_lexer.ll"
5698{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
5699 YY_BREAK
5700case 231:
5702#line 2463 "dhcp6_lexer.ll"
5703{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
5704 YY_BREAK
5705case 232:
5707#line 2465 "dhcp6_lexer.ll"
5708{
5709 /* An integer was found. */
5710 std::string tmp(yytext);
5711 int64_t integer = 0;
5712 try {
5713 /* In substring we want to use negative values (e.g. -1).
5714 In enterprise-id we need to use values up to 0xffffffff.
5715 To cover both of those use cases, we need at least
5716 int64_t. */
5717 integer = boost::lexical_cast<int64_t>(tmp);
5718 } catch (const boost::bad_lexical_cast &) {
5719 driver.error(driver.loc_, "Failed to convert " + tmp + " to an integer.");
5720 }
5721
5722 /* The parser needs the string form as double conversion is no lossless */
5723 return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
5724}
5725 YY_BREAK
5726case 233:
5728#line 2483 "dhcp6_lexer.ll"
5729{
5730 /* A floating point was found. */
5731 std::string tmp(yytext);
5732 double fp = 0.0;
5733 try {
5734 fp = boost::lexical_cast<double>(tmp);
5735 } catch (const boost::bad_lexical_cast &) {
5736 driver.error(driver.loc_, "Failed to convert " + tmp + " to a floating point.");
5737 }
5738
5739 return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
5740}
5741 YY_BREAK
5742case 234:
5744#line 2496 "dhcp6_lexer.ll"
5745{
5746 string tmp(yytext);
5747 return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
5748}
5749 YY_BREAK
5750case 235:
5752#line 2501 "dhcp6_lexer.ll"
5753{
5754 return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
5755}
5756 YY_BREAK
5757case 236:
5759#line 2505 "dhcp6_lexer.ll"
5760driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
5761 YY_BREAK
5762case 237:
5764#line 2507 "dhcp6_lexer.ll"
5765driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
5766 YY_BREAK
5767case 238:
5769#line 2509 "dhcp6_lexer.ll"
5770driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
5771 YY_BREAK
5772case 239:
5774#line 2511 "dhcp6_lexer.ll"
5775driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
5776 YY_BREAK
5777case YY_STATE_EOF(INITIAL):
5778#line 2513 "dhcp6_lexer.ll"
5779{
5780 if (driver.states_.empty()) {
5781 return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
5782 }
5783 driver.loc_ = driver.locs_.back();
5784 driver.locs_.pop_back();
5785 driver.file_ = driver.files_.back();
5786 driver.files_.pop_back();
5787 if (driver.sfile_) {
5788 fclose(driver.sfile_);
5789 driver.sfile_ = 0;
5790 }
5791 if (!driver.sfiles_.empty()) {
5792 driver.sfile_ = driver.sfiles_.back();
5793 driver.sfiles_.pop_back();
5794 }
5795 parser6__delete_buffer(YY_CURRENT_BUFFER);
5796 parser6__switch_to_buffer(driver.states_.back());
5797 driver.states_.pop_back();
5798
5799 BEGIN(DIR_EXIT);
5800}
5801 YY_BREAK
5802case 240:
5804#line 2536 "dhcp6_lexer.ll"
5805ECHO;
5806 YY_BREAK
5807#line 5807 "dhcp6_lexer.cc"
5808
5809 case YY_END_OF_BUFFER:
5810 {
5811 /* Amount of text matched not including the EOB char. */
5812 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5813
5814 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5815 *yy_cp = (yy_hold_char);
5817
5818 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5819 {
5820 /* We're scanning a new file or input source. It's
5821 * possible that this happened because the user
5822 * just pointed yyin at a new source and called
5823 * yylex(). If so, then we have to assure
5824 * consistency between YY_CURRENT_BUFFER and our
5825 * globals. Here is the right place to do so, because
5826 * this is the first action (other than possibly a
5827 * back-up) that will match for the new input source.
5828 */
5829 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5830/* %if-c-only */
5831 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
5832/* %endif */
5833/* %if-c++-only */
5834/* %endif */
5835 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5836 }
5837
5838 /* Note that here we test for yy_c_buf_p "<=" to the position
5839 * of the first EOB in the buffer, since yy_c_buf_p will
5840 * already have been incremented past the NUL character
5841 * (since all states make transitions on EOB to the
5842 * end-of-buffer state). Contrast this with the test
5843 * in input().
5844 */
5845 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5846 { /* This was really a NUL. */
5847 yy_state_type yy_next_state;
5848
5849 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5850
5851 yy_current_state = yy_get_previous_state( );
5852
5853 /* Okay, we're now positioned to make the NUL
5854 * transition. We couldn't have
5855 * yy_get_previous_state() go ahead and do it
5856 * for us because it doesn't know how to deal
5857 * with the possibility of jamming (and we don't
5858 * want to build jamming into it because then it
5859 * will run more slowly).
5860 */
5861
5862 yy_next_state = yy_try_NUL_trans( yy_current_state );
5863
5865
5866 if ( yy_next_state )
5867 {
5868 /* Consume the NUL. */
5869 yy_cp = ++(yy_c_buf_p);
5870 yy_current_state = yy_next_state;
5871 goto yy_match;
5872 }
5873
5874 else
5875 {
5876/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
5877 yy_cp = (yy_last_accepting_cpos);
5878 yy_current_state = (yy_last_accepting_state);
5879 goto yy_find_action;
5880 }
5881 }
5882
5883 else switch ( yy_get_next_buffer( ) )
5884 {
5886 {
5887 (yy_did_buffer_switch_on_eof) = 0;
5888
5889 if ( yywrap( ) )
5890 {
5891 /* Note: because we've taken care in
5892 * yy_get_next_buffer() to have set up
5893 * yytext, we can now set up
5894 * yy_c_buf_p so that if some total
5895 * hoser (like flex itself) wants to
5896 * call the scanner after we return the
5897 * YY_NULL, it'll still work - another
5898 * YY_NULL will get returned.
5899 */
5900 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5901
5903 goto do_action;
5904 }
5905
5906 else
5907 {
5908 if ( ! (yy_did_buffer_switch_on_eof) )
5910 }
5911 break;
5912 }
5913
5915 (yy_c_buf_p) =
5916 (yytext_ptr) + yy_amount_of_matched_text;
5917
5918 yy_current_state = yy_get_previous_state( );
5919
5920 yy_cp = (yy_c_buf_p);
5922 goto yy_match;
5923
5924 case EOB_ACT_LAST_MATCH:
5925 (yy_c_buf_p) =
5926 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5927
5928 yy_current_state = yy_get_previous_state( );
5929
5930 yy_cp = (yy_c_buf_p);
5932 goto yy_find_action;
5933 }
5934 break;
5935 }
5936
5937 default:
5939 "fatal flex scanner internal error--no action found" );
5940 } /* end of action switch */
5941 } /* end of scanning one token */
5942 } /* end of user's declarations */
5943} /* end of yylex */
5944/* %ok-for-header */
5945
5946/* %if-c++-only */
5947/* %not-for-header */
5948/* %ok-for-header */
5949
5950/* %endif */
5951
5952/* yy_get_next_buffer - try to read in a new buffer
5953 *
5954 * Returns a code representing an action:
5955 * EOB_ACT_LAST_MATCH -
5956 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5957 * EOB_ACT_END_OF_FILE - end of file
5958 */
5959/* %if-c-only */
5960static int yy_get_next_buffer (void)
5961/* %endif */
5962/* %if-c++-only */
5963/* %endif */
5964{
5965 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5966 char *source = (yytext_ptr);
5967 int number_to_move, i;
5968 int ret_val;
5969
5970 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5972 "fatal flex scanner internal error--end of buffer missed" );
5973
5974 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5975 { /* Don't try to fill the buffer, so this is an EOF. */
5976 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5977 {
5978 /* We matched a single character, the EOB, so
5979 * treat this as a final EOF.
5980 */
5981 return EOB_ACT_END_OF_FILE;
5982 }
5983
5984 else
5985 {
5986 /* We matched some text prior to the EOB, first
5987 * process it.
5988 */
5989 return EOB_ACT_LAST_MATCH;
5990 }
5991 }
5992
5993 /* Try to read more data. */
5994
5995 /* First move last chars to start of buffer. */
5996 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
5997
5998 for ( i = 0; i < number_to_move; ++i )
5999 *(dest++) = *(source++);
6000
6001 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6002 /* don't do the read, it's not guaranteed to return an EOF,
6003 * just force an EOF
6004 */
6005 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6006
6007 else
6008 {
6009 int num_to_read =
6010 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6011
6012 while ( num_to_read <= 0 )
6013 { /* Not enough room in the buffer - grow it. */
6014
6015 /* just a shorter name for the current buffer */
6017
6018 int yy_c_buf_p_offset =
6019 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6020
6021 if ( b->yy_is_our_buffer )
6022 {
6023 int new_size = b->yy_buf_size * 2;
6024
6025 if ( new_size <= 0 )
6026 b->yy_buf_size += b->yy_buf_size / 8;
6027 else
6028 b->yy_buf_size *= 2;
6029
6030 b->yy_ch_buf = (char *)
6031 /* Include room in for 2 EOB chars. */
6032 yyrealloc( (void *) b->yy_ch_buf,
6033 (yy_size_t) (b->yy_buf_size + 2) );
6034 }
6035 else
6036 /* Can't grow it, we don't own it. */
6037 b->yy_ch_buf = NULL;
6038
6039 if ( ! b->yy_ch_buf )
6041 "fatal error - scanner input buffer overflow" );
6042
6043 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6044
6045 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6046 number_to_move - 1;
6047
6048 }
6049
6050 if ( num_to_read > YY_READ_BUF_SIZE )
6051 num_to_read = YY_READ_BUF_SIZE;
6052
6053 /* Read in more data. */
6054 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6055 (yy_n_chars), num_to_read );
6056
6057 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6058 }
6059
6060 if ( (yy_n_chars) == 0 )
6061 {
6062 if ( number_to_move == YY_MORE_ADJ )
6063 {
6064 ret_val = EOB_ACT_END_OF_FILE;
6065 yyrestart( yyin );
6066 }
6067
6068 else
6069 {
6070 ret_val = EOB_ACT_LAST_MATCH;
6071 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6073 }
6074 }
6075
6076 else
6077 ret_val = EOB_ACT_CONTINUE_SCAN;
6078
6079 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6080 /* Extend the array by 50%, plus the number we really need. */
6081 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6082 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
6083 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
6084 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6085 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6086 /* "- 2" to take care of EOB's */
6087 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
6088 }
6089
6090 (yy_n_chars) += number_to_move;
6091 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6092 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6093
6094 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6095
6096 return ret_val;
6097}
6098
6099/* yy_get_previous_state - get the state just before the EOB char was reached */
6100
6101/* %if-c-only */
6102/* %not-for-header */
6103 static yy_state_type yy_get_previous_state (void)
6104/* %endif */
6105/* %if-c++-only */
6106/* %endif */
6107{
6108 yy_state_type yy_current_state;
6109 char *yy_cp;
6110
6111/* %% [15.0] code to get the start state into yy_current_state goes here */
6112 yy_current_state = (yy_start);
6113
6114 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6115 {
6116/* %% [16.0] code to find the next state goes here */
6117 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6118 if ( yy_accept[yy_current_state] )
6119 {
6120 (yy_last_accepting_state) = yy_current_state;
6121 (yy_last_accepting_cpos) = yy_cp;
6122 }
6123 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6124 {
6125 yy_current_state = (int) yy_def[yy_current_state];
6126 if ( yy_current_state >= 2306 )
6127 yy_c = yy_meta[yy_c];
6128 }
6129 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6130 }
6131
6132 return yy_current_state;
6133}
6134
6135/* yy_try_NUL_trans - try to make a transition on the NUL character
6136 *
6137 * synopsis
6138 * next_state = yy_try_NUL_trans( current_state );
6139 */
6140/* %if-c-only */
6141 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6142/* %endif */
6143/* %if-c++-only */
6144/* %endif */
6145{
6146 int yy_is_jam;
6147 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
6148 char *yy_cp = (yy_c_buf_p);
6149
6150 YY_CHAR yy_c = 1;
6151 if ( yy_accept[yy_current_state] )
6152 {
6153 (yy_last_accepting_state) = yy_current_state;
6154 (yy_last_accepting_cpos) = yy_cp;
6155 }
6156 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6157 {
6158 yy_current_state = (int) yy_def[yy_current_state];
6159 if ( yy_current_state >= 2306 )
6160 yy_c = yy_meta[yy_c];
6161 }
6162 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6163 yy_is_jam = (yy_current_state == 2305);
6164
6165 return yy_is_jam ? 0 : yy_current_state;
6166}
6167
6168#ifndef YY_NO_UNPUT
6169/* %if-c-only */
6170
6171/* %endif */
6172#endif
6173
6174/* %if-c-only */
6175#ifndef YY_NO_INPUT
6176#ifdef __cplusplus
6177 static int yyinput (void)
6178#else
6179 static int input (void)
6180#endif
6181
6182/* %endif */
6183/* %if-c++-only */
6184/* %endif */
6185{
6186 int c;
6187
6188 *(yy_c_buf_p) = (yy_hold_char);
6189
6190 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6191 {
6192 /* yy_c_buf_p now points to the character we want to return.
6193 * If this occurs *before* the EOB characters, then it's a
6194 * valid NUL; if not, then we've hit the end of the buffer.
6195 */
6196 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6197 /* This was really a NUL. */
6198 *(yy_c_buf_p) = '\0';
6199
6200 else
6201 { /* need more input */
6202 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
6203 ++(yy_c_buf_p);
6204
6205 switch ( yy_get_next_buffer( ) )
6206 {
6207 case EOB_ACT_LAST_MATCH:
6208 /* This happens because yy_g_n_b()
6209 * sees that we've accumulated a
6210 * token and flags that we need to
6211 * try matching the token before
6212 * proceeding. But for input(),
6213 * there's no matching to consider.
6214 * So convert the EOB_ACT_LAST_MATCH
6215 * to EOB_ACT_END_OF_FILE.
6216 */
6217
6218 /* Reset buffer status. */
6219 yyrestart( yyin );
6220
6221 /*FALLTHROUGH*/
6222
6224 {
6225 if ( yywrap( ) )
6226 return 0;
6227
6228 if ( ! (yy_did_buffer_switch_on_eof) )
6230#ifdef __cplusplus
6231 return yyinput();
6232#else
6233 return input();
6234#endif
6235 }
6236
6238 (yy_c_buf_p) = (yytext_ptr) + offset;
6239 break;
6240 }
6241 }
6242 }
6243
6244 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6245 *(yy_c_buf_p) = '\0'; /* preserve yytext */
6246 (yy_hold_char) = *++(yy_c_buf_p);
6247
6248/* %% [19.0] update BOL and yylineno */
6249
6250 return c;
6251}
6252/* %if-c-only */
6253#endif /* ifndef YY_NO_INPUT */
6254/* %endif */
6255
6261/* %if-c-only */
6262 void yyrestart (FILE * input_file )
6263/* %endif */
6264/* %if-c++-only */
6265/* %endif */
6266{
6267
6268 if ( ! YY_CURRENT_BUFFER ){
6272 }
6273
6274 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
6276}
6277
6278/* %if-c++-only */
6279/* %endif */
6280
6285/* %if-c-only */
6287/* %endif */
6288/* %if-c++-only */
6289/* %endif */
6290{
6291
6292 /* TODO. We should be able to replace this entire function body
6293 * with
6294 * yypop_buffer_state();
6295 * yypush_buffer_state(new_buffer);
6296 */
6298 if ( YY_CURRENT_BUFFER == new_buffer )
6299 return;
6300
6301 if ( YY_CURRENT_BUFFER )
6302 {
6303 /* Flush out information for old buffer. */
6304 *(yy_c_buf_p) = (yy_hold_char);
6305 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6306 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6307 }
6308
6309 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6311
6312 /* We don't actually know whether we did this switch during
6313 * EOF (yywrap()) processing, but the only time this flag
6314 * is looked at is after yywrap() is called, so it's safe
6315 * to go ahead and always set it.
6316 */
6317 (yy_did_buffer_switch_on_eof) = 1;
6318}
6319
6320/* %if-c-only */
6321static void yy_load_buffer_state (void)
6322/* %endif */
6323/* %if-c++-only */
6324/* %endif */
6325{
6326 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6327 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6328/* %if-c-only */
6329 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6330/* %endif */
6331/* %if-c++-only */
6332/* %endif */
6333 (yy_hold_char) = *(yy_c_buf_p);
6334}
6335
6342/* %if-c-only */
6343 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
6344/* %endif */
6345/* %if-c++-only */
6346/* %endif */
6347{
6349
6350 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
6351 if ( ! b )
6352 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6353
6354 b->yy_buf_size = size;
6355
6356 /* yy_ch_buf has to be 2 characters longer than the size given because
6357 * we need to put in 2 end-of-buffer characters.
6358 */
6359 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
6360 if ( ! b->yy_ch_buf )
6361 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6362
6363 b->yy_is_our_buffer = 1;
6364
6365 yy_init_buffer( b, file );
6366
6367 return b;
6368}
6369
6370/* %if-c++-only */
6371/* %endif */
6372
6377/* %if-c-only */
6379/* %endif */
6380/* %if-c++-only */
6381/* %endif */
6382{
6383
6384 if ( ! b )
6385 return;
6386
6387 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6389
6390 if ( b->yy_is_our_buffer )
6391 yyfree( (void *) b->yy_ch_buf );
6392
6393 yyfree( (void *) b );
6394}
6395
6396/* Initializes or reinitializes a buffer.
6397 * This function is sometimes called more than once on the same buffer,
6398 * such as during a yyrestart() or at EOF.
6399 */
6400/* %if-c-only */
6401 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
6402/* %endif */
6403/* %if-c++-only */
6404/* %endif */
6405
6406{
6407 int oerrno = errno;
6408
6409 yy_flush_buffer( b );
6410
6411/* %if-c-only */
6412 b->yy_input_file = file;
6413/* %endif */
6414/* %if-c++-only */
6415/* %endif */
6416 b->yy_fill_buffer = 1;
6417
6418 /* If b is the current buffer, then yy_init_buffer was _probably_
6419 * called from yyrestart() or through yy_get_next_buffer.
6420 * In that case, we don't want to reset the lineno or column.
6421 */
6422 if (b != YY_CURRENT_BUFFER){
6423 b->yy_bs_lineno = 1;
6424 b->yy_bs_column = 0;
6425 }
6426
6427/* %if-c-only */
6428
6429 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6430
6431/* %endif */
6432/* %if-c++-only */
6433/* %endif */
6434 errno = oerrno;
6435}
6436
6441/* %if-c-only */
6443/* %endif */
6444/* %if-c++-only */
6445/* %endif */
6446{
6447 if ( ! b )
6448 return;
6449
6450 b->yy_n_chars = 0;
6451
6452 /* We always need two end-of-buffer characters. The first causes
6453 * a transition to the end-of-buffer state. The second causes
6454 * a jam in that state.
6455 */
6458
6459 b->yy_buf_pos = &b->yy_ch_buf[0];
6460
6461 b->yy_at_bol = 1;
6463
6464 if ( b == YY_CURRENT_BUFFER )
6466}
6467
6468/* %if-c-or-c++ */
6475/* %if-c-only */
6477/* %endif */
6478/* %if-c++-only */
6479/* %endif */
6480{
6481 if (new_buffer == NULL)
6482 return;
6483
6485
6486 /* This block is copied from yy_switch_to_buffer. */
6487 if ( YY_CURRENT_BUFFER )
6488 {
6489 /* Flush out information for old buffer. */
6490 *(yy_c_buf_p) = (yy_hold_char);
6491 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6492 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6493 }
6494
6495 /* Only push if top exists. Otherwise, replace top. */
6497 (yy_buffer_stack_top)++;
6498 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6499
6500 /* copied from yy_switch_to_buffer. */
6502 (yy_did_buffer_switch_on_eof) = 1;
6503}
6504/* %endif */
6505
6506/* %if-c-or-c++ */
6511/* %if-c-only */
6513/* %endif */
6514/* %if-c++-only */
6515/* %endif */
6516{
6517 if (!YY_CURRENT_BUFFER)
6518 return;
6519
6522 if ((yy_buffer_stack_top) > 0)
6523 --(yy_buffer_stack_top);
6524
6525 if (YY_CURRENT_BUFFER) {
6527 (yy_did_buffer_switch_on_eof) = 1;
6528 }
6529}
6530/* %endif */
6531
6532/* %if-c-or-c++ */
6533/* Allocates the stack if it does not exist.
6534 * Guarantees space for at least one push.
6535 */
6536/* %if-c-only */
6537static void yyensure_buffer_stack (void)
6538/* %endif */
6539/* %if-c++-only */
6540/* %endif */
6541{
6542 yy_size_t num_to_alloc;
6543
6544 if (!(yy_buffer_stack)) {
6545
6546 /* First allocation is just for 2 elements, since we don't know if this
6547 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6548 * immediate realloc on the next call.
6549 */
6550 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
6551 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
6552 (num_to_alloc * sizeof(struct yy_buffer_state*)
6553 );
6554 if ( ! (yy_buffer_stack) )
6555 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
6556
6557 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6558
6559 (yy_buffer_stack_max) = num_to_alloc;
6560 (yy_buffer_stack_top) = 0;
6561 return;
6562 }
6563
6564 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6565
6566 /* Increase the buffer to prepare for a possible push. */
6567 yy_size_t grow_size = 8 /* arbitrary grow size */;
6568
6569 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6570 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
6571 ((yy_buffer_stack),
6572 num_to_alloc * sizeof(struct yy_buffer_state*)
6573 );
6574 if ( ! (yy_buffer_stack) )
6575 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
6576
6577 /* zero only the new slots.*/
6578 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6579 (yy_buffer_stack_max) = num_to_alloc;
6580 }
6581}
6582/* %endif */
6583
6584/* %if-c-only */
6592{
6594
6595 if ( size < 2 ||
6596 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6597 base[size-1] != YY_END_OF_BUFFER_CHAR )
6598 /* They forgot to leave room for the EOB's. */
6599 return NULL;
6600
6601 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
6602 if ( ! b )
6603 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
6604
6605 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
6606 b->yy_buf_pos = b->yy_ch_buf = base;
6607 b->yy_is_our_buffer = 0;
6608 b->yy_input_file = NULL;
6609 b->yy_n_chars = b->yy_buf_size;
6610 b->yy_is_interactive = 0;
6611 b->yy_at_bol = 1;
6612 b->yy_fill_buffer = 0;
6614
6616
6617 return b;
6618}
6619/* %endif */
6620
6621/* %if-c-only */
6630YY_BUFFER_STATE yy_scan_string (const char * yystr )
6631{
6632
6633 return yy_scan_bytes( yystr, (int) strlen(yystr) );
6634}
6635/* %endif */
6636
6637/* %if-c-only */
6645YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
6646{
6648 char *buf;
6649 yy_size_t n;
6650 int i;
6651
6652 /* Get memory for full buffer, including space for trailing EOB's. */
6653 n = (yy_size_t) (_yybytes_len + 2);
6654 buf = (char *) yyalloc( n );
6655 if ( ! buf )
6656 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
6657
6658 for ( i = 0; i < _yybytes_len; ++i )
6659 buf[i] = yybytes[i];
6660
6661 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6662
6663 b = yy_scan_buffer( buf, n );
6664 if ( ! b )
6665 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
6666
6667 /* It's okay to grow etc. this buffer, and we should throw it
6668 * away when we're done.
6669 */
6670 b->yy_is_our_buffer = 1;
6671
6672 return b;
6673}
6674/* %endif */
6675
6676#ifndef YY_EXIT_FAILURE
6677#define YY_EXIT_FAILURE 2
6678#endif
6679
6680/* %if-c-only */
6681static void yynoreturn yy_fatal_error (const char* msg )
6682{
6683 fprintf( stderr, "%s\n", msg );
6684 exit( YY_EXIT_FAILURE );
6685}
6686/* %endif */
6687/* %if-c++-only */
6688/* %endif */
6689
6690/* Redefine yyless() so it works in section 3 code. */
6691
6692#undef yyless
6693#define yyless(n) \
6694 do \
6695 { \
6696 /* Undo effects of setting up yytext. */ \
6697 int yyless_macro_arg = (n); \
6698 YY_LESS_LINENO(yyless_macro_arg);\
6699 yytext[yyleng] = (yy_hold_char); \
6700 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6701 (yy_hold_char) = *(yy_c_buf_p); \
6702 *(yy_c_buf_p) = '\0'; \
6703 yyleng = yyless_macro_arg; \
6704 } \
6705 while ( 0 )
6706
6707/* Accessor methods (get/set functions) to struct members. */
6708
6709/* %if-c-only */
6710/* %if-reentrant */
6711/* %endif */
6712
6717{
6718
6719 return yylineno;
6720}
6721
6725FILE *yyget_in (void)
6726{
6727 return yyin;
6728}
6729
6733FILE *yyget_out (void)
6734{
6735 return yyout;
6736}
6737
6741int yyget_leng (void)
6742{
6743 return yyleng;
6744}
6745
6750char *yyget_text (void)
6751{
6752 return yytext;
6753}
6754
6755/* %if-reentrant */
6756/* %endif */
6757
6762void yyset_lineno (int _line_number )
6763{
6764
6765 yylineno = _line_number;
6766}
6767
6774void yyset_in (FILE * _in_str )
6775{
6776 yyin = _in_str ;
6777}
6778
6779void yyset_out (FILE * _out_str )
6780{
6781 yyout = _out_str ;
6782}
6783
6784int yyget_debug (void)
6785{
6786 return yy_flex_debug;
6787}
6788
6789void yyset_debug (int _bdebug )
6790{
6791 yy_flex_debug = _bdebug ;
6792}
6793
6794/* %endif */
6795
6796/* %if-reentrant */
6797/* %if-bison-bridge */
6798/* %endif */
6799/* %endif if-c-only */
6800
6801/* %if-c-only */
6802static int yy_init_globals (void)
6803{
6804 /* Initialization is the same as for the non-reentrant scanner.
6805 * This function is called from yylex_destroy(), so don't allocate here.
6806 */
6807
6808 (yy_buffer_stack) = NULL;
6809 (yy_buffer_stack_top) = 0;
6810 (yy_buffer_stack_max) = 0;
6811 (yy_c_buf_p) = NULL;
6812 (yy_init) = 0;
6813 (yy_start) = 0;
6814
6815/* Defined in main.c */
6816#ifdef YY_STDINIT
6817 yyin = stdin;
6818 yyout = stdout;
6819#else
6820 yyin = NULL;
6821 yyout = NULL;
6822#endif
6823
6824 /* For future reference: Set errno on error, since we are called by
6825 * yylex_init()
6826 */
6827 return 0;
6828}
6829/* %endif */
6830
6831/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
6832/* yylex_destroy is for both reentrant and non-reentrant scanners. */
6834{
6835
6836 /* Pop the buffer stack, destroying each element. */
6837 while(YY_CURRENT_BUFFER){
6841 }
6842
6843 /* Destroy the stack itself. */
6844 yyfree((yy_buffer_stack) );
6845 (yy_buffer_stack) = NULL;
6846
6847 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6848 * yylex() is called, initialization will occur. */
6849 yy_init_globals( );
6850
6851/* %if-reentrant */
6852/* %endif */
6853 return 0;
6854}
6855/* %endif */
6856
6857/*
6858 * Internal utility routines.
6859 */
6860
6861#ifndef yytext_ptr
6862static void yy_flex_strncpy (char* s1, const char * s2, int n )
6863{
6864
6865 int i;
6866 for ( i = 0; i < n; ++i )
6867 s1[i] = s2[i];
6868}
6869#endif
6870
6871#ifdef YY_NEED_STRLEN
6872static int yy_flex_strlen (const char * s )
6873{
6874 int n;
6875 for ( n = 0; s[n]; ++n )
6876 ;
6877
6878 return n;
6879}
6880#endif
6881
6882void *yyalloc (yy_size_t size )
6883{
6884 return malloc(size);
6885}
6886
6887void *yyrealloc (void * ptr, yy_size_t size )
6888{
6889
6890 /* The cast to (char *) in the following accommodates both
6891 * implementations that use char* generic pointers, and those
6892 * that use void* generic pointers. It works with the latter
6893 * because both ANSI C and C++ allow castless assignment from
6894 * any pointer type to void*, and deal with argument conversions
6895 * as though doing an assignment.
6896 */
6897 return realloc(ptr, size);
6898}
6899
6900void yyfree (void * ptr )
6901{
6902 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
6903}
6904
6905/* %if-tables-serialization definitions */
6906/* %define-yytables The name for this specific scanner's tables. */
6907#define YYTABLES_NAME "yytables"
6908/* %endif */
6909
6910/* %ok-for-header */
6911
6912#line 2536 "dhcp6_lexer.ll"
6913
6914
6915using namespace isc::dhcp;
6916
6917void
6918Parser6Context::scanStringBegin(const std::string& str, ParserType parser_type)
6919{
6920 start_token_flag = true;
6921 start_token_value = parser_type;
6922
6923 file_ = "<string>";
6924 sfile_ = 0;
6925 loc_.initialize(&file_);
6926 yy_flex_debug = trace_scanning_;
6927 YY_BUFFER_STATE buffer;
6928 buffer = parser6__scan_bytes(str.c_str(), str.size());
6929 if (!buffer) {
6930 fatal("cannot scan string");
6931 /* fatal() throws an exception so this can't be reached */
6932 }
6933}
6934
6935void
6937 const std::string& filename,
6938 ParserType parser_type)
6939{
6940 start_token_flag = true;
6941 start_token_value = parser_type;
6942
6943 file_ = filename;
6944 sfile_ = f;
6945 loc_.initialize(&file_);
6946 yy_flex_debug = trace_scanning_;
6947 YY_BUFFER_STATE buffer;
6948
6949 /* See dhcp6_lexer.cc header for available definitions */
6950 buffer = parser6__create_buffer(f, 65536 /*buffer size*/);
6951 if (!buffer) {
6952 fatal("cannot scan file " + filename);
6953 }
6954 parser6__switch_to_buffer(buffer);
6955}
6956
6957void
6959 if (sfile_)
6960 fclose(sfile_);
6961 sfile_ = 0;
6962 static_cast<void>(parser6_lex_destroy());
6963 /* Close files */
6964 while (!sfiles_.empty()) {
6965 FILE* f = sfiles_.back();
6966 if (f) {
6967 fclose(f);
6968 }
6969 sfiles_.pop_back();
6970 }
6971 /* Delete states */
6972 while (!states_.empty()) {
6973 parser6__delete_buffer(states_.back());
6974 states_.pop_back();
6975 }
6976}
6977
6978void
6979Parser6Context::includeFile(const std::string& filename) {
6980 if (states_.size() > 10) {
6981 fatal("Too many nested include.");
6982 }
6983
6984 FILE* f = fopen(filename.c_str(), "r");
6985 if (!f) {
6986 fatal("Can't open include file " + filename);
6987 }
6988 if (sfile_) {
6989 sfiles_.push_back(sfile_);
6990 }
6991 sfile_ = f;
6992 states_.push_back(YY_CURRENT_BUFFER);
6993 YY_BUFFER_STATE buffer;
6994 buffer = parser6__create_buffer(f, 65536 /*buffer size*/);
6995 if (!buffer) {
6996 fatal( "Can't scan include file " + filename);
6997 }
6998 parser6__switch_to_buffer(buffer);
6999 files_.push_back(file_);
7000 file_ = filename;
7001 locs_.push_back(loc_);
7002 loc_.initialize(&file_);
7003
7004 BEGIN(INITIAL);
7005}
7006
7007namespace {
7009class Dummy {
7010 /* cppcheck-suppress unusedPrivateFunction */
7011 void dummy() { yy_fatal_error("Fix me: how to disable its definition?"); }
7012};
7013}
7014#endif /* !__clang_analyzer__ */
7015
unsigned char flex_uint8_t
short int flex_int16_t
#define yy_flex_debug
int flex_int32_t
int yy_state_type
#define YY_CURRENT_BUFFER
#define INITIAL
#define BEGIN
flex_uint8_t YY_CHAR
size_t yy_size_t
Evaluation error exception raised when trying to parse.
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_EXCLUDED_PREFIXES(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_ALLOCATOR(const location_type &l)
static symbol_type make_DHCP6(const location_type &l)
static symbol_type make_PASSWORD_FILE(const location_type &l)
static symbol_type make_DIRECTORY(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_DDNS_CONFLICT_RESOLUTION_MODE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_ENTERPRISE_ID(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_HTTPS(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_EN(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_RETRY_ON_STARTUP(const location_type &l)
static symbol_type make_SUB_DHCP6(const location_type &l)
static symbol_type make_ONLY_IN_ADDITIONAL_LIST(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_DELEGATED_LEN(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_INTERFACE_ID(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DATA_DIRECTORY(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SUB_POOL6(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_EVALUATE_ADDITIONAL_CLASSES(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_PREFIX(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_POOL_ID(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_SUBNET6(const location_type &l)
static symbol_type make_PD_POOLS(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_TEMPLATE_TEST(const location_type &l)
static symbol_type make_MAX_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_AUTHENTICATION(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_TIME(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_SUB_INTERFACES6(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_MIN_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_LLT(const location_type &l)
static symbol_type make_READ_TIMEOUT(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_USER_FILE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_TCP_USER_TIMEOUT(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEVER_SEND(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_SUB_SUBNET6(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_SOCKET_PORT(const location_type &l)
static symbol_type make_REALM(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_HTYPE(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_PREFIX_LEN(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_IDENTIFIER(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_BASIC(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_RETRY_WAIT_TIME(const location_type &l)
static symbol_type make_LL(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
static symbol_type make_CLIENTS(const location_type &l)
static symbol_type make_SUB_PD_POOL(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_CHECK_EXISTS_WITH_DHCID(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_CERT_REQUIRED(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP6(const location_type &l)
static symbol_type make_SERVER_ID(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_RELAY_SUPPLIED_OPTIONS(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_PD_ALLOCATOR(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_NO_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_SOCKET_ADDRESS(const location_type &l)
static symbol_type make_WRITE_TIMEOUT(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_DDNS_TTL_PERCENT(const location_type &l)
static symbol_type make_EXTENDED_INFO_CHECKS(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_NO_CHECK_WITHOUT_DHCID(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_PREFIXES(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_MAC_SOURCES(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_RAPID_COMMIT(const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX_LEN(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
std::vector< isc::dhcp::location > locs_
Location stack.
isc::dhcp::location loc_
Location of the current token.
void includeFile(const std::string &filename)
Divert input to an include file.
FILE * sfile_
sFile (aka FILE)
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
std::vector< std::string > files_
File name stack.
@ LOGGERS
Used while parsing Dhcp6/loggers structures.
@ CLIENT_CLASSES
Used while parsing Dhcp6/client-classes structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp6/*-database/on-fail.
@ OPTION_DEF
Used while parsing Dhcp6/option-def structures.
@ POOLS
Used while parsing Dhcp6/subnet6/pools structures.
@ AUTHENTICATION
Used while parsing Dhcp6/control-socket/authentication structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp6/expired-leases-processing.
@ OPTION_DATA
Used while parsing Dhcp6/option-data, Dhcp6/subnet6/option-data or anywhere option-data is present (c...
@ CONTROL_SOCKET
Used while parsing Dhcp6/control-socket structures.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp6/dhcp-queue-control structures.
@ SERVER_ID
Used while parsing Dhcp6/server-id structures.
@ HOSTS_DATABASE
Used while parsing Dhcp6/hosts-database[s] structures.
@ SUBNET6
Used while parsing Dhcp6/Subnet6 structures.
@ RESERVATIONS
Used while parsing Dhcp6/reservations structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ AUTH_TYPE
Used while parsing Dhcp6/control-socket/authentication/type structures.
@ DHCP_DDNS
Used while parsing Dhcp6/dhcp-ddns.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ INTERFACES_CONFIG
Used while parsing Dhcp6/interfaces structures.
@ DUID_TYPE
Used while parsing Dhcp6/server-id/type structures.
@ HOOKS_LIBRARIES
Used while parsing Dhcp6/hooks-libraries.
@ CONFIG
Used while parsing content of Dhcp6.
@ DDNS_CONFLICT_RESOLUTION_MODE
Used while parsing Dhcp6/ddns-conflict-resolution-mode.
@ LEASE_DATABASE
Used while parsing Dhcp6/lease-database structures.
@ CLIENTS
Used while parsing Dhcp6/control-socket/authentication/clients structures.
@ NCR_PROTOCOL
Used while parsing Dhcp6/dhcp-ddns/ncr-protocol.
@ RELAY
Used while parsing Dhcp6/subnet6/relay structures.
@ OUTPUT_OPTIONS
Used while parsing Dhcp6/loggers/output-options structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp6/host-reservation-identifiers.
@ NCR_FORMAT
Used while parsing Dhcp6/dhcp-ddns/ncr-format.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp6/dhcp-ddns/replace-client-name.
@ DHCP_MULTI_THREADING
Used while parsing Dhcp6/multi-threading structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ CONTROL_SOCKET_TYPE
Used while parsing Dhcp6/control-socket/socket-type structures.
@ PD_POOLS
Used while parsing Dhcp6/subnet6/pd-pools structures.
@ MAC_SOURCES
Used while parsing Dhcp6/mac-sources structures.
@ CONFIG_CONTROL
Used while parsing Dhcp6/config-control.
void scanEnd()
Method called after the last tokens are scanned.
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
ParserType
Defines currently supported scopes.
@ PARSER_PD_POOL
This will parse the input as pd-pool content.
@ PARSER_DHCP6
This parser will parse the content as Dhcp6 config wrapped in a map (that's the regular config file)
@ PARSER_OPTION_DATA
This will parse the input as option data.
@ PARSER_HOOKS_LIBRARY
This will parse the input as hooks-library.
@ PARSER_POOL6
This will parse the input as pool6 content.
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_OPTION_DEF
This will parse the input as option definition.
@ PARSER_INTERFACES
This will parse the input as interfaces content.
@ PARSER_DHCP_DDNS
This will parse the input as dhcp-ddns. (D2 client config)
@ PARSER_CONFIG_CONTROL
This will parse the input as config-control.
@ PARSER_HOST_RESERVATION
This will parse the input as host-reservation.
@ PARSER_OPTION_DEFS
This will parse the input option definitions (for tests).
@ PARSER_SUBNET6
This will parse the input as Subnet6 content.
@ SUBPARSER_DHCP6
This parser will parse the content of Dhcp6 (without outer { } and without "Dhcp6").
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
#define yy_load_buffer_state
#define YY_NEW_FILE
#define yyset_extra
#define yytext
unsigned char flex_uint8_t
#define yyset_lineno
#define COMMENT
#define yyrestart
#define yyset_debug
#define YY_EXTRA_TYPE
#define DIR_INCLUDE
short int flex_int16_t
#define yy_flex_debug
unsigned int flex_uint32_t
#define yy_scan_bytes
#define YY_BREAK
#define yynoreturn
#define yyget_debug
int yy_act
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define yyfree
#define yyout
#define YY_BUFFER_NEW
#define yylex
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yywrap
#define yyget_out
Get the output stream.
#define YY_BUFFER_NORMAL
char * yy_cp
#define yyensure_buffer_stack
#define yy_scan_buffer
#define YY_MORE_ADJ
#define YY_RULE_SETUP
#define yy_scan_string
#define DIR_EXIT
#define yytext_ptr
signed char flex_int8_t
#define EOB_ACT_END_OF_FILE
#define yyalloc
#define YY_CURRENT_BUFFER_LVALUE
int flex_int32_t
#define yylex_destroy
#define YY_START
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
int yy_state_type
#define YY_CURRENT_BUFFER
#define yy_init_buffer
#define INITIAL
#define yyget_extra
char * yy_bp
#define yyin
#define YY_READ_BUF_SIZE
#define YY_INPUT(buf, result, max_size)
#define ECHO
#define yy_flush_buffer
#define yyrealloc
#define YY_END_OF_BUFFER
#define YY_STATE_EOF(state)
#define BEGIN
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define yy_create_buffer
flex_uint8_t YY_CHAR
#define YY_DO_BEFORE_ACTION
#define yy_delete_buffer
#define EOB_ACT_LAST_MATCH
size_t yy_size_t
#define YY_BUFFER_EOF_PENDING
#define yylineno
#define yyset_out
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
#define YY_DECL
#define YY_BUF_SIZE
#define YY_EXIT_FAILURE
#define YY_SC_TO_UI(c)
#define DIR_ENTER
#define yyleng
#define yyset_in
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
@ fatal
Definition db_log.h:117
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.
flex_int32_t yy_verify
flex_int32_t yy_nxt