diff options
author | Andrei Pavel <andrei.pavel@qualitance.com> | 2017-08-17 19:54:15 +0200 |
---|---|---|
committer | Andrei Pavel <andrei.pavel@qualitance.com> | 2017-08-17 19:54:15 +0200 |
commit | a8f6403d1b44f62ebb3dd3085e401b46767003a0 (patch) | |
tree | 00df52bd413b27ed04097164021251f8e8ec6c80 /src/bin/dhcp6/dhcp6_lexer.cc | |
parent | Removed duplicate include (diff) | |
parent | [master] Added ChangeLog 1288 for trac 5315. (diff) | |
download | kea-a8f6403d1b44f62ebb3dd3085e401b46767003a0.tar.xz kea-a8f6403d1b44f62ebb3dd3085e401b46767003a0.zip |
Merge branch 'isc-master' into config-h
Diffstat (limited to 'src/bin/dhcp6/dhcp6_lexer.cc')
-rw-r--r-- | src/bin/dhcp6/dhcp6_lexer.cc | 3290 |
1 files changed, 2249 insertions, 1041 deletions
diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index 02bad281aa..7f36e63a73 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -1,22 +1,27 @@ -#line 2 "dhcp6_lexer.cc" +#line 1 "dhcp6_lexer.cc" -#line 4 "dhcp6_lexer.cc" +#line 3 "dhcp6_lexer.cc" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ /* %not-for-header */ - /* %if-c-only */ /* %if-not-reentrant */ #define yy_create_buffer parser6__create_buffer #define yy_delete_buffer parser6__delete_buffer -#define yy_flex_debug parser6__flex_debug +#define yy_scan_buffer parser6__scan_buffer +#define yy_scan_string parser6__scan_string +#define yy_scan_bytes parser6__scan_bytes #define yy_init_buffer parser6__init_buffer #define yy_flush_buffer parser6__flush_buffer #define yy_load_buffer_state parser6__load_buffer_state #define yy_switch_to_buffer parser6__switch_to_buffer +#define yypush_buffer_state parser6_push_buffer_state +#define yypop_buffer_state parser6_pop_buffer_state +#define yyensure_buffer_stack parser6_ensure_buffer_stack +#define yy_flex_debug parser6__flex_debug #define yyin parser6_in #define yyleng parser6_leng #define yylex parser6_lex @@ -36,7 +41,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 1 +#define YY_FLEX_SUBMINOR_VERSION 4 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -45,11 +50,244 @@ /* %endif */ /* %if-c-only */ - +#ifdef yy_create_buffer +#define parser6__create_buffer_ALREADY_DEFINED +#else +#define yy_create_buffer parser6__create_buffer +#endif + +#ifdef yy_delete_buffer +#define parser6__delete_buffer_ALREADY_DEFINED +#else +#define yy_delete_buffer parser6__delete_buffer +#endif + +#ifdef yy_scan_buffer +#define parser6__scan_buffer_ALREADY_DEFINED +#else +#define yy_scan_buffer parser6__scan_buffer +#endif + +#ifdef yy_scan_string +#define parser6__scan_string_ALREADY_DEFINED +#else +#define yy_scan_string parser6__scan_string +#endif + +#ifdef yy_scan_bytes +#define parser6__scan_bytes_ALREADY_DEFINED +#else +#define yy_scan_bytes parser6__scan_bytes +#endif + +#ifdef yy_init_buffer +#define parser6__init_buffer_ALREADY_DEFINED +#else +#define yy_init_buffer parser6__init_buffer +#endif + +#ifdef yy_flush_buffer +#define parser6__flush_buffer_ALREADY_DEFINED +#else +#define yy_flush_buffer parser6__flush_buffer +#endif + +#ifdef yy_load_buffer_state +#define parser6__load_buffer_state_ALREADY_DEFINED +#else +#define yy_load_buffer_state parser6__load_buffer_state +#endif + +#ifdef yy_switch_to_buffer +#define parser6__switch_to_buffer_ALREADY_DEFINED +#else +#define yy_switch_to_buffer parser6__switch_to_buffer +#endif + +#ifdef yypush_buffer_state +#define parser6_push_buffer_state_ALREADY_DEFINED +#else +#define yypush_buffer_state parser6_push_buffer_state +#endif + +#ifdef yypop_buffer_state +#define parser6_pop_buffer_state_ALREADY_DEFINED +#else +#define yypop_buffer_state parser6_pop_buffer_state +#endif + +#ifdef yyensure_buffer_stack +#define parser6_ensure_buffer_stack_ALREADY_DEFINED +#else +#define yyensure_buffer_stack parser6_ensure_buffer_stack +#endif + +#ifdef yylex +#define parser6_lex_ALREADY_DEFINED +#else +#define yylex parser6_lex +#endif + +#ifdef yyrestart +#define parser6_restart_ALREADY_DEFINED +#else +#define yyrestart parser6_restart +#endif + +#ifdef yylex_init +#define parser6_lex_init_ALREADY_DEFINED +#else +#define yylex_init parser6_lex_init +#endif + +#ifdef yylex_init_extra +#define parser6_lex_init_extra_ALREADY_DEFINED +#else +#define yylex_init_extra parser6_lex_init_extra +#endif + +#ifdef yylex_destroy +#define parser6_lex_destroy_ALREADY_DEFINED +#else +#define yylex_destroy parser6_lex_destroy +#endif + +#ifdef yyget_debug +#define parser6_get_debug_ALREADY_DEFINED +#else +#define yyget_debug parser6_get_debug +#endif + +#ifdef yyset_debug +#define parser6_set_debug_ALREADY_DEFINED +#else +#define yyset_debug parser6_set_debug +#endif + +#ifdef yyget_extra +#define parser6_get_extra_ALREADY_DEFINED +#else +#define yyget_extra parser6_get_extra +#endif + +#ifdef yyset_extra +#define parser6_set_extra_ALREADY_DEFINED +#else +#define yyset_extra parser6_set_extra +#endif + +#ifdef yyget_in +#define parser6_get_in_ALREADY_DEFINED +#else +#define yyget_in parser6_get_in +#endif + +#ifdef yyset_in +#define parser6_set_in_ALREADY_DEFINED +#else +#define yyset_in parser6_set_in +#endif + +#ifdef yyget_out +#define parser6_get_out_ALREADY_DEFINED +#else +#define yyget_out parser6_get_out +#endif + +#ifdef yyset_out +#define parser6_set_out_ALREADY_DEFINED +#else +#define yyset_out parser6_set_out +#endif + +#ifdef yyget_leng +#define parser6_get_leng_ALREADY_DEFINED +#else +#define yyget_leng parser6_get_leng +#endif + +#ifdef yyget_text +#define parser6_get_text_ALREADY_DEFINED +#else +#define yyget_text parser6_get_text +#endif + +#ifdef yyget_lineno +#define parser6_get_lineno_ALREADY_DEFINED +#else +#define yyget_lineno parser6_get_lineno +#endif + +#ifdef yyset_lineno +#define parser6_set_lineno_ALREADY_DEFINED +#else +#define yyset_lineno parser6_set_lineno +#endif + +#ifdef yywrap +#define parser6_wrap_ALREADY_DEFINED +#else +#define yywrap parser6_wrap +#endif + /* %endif */ +#ifdef yyalloc +#define parser6_alloc_ALREADY_DEFINED +#else +#define yyalloc parser6_alloc +#endif + +#ifdef yyrealloc +#define parser6_realloc_ALREADY_DEFINED +#else +#define yyrealloc parser6_realloc +#endif + +#ifdef yyfree +#define parser6_free_ALREADY_DEFINED +#else +#define yyfree parser6_free +#endif + /* %if-c-only */ +#ifdef yytext +#define parser6_text_ALREADY_DEFINED +#else +#define yytext parser6_text +#endif + +#ifdef yyleng +#define parser6_leng_ALREADY_DEFINED +#else +#define yyleng parser6_leng +#endif + +#ifdef yyin +#define parser6_in_ALREADY_DEFINED +#else +#define yyin parser6_in +#endif + +#ifdef yyout +#define parser6_out_ALREADY_DEFINED +#else +#define yyout parser6_out +#endif + +#ifdef yy_flex_debug +#define parser6__flex_debug_ALREADY_DEFINED +#else +#define yy_flex_debug parser6__flex_debug +#endif + +#ifdef yylineno +#define parser6_lineno_ALREADY_DEFINED +#else +#define yylineno parser6_lineno +#endif + /* %endif */ /* First, we deal with platform-specific or compiler-specific issues. */ @@ -127,12 +365,17 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + #endif /* ! C99 */ #endif /* ! FLEXINT_H */ /* %endif */ +/* begin standard C++ headers. */ /* %if-c++-only */ /* %endif */ @@ -146,19 +389,15 @@ typedef unsigned int flex_uint32_t; #endif /* %not-for-header */ - /* Returned upon end-of-file. */ #define YY_NULL 0 /* %ok-for-header */ /* %not-for-header */ - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) /* %ok-for-header */ /* %if-reentrant */ @@ -173,20 +412,16 @@ typedef unsigned int flex_uint32_t; * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * - /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START - /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE parser6_restart(parser6_in ) - +#define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ @@ -217,19 +452,19 @@ typedef size_t yy_size_t; #endif /* %if-not-reentrant */ -extern int parser6_leng; +extern int yyleng; /* %endif */ /* %if-c-only */ /* %if-not-reentrant */ -extern FILE *parser6_in, *parser6_out; +extern FILE *yyin, *yyout; /* %endif */ /* %endif */ #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - + #define YY_LESS_LINENO(n) #define YY_LINENO_REWIND_TO(ptr) @@ -237,16 +472,15 @@ extern FILE *parser6_in, *parser6_out; #define yyless(n) \ do \ { \ - /* Undo effects of setting up parser6_text. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up parser6_text again */ \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) - #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -294,7 +528,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -311,8 +545,8 @@ struct yy_buffer_state * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via parser6_restart()), so that the user can continue scanning by - * just pointing parser6_in at a new input file. + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 @@ -321,7 +555,6 @@ struct yy_buffer_state /* %if-c-only Standard (non-C++) definition */ /* %not-for-header */ - /* %if-not-reentrant */ /* Stack of input buffers. */ @@ -342,7 +575,6 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) - /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ @@ -352,123 +584,115 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* %if-not-reentrant */ /* %not-for-header */ - -/* yy_hold_char holds the character lost when parser6_text is formed. */ +/* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int parser6_leng; +int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ -/* Flag which is used to allow parser6_wrap()'s to do buffer switches - * instead of setting up a fresh parser6_in. A bit of a hack ... +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; /* %ok-for-header */ /* %endif */ -void parser6_restart (FILE *input_file ); -void parser6__switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE parser6__create_buffer (FILE *file,int size ); -void parser6__delete_buffer (YY_BUFFER_STATE b ); -void parser6__flush_buffer (YY_BUFFER_STATE b ); -void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ); -void parser6_pop_buffer_state (void ); - -static void parser6_ensure_buffer_stack (void ); -static void parser6__load_buffer_state (void ); -static void parser6__init_buffer (YY_BUFFER_STATE b,FILE *file ); +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void ); -#define YY_FLUSH_BUFFER parser6__flush_buffer(YY_CURRENT_BUFFER ) +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) -YY_BUFFER_STATE parser6__scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE parser6__scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE parser6__scan_bytes (yyconst char *bytes,int len ); +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); /* %endif */ -void *parser6_alloc (yy_size_t ); -void *parser6_realloc (void *,yy_size_t ); -void parser6_free (void * ); - -#define yy_new_buffer parser6__create_buffer +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * ); +#define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ - parser6_ensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - parser6__create_buffer(parser6_in,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } - #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ - parser6_ensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - parser6__create_buffer(parser6_in,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } - #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) -/* %% [1.0] parser6_text/parser6_in/parser6_out/yy_state_type/parser6_lineno etc. def's & init go here */ +/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */ /* Begin user sect3 */ #define parser6_wrap() (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP #define FLEX_DEBUG +typedef flex_uint8_t YY_CHAR; -typedef unsigned char YY_CHAR; - -FILE *parser6_in = NULL, *parser6_out = NULL; +FILE *yyin = NULL, *yyout = NULL; typedef int yy_state_type; -extern int parser6_lineno; - -int parser6_lineno = 1; +extern int yylineno; +int yylineno = 1; -extern char *parser6_text; +extern char *yytext; #ifdef yytext_ptr #undef yytext_ptr #endif -#define yytext_ptr parser6_text +#define yytext_ptr yytext /* %% [1.5] DFA */ /* %if-c-only Standard (non-C++) definition */ -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yynoreturn yy_fatal_error (yyconst char* msg ); +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg ); /* %endif */ /* Done after the current pattern has been matched and before the - * corresponding action - sets up parser6_text. + * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ -/* %% [2.0] code to fiddle parser6_text and parser6_leng for yymore() goes here \ */\ - parser6_leng = (int) (yy_cp - yy_bp); \ +/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ + yyleng = (int) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ -/* %% [3.0] code to copy yytext_ptr to parser6_text[] goes here, if %array \ */\ +/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; - /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 106 -#define YY_END_OF_BUFFER 107 +#define YY_NUM_RULES 160 +#define YY_END_OF_BUFFER 161 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -476,94 +700,148 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[759] = +static const flex_int16_t yy_accept[1251] = { 0, - 102, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 107, 105, 10, 11, 105, 1, 102, 99, 102, 102, - 105, 101, 100, 105, 105, 95, 96, 105, 105, 105, - 97, 98, 5, 5, 5, 105, 105, 105, 10, 11, - 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, + 153, 153, 0, 0, 0, 0, 0, 0, 0, 0, + 161, 159, 10, 11, 159, 1, 153, 150, 153, 153, + 159, 152, 151, 159, 159, 159, 159, 159, 146, 147, + 159, 159, 159, 148, 149, 5, 5, 5, 159, 159, + 159, 10, 11, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 102, 102, 0, 101, 102, 3, 2, - 6, 0, 102, 0, 0, 0, 4, 0, 0, 9, - 0, 92, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 153, + 153, 0, 152, 153, 3, 2, 6, 0, 153, 0, + 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 121, 0, 0, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 104, 103, 0, + 0, 0, 0, 0, 0, 0, 158, 156, 0, 155, + 154, 0, 0, 0, 0, 0, 0, 0, 120, 0, + 0, 27, 0, 26, 0, 0, 85, 0, 0, 0, + 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 157, 154, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, + 30, 0, 0, 0, 0, 0, 86, 0, 0, 0, + + 0, 65, 0, 0, 0, 0, 0, 0, 105, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, - 33, 0, 0, 0, 0, 0, 64, 0, 0, 0, - 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, - - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, - 80, 18, 19, 0, 0, 0, 0, 89, 12, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, - 0, 72, 0, 0, 0, 0, 0, 0, 67, 0, - 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, + 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 74, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 125, 42, 0, 47, 0, + 0, 0, 0, 0, 0, 139, 35, 0, 32, 0, + 31, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 0, 0, 0, 0, 0, 0, 36, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, + 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, + 0, 0, 7, 33, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 42, 0, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, + 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, - 53, 0, 0, 0, 0, 0, 0, 22, 0, 0, + 76, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 29, 0, 84, 90, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 118, 91, 0, 0, 0, 95, 43, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 20, 35, 0, 0, 63, 0, 17, - 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 61, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, - 0, 0, 68, 56, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 78, 0, 14, 0, 73, - 0, 0, 0, 0, 0, 30, 0, 75, 0, 37, + 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 107, 0, 0, 0, 0, 0, 54, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 48, 68, 0, 0, 0, 104, 0, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, + 16, 0, 119, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, + 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 106, 123, 0, 37, 0, + 115, 0, 0, 0, 0, 0, 0, 20, 0, 0, + 62, 0, 0, 0, 0, 117, 45, 0, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 0, 0, 0, 63, 84, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 0, 0, 0, 17, 15, 137, 136, 0, 0, 0, + + 0, 0, 29, 0, 100, 0, 0, 0, 0, 0, + 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 103, 0, 52, 0, 0, 0, + 19, 0, 0, 0, 0, 0, 80, 59, 0, 111, + 0, 0, 0, 102, 0, 75, 0, 141, 0, 0, + 0, 0, 0, 0, 0, 73, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 31, 0, 0, - 0, 0, 0, 0, 26, 0, 0, 87, 86, 0, - 59, 0, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 0, 44, 0, 62, 0, 23, 0, 0, 46, - 27, 69, 0, 0, 61, 0, 0, 0, 0, 40, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 58, 85, 0, 0, 0, 0, 0, - 16, 0, 15, 54, 0, 0, 0, 25, 0, 38, - - 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 24, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 50, 0, 0, 0, 28, - 0, 0, 82, 0, 0, 0, 51, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 99, 0, 55, 135, 0, 12, + 0, 0, 0, 0, 0, 0, 0, 40, 0, 39, + + 18, 0, 0, 92, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 57, 0, 0, 53, 0, 71, 0, + 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 0, 22, 56, 0, 0, 0, + 0, 21, 0, 72, 0, 0, 130, 0, 0, 0, + + 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 23, 0, 88, 0, 0, 0, 0, + 0, 128, 133, 60, 0, 0, 0, 127, 0, 0, + 0, 0, 0, 0, 0, 89, 0, 0, 129, 0 } ; -static yyconst YY_CHAR yy_ec[256] = +static const YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, @@ -571,14 +849,14 @@ static yyconst YY_CHAR yy_ec[256] = 1, 4, 5, 6, 7, 5, 5, 5, 5, 5, 5, 8, 9, 10, 11, 12, 13, 14, 14, 14, 14, 15, 14, 16, 14, 14, 14, 17, 5, 18, - 5, 19, 20, 5, 21, 21, 21, 22, 23, 21, - 5, 5, 5, 5, 5, 24, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 25, 26, 27, 5, 28, 5, 29, 30, 31, 32, - - 33, 34, 35, 36, 37, 5, 38, 39, 40, 41, - 42, 43, 5, 44, 45, 46, 47, 48, 49, 50, - 51, 5, 52, 5, 53, 5, 5, 5, 5, 5, + 5, 19, 20, 5, 21, 22, 23, 24, 25, 26, + 5, 27, 5, 28, 5, 29, 5, 30, 31, 32, + 5, 33, 34, 35, 36, 37, 38, 5, 39, 5, + 40, 41, 42, 5, 43, 5, 44, 45, 46, 47, + + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 5, 71, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -595,456 +873,707 @@ static yyconst YY_CHAR yy_ec[256] = 5, 5, 5, 5, 5 } ; -static yyconst YY_CHAR yy_meta[54] = +static const YY_CHAR yy_meta[72] = { 0, 1, 1, 2, 3, 3, 4, 3, 3, 3, 3, - 3, 3, 5, 6, 6, 6, 3, 3, 3, 3, - 6, 6, 6, 3, 3, 5, 3, 3, 6, 7, - 6, 6, 6, 7, 3, 3, 3, 3, 3, 3, - 5, 3, 3, 5, 3, 5, 5, 3, 3, 3, - 3, 3, 3 + 3, 3, 3, 5, 5, 5, 3, 3, 3, 3, + 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 5, 5, 5, 5, 5, 5, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3 } ; -static yyconst flex_uint16_t yy_base[771] = +static const flex_int16_t yy_base[1263] = { 0, - 0, 0, 52, 55, 58, 0, 56, 60, 41, 57, - 1021, 1022, 78, 1017, 111, 0, 153, 1022, 158, 73, - 71, 173, 1022, 999, 168, 1022, 1022, 989, 970, 972, - 1022, 1022, 1022, 96, 1002, 973, 0, 994, 99, 1009, - 169, 185, 1022, 975, 968, 228, 965, 63, 161, 130, - 156, 160, 178, 979, 978, 43, 206, 171, 204, 212, - 961, 190, 0, 245, 265, 275, 280, 250, 1022, 0, - 1022, 228, 241, 966, 965, 956, 1022, 971, 995, 1022, - 187, 1022, 953, 968, 963, 991, 0, 300, 952, 958, - 235, 946, 947, 269, 961, 954, 239, 135, 259, 939, - - 978, 276, 942, 976, 957, 954, 954, 948, 951, 941, - 934, 933, 208, 967, 933, 934, 942, 931, 296, 192, - 942, 943, 941, 925, 929, 925, 934, 927, 921, 0, - 919, 924, 929, 922, 1022, 0, 917, 924, 952, 1022, - 328, 928, 923, 922, 908, 942, 923, 904, 911, 916, - 905, 915, 917, 912, 905, 906, 904, 895, 897, 910, - 1022, 897, 904, 907, 890, 923, 889, 897, 920, 897, - 892, 885, 898, 881, 882, 879, 884, 888, 884, 888, - 882, 876, 888, 883, 882, 866, 880, 874, 880, 869, - 863, 875, 874, 862, 868, 859, 870, 1022, 1022, 855, - - 0, 290, 864, 349, 849, 858, 892, 853, 862, 889, - 859, 856, 857, 282, 885, 847, 845, 841, 843, 841, - 362, 852, 852, 837, 838, 849, 847, 842, 849, 844, - 831, 869, 832, 826, 832, 822, 828, 832, 265, 274, - 836, 825, 825, 821, 813, 814, 818, 828, 816, 826, - 825, 824, 850, 849, 848, 847, 820, 814, 818, 0, - 843, 842, 815, 805, 394, 839, 798, 1022, 801, 800, - 1022, 802, 799, 810, 806, 795, 1022, 791, 792, 802, - 800, 821, 1022, 787, 801, 818, 822, 795, 789, 791, - 792, 812, 781, 777, 776, 777, 1022, 777, 771, 783, - - 773, 772, 768, 1022, 806, 767, 760, 798, 767, 775, - 774, 313, 794, 756, 759, 765, 755, 794, 753, 1022, - 1022, 1022, 1022, 787, 755, 763, 0, 1022, 1022, 754, - 759, 1022, 782, 753, 747, 757, 756, 742, 755, 770, - 738, 740, 750, 750, 742, 747, 739, 746, 1022, 733, - 742, 746, 730, 741, 726, 720, 725, 722, 757, 311, - 721, 722, 726, 718, 1022, 719, 334, 731, 722, 749, - 748, 1022, 713, 711, 727, 744, 708, 742, 1022, 312, - 713, 710, 1022, 705, 743, 717, 736, 706, 697, 733, - 710, 701, 730, 701, 702, 706, 726, 699, 690, 701, - - 704, 699, 694, 699, 696, 699, 694, 720, 719, 680, - 691, 1022, 680, 688, 688, 674, 712, 684, 1022, 677, - 670, 672, 662, 666, 665, 663, 672, 662, 670, 655, - 306, 1022, 699, 667, 697, 696, 1022, 662, 655, 670, - 665, 654, 664, 650, 651, 664, 647, 680, 651, 659, - 655, 681, 640, 640, 651, 650, 637, 635, 636, 1022, - 1022, 648, 355, 635, 633, 670, 669, 1022, 642, 640, - 666, 631, 664, 632, 617, 624, 626, 628, 632, 657, - 633, 610, 1022, 626, 1022, 1022, 630, 616, 611, 617, - 611, 643, 647, 610, 605, 617, 606, 615, 603, 602, - - 1022, 616, 599, 599, 342, 597, 612, 592, 606, 592, - 603, 590, 590, 1022, 1022, 623, 592, 1022, 592, 1022, - 591, 587, 586, 595, 585, 620, 1022, 585, 581, 590, - 577, 590, 614, 613, 576, 578, 1022, 572, 582, 603, - 569, 583, 582, 562, 579, 602, 601, 1022, 569, 363, - 360, 575, 575, 558, 573, 595, 563, 593, 559, 591, - 559, 562, 561, 554, 548, 550, 1022, 557, 556, 542, - 542, 548, 1022, 1022, 555, 551, 537, 576, 544, 547, - 534, 534, 548, 547, 1022, 1022, 543, 1022, 543, 1022, - 528, 543, 532, 564, 563, 1022, 526, 1022, 530, 1022, - - 520, 521, 519, 526, 556, 291, 555, 554, 522, 369, - 525, 528, 515, 549, 1022, 522, 519, 519, 514, 504, - 504, 542, 505, 540, 500, 538, 1022, 1022, 502, 508, - 535, 534, 533, 505, 1022, 497, 530, 1022, 1022, 495, - 1022, 489, 487, 486, 525, 1022, 524, 492, 483, 480, - 468, 453, 1022, 443, 1022, 444, 1022, 62, 76, 1022, - 1022, 1022, 167, 168, 1022, 254, 314, 332, 309, 1022, - 1022, 304, 344, 311, 334, 371, 351, 380, 383, 344, - 380, 360, 388, 1022, 1022, 353, 390, 354, 392, 358, - 1022, 363, 1022, 1022, 367, 363, 373, 1022, 370, 1022, - - 373, 369, 1022, 403, 383, 379, 377, 415, 411, 396, - 388, 394, 426, 400, 388, 1022, 392, 395, 406, 406, - 1022, 433, 403, 408, 436, 410, 411, 1022, 403, 402, - 1022, 402, 407, 408, 413, 406, 406, 408, 412, 418, - 419, 451, 426, 418, 426, 1022, 455, 427, 426, 1022, - 458, 432, 1022, 422, 422, 462, 1022, 1022, 468, 475, - 482, 489, 496, 503, 507, 512, 514, 516, 518, 520 + 0, 70, 19, 29, 41, 49, 52, 58, 87, 95, + 1612, 1613, 32, 1608, 141, 0, 201, 1613, 206, 88, + 11, 213, 1613, 1590, 114, 25, 2, 6, 1613, 1613, + 73, 11, 17, 1613, 1613, 1613, 104, 1596, 1551, 0, + 1588, 107, 1603, 217, 241, 1613, 185, 1547, 1553, 1573, + 93, 58, 190, 91, 211, 200, 14, 267, 213, 175, + 269, 64, 231, 1554, 187, 75, 1553, 274, 188, 290, + 276, 295, 1536, 195, 296, 324, 305, 1555, 0, 334, + 349, 364, 374, 379, 1613, 0, 1613, 267, 295, 290, + 322, 282, 329, 352, 332, 1613, 1552, 1591, 1613, 360, + + 1613, 385, 345, 1539, 1549, 1588, 358, 220, 249, 1543, + 363, 370, 367, 373, 289, 1586, 0, 436, 370, 1530, + 1538, 359, 1534, 1523, 1524, 364, 1540, 1523, 1532, 374, + 200, 369, 1526, 383, 1514, 1570, 321, 1517, 1568, 1510, + 1533, 1530, 1530, 1524, 368, 1517, 1510, 1515, 1509, 1520, + 1505, 1504, 1518, 362, 1554, 1503, 382, 1515, 1518, 1502, + 410, 409, 1514, 1515, 1513, 1495, 1500, 1496, 1488, 1505, + 1497, 0, 413, 424, 438, 430, 439, 448, 1496, 1613, + 0, 455, 1487, 1490, 1613, 443, 382, 1613, 1542, 1497, + 453, 1540, 462, 1539, 441, 1538, 1613, 497, 1537, 470, + + 1498, 1493, 1492, 432, 1533, 1527, 1493, 1472, 1480, 1486, + 1474, 1488, 1484, 1485, 1485, 1480, 1472, 1474, 1458, 1462, + 1475, 1475, 1467, 1457, 1460, 1474, 1613, 1460, 1468, 1471, + 1452, 1451, 1501, 1450, 1460, 1498, 486, 1459, 1447, 1458, + 1494, 1498, 1451, 9, 1441, 1457, 1438, 1440, 1436, 1442, + 1433, 1432, 1445, 1438, 1440, 1444, 1443, 1437, 80, 1444, + 1439, 1431, 1437, 1437, 1418, 1434, 1427, 1434, 1422, 1415, + 1429, 1428, 1431, 1413, 1421, 468, 1613, 1613, 477, 1613, + 1613, 1408, 0, 449, 1410, 491, 478, 1464, 1613, 1417, + 467, 1613, 1462, 1613, 1456, 538, 1613, 465, 1398, 1408, + + 1458, 1415, 486, 1613, 1413, 1455, 1410, 1407, 1408, 516, + 1412, 1450, 1400, 1395, 1392, 1388, 1390, 1439, 1398, 1387, + 1436, 1384, 518, 1397, 1397, 1380, 1381, 1394, 1381, 1391, + 1386, 1393, 1388, 1373, 448, 1382, 1385, 1380, 1376, 1424, + 490, 1613, 1371, 1370, 1363, 1365, 1369, 1358, 1365, 1370, + 526, 1415, 1370, 486, 1367, 1371, 1369, 1358, 1358, 1370, + 1352, 1344, 1345, 1366, 1348, 1360, 1359, 1345, 1357, 1356, + 1355, 1396, 1395, 1394, 1338, 529, 1351, 1613, 1613, 1350, + 0, 503, 1338, 1389, 1388, 1346, 1386, 1613, 1334, 1384, + 1613, 536, 582, 516, 1383, 1325, 1613, 1341, 1340, 1327, + + 1326, 1613, 1328, 1325, 1337, 1333, 1321, 1323, 1613, 1329, + 1314, 1316, 1327, 1325, 1320, 561, 1327, 1309, 1358, 1613, + 1307, 1323, 1355, 1359, 1317, 1311, 1313, 1314, 1316, 1348, + 1301, 1296, 1295, 1297, 1290, 1305, 1283, 1290, 1295, 1343, + 1613, 1290, 1286, 1289, 1296, 1281, 1291, 1294, 1283, 1282, + 1277, 1613, 1332, 1613, 1276, 1275, 1268, 1285, 1322, 1269, + 1274, 1283, 1277, 1281, 563, 1316, 1280, 1260, 1263, 1262, + 1270, 1258, 1314, 1256, 1613, 1613, 1613, 1261, 1613, 1271, + 1305, 1267, 0, 1308, 1258, 1613, 1613, 1255, 1613, 1261, + 1613, 542, 538, 570, 1613, 1299, 1246, 1245, 1252, 1245, + + 1257, 1256, 1240, 1255, 1285, 1252, 1288, 1234, 1236, 1248, + 1248, 1247, 1613, 1232, 1229, 1243, 1235, 1241, 1232, 1240, + 1613, 1225, 1236, 1240, 1222, 1236, 1234, 1217, 1211, 1216, + 1213, 1228, 1229, 1226, 1267, 1224, 1613, 1210, 1212, 1258, + 1257, 549, 1220, 1203, 1204, 1209, 1200, 1613, 1214, 1200, + 603, 1192, 1213, 1210, 1202, 1245, 1199, 1243, 1613, 1191, + 1189, 1203, 1206, 1238, 1237, 1184, 1235, 1613, 573, 1197, + 1186, 1188, 1613, 1613, 1231, 1179, 1234, 555, 569, 539, + 1193, 1227, 1226, 1225, 1179, 1169, 1222, 1184, 1174, 1219, + 1182, 1164, 1172, 1174, 1178, 1213, 1217, 1174, 1173, 1174, + + 1167, 1156, 1169, 1172, 1167, 1162, 1167, 1164, 1163, 1166, + 1161, 1202, 1201, 1145, 1141, 1149, 1197, 1613, 1196, 1145, + 1137, 1152, 1139, 1613, 1139, 1148, 1147, 1147, 1131, 1186, + 1129, 1142, 1613, 1134, 1126, 1135, 1128, 1139, 1116, 1120, + 1171, 1118, 1116, 1127, 1167, 1114, 518, 560, 1108, 553, + 1613, 1169, 1127, 1116, 1120, 1127, 1164, 1613, 1158, 577, + 1111, 1119, 1111, 1102, 1105, 1101, 1118, 1113, 1101, 1112, + 1096, 1098, 1150, 1096, 1110, 1091, 1141, 1096, 1613, 1104, + 1102, 1093, 1102, 1098, 1139, 1081, 1081, 1094, 1093, 1078, + 1133, 1075, 1076, 1613, 1613, 1090, 1087, 1090, 1613, 1613, + + 1089, 1074, 576, 1073, 1071, 1118, 1067, 1121, 1120, 1613, + 1065, 1077, 1075, 1116, 1064, 1064, 1056, 1112, 1065, 1053, + 1047, 1055, 3, 78, 74, 182, 202, 566, 205, 365, + 371, 422, 1613, 525, 493, 508, 508, 1613, 583, 596, + 556, 565, 579, 580, 575, 576, 572, 581, 576, 627, + 634, 583, 1613, 596, 582, 598, 588, 600, 594, 639, + 608, 592, 593, 1613, 611, 594, 596, 652, 597, 1613, + 616, 596, 614, 653, 613, 603, 621, 605, 620, 612, + 608, 626, 611, 1613, 1613, 619, 664, 619, 1613, 627, + 622, 673, 1613, 624, 629, 623, 625, 637, 631, 629, + + 682, 628, 684, 685, 631, 1613, 637, 635, 634, 648, + 649, 650, 666, 671, 645, 655, 641, 648, 653, 660, + 701, 702, 651, 655, 1613, 650, 668, 665, 704, 655, + 673, 674, 660, 668, 677, 657, 678, 718, 719, 1613, + 674, 723, 724, 686, 688, 671, 673, 680, 731, 680, + 695, 734, 686, 690, 688, 686, 739, 740, 692, 742, + 738, 698, 1613, 703, 696, 705, 699, 694, 704, 700, + 1613, 695, 1613, 1613, 696, 712, 713, 714, 696, 701, + 708, 741, 732, 704, 763, 708, 723, 716, 720, 1613, + 1613, 730, 728, 714, 715, 773, 728, 733, 720, 731, + + 723, 729, 725, 743, 744, 1613, 1613, 743, 1613, 745, + 1613, 730, 749, 739, 790, 745, 787, 1613, 744, 794, + 1613, 795, 744, 751, 793, 1613, 1613, 753, 1613, 744, + 744, 747, 761, 748, 759, 806, 765, 803, 809, 810, + 811, 812, 773, 757, 769, 759, 789, 818, 778, 1613, + 820, 769, 765, 781, 786, 774, 826, 785, 1613, 787, + 786, 788, 781, 790, 791, 788, 778, 780, 837, 786, + 839, 784, 841, 1613, 779, 794, 844, 1613, 1613, 795, + 805, 790, 806, 792, 852, 853, 799, 855, 814, 1613, + 806, 808, 860, 1613, 1613, 1613, 1613, 812, 863, 814, + + 865, 847, 1613, 825, 1613, 812, 811, 814, 814, 815, + 873, 1613, 818, 875, 830, 821, 836, 836, 839, 839, + 836, 841, 1613, 833, 1613, 843, 1613, 844, 845, 842, + 1613, 834, 840, 839, 851, 851, 1613, 1613, 890, 1613, + 855, 840, 846, 1613, 861, 1613, 858, 1613, 877, 897, + 903, 847, 905, 906, 861, 1613, 908, 1613, 848, 905, + 870, 866, 908, 858, 863, 916, 874, 918, 919, 882, + 871, 922, 866, 883, 868, 883, 867, 924, 925, 890, + 886, 933, 905, 892, 1613, 936, 1613, 1613, 885, 1613, + 938, 886, 935, 880, 885, 944, 894, 1613, 900, 1613, + + 1613, 891, 906, 1613, 944, 912, 905, 906, 915, 902, + 904, 914, 907, 1613, 958, 905, 1613, 909, 1613, 912, + 908, 907, 965, 920, 1613, 962, 924, 927, 970, 913, + 915, 923, 913, 929, 923, 939, 978, 974, 1613, 939, + 976, 940, 931, 938, 1613, 935, 940, 987, 932, 1613, + 936, 948, 949, 992, 936, 937, 945, 1613, 956, 946, + 945, 948, 960, 951, 960, 962, 1613, 1004, 964, 1006, + 1007, 1613, 1003, 963, 968, 949, 1012, 971, 1014, 973, + 974, 1017, 976, 1613, 981, 1613, 1613, 963, 969, 1022, + 983, 1613, 969, 1613, 969, 971, 1613, 976, 971, 983, + + 979, 1613, 982, 986, 977, 1029, 978, 994, 987, 982, + 997, 988, 995, 982, 997, 1044, 1003, 1046, 991, 1007, + 998, 1012, 1008, 1613, 1052, 1613, 1053, 1054, 1011, 1010, + 1011, 1613, 1613, 1613, 1058, 1002, 1018, 1613, 1056, 1007, + 1006, 1008, 1019, 1066, 1017, 1613, 1026, 1069, 1613, 1613, + 1075, 1080, 1085, 1090, 1095, 1100, 1105, 1108, 1082, 1087, + 1089, 1102 } ; -static yyconst flex_int16_t yy_def[771] = +static const flex_int16_t yy_def[1263] = { 0, - 758, 1, 759, 759, 1, 5, 5, 5, 5, 5, - 758, 758, 758, 758, 758, 760, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 761, 758, 758, 758, - 762, 15, 758, 42, 42, 763, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 760, 758, 758, 758, 758, 758, 758, 764, - 758, 758, 758, 758, 758, 758, 758, 758, 761, 758, - 762, 758, 765, 42, 42, 766, 42, 763, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 764, - 758, 758, 758, 758, 758, 767, 42, 42, 766, 758, - 763, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 758, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 758, 758, 758, 758, - - 768, 42, 42, 763, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 758, 769, - 42, 42, 42, 42, 763, 42, 42, 758, 42, 42, - 758, 42, 42, 42, 42, 42, 758, 42, 42, 42, - 42, 42, 758, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 758, 42, 42, 42, - - 42, 42, 42, 758, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 758, - 758, 758, 758, 42, 42, 758, 770, 758, 758, 42, - 42, 758, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 758, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 758, 42, 42, 42, 42, 42, - 42, 758, 42, 42, 42, 42, 42, 42, 758, 42, - 42, 42, 758, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 758, 42, 42, 42, 42, 42, 42, 758, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 758, 42, 42, 42, 42, 758, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 758, - 758, 42, 42, 42, 42, 42, 42, 758, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 758, 42, 758, 758, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 758, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 758, 758, 42, 42, 758, 42, 758, - 42, 42, 42, 42, 42, 42, 758, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 758, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 758, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 758, 42, 42, 42, - 42, 42, 758, 758, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 758, 758, 42, 758, 42, 758, - 42, 42, 42, 42, 42, 758, 42, 758, 42, 758, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 758, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 758, 758, 42, 42, - 42, 42, 42, 42, 758, 42, 42, 758, 758, 42, - 758, 42, 42, 42, 42, 758, 42, 42, 42, 42, - 42, 42, 758, 42, 758, 42, 758, 42, 42, 758, - 758, 758, 42, 42, 758, 42, 42, 42, 42, 758, - 758, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 758, 758, 42, 42, 42, 42, 42, - 758, 42, 758, 758, 42, 42, 42, 758, 42, 758, - - 42, 42, 758, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 758, 42, 42, 42, 42, - 758, 42, 42, 42, 42, 42, 42, 758, 42, 42, - 758, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 758, 42, 42, 42, 758, - 42, 42, 758, 42, 42, 42, 758, 0, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758 + 1251, 1251, 1252, 1252, 1251, 1251, 1251, 1251, 1251, 1251, + 1250, 1250, 1250, 1250, 1250, 1253, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1254, + 1250, 1250, 1250, 1255, 15, 1250, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1256, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1253, 1250, + 1250, 1250, 1250, 1250, 1250, 1257, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1254, 1250, 1255, + + 1250, 1250, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1258, 45, 1256, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1257, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1259, 45, 45, 45, 1250, 45, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 1258, 1250, 1256, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1250, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1260, 45, 45, 45, 45, 45, 1250, 45, + 45, 1250, 45, 1250, 45, 1256, 1250, 45, 45, 45, + + 45, 45, 45, 1250, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1250, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1250, 1250, 1250, + 1261, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 1250, 45, 1256, 45, 45, 45, 1250, 45, 45, 45, + + 45, 1250, 45, 45, 45, 45, 45, 45, 1250, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1250, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1250, 45, 1250, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1250, 1250, 1250, 45, 1250, 45, + 45, 1250, 1262, 45, 45, 1250, 1250, 45, 1250, 45, + 1250, 45, 45, 45, 1250, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1250, 45, 45, 45, 45, 45, 45, 45, + 1250, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1250, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1250, 45, + 45, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 45, 45, 1250, 1250, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 45, 45, 45, 1250, 45, 45, 45, 45, 45, 45, + 45, 45, 1250, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1250, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1250, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 1250, 45, 45, 45, 1250, 1250, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1250, 45, 45, 45, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1250, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 45, 45, 45, 45, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 1250, 45, 45, 45, 1250, 45, + 45, 45, 1250, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 1250, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1250, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1250, 45, 45, 45, 45, 45, 45, 45, + 1250, 45, 1250, 1250, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1250, + 1250, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 1250, 1250, 45, 1250, 45, + 1250, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 1250, 45, 45, 45, 45, 1250, 1250, 45, 1250, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 45, 1250, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 45, 45, 45, 1250, 1250, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1250, + 45, 45, 45, 1250, 1250, 1250, 1250, 45, 45, 45, + + 45, 45, 1250, 45, 1250, 45, 45, 45, 45, 45, + 45, 1250, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1250, 45, 1250, 45, 1250, 45, 45, 45, + 1250, 45, 45, 45, 45, 45, 1250, 1250, 45, 1250, + 45, 45, 45, 1250, 45, 1250, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 1250, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1250, 45, 1250, 1250, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 1250, 45, 1250, + + 1250, 45, 45, 1250, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 45, 45, 1250, 45, 1250, 45, + 45, 45, 45, 45, 1250, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1250, 45, + 45, 45, 45, 45, 1250, 45, 45, 45, 45, 1250, + 45, 45, 45, 45, 45, 45, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 45, 1250, 45, 45, 45, + 45, 1250, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 45, 1250, 1250, 45, 45, 45, + 45, 1250, 45, 1250, 45, 45, 1250, 45, 45, 45, + + 45, 1250, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1250, 45, 1250, 45, 45, 45, 45, + 45, 1250, 1250, 1250, 45, 45, 45, 1250, 45, 45, + 45, 45, 45, 45, 45, 1250, 45, 45, 1250, 0, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250 } ; -static yyconst flex_uint16_t yy_nxt[1076] = +static const flex_int16_t yy_nxt[1685] = { 0, - 12, 13, 14, 13, 12, 15, 16, 12, 17, 18, - 19, 20, 21, 22, 22, 22, 23, 24, 12, 12, - 12, 12, 25, 12, 26, 12, 27, 12, 12, 12, - 12, 12, 25, 28, 12, 12, 12, 12, 12, 12, - 29, 12, 12, 12, 12, 30, 12, 12, 12, 12, - 12, 31, 32, 34, 14, 34, 34, 14, 34, 35, - 38, 37, 35, 12, 12, 37, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 38, 12, 69, 39, - 12, 39, 12, 70, 12, 111, 68, 68, 68, 112, - 12, 12, 12, 12, 36, 66, 12, 39, 12, 39, - - 39, 90, 39, 12, 91, 66, 679, 92, 680, 12, - 12, 41, 41, 41, 42, 42, 43, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 44, 42, 45, 42, 46, 42, 42, 47, - 42, 48, 49, 50, 42, 42, 51, 52, 42, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 42, - 42, 42, 42, 42, 64, 155, 65, 65, 65, 64, - 97, 67, 67, 67, 82, 66, 72, 156, 72, 98, - 66, 73, 73, 73, 64, 66, 67, 67, 67, 93, - 66, 102, 82, 94, 83, 66, 95, 99, 681, 118, - - 103, 100, 104, 119, 101, 66, 42, 96, 42, 682, - 105, 106, 83, 42, 107, 42, 42, 42, 128, 108, - 42, 42, 129, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 87, 113, 186, 120, 114, 115, 187, - 42, 73, 73, 73, 124, 121, 122, 116, 125, 117, - 123, 173, 174, 42, 73, 73, 73, 42, 68, 68, - 68, 42, 126, 68, 68, 68, 144, 66, 42, 153, - 304, 42, 66, 42, 88, 145, 64, 66, 65, 65, - 65, 161, 66, 72, 154, 72, 683, 66, 73, 73, - 73, 64, 275, 67, 67, 67, 276, 66, 148, 149, - - 157, 636, 66, 158, 261, 262, 306, 150, 162, 305, - 307, 263, 66, 141, 141, 141, 412, 432, 372, 684, - 141, 141, 141, 373, 180, 181, 182, 433, 141, 141, - 141, 141, 141, 141, 183, 637, 184, 685, 413, 419, - 185, 204, 204, 204, 420, 686, 481, 548, 204, 204, - 204, 482, 549, 687, 688, 689, 204, 204, 204, 204, - 204, 204, 265, 265, 265, 590, 421, 283, 588, 265, - 265, 265, 284, 589, 641, 690, 691, 265, 265, 265, - 265, 265, 265, 510, 692, 693, 550, 511, 694, 695, - 696, 697, 591, 698, 699, 700, 702, 703, 704, 705, - - 701, 642, 285, 706, 707, 708, 286, 42, 42, 42, - 709, 710, 711, 712, 42, 42, 42, 713, 714, 715, - 716, 717, 42, 42, 42, 42, 42, 42, 718, 719, - 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 33, 33, - 33, 33, 33, 33, 33, 63, 678, 63, 63, 63, - 63, 63, 79, 677, 79, 676, 79, 79, 79, 81, - 81, 81, 81, 81, 81, 81, 86, 86, 86, 86, - - 86, 86, 86, 130, 675, 130, 130, 130, 130, 130, - 81, 81, 674, 81, 139, 139, 139, 139, 139, 201, - 201, 260, 260, 327, 327, 81, 81, 673, 672, 671, - 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, - 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, - 650, 649, 648, 647, 646, 645, 644, 643, 640, 639, - 638, 635, 634, 633, 632, 631, 630, 629, 628, 627, - 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, - 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, - 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, - - 596, 595, 594, 593, 592, 587, 586, 585, 584, 583, - 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, - 552, 551, 547, 546, 545, 544, 543, 542, 541, 540, - 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, - 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 509, 508, - 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, - 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, - - 487, 486, 485, 484, 483, 480, 479, 478, 477, 476, - 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, - 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, - 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, - 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, - 435, 434, 431, 430, 429, 428, 427, 426, 425, 424, - 423, 422, 418, 417, 416, 415, 414, 411, 410, 409, - 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, - 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, - 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, - - 378, 377, 376, 375, 374, 371, 370, 369, 368, 367, - 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, - 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, - 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, - 336, 335, 334, 333, 332, 331, 330, 329, 328, 326, - 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, - 315, 314, 313, 312, 311, 310, 309, 308, 303, 302, - 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, - 291, 290, 289, 288, 287, 282, 281, 280, 279, 278, - 277, 274, 273, 272, 271, 270, 269, 268, 267, 266, - - 264, 259, 199, 258, 257, 256, 255, 254, 253, 252, - 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, - 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, - 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, - 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, - 211, 210, 209, 208, 207, 206, 205, 140, 203, 202, - 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, - 190, 189, 188, 179, 178, 177, 176, 175, 172, 171, - 170, 169, 168, 167, 166, 165, 164, 163, 160, 159, - 152, 151, 147, 146, 143, 142, 140, 138, 137, 136, - - 135, 134, 133, 132, 131, 127, 110, 109, 89, 85, - 84, 40, 80, 78, 77, 76, 75, 74, 71, 40, - 758, 11, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758 + 1250, 13, 14, 13, 1250, 15, 16, 1250, 17, 18, + 19, 20, 21, 22, 22, 22, 23, 24, 85, 344, + 37, 14, 37, 86, 25, 26, 38, 1250, 1250, 27, + 37, 14, 37, 42, 28, 42, 38, 91, 92, 29, + 115, 30, 13, 14, 13, 90, 91, 25, 31, 92, + 13, 14, 13, 13, 14, 13, 32, 40, 798, 13, + 14, 13, 33, 40, 115, 91, 92, 345, 90, 34, + 35, 13, 14, 13, 94, 15, 16, 95, 17, 18, + 19, 20, 21, 22, 22, 22, 23, 24, 13, 14, + 13, 108, 39, 90, 25, 26, 13, 14, 13, 27, + + 39, 84, 84, 84, 28, 42, 41, 42, 42, 29, + 42, 30, 82, 107, 41, 111, 93, 25, 31, 108, + 130, 137, 88, 799, 88, 800, 32, 89, 89, 89, + 131, 138, 33, 139, 360, 82, 107, 361, 111, 34, + 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 47, 45, 48, 49, 50, 51, 45, 52, 53, + 54, 45, 45, 45, 45, 55, 56, 45, 57, 45, + 45, 58, 45, 45, 59, 45, 60, 61, 62, 63, + 64, 65, 66, 52, 67, 68, 69, 70, 71, 72, + + 73, 74, 75, 76, 77, 78, 57, 45, 45, 45, + 45, 45, 80, 103, 81, 81, 81, 80, 109, 83, + 83, 83, 101, 114, 80, 82, 83, 83, 83, 121, + 82, 145, 122, 112, 123, 146, 124, 82, 160, 103, + 801, 103, 161, 113, 134, 217, 114, 110, 82, 135, + 187, 107, 136, 82, 188, 147, 112, 102, 218, 802, + 82, 45, 805, 45, 45, 45, 45, 119, 45, 45, + 45, 113, 117, 120, 107, 45, 45, 187, 45, 45, + 89, 89, 89, 189, 45, 132, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 89, 89, + 89, 45, 125, 195, 111, 45, 126, 175, 173, 127, + 128, 141, 142, 45, 150, 143, 227, 45, 114, 45, + 118, 144, 129, 148, 151, 149, 195, 111, 154, 152, + 153, 155, 156, 162, 173, 175, 112, 84, 84, 84, + 174, 114, 157, 163, 164, 158, 113, 173, 82, 165, + 80, 169, 81, 81, 81, 101, 170, 175, 228, 112, + 806, 166, 88, 82, 88, 167, 174, 89, 89, 89, + 174, 82, 182, 176, 113, 80, 186, 83, 83, 83, + 100, 168, 84, 84, 84, 178, 82, 100, 82, 191, + + 102, 192, 193, 82, 194, 203, 177, 182, 208, 209, + 182, 288, 186, 236, 807, 204, 219, 214, 210, 215, + 256, 82, 246, 247, 199, 100, 82, 191, 192, 100, + 193, 194, 220, 100, 237, 200, 216, 222, 288, 250, + 223, 100, 251, 252, 224, 100, 276, 100, 181, 198, + 198, 198, 277, 257, 258, 259, 198, 198, 198, 198, + 198, 198, 278, 276, 260, 264, 261, 277, 262, 265, + 295, 263, 278, 266, 276, 284, 287, 291, 277, 198, + 198, 198, 198, 198, 198, 278, 293, 382, 302, 808, + 284, 279, 378, 280, 303, 281, 335, 295, 284, 390, + + 291, 378, 387, 382, 287, 384, 385, 435, 436, 293, + 296, 296, 296, 298, 386, 378, 382, 296, 296, 296, + 296, 296, 296, 420, 379, 387, 406, 390, 421, 399, + 407, 452, 394, 456, 479, 809, 484, 457, 442, 480, + 296, 296, 296, 296, 296, 296, 400, 336, 443, 484, + 337, 393, 393, 393, 624, 810, 811, 812, 393, 393, + 393, 393, 393, 393, 484, 492, 513, 493, 559, 726, + 579, 514, 578, 560, 422, 574, 727, 494, 651, 423, + 580, 393, 393, 393, 393, 393, 393, 453, 652, 659, + 661, 625, 492, 660, 493, 45, 45, 45, 579, 578, + + 662, 815, 45, 45, 45, 45, 45, 45, 633, 731, + 740, 728, 803, 634, 813, 732, 660, 659, 729, 778, + 814, 816, 817, 779, 804, 45, 45, 45, 45, 45, + 45, 818, 819, 820, 821, 822, 823, 824, 740, 825, + 826, 813, 827, 814, 828, 829, 830, 831, 832, 833, + 635, 834, 835, 836, 837, 838, 839, 840, 843, 844, + 845, 846, 841, 847, 848, 849, 850, 851, 852, 853, + 854, 855, 857, 858, 859, 860, 861, 862, 863, 864, + 865, 866, 856, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 878, 879, 880, 881, 882, 884, + + 883, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 894, 895, 896, 842, 897, 898, 899, 900, 901, 902, + 903, 904, 905, 906, 907, 908, 882, 883, 909, 911, + 913, 914, 915, 910, 916, 917, 918, 919, 920, 921, + 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, + 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, + 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, + 952, 912, 953, 954, 955, 956, 957, 958, 959, 960, + 961, 962, 963, 964, 965, 966, 967, 968, 947, 969, + 970, 971, 972, 973, 948, 974, 975, 976, 977, 978, + + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 994, 995, 996, 997, 998, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 1007, 1008, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, + 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1031, + 1002, 1032, 1033, 1034, 1035, 1036, 1030, 1037, 1038, 1039, + 1040, 1041, 1042, 1043, 993, 1044, 1045, 1006, 1046, 1047, + 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, + 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, + 1068, 1069, 1070, 1071, 1049, 1072, 1073, 1074, 1075, 1076, + + 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, + 1107, 1108, 1109, 1083, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1121, 1122, 1123, 1124, 1120, 1125, + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, + 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1115, 1143, 1144, + 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, + 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, + + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, + 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, + 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, + 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, + 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, + 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, + 1245, 1246, 1247, 1248, 1249, 12, 12, 12, 12, 12, + 36, 36, 36, 36, 36, 79, 283, 79, 79, 79, + 98, 381, 98, 483, 98, 100, 100, 100, 100, 100, + + 116, 116, 116, 116, 116, 172, 100, 172, 172, 172, + 196, 196, 196, 797, 796, 795, 794, 793, 792, 791, + 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, + 780, 777, 776, 775, 774, 773, 772, 771, 770, 769, + 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, + 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, + 748, 747, 746, 745, 744, 743, 742, 741, 739, 738, + 737, 736, 735, 734, 733, 730, 725, 724, 723, 722, + 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, + 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, + + 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, + 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, + 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, + 671, 670, 669, 668, 667, 666, 665, 664, 663, 658, + 657, 656, 655, 654, 653, 650, 649, 648, 647, 646, + 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, + 632, 631, 630, 629, 628, 627, 626, 623, 622, 621, + 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, + 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, + 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, + + 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, + 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, + 567, 566, 565, 564, 563, 562, 561, 558, 557, 556, + 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, + 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, + 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, + 515, 512, 511, 510, 509, 508, 507, 506, 505, 504, + 503, 502, 501, 500, 499, 498, 497, 496, 495, 491, + 490, 489, 488, 487, 486, 485, 482, 481, 478, 477, + + 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, + 466, 465, 464, 463, 462, 461, 460, 459, 458, 455, + 454, 451, 450, 449, 448, 447, 446, 445, 444, 441, + 440, 439, 438, 437, 434, 433, 432, 431, 430, 429, + 428, 427, 426, 425, 424, 419, 418, 417, 416, 415, + 414, 413, 412, 411, 410, 409, 408, 405, 404, 403, + 402, 401, 398, 397, 396, 395, 392, 391, 389, 388, + 383, 380, 377, 376, 375, 374, 373, 372, 371, 370, + 369, 368, 367, 366, 365, 364, 363, 362, 359, 358, + 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, + + 347, 346, 343, 342, 341, 340, 339, 338, 334, 333, + 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, + 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, + 312, 311, 310, 309, 308, 307, 306, 305, 304, 301, + 300, 299, 297, 197, 294, 292, 290, 289, 286, 285, + 282, 275, 274, 273, 272, 271, 270, 269, 268, 267, + 255, 254, 253, 249, 248, 245, 244, 243, 242, 241, + 240, 239, 238, 235, 234, 233, 232, 231, 230, 229, + 226, 225, 221, 213, 212, 211, 207, 206, 205, 202, + 201, 197, 190, 185, 184, 183, 180, 179, 171, 159, + + 140, 133, 106, 105, 104, 43, 99, 97, 96, 87, + 43, 1250, 11, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250 } ; -static yyconst flex_int16_t yy_chk[1076] = +static const flex_int16_t yy_chk[1685] = { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 4, 4, 4, 3, - 9, 7, 4, 5, 5, 8, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 10, 9, 21, 13, - 5, 13, 5, 21, 5, 56, 20, 20, 20, 56, - 5, 5, 7, 10, 5, 20, 8, 34, 5, 34, - - 39, 48, 39, 5, 48, 20, 658, 48, 659, 5, - 5, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 21, 244, + 3, 3, 3, 21, 1, 1, 3, 0, 0, 1, + 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, + 57, 1, 5, 5, 5, 26, 32, 1, 1, 33, + 6, 6, 6, 7, 7, 7, 1, 7, 723, 8, + 8, 8, 1, 8, 57, 27, 28, 244, 26, 1, + 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, + 9, 52, 5, 31, 2, 2, 10, 10, 10, 2, + + 6, 20, 20, 20, 2, 37, 9, 37, 42, 2, + 42, 2, 20, 51, 10, 54, 31, 2, 2, 52, + 62, 66, 25, 724, 25, 725, 2, 25, 25, 25, + 62, 66, 2, 66, 259, 20, 51, 259, 54, 2, + 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 17, 98, 17, 17, 17, 19, - 50, 19, 19, 19, 41, 17, 25, 98, 25, 50, - 19, 25, 25, 25, 22, 17, 22, 22, 22, 49, - 19, 52, 81, 49, 41, 22, 49, 51, 663, 58, - - 52, 51, 52, 58, 51, 22, 42, 49, 42, 664, - 53, 53, 81, 42, 53, 42, 42, 42, 62, 53, - 42, 42, 62, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 46, 57, 120, 59, 57, 57, 120, - 46, 72, 72, 72, 60, 59, 59, 57, 60, 57, - 59, 113, 113, 46, 73, 73, 73, 46, 64, 64, - 64, 46, 60, 68, 68, 68, 91, 64, 46, 97, - 239, 46, 68, 46, 46, 91, 65, 64, 65, 65, - 65, 102, 68, 66, 97, 66, 666, 65, 66, 66, - 66, 67, 214, 67, 67, 67, 214, 65, 94, 94, - - 99, 606, 67, 99, 202, 202, 240, 94, 102, 239, - 240, 202, 67, 88, 88, 88, 360, 380, 312, 667, - 88, 88, 88, 312, 119, 119, 119, 380, 88, 88, - 88, 88, 88, 88, 119, 606, 119, 668, 360, 367, - 119, 141, 141, 141, 367, 669, 431, 505, 141, 141, - 141, 431, 505, 672, 673, 674, 141, 141, 141, 141, - 141, 141, 204, 204, 204, 551, 367, 221, 550, 204, - 204, 204, 221, 550, 610, 675, 676, 204, 204, 204, - 204, 204, 204, 463, 677, 678, 505, 463, 679, 680, - 681, 682, 551, 683, 686, 687, 688, 689, 690, 692, - - 687, 610, 221, 695, 696, 697, 221, 265, 265, 265, - 699, 701, 702, 704, 265, 265, 265, 705, 706, 707, - 708, 709, 265, 265, 265, 265, 265, 265, 710, 711, - 712, 713, 714, 715, 717, 718, 719, 720, 722, 723, - 724, 725, 726, 727, 729, 730, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 747, 748, 749, 751, 752, 754, 755, 756, 759, 759, - 759, 759, 759, 759, 759, 760, 656, 760, 760, 760, - 760, 760, 761, 654, 761, 652, 761, 761, 761, 762, - 762, 762, 762, 762, 762, 762, 763, 763, 763, 763, - - 763, 763, 763, 764, 651, 764, 764, 764, 764, 764, - 765, 765, 650, 765, 766, 766, 766, 766, 766, 767, - 767, 768, 768, 769, 769, 770, 770, 649, 648, 647, - 645, 644, 643, 642, 640, 637, 636, 634, 633, 632, - 631, 630, 629, 626, 625, 624, 623, 622, 621, 620, - 619, 618, 617, 616, 614, 613, 612, 611, 609, 608, - 607, 605, 604, 603, 602, 601, 599, 597, 595, 594, - 593, 592, 591, 589, 587, 584, 583, 582, 581, 580, - 579, 578, 577, 576, 575, 572, 571, 570, 569, 568, - 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, - - 556, 555, 554, 553, 552, 549, 547, 546, 545, 544, - 543, 542, 541, 540, 539, 538, 536, 535, 534, 533, - 532, 531, 530, 529, 528, 526, 525, 524, 523, 522, - 521, 519, 517, 516, 513, 512, 511, 510, 509, 508, - 507, 506, 504, 503, 502, 500, 499, 498, 497, 496, - 495, 494, 493, 492, 491, 490, 489, 488, 487, 484, - 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 470, 469, 467, 466, 465, 464, 462, 459, - 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, - 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, - - 438, 436, 435, 434, 433, 430, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 418, 417, 416, 415, - 414, 413, 411, 410, 409, 408, 407, 406, 405, 404, - 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, - 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, - 382, 381, 378, 377, 376, 375, 374, 373, 371, 370, - 369, 368, 366, 364, 363, 362, 361, 359, 358, 357, - 356, 355, 354, 353, 352, 351, 350, 348, 347, 346, - 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, - 335, 334, 333, 331, 330, 326, 325, 324, 319, 318, - - 317, 316, 315, 314, 313, 311, 310, 309, 308, 307, - 306, 305, 303, 302, 301, 300, 299, 298, 296, 295, - 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, - 284, 282, 281, 280, 279, 278, 276, 275, 274, 273, - 272, 270, 269, 267, 266, 264, 263, 262, 261, 259, - 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, - 248, 247, 246, 245, 244, 243, 242, 241, 238, 237, - 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, - 226, 225, 224, 223, 222, 220, 219, 218, 217, 216, - 215, 213, 212, 211, 210, 209, 208, 207, 206, 205, - - 203, 200, 197, 196, 195, 194, 193, 192, 191, 190, - 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, - 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, - 169, 168, 167, 166, 165, 164, 163, 162, 160, 159, - 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, - 148, 147, 146, 145, 144, 143, 142, 139, 138, 137, - 134, 133, 132, 131, 129, 128, 127, 126, 125, 124, - 123, 122, 121, 118, 117, 116, 115, 114, 112, 111, - 110, 109, 108, 107, 106, 105, 104, 103, 101, 100, - 96, 95, 93, 92, 90, 89, 86, 85, 84, 83, - - 79, 78, 76, 75, 74, 61, 55, 54, 47, 45, - 44, 40, 38, 36, 35, 30, 29, 28, 24, 14, - 11, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758 + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 17, 47, 17, 17, 17, 19, 53, 19, + 19, 19, 44, 56, 22, 17, 22, 22, 22, 60, + 19, 69, 60, 55, 60, 69, 60, 22, 74, 47, + 726, 59, 74, 55, 65, 131, 56, 53, 17, 65, + 108, 63, 65, 19, 109, 69, 55, 44, 131, 727, + 22, 45, 729, 45, 45, 45, 45, 59, 45, 45, + 45, 55, 58, 59, 63, 45, 45, 108, 45, 58, + 88, 88, 88, 109, 45, 63, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 58, 89, 89, + 89, 58, 61, 115, 70, 58, 61, 92, 90, 61, + 61, 68, 68, 58, 71, 68, 137, 58, 77, 58, + 58, 68, 61, 70, 71, 70, 115, 70, 72, 71, + 71, 72, 72, 75, 90, 92, 76, 80, 80, 80, + 91, 77, 72, 75, 75, 72, 76, 93, 80, 75, + 81, 77, 81, 81, 81, 100, 77, 95, 137, 76, + 730, 76, 82, 81, 82, 76, 91, 82, 82, 82, + 94, 80, 103, 93, 76, 83, 107, 83, 83, 83, + 102, 76, 84, 84, 84, 95, 81, 102, 83, 111, + + 100, 112, 113, 84, 114, 122, 94, 119, 126, 126, + 103, 187, 107, 145, 731, 122, 132, 130, 126, 130, + 161, 83, 154, 154, 119, 102, 84, 111, 112, 102, + 113, 114, 132, 102, 145, 119, 130, 134, 187, 157, + 134, 102, 157, 157, 134, 102, 173, 102, 102, 118, + 118, 118, 174, 161, 161, 161, 118, 118, 118, 118, + 118, 118, 175, 176, 161, 162, 161, 177, 161, 162, + 195, 161, 178, 162, 173, 182, 186, 191, 174, 118, + 118, 118, 118, 118, 118, 175, 193, 284, 204, 732, + 200, 176, 276, 177, 204, 178, 237, 195, 182, 291, + + 191, 279, 287, 298, 186, 286, 286, 335, 335, 193, + 198, 198, 198, 200, 286, 276, 284, 198, 198, 198, + 198, 198, 198, 323, 279, 287, 310, 291, 323, 303, + 310, 351, 298, 354, 376, 734, 382, 354, 341, 376, + 198, 198, 198, 198, 198, 198, 303, 237, 341, 394, + 237, 296, 296, 296, 542, 735, 736, 737, 296, 296, + 296, 296, 296, 296, 382, 392, 416, 392, 465, 647, + 493, 416, 492, 465, 323, 494, 647, 394, 569, 323, + 494, 296, 296, 296, 296, 296, 296, 351, 569, 578, + 580, 542, 392, 579, 392, 393, 393, 393, 493, 492, + + 580, 741, 393, 393, 393, 393, 393, 393, 551, 650, + 660, 648, 728, 551, 739, 650, 579, 578, 648, 703, + 740, 742, 743, 703, 728, 393, 393, 393, 393, 393, + 393, 744, 745, 746, 747, 748, 749, 750, 660, 751, + 752, 739, 754, 740, 755, 756, 757, 758, 759, 760, + 551, 761, 762, 763, 765, 766, 767, 768, 769, 771, + 772, 773, 768, 774, 775, 776, 777, 778, 779, 780, + 781, 782, 783, 786, 787, 788, 790, 791, 792, 794, + 795, 796, 782, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 807, 808, 809, 810, 811, 812, 813, 815, + + 814, 816, 817, 818, 819, 820, 821, 822, 823, 824, + 826, 827, 828, 768, 829, 830, 831, 832, 833, 834, + 835, 836, 837, 838, 839, 841, 813, 814, 842, 843, + 844, 845, 846, 842, 847, 848, 849, 850, 851, 852, + 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, + 864, 865, 866, 867, 868, 869, 870, 872, 875, 876, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, + 887, 843, 888, 889, 892, 893, 894, 895, 896, 897, + 898, 899, 900, 901, 902, 903, 904, 905, 882, 908, + 910, 912, 913, 914, 883, 915, 916, 917, 919, 920, + + 922, 923, 924, 925, 928, 930, 931, 932, 933, 934, + 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, + 945, 946, 947, 948, 949, 951, 952, 953, 954, 955, + 956, 957, 958, 960, 961, 962, 963, 964, 965, 966, + 967, 968, 969, 970, 971, 972, 973, 975, 976, 977, + 947, 980, 981, 982, 983, 984, 976, 985, 986, 987, + 988, 989, 991, 992, 938, 993, 998, 951, 999, 1000, + 1001, 1002, 1004, 1006, 1007, 1008, 1009, 1010, 1011, 1013, + 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1024, + 1026, 1028, 1029, 1030, 1002, 1032, 1033, 1034, 1035, 1036, + + 1039, 1041, 1042, 1043, 1045, 1047, 1049, 1050, 1051, 1052, + 1053, 1054, 1055, 1057, 1059, 1060, 1061, 1062, 1063, 1064, + 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + 1075, 1076, 1077, 1049, 1078, 1079, 1080, 1081, 1082, 1083, + 1084, 1086, 1089, 1091, 1092, 1093, 1094, 1095, 1091, 1096, + 1097, 1099, 1102, 1103, 1105, 1106, 1107, 1108, 1109, 1110, + 1111, 1112, 1113, 1115, 1116, 1118, 1120, 1083, 1121, 1122, + 1123, 1124, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, + 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1142, 1143, 1144, + 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1155, 1156, + + 1157, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1168, + 1169, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178, 1179, + 1180, 1181, 1182, 1183, 1185, 1188, 1189, 1190, 1191, 1193, + 1195, 1196, 1198, 1199, 1200, 1201, 1203, 1204, 1205, 1206, + 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1225, 1227, 1228, + 1229, 1230, 1231, 1235, 1236, 1237, 1239, 1240, 1241, 1242, + 1243, 1244, 1245, 1247, 1248, 1251, 1251, 1251, 1251, 1251, + 1252, 1252, 1252, 1252, 1252, 1253, 1259, 1253, 1253, 1253, + 1254, 1260, 1254, 1261, 1254, 1255, 1255, 1255, 1255, 1255, + + 1256, 1256, 1256, 1256, 1256, 1257, 1262, 1257, 1257, 1257, + 1258, 1258, 1258, 722, 721, 720, 719, 718, 717, 716, + 715, 714, 713, 712, 711, 709, 708, 707, 706, 705, + 704, 702, 701, 698, 697, 696, 693, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, + 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, + 668, 667, 666, 665, 664, 663, 662, 661, 659, 657, + 656, 655, 654, 653, 652, 649, 646, 645, 644, 643, + 642, 641, 640, 639, 638, 637, 636, 635, 634, 632, + 631, 630, 629, 628, 627, 626, 625, 623, 622, 621, + + 620, 619, 617, 616, 615, 614, 613, 612, 611, 610, + 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, + 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, + 589, 588, 587, 586, 585, 584, 583, 582, 581, 577, + 576, 575, 572, 571, 570, 567, 566, 565, 564, 563, + 562, 561, 560, 558, 557, 556, 555, 554, 553, 552, + 550, 549, 547, 546, 545, 544, 543, 541, 540, 539, + 538, 536, 535, 534, 533, 532, 531, 530, 529, 528, + 527, 526, 525, 524, 523, 522, 520, 519, 518, 517, + 516, 515, 514, 512, 511, 510, 509, 508, 507, 506, + + 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, + 490, 488, 485, 484, 482, 481, 480, 478, 474, 473, + 472, 471, 470, 469, 468, 467, 466, 464, 463, 462, + 461, 460, 459, 458, 457, 456, 455, 453, 451, 450, + 449, 448, 447, 446, 445, 444, 443, 442, 440, 439, + 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 427, 426, 425, 424, 423, 422, 421, 419, 418, + 417, 415, 414, 413, 412, 411, 410, 408, 407, 406, + 405, 404, 403, 401, 400, 399, 398, 396, 395, 390, + 389, 387, 386, 385, 384, 383, 380, 377, 375, 374, + + 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, + 363, 362, 361, 360, 359, 358, 357, 356, 355, 353, + 352, 350, 349, 348, 347, 346, 345, 344, 343, 340, + 339, 338, 337, 336, 334, 333, 332, 331, 330, 329, + 328, 327, 326, 325, 324, 322, 321, 320, 319, 318, + 317, 316, 315, 314, 313, 312, 311, 309, 308, 307, + 306, 305, 302, 301, 300, 299, 295, 293, 290, 288, + 285, 282, 275, 274, 273, 272, 271, 270, 269, 268, + 267, 266, 265, 264, 263, 262, 261, 260, 258, 257, + 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, + + 246, 245, 243, 242, 241, 240, 239, 238, 236, 235, + 234, 233, 232, 231, 230, 229, 228, 226, 225, 224, + 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, + 213, 212, 211, 210, 209, 208, 207, 206, 205, 203, + 202, 201, 199, 196, 194, 192, 190, 189, 184, 183, + 179, 171, 170, 169, 168, 167, 166, 165, 164, 163, + 160, 159, 158, 156, 155, 153, 152, 151, 150, 149, + 148, 147, 146, 144, 143, 142, 141, 140, 139, 138, + 136, 135, 133, 129, 128, 127, 125, 124, 123, 121, + 120, 116, 110, 106, 105, 104, 98, 97, 78, 73, + + 67, 64, 50, 49, 48, 43, 41, 39, 38, 24, + 14, 11, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1250, 1250 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; -extern int parser6__flex_debug; -int parser6__flex_debug = 1; +extern int yy_flex_debug; +int yy_flex_debug = 1; -static yyconst flex_int16_t yy_rule_linenum[106] = +static const flex_int16_t yy_rule_linenum[160] = { 0, - 130, 132, 134, 139, 140, 145, 146, 147, 159, 162, - 167, 174, 183, 192, 201, 210, 219, 228, 240, 250, - 260, 270, 281, 291, 301, 311, 321, 331, 340, 349, - 358, 373, 388, 397, 406, 415, 424, 433, 442, 451, - 460, 469, 478, 487, 496, 505, 514, 523, 533, 542, - 551, 560, 569, 578, 587, 596, 605, 614, 624, 634, - 644, 653, 662, 671, 682, 692, 701, 711, 720, 729, - 738, 747, 756, 765, 775, 784, 793, 802, 811, 820, - 829, 838, 847, 856, 865, 874, 883, 892, 901, 910, - 919, 982, 987, 992, 997, 998, 999, 1000, 1001, 1002, - - 1004, 1022, 1035, 1040, 1044 + 135, 137, 139, 144, 145, 150, 151, 152, 164, 167, + 172, 179, 188, 197, 206, 215, 224, 233, 242, 251, + 260, 269, 278, 287, 296, 305, 315, 325, 335, 345, + 355, 365, 375, 385, 395, 404, 413, 422, 431, 440, + 449, 458, 470, 479, 488, 497, 506, 516, 526, 536, + 546, 557, 567, 577, 587, 597, 607, 617, 627, 637, + 646, 655, 664, 679, 694, 703, 712, 721, 730, 739, + 748, 757, 766, 775, 784, 794, 803, 812, 821, 830, + 839, 848, 857, 866, 875, 884, 894, 903, 912, 921, + 930, 939, 948, 957, 966, 975, 985, 994, 1003, 1013, + + 1023, 1033, 1042, 1051, 1060, 1071, 1081, 1090, 1100, 1110, + 1119, 1128, 1137, 1146, 1155, 1164, 1174, 1183, 1192, 1201, + 1210, 1219, 1228, 1237, 1246, 1255, 1264, 1273, 1282, 1291, + 1300, 1309, 1318, 1327, 1336, 1345, 1354, 1363, 1372, 1381, + 1390, 1400, 1498, 1503, 1508, 1513, 1514, 1515, 1516, 1517, + 1518, 1520, 1538, 1551, 1556, 1560, 1562, 1564, 1566 } ; /* The intent behind this definition is that it'll catch @@ -1054,9 +1583,9 @@ static yyconst flex_int16_t yy_rule_linenum[106] = #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *parser6_text; +char *yytext; #line 1 "dhcp6_lexer.ll" -/* Copyright (C) 2015-2016 Internet Systems Consortium, Inc. ("ISC") +/* Copyright (C) 2016-2017 Internet Systems Consortium, Inc. ("ISC") This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this @@ -1071,12 +1600,14 @@ char *parser6_text; #include <boost/lexical_cast.hpp> #include <exceptions/exceptions.h> -// Work around an incompatibility in flex (at least versions -// 2.5.31 through 2.5.33): it generates code that does -// not conform to C89. See Debian bug 333231 -// <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. -# undef parser6_wrap -# define parser6_wrap() 1 +/* Please avoid C++ style comments (// ... eol) as they break flex 2.6.2 */ + +/* Work around an incompatibility in flex (at least versions + 2.5.31 through 2.5.33): it generates code that does + not conform to C89. See Debian bug 333231 + <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. */ +# undef yywrap +# define yywrap() 1 namespace { @@ -1087,11 +1618,12 @@ unsigned int comment_start_line = 0; }; -// To avoid the call to exit... oops! +/* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) +#line 1623 "dhcp6_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And - using parser6_wrap requires linking with -lfl, which provides the default parser6_wrap + using yywrap requires linking with -lfl, which provides the default yywrap implementation that always returns 1 anyway. */ /* nounput simplifies the lexer, by removing support for putting a character back into the input stream. We never use such capability anyway. */ @@ -1099,23 +1631,23 @@ unsigned int comment_start_line = 0; /* avoid to get static global variables to remain with C++. */ /* in last resort %option reentrant */ /* Enables debug mode. To see the debug messages, one needs to also set - parser6__flex_debug to 1, then the debug messages will be printed on stderr. */ + yy_flex_debug to 1, then the debug messages will be printed on stderr. */ /* I have no idea what this option does, except it was specified in the bison examples and Postgres folks added it to remove gcc 4.3 warnings. Let's be on the safe side and keep it. */ #define YY_NO_INPUT 1 - /* These are not token expressions yet, just convenience expressions that can be used during actual token definitions. Note some can match incorrect inputs (e.g., IP addresses) which must be checked. */ /* for errors */ -#line 86 "dhcp6_lexer.ll" -// This code run each time a pattern is matched. It updates the location -// by moving it ahead by parser6_leng bytes. parser6_leng specifies the length of the -// currently matched token. -#define YY_USER_ACTION driver.loc_.columns(parser6_leng); -#line 1119 "dhcp6_lexer.cc" +#line 88 "dhcp6_lexer.ll" +/* This code run each time a pattern is matched. It updates the location + by moving it ahead by yyleng bytes. yyleng specifies the length of the + currently matched token. */ +#define YY_USER_ACTION driver.loc_.columns(yyleng); +#line 1649 "dhcp6_lexer.cc" +#line 1650 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -1143,7 +1675,7 @@ unsigned int comment_start_line = 0; /* %if-reentrant */ /* %if-c-only */ -static int yy_init_globals (void ); +static int yy_init_globals ( void ); /* %endif */ /* %if-reentrant */ @@ -1153,31 +1685,31 @@ static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int parser6_lex_destroy (void ); +int yylex_destroy ( void ); -int parser6_get_debug (void ); +int yyget_debug ( void ); -void parser6_set_debug (int debug_flag ); +void yyset_debug ( int debug_flag ); -YY_EXTRA_TYPE parser6_get_extra (void ); +YY_EXTRA_TYPE yyget_extra ( void ); -void parser6_set_extra (YY_EXTRA_TYPE user_defined ); +void yyset_extra ( YY_EXTRA_TYPE user_defined ); -FILE *parser6_get_in (void ); +FILE *yyget_in ( void ); -void parser6_set_in (FILE * _in_str ); +void yyset_in ( FILE * _in_str ); -FILE *parser6_get_out (void ); +FILE *yyget_out ( void ); -void parser6_set_out (FILE * _out_str ); +void yyset_out ( FILE * _out_str ); - int parser6_get_leng (void ); + int yyget_leng ( void ); -char *parser6_get_text (void ); +char *yyget_text ( void ); -int parser6_get_lineno (void ); +int yyget_lineno ( void ); -void parser6_set_lineno (int _line_number ); +void yyset_lineno ( int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -1188,14 +1720,13 @@ void parser6_set_lineno (int _line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int parser6_wrap (void ); +extern "C" int yywrap ( void ); #else -extern int parser6_wrap (void ); +extern int yywrap ( void ); #endif #endif /* %not-for-header */ - #ifndef YY_NO_UNPUT #endif @@ -1204,21 +1735,20 @@ extern int parser6_wrap (void ); /* %endif */ #ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); +static void yy_flex_strncpy ( char *, const char *, int ); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); +static int yy_flex_strlen ( const char * ); #endif #ifndef YY_NO_INPUT /* %if-c-only Standard (non-C++) definition */ /* %not-for-header */ - #ifdef __cplusplus -static int yyinput (void ); +static int yyinput ( void ); #else -static int input (void ); +static int input ( void ); #endif /* %ok-for-header */ @@ -1245,7 +1775,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( parser6_text, (size_t) parser6_leng, 1, parser6_out )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ @@ -1260,20 +1790,20 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ - (c = getc( parser6_in )) != EOF && c != '\n'; ++n ) \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ - if ( c == EOF && ferror( parser6_in ) ) \ + if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ - while ( (result = (int) fread(buf, 1, max_size, parser6_in))==0 && ferror(parser6_in)) \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1281,7 +1811,7 @@ static int input (void ); break; \ } \ errno=0; \ - clearerr(parser6_in); \ + clearerr(yyin); \ } \ }\ \ @@ -1314,11 +1844,9 @@ static int input (void ); /* %if-tables-serialization structures and prototypes */ /* %not-for-header */ - /* %ok-for-header */ /* %not-for-header */ - /* %tables-yydmap generated elements */ /* %endif */ /* end tables serialization structures and prototypes */ @@ -1332,15 +1860,15 @@ static int input (void ); #define YY_DECL_IS_OURS 1 /* %if-c-only Standard (non-C++) definition */ -extern int parser6_lex (void); +extern int yylex (void); -#define YY_DECL int parser6_lex (void) +#define YY_DECL int yylex (void) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ #endif /* !YY_DECL */ -/* Code executed at the beginning of each rule, after parser6_text and parser6_leng +/* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION @@ -1357,7 +1885,6 @@ extern int parser6_lex (void); YY_USER_ACTION /* %not-for-header */ - /** The main scanner function which does all the work. */ YY_DECL @@ -1377,40 +1904,41 @@ YY_DECL if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ - if ( ! parser6_in ) + if ( ! yyin ) /* %if-c-only */ - parser6_in = stdin; + yyin = stdin; /* %endif */ /* %if-c++-only */ /* %endif */ - if ( ! parser6_out ) + if ( ! yyout ) /* %if-c-only */ - parser6_out = stdout; + yyout = stdout; /* %endif */ /* %if-c++-only */ /* %endif */ if ( ! YY_CURRENT_BUFFER ) { - parser6_ensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - parser6__create_buffer(parser6_in,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); } - parser6__load_buffer_state( ); + yy_load_buffer_state( ); } { /* %% [7.0] user's declarations go here */ -#line 92 "dhcp6_lexer.ll" +#line 94 "dhcp6_lexer.ll" - // This part of the code is copied over to the verbatim to the top - // of the generated parser6_lex function. Explanation: - // http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html +#line 98 "dhcp6_lexer.ll" + /* This part of the code is copied over to the verbatim to the top + of the generated yylex function. Explanation: + http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ - // Code run each time parser6_lex is called. + /* Code run each time yylex is called. */ driver.loc_.step(); if (start_token_flag) { @@ -1437,18 +1965,20 @@ YY_DECL return isc::dhcp::Dhcp6Parser::make_SUB_OPTION_DATA(driver.loc_); case Parser6Context::PARSER_HOOKS_LIBRARY: return isc::dhcp::Dhcp6Parser::make_SUB_HOOKS_LIBRARY(driver.loc_); + case Parser6Context::PARSER_DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_SUB_DHCP_DDNS(driver.loc_); } } -#line 1445 "dhcp6_lexer.cc" +#line 1974 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] yymore()-related code goes here */ yy_cp = (yy_c_buf_p); - /* Support of parser6_text. */ + /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of @@ -1470,13 +2000,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 759 ) - yy_c = yy_meta[(unsigned int) yy_c]; + if ( yy_current_state >= 1251 ) + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 758 ); + while ( yy_current_state != 1250 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1486,22 +2016,22 @@ yy_find_action: YY_DO_BEFORE_ACTION; -/* %% [11.0] code for parser6_lineno update goes here */ +/* %% [11.0] code for yylineno update goes here */ do_action: /* This label is used only to access EOF actions. */ /* %% [12.0] debug code goes here */ - if ( parser6__flex_debug ) + if ( yy_flex_debug ) { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 106 ) + else if ( yy_act < 160 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", - (long)yy_rule_linenum[yy_act], parser6_text ); - else if ( yy_act == 106 ) + (long)yy_rule_linenum[yy_act], yytext ); + else if ( yy_act == 160 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", - parser6_text ); - else if ( yy_act == 107 ) + yytext ); + else if ( yy_act == 161 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -1519,17 +2049,17 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 130 "dhcp6_lexer.ll" +#line 135 "dhcp6_lexer.ll" ; YY_BREAK case 2: YY_RULE_SETUP -#line 132 "dhcp6_lexer.ll" +#line 137 "dhcp6_lexer.ll" ; YY_BREAK case 3: YY_RULE_SETUP -#line 134 "dhcp6_lexer.ll" +#line 139 "dhcp6_lexer.ll" { BEGIN(COMMENT); comment_start_line = driver.loc_.end.line;; @@ -1537,38 +2067,38 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 139 "dhcp6_lexer.ll" +#line 144 "dhcp6_lexer.ll" BEGIN(INITIAL); YY_BREAK case 5: YY_RULE_SETUP -#line 140 "dhcp6_lexer.ll" +#line 145 "dhcp6_lexer.ll" ; YY_BREAK case YY_STATE_EOF(COMMENT): -#line 141 "dhcp6_lexer.ll" +#line 146 "dhcp6_lexer.ll" { isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line); } YY_BREAK case 6: YY_RULE_SETUP -#line 145 "dhcp6_lexer.ll" +#line 150 "dhcp6_lexer.ll" BEGIN(DIR_ENTER); YY_BREAK case 7: YY_RULE_SETUP -#line 146 "dhcp6_lexer.ll" +#line 151 "dhcp6_lexer.ll" BEGIN(DIR_INCLUDE); YY_BREAK case 8: YY_RULE_SETUP -#line 147 "dhcp6_lexer.ll" +#line 152 "dhcp6_lexer.ll" { - // Include directive. + /* Include directive. */ - // Extract the filename. - std::string tmp(parser6_text+1); + /* Extract the filename. */ + std::string tmp(yytext+1); tmp.resize(tmp.size() - 1); driver.includeFile(tmp); @@ -1577,37 +2107,322 @@ YY_RULE_SETUP case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_EXIT): -#line 156 "dhcp6_lexer.ll" +#line 161 "dhcp6_lexer.ll" { isc_throw(Dhcp6ParseError, "Directive not closed."); } YY_BREAK case 9: YY_RULE_SETUP -#line 159 "dhcp6_lexer.ll" +#line 164 "dhcp6_lexer.ll" BEGIN(INITIAL); YY_BREAK case 10: YY_RULE_SETUP -#line 162 "dhcp6_lexer.ll" +#line 167 "dhcp6_lexer.ll" { - // Ok, we found a with space. Let's ignore it and update loc variable. + /* Ok, we found a with space. Let's ignore it and update loc variable. */ driver.loc_.step(); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 167 "dhcp6_lexer.ll" +#line 172 "dhcp6_lexer.ll" { - // Newline found. Let's update the location and continue. - driver.loc_.lines(parser6_leng); + /* Newline found. Let's update the location and continue. */ + driver.loc_.lines(yyleng); driver.loc_.step(); } YY_BREAK case 12: YY_RULE_SETUP -#line 174 "dhcp6_lexer.ll" +#line 179 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_ENABLE_UPDATES(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("enable-updates", driver.loc_); + } +} + YY_BREAK +case 13: +YY_RULE_SETUP +#line 188 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_QUALIFYING_SUFFIX(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("qualifying-suffix", driver.loc_); + } +} + YY_BREAK +case 14: +YY_RULE_SETUP +#line 197 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_SERVER_IP(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("server-ip", driver.loc_); + } +} + YY_BREAK +case 15: +YY_RULE_SETUP +#line 206 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_SERVER_PORT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("server-port", driver.loc_); + } +} + YY_BREAK +case 16: +YY_RULE_SETUP +#line 215 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_SENDER_IP(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("sender-ip", driver.loc_); + } +} + YY_BREAK +case 17: +YY_RULE_SETUP +#line 224 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_SENDER_PORT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("sender-port", driver.loc_); + } +} + YY_BREAK +case 18: +YY_RULE_SETUP +#line 233 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_MAX_QUEUE_SIZE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("max-queue-size", driver.loc_); + } +} + YY_BREAK +case 19: +YY_RULE_SETUP +#line 242 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_NCR_PROTOCOL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("ncr-protocol", driver.loc_); + } +} + YY_BREAK +case 20: +YY_RULE_SETUP +#line 251 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_NCR_FORMAT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("ncr-format", driver.loc_); + } +} + YY_BREAK +case 21: +YY_RULE_SETUP +#line 260 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_ALWAYS_INCLUDE_FQDN(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("always-include-fqdn", driver.loc_); + } +} + YY_BREAK +case 22: +YY_RULE_SETUP +#line 269 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_OVERRIDE_NO_UPDATE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("override-no-update", driver.loc_); + } +} + YY_BREAK +case 23: +YY_RULE_SETUP +#line 278 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_OVERRIDE_CLIENT_UPDATE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("override-client-update", driver.loc_); + } +} + YY_BREAK +case 24: +YY_RULE_SETUP +#line 287 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_REPLACE_CLIENT_NAME(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("replace-client-name", driver.loc_); + } +} + YY_BREAK +case 25: +YY_RULE_SETUP +#line 296 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_DDNS: + return isc::dhcp::Dhcp6Parser::make_GENERATED_PREFIX(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("generated-prefix", driver.loc_); + } +} + YY_BREAK +case 26: +YY_RULE_SETUP +#line 305 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { + return isc::dhcp::Dhcp6Parser::make_UDP(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 27: +YY_RULE_SETUP +#line 315 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { + return isc::dhcp::Dhcp6Parser::make_TCP(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 28: +YY_RULE_SETUP +#line 325 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) { + return isc::dhcp::Dhcp6Parser::make_JSON(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 29: +YY_RULE_SETUP +#line 335 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp6Parser::make_WHEN_PRESENT(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 30: +YY_RULE_SETUP +#line 345 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp6Parser::make_WHEN_PRESENT(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 31: +YY_RULE_SETUP +#line 355 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 32: +YY_RULE_SETUP +#line 365 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 33: +YY_RULE_SETUP +#line 375 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp6Parser::make_ALWAYS(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 34: +YY_RULE_SETUP +#line 385 "dhcp6_lexer.ll" +{ + /* dhcp-ddns value keywords are case insensitive */ + if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { + return isc::dhcp::Dhcp6Parser::make_WHEN_NOT_PRESENT(driver.loc_); + } + std::string tmp(yytext+1); + tmp.resize(tmp.size() - 1); + return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); +} + YY_BREAK +case 35: +YY_RULE_SETUP +#line 395 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -1617,9 +2432,9 @@ YY_RULE_SETUP } } YY_BREAK -case 13: +case 36: YY_RULE_SETUP -#line 183 "dhcp6_lexer.ll" +#line 404 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1629,9 +2444,9 @@ YY_RULE_SETUP } } YY_BREAK -case 14: +case 37: YY_RULE_SETUP -#line 192 "dhcp6_lexer.ll" +#line 413 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::INTERFACES_CONFIG: @@ -1641,9 +2456,21 @@ YY_RULE_SETUP } } YY_BREAK -case 15: +case 38: YY_RULE_SETUP -#line 201 "dhcp6_lexer.ll" +#line 422 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::INTERFACES_CONFIG: + return isc::dhcp::Dhcp6Parser::make_RE_DETECT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("re-detect", driver.loc_); + } +} + YY_BREAK +case 39: +YY_RULE_SETUP +#line 431 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1653,9 +2480,9 @@ YY_RULE_SETUP } } YY_BREAK -case 16: +case 40: YY_RULE_SETUP -#line 210 "dhcp6_lexer.ll" +#line 440 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1665,9 +2492,9 @@ YY_RULE_SETUP } } YY_BREAK -case 17: +case 41: YY_RULE_SETUP -#line 219 "dhcp6_lexer.ll" +#line 449 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOSTS_DATABASE: @@ -1677,9 +2504,9 @@ YY_RULE_SETUP } } YY_BREAK -case 18: +case 42: YY_RULE_SETUP -#line 228 "dhcp6_lexer.ll" +#line 458 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1692,9 +2519,57 @@ YY_RULE_SETUP } } YY_BREAK -case 19: +case 43: +YY_RULE_SETUP +#line 470 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DATABASE_TYPE: + return isc::dhcp::Dhcp6Parser::make_MEMFILE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("memfile", driver.loc_); + } +} + YY_BREAK +case 44: +YY_RULE_SETUP +#line 479 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DATABASE_TYPE: + return isc::dhcp::Dhcp6Parser::make_MYSQL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("mysql", driver.loc_); + } +} + YY_BREAK +case 45: YY_RULE_SETUP -#line 240 "dhcp6_lexer.ll" +#line 488 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DATABASE_TYPE: + return isc::dhcp::Dhcp6Parser::make_POSTGRESQL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("postgresql", driver.loc_); + } +} + YY_BREAK +case 46: +YY_RULE_SETUP +#line 497 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DATABASE_TYPE: + return isc::dhcp::Dhcp6Parser::make_CQL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("cql", driver.loc_); + } +} + YY_BREAK +case 47: +YY_RULE_SETUP +#line 506 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1705,9 +2580,9 @@ YY_RULE_SETUP } } YY_BREAK -case 20: +case 48: YY_RULE_SETUP -#line 250 "dhcp6_lexer.ll" +#line 516 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1718,9 +2593,9 @@ YY_RULE_SETUP } } YY_BREAK -case 21: +case 49: YY_RULE_SETUP -#line 260 "dhcp6_lexer.ll" +#line 526 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1731,9 +2606,22 @@ YY_RULE_SETUP } } YY_BREAK -case 22: +case 50: YY_RULE_SETUP -#line 270 "dhcp6_lexer.ll" +#line 536 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_); + } +} + YY_BREAK +case 51: +YY_RULE_SETUP +#line 546 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1745,9 +2633,9 @@ YY_RULE_SETUP } } YY_BREAK -case 23: +case 52: YY_RULE_SETUP -#line 281 "dhcp6_lexer.ll" +#line 557 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1758,9 +2646,48 @@ YY_RULE_SETUP } } YY_BREAK -case 24: +case 53: +YY_RULE_SETUP +#line 567 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_CONNECT_TIMEOUT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("connect-timeout", driver.loc_); + } +} + YY_BREAK +case 54: YY_RULE_SETUP -#line 291 "dhcp6_lexer.ll" +#line 577 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_KEYSPACE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("keyspace", driver.loc_); + } +} + YY_BREAK +case 55: +YY_RULE_SETUP +#line 587 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_CONTACT_POINTS(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("contact-points", driver.loc_); + } +} + YY_BREAK +case 56: +YY_RULE_SETUP +#line 597 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1771,9 +2698,9 @@ YY_RULE_SETUP } } YY_BREAK -case 25: +case 57: YY_RULE_SETUP -#line 301 "dhcp6_lexer.ll" +#line 607 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1784,9 +2711,9 @@ YY_RULE_SETUP } } YY_BREAK -case 26: +case 58: YY_RULE_SETUP -#line 311 "dhcp6_lexer.ll" +#line 617 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1797,9 +2724,9 @@ YY_RULE_SETUP } } YY_BREAK -case 27: +case 59: YY_RULE_SETUP -#line 321 "dhcp6_lexer.ll" +#line 627 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1810,9 +2737,9 @@ YY_RULE_SETUP } } YY_BREAK -case 28: +case 60: YY_RULE_SETUP -#line 331 "dhcp6_lexer.ll" +#line 637 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1822,9 +2749,9 @@ YY_RULE_SETUP } } YY_BREAK -case 29: +case 61: YY_RULE_SETUP -#line 340 "dhcp6_lexer.ll" +#line 646 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1834,9 +2761,9 @@ YY_RULE_SETUP } } YY_BREAK -case 30: +case 62: YY_RULE_SETUP -#line 349 "dhcp6_lexer.ll" +#line 655 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1846,9 +2773,9 @@ YY_RULE_SETUP } } YY_BREAK -case 31: +case 63: YY_RULE_SETUP -#line 358 "dhcp6_lexer.ll" +#line 664 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1864,9 +2791,9 @@ YY_RULE_SETUP } } YY_BREAK -case 32: +case 64: YY_RULE_SETUP -#line 373 "dhcp6_lexer.ll" +#line 679 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -1882,9 +2809,9 @@ YY_RULE_SETUP } } YY_BREAK -case 33: +case 65: YY_RULE_SETUP -#line 388 "dhcp6_lexer.ll" +#line 694 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -1894,9 +2821,21 @@ YY_RULE_SETUP } } YY_BREAK -case 34: +case 66: +YY_RULE_SETUP +#line 703 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::OPTION_DATA: + return isc::dhcp::Dhcp6Parser::make_ALWAYS_SEND(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("always-send", driver.loc_); + } +} + YY_BREAK +case 67: YY_RULE_SETUP -#line 397 "dhcp6_lexer.ll" +#line 712 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -1906,9 +2845,9 @@ YY_RULE_SETUP } } YY_BREAK -case 35: +case 68: YY_RULE_SETUP -#line 406 "dhcp6_lexer.ll" +#line 721 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -1918,9 +2857,9 @@ YY_RULE_SETUP } } YY_BREAK -case 36: +case 69: YY_RULE_SETUP -#line 415 "dhcp6_lexer.ll" +#line 730 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -1930,9 +2869,9 @@ YY_RULE_SETUP } } YY_BREAK -case 37: +case 70: YY_RULE_SETUP -#line 424 "dhcp6_lexer.ll" +#line 739 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -1942,9 +2881,9 @@ YY_RULE_SETUP } } YY_BREAK -case 38: +case 71: YY_RULE_SETUP -#line 433 "dhcp6_lexer.ll" +#line 748 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -1954,9 +2893,9 @@ YY_RULE_SETUP } } YY_BREAK -case 39: +case 72: YY_RULE_SETUP -#line 442 "dhcp6_lexer.ll" +#line 757 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -1966,9 +2905,9 @@ YY_RULE_SETUP } } YY_BREAK -case 40: +case 73: YY_RULE_SETUP -#line 451 "dhcp6_lexer.ll" +#line 766 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -1978,9 +2917,9 @@ YY_RULE_SETUP } } YY_BREAK -case 41: +case 74: YY_RULE_SETUP -#line 460 "dhcp6_lexer.ll" +#line 775 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::POOLS: @@ -1990,9 +2929,22 @@ YY_RULE_SETUP } } YY_BREAK -case 42: +case 75: +YY_RULE_SETUP +#line 784 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::POOLS: + case isc::dhcp::Parser6Context::PD_POOLS: + return isc::dhcp::Dhcp6Parser::make_USER_CONTEXT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("user-context", driver.loc_); + } +} + YY_BREAK +case 76: YY_RULE_SETUP -#line 469 "dhcp6_lexer.ll" +#line 794 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2002,9 +2954,9 @@ YY_RULE_SETUP } } YY_BREAK -case 43: +case 77: YY_RULE_SETUP -#line 478 "dhcp6_lexer.ll" +#line 803 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2014,9 +2966,9 @@ YY_RULE_SETUP } } YY_BREAK -case 44: +case 78: YY_RULE_SETUP -#line 487 "dhcp6_lexer.ll" +#line 812 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2026,9 +2978,9 @@ YY_RULE_SETUP } } YY_BREAK -case 45: +case 79: YY_RULE_SETUP -#line 496 "dhcp6_lexer.ll" +#line 821 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2038,9 +2990,9 @@ YY_RULE_SETUP } } YY_BREAK -case 46: +case 80: YY_RULE_SETUP -#line 505 "dhcp6_lexer.ll" +#line 830 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2050,9 +3002,9 @@ YY_RULE_SETUP } } YY_BREAK -case 47: +case 81: YY_RULE_SETUP -#line 514 "dhcp6_lexer.ll" +#line 839 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2062,9 +3014,57 @@ YY_RULE_SETUP } } YY_BREAK -case 48: +case 82: +YY_RULE_SETUP +#line 848 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::RESERVATION_MODE: + return isc::dhcp::Dhcp6Parser::make_DISABLED(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("disabled", driver.loc_); + } +} + YY_BREAK +case 83: YY_RULE_SETUP -#line 523 "dhcp6_lexer.ll" +#line 857 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::RESERVATION_MODE: + return isc::dhcp::Dhcp6Parser::make_DISABLED(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("off", driver.loc_); + } +} + YY_BREAK +case 84: +YY_RULE_SETUP +#line 866 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::RESERVATION_MODE: + return isc::dhcp::Dhcp6Parser::make_OUT_OF_POOL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("out-of-pool", driver.loc_); + } +} + YY_BREAK +case 85: +YY_RULE_SETUP +#line 875 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::RESERVATION_MODE: + return isc::dhcp::Dhcp6Parser::make_ALL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("all", driver.loc_); + } +} + YY_BREAK +case 86: +YY_RULE_SETUP +#line 884 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -2075,9 +3075,9 @@ YY_RULE_SETUP } } YY_BREAK -case 49: +case 87: YY_RULE_SETUP -#line 533 "dhcp6_lexer.ll" +#line 894 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2087,9 +3087,9 @@ YY_RULE_SETUP } } YY_BREAK -case 50: +case 88: YY_RULE_SETUP -#line 542 "dhcp6_lexer.ll" +#line 903 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2099,9 +3099,9 @@ YY_RULE_SETUP } } YY_BREAK -case 51: +case 89: YY_RULE_SETUP -#line 551 "dhcp6_lexer.ll" +#line 912 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2111,9 +3111,9 @@ YY_RULE_SETUP } } YY_BREAK -case 52: +case 90: YY_RULE_SETUP -#line 560 "dhcp6_lexer.ll" +#line 921 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -2123,9 +3123,9 @@ YY_RULE_SETUP } } YY_BREAK -case 53: +case 91: YY_RULE_SETUP -#line 569 "dhcp6_lexer.ll" +#line 930 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGING: @@ -2135,9 +3135,9 @@ YY_RULE_SETUP } } YY_BREAK -case 54: +case 92: YY_RULE_SETUP -#line 578 "dhcp6_lexer.ll" +#line 939 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -2147,9 +3147,9 @@ YY_RULE_SETUP } } YY_BREAK -case 55: +case 93: YY_RULE_SETUP -#line 587 "dhcp6_lexer.ll" +#line 948 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -2159,9 +3159,45 @@ YY_RULE_SETUP } } YY_BREAK -case 56: +case 94: +YY_RULE_SETUP +#line 957 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: + return isc::dhcp::Dhcp6Parser::make_FLUSH(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("flush", driver.loc_); + } +} + YY_BREAK +case 95: YY_RULE_SETUP -#line 596 "dhcp6_lexer.ll" +#line 966 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: + return isc::dhcp::Dhcp6Parser::make_MAXSIZE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("maxsize", driver.loc_); + } +} + YY_BREAK +case 96: +YY_RULE_SETUP +#line 975 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: + return isc::dhcp::Dhcp6Parser::make_MAXVER(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("maxver", driver.loc_); + } +} + YY_BREAK +case 97: +YY_RULE_SETUP +#line 985 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -2171,9 +3207,9 @@ YY_RULE_SETUP } } YY_BREAK -case 57: +case 98: YY_RULE_SETUP -#line 605 "dhcp6_lexer.ll" +#line 994 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -2183,9 +3219,9 @@ YY_RULE_SETUP } } YY_BREAK -case 58: +case 99: YY_RULE_SETUP -#line 614 "dhcp6_lexer.ll" +#line 1003 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2196,9 +3232,9 @@ YY_RULE_SETUP } } YY_BREAK -case 59: +case 100: YY_RULE_SETUP -#line 624 "dhcp6_lexer.ll" +#line 1013 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2209,9 +3245,9 @@ YY_RULE_SETUP } } YY_BREAK -case 60: +case 101: YY_RULE_SETUP -#line 634 "dhcp6_lexer.ll" +#line 1023 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -2222,9 +3258,9 @@ YY_RULE_SETUP } } YY_BREAK -case 61: +case 102: YY_RULE_SETUP -#line 644 "dhcp6_lexer.ll" +#line 1033 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2234,9 +3270,9 @@ YY_RULE_SETUP } } YY_BREAK -case 62: +case 103: YY_RULE_SETUP -#line 653 "dhcp6_lexer.ll" +#line 1042 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -2246,9 +3282,9 @@ YY_RULE_SETUP } } YY_BREAK -case 63: +case 104: YY_RULE_SETUP -#line 662 "dhcp6_lexer.ll" +#line 1051 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -2258,9 +3294,9 @@ YY_RULE_SETUP } } YY_BREAK -case 64: +case 105: YY_RULE_SETUP -#line 671 "dhcp6_lexer.ll" +#line 1060 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -2272,9 +3308,9 @@ YY_RULE_SETUP } } YY_BREAK -case 65: +case 106: YY_RULE_SETUP -#line 682 "dhcp6_lexer.ll" +#line 1071 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -2285,9 +3321,9 @@ YY_RULE_SETUP } } YY_BREAK -case 66: +case 107: YY_RULE_SETUP -#line 692 "dhcp6_lexer.ll" +#line 1081 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -2297,9 +3333,22 @@ YY_RULE_SETUP } } YY_BREAK -case 67: +case 108: YY_RULE_SETUP -#line 701 "dhcp6_lexer.ll" +#line 1090 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: + case isc::dhcp::Parser6Context::RESERVATIONS: + return isc::dhcp::Dhcp6Parser::make_FLEX_ID(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("flex-id", driver.loc_); + } +} + YY_BREAK +case 109: +YY_RULE_SETUP +#line 1100 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -2310,9 +3359,9 @@ YY_RULE_SETUP } } YY_BREAK -case 68: +case 110: YY_RULE_SETUP -#line 711 "dhcp6_lexer.ll" +#line 1110 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -2322,9 +3371,9 @@ YY_RULE_SETUP } } YY_BREAK -case 69: +case 111: YY_RULE_SETUP -#line 720 "dhcp6_lexer.ll" +#line 1119 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -2334,9 +3383,9 @@ YY_RULE_SETUP } } YY_BREAK -case 70: +case 112: YY_RULE_SETUP -#line 729 "dhcp6_lexer.ll" +#line 1128 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -2346,9 +3395,9 @@ YY_RULE_SETUP } } YY_BREAK -case 71: +case 113: YY_RULE_SETUP -#line 738 "dhcp6_lexer.ll" +#line 1137 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -2358,9 +3407,9 @@ YY_RULE_SETUP } } YY_BREAK -case 72: +case 114: YY_RULE_SETUP -#line 747 "dhcp6_lexer.ll" +#line 1146 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2370,9 +3419,9 @@ YY_RULE_SETUP } } YY_BREAK -case 73: +case 115: YY_RULE_SETUP -#line 756 "dhcp6_lexer.ll" +#line 1155 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RELAY: @@ -2382,9 +3431,9 @@ YY_RULE_SETUP } } YY_BREAK -case 74: +case 116: YY_RULE_SETUP -#line 765 "dhcp6_lexer.ll" +#line 1164 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2394,9 +3443,9 @@ YY_RULE_SETUP } } YY_BREAK -case 75: +case 117: YY_RULE_SETUP -#line 775 "dhcp6_lexer.ll" +#line 1174 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -2406,9 +3455,9 @@ YY_RULE_SETUP } } YY_BREAK -case 76: +case 118: YY_RULE_SETUP -#line 784 "dhcp6_lexer.ll" +#line 1183 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -2418,9 +3467,9 @@ YY_RULE_SETUP } } YY_BREAK -case 77: +case 119: YY_RULE_SETUP -#line 793 "dhcp6_lexer.ll" +#line 1192 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2430,9 +3479,45 @@ YY_RULE_SETUP } } YY_BREAK -case 78: +case 120: +YY_RULE_SETUP +#line 1201 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DUID_TYPE: + return isc::dhcp::Dhcp6Parser::make_LLT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("LLT", driver.loc_); + } +} + YY_BREAK +case 121: +YY_RULE_SETUP +#line 1210 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DUID_TYPE: + return isc::dhcp::Dhcp6Parser::make_EN(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("EN", driver.loc_); + } +} + YY_BREAK +case 122: YY_RULE_SETUP -#line 802 "dhcp6_lexer.ll" +#line 1219 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DUID_TYPE: + return isc::dhcp::Dhcp6Parser::make_LL(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("LL", driver.loc_); + } +} + YY_BREAK +case 123: +YY_RULE_SETUP +#line 1228 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -2442,9 +3527,9 @@ YY_RULE_SETUP } } YY_BREAK -case 79: +case 124: YY_RULE_SETUP -#line 811 "dhcp6_lexer.ll" +#line 1237 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -2454,9 +3539,9 @@ YY_RULE_SETUP } } YY_BREAK -case 80: +case 125: YY_RULE_SETUP -#line 820 "dhcp6_lexer.ll" +#line 1246 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -2466,9 +3551,9 @@ YY_RULE_SETUP } } YY_BREAK -case 81: +case 126: YY_RULE_SETUP -#line 829 "dhcp6_lexer.ll" +#line 1255 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -2478,9 +3563,9 @@ YY_RULE_SETUP } } YY_BREAK -case 82: +case 127: YY_RULE_SETUP -#line 838 "dhcp6_lexer.ll" +#line 1264 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2490,33 +3575,93 @@ YY_RULE_SETUP } } YY_BREAK -case 83: +case 128: YY_RULE_SETUP -#line 847 "dhcp6_lexer.ll" +#line 1273 "dhcp6_lexer.ll" { switch(driver.ctx_) { - case isc::dhcp::Parser6Context::DHCP6: - return isc::dhcp::Dhcp6Parser::make_DHCP4O6_PORT(driver.loc_); + case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: + return isc::dhcp::Dhcp6Parser::make_RECLAIM_TIMER_WAIT_TIME(driver.loc_); default: - return isc::dhcp::Dhcp6Parser::make_STRING("dhcp4o6-port", driver.loc_); + return isc::dhcp::Dhcp6Parser::make_STRING("reclaim-timer-wait-time", driver.loc_); } } YY_BREAK -case 84: +case 129: +YY_RULE_SETUP +#line 1282 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: + return isc::dhcp::Dhcp6Parser::make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("flush-reclaimed-timer-wait-time", driver.loc_); + } +} + YY_BREAK +case 130: +YY_RULE_SETUP +#line 1291 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: + return isc::dhcp::Dhcp6Parser::make_HOLD_RECLAIMED_TIME(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("hold-reclaimed-time", driver.loc_); + } +} + YY_BREAK +case 131: +YY_RULE_SETUP +#line 1300 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: + return isc::dhcp::Dhcp6Parser::make_MAX_RECLAIM_LEASES(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-leases", driver.loc_); + } +} + YY_BREAK +case 132: +YY_RULE_SETUP +#line 1309 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: + return isc::dhcp::Dhcp6Parser::make_MAX_RECLAIM_TIME(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-time", driver.loc_); + } +} + YY_BREAK +case 133: +YY_RULE_SETUP +#line 1318 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: + return isc::dhcp::Dhcp6Parser::make_UNWARNED_RECLAIM_CYCLES(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("unwarned-reclaim-cycles", driver.loc_); + } +} + YY_BREAK +case 134: YY_RULE_SETUP -#line 856 "dhcp6_lexer.ll" +#line 1327 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: - return isc::dhcp::Dhcp6Parser::make_VERSION(driver.loc_); + return isc::dhcp::Dhcp6Parser::make_DHCP4O6_PORT(driver.loc_); default: - return isc::dhcp::Dhcp6Parser::make_STRING("version", driver.loc_); + return isc::dhcp::Dhcp6Parser::make_STRING("dhcp4o6-port", driver.loc_); } } YY_BREAK -case 85: +case 135: YY_RULE_SETUP -#line 865 "dhcp6_lexer.ll" +#line 1336 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2526,9 +3671,9 @@ YY_RULE_SETUP } } YY_BREAK -case 86: +case 136: YY_RULE_SETUP -#line 874 "dhcp6_lexer.ll" +#line 1345 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -2538,9 +3683,9 @@ YY_RULE_SETUP } } YY_BREAK -case 87: +case 137: YY_RULE_SETUP -#line 883 "dhcp6_lexer.ll" +#line 1354 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -2550,9 +3695,9 @@ YY_RULE_SETUP } } YY_BREAK -case 88: +case 138: YY_RULE_SETUP -#line 892 "dhcp6_lexer.ll" +#line 1363 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2562,9 +3707,9 @@ YY_RULE_SETUP } } YY_BREAK -case 89: +case 139: YY_RULE_SETUP -#line 901 "dhcp6_lexer.ll" +#line 1372 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -2574,9 +3719,9 @@ YY_RULE_SETUP } } YY_BREAK -case 90: +case 140: YY_RULE_SETUP -#line 910 "dhcp6_lexer.ll" +#line 1381 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -2586,28 +3731,41 @@ YY_RULE_SETUP } } YY_BREAK -case 91: +case 141: YY_RULE_SETUP -#line 919 "dhcp6_lexer.ll" +#line 1390 "dhcp6_lexer.ll" { - // A string has been matched. It contains the actual string and single quotes. - // We need to get those quotes out of the way and just use its content, e.g. - // for 'foo' we should get foo - std::string raw(parser6_text+1); + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::CONFIG: + return isc::dhcp::Dhcp6Parser::make_CONTROL_AGENT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("Control-agent", driver.loc_); + } +} + YY_BREAK +case 142: +YY_RULE_SETUP +#line 1400 "dhcp6_lexer.ll" +{ + /* A string has been matched. It contains the actual string and single quotes. + We need to get those quotes out of the way and just use its content, e.g. + for 'foo' we should get foo */ + std::string raw(yytext+1); size_t len = raw.size() - 1; raw.resize(len); std::string decoded; decoded.reserve(len); for (size_t pos = 0; pos < len; ++pos) { + int b = 0; char c = raw[pos]; switch (c) { case '"': - // impossible condition + /* impossible condition */ driver.error(driver.loc_, "Bad quote in \"" + raw + "\""); case '\\': ++pos; if (pos >= len) { - // impossible condition + /* impossible condition */ driver.error(driver.loc_, "Overflow escape in \"" + raw + "\""); } c = raw[pos]; @@ -2633,16 +3791,50 @@ YY_RULE_SETUP decoded.push_back('\t'); break; case 'u': - // not yet implemented - driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); + /* support only \u0000 to \u00ff */ + ++pos; + if (pos + 4 > len) { + /* impossible condition */ + driver.error(driver.loc_, + "Overflow unicode escape in \"" + raw + "\""); + } + if ((raw[pos] != '0') || (raw[pos + 1] != '0')) { + driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); + } + pos += 2; + c = raw[pos]; + if ((c >= '0') && (c <= '9')) { + b = (c - '0') << 4; + } else if ((c >= 'A') && (c <= 'F')) { + b = (c - 'A' + 10) << 4; + } else if ((c >= 'a') && (c <= 'f')) { + b = (c - 'a' + 10) << 4; + } else { + /* impossible condition */ + driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\""); + } + pos++; + c = raw[pos]; + if ((c >= '0') && (c <= '9')) { + b |= c - '0'; + } else if ((c >= 'A') && (c <= 'F')) { + b |= c - 'A' + 10; + } else if ((c >= 'a') && (c <= 'f')) { + b |= c - 'a' + 10; + } else { + /* impossible condition */ + driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\""); + } + decoded.push_back(static_cast<char>(b & 0xff)); + break; default: - // impossible condition + /* impossible condition */ driver.error(driver.loc_, "Bad escape in \"" + raw + "\""); } break; default: - if ((c > 0) && (c < 0x20)) { - // impossible condition + if ((c >= 0) && (c < 0x20)) { + /* impossible condition */ driver.error(driver.loc_, "Invalid control in \"" + raw + "\""); } decoded.push_back(c); @@ -2652,89 +3844,89 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 92: -/* rule 92 can match eol */ +case 143: +/* rule 143 can match eol */ YY_RULE_SETUP -#line 982 "dhcp6_lexer.ll" +#line 1498 "dhcp6_lexer.ll" { - // Bad string with a forbidden control character inside - driver.error(driver.loc_, "Invalid control in " + std::string(parser6_text)); + /* Bad string with a forbidden control character inside */ + driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK -case 93: -/* rule 93 can match eol */ +case 144: +/* rule 144 can match eol */ YY_RULE_SETUP -#line 987 "dhcp6_lexer.ll" +#line 1503 "dhcp6_lexer.ll" { - // Bad string with a bad escape inside - driver.error(driver.loc_, "Bad escape in " + std::string(parser6_text)); + /* Bad string with a bad escape inside */ + driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK -case 94: +case 145: YY_RULE_SETUP -#line 992 "dhcp6_lexer.ll" +#line 1508 "dhcp6_lexer.ll" { - // Bad string with an open escape at the end - driver.error(driver.loc_, "Overflow escape in " + std::string(parser6_text)); + /* Bad string with an open escape at the end */ + driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); } YY_BREAK -case 95: +case 146: YY_RULE_SETUP -#line 997 "dhcp6_lexer.ll" +#line 1513 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 96: +case 147: YY_RULE_SETUP -#line 998 "dhcp6_lexer.ll" +#line 1514 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 97: +case 148: YY_RULE_SETUP -#line 999 "dhcp6_lexer.ll" +#line 1515 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 98: +case 149: YY_RULE_SETUP -#line 1000 "dhcp6_lexer.ll" +#line 1516 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 99: +case 150: YY_RULE_SETUP -#line 1001 "dhcp6_lexer.ll" +#line 1517 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 100: +case 151: YY_RULE_SETUP -#line 1002 "dhcp6_lexer.ll" +#line 1518 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 101: +case 152: YY_RULE_SETUP -#line 1004 "dhcp6_lexer.ll" +#line 1520 "dhcp6_lexer.ll" { - // An integer was found. - std::string tmp(parser6_text); + /* An integer was found. */ + std::string tmp(yytext); int64_t integer = 0; try { - // In substring we want to use negative values (e.g. -1). - // In enterprise-id we need to use values up to 0xffffffff. - // To cover both of those use cases, we need at least - // int64_t. + /* In substring we want to use negative values (e.g. -1). + In enterprise-id we need to use values up to 0xffffffff. + To cover both of those use cases, we need at least + int64_t. */ integer = boost::lexical_cast<int64_t>(tmp); } catch (const boost::bad_lexical_cast &) { driver.error(driver.loc_, "Failed to convert " + tmp + " to an integer."); } - // The parser needs the string form as double conversion is no lossless + /* The parser needs the string form as double conversion is no lossless */ return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 102: +case 153: YY_RULE_SETUP -#line 1022 "dhcp6_lexer.ll" +#line 1538 "dhcp6_lexer.ll" { - // A floating point was found. - std::string tmp(parser6_text); + /* A floating point was found. */ + std::string tmp(yytext); double fp = 0.0; try { fp = boost::lexical_cast<double>(tmp); @@ -2745,28 +3937,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 103: +case 154: YY_RULE_SETUP -#line 1035 "dhcp6_lexer.ll" +#line 1551 "dhcp6_lexer.ll" { - string tmp(parser6_text); + string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 104: +case 155: YY_RULE_SETUP -#line 1040 "dhcp6_lexer.ll" +#line 1556 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 105: +case 156: +YY_RULE_SETUP +#line 1560 "dhcp6_lexer.ll" +driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); + YY_BREAK +case 157: +YY_RULE_SETUP +#line 1562 "dhcp6_lexer.ll" +driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); + YY_BREAK +case 158: +YY_RULE_SETUP +#line 1564 "dhcp6_lexer.ll" +driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); + YY_BREAK +case 159: YY_RULE_SETUP -#line 1044 "dhcp6_lexer.ll" -driver.error (driver.loc_, "Invalid character: " + std::string(parser6_text)); +#line 1566 "dhcp6_lexer.ll" +driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1046 "dhcp6_lexer.ll" +#line 1568 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -2790,12 +3997,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 106: +case 160: YY_RULE_SETUP -#line 1069 "dhcp6_lexer.ll" +#line 1591 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 2799 "dhcp6_lexer.cc" +#line 4005 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -2810,8 +4017,8 @@ ECHO; { /* We're scanning a new file or input source. It's * possible that this happened because the user - * just pointed parser6_in at a new source and called - * parser6_lex(). If so, then we have to assure + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a @@ -2819,7 +4026,7 @@ ECHO; */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; /* %if-c-only */ - YY_CURRENT_BUFFER_LVALUE->yy_input_file = parser6_in; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; /* %endif */ /* %if-c++-only */ /* %endif */ @@ -2877,11 +4084,11 @@ ECHO; { (yy_did_buffer_switch_on_eof) = 0; - if ( parser6_wrap( ) ) + if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up - * parser6_text, we can now set up + * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the @@ -2931,12 +4138,11 @@ ECHO; } /* end of action switch */ } /* end of scanning one token */ } /* end of user's declarations */ -} /* end of parser6_lex */ +} /* end of yylex */ /* %ok-for-header */ /* %if-c++-only */ /* %not-for-header */ - /* %ok-for-header */ /* %endif */ @@ -2956,7 +4162,7 @@ static int yy_get_next_buffer (void) { char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = (yytext_ptr); - yy_size_t number_to_move, i; + int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -2985,7 +4191,7 @@ static int yy_get_next_buffer (void) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -3021,7 +4227,8 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - parser6_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yyrealloc( (void *) b->yy_ch_buf, + (yy_size_t) (b->yy_buf_size + 2) ); } else /* Can't grow it, we don't own it. */ @@ -3053,7 +4260,7 @@ static int yy_get_next_buffer (void) if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - parser6_restart(parser6_in ); + yyrestart( yyin ); } else @@ -3067,12 +4274,15 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parser6_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); } (yy_n_chars) += number_to_move; @@ -3088,7 +4298,6 @@ static int yy_get_next_buffer (void) /* %if-c-only */ /* %not-for-header */ - static yy_state_type yy_get_previous_state (void) /* %endif */ /* %if-c++-only */ @@ -3112,10 +4321,10 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 759 ) - yy_c = yy_meta[(unsigned int) yy_c]; + if ( yy_current_state >= 1251 ) + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; } return yy_current_state; @@ -3145,11 +4354,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 759 ) - yy_c = yy_meta[(unsigned int) yy_c]; + if ( yy_current_state >= 1251 ) + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 758); + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_is_jam = (yy_current_state == 1250); return yy_is_jam ? 0 : yy_current_state; } @@ -3188,7 +4397,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -3205,13 +4414,13 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - parser6_restart(parser6_in ); + yyrestart( yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( parser6_wrap( ) ) + if ( yywrap( ) ) return 0; if ( ! (yy_did_buffer_switch_on_eof) ) @@ -3231,10 +4440,10 @@ static int yy_get_next_buffer (void) } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve parser6_text */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); -/* %% [19.0] update BOL and parser6_lineno */ +/* %% [19.0] update BOL and yylineno */ return c; } @@ -3248,20 +4457,20 @@ static int yy_get_next_buffer (void) * @note This function does not reset the start condition to @c INITIAL . */ /* %if-c-only */ - void parser6_restart (FILE * input_file ) + void yyrestart (FILE * input_file ) /* %endif */ /* %if-c++-only */ /* %endif */ { if ( ! YY_CURRENT_BUFFER ){ - parser6_ensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - parser6__create_buffer(parser6_in,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); } - parser6__init_buffer(YY_CURRENT_BUFFER,input_file ); - parser6__load_buffer_state( ); + yy_init_buffer( YY_CURRENT_BUFFER, input_file ); + yy_load_buffer_state( ); } /* %if-c++-only */ @@ -3272,7 +4481,7 @@ static int yy_get_next_buffer (void) * */ /* %if-c-only */ - void parser6__switch_to_buffer (YY_BUFFER_STATE new_buffer ) + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3280,10 +4489,10 @@ static int yy_get_next_buffer (void) /* TODO. We should be able to replace this entire function body * with - * parser6_pop_buffer_state(); - * parser6_push_buffer_state(new_buffer); + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); */ - parser6_ensure_buffer_stack (); + yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; @@ -3296,18 +4505,18 @@ static int yy_get_next_buffer (void) } YY_CURRENT_BUFFER_LVALUE = new_buffer; - parser6__load_buffer_state( ); + yy_load_buffer_state( ); /* We don't actually know whether we did this switch during - * EOF (parser6_wrap()) processing, but the only time this flag - * is looked at is after parser6_wrap() is called, so it's safe + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } /* %if-c-only */ -static void parser6__load_buffer_state (void) +static void yy_load_buffer_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3315,7 +4524,7 @@ static void parser6__load_buffer_state (void) (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; /* %if-c-only */ - parser6_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3329,29 +4538,29 @@ static void parser6__load_buffer_state (void) * @return the allocated buffer state. */ /* %if-c-only */ - YY_BUFFER_STATE parser6__create_buffer (FILE * file, int size ) + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) /* %endif */ /* %if-c++-only */ /* %endif */ { YY_BUFFER_STATE b; - b = (YY_BUFFER_STATE) parser6_alloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in parser6__create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = (yy_size_t)size; + b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) parser6_alloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in parser6__create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; - parser6__init_buffer(b,file ); + yy_init_buffer( b, file ); return b; } @@ -3360,11 +4569,11 @@ static void parser6__load_buffer_state (void) /* %endif */ /** Destroy the buffer. - * @param b a buffer created with parser6__create_buffer() + * @param b a buffer created with yy_create_buffer() * */ /* %if-c-only */ - void parser6__delete_buffer (YY_BUFFER_STATE b ) + void yy_delete_buffer (YY_BUFFER_STATE b ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3377,17 +4586,17 @@ static void parser6__load_buffer_state (void) YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - parser6_free((void *) b->yy_ch_buf ); + yyfree( (void *) b->yy_ch_buf ); - parser6_free((void *) b ); + yyfree( (void *) b ); } /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, - * such as during a parser6_restart() or at EOF. + * such as during a yyrestart() or at EOF. */ /* %if-c-only */ - static void parser6__init_buffer (YY_BUFFER_STATE b, FILE * file ) + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3395,7 +4604,7 @@ static void parser6__load_buffer_state (void) { int oerrno = errno; - parser6__flush_buffer(b ); + yy_flush_buffer( b ); /* %if-c-only */ b->yy_input_file = file; @@ -3404,8 +4613,8 @@ static void parser6__load_buffer_state (void) /* %endif */ b->yy_fill_buffer = 1; - /* If b is the current buffer, then parser6__init_buffer was _probably_ - * called from parser6_restart() or through yy_get_next_buffer. + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ @@ -3428,7 +4637,7 @@ static void parser6__load_buffer_state (void) * */ /* %if-c-only */ - void parser6__flush_buffer (YY_BUFFER_STATE b ) + void yy_flush_buffer (YY_BUFFER_STATE b ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3451,7 +4660,7 @@ static void parser6__load_buffer_state (void) b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) - parser6__load_buffer_state( ); + yy_load_buffer_state( ); } /* %if-c-or-c++ */ @@ -3462,7 +4671,7 @@ static void parser6__load_buffer_state (void) * */ /* %if-c-only */ -void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ) +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3470,9 +4679,9 @@ void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ) if (new_buffer == NULL) return; - parser6_ensure_buffer_stack(); + yyensure_buffer_stack(); - /* This block is copied from parser6__switch_to_buffer. */ + /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ @@ -3486,8 +4695,8 @@ void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; - /* copied from parser6__switch_to_buffer. */ - parser6__load_buffer_state( ); + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /* %endif */ @@ -3498,7 +4707,7 @@ void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ) * */ /* %if-c-only */ -void parser6_pop_buffer_state (void) +void yypop_buffer_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -3506,13 +4715,13 @@ void parser6_pop_buffer_state (void) if (!YY_CURRENT_BUFFER) return; - parser6__delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { - parser6__load_buffer_state( ); + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } @@ -3523,12 +4732,12 @@ void parser6_pop_buffer_state (void) * Guarantees space for at least one push. */ /* %if-c-only */ -static void parser6_ensure_buffer_stack (void) +static void yyensure_buffer_stack (void) /* %endif */ /* %if-c++-only */ /* %endif */ { - int num_to_alloc; + yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { @@ -3537,14 +4746,14 @@ static void parser6_ensure_buffer_stack (void) * immediate realloc on the next call. */ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ - (yy_buffer_stack) = (struct yy_buffer_state**)parser6_alloc + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in parser6_ensure_buffer_stack()" ); - + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; @@ -3556,12 +4765,12 @@ static void parser6_ensure_buffer_stack (void) yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)parser6_realloc + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in parser6_ensure_buffer_stack()" ); + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -3575,9 +4784,9 @@ static void parser6_ensure_buffer_stack (void) * @param base the character buffer * @param size the size in bytes of the character buffer * - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE parser6__scan_buffer (char * base, yy_size_t size ) +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; @@ -3587,11 +4796,11 @@ YY_BUFFER_STATE parser6__scan_buffer (char * base, yy_size_t size ) /* They forgot to leave room for the EOB's. */ return NULL; - b = (YY_BUFFER_STATE) parser6_alloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in parser6__scan_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = NULL; @@ -3601,57 +4810,57 @@ YY_BUFFER_STATE parser6__scan_buffer (char * base, yy_size_t size ) b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - parser6__switch_to_buffer(b ); + yy_switch_to_buffer( b ); return b; } /* %endif */ /* %if-c-only */ -/** Setup the input buffer state to scan a string. The next call to parser6_lex() will +/** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use - * parser6__scan_bytes() instead. + * yy_scan_bytes() instead. */ -YY_BUFFER_STATE parser6__scan_string (yyconst char * yystr ) +YY_BUFFER_STATE yy_scan_string (const char * yystr ) { - return parser6__scan_bytes(yystr,(int) strlen(yystr) ); + return yy_scan_bytes( yystr, (int) strlen(yystr) ); } /* %endif */ /* %if-c-only */ -/** Setup the input buffer state to scan the given bytes. The next call to parser6_lex() will +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. * @param yybytes the byte buffer to scan * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE parser6__scan_bytes (yyconst char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = (yy_size_t) _yybytes_len + 2; - buf = (char *) parser6_alloc(n ); + n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n ); if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in parser6__scan_bytes()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - b = parser6__scan_buffer(buf,n ); + b = yy_scan_buffer( buf, n ); if ( ! b ) - YY_FATAL_ERROR( "bad buffer in parser6__scan_bytes()" ); + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. @@ -3667,9 +4876,9 @@ YY_BUFFER_STATE parser6__scan_bytes (yyconst char * yybytes, int _yybytes_len #endif /* %if-c-only */ -static void yynoreturn yy_fatal_error (yyconst char* msg ) +static void yynoreturn yy_fatal_error (const char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -3682,14 +4891,14 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ) #define yyless(n) \ do \ { \ - /* Undo effects of setting up parser6_text. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ - parser6_text[parser6_leng] = (yy_hold_char); \ - (yy_c_buf_p) = parser6_text + yyless_macro_arg; \ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ - parser6_leng = yyless_macro_arg; \ + yyleng = yyless_macro_arg; \ } \ while ( 0 ) @@ -3702,43 +4911,43 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ) /** Get the current line number. * */ -int parser6_get_lineno (void) +int yyget_lineno (void) { - - return parser6_lineno; + + return yylineno; } /** Get the input stream. * */ -FILE *parser6_get_in (void) +FILE *yyget_in (void) { - return parser6_in; + return yyin; } /** Get the output stream. * */ -FILE *parser6_get_out (void) +FILE *yyget_out (void) { - return parser6_out; + return yyout; } /** Get the length of the current token. * */ -int parser6_get_leng (void) +int yyget_leng (void) { - return parser6_leng; + return yyleng; } /** Get the current token. * */ -char *parser6_get_text (void) +char *yyget_text (void) { - return parser6_text; + return yytext; } /* %if-reentrant */ @@ -3748,36 +4957,36 @@ char *parser6_get_text (void) * @param _line_number line number * */ -void parser6_set_lineno (int _line_number ) +void yyset_lineno (int _line_number ) { - parser6_lineno = _line_number; + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param _in_str A readable stream. * - * @see parser6__switch_to_buffer + * @see yy_switch_to_buffer */ -void parser6_set_in (FILE * _in_str ) +void yyset_in (FILE * _in_str ) { - parser6_in = _in_str ; + yyin = _in_str ; } -void parser6_set_out (FILE * _out_str ) +void yyset_out (FILE * _out_str ) { - parser6_out = _out_str ; + yyout = _out_str ; } -int parser6_get_debug (void) +int yyget_debug (void) { - return parser6__flex_debug; + return yy_flex_debug; } -void parser6_set_debug (int _bdebug ) +void yyset_debug (int _bdebug ) { - parser6__flex_debug = _bdebug ; + yy_flex_debug = _bdebug ; } /* %endif */ @@ -3791,7 +5000,7 @@ void parser6_set_debug (int _bdebug ) static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. - * This function is called from parser6_lex_destroy(), so don't allocate here. + * This function is called from yylex_destroy(), so don't allocate here. */ (yy_buffer_stack) = NULL; @@ -3803,38 +5012,38 @@ static int yy_init_globals (void) /* Defined in main.c */ #ifdef YY_STDINIT - parser6_in = stdin; - parser6_out = stdout; + yyin = stdin; + yyout = stdout; #else - parser6_in = NULL; - parser6_out = NULL; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by - * parser6_lex_init() + * yylex_init() */ return 0; } /* %endif */ /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */ -/* parser6_lex_destroy is for both reentrant and non-reentrant scanners. */ -int parser6_lex_destroy (void) +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ - parser6__delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer( YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; - parser6_pop_buffer_state(); + yypop_buffer_state(); } /* Destroy the stack itself. */ - parser6_free((yy_buffer_stack) ); + yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time - * parser6_lex() is called, initialization will occur. */ + * yylex() is called, initialization will occur. */ yy_init_globals( ); /* %if-reentrant */ @@ -3848,7 +5057,7 @@ int parser6_lex_destroy (void) */ #ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +static void yy_flex_strncpy (char* s1, const char * s2, int n ) { int i; @@ -3858,7 +5067,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) +static int yy_flex_strlen (const char * s ) { int n; for ( n = 0; s[n]; ++n ) @@ -3868,12 +5077,12 @@ static int yy_flex_strlen (yyconst char * s ) } #endif -void *parser6_alloc (yy_size_t size ) +void *yyalloc (yy_size_t size ) { return malloc(size); } -void *parser6_realloc (void * ptr, yy_size_t size ) +void *yyrealloc (void * ptr, yy_size_t size ) { /* The cast to (char *) in the following accommodates both @@ -3886,9 +5095,9 @@ void *parser6_realloc (void * ptr, yy_size_t size ) return realloc(ptr, size); } -void parser6_free (void * ptr ) +void yyfree (void * ptr ) { - free( (char *) ptr ); /* see parser6_realloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } /* %if-tables-serialization definitions */ @@ -3898,8 +5107,7 @@ void parser6_free (void * ptr ) /* %ok-for-header */ -#line 1069 "dhcp6_lexer.ll" - +#line 1591 "dhcp6_lexer.ll" using namespace isc::dhcp; @@ -3913,12 +5121,12 @@ Parser6Context::scanStringBegin(const std::string& str, ParserType parser_type) file_ = "<string>"; sfile_ = 0; loc_.initialize(&file_); - parser6__flex_debug = trace_scanning_; + yy_flex_debug = trace_scanning_; YY_BUFFER_STATE buffer; - buffer = parser6__scan_bytes(str.c_str(),str.size()); + buffer = parser6__scan_bytes(str.c_str(), str.size()); if (!buffer) { fatal("cannot scan string"); - // fatal() throws an exception so this can't be reached + /* fatal() throws an exception so this can't be reached */ } } @@ -3933,10 +5141,10 @@ Parser6Context::scanFileBegin(FILE * f, file_ = filename; sfile_ = f; loc_.initialize(&file_); - parser6__flex_debug = trace_scanning_; + yy_flex_debug = trace_scanning_; YY_BUFFER_STATE buffer; - // See dhcp6_lexer.cc header for available definitions + /* See dhcp6_lexer.cc header for available definitions */ buffer = parser6__create_buffer(f, 65536 /*buffer size*/); if (!buffer) { fatal("cannot scan file " + filename); @@ -3950,7 +5158,7 @@ Parser6Context::scanEnd() { fclose(sfile_); sfile_ = 0; static_cast<void>(parser6_lex_destroy()); - // Close files + /* Close files */ while (!sfiles_.empty()) { FILE* f = sfiles_.back(); if (f) { @@ -3958,7 +5166,7 @@ Parser6Context::scanEnd() { } sfiles_.pop_back(); } - // Delete states + /* Delete states */ while (!states_.empty()) { parser6__delete_buffer(states_.back()); states_.pop_back(); @@ -3995,9 +5203,9 @@ Parser6Context::includeFile(const std::string& filename) { } namespace { -/// To avoid unused function error +/** To avoid unused function error */ class Dummy { - // cppcheck-suppress unusedPrivateFunction + /* cppcheck-suppress unusedPrivateFunction */ void dummy() { yy_fatal_error("Fix me: how to disable its definition?"); } }; } |