Kea 2.5.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 237
695#define YY_END_OF_BUFFER 238
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[2304] =
704 { 0,
705 230, 230, 0, 0, 0, 0, 0, 0, 0, 0,
706 238, 236, 10, 11, 236, 1, 230, 227, 230, 230,
707 236, 229, 228, 236, 236, 236, 236, 236, 223, 224,
708 236, 236, 236, 225, 226, 5, 5, 5, 236, 236,
709 236, 10, 11, 0, 0, 218, 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 230, 230, 0, 229, 230, 3, 2, 6, 0, 230,
714 0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
715
716 0, 219, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 221, 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, 0, 0, 0,
725 2, 0, 0, 0, 0, 0, 0, 0, 8, 0,
726
727 0, 0, 187, 0, 0, 188, 0, 0, 0, 0,
728 0, 0, 0, 0, 220, 222, 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, 0, 132, 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, 0,
740 0, 0, 0, 0, 0, 235, 233, 0, 232, 231,
741 0, 0, 0, 0, 0, 0, 186, 0, 0, 28,
742 0, 27, 0, 0, 139, 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, 136, 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, 0, 0, 0, 0, 0, 0, 0, 0,
755 0, 0, 234, 231, 0, 0, 0, 0, 0, 29,
756 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 0, 143, 0, 0, 0, 0, 0,
758 0, 115, 0, 0, 0, 0, 0, 0, 0, 0,
759
760 171, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761 0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
764 0, 0, 114, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 125, 0, 0, 62, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 165, 0,
770
771 191, 0, 55, 0, 59, 0, 0, 0, 0, 0,
772 0, 37, 34, 33, 0, 0, 0, 0, 0, 179,
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, 0,
776 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
777 0, 0, 0, 0, 0, 190, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
780 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
781
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 180, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 7, 35, 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, 138, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 158, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 155, 0,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 120, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 129, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
803
804 0, 0, 0, 0, 0, 0, 0, 0, 128, 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, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 174, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
810 184, 152, 0, 0, 0, 0, 0, 0, 0, 157,
811 56, 0, 0, 0, 0, 0, 0, 70, 0, 0,
812 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
813 0, 63, 126, 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, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 211, 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, 135, 0, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
824 173, 0, 0, 0, 0, 0, 0, 0, 78, 0,
825
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 60, 0, 119, 0,
829 0, 0, 170, 0, 0, 0, 0, 0, 54, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 161, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
834 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
836
837 0, 0, 0, 0, 0, 0, 0, 212, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 130, 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 0, 0, 0, 0, 0, 0, 0, 0, 41, 0,
844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
845 16, 0, 0, 185, 14, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
847
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 176, 0, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 160, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 172, 189, 0, 40, 0, 181, 0,
854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 20, 0, 117, 0, 0,
856 112, 0, 0, 0, 0, 0, 0, 183, 0, 0,
857 58, 0, 121, 0, 210, 0, 0, 0, 0, 0,
858
859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
860 89, 0, 0, 0, 0, 0, 0, 0, 148, 149,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 116, 0, 0, 0, 79, 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 0, 0, 0, 178, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 0, 144, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 113, 137, 0, 0, 0,
869
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 86, 0, 0, 0, 0, 0, 17,
872 0, 15, 0, 0, 207, 206, 0, 0, 0, 0,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 30, 0, 0, 0, 164, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 0, 0, 200, 0, 0, 209,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 131, 0, 169, 0, 46, 0, 0, 64,
879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
880
881 19, 0, 0, 0, 0, 0, 0, 0, 92, 0,
882 0, 133, 66, 87, 0, 0, 177, 0, 0, 0,
883 0, 168, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 76, 0, 127, 0, 0, 0,
885 0, 0, 0, 0, 151, 0, 0, 0, 216, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 0, 124, 0, 0, 0, 0,
888 192, 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 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
894 0, 0, 0, 166, 0, 0, 0, 67, 0, 0,
895 0, 0, 0, 0, 0, 162, 51, 0, 0, 0,
896 205, 38, 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, 49, 0, 0,
899 0, 48, 0, 0, 18, 0, 0, 0, 75, 0,
900 0, 0, 0, 0, 154, 153, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
902
903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
904 0, 0, 83, 0, 0, 0, 0, 0, 150, 0,
905 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 122, 0, 0,
907 0, 0, 0, 0, 182, 0, 0, 0, 50, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 201,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 111, 0, 71, 0, 0, 0, 0, 0, 104, 0,
912 0, 36, 0, 52, 0, 0, 0, 0, 0, 0,
913
914 0, 0, 108, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 198, 0, 0, 0, 0, 167, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 134, 0, 0, 0, 0, 0, 72, 0, 0, 0,
919 0, 68, 203, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
922 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
923 0, 204, 0, 0, 13, 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, 0, 0,
927 0, 0, 0, 0, 208, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 0, 0, 197, 0, 85,
929 0, 84, 0, 21, 0, 80, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 105, 0, 147, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 0, 123, 0,
933 0, 0, 196, 0, 0, 0, 0, 0, 74, 0,
934 0, 90, 0, 69, 0, 23, 0, 140, 0, 0,
935
936 0, 0, 0, 0, 0, 0, 110, 0, 0, 0,
937 0, 0, 0, 0, 0, 0, 0, 101, 0, 0,
938 0, 0, 0, 47, 0, 0, 0, 0, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 99, 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, 0, 0, 0, 0, 0, 107, 53,
944 0, 0, 0, 100, 0, 0, 0, 0, 202, 0,
945 0, 0, 0, 214, 217, 82, 81, 22, 0, 145,
946
947 163, 141, 0, 0, 0, 0, 0, 0, 0, 106,
948 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
949 0, 194, 0, 0, 0, 0, 0, 0, 199, 0,
950 0, 98, 0, 88, 0, 0, 0, 0, 0, 0,
951 142, 0, 0, 0, 0, 0, 0, 0, 0, 193,
952 0, 0, 26, 215, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
954 0, 97, 0, 0, 0, 0, 44, 42, 0, 0,
955 0, 0, 102, 0, 0, 146, 0, 94, 0, 103,
956 0, 0, 0, 0, 0, 0, 0, 93, 0, 195,
957
958 43, 213, 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[2312] =
1006 { 0,
1007 0, 75, 21, 28, 39, 47, 53, 61, 95, 103,
1008 2750, 2751, 31, 2746, 151, 0, 216, 2751, 223, 230,
1009 13, 237, 2751, 2726, 124, 17, 4, 34, 2751, 2751,
1010 23, 43, 64, 2751, 2751, 2751, 56, 2734, 2684, 0,
1011 2724, 106, 2741, 2, 268, 2751, 85, 90, 2687, 2708,
1012 98, 77, 2708, 235, 231, 97, 207, 298, 226, 312,
1013 293, 62, 254, 205, 203, 223, 2687, 252, 321, 336,
1014 289, 339, 2670, 21, 344, 394, 354, 2689, 348, 0,
1015 408, 422, 448, 456, 462, 2751, 0, 2751, 438, 470,
1016 240, 256, 244, 321, 322, 278, 2751, 2686, 2730, 2751,
1017
1018 266, 2751, 484, 315, 374, 2684, 2728, 323, 17, 334,
1019 362, 2722, 379, 377, 384, 391, 2726, 0, 548, 439,
1020 2665, 431, 2664, 2665, 2671, 440, 2657, 2658, 2663, 76,
1021 2673, 2656, 2665, 2655, 445, 452, 63, 2658, 2656, 444,
1022 2645, 2706, 16, 2648, 2704, 2641, 180, 2662, 2662, 2656,
1023 209, 2649, 2647, 2648, 2640, 2645, 2639, 388, 2650, 373,
1024 2635, 2634, 2648, 455, 2689, 2633, 451, 2645, 459, 2633,
1025 518, 2634, 462, 2646, 2643, 2644, 379, 2642, 2680, 2679,
1026 405, 200, 2623, 2627, 458, 2623, 2615, 2632, 2624, 2626,
1027 0, 481, 498, 473, 503, 500, 498, 2622, 2751, 512,
1028
1029 530, 2617, 2751, 519, 515, 2751, 2674, 552, 559, 2673,
1030 560, 2672, 554, 2671, 2751, 2751, 603, 530, 566, 2627,
1031 2619, 2623, 2624, 2604, 2615, 2617, 2616, 334, 541, 2657,
1032 2618, 2599, 2596, 2604, 2610, 2598, 2612, 2608, 2599, 2608,
1033 2608, 2603, 2595, 2597, 2600, 2580, 2584, 2597, 2599, 2596,
1034 2588, 2578, 2581, 2595, 2751, 2581, 2589, 82, 2630, 2573,
1035 2582, 2627, 2571, 2581, 2624, 579, 2580, 2622, 2564, 2566,
1036 2577, 2618, 569, 2622, 2573, 2553, 2568, 528, 2558, 2564,
1037 488, 2555, 2553, 347, 2553, 2559, 2550, 2549, 2562, 2555,
1038 2545, 2556, 2560, 2559, 2553, 480, 2560, 2555, 2547, 2537,
1039
1040 2552, 2547, 2551, 2532, 2548, 2534, 2540, 2547, 2529, 214,
1041 2534, 2531, 2530, 600, 2529, 2524, 2538, 2537, 580, 2536,
1042 2539, 2521, 2529, 2517, 581, 2751, 2751, 585, 2751, 2751,
1043 2515, 550, 582, 2565, 597, 2576, 2751, 595, 606, 2751,
1044 2575, 2751, 2569, 649, 2751, 2528, 595, 2505, 2524, 2507,
1045 2524, 2563, 2520, 2510, 2565, 2517, 2520, 2511, 2514, 2500,
1046 2511, 631, 2553, 2508, 2505, 2506, 634, 2510, 2553, 2485,
1047 2497, 2492, 2489, 2485, 2487, 2490, 2540, 2494, 2483, 2499,
1048 2536, 2479, 672, 2492, 2492, 2475, 2476, 2489, 2487, 2485,
1049 2485, 2484, 2479, 2486, 2481, 2466, 615, 2475, 2478, 2473,
1050
1051 618, 2472, 2468, 2521, 594, 603, 2751, 2477, 2514, 2461,
1052 2460, 2453, 2455, 2467, 2458, 2465, 2446, 2463, 2455, 2451,
1053 2456, 678, 2506, 2456, 633, 2453, 2456, 2456, 2454, 50,
1054 2444, 2456, 625, 2431, 2432, 2453, 2444, 2434, 2431, 2445,
1055 639, 2431, 2443, 2442, 2441, 2436, 2481, 2438, 2437, 2436,
1056 2435, 2418, 2426, 2479, 2435, 2477, 2414, 2475, 2414, 698,
1057 2427, 2425, 2751, 2751, 2425, 655, 2465, 2469, 2468, 2751,
1058 2467, 617, 2751, 661, 732, 2423, 668, 2465, 2459, 2409,
1059 2411, 2413, 2400, 2397, 2751, 2402, 2395, 2407, 2410, 2397,
1060 2396, 2751, 2406, 661, 2397, 2394, 2406, 539, 2391, 2393,
1061
1062 2751, 2441, 2398, 2383, 2385, 2396, 2394, 2394, 2388, 699,
1063 2395, 2383, 2376, 2430, 2751, 2374, 2390, 2427, 2431, 2384,
1064 2378, 2380, 2381, 2365, 2374, 2419, 2367, 2366, 2361, 2360,
1065 2362, 2358, 2354, 654, 2373, 2347, 2354, 2359, 2352, 2368,
1066 2405, 2409, 2751, 2351, 2347, 702, 2355, 2354, 2348, 2355,
1067 2340, 2350, 2338, 2352, 2352, 2340, 2336, 2341, 2337, 2332,
1068 2751, 2341, 2391, 2751, 2330, 2329, 2322, 2339, 2381, 2380,
1069 2322, 2321, 2326, 2335, 2329, 2323, 2332, 708, 2372, 2331,
1070 2315, 2310, 2306, 2312, 649, 2326, 2319, 2323, 2306, 2367,
1071 2305, 2305, 2359, 2301, 2302, 2301, 2299, 2316, 2751, 2312,
1072
1073 2751, 2352, 2751, 2300, 2751, 2310, 2349, 2348, 2305, 2351,
1074 691, 2751, 2751, 2751, 669, 608, 674, 2288, 725, 2751,
1075 693, 2306, 2286, 2296, 2341, 2340, 2282, 2292, 2337, 2279,
1076 2286, 2279, 2287, 2280, 2289, 2271, 2271, 2286, 2285, 2269,
1077 478, 2283, 2282, 2266, 2281, 2263, 2313, 2277, 2274, 2317,
1078 2258, 2260, 2272, 2272, 2270, 2270, 2751, 2255, 2252, 2313,
1079 2265, 2257, 2263, 2254, 2262, 2751, 2247, 2258, 2262, 2244,
1080 2256, 2248, 686, 2239, 2238, 2232, 2237, 2234, 2249, 2248,
1081 2249, 2228, 2238, 2244, 2290, 2242, 2241, 2233, 2224, 2751,
1082 2225, 2227, 2751, 2222, 2228, 2233, 2275, 2274, 757, 2232,
1083
1084 2272, 2214, 2270, 2214, 2217, 2215, 2217, 2208, 2223, 2751,
1085 2221, 2207, 758, 2199, 2203, 2219, 2216, 2211, 2207, 2255,
1086 2204, 2211, 2252, 2751, 2195, 2193, 2207, 2206, 2209, 2246,
1087 2245, 2189, 2243, 2200, 2180, 26, 27, 2751, 211, 323,
1088 377, 487, 493, 505, 506, 557, 625, 610, 668, 669,
1089 681, 674, 2751, 2751, 700, 721, 720, 726, 739, 690,
1090 700, 721, 715, 705, 701, 715, 716, 726, 774, 737,
1091 737, 779, 782, 734, 730, 735, 736, 746, 751, 737,
1092 740, 743, 752, 753, 737, 797, 756, 748, 759, 802,
1093 762, 755, 755, 757, 761, 767, 810, 770, 817, 772,
1094
1095 773, 2751, 776, 771, 762, 777, 782, 779, 776, 783,
1096 782, 770, 784, 782, 790, 829, 788, 836, 837, 778,
1097 791, 777, 787, 837, 792, 845, 2751, 846, 799, 797,
1098 799, 795, 789, 805, 853, 849, 809, 798, 2751, 800,
1099 801, 812, 801, 814, 804, 817, 864, 820, 805, 867,
1100 868, 808, 823, 2751, 817, 811, 822, 807, 818, 831,
1101 822, 811, 817, 875, 836, 820, 820, 833, 880, 881,
1102 825, 843, 838, 843, 840, 887, 826, 838, 839, 846,
1103 837, 834, 2751, 903, 857, 858, 846, 860, 850, 853,
1104 864, 855, 861, 862, 890, 882, 911, 912, 886, 859,
1105
1106 873, 855, 862, 876, 924, 878, 875, 873, 2751, 877,
1107 872, 887, 884, 870, 872, 891, 888, 888, 890, 878,
1108 885, 886, 896, 938, 902, 941, 901, 891, 904, 890,
1109 889, 895, 954, 898, 893, 894, 900, 916, 899, 956,
1110 908, 958, 2751, 919, 919, 912, 923, 921, 969, 908,
1111 910, 925, 926, 914, 912, 977, 931, 917, 923, 921,
1112 2751, 2751, 937, 936, 937, 942, 930, 940, 942, 2751,
1113 2751, 942, 944, 931, 949, 936, 938, 2751, 935, 953,
1114 940, 940, 941, 996, 939, 943, 961, 1005, 2751, 963,
1115 1007, 2751, 2751, 949, 963, 963, 1011, 956, 955, 959,
1116
1117 953, 969, 1017, 967, 957, 958, 954, 964, 968, 979,
1118 980, 975, 977, 970, 972, 968, 985, 975, 990, 973,
1119 1035, 989, 994, 971, 994, 980, 979, 2751, 986, 988,
1120 1040, 1041, 990, 1003, 1044, 988, 1003, 997, 1021, 1031,
1121 1019, 1027, 1039, 1056, 1002, 1054, 1014, 1057, 2751, 1063,
1122 1003, 1022, 1012, 1011, 1006, 1007, 1019, 1014, 1010, 1028,
1123 1020, 1015, 1016, 1026, 1035, 1074, 1022, 1021, 1042, 1034,
1124 1029, 1085, 1091, 1045, 1036, 2751, 1050, 1041, 1049, 1051,
1125 1036, 1052, 1042, 1054, 1051, 1049, 1099, 1062, 1046, 1047,
1126 2751, 1063, 1066, 1049, 1051, 1112, 1052, 1071, 2751, 1070,
1127
1128 1073, 1060, 1055, 1073, 1061, 1117, 1072, 1068, 1065, 1121,
1129 1067, 1123, 1082, 1068, 1086, 1086, 1086, 1072, 1087, 1079,
1130 1075, 1076, 1094, 1093, 1080, 1097, 2751, 1081, 2751, 1090,
1131 1140, 1090, 2751, 1098, 1101, 1094, 1151, 1095, 2751, 1098,
1132 1103, 1150, 1098, 1099, 1111, 1105, 1106, 1104, 1115, 1163,
1133 1104, 1105, 1166, 1167, 1108, 1120, 1113, 2751, 1109, 1117,
1134 1116, 1170, 1109, 1130, 1116, 1117, 1118, 1119, 1125, 1133,
1135 1124, 1138, 1139, 1140, 1155, 1184, 1167, 1159, 1164, 2751,
1136 1147, 1151, 1134, 1134, 2751, 1135, 1137, 1148, 1138, 1158,
1137 1157, 1148, 1159, 1205, 1144, 1156, 1165, 1158, 1162, 1166,
1138
1139 1149, 1166, 1167, 1158, 1216, 1164, 1168, 2751, 1218, 1164,
1140 1182, 1164, 1164, 1185, 1182, 1225, 1171, 1189, 1177, 1191,
1141 1177, 1185, 1194, 1174, 1189, 1196, 1241, 1242, 2751, 1192,
1142 1244, 1245, 1184, 1194, 1204, 1188, 1208, 1191, 1193, 1193,
1143 1200, 1209, 1197, 1204, 1199, 1206, 1218, 1262, 1206, 1264,
1144 1206, 1223, 1267, 1214, 1218, 1219, 1217, 1215, 1210, 1274,
1145 1222, 1219, 1277, 1224, 1279, 1275, 1281, 1231, 2751, 1220,
1146 1237, 1230, 1221, 1240, 1234, 1229, 1239, 1240, 1237, 1249,
1147 2751, 1233, 1229, 2751, 2751, 1235, 1298, 1254, 1235, 1254,
1148 1255, 1257, 1299, 1249, 1306, 1307, 1257, 1262, 1256, 1254,
1149
1150 1265, 1247, 1252, 1258, 1284, 1297, 1285, 1299, 1286, 1321,
1151 1273, 1273, 1277, 1325, 1265, 1265, 1268, 1285, 1280, 1284,
1152 1279, 2751, 1276, 1289, 1273, 1290, 1270, 1291, 1281, 1280,
1153 1336, 1286, 2751, 1300, 1302, 1305, 1289, 1298, 1302, 1307,
1154 1293, 1356, 1306, 1311, 1298, 1312, 1310, 1302, 1308, 1304,
1155 1322, 1323, 1324, 2751, 2751, 1322, 2751, 1324, 2751, 1309,
1156 1320, 1311, 1330, 1323, 1321, 1376, 1330, 1327, 1374, 1335,
1157 1324, 1331, 1336, 1333, 1339, 2751, 1332, 2751, 1324, 1388,
1158 2751, 1389, 1333, 1334, 1341, 1388, 1347, 2751, 1348, 1336,
1159 2751, 1346, 2751, 1337, 2751, 1337, 1338, 1341, 1355, 1360,
1160
1161 1343, 1354, 1406, 1360, 1361, 1404, 1357, 1411, 1407, 1413,
1162 2751, 1361, 1358, 1416, 1417, 1371, 1372, 1374, 2751, 2751,
1163 1366, 1361, 1418, 1364, 1380, 1364, 1376, 1365, 1424, 1407,
1164 1408, 1400, 1433, 2751, 1387, 1378, 1389, 2751, 1437, 1371,
1165 1382, 1397, 1436, 1385, 1396, 1384, 1383, 1399, 1400, 1397,
1166 1444, 1404, 1406, 1395, 1405, 1411, 1399, 1399, 1459, 1455,
1167 1457, 1463, 1417, 2751, 1420, 1419, 1421, 1412, 1415, 1424,
1168 1425, 1422, 1412, 1415, 1415, 1477, 1421, 1479, 1423, 1481,
1169 1421, 1426, 1485, 2751, 1440, 1419, 1434, 1427, 1430, 1443,
1170 1446, 1445, 1443, 1495, 1446, 2751, 2751, 1442, 1443, 1453,
1171
1172 1438, 1497, 1441, 1504, 1457, 1443, 1507, 1508, 1509, 1450,
1173 1460, 1512, 1466, 2751, 1458, 1459, 1461, 1517, 1457, 2751,
1174 1474, 2751, 1473, 1463, 2751, 2751, 1476, 1459, 1479, 1480,
1175 1466, 1468, 1530, 1477, 1532, 1478, 1472, 1499, 1517, 1532,
1176 1518, 2751, 1538, 1486, 1536, 2751, 1481, 1543, 1490, 1484,
1177 1481, 1484, 1486, 1482, 1545, 1505, 1547, 1497, 1509, 1512,
1178 1509, 1501, 1504, 1497, 1560, 1507, 2751, 1506, 1505, 2751,
1179 1507, 1569, 1519, 1510, 1567, 1526, 1526, 1529, 1529, 1526,
1180 1573, 1532, 2751, 1524, 2751, 1525, 2751, 1535, 1527, 2751,
1181 1579, 1538, 1539, 1536, 1583, 1529, 1544, 1587, 1546, 1538,
1182
1183 2751, 1535, 1535, 1536, 1542, 1541, 1539, 1596, 2751, 1555,
1184 1555, 2751, 2751, 2751, 1599, 1543, 2751, 1560, 1545, 1546,
1185 1552, 2751, 1561, 1611, 1556, 1548, 1554, 1564, 1576, 1569,
1186 1575, 1565, 1623, 1573, 2751, 1582, 2751, 1579, 1627, 1604,
1187 1605, 1611, 1596, 1604, 2751, 1587, 1572, 1635, 2751, 1636,
1188 1590, 1595, 1577, 1640, 1641, 1582, 1638, 1602, 1595, 1591,
1189 1584, 1592, 1644, 1599, 1600, 2751, 1590, 1606, 1604, 1661,
1190 2751, 1596, 1658, 1619, 1619, 1615, 1662, 1607, 1612, 1610,
1191 1672, 1625, 1613, 1675, 1671, 1623, 1678, 1636, 1625, 1619,
1192 1682, 1621, 1630, 1623, 1637, 1640, 1688, 1689, 1628, 1645,
1193
1194 1641, 1639, 1632, 1647, 1631, 1692, 1693, 1694, 1695, 1655,
1195 1648, 1647, 1647, 1642, 2751, 1650, 1656, 1647, 1648, 1647,
1196 1649, 1707, 1650, 2751, 1646, 1664, 1716, 2751, 1684, 1698,
1197 1697, 1686, 1688, 1722, 1672, 2751, 2751, 1663, 1674, 1726,
1198 2751, 2751, 1680, 1670, 1675, 1673, 1726, 1681, 1687, 1673,
1199 1676, 1692, 1681, 1679, 1679, 1681, 2751, 1749, 1684, 1693,
1200 1740, 1685, 1690, 1753, 1699, 1709, 1710, 2751, 1758, 1708,
1201 1755, 2751, 1703, 1711, 2751, 1702, 1717, 1705, 2751, 1715,
1202 1716, 1717, 1769, 1724, 2751, 2751, 1766, 1729, 1705, 1723,
1203 1724, 1725, 1734, 1716, 1722, 1724, 1736, 1735, 1726, 1779,
1204
1205 1728, 1724, 1725, 1726, 1784, 1790, 1737, 1792, 1742, 1732,
1206 1748, 1741, 2751, 1774, 1798, 1780, 1795, 1801, 2751, 1747,
1207 1803, 1742, 2751, 1744, 1746, 1756, 1803, 1748, 1763, 1750,
1208 1812, 1766, 1752, 1759, 1759, 1770, 1771, 2751, 1765, 1760,
1209 1774, 1760, 1823, 1775, 2751, 1822, 1770, 1767, 2751, 1781,
1210 1768, 1789, 1785, 1787, 1835, 1785, 1782, 1790, 1784, 2751,
1211 1840, 1778, 1780, 1796, 1789, 1790, 1780, 1796, 1797, 1791,
1212 1807, 1797, 1852, 1809, 1793, 1802, 1851, 1806, 1858, 1804,
1213 2751, 1798, 2751, 1805, 1862, 1863, 1860, 1861, 2751, 1843,
1214 1849, 2751, 1821, 2751, 1865, 1814, 1825, 1826, 1811, 1812,
1215
1216 1820, 1877, 2751, 1822, 1874, 1875, 1827, 1822, 1840, 1837,
1217 1828, 1841, 1836, 2751, 1833, 1838, 1836, 1891, 1892, 1837,
1218 1836, 1850, 1837, 2751, 1852, 1853, 1854, 1855, 2751, 1845,
1219 1857, 1905, 1855, 1860, 1908, 1847, 1855, 1849, 1857, 1870,
1220 2751, 1871, 1852, 1853, 1860, 1862, 2751, 1876, 1873, 1916,
1221 1874, 2751, 2751, 1878, 1904, 1905, 1903, 1866, 1866, 1875,
1222 1882, 1875, 1874, 1885, 1872, 2751, 1888, 1876, 1879, 1938,
1223 1875, 1894, 1885, 1897, 1890, 1889, 1898, 1900, 1904, 2751,
1224 2751, 1897, 1888, 1890, 1954, 1894, 1956, 1895, 1958, 1913,
1225 1960, 2751, 1899, 1962, 2751, 1958, 1917, 1914, 1919, 1906,
1226
1227 1914, 1925, 1912, 1923, 1909, 1907, 1915, 1914, 1919, 1911,
1228 1956, 1980, 1962, 1982, 1932, 1921, 1934, 1924, 1941, 1940,
1229 1984, 1925, 1944, 1945, 2751, 1950, 1943, 1995, 1949, 1936,
1230 1951, 1999, 1953, 1956, 1943, 1952, 1953, 2751, 2005, 2751,
1231 1957, 2751, 1966, 2751, 2010, 2751, 1949, 2012, 1956, 2014,
1232 1954, 2016, 1961, 2013, 2014, 1973, 2016, 1959, 1963, 1981,
1233 2025, 1981, 2008, 2751, 2004, 2751, 1974, 1968, 1965, 2027,
1234 1990, 1983, 1979, 2036, 1976, 1978, 1977, 1984, 2751, 1980,
1235 2042, 1983, 2751, 1988, 1998, 1983, 1991, 1993, 2751, 1994,
1236 1988, 2751, 2000, 2751, 1996, 2751, 2007, 2751, 2009, 2009,
1237
1238 2000, 2059, 2000, 2010, 1995, 2008, 2751, 2010, 2041, 2047,
1239 2019, 2017, 2069, 2007, 2009, 2006, 2030, 2751, 2017, 2024,
1240 2025, 2028, 2017, 2751, 2074, 2018, 2026, 2035, 2034, 2037,
1241 2038, 2039, 2032, 2027, 2028, 2028, 2040, 2037, 2751, 2048,
1242 2036, 2092, 2040, 2052, 2080, 2101, 2102, 2046, 2751, 2046,
1243 2058, 2106, 2052, 2054, 2052, 2053, 2111, 2061, 2048, 2063,
1244 2068, 2116, 2117, 2118, 2119, 2120, 2074, 2122, 2123, 2124,
1245 2065, 2070, 2066, 2082, 2065, 2077, 2071, 2133, 2751, 2751,
1246 2078, 2089, 2136, 2751, 2090, 2075, 2093, 2084, 2751, 2085,
1247 2099, 2095, 2088, 2751, 2751, 2751, 2751, 2751, 2145, 2751,
1248
1249 2751, 2751, 2085, 2093, 2088, 2144, 2107, 2104, 2152, 2751,
1250 2148, 2111, 2751, 2155, 2094, 2157, 2097, 2110, 2109, 2110,
1251 2100, 2751, 2101, 2164, 2114, 2123, 2116, 2163, 2751, 2114,
1252 2108, 2751, 2120, 2751, 2167, 2173, 2112, 2128, 2176, 2177,
1253 2751, 2131, 2125, 2118, 2138, 2125, 2137, 2128, 2132, 2751,
1254 2182, 2128, 2751, 2751, 2128, 2136, 2186, 2143, 2136, 2148,
1255 2195, 2140, 2140, 2136, 2138, 2200, 2201, 2140, 2156, 2141,
1256 2158, 2751, 2206, 2150, 2157, 2209, 2751, 2751, 2159, 2211,
1257 2156, 2213, 2751, 2161, 2160, 2751, 2161, 2751, 2155, 2751,
1258 2155, 2172, 2173, 2221, 2164, 2223, 2224, 2751, 2225, 2751,
1259
1260 2751, 2751, 2751, 2231, 2234, 2237, 2238, 2240, 2243, 2246,
1261 2249
1262 } ;
1263
1264static const flex_int16_t yy_def[2312] =
1265 { 0,
1266 2304, 2304, 2305, 2305, 2304, 2304, 2304, 2304, 2304, 2304,
1267 2303, 2303, 2303, 2303, 2303, 2306, 2303, 2303, 2303, 2303,
1268 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1269 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2307,
1270 2303, 2303, 2303, 2308, 15, 2303, 45, 45, 45, 45,
1271 45, 45, 45, 45, 45, 45, 45, 2309, 45, 45,
1272 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1273 45, 45, 45, 45, 45, 45, 45, 45, 45, 2306,
1274 2303, 2303, 2303, 2303, 2303, 2303, 2310, 2303, 2303, 2303,
1275 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2307, 2303,
1276
1277 2308, 2303, 2303, 45, 45, 45, 45, 45, 45, 45,
1278 45, 45, 45, 45, 45, 45, 2311, 45, 2309, 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, 45, 45, 45,
1286 2310, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 45,
1287
1288 45, 45, 2303, 45, 45, 2303, 45, 45, 45, 45,
1289 45, 45, 45, 2311, 2303, 2303, 119, 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, 45, 2303, 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, 45, 45,
1301 45, 45, 45, 45, 2303, 2303, 2303, 2303, 2303, 2303,
1302 2303, 45, 45, 45, 45, 45, 2303, 45, 45, 2303,
1303 45, 2303, 45, 119, 2303, 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, 2303, 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, 45, 45, 45, 45, 45, 45, 45, 45,
1316 45, 45, 2303, 2303, 2303, 45, 45, 45, 45, 2303,
1317 45, 45, 2303, 45, 119, 45, 45, 45, 45, 45,
1318 45, 45, 45, 45, 2303, 45, 45, 45, 45, 45,
1319 45, 2303, 45, 45, 45, 45, 45, 45, 45, 45,
1320
1321 2303, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1322 45, 45, 45, 45, 2303, 45, 45, 45, 45, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1325 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1326 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1327 2303, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1328 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1330 45, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1331
1332 2303, 45, 2303, 45, 2303, 45, 45, 45, 2303, 45,
1333 45, 2303, 2303, 2303, 45, 45, 45, 45, 45, 2303,
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, 45,
1337 45, 45, 45, 45, 45, 45, 2303, 45, 45, 45,
1338 45, 45, 45, 45, 45, 2303, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 45, 45, 2303,
1341 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1342
1343 45, 45, 45, 45, 45, 45, 45, 45, 45, 2303,
1344 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1345 45, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1346 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1347 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1348 45, 45, 2303, 2303, 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, 2303, 45, 45, 45, 45, 45, 45, 45, 45,
1355 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 2303, 45, 45, 45,
1357 45, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1358 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1359 45, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1360 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1361 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1362 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1363 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1364
1365 45, 45, 45, 45, 45, 45, 45, 45, 2303, 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, 45, 45, 45, 45, 45, 45, 45,
1369 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1370 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1371 2303, 2303, 45, 45, 45, 45, 45, 45, 45, 2303,
1372 2303, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1373 45, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1374 45, 2303, 2303, 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, 45, 45, 45, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1379 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1380 45, 45, 45, 45, 45, 45, 45, 45, 2303, 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, 2303, 45, 45, 45, 45,
1384 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1385 2303, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1386
1387 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1388 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1389 45, 45, 45, 45, 45, 45, 2303, 45, 2303, 45,
1390 45, 45, 2303, 45, 45, 45, 45, 45, 2303, 45,
1391 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1392 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1393 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1394 45, 45, 45, 45, 45, 45, 45, 45, 45, 2303,
1395 45, 45, 45, 45, 2303, 45, 45, 45, 45, 45,
1396 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1397
1398 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1399 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1400 45, 45, 45, 45, 45, 45, 45, 45, 2303, 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 45, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1405 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1406 2303, 45, 45, 2303, 2303, 45, 45, 45, 45, 45,
1407 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1408
1409 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1410 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1411 45, 2303, 45, 45, 45, 45, 45, 45, 45, 45,
1412 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1413 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1414 45, 45, 45, 2303, 2303, 45, 2303, 45, 2303, 45,
1415 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1416 45, 45, 45, 45, 45, 2303, 45, 2303, 45, 45,
1417 2303, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1418 2303, 45, 2303, 45, 2303, 45, 45, 45, 45, 45,
1419
1420 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1421 2303, 45, 45, 45, 45, 45, 45, 45, 2303, 2303,
1422 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1423 45, 45, 45, 2303, 45, 45, 45, 2303, 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 45, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1427 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1428 45, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1429 45, 45, 45, 45, 45, 2303, 2303, 45, 45, 45,
1430
1431 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1432 45, 45, 45, 2303, 45, 45, 45, 45, 45, 2303,
1433 45, 2303, 45, 45, 2303, 2303, 45, 45, 45, 45,
1434 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1435 45, 2303, 45, 45, 45, 2303, 45, 45, 45, 45,
1436 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1437 45, 45, 45, 45, 45, 45, 2303, 45, 45, 2303,
1438 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1439 45, 45, 2303, 45, 2303, 45, 2303, 45, 45, 2303,
1440 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1441
1442 2303, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1443 45, 2303, 2303, 2303, 45, 45, 2303, 45, 45, 45,
1444 45, 2303, 45, 45, 45, 45, 45, 45, 45, 45,
1445 45, 45, 45, 45, 2303, 45, 2303, 45, 45, 45,
1446 45, 45, 45, 45, 2303, 45, 45, 45, 2303, 45,
1447 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1448 45, 45, 45, 45, 45, 2303, 45, 45, 45, 45,
1449 2303, 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 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1454 45, 45, 45, 45, 2303, 45, 45, 45, 45, 45,
1455 45, 45, 45, 2303, 45, 45, 45, 2303, 45, 45,
1456 45, 45, 45, 45, 45, 2303, 2303, 45, 45, 45,
1457 2303, 2303, 45, 45, 45, 45, 45, 45, 45, 45,
1458 45, 45, 45, 45, 45, 45, 2303, 45, 45, 45,
1459 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1460 45, 2303, 45, 45, 2303, 45, 45, 45, 2303, 45,
1461 45, 45, 45, 45, 2303, 2303, 45, 45, 45, 45,
1462 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1463
1464 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1465 45, 45, 2303, 45, 45, 45, 45, 45, 2303, 45,
1466 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1467 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1468 45, 45, 45, 45, 2303, 45, 45, 45, 2303, 45,
1469 45, 45, 45, 45, 45, 45, 45, 45, 45, 2303,
1470 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1471 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1472 2303, 45, 2303, 45, 45, 45, 45, 45, 2303, 45,
1473 45, 2303, 45, 2303, 45, 45, 45, 45, 45, 45,
1474
1475 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1476 45, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1477 45, 45, 45, 2303, 45, 45, 45, 45, 2303, 45,
1478 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1479 2303, 45, 45, 45, 45, 45, 2303, 45, 45, 45,
1480 45, 2303, 2303, 45, 45, 45, 45, 45, 45, 45,
1481 45, 45, 45, 45, 45, 2303, 45, 45, 45, 45,
1482 45, 45, 45, 45, 45, 45, 45, 45, 45, 2303,
1483 2303, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1484 45, 2303, 45, 45, 2303, 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, 45, 45,
1488 45, 45, 45, 45, 2303, 45, 45, 45, 45, 45,
1489 45, 45, 45, 45, 45, 45, 45, 2303, 45, 2303,
1490 45, 2303, 45, 2303, 45, 2303, 45, 45, 45, 45,
1491 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1492 45, 45, 45, 2303, 45, 2303, 45, 45, 45, 45,
1493 45, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1494 45, 45, 2303, 45, 45, 45, 45, 45, 2303, 45,
1495 45, 2303, 45, 2303, 45, 2303, 45, 2303, 45, 45,
1496
1497 45, 45, 45, 45, 45, 45, 2303, 45, 45, 45,
1498 45, 45, 45, 45, 45, 45, 45, 2303, 45, 45,
1499 45, 45, 45, 2303, 45, 45, 45, 45, 45, 45,
1500 45, 45, 45, 45, 45, 45, 45, 45, 2303, 45,
1501 45, 45, 45, 45, 45, 45, 45, 45, 2303, 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, 45, 45, 45, 45, 45, 2303, 2303,
1505 45, 45, 45, 2303, 45, 45, 45, 45, 2303, 45,
1506 45, 45, 45, 2303, 2303, 2303, 2303, 2303, 45, 2303,
1507
1508 2303, 2303, 45, 45, 45, 45, 45, 45, 45, 2303,
1509 45, 45, 2303, 45, 45, 45, 45, 45, 45, 45,
1510 45, 2303, 45, 45, 45, 45, 45, 45, 2303, 45,
1511 45, 2303, 45, 2303, 45, 45, 45, 45, 45, 45,
1512 2303, 45, 45, 45, 45, 45, 45, 45, 45, 2303,
1513 45, 45, 2303, 2303, 45, 45, 45, 45, 45, 45,
1514 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1515 45, 2303, 45, 45, 45, 45, 2303, 2303, 45, 45,
1516 45, 45, 2303, 45, 45, 2303, 45, 2303, 45, 2303,
1517 45, 45, 45, 45, 45, 45, 45, 2303, 45, 2303,
1518
1519 2303, 2303, 0, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1520 2303
1521 } ;
1522
1523static const flex_int16_t yy_nxt[2828] =
1524 { 0,
1525 2303, 13, 14, 13, 2303, 15, 16, 102, 17, 18,
1526 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1527 86, 255, 37, 14, 37, 87, 25, 26, 38, 37,
1528 14, 37, 42, 27, 42, 38, 878, 879, 28, 91,
1529 13, 14, 13, 92, 29, 91, 30, 103, 13, 14,
1530 13, 205, 25, 31, 13, 14, 13, 42, 40, 42,
1531 572, 32, 13, 14, 13, 91, 40, 33, 256, 170,
1532 93, 94, 92, 171, 34, 35, 13, 14, 13, 205,
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 134, 95, 573, 28, 109, 246, 41, 104, 105, 29,
1538 108, 30, 115, 135, 41, 233, 234, 25, 31, 96,
1539 388, 247, 89, 136, 89, 235, 32, 90, 90, 90,
1540 90, 90, 33, 109, 104, 105, 108, 389, 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 45, 60, 61, 62, 63, 64, 65, 66, 52, 67,
1548 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1549 78, 79, 45, 45, 45, 45, 45, 81, 260, 82,
1550 82, 82, 82, 82, 81, 116, 84, 84, 84, 84,
1551 84, 261, 83, 85, 85, 85, 85, 85, 81, 83,
1552 84, 84, 84, 84, 84, 113, 83, 138, 104, 265,
1553 315, 111, 116, 83, 139, 140, 316, 114, 83, 112,
1554 141, 102, 192, 142, 143, 83, 108, 447, 880, 448,
1555 266, 113, 83, 194, 144, 120, 145, 111, 193, 83,
1556 45, 121, 45, 45, 45, 45, 114, 112, 45, 192,
1557
1558 45, 45, 108, 118, 147, 148, 45, 45, 149, 45,
1559 45, 103, 194, 137, 150, 193, 45, 194, 45, 45,
1560 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1561 45, 45, 45, 45, 45, 45, 45, 45, 45, 206,
1562 105, 128, 159, 45, 129, 130, 197, 45, 131, 132,
1563 160, 45, 161, 192, 193, 204, 200, 162, 163, 45,
1564 122, 133, 111, 45, 123, 45, 119, 105, 124, 151,
1565 112, 125, 207, 152, 126, 881, 116, 153, 127, 115,
1566 195, 196, 204, 275, 156, 200, 157, 164, 158, 154,
1567 165, 166, 172, 155, 356, 419, 173, 357, 112, 174,
1568
1569 201, 167, 208, 116, 168, 115, 175, 176, 179, 180,
1570 420, 177, 178, 190, 210, 187, 211, 213, 113, 212,
1571 188, 85, 85, 85, 85, 85, 201, 309, 208, 882,
1572 114, 208, 276, 81, 83, 82, 82, 82, 82, 82,
1573 210, 310, 210, 213, 181, 211, 182, 212, 83, 183,
1574 184, 90, 90, 90, 90, 90, 89, 273, 89, 185,
1575 83, 90, 90, 90, 90, 90, 186, 81, 314, 84,
1576 84, 84, 84, 84, 83, 85, 85, 85, 85, 85,
1577 200, 221, 83, 90, 90, 90, 90, 90, 83, 101,
1578 222, 227, 883, 240, 223, 241, 101, 211, 218, 327,
1579
1580 228, 229, 243, 250, 884, 280, 251, 290, 83, 219,
1581 252, 291, 242, 286, 83, 244, 287, 288, 325, 245,
1582 281, 282, 283, 303, 327, 327, 319, 304, 293, 101,
1583 326, 305, 326, 101, 332, 345, 415, 101, 411, 432,
1584 325, 783, 433, 885, 784, 101, 416, 325, 336, 101,
1585 330, 101, 101, 216, 333, 886, 335, 326, 887, 329,
1586 332, 217, 217, 217, 217, 217, 294, 295, 296, 328,
1587 217, 217, 217, 217, 217, 217, 336, 297, 338, 298,
1588 333, 299, 300, 339, 301, 335, 341, 343, 332, 397,
1589 645, 412, 346, 466, 358, 338, 217, 217, 217, 217,
1590
1591 217, 217, 359, 646, 338, 340, 341, 463, 360, 339,
1592 452, 463, 341, 467, 347, 343, 344, 344, 344, 344,
1593 344, 406, 466, 469, 888, 344, 344, 344, 344, 344,
1594 344, 471, 341, 463, 472, 889, 492, 464, 466, 471,
1595 467, 493, 758, 615, 498, 398, 457, 544, 399, 469,
1596 499, 344, 344, 344, 344, 344, 344, 545, 890, 732,
1597 471, 472, 475, 475, 475, 475, 475, 477, 546, 615,
1598 758, 475, 475, 475, 475, 475, 475, 515, 532, 533,
1599 534, 539, 516, 561, 535, 566, 576, 540, 562, 567,
1600 577, 585, 610, 757, 616, 586, 617, 475, 475, 475,
1601
1602 475, 475, 475, 605, 657, 610, 681, 693, 606, 658,
1603 759, 634, 694, 724, 733, 635, 682, 755, 725, 757,
1604 891, 610, 616, 636, 617, 637, 638, 639, 640, 641,
1605 754, 892, 756, 517, 619, 761, 814, 815, 518, 759,
1606 893, 894, 895, 755, 563, 45, 45, 45, 45, 45,
1607 896, 897, 900, 762, 45, 45, 45, 45, 45, 45,
1608 763, 756, 839, 854, 898, 899, 901, 840, 855, 902,
1609 903, 895, 904, 905, 906, 907, 908, 896, 897, 909,
1610 45, 45, 45, 45, 45, 45, 910, 911, 912, 914,
1611 913, 899, 915, 898, 916, 917, 918, 919, 920, 921,
1612
1613 922, 923, 924, 925, 841, 926, 927, 928, 929, 930,
1614 856, 931, 932, 933, 934, 935, 938, 939, 940, 936,
1615 941, 942, 943, 937, 944, 945, 946, 947, 948, 949,
1616 950, 951, 952, 953, 954, 955, 956, 957, 958, 959,
1617 960, 961, 962, 963, 964, 965, 966, 968, 969, 967,
1618 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
1619 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
1620 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
1621 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
1622 1010, 1011, 1012, 1013, 1014, 1016, 1017, 1020, 1021, 1022,
1623
1624 1023, 1015, 1025, 1018, 1026, 1027, 1024, 1019, 1028, 1029,
1625 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
1626 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049,
1627 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059,
1628 1060, 1061, 1062, 1063, 1064, 1065, 1039, 1066, 1067, 1040,
1629 1068, 1069, 1043, 1070, 1071, 1072, 1073, 1074, 1075, 1076,
1630 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1631 1087, 1088, 1089, 1090, 1091, 1093, 1094, 1095, 1096, 1092,
1632 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106,
1633 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
1634
1635 1117, 1118, 1120, 1121, 1122, 1119, 1123, 1124, 1125, 1126,
1636 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136,
1637 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146,
1638 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1155, 1156, 1157,
1639 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1154, 1166,
1640 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176,
1641 1177, 1180, 1178, 1181, 1182, 1179, 1183, 1184, 1185, 1186,
1642 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196,
1643 1197, 1198, 1199, 1200, 1201, 1202, 1176, 1175, 1203, 1177,
1644 1178, 1179, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
1645
1646 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
1647 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1232, 1233,
1648 1234, 1235, 1230, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1649 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252,
1650 1253, 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263,
1651 1264, 1265, 1266, 1267, 1268, 1258, 1269, 1270, 1271, 1272,
1652 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282,
1653 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1231, 1291,
1654 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301,
1655 1302, 1303, 1304, 1305, 1306, 1308, 1307, 1309, 1310, 1311,
1656
1657 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321,
1658 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331,
1659 1332, 1333, 1305, 1307, 1308, 1309, 1334, 1335, 1336, 1337,
1660 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
1661 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357,
1662 1359, 1361, 1362, 1363, 1358, 1364, 1365, 1366, 1367, 1368,
1663 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378,
1664 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
1665 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
1666 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1360, 1406, 1407,
1667
1668 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
1669 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
1670 1428, 1429, 1430, 1431, 1433, 1432, 1434, 1435, 1436, 1437,
1671 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
1672 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1430, 1456,
1673 1429, 1432, 1431, 1433, 1457, 1458, 1459, 1460, 1461, 1462,
1674 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472,
1675 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482,
1676 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492,
1677 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502,
1678
1679 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512,
1680 1513, 1514, 1515, 1516, 1517, 1519, 1520, 1521, 1522, 1523,
1681 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
1682 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
1683 1544, 1545, 1546, 1548, 1549, 1550, 1551, 1552, 1553, 1554,
1684 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564,
1685 1565, 1566, 1539, 1540, 1567, 1568, 1541, 1569, 1570, 1571,
1686 1518, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
1687 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1547,
1688 1590, 1591, 1592, 1593, 1595, 1596, 1597, 1598, 1599, 1600,
1689
1690 1601, 1594, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609,
1691 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619,
1692 1620, 1621, 1622, 1624, 1625, 1627, 1626, 1623, 1628, 1629,
1693 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639,
1694 1640, 1641, 1642, 1645, 1644, 1646, 1647, 1648, 1649, 1650,
1695 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660,
1696 1661, 1662, 1663, 1664, 1665, 1666, 1643, 1641, 1667, 1640,
1697 1644, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676,
1698 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686,
1699 1687, 1688, 1689, 1690, 1643, 1691, 1692, 1693, 1694, 1695,
1700
1701 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705,
1702 1706, 1707, 1708, 1709, 1710, 1711, 1715, 1712, 1716, 1717,
1703 1713, 1718, 1719, 1714, 1720, 1721, 1722, 1723, 1724, 1725,
1704 1726, 1727, 1728, 1729, 1730, 1732, 1731, 1733, 1734, 1735,
1705 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1747,
1706 1748, 1749, 1745, 1750, 1751, 1752, 1753, 1754, 1755, 1756,
1707 1729, 1730, 1731, 1746, 1732, 1733, 1757, 1758, 1759, 1760,
1708 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1770, 1771,
1709 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781,
1710 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791,
1711
1712 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801,
1713 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811,
1714 1812, 1813, 1814, 1815, 1817, 1816, 1818, 1819, 1820, 1821,
1715 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1769, 1830,
1716 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1840, 1841, 1815,
1717 1842, 1814, 1816, 1817, 1838, 1818, 1843, 1844, 1845, 1839,
1718 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855,
1719 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865,
1720 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875,
1721 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,
1722
1723 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895,
1724 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905,
1725 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1888,
1726 1890, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923,
1727 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933,
1728 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943,
1729 1944, 1945, 1946, 1947, 1948, 1950, 1951, 1952, 1953, 1949,
1730 1954, 1955, 1956, 1958, 1957, 1959, 1960, 1961, 1962, 1963,
1731 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973,
1732 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1956,
1733
1734 1957, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991,
1735 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
1736 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
1737 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021,
1738 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
1739 2032, 2033, 2034, 2035, 2036, 2011, 2012, 2037, 2013, 2038,
1740 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
1741 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058,
1742 2060, 2061, 2059, 2062, 2063, 2064, 2065, 2066, 2067, 2068,
1743 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078,
1744
1745 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088,
1746 2089, 2063, 2065, 2090, 2091, 2092, 2093, 2094, 2095, 2096,
1747 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106,
1748 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116,
1749 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126,
1750 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2109, 2135,
1751 2110, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144,
1752 2145, 2147, 2146, 2148, 2149, 2150, 2151, 2152, 2153, 2154,
1753 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164,
1754 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2145, 2146, 2172,
1755
1756 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
1757 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192,
1758 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202,
1759 2203, 2178, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211,
1760 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221,
1761 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231,
1762 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241,
1763 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251,
1764 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2259, 2261,
1765 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271,
1766
1767 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281,
1768 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291,
1769 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301,
1770 2302, 12, 12, 12, 36, 36, 36, 80, 99, 80,
1771 101, 101, 101, 117, 117, 117, 191, 877, 191, 214,
1772 214, 214, 876, 875, 874, 873, 872, 871, 870, 869,
1773 868, 867, 866, 865, 864, 863, 862, 861, 860, 859,
1774 858, 857, 853, 852, 851, 850, 849, 848, 847, 846,
1775 845, 844, 843, 842, 838, 837, 836, 835, 834, 833,
1776 832, 831, 830, 829, 828, 827, 826, 825, 824, 823,
1777
1778 822, 821, 820, 819, 818, 817, 816, 813, 812, 811,
1779 810, 809, 808, 807, 806, 805, 804, 803, 802, 801,
1780 800, 799, 798, 797, 796, 795, 794, 793, 792, 791,
1781 790, 789, 788, 787, 786, 785, 782, 781, 780, 779,
1782 778, 777, 776, 775, 774, 773, 772, 771, 770, 769,
1783 768, 767, 766, 765, 764, 760, 754, 753, 752, 751,
1784 750, 749, 748, 747, 746, 745, 744, 743, 742, 741,
1785 740, 739, 738, 737, 736, 735, 734, 731, 730, 729,
1786 728, 727, 726, 723, 722, 721, 720, 719, 718, 717,
1787 716, 715, 714, 713, 712, 711, 710, 709, 708, 707,
1788
1789 706, 705, 704, 703, 702, 701, 700, 699, 698, 697,
1790 696, 695, 692, 691, 690, 689, 688, 687, 686, 685,
1791 684, 683, 680, 679, 678, 677, 676, 675, 674, 673,
1792 672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
1793 662, 661, 660, 659, 656, 655, 654, 653, 652, 651,
1794 650, 649, 648, 647, 644, 643, 642, 633, 632, 631,
1795 630, 629, 628, 627, 626, 625, 624, 623, 622, 621,
1796 620, 618, 614, 613, 612, 611, 609, 608, 607, 604,
1797 603, 602, 601, 600, 599, 598, 597, 596, 595, 594,
1798 593, 592, 591, 590, 589, 588, 587, 584, 583, 582,
1799
1800 581, 580, 579, 578, 575, 574, 571, 570, 569, 568,
1801 565, 564, 560, 559, 558, 557, 556, 555, 554, 553,
1802 552, 551, 550, 549, 548, 547, 543, 542, 541, 538,
1803 537, 536, 531, 530, 529, 528, 527, 526, 525, 524,
1804 523, 522, 521, 520, 519, 514, 513, 512, 511, 510,
1805 509, 508, 507, 506, 505, 504, 503, 502, 501, 500,
1806 497, 496, 495, 494, 491, 490, 489, 488, 487, 486,
1807 485, 484, 483, 482, 481, 480, 479, 478, 476, 474,
1808 473, 470, 468, 465, 462, 461, 460, 459, 458, 456,
1809 455, 454, 453, 451, 450, 449, 446, 445, 444, 443,
1810
1811 442, 441, 440, 439, 438, 437, 436, 435, 434, 431,
1812 430, 429, 428, 427, 426, 425, 424, 423, 422, 421,
1813 418, 417, 414, 413, 410, 409, 408, 407, 405, 404,
1814 403, 402, 401, 400, 396, 395, 394, 393, 392, 391,
1815 390, 387, 386, 385, 384, 383, 382, 381, 380, 379,
1816 378, 377, 376, 375, 374, 373, 372, 371, 370, 369,
1817 368, 367, 366, 365, 364, 363, 362, 361, 355, 354,
1818 353, 352, 351, 350, 349, 348, 215, 342, 340, 337,
1819 334, 331, 324, 323, 322, 321, 320, 318, 317, 313,
1820 312, 311, 308, 307, 306, 302, 292, 289, 285, 284,
1821
1822 279, 278, 277, 274, 272, 271, 270, 269, 268, 267,
1823 264, 263, 262, 259, 258, 257, 254, 253, 249, 248,
1824 239, 238, 237, 236, 232, 231, 230, 226, 225, 224,
1825 220, 215, 209, 203, 202, 199, 198, 189, 169, 146,
1826 110, 107, 106, 43, 100, 98, 97, 88, 43, 2303,
1827 11, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1828 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1829 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1830 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1831 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1832
1833 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1834 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
1835 2303, 2303, 2303, 2303, 2303, 2303, 2303
1836 } ;
1837
1838static const flex_int16_t yy_chk[2828] =
1839 { 0,
1840 0, 1, 1, 1, 0, 1, 1, 44, 1, 1,
1841 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1842 21, 143, 3, 3, 3, 21, 1, 1, 3, 4,
1843 4, 4, 13, 1, 13, 4, 736, 737, 1, 26,
1844 5, 5, 5, 27, 1, 31, 1, 44, 6, 6,
1845 6, 109, 1, 1, 7, 7, 7, 37, 7, 37,
1846 430, 1, 8, 8, 8, 26, 8, 1, 143, 74,
1847 28, 31, 27, 74, 1, 1, 2, 2, 2, 109,
1848 2, 2, 32, 2, 2, 2, 2, 2, 2, 2,
1849 2, 2, 2, 2, 2, 5, 9, 9, 9, 28,
1850
1851 33, 2, 2, 6, 10, 10, 10, 42, 2, 42,
1852 62, 32, 430, 2, 52, 137, 9, 47, 48, 2,
1853 51, 2, 56, 62, 10, 130, 130, 2, 2, 33,
1854 258, 137, 25, 62, 25, 130, 2, 25, 25, 25,
1855 25, 25, 2, 52, 47, 48, 51, 258, 56, 2,
1856 2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1857 15, 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
1862 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1863 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1864 15, 15, 15, 15, 15, 15, 15, 17, 147, 17,
1865 17, 17, 17, 17, 19, 57, 19, 19, 19, 19,
1866 19, 147, 17, 20, 20, 20, 20, 20, 22, 19,
1867 22, 22, 22, 22, 22, 55, 20, 64, 59, 151,
1868 182, 54, 57, 22, 64, 65, 182, 55, 17, 54,
1869 65, 101, 91, 65, 66, 19, 63, 310, 739, 310,
1870 151, 55, 20, 93, 66, 59, 66, 54, 92, 22,
1871 45, 59, 45, 45, 45, 45, 55, 54, 45, 91,
1872
1873 45, 45, 63, 58, 68, 68, 45, 45, 68, 45,
1874 58, 101, 93, 63, 68, 92, 45, 96, 45, 45,
1875 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1876 45, 45, 45, 45, 45, 45, 45, 45, 45, 110,
1877 60, 61, 71, 58, 61, 61, 96, 58, 61, 61,
1878 71, 58, 71, 94, 95, 108, 104, 71, 71, 58,
1879 60, 61, 70, 58, 60, 58, 58, 60, 60, 69,
1880 70, 60, 110, 69, 60, 740, 79, 69, 60, 77,
1881 94, 95, 108, 160, 70, 104, 70, 72, 70, 69,
1882 72, 72, 75, 69, 228, 284, 75, 228, 70, 75,
1883
1884 105, 72, 111, 79, 72, 77, 75, 75, 76, 76,
1885 284, 75, 75, 79, 113, 77, 114, 116, 76, 115,
1886 77, 81, 81, 81, 81, 81, 105, 177, 158, 741,
1887 76, 111, 160, 82, 81, 82, 82, 82, 82, 82,
1888 181, 177, 113, 116, 76, 114, 76, 115, 82, 76,
1889 76, 89, 89, 89, 89, 89, 83, 158, 83, 76,
1890 81, 83, 83, 83, 83, 83, 76, 84, 181, 84,
1891 84, 84, 84, 84, 82, 85, 85, 85, 85, 85,
1892 120, 122, 84, 90, 90, 90, 90, 90, 85, 103,
1893 122, 126, 742, 135, 122, 135, 103, 185, 120, 194,
1894
1895 126, 126, 136, 140, 742, 164, 140, 169, 84, 120,
1896 140, 169, 135, 167, 85, 136, 167, 167, 192, 136,
1897 164, 164, 164, 173, 197, 194, 185, 173, 171, 103,
1898 193, 173, 196, 103, 200, 218, 281, 103, 278, 296,
1899 195, 641, 296, 743, 641, 103, 281, 192, 205, 103,
1900 197, 103, 103, 119, 201, 744, 204, 193, 745, 196,
1901 200, 119, 119, 119, 119, 119, 171, 171, 171, 195,
1902 119, 119, 119, 119, 119, 119, 205, 171, 208, 171,
1903 201, 171, 171, 209, 171, 204, 211, 213, 219, 266,
1904 498, 278, 218, 332, 229, 273, 119, 119, 119, 119,
1905
1906 119, 119, 229, 498, 208, 314, 319, 325, 229, 209,
1907 314, 328, 211, 333, 219, 213, 217, 217, 217, 217,
1908 217, 273, 332, 335, 746, 217, 217, 217, 217, 217,
1909 217, 338, 319, 325, 339, 747, 362, 328, 347, 406,
1910 333, 362, 616, 472, 367, 266, 319, 405, 266, 335,
1911 367, 217, 217, 217, 217, 217, 217, 405, 748, 585,
1912 338, 339, 344, 344, 344, 344, 344, 347, 406, 472,
1913 616, 344, 344, 344, 344, 344, 344, 383, 397, 397,
1914 397, 401, 383, 422, 397, 425, 433, 401, 422, 425,
1915 433, 441, 466, 615, 474, 441, 474, 344, 344, 344,
1916
1917 344, 344, 344, 460, 510, 477, 534, 546, 460, 510,
1918 617, 494, 546, 578, 585, 494, 534, 611, 578, 615,
1919 749, 466, 474, 494, 474, 494, 494, 494, 494, 494,
1920 619, 750, 611, 383, 477, 619, 673, 673, 383, 617,
1921 751, 752, 755, 611, 422, 475, 475, 475, 475, 475,
1922 756, 757, 760, 621, 475, 475, 475, 475, 475, 475,
1923 621, 611, 699, 713, 758, 759, 761, 699, 713, 762,
1924 763, 755, 764, 765, 766, 767, 768, 756, 757, 769,
1925 475, 475, 475, 475, 475, 475, 770, 771, 771, 772,
1926 771, 759, 773, 758, 774, 775, 776, 777, 778, 779,
1927
1928 780, 781, 782, 783, 699, 784, 785, 786, 787, 788,
1929 713, 789, 790, 791, 792, 793, 794, 795, 796, 793,
1930 797, 798, 799, 793, 800, 801, 803, 804, 805, 806,
1931 807, 808, 809, 810, 811, 812, 813, 814, 815, 816,
1932 817, 818, 819, 820, 821, 822, 823, 824, 825, 823,
1933 826, 828, 829, 830, 831, 832, 833, 834, 835, 836,
1934 837, 838, 840, 841, 842, 843, 844, 845, 846, 847,
1935 848, 849, 850, 851, 852, 853, 855, 856, 857, 858,
1936 859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
1937 869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
1938
1939 879, 873, 880, 875, 881, 882, 879, 875, 884, 885,
1940 886, 887, 888, 889, 890, 891, 892, 893, 894, 895,
1941 896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
1942 906, 907, 908, 910, 911, 912, 913, 914, 915, 916,
1943 917, 918, 919, 920, 921, 922, 895, 923, 924, 896,
1944 925, 926, 899, 927, 928, 929, 930, 931, 932, 933,
1945 934, 935, 936, 937, 938, 939, 940, 941, 942, 944,
1946 945, 946, 947, 948, 949, 950, 951, 952, 953, 949,
1947 954, 955, 956, 957, 958, 959, 960, 963, 964, 965,
1948 966, 967, 968, 969, 972, 973, 974, 975, 976, 977,
1949
1950 979, 980, 981, 982, 983, 980, 984, 985, 986, 987,
1951 988, 990, 991, 994, 995, 996, 997, 998, 999, 1000,
1952 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
1953 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
1954 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1029, 1017, 1030,
1955 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
1956 1041, 1044, 1042, 1045, 1046, 1043, 1047, 1048, 1050, 1051,
1957 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
1958 1062, 1063, 1064, 1065, 1066, 1067, 1040, 1039, 1068, 1041,
1959 1042, 1043, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1077,
1960
1961 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
1962 1088, 1089, 1090, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
1963 1100, 1101, 1096, 1102, 1103, 1104, 1105, 1106, 1107, 1108,
1964 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
1965 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1128, 1130,
1966 1131, 1132, 1134, 1135, 1136, 1123, 1137, 1138, 1140, 1141,
1967 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
1968 1152, 1153, 1154, 1155, 1156, 1157, 1159, 1160, 1096, 1161,
1969 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171,
1970 1172, 1173, 1174, 1175, 1176, 1178, 1177, 1179, 1181, 1182,
1971
1972 1183, 1184, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
1973 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
1974 1204, 1205, 1175, 1177, 1178, 1179, 1206, 1207, 1209, 1210,
1975 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
1976 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1230, 1231,
1977 1232, 1233, 1234, 1235, 1231, 1236, 1237, 1238, 1239, 1240,
1978 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
1979 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260,
1980 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1270, 1271,
1981 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1232, 1279, 1280,
1982
1983 1282, 1283, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293,
1984 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303,
1985 1304, 1305, 1306, 1307, 1309, 1308, 1310, 1311, 1312, 1313,
1986 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1323, 1324,
1987 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1306, 1334,
1988 1305, 1308, 1307, 1309, 1335, 1336, 1337, 1338, 1339, 1340,
1989 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
1990 1351, 1352, 1353, 1356, 1358, 1360, 1361, 1362, 1363, 1364,
1991 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374,
1992 1375, 1377, 1379, 1380, 1382, 1383, 1384, 1385, 1386, 1387,
1993
1994 1389, 1390, 1392, 1394, 1396, 1397, 1398, 1399, 1400, 1401,
1995 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1412,
1996 1413, 1414, 1415, 1416, 1417, 1418, 1421, 1422, 1423, 1424,
1997 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1435,
1998 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446,
1999 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456,
2000 1457, 1458, 1430, 1431, 1459, 1460, 1432, 1461, 1462, 1463,
2001 1406, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473,
2002 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1439,
2003 1483, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493,
2004
2005 1494, 1487, 1495, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
2006 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1515,
2007 1516, 1517, 1518, 1519, 1521, 1523, 1521, 1518, 1524, 1527,
2008 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537,
2009 1538, 1539, 1540, 1543, 1541, 1544, 1545, 1547, 1548, 1549,
2010 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
2011 1560, 1561, 1562, 1563, 1564, 1565, 1540, 1539, 1566, 1538,
2012 1541, 1568, 1569, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
2013 1578, 1579, 1580, 1581, 1582, 1584, 1586, 1588, 1589, 1591,
2014 1592, 1593, 1594, 1595, 1540, 1596, 1597, 1598, 1599, 1600,
2015
2016 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1610, 1611, 1615,
2017 1616, 1618, 1619, 1620, 1621, 1623, 1624, 1623, 1625, 1626,
2018 1623, 1627, 1628, 1623, 1629, 1630, 1631, 1632, 1633, 1634,
2019 1636, 1638, 1639, 1640, 1641, 1643, 1642, 1644, 1646, 1647,
2020 1648, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1659,
2021 1660, 1661, 1658, 1662, 1663, 1664, 1665, 1667, 1668, 1669,
2022 1640, 1641, 1642, 1658, 1643, 1644, 1670, 1672, 1673, 1674,
2023 1675, 1676, 1677, 1678, 1679, 1680, 1680, 1681, 1682, 1683,
2024 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
2025 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
2026
2027 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
2028 1714, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1725,
2029 1726, 1727, 1729, 1730, 1732, 1731, 1733, 1734, 1735, 1738,
2030 1739, 1740, 1743, 1744, 1745, 1746, 1747, 1748, 1681, 1749,
2031 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1759, 1760, 1730,
2032 1761, 1729, 1731, 1732, 1758, 1733, 1762, 1763, 1764, 1758,
2033 1765, 1766, 1767, 1769, 1770, 1771, 1773, 1774, 1776, 1777,
2034 1778, 1780, 1781, 1782, 1783, 1784, 1787, 1788, 1789, 1790,
2035 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800,
2036 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
2037
2038 1811, 1812, 1814, 1815, 1816, 1817, 1818, 1820, 1821, 1822,
2039 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
2040 1834, 1835, 1836, 1837, 1839, 1840, 1841, 1842, 1843, 1814,
2041 1816, 1844, 1846, 1847, 1848, 1850, 1851, 1852, 1853, 1854,
2042 1855, 1856, 1857, 1858, 1859, 1861, 1862, 1863, 1864, 1865,
2043 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875,
2044 1876, 1877, 1878, 1879, 1880, 1882, 1884, 1885, 1886, 1880,
2045 1887, 1888, 1890, 1893, 1891, 1895, 1896, 1897, 1898, 1899,
2046 1900, 1901, 1902, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
2047 1911, 1912, 1913, 1915, 1916, 1917, 1918, 1919, 1920, 1890,
2048
2049 1891, 1921, 1922, 1923, 1925, 1926, 1927, 1928, 1930, 1931,
2050 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1942,
2051 1943, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 1954, 1955,
2052 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965,
2053 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976,
2054 1977, 1978, 1979, 1982, 1983, 1955, 1956, 1984, 1957, 1985,
2055 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1996, 1997,
2056 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2057 2008, 2009, 2007, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
2058 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2026, 2027,
2059
2060 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037,
2061 2039, 2011, 2013, 2041, 2043, 2045, 2047, 2048, 2049, 2050,
2062 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060,
2063 2061, 2062, 2063, 2065, 2067, 2068, 2069, 2070, 2071, 2072,
2064 2073, 2074, 2075, 2076, 2077, 2078, 2080, 2081, 2082, 2084,
2065 2085, 2086, 2087, 2088, 2090, 2091, 2093, 2095, 2063, 2097,
2066 2065, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2108,
2067 2109, 2111, 2110, 2112, 2113, 2114, 2115, 2116, 2117, 2119,
2068 2120, 2121, 2122, 2123, 2125, 2126, 2127, 2128, 2129, 2130,
2069 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2109, 2110, 2138,
2070
2071 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2150,
2072 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160,
2073 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170,
2074 2171, 2145, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2181,
2075 2182, 2183, 2185, 2186, 2187, 2188, 2190, 2191, 2192, 2193,
2076 2199, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2211, 2212,
2077 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2223, 2224,
2078 2225, 2226, 2227, 2228, 2230, 2231, 2233, 2235, 2236, 2237,
2079 2238, 2239, 2240, 2242, 2243, 2244, 2245, 2246, 2245, 2247,
2080 2248, 2249, 2251, 2252, 2255, 2256, 2257, 2258, 2259, 2260,
2081
2082 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270,
2083 2271, 2273, 2274, 2275, 2276, 2279, 2280, 2281, 2282, 2284,
2084 2285, 2287, 2289, 2291, 2292, 2293, 2294, 2295, 2296, 2297,
2085 2299, 2304, 2304, 2304, 2305, 2305, 2305, 2306, 2307, 2306,
2086 2308, 2308, 2308, 2309, 2309, 2309, 2310, 735, 2310, 2311,
2087 2311, 2311, 734, 733, 732, 731, 730, 729, 728, 727,
2088 726, 725, 723, 722, 721, 720, 719, 718, 717, 716,
2089 715, 714, 712, 711, 709, 708, 707, 706, 705, 704,
2090 703, 702, 701, 700, 698, 697, 696, 695, 694, 692,
2091 691, 689, 688, 687, 686, 685, 684, 683, 682, 681,
2092
2093 680, 679, 678, 677, 676, 675, 674, 672, 671, 670,
2094 669, 668, 667, 665, 664, 663, 662, 661, 660, 659,
2095 658, 656, 655, 654, 653, 652, 651, 650, 649, 648,
2096 647, 646, 645, 644, 643, 642, 640, 639, 638, 637,
2097 636, 635, 634, 633, 632, 631, 630, 629, 628, 627,
2098 626, 625, 624, 623, 622, 618, 610, 609, 608, 607,
2099 606, 604, 602, 600, 598, 597, 596, 595, 594, 593,
2100 592, 591, 590, 589, 588, 587, 586, 584, 583, 582,
2101 581, 580, 579, 577, 576, 575, 574, 573, 572, 571,
2102 570, 569, 568, 567, 566, 565, 563, 562, 560, 559,
2103
2104 558, 557, 556, 555, 554, 553, 552, 551, 550, 549,
2105 548, 547, 545, 544, 542, 541, 540, 539, 538, 537,
2106 536, 535, 533, 532, 531, 530, 529, 528, 527, 526,
2107 525, 524, 523, 522, 521, 520, 519, 518, 517, 516,
2108 514, 513, 512, 511, 509, 508, 507, 506, 505, 504,
2109 503, 502, 500, 499, 497, 496, 495, 493, 491, 490,
2110 489, 488, 487, 486, 484, 483, 482, 481, 480, 479,
2111 478, 476, 471, 469, 468, 467, 465, 462, 461, 459,
2112 458, 457, 456, 455, 454, 453, 452, 451, 450, 449,
2113 448, 447, 446, 445, 444, 443, 442, 440, 439, 438,
2114
2115 437, 436, 435, 434, 432, 431, 429, 428, 427, 426,
2116 424, 423, 421, 420, 419, 418, 417, 416, 415, 414,
2117 413, 412, 411, 410, 409, 408, 404, 403, 402, 400,
2118 399, 398, 396, 395, 394, 393, 392, 391, 390, 389,
2119 388, 387, 386, 385, 384, 382, 381, 380, 379, 378,
2120 377, 376, 375, 374, 373, 372, 371, 370, 369, 368,
2121 366, 365, 364, 363, 361, 360, 359, 358, 357, 356,
2122 355, 354, 353, 352, 351, 350, 349, 348, 346, 343,
2123 341, 336, 334, 331, 324, 323, 322, 321, 320, 318,
2124 317, 316, 315, 313, 312, 311, 309, 308, 307, 306,
2125
2126 305, 304, 303, 302, 301, 300, 299, 298, 297, 295,
2127 294, 293, 292, 291, 290, 289, 288, 287, 286, 285,
2128 283, 282, 280, 279, 277, 276, 275, 274, 272, 271,
2129 270, 269, 268, 267, 265, 264, 263, 262, 261, 260,
2130 259, 257, 256, 254, 253, 252, 251, 250, 249, 248,
2131 247, 246, 245, 244, 243, 242, 241, 240, 239, 238,
2132 237, 236, 235, 234, 233, 232, 231, 230, 227, 226,
2133 225, 224, 223, 222, 221, 220, 214, 212, 210, 207,
2134 202, 198, 190, 189, 188, 187, 186, 184, 183, 180,
2135 179, 178, 176, 175, 174, 172, 170, 168, 166, 165,
2136
2137 163, 162, 161, 159, 157, 156, 155, 154, 153, 152,
2138 150, 149, 148, 146, 145, 144, 142, 141, 139, 138,
2139 134, 133, 132, 131, 129, 128, 127, 125, 124, 123,
2140 121, 117, 112, 107, 106, 99, 98, 78, 73, 67,
2141 53, 50, 49, 43, 41, 39, 38, 24, 14, 11,
2142 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2143 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2144 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2145 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2146 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2147
2148 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2149 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303,
2150 2303, 2303, 2303, 2303, 2303, 2303, 2303
2151 } ;
2152
2153static yy_state_type yy_last_accepting_state;
2154static char *yy_last_accepting_cpos;
2155
2156extern int yy_flex_debug;
2158
2159static const flex_int16_t yy_rule_linenum[237] =
2160 { 0,
2161 149, 151, 153, 158, 159, 164, 165, 166, 178, 181,
2162 186, 193, 202, 211, 220, 229, 238, 247, 256, 265,
2163 274, 283, 292, 301, 310, 322, 334, 344, 354, 364,
2164 374, 384, 393, 403, 413, 423, 433, 442, 451, 460,
2165 469, 478, 487, 496, 505, 514, 523, 532, 541, 550,
2166 559, 568, 577, 586, 595, 608, 617, 626, 635, 646,
2167 657, 668, 679, 691, 702, 713, 724, 735, 746, 757,
2168 768, 777, 786, 795, 806, 815, 826, 837, 848, 859,
2169 871, 883, 895, 907, 919, 931, 942, 953, 962, 971,
2170 980, 991, 1002, 1011, 1020, 1031, 1042, 1053, 1064, 1075,
2171
2172 1086, 1097, 1108, 1119, 1128, 1137, 1146, 1158, 1169, 1179,
2173 1190, 1199, 1208, 1223, 1239, 1248, 1257, 1266, 1275, 1284,
2174 1293, 1302, 1311, 1320, 1329, 1338, 1347, 1371, 1395, 1404,
2175 1414, 1424, 1433, 1443, 1454, 1463, 1472, 1481, 1490, 1499,
2176 1510, 1521, 1532, 1542, 1551, 1560, 1569, 1580, 1591, 1602,
2177 1613, 1624, 1633, 1642, 1651, 1660, 1669, 1678, 1687, 1696,
2178 1705, 1714, 1724, 1736, 1749, 1758, 1767, 1776, 1786, 1796,
2179 1805, 1816, 1826, 1835, 1845, 1855, 1864, 1873, 1882, 1891,
2180 1901, 1910, 1919, 1928, 1937, 1946, 1955, 1964, 1973, 1982,
2181 1991, 2000, 2009, 2018, 2027, 2036, 2045, 2054, 2063, 2072,
2182
2183 2081, 2090, 2099, 2108, 2117, 2126, 2135, 2144, 2153, 2162,
2184 2171, 2180, 2189, 2198, 2207, 2216, 2225, 2234, 2335, 2351,
2185 2400, 2408, 2423, 2424, 2425, 2426, 2427, 2428, 2430, 2448,
2186 2461, 2466, 2470, 2472, 2474, 2476
2187 } ;
2188
2189/* The intent behind this definition is that it'll catch
2190 * any uses of REJECT which flex missed.
2191 */
2192#define REJECT reject_used_but_not_detected
2193#define yymore() yymore_used_but_not_detected
2194#define YY_MORE_ADJ 0
2195#define YY_RESTORE_YY_MORE_OFFSET
2197#line 1 "dhcp6_lexer.ll"
2198/* Copyright (C) 2016-2023 Internet Systems Consortium, Inc. ("ISC")
2199
2200 This Source Code Form is subject to the terms of the Mozilla Public
2201 License, v. 2.0. If a copy of the MPL was not distributed with this
2202 file, You can obtain one at http://mozilla.org/MPL/2.0/. */
2203#line 8 "dhcp6_lexer.ll"
2204
2205/* Generated files do not make clang static analyser so happy */
2206#ifndef __clang_analyzer__
2207
2208#include <cctype>
2209#include <cerrno>
2210#include <climits>
2211#include <cstdint>
2212#include <cstdlib>
2213#include <string>
2214#include <dhcp6/parser_context.h>
2215#include <asiolink/io_address.h>
2216#include <boost/lexical_cast.hpp>
2217#include <exceptions/exceptions.h>
2218
2219/* Please avoid C++ style comments (// ... eol) as they break flex 2.6.2 */
2220
2221/* Work around an incompatibility in flex (at least versions
2222 2.5.31 through 2.5.33): it generates code that does
2223 not conform to C89. See Debian bug 333231
2224 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. */
2225# undef yywrap
2226# define yywrap() 1
2227
2228namespace {
2229
2230bool start_token_flag = false;
2231
2233unsigned int comment_start_line = 0;
2234
2235using namespace isc::dhcp;
2236
2237};
2238
2239/* To avoid the call to exit... oops! */
2240#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
2241#line 2241 "dhcp6_lexer.cc"
2242/* noyywrap disables automatic rewinding for the next file to parse. Since we
2243 always parse only a single string, there's no need to do any wraps. And
2244 using yywrap requires linking with -lfl, which provides the default yywrap
2245 implementation that always returns 1 anyway. */
2246/* nounput simplifies the lexer, by removing support for putting a character
2247 back into the input stream. We never use such capability anyway. */
2248/* batch means that we'll never use the generated lexer interactively. */
2249/* avoid to get static global variables to remain with C++. */
2250/* in last resort %option reentrant */
2251/* Enables debug mode. To see the debug messages, one needs to also set
2252 yy_flex_debug to 1, then the debug messages will be printed on stderr. */
2253/* I have no idea what this option does, except it was specified in the bison
2254 examples and Postgres folks added it to remove gcc 4.3 warnings. Let's
2255 be on the safe side and keep it. */
2256#define YY_NO_INPUT 1
2257
2258/* These are not token expressions yet, just convenience expressions that
2259 can be used during actual token definitions. Note some can match
2260 incorrect inputs (e.g., IP addresses) which must be checked. */
2261/* for errors */
2262#line 96 "dhcp6_lexer.ll"
2263/* This code run each time a pattern is matched. It updates the location
2264 by moving it ahead by yyleng bytes. yyleng specifies the length of the
2265 currently matched token. */
2266#define YY_USER_ACTION driver.loc_.columns(yyleng);
2267#line 2267 "dhcp6_lexer.cc"
2268#line 2268 "dhcp6_lexer.cc"
2269
2270#define INITIAL 0
2271#define COMMENT 1
2272#define DIR_ENTER 2
2273#define DIR_INCLUDE 3
2274#define DIR_EXIT 4
2275
2276#ifndef YY_NO_UNISTD_H
2277/* Special case for "unistd.h", since it is non-ANSI. We include it way
2278 * down here because we want the user's section 1 to have been scanned first.
2279 * The user has a chance to override it with an option.
2280 */
2281/* %if-c-only */
2282#include <unistd.h>
2283/* %endif */
2284/* %if-c++-only */
2285/* %endif */
2286#endif
2287
2288#ifndef YY_EXTRA_TYPE
2289#define YY_EXTRA_TYPE void *
2290#endif
2291
2292/* %if-c-only Reentrant structure and macros (non-C++). */
2293/* %if-reentrant */
2294/* %if-c-only */
2295
2296static int yy_init_globals ( void );
2297
2298/* %endif */
2299/* %if-reentrant */
2300/* %endif */
2301/* %endif End reentrant structures and macros. */
2302
2303/* Accessor methods to globals.
2304 These are made visible to non-reentrant scanners for convenience. */
2305
2306int yylex_destroy ( void );
2307
2308int yyget_debug ( void );
2309
2310void yyset_debug ( int debug_flag );
2311
2312YY_EXTRA_TYPE yyget_extra ( void );
2313
2314void yyset_extra ( YY_EXTRA_TYPE user_defined );
2315
2316FILE *yyget_in ( void );
2317
2318void yyset_in ( FILE * _in_str );
2319
2320FILE *yyget_out ( void );
2321
2322void yyset_out ( FILE * _out_str );
2323
2324 int yyget_leng ( void );
2325
2326char *yyget_text ( void );
2327
2328int yyget_lineno ( void );
2329
2330void yyset_lineno ( int _line_number );
2331
2332/* %if-bison-bridge */
2333/* %endif */
2334
2335/* Macros after this point can all be overridden by user definitions in
2336 * section 1.
2337 */
2338
2339#ifndef YY_SKIP_YYWRAP
2340#ifdef __cplusplus
2341extern "C" int yywrap ( void );
2342#else
2343extern int yywrap ( void );
2344#endif
2345#endif
2346
2347/* %not-for-header */
2348#ifndef YY_NO_UNPUT
2349
2350#endif
2351/* %ok-for-header */
2352
2353/* %endif */
2354
2355#ifndef yytext_ptr
2356static void yy_flex_strncpy ( char *, const char *, int );
2357#endif
2358
2359#ifdef YY_NEED_STRLEN
2360static int yy_flex_strlen ( const char * );
2361#endif
2362
2363#ifndef YY_NO_INPUT
2364/* %if-c-only Standard (non-C++) definition */
2365/* %not-for-header */
2366#ifdef __cplusplus
2367static int yyinput ( void );
2368#else
2369static int input ( void );
2370#endif
2371/* %ok-for-header */
2372
2373/* %endif */
2374#endif
2375
2376/* %if-c-only */
2377
2378/* %endif */
2379
2380/* Amount of stuff to slurp up with each read. */
2381#ifndef YY_READ_BUF_SIZE
2382#ifdef __ia64__
2383/* On IA-64, the buffer size is 16k, not 8k */
2384#define YY_READ_BUF_SIZE 16384
2385#else
2386#define YY_READ_BUF_SIZE 8192
2387#endif /* __ia64__ */
2388#endif
2389
2390/* Copy whatever the last rule matched to the standard output. */
2391#ifndef ECHO
2392/* %if-c-only Standard (non-C++) definition */
2393/* This used to be an fputs(), but since the string might contain NUL's,
2394 * we now use fwrite().
2395 */
2396#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2397/* %endif */
2398/* %if-c++-only C++ definition */
2399/* %endif */
2400#endif
2401
2402/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2403 * is returned in "result".
2404 */
2405#ifndef YY_INPUT
2406#define YY_INPUT(buf,result,max_size) \
2407/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2408 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2409 { \
2410 int c = '*'; \
2411 int n; \
2412 for ( n = 0; n < max_size && \
2413 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2414 buf[n] = (char) c; \
2415 if ( c == '\n' ) \
2416 buf[n++] = (char) c; \
2417 if ( c == EOF && ferror( yyin ) ) \
2418 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2419 result = n; \
2420 } \
2421 else \
2422 { \
2423 errno=0; \
2424 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2425 { \
2426 if( errno != EINTR) \
2427 { \
2428 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2429 break; \
2430 } \
2431 errno=0; \
2432 clearerr(yyin); \
2433 } \
2434 }\
2435\
2436/* %if-c++-only C++ definition \ */\
2437/* %endif */
2438
2439#endif
2440
2441/* No semi-colon after return; correct usage is to write "yyterminate();" -
2442 * we don't want an extra ';' after the "return" because that will cause
2443 * some compilers to complain about unreachable statements.
2444 */
2445#ifndef yyterminate
2446#define yyterminate() return YY_NULL
2447#endif
2448
2449/* Number of entries by which start-condition stack grows. */
2450#ifndef YY_START_STACK_INCR
2451#define YY_START_STACK_INCR 25
2452#endif
2453
2454/* Report a fatal error. */
2455#ifndef YY_FATAL_ERROR
2456/* %if-c-only */
2457#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2458/* %endif */
2459/* %if-c++-only */
2460/* %endif */
2461#endif
2462
2463/* %if-tables-serialization structures and prototypes */
2464/* %not-for-header */
2465/* %ok-for-header */
2466
2467/* %not-for-header */
2468/* %tables-yydmap generated elements */
2469/* %endif */
2470/* end tables serialization structures and prototypes */
2471
2472/* %ok-for-header */
2473
2474/* Default declaration of generated scanner - a define so the user can
2475 * easily add parameters.
2476 */
2477#ifndef YY_DECL
2478#define YY_DECL_IS_OURS 1
2479/* %if-c-only Standard (non-C++) definition */
2480
2481extern int yylex (void);
2482
2483#define YY_DECL int yylex (void)
2484/* %endif */
2485/* %if-c++-only C++ definition */
2486/* %endif */
2487#endif /* !YY_DECL */
2488
2489/* Code executed at the beginning of each rule, after yytext and yyleng
2490 * have been set up.
2491 */
2492#ifndef YY_USER_ACTION
2493#define YY_USER_ACTION
2494#endif
2495
2496/* Code executed at the end of each rule. */
2497#ifndef YY_BREAK
2498#define YY_BREAK /*LINTED*/break;
2499#endif
2500
2501/* %% [6.0] YY_RULE_SETUP definition goes here */
2502#define YY_RULE_SETUP \
2503 YY_USER_ACTION
2504
2505/* %not-for-header */
2509{
2510 yy_state_type yy_current_state;
2511 char *yy_cp, *yy_bp;
2513
2514 if ( !(yy_init) )
2515 {
2516 (yy_init) = 1;
2517
2518#ifdef YY_USER_INIT
2519 YY_USER_INIT;
2520#endif
2521
2522 if ( ! (yy_start) )
2523 (yy_start) = 1; /* first start state */
2524
2525 if ( ! yyin )
2526/* %if-c-only */
2527 yyin = stdin;
2528/* %endif */
2529/* %if-c++-only */
2530/* %endif */
2531
2532 if ( ! yyout )
2533/* %if-c-only */
2534 yyout = stdout;
2535/* %endif */
2536/* %if-c++-only */
2537/* %endif */
2538
2539 if ( ! YY_CURRENT_BUFFER ) {
2543 }
2544
2546 }
2547
2548 {
2549/* %% [7.0] user's declarations go here */
2550#line 102 "dhcp6_lexer.ll"
2551
2552
2553
2554#line 106 "dhcp6_lexer.ll"
2555 /* This part of the code is copied over to the verbatim to the top
2556 of the generated yylex function. Explanation:
2557 http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
2558
2559 /* Code run each time yylex is called. */
2560 driver.loc_.step();
2561
2562 if (start_token_flag) {
2563 start_token_flag = false;
2564 switch (start_token_value) {
2565 case Parser6Context::PARSER_JSON:
2566 default:
2568 case Parser6Context::PARSER_DHCP6:
2570 case Parser6Context::SUBPARSER_DHCP6:
2571 return isc::dhcp::Dhcp6Parser::make_SUB_DHCP6(driver.loc_);
2572 case Parser6Context::PARSER_INTERFACES:
2574 case Parser6Context::PARSER_SUBNET6:
2575 return isc::dhcp::Dhcp6Parser::make_SUB_SUBNET6(driver.loc_);
2576 case Parser6Context::PARSER_POOL6:
2577 return isc::dhcp::Dhcp6Parser::make_SUB_POOL6(driver.loc_);
2578 case Parser6Context::PARSER_PD_POOL:
2579 return isc::dhcp::Dhcp6Parser::make_SUB_PD_POOL(driver.loc_);
2580 case Parser6Context::PARSER_HOST_RESERVATION:
2582 case Parser6Context::PARSER_OPTION_DEFS:
2584 case Parser6Context::PARSER_OPTION_DEF:
2586 case Parser6Context::PARSER_OPTION_DATA:
2588 case Parser6Context::PARSER_HOOKS_LIBRARY:
2590 case Parser6Context::PARSER_DHCP_DDNS:
2592 case Parser6Context::PARSER_CONFIG_CONTROL:
2594 }
2595 }
2596
2597
2598#line 2598 "dhcp6_lexer.cc"
2599
2600 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2601 {
2602/* %% [8.0] yymore()-related code goes here */
2603 yy_cp = (yy_c_buf_p);
2604
2605 /* Support of yytext. */
2606 *yy_cp = (yy_hold_char);
2607
2608 /* yy_bp points to the position in yy_ch_buf of the start of
2609 * the current run.
2610 */
2611 yy_bp = yy_cp;
2612
2613/* %% [9.0] code to set up and find next match goes here */
2614 yy_current_state = (yy_start);
2615yy_match:
2616 do
2617 {
2618 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2619 if ( yy_accept[yy_current_state] )
2620 {
2621 (yy_last_accepting_state) = yy_current_state;
2622 (yy_last_accepting_cpos) = yy_cp;
2623 }
2624 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2625 {
2626 yy_current_state = (int) yy_def[yy_current_state];
2627 if ( yy_current_state >= 2304 )
2628 yy_c = yy_meta[yy_c];
2629 }
2630 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2631 ++yy_cp;
2632 }
2633 while ( yy_current_state != 2303 );
2634 yy_cp = (yy_last_accepting_cpos);
2635 yy_current_state = (yy_last_accepting_state);
2636
2637yy_find_action:
2638/* %% [10.0] code to find the action number goes here */
2639 yy_act = yy_accept[yy_current_state];
2640
2642
2643/* %% [11.0] code for yylineno update goes here */
2644
2645do_action: /* This label is used only to access EOF actions. */
2646
2647/* %% [12.0] debug code goes here */
2648 if ( yy_flex_debug )
2649 {
2650 if ( yy_act == 0 )
2651 fprintf( stderr, "--scanner backing up\n" );
2652 else if ( yy_act < 237 )
2653 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2654 (long)yy_rule_linenum[yy_act], yytext );
2655 else if ( yy_act == 237 )
2656 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2657 yytext );
2658 else if ( yy_act == 238 )
2659 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2660 else
2661 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2662 }
2663
2664 switch ( yy_act )
2665 { /* beginning of action switch */
2666/* %% [13.0] actions go here */
2667 case 0: /* must back up */
2668 /* undo the effects of YY_DO_BEFORE_ACTION */
2669 *yy_cp = (yy_hold_char);
2670 yy_cp = (yy_last_accepting_cpos);
2671 yy_current_state = (yy_last_accepting_state);
2672 goto yy_find_action;
2673
2674case 1:
2676#line 149 "dhcp6_lexer.ll"
2677;
2678 YY_BREAK
2679case 2:
2681#line 151 "dhcp6_lexer.ll"
2682;
2683 YY_BREAK
2684case 3:
2686#line 153 "dhcp6_lexer.ll"
2687{
2688 BEGIN(COMMENT);
2689 comment_start_line = driver.loc_.end.line;;
2690}
2691 YY_BREAK
2692case 4:
2694#line 158 "dhcp6_lexer.ll"
2695BEGIN(INITIAL);
2696 YY_BREAK
2697case 5:
2699#line 159 "dhcp6_lexer.ll"
2700;
2701 YY_BREAK
2702case YY_STATE_EOF(COMMENT):
2703#line 160 "dhcp6_lexer.ll"
2704{
2705 isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line);
2706}
2707 YY_BREAK
2708case 6:
2710#line 164 "dhcp6_lexer.ll"
2712 YY_BREAK
2713case 7:
2715#line 165 "dhcp6_lexer.ll"
2717 YY_BREAK
2718case 8:
2720#line 166 "dhcp6_lexer.ll"
2721{
2722 /* Include directive. */
2723
2724 /* Extract the filename. */
2725 std::string tmp(yytext+1);
2726 tmp.resize(tmp.size() - 1);
2727
2728 driver.includeFile(tmp);
2729}
2730 YY_BREAK
2734#line 175 "dhcp6_lexer.ll"
2735{
2736 isc_throw(Dhcp6ParseError, "Directive not closed.");
2737}
2738 YY_BREAK
2739case 9:
2741#line 178 "dhcp6_lexer.ll"
2742BEGIN(INITIAL);
2743 YY_BREAK
2744case 10:
2746#line 181 "dhcp6_lexer.ll"
2747{
2748 /* Ok, we found a with space. Let's ignore it and update loc variable. */
2749 driver.loc_.step();
2750}
2751 YY_BREAK
2752case 11:
2753/* rule 11 can match eol */
2755#line 186 "dhcp6_lexer.ll"
2756{
2757 /* Newline found. Let's update the location and continue. */
2758 driver.loc_.lines(yyleng);
2759 driver.loc_.step();
2760}
2761 YY_BREAK
2762case 12:
2764#line 193 "dhcp6_lexer.ll"
2765{
2766 switch(driver.ctx_) {
2769 default:
2770 return isc::dhcp::Dhcp6Parser::make_STRING("enable-updates", driver.loc_);
2771 }
2772}
2773 YY_BREAK
2774case 13:
2776#line 202 "dhcp6_lexer.ll"
2777{
2778 switch(driver.ctx_) {
2781 default:
2782 return isc::dhcp::Dhcp6Parser::make_STRING("qualifying-suffix", driver.loc_);
2783 }
2784}
2785 YY_BREAK
2786case 14:
2788#line 211 "dhcp6_lexer.ll"
2789{
2790 switch(driver.ctx_) {
2792 return isc::dhcp::Dhcp6Parser::make_SERVER_IP(driver.loc_);
2793 default:
2794 return isc::dhcp::Dhcp6Parser::make_STRING("server-ip", driver.loc_);
2795 }
2796}
2797 YY_BREAK
2798case 15:
2800#line 220 "dhcp6_lexer.ll"
2801{
2802 switch(driver.ctx_) {
2804 return isc::dhcp::Dhcp6Parser::make_SERVER_PORT(driver.loc_);
2805 default:
2806 return isc::dhcp::Dhcp6Parser::make_STRING("server-port", driver.loc_);
2807 }
2808}
2809 YY_BREAK
2810case 16:
2812#line 229 "dhcp6_lexer.ll"
2813{
2814 switch(driver.ctx_) {
2816 return isc::dhcp::Dhcp6Parser::make_SENDER_IP(driver.loc_);
2817 default:
2818 return isc::dhcp::Dhcp6Parser::make_STRING("sender-ip", driver.loc_);
2819 }
2820}
2821 YY_BREAK
2822case 17:
2824#line 238 "dhcp6_lexer.ll"
2825{
2826 switch(driver.ctx_) {
2828 return isc::dhcp::Dhcp6Parser::make_SENDER_PORT(driver.loc_);
2829 default:
2830 return isc::dhcp::Dhcp6Parser::make_STRING("sender-port", driver.loc_);
2831 }
2832}
2833 YY_BREAK
2834case 18:
2836#line 247 "dhcp6_lexer.ll"
2837{
2838 switch(driver.ctx_) {
2841 default:
2842 return isc::dhcp::Dhcp6Parser::make_STRING("max-queue-size", driver.loc_);
2843 }
2844}
2845 YY_BREAK
2846case 19:
2848#line 256 "dhcp6_lexer.ll"
2849{
2850 switch(driver.ctx_) {
2853 default:
2854 return isc::dhcp::Dhcp6Parser::make_STRING("ncr-protocol", driver.loc_);
2855 }
2856}
2857 YY_BREAK
2858case 20:
2860#line 265 "dhcp6_lexer.ll"
2861{
2862 switch(driver.ctx_) {
2864 return isc::dhcp::Dhcp6Parser::make_NCR_FORMAT(driver.loc_);
2865 default:
2866 return isc::dhcp::Dhcp6Parser::make_STRING("ncr-format", driver.loc_);
2867 }
2868}
2869 YY_BREAK
2870case 21:
2872#line 274 "dhcp6_lexer.ll"
2873{
2874 switch(driver.ctx_) {
2877 default:
2878 return isc::dhcp::Dhcp6Parser::make_STRING("override-no-update", driver.loc_);
2879 }
2880}
2881 YY_BREAK
2882case 22:
2884#line 283 "dhcp6_lexer.ll"
2885{
2886 switch(driver.ctx_) {
2889 default:
2890 return isc::dhcp::Dhcp6Parser::make_STRING("override-client-update", driver.loc_);
2891 }
2892}
2893 YY_BREAK
2894case 23:
2896#line 292 "dhcp6_lexer.ll"
2897{
2898 switch(driver.ctx_) {
2901 default:
2902 return isc::dhcp::Dhcp6Parser::make_STRING("replace-client-name", driver.loc_);
2903 }
2904}
2905 YY_BREAK
2906case 24:
2908#line 301 "dhcp6_lexer.ll"
2909{
2910 switch(driver.ctx_) {
2913 default:
2914 return isc::dhcp::Dhcp6Parser::make_STRING("generated-prefix", driver.loc_);
2915 }
2916}
2917 YY_BREAK
2918case 25:
2920#line 310 "dhcp6_lexer.ll"
2921{
2922 switch(driver.ctx_) {
2928 default:
2929 return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-set", driver.loc_);
2930 }
2931}
2932 YY_BREAK
2933case 26:
2935#line 322 "dhcp6_lexer.ll"
2936{
2937 switch(driver.ctx_) {
2943 default:
2944 return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-replacement", driver.loc_);
2945 }
2946}
2947 YY_BREAK
2948case 27:
2950#line 334 "dhcp6_lexer.ll"
2951{
2952 /* dhcp-ddns value keywords are case insensitive */
2953 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
2954 return isc::dhcp::Dhcp6Parser::make_UDP(driver.loc_);
2955 }
2956 std::string tmp(yytext+1);
2957 tmp.resize(tmp.size() - 1);
2958 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2959}
2960 YY_BREAK
2961case 28:
2963#line 344 "dhcp6_lexer.ll"
2964{
2965 /* dhcp-ddns value keywords are case insensitive */
2966 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
2967 return isc::dhcp::Dhcp6Parser::make_TCP(driver.loc_);
2968 }
2969 std::string tmp(yytext+1);
2970 tmp.resize(tmp.size() - 1);
2971 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2972}
2973 YY_BREAK
2974case 29:
2976#line 354 "dhcp6_lexer.ll"
2977{
2978 /* dhcp-ddns value keywords are case insensitive */
2979 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
2980 return isc::dhcp::Dhcp6Parser::make_JSON(driver.loc_);
2981 }
2982 std::string tmp(yytext+1);
2983 tmp.resize(tmp.size() - 1);
2984 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2985}
2986 YY_BREAK
2987case 30:
2989#line 364 "dhcp6_lexer.ll"
2990{
2991 /* dhcp-ddns value keywords are case insensitive */
2994 }
2995 std::string tmp(yytext+1);
2996 tmp.resize(tmp.size() - 1);
2997 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2998}
2999 YY_BREAK
3000case 31:
3002#line 374 "dhcp6_lexer.ll"
3003{
3004 /* dhcp-ddns value keywords are case insensitive */
3007 }
3008 std::string tmp(yytext+1);
3009 tmp.resize(tmp.size() - 1);
3010 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3011}
3012 YY_BREAK
3013case 32:
3015#line 384 "dhcp6_lexer.ll"
3016{
3017 switch(driver.ctx_) {
3019 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
3020 default:
3021 return isc::dhcp::Dhcp6Parser::make_STRING("never", driver.loc_);
3022 }
3023}
3024 YY_BREAK
3025case 33:
3027#line 393 "dhcp6_lexer.ll"
3028{
3029 /* dhcp-ddns value keywords are case insensitive */
3031 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
3032 }
3033 std::string tmp(yytext+1);
3034 tmp.resize(tmp.size() - 1);
3035 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3036}
3037 YY_BREAK
3038case 34:
3040#line 403 "dhcp6_lexer.ll"
3041{
3042 /* dhcp-ddns value keywords are case insensitive */
3044 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
3045 }
3046 std::string tmp(yytext+1);
3047 tmp.resize(tmp.size() - 1);
3048 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3049}
3050 YY_BREAK
3051case 35:
3053#line 413 "dhcp6_lexer.ll"
3054{
3055 /* dhcp-ddns value keywords are case insensitive */
3057 return isc::dhcp::Dhcp6Parser::make_ALWAYS(driver.loc_);
3058 }
3059 std::string tmp(yytext+1);
3060 tmp.resize(tmp.size() - 1);
3061 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3062}
3063 YY_BREAK
3064case 36:
3066#line 423 "dhcp6_lexer.ll"
3067{
3068 /* dhcp-ddns value keywords are case insensitive */
3071 }
3072 std::string tmp(yytext+1);
3073 tmp.resize(tmp.size() - 1);
3074 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3075}
3076 YY_BREAK
3077case 37:
3079#line 433 "dhcp6_lexer.ll"
3080{
3081 switch(driver.ctx_) {
3083 return isc::dhcp::Dhcp6Parser::make_DHCP6(driver.loc_);
3084 default:
3085 return isc::dhcp::Dhcp6Parser::make_STRING("Dhcp6", driver.loc_);
3086 }
3087}
3088 YY_BREAK
3089case 38:
3091#line 442 "dhcp6_lexer.ll"
3092{
3093 switch(driver.ctx_) {
3096 default:
3097 return isc::dhcp::Dhcp6Parser::make_STRING("data-directory", driver.loc_);
3098 }
3099}
3100 YY_BREAK
3101case 39:
3103#line 451 "dhcp6_lexer.ll"
3104{
3105 switch(driver.ctx_) {
3108 default:
3109 return isc::dhcp::Dhcp6Parser::make_STRING("interfaces-config", driver.loc_);
3110 }
3111}
3112 YY_BREAK
3113case 40:
3115#line 460 "dhcp6_lexer.ll"
3116{
3117 switch(driver.ctx_) {
3119 return isc::dhcp::Dhcp6Parser::make_INTERFACES(driver.loc_);
3120 default:
3121 return isc::dhcp::Dhcp6Parser::make_STRING("interfaces", driver.loc_);
3122 }
3123}
3124 YY_BREAK
3125case 41:
3127#line 469 "dhcp6_lexer.ll"
3128{
3129 switch(driver.ctx_) {
3131 return isc::dhcp::Dhcp6Parser::make_RE_DETECT(driver.loc_);
3132 default:
3133 return isc::dhcp::Dhcp6Parser::make_STRING("re-detect", driver.loc_);
3134 }
3135}
3136 YY_BREAK
3137case 42:
3139#line 478 "dhcp6_lexer.ll"
3140{
3141 switch(driver.ctx_) {
3144 default:
3145 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-require-all", driver.loc_);
3146 }
3147}
3148 YY_BREAK
3149case 43:
3151#line 487 "dhcp6_lexer.ll"
3152{
3153 switch(driver.ctx_) {
3156 default:
3157 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-retry-wait-time", driver.loc_);
3158 }
3159}
3160 YY_BREAK
3161case 44:
3163#line 496 "dhcp6_lexer.ll"
3164{
3165 switch(driver.ctx_) {
3168 default:
3169 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-max-retries", driver.loc_);
3170 }
3171}
3172 YY_BREAK
3173case 45:
3175#line 505 "dhcp6_lexer.ll"
3176{
3177 switch(driver.ctx_) {
3180 default:
3181 return isc::dhcp::Dhcp6Parser::make_STRING("sanity-checks", driver.loc_);
3182 }
3183}
3184 YY_BREAK
3185case 46:
3187#line 514 "dhcp6_lexer.ll"
3188{
3189 switch(driver.ctx_) {
3192 default:
3193 return isc::dhcp::Dhcp6Parser::make_STRING("lease-checks", driver.loc_);
3194 }
3195}
3196 YY_BREAK
3197case 47:
3199#line 523 "dhcp6_lexer.ll"
3200{
3201 switch(driver.ctx_) {
3204 default:
3205 return isc::dhcp::Dhcp6Parser::make_STRING("extended-info-checks", driver.loc_);
3206 }
3207}
3208 YY_BREAK
3209case 48:
3211#line 532 "dhcp6_lexer.ll"
3212{
3213 switch(driver.ctx_) {
3216 default:
3217 return isc::dhcp::Dhcp6Parser::make_STRING("lease-database", driver.loc_);
3218 }
3219}
3220 YY_BREAK
3221case 49:
3223#line 541 "dhcp6_lexer.ll"
3224{
3225 switch(driver.ctx_) {
3228 default:
3229 return isc::dhcp::Dhcp6Parser::make_STRING("hosts-database", driver.loc_);
3230 }
3231}
3232 YY_BREAK
3233case 50:
3235#line 550 "dhcp6_lexer.ll"
3236{
3237 switch(driver.ctx_) {
3240 default:
3241 return isc::dhcp::Dhcp6Parser::make_STRING("hosts-databases", driver.loc_);
3242 }
3243}
3244 YY_BREAK
3245case 51:
3247#line 559 "dhcp6_lexer.ll"
3248{
3249 switch(driver.ctx_) {
3252 default:
3253 return isc::dhcp::Dhcp6Parser::make_STRING("config-control", driver.loc_);
3254 }
3255}
3256 YY_BREAK
3257case 52:
3259#line 568 "dhcp6_lexer.ll"
3260{
3261 switch(driver.ctx_) {
3264 default:
3265 return isc::dhcp::Dhcp6Parser::make_STRING("config-databases", driver.loc_);
3266 }
3267}
3268 YY_BREAK
3269case 53:
3271#line 577 "dhcp6_lexer.ll"
3272{
3273 switch(driver.ctx_) {
3276 default:
3277 return isc::dhcp::Dhcp6Parser::make_STRING("config-fetch-wait-time", driver.loc_);
3278 }
3279}
3280 YY_BREAK
3281case 54:
3283#line 586 "dhcp6_lexer.ll"
3284{
3285 switch(driver.ctx_) {
3287 return isc::dhcp::Dhcp6Parser::make_READONLY(driver.loc_);
3288 default:
3289 return isc::dhcp::Dhcp6Parser::make_STRING("readonly", driver.loc_);
3290 }
3291}
3292 YY_BREAK
3293case 55:
3295#line 595 "dhcp6_lexer.ll"
3296{
3297 switch(driver.ctx_) {
3303 return isc::dhcp::Dhcp6Parser::make_TYPE(driver.loc_);
3304 default:
3305 return isc::dhcp::Dhcp6Parser::make_STRING("type", driver.loc_);
3306 }
3307}
3308 YY_BREAK
3309case 56:
3311#line 608 "dhcp6_lexer.ll"
3312{
3313 switch(driver.ctx_) {
3315 return isc::dhcp::Dhcp6Parser::make_MEMFILE(driver.loc_);
3316 default:
3317 return isc::dhcp::Dhcp6Parser::make_STRING("memfile", driver.loc_);
3318 }
3319}
3320 YY_BREAK
3321case 57:
3323#line 617 "dhcp6_lexer.ll"
3324{
3325 switch(driver.ctx_) {
3327 return isc::dhcp::Dhcp6Parser::make_MYSQL(driver.loc_);
3328 default:
3329 return isc::dhcp::Dhcp6Parser::make_STRING("mysql", driver.loc_);
3330 }
3331}
3332 YY_BREAK
3333case 58:
3335#line 626 "dhcp6_lexer.ll"
3336{
3337 switch(driver.ctx_) {
3339 return isc::dhcp::Dhcp6Parser::make_POSTGRESQL(driver.loc_);
3340 default:
3341 return isc::dhcp::Dhcp6Parser::make_STRING("postgresql", driver.loc_);
3342 }
3343}
3344 YY_BREAK
3345case 59:
3347#line 635 "dhcp6_lexer.ll"
3348{
3349 switch(driver.ctx_) {
3353 return isc::dhcp::Dhcp6Parser::make_USER(driver.loc_);
3354 default:
3355 return isc::dhcp::Dhcp6Parser::make_STRING("user", driver.loc_);
3356 }
3357}
3358 YY_BREAK
3359case 60:
3361#line 646 "dhcp6_lexer.ll"
3362{
3363 switch(driver.ctx_) {
3367 return isc::dhcp::Dhcp6Parser::make_PASSWORD(driver.loc_);
3368 default:
3369 return isc::dhcp::Dhcp6Parser::make_STRING("password", driver.loc_);
3370 }
3371}
3372 YY_BREAK
3373case 61:
3375#line 657 "dhcp6_lexer.ll"
3376{
3377 switch(driver.ctx_) {
3381 return isc::dhcp::Dhcp6Parser::make_HOST(driver.loc_);
3382 default:
3383 return isc::dhcp::Dhcp6Parser::make_STRING("host", driver.loc_);
3384 }
3385}
3386 YY_BREAK
3387case 62:
3389#line 668 "dhcp6_lexer.ll"
3390{
3391 switch(driver.ctx_) {
3395 return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_);
3396 default:
3397 return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_);
3398 }
3399}
3400 YY_BREAK
3401case 63:
3403#line 679 "dhcp6_lexer.ll"
3404{
3405 switch(driver.ctx_) {
3410 return isc::dhcp::Dhcp6Parser::make_PERSIST(driver.loc_);
3411 default:
3412 return isc::dhcp::Dhcp6Parser::make_STRING("persist", driver.loc_);
3413 }
3414}
3415 YY_BREAK
3416case 64:
3418#line 691 "dhcp6_lexer.ll"
3419{
3420 switch(driver.ctx_) {
3425 default:
3426 return isc::dhcp::Dhcp6Parser::make_STRING("lfc-interval", driver.loc_);
3427 }
3428}
3429 YY_BREAK
3430case 65:
3432#line 702 "dhcp6_lexer.ll"
3433{
3434 switch(driver.ctx_) {
3439 default:
3440 return isc::dhcp::Dhcp6Parser::make_STRING("connect-timeout", driver.loc_);
3441 }
3442}
3443 YY_BREAK
3444case 66:
3446#line 713 "dhcp6_lexer.ll"
3447{
3448 switch(driver.ctx_) {
3453 default:
3454 return isc::dhcp::Dhcp6Parser::make_STRING("read-timeout", driver.loc_);
3455 }
3456}
3457 YY_BREAK
3458case 67:
3460#line 724 "dhcp6_lexer.ll"
3461{
3462 switch(driver.ctx_) {
3467 default:
3468 return isc::dhcp::Dhcp6Parser::make_STRING("write-timeout", driver.loc_);
3469 }
3470}
3471 YY_BREAK
3472case 68:
3474#line 735 "dhcp6_lexer.ll"
3475{
3476 switch(driver.ctx_) {
3481 default:
3482 return isc::dhcp::Dhcp6Parser::make_STRING("tcp-user-timeout", driver.loc_);
3483 }
3484}
3485 YY_BREAK
3486case 69:
3488#line 746 "dhcp6_lexer.ll"
3489{
3490 switch(driver.ctx_) {
3495 default:
3496 return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_);
3497 }
3498}
3499 YY_BREAK
3500case 70:
3502#line 757 "dhcp6_lexer.ll"
3503{
3504 switch(driver.ctx_) {
3508 return isc::dhcp::Dhcp6Parser::make_ON_FAIL(driver.loc_);
3509 default:
3510 return isc::dhcp::Dhcp6Parser::make_STRING("on-fail", driver.loc_);
3511 }
3512}
3513 YY_BREAK
3514case 71:
3516#line 768 "dhcp6_lexer.ll"
3517{
3518 switch(driver.ctx_) {
3521 default:
3522 return isc::dhcp::Dhcp6Parser::make_STRING("stop-retry-exit", driver.loc_);
3523 }
3524}
3525 YY_BREAK
3526case 72:
3528#line 777 "dhcp6_lexer.ll"
3529{
3530 switch(driver.ctx_) {
3533 default:
3534 return isc::dhcp::Dhcp6Parser::make_STRING("serve-retry-exit", driver.loc_);
3535 }
3536}
3537 YY_BREAK
3538case 73:
3540#line 786 "dhcp6_lexer.ll"
3541{
3542 switch(driver.ctx_) {
3545 default:
3546 return isc::dhcp::Dhcp6Parser::make_STRING("serve-retry-continue", driver.loc_);
3547 }
3548}
3549 YY_BREAK
3550case 74:
3552#line 795 "dhcp6_lexer.ll"
3553{
3554 switch(driver.ctx_) {
3559 default:
3560 return isc::dhcp::Dhcp6Parser::make_STRING("max-reconnect-tries", driver.loc_);
3561 }
3562}
3563 YY_BREAK
3564case 75:
3566#line 806 "dhcp6_lexer.ll"
3567{
3568 switch(driver.ctx_) {
3571 default:
3572 return isc::dhcp::Dhcp6Parser::make_STRING("max-row-errors", driver.loc_);
3573 }
3574}
3575 YY_BREAK
3576case 76:
3578#line 815 "dhcp6_lexer.ll"
3579{
3580 switch(driver.ctx_) {
3585 default:
3586 return isc::dhcp::Dhcp6Parser::make_STRING("trust-anchor", driver.loc_);
3587 }
3588}
3589 YY_BREAK
3590case 77:
3592#line 826 "dhcp6_lexer.ll"
3593{
3594 switch(driver.ctx_) {
3598 return isc::dhcp::Dhcp6Parser::make_CERT_FILE(driver.loc_);
3599 default:
3600 return isc::dhcp::Dhcp6Parser::make_STRING("cert-file", driver.loc_);
3601 }
3602}
3603 YY_BREAK
3604case 78:
3606#line 837 "dhcp6_lexer.ll"
3607{
3608 switch(driver.ctx_) {
3612 return isc::dhcp::Dhcp6Parser::make_KEY_FILE(driver.loc_);
3613 default:
3614 return isc::dhcp::Dhcp6Parser::make_STRING("key-file", driver.loc_);
3615 }
3616}
3617 YY_BREAK
3618case 79:
3620#line 848 "dhcp6_lexer.ll"
3621{
3622 switch(driver.ctx_) {
3626 return isc::dhcp::Dhcp6Parser::make_CIPHER_LIST(driver.loc_);
3627 default:
3628 return isc::dhcp::Dhcp6Parser::make_STRING("cipher-list", driver.loc_);
3629 }
3630}
3631 YY_BREAK
3632case 80:
3634#line 859 "dhcp6_lexer.ll"
3635{
3636 switch(driver.ctx_) {
3642 default:
3643 return isc::dhcp::Dhcp6Parser::make_STRING("preferred-lifetime", driver.loc_);
3644 }
3645}
3646 YY_BREAK
3647case 81:
3649#line 871 "dhcp6_lexer.ll"
3650{
3651 switch(driver.ctx_) {
3657 default:
3658 return isc::dhcp::Dhcp6Parser::make_STRING("min-preferred-lifetime", driver.loc_);
3659 }
3660}
3661 YY_BREAK
3662case 82:
3664#line 883 "dhcp6_lexer.ll"
3665{
3666 switch(driver.ctx_) {
3672 default:
3673 return isc::dhcp::Dhcp6Parser::make_STRING("max-preferred-lifetime", driver.loc_);
3674 }
3675}
3676 YY_BREAK
3677case 83:
3679#line 895 "dhcp6_lexer.ll"
3680{
3681 switch(driver.ctx_) {
3687 default:
3688 return isc::dhcp::Dhcp6Parser::make_STRING("valid-lifetime", driver.loc_);
3689 }
3690}
3691 YY_BREAK
3692case 84:
3694#line 907 "dhcp6_lexer.ll"
3695{
3696 switch(driver.ctx_) {
3702 default:
3703 return isc::dhcp::Dhcp6Parser::make_STRING("min-valid-lifetime", driver.loc_);
3704 }
3705}
3706 YY_BREAK
3707case 85:
3709#line 919 "dhcp6_lexer.ll"
3710{
3711 switch(driver.ctx_) {
3717 default:
3718 return isc::dhcp::Dhcp6Parser::make_STRING("max-valid-lifetime", driver.loc_);
3719 }
3720}
3721 YY_BREAK
3722case 86:
3724#line 931 "dhcp6_lexer.ll"
3725{
3726 switch(driver.ctx_) {
3730 return isc::dhcp::Dhcp6Parser::make_RENEW_TIMER(driver.loc_);
3731 default:
3732 return isc::dhcp::Dhcp6Parser::make_STRING("renew-timer", driver.loc_);
3733 }
3734}
3735 YY_BREAK
3736case 87:
3738#line 942 "dhcp6_lexer.ll"
3739{
3740 switch(driver.ctx_) {
3745 default:
3746 return isc::dhcp::Dhcp6Parser::make_STRING("rebind-timer", driver.loc_);
3747 }
3748}
3749 YY_BREAK
3750case 88:
3752#line 953 "dhcp6_lexer.ll"
3753{
3754 switch(driver.ctx_) {
3757 default:
3758 return isc::dhcp::Dhcp6Parser::make_STRING("decline-probation-period", driver.loc_);
3759 }
3760}
3761 YY_BREAK
3762case 89:
3764#line 962 "dhcp6_lexer.ll"
3765{
3766 switch(driver.ctx_) {
3768 return isc::dhcp::Dhcp6Parser::make_SERVER_TAG(driver.loc_);
3769 default:
3770 return isc::dhcp::Dhcp6Parser::make_STRING("server-tag", driver.loc_);
3771 }
3772}
3773 YY_BREAK
3774case 90:
3776#line 971 "dhcp6_lexer.ll"
3777{
3778 switch(driver.ctx_) {
3781 default:
3782 return isc::dhcp::Dhcp6Parser::make_STRING("parked-packet-limit", driver.loc_);
3783 }
3784}
3785 YY_BREAK
3786case 91:
3788#line 980 "dhcp6_lexer.ll"
3789{
3790 switch(driver.ctx_) {
3794 return isc::dhcp::Dhcp6Parser::make_ALLOCATOR(driver.loc_);
3795 default:
3796 return isc::dhcp::Dhcp6Parser::make_STRING("allocator", driver.loc_);
3797 }
3798}
3799 YY_BREAK
3800case 92:
3802#line 991 "dhcp6_lexer.ll"
3803{
3804 switch(driver.ctx_) {
3809 default:
3810 return isc::dhcp::Dhcp6Parser::make_STRING("pd-allocator", driver.loc_);
3811 }
3812}
3813 YY_BREAK
3814case 93:
3816#line 1002 "dhcp6_lexer.ll"
3817{
3818 switch(driver.ctx_) {
3821 default:
3822 return isc::dhcp::Dhcp6Parser::make_STRING("statistic-default-sample-count", driver.loc_);
3823 }
3824}
3825 YY_BREAK
3826case 94:
3828#line 1011 "dhcp6_lexer.ll"
3829{
3830 switch(driver.ctx_) {
3833 default:
3834 return isc::dhcp::Dhcp6Parser::make_STRING("statistic-default-sample-age", driver.loc_);
3835 }
3836}
3837 YY_BREAK
3838case 95:
3840#line 1020 "dhcp6_lexer.ll"
3841{
3842 switch(driver.ctx_) {
3847 default:
3848 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-send-updates", driver.loc_);
3849 }
3850}
3851 YY_BREAK
3852case 96:
3854#line 1031 "dhcp6_lexer.ll"
3855{
3856 switch(driver.ctx_) {
3861 default:
3862 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-no-update", driver.loc_);
3863 }
3864}
3865 YY_BREAK
3866case 97:
3868#line 1042 "dhcp6_lexer.ll"
3869{
3870 switch(driver.ctx_) {
3875 default:
3876 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-client-update", driver.loc_);
3877 }
3878}
3879 YY_BREAK
3880case 98:
3882#line 1053 "dhcp6_lexer.ll"
3883{
3884 switch(driver.ctx_) {
3889 default:
3890 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-replace-client-name", driver.loc_);
3891 }
3892}
3893 YY_BREAK
3894case 99:
3896#line 1064 "dhcp6_lexer.ll"
3897{
3898 switch(driver.ctx_) {
3903 default:
3904 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-generated-prefix", driver.loc_);
3905 }
3906}
3907 YY_BREAK
3908case 100:
3910#line 1075 "dhcp6_lexer.ll"
3911{
3912 switch(driver.ctx_) {
3917 default:
3918 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-qualifying-suffix", driver.loc_);
3919 }
3920}
3921 YY_BREAK
3922case 101:
3924#line 1086 "dhcp6_lexer.ll"
3925{
3926 switch(driver.ctx_) {
3931 default:
3932 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-update-on-renew", driver.loc_);
3933 }
3934}
3935 YY_BREAK
3936case 102:
3938#line 1097 "dhcp6_lexer.ll"
3939{
3940 switch(driver.ctx_) {
3945 default:
3946 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
3947 }
3948}
3949 YY_BREAK
3950case 103:
3952#line 1108 "dhcp6_lexer.ll"
3953{
3954 switch(driver.ctx_) {
3959 default:
3960 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-conflict-resolution-mode", driver.loc_);
3961 }
3962}
3963 YY_BREAK
3964case 104:
3966#line 1119 "dhcp6_lexer.ll"
3967{
3970 }
3971 std::string tmp(yytext+1);
3972 tmp.resize(tmp.size() - 1);
3973 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3974}
3975 YY_BREAK
3976case 105:
3978#line 1128 "dhcp6_lexer.ll"
3979{
3982 }
3983 std::string tmp(yytext+1);
3984 tmp.resize(tmp.size() - 1);
3985 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3986}
3987 YY_BREAK
3988case 106:
3990#line 1137 "dhcp6_lexer.ll"
3991{
3994 }
3995 std::string tmp(yytext+1);
3996 tmp.resize(tmp.size() - 1);
3997 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3998}
3999 YY_BREAK
4000case 107:
4002#line 1146 "dhcp6_lexer.ll"
4003{
4006 }
4007 std::string tmp(yytext+1);
4008 tmp.resize(tmp.size() - 1);
4009 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
4010}
4011 YY_BREAK
4012case 108:
4014#line 1158 "dhcp6_lexer.ll"
4015{
4016 switch(driver.ctx_) {
4021 default:
4022 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl-percent", driver.loc_);
4023 }
4024}
4025 YY_BREAK
4026case 109:
4028#line 1169 "dhcp6_lexer.ll"
4029{
4030 switch(driver.ctx_) {
4033 return isc::dhcp::Dhcp6Parser::make_SUBNET6(driver.loc_);
4034 default:
4035 return isc::dhcp::Dhcp6Parser::make_STRING("subnet6", driver.loc_);
4036 }
4037}
4038 YY_BREAK
4039case 110:
4041#line 1179 "dhcp6_lexer.ll"
4042{
4043 switch(driver.ctx_) {
4048 default:
4049 return isc::dhcp::Dhcp6Parser::make_STRING("store-extended-info", driver.loc_);
4050 }
4051}
4052 YY_BREAK
4053case 111:
4055#line 1190 "dhcp6_lexer.ll"
4056{
4057 switch (driver.ctx_) {
4059 return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
4060 default:
4061 return Dhcp6Parser::make_STRING("shared-networks", driver.loc_);
4062 }
4063}
4064 YY_BREAK
4065case 112:
4067#line 1199 "dhcp6_lexer.ll"
4068{
4069 switch(driver.ctx_) {
4071 return isc::dhcp::Dhcp6Parser::make_OPTION_DEF(driver.loc_);
4072 default:
4073 return isc::dhcp::Dhcp6Parser::make_STRING("option-def", driver.loc_);
4074 }
4075}
4076 YY_BREAK
4077case 113:
4079#line 1208 "dhcp6_lexer.ll"
4080{
4081 switch(driver.ctx_) {
4089 return isc::dhcp::Dhcp6Parser::make_OPTION_DATA(driver.loc_);
4090 default:
4091 return isc::dhcp::Dhcp6Parser::make_STRING("option-data", driver.loc_);
4092 }
4093}
4094 YY_BREAK
4095case 114:
4097#line 1223 "dhcp6_lexer.ll"
4098{
4099 switch(driver.ctx_) {
4108 return isc::dhcp::Dhcp6Parser::make_NAME(driver.loc_);
4109 default:
4110 return isc::dhcp::Dhcp6Parser::make_STRING("name", driver.loc_);
4111 }
4112}
4113 YY_BREAK
4114case 115:
4116#line 1239 "dhcp6_lexer.ll"
4117{
4118 switch(driver.ctx_) {
4120 return isc::dhcp::Dhcp6Parser::make_DATA(driver.loc_);
4121 default:
4122 return isc::dhcp::Dhcp6Parser::make_STRING("data", driver.loc_);
4123 }
4124}
4125 YY_BREAK
4126case 116:
4128#line 1248 "dhcp6_lexer.ll"
4129{
4130 switch(driver.ctx_) {
4132 return isc::dhcp::Dhcp6Parser::make_ALWAYS_SEND(driver.loc_);
4133 default:
4134 return isc::dhcp::Dhcp6Parser::make_STRING("always-send", driver.loc_);
4135 }
4136}
4137 YY_BREAK
4138case 117:
4140#line 1257 "dhcp6_lexer.ll"
4141{
4142 switch(driver.ctx_) {
4144 return isc::dhcp::Dhcp6Parser::make_NEVER_SEND(driver.loc_);
4145 default:
4146 return isc::dhcp::Dhcp6Parser::make_STRING("never-send", driver.loc_);
4147 }
4148}
4149 YY_BREAK
4150case 118:
4152#line 1266 "dhcp6_lexer.ll"
4153{
4154 switch(driver.ctx_) {
4156 return isc::dhcp::Dhcp6Parser::make_POOLS(driver.loc_);
4157 default:
4158 return isc::dhcp::Dhcp6Parser::make_STRING("pools", driver.loc_);
4159 }
4160}
4161 YY_BREAK
4162case 119:
4164#line 1275 "dhcp6_lexer.ll"
4165{
4166 switch(driver.ctx_) {
4168 return isc::dhcp::Dhcp6Parser::make_PD_POOLS(driver.loc_);
4169 default:
4170 return isc::dhcp::Dhcp6Parser::make_STRING("pd-pools", driver.loc_);
4171 }
4172}
4173 YY_BREAK
4174case 120:
4176#line 1284 "dhcp6_lexer.ll"
4177{
4178 switch(driver.ctx_) {
4180 return isc::dhcp::Dhcp6Parser::make_PREFIX(driver.loc_);
4181 default:
4182 return isc::dhcp::Dhcp6Parser::make_STRING("prefix", driver.loc_);
4183 }
4184}
4185 YY_BREAK
4186case 121:
4188#line 1293 "dhcp6_lexer.ll"
4189{
4190 switch(driver.ctx_) {
4192 return isc::dhcp::Dhcp6Parser::make_PREFIX_LEN(driver.loc_);
4193 default:
4194 return isc::dhcp::Dhcp6Parser::make_STRING("prefix-len", driver.loc_);
4195 }
4196}
4197 YY_BREAK
4198case 122:
4200#line 1302 "dhcp6_lexer.ll"
4201{
4202 switch(driver.ctx_) {
4205 default:
4206 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefix", driver.loc_);
4207 }
4208}
4209 YY_BREAK
4210case 123:
4212#line 1311 "dhcp6_lexer.ll"
4213{
4214 switch(driver.ctx_) {
4217 default:
4218 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefix-len", driver.loc_);
4219 }
4220}
4221 YY_BREAK
4222case 124:
4224#line 1320 "dhcp6_lexer.ll"
4225{
4226 switch(driver.ctx_) {
4229 default:
4230 return isc::dhcp::Dhcp6Parser::make_STRING("delegated-len", driver.loc_);
4231 }
4232}
4233 YY_BREAK
4234case 125:
4236#line 1329 "dhcp6_lexer.ll"
4237{
4238 switch(driver.ctx_) {
4240 return isc::dhcp::Dhcp6Parser::make_POOL(driver.loc_);
4241 default:
4242 return isc::dhcp::Dhcp6Parser::make_STRING("pool", driver.loc_);
4243 }
4244}
4245 YY_BREAK
4246case 126:
4248#line 1338 "dhcp6_lexer.ll"
4249{
4250 switch(driver.ctx_) {
4252 return isc::dhcp::Dhcp6Parser::make_POOL_ID(driver.loc_);
4253 default:
4254 return isc::dhcp::Dhcp6Parser::make_STRING("pool-id", driver.loc_);
4255 }
4256}
4257 YY_BREAK
4258case 127:
4260#line 1347 "dhcp6_lexer.ll"
4261{
4262 switch(driver.ctx_) {
4280 default:
4281 return isc::dhcp::Dhcp6Parser::make_STRING("user-context", driver.loc_);
4282 }
4283}
4284 YY_BREAK
4285case 128:
4287#line 1371 "dhcp6_lexer.ll"
4288{
4289 switch(driver.ctx_) {
4306 return isc::dhcp::Dhcp6Parser::make_COMMENT(driver.loc_);
4307 default:
4308 return isc::dhcp::Dhcp6Parser::make_STRING("comment", driver.loc_);
4309 }
4310}
4311 YY_BREAK
4312case 129:
4314#line 1395 "dhcp6_lexer.ll"
4315{
4316 switch(driver.ctx_) {
4318 return isc::dhcp::Dhcp6Parser::make_SUBNET(driver.loc_);
4319 default:
4320 return isc::dhcp::Dhcp6Parser::make_STRING("subnet", driver.loc_);
4321 }
4322}
4323 YY_BREAK
4324case 130:
4326#line 1404 "dhcp6_lexer.ll"
4327{
4328 switch(driver.ctx_) {
4331 return isc::dhcp::Dhcp6Parser::make_INTERFACE(driver.loc_);
4332 default:
4333 return isc::dhcp::Dhcp6Parser::make_STRING("interface", driver.loc_);
4334 }
4335}
4336 YY_BREAK
4337case 131:
4339#line 1414 "dhcp6_lexer.ll"
4340{
4341 switch(driver.ctx_) {
4345 default:
4346 return isc::dhcp::Dhcp6Parser::make_STRING("interface-id", driver.loc_);
4347 }
4348}
4349 YY_BREAK
4350case 132:
4352#line 1424 "dhcp6_lexer.ll"
4353{
4354 switch(driver.ctx_) {
4356 return isc::dhcp::Dhcp6Parser::make_ID(driver.loc_);
4357 default:
4358 return isc::dhcp::Dhcp6Parser::make_STRING("id", driver.loc_);
4359 }
4360}
4361 YY_BREAK
4362case 133:
4364#line 1433 "dhcp6_lexer.ll"
4365{
4366 switch(driver.ctx_) {
4370 default:
4371 return isc::dhcp::Dhcp6Parser::make_STRING("rapid-commit", driver.loc_);
4372 }
4373}
4374 YY_BREAK
4375case 134:
4377#line 1443 "dhcp6_lexer.ll"
4378{
4379 switch(driver.ctx_) {
4384 default:
4385 return isc::dhcp::Dhcp6Parser::make_STRING("reservation-mode", driver.loc_);
4386 }
4387}
4388 YY_BREAK
4389case 135:
4391#line 1454 "dhcp6_lexer.ll"
4392{
4393 switch(driver.ctx_) {
4395 return isc::dhcp::Dhcp6Parser::make_DISABLED(driver.loc_);
4396 default:
4397 return isc::dhcp::Dhcp6Parser::make_STRING("disabled", driver.loc_);
4398 }
4399}
4400 YY_BREAK
4401case 136:
4403#line 1463 "dhcp6_lexer.ll"
4404{
4405 switch(driver.ctx_) {
4407 return isc::dhcp::Dhcp6Parser::make_DISABLED(driver.loc_);
4408 default:
4409 return isc::dhcp::Dhcp6Parser::make_STRING("off", driver.loc_);
4410 }
4411}
4412 YY_BREAK
4413case 137:
4415#line 1472 "dhcp6_lexer.ll"
4416{
4417 switch(driver.ctx_) {
4419 return isc::dhcp::Dhcp6Parser::make_OUT_OF_POOL(driver.loc_);
4420 default:
4421 return isc::dhcp::Dhcp6Parser::make_STRING("out-of-pool", driver.loc_);
4422 }
4423}
4424 YY_BREAK
4425case 138:
4427#line 1481 "dhcp6_lexer.ll"
4428{
4429 switch(driver.ctx_) {
4431 return isc::dhcp::Dhcp6Parser::make_GLOBAL(driver.loc_);
4432 default:
4433 return isc::dhcp::Dhcp6Parser::make_STRING("global", driver.loc_);
4434 }
4435}
4436 YY_BREAK
4437case 139:
4439#line 1490 "dhcp6_lexer.ll"
4440{
4441 switch(driver.ctx_) {
4443 return isc::dhcp::Dhcp6Parser::make_ALL(driver.loc_);
4444 default:
4445 return isc::dhcp::Dhcp6Parser::make_STRING("all", driver.loc_);
4446 }
4447}
4448 YY_BREAK
4449case 140:
4451#line 1499 "dhcp6_lexer.ll"
4452{
4453 switch(driver.ctx_) {
4458 default:
4459 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-global", driver.loc_);
4460 }
4461}
4462 YY_BREAK
4463case 141:
4465#line 1510 "dhcp6_lexer.ll"
4466{
4467 switch(driver.ctx_) {
4472 default:
4473 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-in-subnet", driver.loc_);
4474 }
4475}
4476 YY_BREAK
4477case 142:
4479#line 1521 "dhcp6_lexer.ll"
4480{
4481 switch(driver.ctx_) {
4486 default:
4487 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-out-of-pool", driver.loc_);
4488 }
4489}
4490 YY_BREAK
4491case 143:
4493#line 1532 "dhcp6_lexer.ll"
4494{
4495 switch(driver.ctx_) {
4498 return isc::dhcp::Dhcp6Parser::make_CODE(driver.loc_);
4499 default:
4500 return isc::dhcp::Dhcp6Parser::make_STRING("code", driver.loc_);
4501 }
4502}
4503 YY_BREAK
4504case 144:
4506#line 1542 "dhcp6_lexer.ll"
4507{
4508 switch(driver.ctx_) {
4510 return isc::dhcp::Dhcp6Parser::make_MAC_SOURCES(driver.loc_);
4511 default:
4512 return isc::dhcp::Dhcp6Parser::make_STRING("mac-sources", driver.loc_);
4513 }
4514}
4515 YY_BREAK
4516case 145:
4518#line 1551 "dhcp6_lexer.ll"
4519{
4520 switch(driver.ctx_) {
4523 default:
4524 return isc::dhcp::Dhcp6Parser::make_STRING("relay-supplied-options", driver.loc_);
4525 }
4526}
4527 YY_BREAK
4528case 146:
4530#line 1560 "dhcp6_lexer.ll"
4531{
4532 switch(driver.ctx_) {
4535 default:
4536 return isc::dhcp::Dhcp6Parser::make_STRING("host-reservation-identifiers", driver.loc_);
4537 }
4538}
4539 YY_BREAK
4540case 147:
4542#line 1569 "dhcp6_lexer.ll"
4543{
4544 switch(driver.ctx_) {
4549 default:
4550 return isc::dhcp::Dhcp6Parser::make_STRING("calculate-tee-times", driver.loc_);
4551 }
4552}
4553 YY_BREAK
4554case 148:
4556#line 1580 "dhcp6_lexer.ll"
4557{
4558 switch(driver.ctx_) {
4562 return isc::dhcp::Dhcp6Parser::make_T1_PERCENT(driver.loc_);
4563 default:
4564 return isc::dhcp::Dhcp6Parser::make_STRING("t1-percent", driver.loc_);
4565 }
4566}
4567 YY_BREAK
4568case 149:
4570#line 1591 "dhcp6_lexer.ll"
4571{
4572 switch(driver.ctx_) {
4576 return isc::dhcp::Dhcp6Parser::make_T2_PERCENT(driver.loc_);
4577 default:
4578 return isc::dhcp::Dhcp6Parser::make_STRING("t2-percent", driver.loc_);
4579 }
4580}
4581 YY_BREAK
4582case 150:
4584#line 1602 "dhcp6_lexer.ll"
4585{
4586 switch(driver.ctx_) {
4591 default:
4592 return isc::dhcp::Dhcp6Parser::make_STRING("cache-threshold", driver.loc_);
4593 }
4594}
4595 YY_BREAK
4596case 151:
4598#line 1613 "dhcp6_lexer.ll"
4599{
4600 switch(driver.ctx_) {
4605 default:
4606 return isc::dhcp::Dhcp6Parser::make_STRING("cache-max-age", driver.loc_);
4607 }
4608}
4609 YY_BREAK
4610case 152:
4612#line 1624 "dhcp6_lexer.ll"
4613{
4614 switch(driver.ctx_) {
4616 return isc::dhcp::Dhcp6Parser::make_LOGGERS(driver.loc_);
4617 default:
4618 return isc::dhcp::Dhcp6Parser::make_STRING("loggers", driver.loc_);
4619 }
4620}
4621 YY_BREAK
4622case 153:
4624#line 1633 "dhcp6_lexer.ll"
4625{
4626 switch(driver.ctx_) {
4629 default:
4630 return isc::dhcp::Dhcp6Parser::make_STRING("output_options", driver.loc_);
4631 }
4632}
4633 YY_BREAK
4634case 154:
4636#line 1642 "dhcp6_lexer.ll"
4637{
4638 switch(driver.ctx_) {
4641 default:
4642 return isc::dhcp::Dhcp6Parser::make_STRING("output-options", driver.loc_);
4643 }
4644}
4645 YY_BREAK
4646case 155:
4648#line 1651 "dhcp6_lexer.ll"
4649{
4650 switch(driver.ctx_) {
4652 return isc::dhcp::Dhcp6Parser::make_OUTPUT(driver.loc_);
4653 default:
4654 return isc::dhcp::Dhcp6Parser::make_STRING("output", driver.loc_);
4655 }
4656}
4657 YY_BREAK
4658case 156:
4660#line 1660 "dhcp6_lexer.ll"
4661{
4662 switch(driver.ctx_) {
4664 return isc::dhcp::Dhcp6Parser::make_FLUSH(driver.loc_);
4665 default:
4666 return isc::dhcp::Dhcp6Parser::make_STRING("flush", driver.loc_);
4667 }
4668}
4669 YY_BREAK
4670case 157:
4672#line 1669 "dhcp6_lexer.ll"
4673{
4674 switch(driver.ctx_) {
4676 return isc::dhcp::Dhcp6Parser::make_MAXSIZE(driver.loc_);
4677 default:
4678 return isc::dhcp::Dhcp6Parser::make_STRING("maxsize", driver.loc_);
4679 }
4680}
4681 YY_BREAK
4682case 158:
4684#line 1678 "dhcp6_lexer.ll"
4685{
4686 switch(driver.ctx_) {
4688 return isc::dhcp::Dhcp6Parser::make_MAXVER(driver.loc_);
4689 default:
4690 return isc::dhcp::Dhcp6Parser::make_STRING("maxver", driver.loc_);
4691 }
4692}
4693 YY_BREAK
4694case 159:
4696#line 1687 "dhcp6_lexer.ll"
4697{
4698 switch(driver.ctx_) {
4700 return isc::dhcp::Dhcp6Parser::make_PATTERN(driver.loc_);
4701 default:
4702 return isc::dhcp::Dhcp6Parser::make_STRING("pattern", driver.loc_);
4703 }
4704}
4705 YY_BREAK
4706case 160:
4708#line 1696 "dhcp6_lexer.ll"
4709{
4710 switch(driver.ctx_) {
4712 return isc::dhcp::Dhcp6Parser::make_DEBUGLEVEL(driver.loc_);
4713 default:
4714 return isc::dhcp::Dhcp6Parser::make_STRING("debuglevel", driver.loc_);
4715 }
4716}
4717 YY_BREAK
4718case 161:
4720#line 1705 "dhcp6_lexer.ll"
4721{
4722 switch(driver.ctx_) {
4724 return isc::dhcp::Dhcp6Parser::make_SEVERITY(driver.loc_);
4725 default:
4726 return isc::dhcp::Dhcp6Parser::make_STRING("severity", driver.loc_);
4727 }
4728}
4729 YY_BREAK
4730case 162:
4732#line 1714 "dhcp6_lexer.ll"
4733{
4734 switch(driver.ctx_) {
4738 default:
4739 return isc::dhcp::Dhcp6Parser::make_STRING("client-classes", driver.loc_);
4740 }
4741}
4742 YY_BREAK
4743case 163:
4745#line 1724 "dhcp6_lexer.ll"
4746{
4747 switch(driver.ctx_) {
4753 default:
4754 return isc::dhcp::Dhcp6Parser::make_STRING("require-client-classes", driver.loc_);
4755 }
4756}
4757 YY_BREAK
4758case 164:
4760#line 1736 "dhcp6_lexer.ll"
4761{
4762 switch(driver.ctx_) {
4769 default:
4770 return isc::dhcp::Dhcp6Parser::make_STRING("client-class", driver.loc_);
4771 }
4772}
4773 YY_BREAK
4774case 165:
4776#line 1749 "dhcp6_lexer.ll"
4777{
4778 switch(driver.ctx_) {
4780 return isc::dhcp::Dhcp6Parser::make_TEST(driver.loc_);
4781 default:
4782 return isc::dhcp::Dhcp6Parser::make_STRING("test", driver.loc_);
4783 }
4784}
4785 YY_BREAK
4786case 166:
4788#line 1758 "dhcp6_lexer.ll"
4789{
4790 switch(driver.ctx_) {
4793 default:
4794 return isc::dhcp::Dhcp6Parser::make_STRING("template-test", driver.loc_);
4795 }
4796}
4797 YY_BREAK
4798case 167:
4800#line 1767 "dhcp6_lexer.ll"
4801{
4802 switch(driver.ctx_) {
4805 default:
4806 return isc::dhcp::Dhcp6Parser::make_STRING("only-if-required", driver.loc_);
4807 }
4808}
4809 YY_BREAK
4810case 168:
4812#line 1776 "dhcp6_lexer.ll"
4813{
4814 switch(driver.ctx_) {
4818 default:
4819 return isc::dhcp::Dhcp6Parser::make_STRING("reservations", driver.loc_);
4820 }
4821}
4822 YY_BREAK
4823case 169:
4825#line 1786 "dhcp6_lexer.ll"
4826{
4827 switch(driver.ctx_) {
4831 default:
4832 return isc::dhcp::Dhcp6Parser::make_STRING("ip-addresses", driver.loc_);
4833 }
4834}
4835 YY_BREAK
4836case 170:
4838#line 1796 "dhcp6_lexer.ll"
4839{
4840 switch(driver.ctx_) {
4842 return isc::dhcp::Dhcp6Parser::make_PREFIXES(driver.loc_);
4843 default:
4844 return isc::dhcp::Dhcp6Parser::make_STRING("prefixes", driver.loc_);
4845 }
4846}
4847 YY_BREAK
4848case 171:
4850#line 1805 "dhcp6_lexer.ll"
4851{
4852 switch(driver.ctx_) {
4856 return isc::dhcp::Dhcp6Parser::make_DUID(driver.loc_);
4857 default:
4858 return isc::dhcp::Dhcp6Parser::make_STRING("duid", driver.loc_);
4859 }
4860}
4861 YY_BREAK
4862case 172:
4864#line 1816 "dhcp6_lexer.ll"
4865{
4866 switch(driver.ctx_) {
4869 return isc::dhcp::Dhcp6Parser::make_HW_ADDRESS(driver.loc_);
4870 default:
4871 return isc::dhcp::Dhcp6Parser::make_STRING("hw-address", driver.loc_);
4872 }
4873}
4874 YY_BREAK
4875case 173:
4877#line 1826 "dhcp6_lexer.ll"
4878{
4879 switch(driver.ctx_) {
4881 return isc::dhcp::Dhcp6Parser::make_HOSTNAME(driver.loc_);
4882 default:
4883 return isc::dhcp::Dhcp6Parser::make_STRING("hostname", driver.loc_);
4884 }
4885}
4886 YY_BREAK
4887case 174:
4889#line 1835 "dhcp6_lexer.ll"
4890{
4891 switch(driver.ctx_) {
4894 return isc::dhcp::Dhcp6Parser::make_FLEX_ID(driver.loc_);
4895 default:
4896 return isc::dhcp::Dhcp6Parser::make_STRING("flex-id", driver.loc_);
4897 }
4898}
4899 YY_BREAK
4900case 175:
4902#line 1845 "dhcp6_lexer.ll"
4903{
4904 switch(driver.ctx_) {
4907 return isc::dhcp::Dhcp6Parser::make_SPACE(driver.loc_);
4908 default:
4909 return isc::dhcp::Dhcp6Parser::make_STRING("space", driver.loc_);
4910 }
4911}
4912 YY_BREAK
4913case 176:
4915#line 1855 "dhcp6_lexer.ll"
4916{
4917 switch(driver.ctx_) {
4919 return isc::dhcp::Dhcp6Parser::make_CSV_FORMAT(driver.loc_);
4920 default:
4921 return isc::dhcp::Dhcp6Parser::make_STRING("csv-format", driver.loc_);
4922 }
4923}
4924 YY_BREAK
4925case 177:
4927#line 1864 "dhcp6_lexer.ll"
4928{
4929 switch(driver.ctx_) {
4932 default:
4933 return isc::dhcp::Dhcp6Parser::make_STRING("record-types", driver.loc_);
4934 }
4935}
4936 YY_BREAK
4937case 178:
4939#line 1873 "dhcp6_lexer.ll"
4940{
4941 switch(driver.ctx_) {
4943 return isc::dhcp::Dhcp6Parser::make_ENCAPSULATE(driver.loc_);
4944 default:
4945 return isc::dhcp::Dhcp6Parser::make_STRING("encapsulate", driver.loc_);
4946 }
4947}
4948 YY_BREAK
4949case 179:
4951#line 1882 "dhcp6_lexer.ll"
4952{
4953 switch(driver.ctx_) {
4955 return isc::dhcp::Dhcp6Parser::make_ARRAY(driver.loc_);
4956 default:
4957 return isc::dhcp::Dhcp6Parser::make_STRING("array", driver.loc_);
4958 }
4959}
4960 YY_BREAK
4961case 180:
4963#line 1891 "dhcp6_lexer.ll"
4964{
4965 switch(driver.ctx_) {
4968 return isc::dhcp::Dhcp6Parser::make_RELAY(driver.loc_);
4969 default:
4970 return isc::dhcp::Dhcp6Parser::make_STRING("relay", driver.loc_);
4971 }
4972}
4973 YY_BREAK
4974case 181:
4976#line 1901 "dhcp6_lexer.ll"
4977{
4978 switch(driver.ctx_) {
4980 return isc::dhcp::Dhcp6Parser::make_IP_ADDRESS(driver.loc_);
4981 default:
4982 return isc::dhcp::Dhcp6Parser::make_STRING("ip-address", driver.loc_);
4983 }
4984}
4985 YY_BREAK
4986case 182:
4988#line 1910 "dhcp6_lexer.ll"
4989{
4990 switch(driver.ctx_) {
4993 default:
4994 return isc::dhcp::Dhcp6Parser::make_STRING("hooks-libraries", driver.loc_);
4995 }
4996}
4997 YY_BREAK
4998case 183:
5000#line 1919 "dhcp6_lexer.ll"
5001{
5002 switch(driver.ctx_) {
5004 return isc::dhcp::Dhcp6Parser::make_PARAMETERS(driver.loc_);
5005 default:
5006 return isc::dhcp::Dhcp6Parser::make_STRING("parameters", driver.loc_);
5007 }
5008}
5009 YY_BREAK
5010case 184:
5012#line 1928 "dhcp6_lexer.ll"
5013{
5014 switch(driver.ctx_) {
5016 return isc::dhcp::Dhcp6Parser::make_LIBRARY(driver.loc_);
5017 default:
5018 return isc::dhcp::Dhcp6Parser::make_STRING("library", driver.loc_);
5019 }
5020}
5021 YY_BREAK
5022case 185:
5024#line 1937 "dhcp6_lexer.ll"
5025{
5026 switch(driver.ctx_) {
5028 return isc::dhcp::Dhcp6Parser::make_SERVER_ID(driver.loc_);
5029 default:
5030 return isc::dhcp::Dhcp6Parser::make_STRING("server-id", driver.loc_);
5031 }
5032}
5033 YY_BREAK
5034case 186:
5036#line 1946 "dhcp6_lexer.ll"
5037{
5038 switch(driver.ctx_) {
5040 return isc::dhcp::Dhcp6Parser::make_LLT(driver.loc_);
5041 default:
5042 return isc::dhcp::Dhcp6Parser::make_STRING("LLT", driver.loc_);
5043 }
5044}
5045 YY_BREAK
5046case 187:
5048#line 1955 "dhcp6_lexer.ll"
5049{
5050 switch(driver.ctx_) {
5052 return isc::dhcp::Dhcp6Parser::make_EN(driver.loc_);
5053 default:
5054 return isc::dhcp::Dhcp6Parser::make_STRING("EN", driver.loc_);
5055 }
5056}
5057 YY_BREAK
5058case 188:
5060#line 1964 "dhcp6_lexer.ll"
5061{
5062 switch(driver.ctx_) {
5064 return isc::dhcp::Dhcp6Parser::make_LL(driver.loc_);
5065 default:
5066 return isc::dhcp::Dhcp6Parser::make_STRING("LL", driver.loc_);
5067 }
5068}
5069 YY_BREAK
5070case 189:
5072#line 1973 "dhcp6_lexer.ll"
5073{
5074 switch(driver.ctx_) {
5076 return isc::dhcp::Dhcp6Parser::make_IDENTIFIER(driver.loc_);
5077 default:
5078 return isc::dhcp::Dhcp6Parser::make_STRING("identifier", driver.loc_);
5079 }
5080}
5081 YY_BREAK
5082case 190:
5084#line 1982 "dhcp6_lexer.ll"
5085{
5086 switch(driver.ctx_) {
5088 return isc::dhcp::Dhcp6Parser::make_HTYPE(driver.loc_);
5089 default:
5090 return isc::dhcp::Dhcp6Parser::make_STRING("htype", driver.loc_);
5091 }
5092}
5093 YY_BREAK
5094case 191:
5096#line 1991 "dhcp6_lexer.ll"
5097{
5098 switch(driver.ctx_) {
5100 return isc::dhcp::Dhcp6Parser::make_TIME(driver.loc_);
5101 default:
5102 return isc::dhcp::Dhcp6Parser::make_STRING("time", driver.loc_);
5103 }
5104}
5105 YY_BREAK
5106case 192:
5108#line 2000 "dhcp6_lexer.ll"
5109{
5110 switch(driver.ctx_) {
5113 default:
5114 return isc::dhcp::Dhcp6Parser::make_STRING("enterprise-id", driver.loc_);
5115 }
5116}
5117 YY_BREAK
5118case 193:
5120#line 2009 "dhcp6_lexer.ll"
5121{
5122 switch(driver.ctx_) {
5125 default:
5126 return isc::dhcp::Dhcp6Parser::make_STRING("expired-leases-processing", driver.loc_);
5127 }
5128}
5129 YY_BREAK
5130case 194:
5132#line 2018 "dhcp6_lexer.ll"
5133{
5134 switch(driver.ctx_) {
5137 default:
5138 return isc::dhcp::Dhcp6Parser::make_STRING("reclaim-timer-wait-time", driver.loc_);
5139 }
5140}
5141 YY_BREAK
5142case 195:
5144#line 2027 "dhcp6_lexer.ll"
5145{
5146 switch(driver.ctx_) {
5149 default:
5150 return isc::dhcp::Dhcp6Parser::make_STRING("flush-reclaimed-timer-wait-time", driver.loc_);
5151 }
5152}
5153 YY_BREAK
5154case 196:
5156#line 2036 "dhcp6_lexer.ll"
5157{
5158 switch(driver.ctx_) {
5161 default:
5162 return isc::dhcp::Dhcp6Parser::make_STRING("hold-reclaimed-time", driver.loc_);
5163 }
5164}
5165 YY_BREAK
5166case 197:
5168#line 2045 "dhcp6_lexer.ll"
5169{
5170 switch(driver.ctx_) {
5173 default:
5174 return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-leases", driver.loc_);
5175 }
5176}
5177 YY_BREAK
5178case 198:
5180#line 2054 "dhcp6_lexer.ll"
5181{
5182 switch(driver.ctx_) {
5185 default:
5186 return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-time", driver.loc_);
5187 }
5188}
5189 YY_BREAK
5190case 199:
5192#line 2063 "dhcp6_lexer.ll"
5193{
5194 switch(driver.ctx_) {
5197 default:
5198 return isc::dhcp::Dhcp6Parser::make_STRING("unwarned-reclaim-cycles", driver.loc_);
5199 }
5200}
5201 YY_BREAK
5202case 200:
5204#line 2072 "dhcp6_lexer.ll"
5205{
5206 switch(driver.ctx_) {
5209 default:
5210 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp4o6-port", driver.loc_);
5211 }
5212}
5213 YY_BREAK
5214case 201:
5216#line 2081 "dhcp6_lexer.ll"
5217{
5218 switch(driver.ctx_) {
5221 default:
5222 return isc::dhcp::Dhcp6Parser::make_STRING("multi-threading", driver.loc_);
5223 }
5224}
5225 YY_BREAK
5226case 202:
5228#line 2090 "dhcp6_lexer.ll"
5229{
5230 switch(driver.ctx_) {
5233 default:
5234 return isc::dhcp::Dhcp6Parser::make_STRING("enable-multi-threading", driver.loc_);
5235 }
5236}
5237 YY_BREAK
5238case 203:
5240#line 2099 "dhcp6_lexer.ll"
5241{
5242 switch(driver.ctx_) {
5245 default:
5246 return isc::dhcp::Dhcp6Parser::make_STRING("thread-pool-size", driver.loc_);
5247 }
5248}
5249 YY_BREAK
5250case 204:
5252#line 2108 "dhcp6_lexer.ll"
5253{
5254 switch(driver.ctx_) {
5257 default:
5258 return isc::dhcp::Dhcp6Parser::make_STRING("packet-queue-size", driver.loc_);
5259 }
5260}
5261 YY_BREAK
5262case 205:
5264#line 2117 "dhcp6_lexer.ll"
5265{
5266 switch(driver.ctx_) {
5269 default:
5270 return isc::dhcp::Dhcp6Parser::make_STRING("control-socket", driver.loc_);
5271 }
5272}
5273 YY_BREAK
5274case 206:
5276#line 2126 "dhcp6_lexer.ll"
5277{
5278 switch(driver.ctx_) {
5280 return isc::dhcp::Dhcp6Parser::make_SOCKET_TYPE(driver.loc_);
5281 default:
5282 return isc::dhcp::Dhcp6Parser::make_STRING("socket-type", driver.loc_);
5283 }
5284}
5285 YY_BREAK
5286case 207:
5288#line 2135 "dhcp6_lexer.ll"
5289{
5290 switch(driver.ctx_) {
5292 return isc::dhcp::Dhcp6Parser::make_SOCKET_NAME(driver.loc_);
5293 default:
5294 return isc::dhcp::Dhcp6Parser::make_STRING("socket-name", driver.loc_);
5295 }
5296}
5297 YY_BREAK
5298case 208:
5300#line 2144 "dhcp6_lexer.ll"
5301{
5302 switch(driver.ctx_) {
5305 default:
5306 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-queue-control", driver.loc_);
5307 }
5308}
5309 YY_BREAK
5310case 209:
5312#line 2153 "dhcp6_lexer.ll"
5313{
5314 switch(driver.ctx_) {
5317 default:
5318 return isc::dhcp::Dhcp6Parser::make_STRING("enable-queue", driver.loc_);
5319 }
5320}
5321 YY_BREAK
5322case 210:
5324#line 2162 "dhcp6_lexer.ll"
5325{
5326 switch(driver.ctx_) {
5328 return isc::dhcp::Dhcp6Parser::make_QUEUE_TYPE(driver.loc_);
5329 default:
5330 return isc::dhcp::Dhcp6Parser::make_STRING("queue-type", driver.loc_);
5331 }
5332}
5333 YY_BREAK
5334case 211:
5336#line 2171 "dhcp6_lexer.ll"
5337{
5338 switch(driver.ctx_) {
5340 return isc::dhcp::Dhcp6Parser::make_CAPACITY(driver.loc_);
5341 default:
5342 return isc::dhcp::Dhcp6Parser::make_STRING("capacity", driver.loc_);
5343 }
5344}
5345 YY_BREAK
5346case 212:
5348#line 2180 "dhcp6_lexer.ll"
5349{
5350 switch(driver.ctx_) {
5352 return isc::dhcp::Dhcp6Parser::make_DHCP_DDNS(driver.loc_);
5353 default:
5354 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-ddns", driver.loc_);
5355 }
5356}
5357 YY_BREAK
5358case 213:
5360#line 2189 "dhcp6_lexer.ll"
5361{
5362 switch(driver.ctx_) {
5365 default:
5366 return isc::dhcp::Dhcp6Parser::make_STRING("early-global-reservations-lookup", driver.loc_);
5367 }
5368}
5369 YY_BREAK
5370case 214:
5372#line 2198 "dhcp6_lexer.ll"
5373{
5374 switch(driver.ctx_) {
5377 default:
5378 return isc::dhcp::Dhcp6Parser::make_STRING("ip-reservations-unique", driver.loc_);
5379 }
5380}
5381 YY_BREAK
5382case 215:
5384#line 2207 "dhcp6_lexer.ll"
5385{
5386 switch(driver.ctx_) {
5389 default:
5390 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-lookup-first", driver.loc_);
5391 }
5392}
5393 YY_BREAK
5394case 216:
5396#line 2216 "dhcp6_lexer.ll"
5397{
5398 switch(driver.ctx_) {
5401 default:
5402 return isc::dhcp::Dhcp6Parser::make_STRING("compatibility", driver.loc_);
5403 }
5404}
5405 YY_BREAK
5406case 217:
5408#line 2225 "dhcp6_lexer.ll"
5409{
5410 switch(driver.ctx_) {
5413 default:
5414 return isc::dhcp::Dhcp6Parser::make_STRING("lenient-option-parsing", driver.loc_);
5415 }
5416}
5417 YY_BREAK
5418case 218:
5420#line 2234 "dhcp6_lexer.ll"
5421{
5422 /* A string has been matched. It contains the actual string and single quotes.
5423 We need to get those quotes out of the way and just use its content, e.g.
5424 for 'foo' we should get foo */
5425 std::string raw(yytext+1);
5426 size_t len = raw.size() - 1;
5427 raw.resize(len);
5428 std::string decoded;
5429 decoded.reserve(len);
5430 for (size_t pos = 0; pos < len; ++pos) {
5431 int b = 0;
5432 char c = raw[pos];
5433 switch (c) {
5434 case '"':
5435 /* impossible condition */
5436 driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
5437 break;
5438 case '\\':
5439 ++pos;
5440 if (pos >= len) {
5441 /* impossible condition */
5442 driver.error(driver.loc_, "Overflow escape in \"" + raw + "\"");
5443 }
5444 c = raw[pos];
5445 switch (c) {
5446 case '"':
5447 case '\\':
5448 case '/':
5449 decoded.push_back(c);
5450 break;
5451 case 'b':
5452 decoded.push_back('\b');
5453 break;
5454 case 'f':
5455 decoded.push_back('\f');
5456 break;
5457 case 'n':
5458 decoded.push_back('\n');
5459 break;
5460 case 'r':
5461 decoded.push_back('\r');
5462 break;
5463 case 't':
5464 decoded.push_back('\t');
5465 break;
5466 case 'u':
5467 /* support only \u0000 to \u00ff */
5468 ++pos;
5469 if (pos + 4 > len) {
5470 /* impossible condition */
5471 driver.error(driver.loc_,
5472 "Overflow unicode escape in \"" + raw + "\"");
5473 }
5474 if ((raw[pos] != '0') || (raw[pos + 1] != '0')) {
5475 driver.error(driver.loc_,
5476 "Unsupported unicode escape in \"" + raw + "\"",
5477 pos + 1);
5478 }
5479 pos += 2;
5480 c = raw[pos];
5481 if ((c >= '0') && (c <= '9')) {
5482 b = (c - '0') << 4;
5483 } else if ((c >= 'A') && (c <= 'F')) {
5484 b = (c - 'A' + 10) << 4;
5485 } else if ((c >= 'a') && (c <= 'f')) {
5486 b = (c - 'a' + 10) << 4;
5487 } else {
5488 /* impossible condition */
5489 driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\"");
5490 }
5491 pos++;
5492 c = raw[pos];
5493 if ((c >= '0') && (c <= '9')) {
5494 b |= c - '0';
5495 } else if ((c >= 'A') && (c <= 'F')) {
5496 b |= c - 'A' + 10;
5497 } else if ((c >= 'a') && (c <= 'f')) {
5498 b |= c - 'a' + 10;
5499 } else {
5500 /* impossible condition */
5501 driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\"");
5502 }
5503 decoded.push_back(static_cast<char>(b & 0xff));
5504 break;
5505 default:
5506 /* impossible condition */
5507 driver.error(driver.loc_, "Bad escape in \"" + raw + "\"");
5508 }
5509 break;
5510 default:
5511 if ((c >= 0) && (c < 0x20)) {
5512 /* impossible condition */
5513 driver.error(driver.loc_, "Invalid control in \"" + raw + "\"");
5514 }
5515 decoded.push_back(c);
5516 }
5517 }
5518
5519 return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_);
5520}
5521 YY_BREAK
5522case 219:
5523/* rule 219 can match eol */
5525#line 2335 "dhcp6_lexer.ll"
5526{
5527 /* Bad string with a forbidden control character inside */
5528 std::string raw(yytext+1);
5529 size_t len = raw.size() - 1;
5530 size_t pos = 0;
5531 for (; pos < len; ++pos) {
5532 char c = raw[pos];
5533 if ((c >= 0) && (c < 0x20)) {
5534 break;
5535 }
5536 }
5537 driver.error(driver.loc_,
5538 "Invalid control in " + std::string(yytext),
5539 pos + 1);
5540}
5541 YY_BREAK
5542case 220:
5543/* rule 220 can match eol */
5545#line 2351 "dhcp6_lexer.ll"
5546{
5547 /* Bad string with a bad escape inside */
5548 std::string raw(yytext+1);
5549 size_t len = raw.size() - 1;
5550 size_t pos = 0;
5551 bool found = false;
5552 for (; pos < len; ++pos) {
5553 if (found) {
5554 break;
5555 }
5556 char c = raw[pos];
5557 if (c == '\\') {
5558 ++pos;
5559 c = raw[pos];
5560 switch (c) {
5561 case '"':
5562 case '\\':
5563 case '/':
5564 case 'b':
5565 case 'f':
5566 case 'n':
5567 case 'r':
5568 case 't':
5569 break;
5570 case 'u':
5571 if ((pos + 4 > len) ||
5572 !std::isxdigit(raw[pos + 1]) ||
5573 !std::isxdigit(raw[pos + 2]) ||
5574 !std::isxdigit(raw[pos + 3]) ||
5575 !std::isxdigit(raw[pos + 4])) {
5576 found = true;
5577 }
5578 break;
5579 default:
5580 found = true;
5581 break;
5582 }
5583 }
5584 }
5585 /* The rule stops on the first " including on \" so add ... in this case */
5586 std::string trailer = "";
5587 if (raw[len - 1] == '\\') {
5588 trailer = "...";
5589 }
5590 driver.error(driver.loc_,
5591 "Bad escape in " + std::string(yytext) + trailer,
5592 pos);
5593}
5594 YY_BREAK
5595case 221:
5597#line 2400 "dhcp6_lexer.ll"
5598{
5599 /* Bad string with an open escape at the end */
5600 std::string raw(yytext+1);
5601 driver.error(driver.loc_,
5602 "Overflow escape in " + std::string(yytext),
5603 raw.size() + 1);
5604}
5605 YY_BREAK
5606case 222:
5608#line 2408 "dhcp6_lexer.ll"
5609{
5610 /* Bad string with an open unicode escape at the end */
5611 std::string raw(yytext+1);
5612 size_t pos = raw.size() - 1;
5613 for (; pos > 0; --pos) {
5614 char c = raw[pos];
5615 if (c == 'u') {
5616 break;
5617 }
5618 }
5619 driver.error(driver.loc_,
5620 "Overflow unicode escape in " + std::string(yytext),
5621 pos + 1);
5622}
5623 YY_BREAK
5624case 223:
5626#line 2423 "dhcp6_lexer.ll"
5627{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
5628 YY_BREAK
5629case 224:
5631#line 2424 "dhcp6_lexer.ll"
5632{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
5633 YY_BREAK
5634case 225:
5636#line 2425 "dhcp6_lexer.ll"
5637{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
5638 YY_BREAK
5639case 226:
5641#line 2426 "dhcp6_lexer.ll"
5642{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
5643 YY_BREAK
5644case 227:
5646#line 2427 "dhcp6_lexer.ll"
5647{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
5648 YY_BREAK
5649case 228:
5651#line 2428 "dhcp6_lexer.ll"
5652{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
5653 YY_BREAK
5654case 229:
5656#line 2430 "dhcp6_lexer.ll"
5657{
5658 /* An integer was found. */
5659 std::string tmp(yytext);
5660 int64_t integer = 0;
5661 try {
5662 /* In substring we want to use negative values (e.g. -1).
5663 In enterprise-id we need to use values up to 0xffffffff.
5664 To cover both of those use cases, we need at least
5665 int64_t. */
5666 integer = boost::lexical_cast<int64_t>(tmp);
5667 } catch (const boost::bad_lexical_cast &) {
5668 driver.error(driver.loc_, "Failed to convert " + tmp + " to an integer.");
5669 }
5670
5671 /* The parser needs the string form as double conversion is no lossless */
5672 return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
5673}
5674 YY_BREAK
5675case 230:
5677#line 2448 "dhcp6_lexer.ll"
5678{
5679 /* A floating point was found. */
5680 std::string tmp(yytext);
5681 double fp = 0.0;
5682 try {
5683 fp = boost::lexical_cast<double>(tmp);
5684 } catch (const boost::bad_lexical_cast &) {
5685 driver.error(driver.loc_, "Failed to convert " + tmp + " to a floating point.");
5686 }
5687
5688 return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
5689}
5690 YY_BREAK
5691case 231:
5693#line 2461 "dhcp6_lexer.ll"
5694{
5695 string tmp(yytext);
5696 return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
5697}
5698 YY_BREAK
5699case 232:
5701#line 2466 "dhcp6_lexer.ll"
5702{
5703 return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
5704}
5705 YY_BREAK
5706case 233:
5708#line 2470 "dhcp6_lexer.ll"
5709driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
5710 YY_BREAK
5711case 234:
5713#line 2472 "dhcp6_lexer.ll"
5714driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
5715 YY_BREAK
5716case 235:
5718#line 2474 "dhcp6_lexer.ll"
5719driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
5720 YY_BREAK
5721case 236:
5723#line 2476 "dhcp6_lexer.ll"
5724driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
5725 YY_BREAK
5726case YY_STATE_EOF(INITIAL):
5727#line 2478 "dhcp6_lexer.ll"
5728{
5729 if (driver.states_.empty()) {
5730 return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
5731 }
5732 driver.loc_ = driver.locs_.back();
5733 driver.locs_.pop_back();
5734 driver.file_ = driver.files_.back();
5735 driver.files_.pop_back();
5736 if (driver.sfile_) {
5737 fclose(driver.sfile_);
5738 driver.sfile_ = 0;
5739 }
5740 if (!driver.sfiles_.empty()) {
5741 driver.sfile_ = driver.sfiles_.back();
5742 driver.sfiles_.pop_back();
5743 }
5744 parser6__delete_buffer(YY_CURRENT_BUFFER);
5745 parser6__switch_to_buffer(driver.states_.back());
5746 driver.states_.pop_back();
5747
5748 BEGIN(DIR_EXIT);
5749}
5750 YY_BREAK
5751case 237:
5753#line 2501 "dhcp6_lexer.ll"
5754ECHO;
5755 YY_BREAK
5756#line 5756 "dhcp6_lexer.cc"
5757
5758 case YY_END_OF_BUFFER:
5759 {
5760 /* Amount of text matched not including the EOB char. */
5761 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5762
5763 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5764 *yy_cp = (yy_hold_char);
5766
5767 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5768 {
5769 /* We're scanning a new file or input source. It's
5770 * possible that this happened because the user
5771 * just pointed yyin at a new source and called
5772 * yylex(). If so, then we have to assure
5773 * consistency between YY_CURRENT_BUFFER and our
5774 * globals. Here is the right place to do so, because
5775 * this is the first action (other than possibly a
5776 * back-up) that will match for the new input source.
5777 */
5778 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5779/* %if-c-only */
5780 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
5781/* %endif */
5782/* %if-c++-only */
5783/* %endif */
5784 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5785 }
5786
5787 /* Note that here we test for yy_c_buf_p "<=" to the position
5788 * of the first EOB in the buffer, since yy_c_buf_p will
5789 * already have been incremented past the NUL character
5790 * (since all states make transitions on EOB to the
5791 * end-of-buffer state). Contrast this with the test
5792 * in input().
5793 */
5794 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5795 { /* This was really a NUL. */
5796 yy_state_type yy_next_state;
5797
5798 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5799
5800 yy_current_state = yy_get_previous_state( );
5801
5802 /* Okay, we're now positioned to make the NUL
5803 * transition. We couldn't have
5804 * yy_get_previous_state() go ahead and do it
5805 * for us because it doesn't know how to deal
5806 * with the possibility of jamming (and we don't
5807 * want to build jamming into it because then it
5808 * will run more slowly).
5809 */
5810
5811 yy_next_state = yy_try_NUL_trans( yy_current_state );
5812
5814
5815 if ( yy_next_state )
5816 {
5817 /* Consume the NUL. */
5818 yy_cp = ++(yy_c_buf_p);
5819 yy_current_state = yy_next_state;
5820 goto yy_match;
5821 }
5822
5823 else
5824 {
5825/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
5826 yy_cp = (yy_last_accepting_cpos);
5827 yy_current_state = (yy_last_accepting_state);
5828 goto yy_find_action;
5829 }
5830 }