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