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