From: Francis Dupont Date: Thu, 9 Mar 2023 13:12:07 +0000 (+0000) Subject: [#720] Regen lex and parser X-Git-Tag: Kea-2.3.6~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=340a25e74cc7405ebf414a55bde8b8d410e92af4;p=thirdparty%2Fkea.git [#720] Regen lex and parser --- diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 8bba466fed..b7af108a30 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [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 221 -#define YY_END_OF_BUFFER 222 +#define YY_NUM_RULES 222 +#define YY_END_OF_BUFFER 223 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +700,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2163] = +static const flex_int16_t yy_accept[2183] = { 0, - 214, 214, 0, 0, 0, 0, 0, 0, 0, 0, - 222, 220, 10, 11, 220, 1, 214, 211, 214, 214, - 220, 213, 212, 220, 220, 220, 220, 220, 207, 208, - 220, 220, 220, 209, 210, 5, 5, 5, 220, 220, - 220, 10, 11, 0, 0, 202, 0, 0, 0, 0, + 215, 215, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 221, 10, 11, 221, 1, 215, 212, 215, 215, + 221, 214, 213, 221, 221, 221, 221, 221, 208, 209, + 221, 221, 221, 210, 211, 5, 5, 5, 221, 221, + 221, 10, 11, 0, 0, 203, 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, 1, 214, - 214, 0, 213, 214, 3, 2, 6, 0, 214, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 215, + 215, 0, 214, 215, 3, 2, 6, 0, 215, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 206, 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, @@ -724,11 +724,11 @@ static const flex_int16_t yy_accept[2163] = 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 204, 206, 0, + 0, 0, 0, 0, 0, 0, 0, 205, 207, 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, 93, 0, 0, + 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -736,126 +736,127 @@ static const flex_int16_t yy_accept[2163] = 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, 219, 217, 0, - 216, 215, 0, 0, 0, 0, 0, 0, 0, 179, - 0, 178, 0, 0, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 220, 218, + 0, 217, 216, 0, 0, 0, 0, 0, 0, 0, + 179, 0, 178, 0, 0, 99, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 18, 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, 19, 0, 0, 0, - 0, 0, 218, 215, 0, 0, 0, 0, 0, 0, - 180, 0, 182, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, + 0, 0, 0, 0, 219, 216, 0, 0, 0, 0, + 0, 0, 180, 0, 182, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, + 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 88, 0, 42, 0, + 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, + 0, 42, 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, 122, 0, 0, 35, 0, 0, 39, 0, 0, - 0, 0, 0, 0, 0, 12, 184, 183, 0, 0, + 0, 0, 0, 0, 122, 0, 0, 35, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 12, 184, - 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, + 183, 0, 0, 0, 0, 136, 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, 114, 0, + 0, 0, 114, 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, 37, 0, + 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, + 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 0, 185, + 7, 0, 0, 185, 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, 98, 0, 0, 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, 0, 0, 0, 0, 0, 116, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, + 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 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, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 91, 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, 90, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 142, 110, 0, 0, 0, 0, 0, 0, - 115, 36, 0, 0, 0, 0, 0, 50, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 117, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 142, 110, + 0, 0, 0, 0, 0, 0, 115, 36, 0, 0, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 117, 43, 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, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, - 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, - 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, + 0, 131, 0, 0, 0, 0, 0, 0, 0, 58, 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, 40, 0, 0, 0, 0, + 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, - 0, 0, 57, 0, 0, 0, 128, 0, 0, 0, + 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 68, 0, 0, 0, 0, 0, 0, 57, + 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, - 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, + 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 0, 23, 0, 138, 0, 0, 0, 0, + 127, 0, 23, 0, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, + 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, + 0, 141, 0, 38, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 82, 0, 0, 0, 0, - 0, 0, 141, 0, 38, 0, 160, 0, 0, 0, + 0, 66, 0, 0, 0, 0, 0, 0, 0, 106, + 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 86, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, - 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 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, 193, 0, 83, 97, 0, 0, 0, 0, 0, @@ -865,74 +866,75 @@ static const flex_int16_t yy_accept[2163] = 22, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 150, 0, 0, 0, 159, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 139, 0, 15, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 64, 0, 0, 134, 0, 0, 0, 125, + 150, 0, 0, 0, 159, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, + 15, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 46, 64, 0, 0, 134, 0, 0, 0, + 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 56, 0, 89, 0, 0, + 187, 0, 0, 192, 0, 109, 0, 0, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 89, 0, 0, 187, - 0, 0, 192, 0, 109, 0, 0, 0, 199, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 0, 0, 0, 47, 0, 0, 195, 0, 0, 119, - 31, 0, 0, 0, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 190, 0, 163, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, - 0, 0, 0, 0, 28, 0, 0, 169, 0, 0, - 0, 55, 0, 0, 0, 0, 0, 111, 0, 0, - + 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 123, 0, 0, 0, 47, 0, 0, 195, 0, + 0, 119, 31, 0, 0, 0, 155, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, + 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 28, 0, 0, + + 169, 0, 0, 0, 55, 0, 0, 0, 0, 0, + 111, 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, 60, 0, 0, + 108, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 60, 0, 0, 108, 0, 0, - 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, 0, 0, 30, 0, + 0, 0, 0, 191, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 0, 0, 0, 30, 0, 0, 0, 0, 191, - 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 21, 0, 0, 194, + + 0, 81, 0, 51, 0, 0, 0, 0, 188, 186, + 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 0, 0, 0, 124, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 52, 0, 0, 0, 0, 48, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 21, 0, 0, 194, 0, 81, 0, 51, - 0, 0, 0, 0, 188, 186, 0, 32, 0, 0, + 176, 0, 13, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 148, 0, 0, 0, 124, + 0, 0, 154, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 52, 0, 0, 0, - 0, 48, 153, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 176, 0, 13, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 154, 0, 164, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - + 0, 0, 147, 0, 62, 61, 20, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 147, 0, 62, 61, 20, - 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, + 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 146, 0, 0, 0, 0, 0, 54, - 0, 67, 0, 49, 174, 0, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, - 0, 0, 0, 77, 0, 0, 0, 0, 0, 16, + 0, 146, 0, 0, 0, 0, 0, 54, 0, 67, + 0, 49, 174, 0, 100, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, + 0, 77, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 0, 0, 0, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 75, 0, + 0, 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 76, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 197, 200, 173, 0, 120, 101, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 149, 0, 74, 0, 65, 0, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, 177, 201, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -986,277 +988,279 @@ static const YY_CHAR yy_meta[74] = 1, 1, 1 } ; -static const flex_int16_t yy_base[2171] = +static const flex_int16_t yy_base[2191] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2552, 2553, 34, 2548, 145, 0, 207, 2553, 214, 221, - 13, 228, 2553, 2528, 118, 25, 2, 6, 2553, 2553, - 73, 11, 17, 2553, 2553, 2553, 104, 2536, 2489, 0, - 2526, 108, 2543, 24, 262, 2553, 2485, 67, 2491, 84, - 75, 88, 224, 91, 89, 290, 220, 2483, 206, 285, - 236, 204, 197, 60, 291, 2492, 247, 308, 315, 214, - 286, 2475, 212, 320, 344, 318, 2494, 335, 0, 385, - 401, 415, 422, 427, 2553, 0, 2553, 441, 446, 236, - 314, 238, 326, 353, 309, 2553, 2491, 2532, 2553, 263, - - 2553, 440, 2519, 308, 2488, 364, 10, 329, 359, 384, - 391, 241, 2529, 0, 501, 408, 2471, 2468, 2472, 418, - 2468, 80, 2476, 422, 2462, 2463, 2468, 78, 2478, 2461, - 2470, 2460, 2469, 341, 343, 340, 2462, 2460, 410, 2508, - 2512, 2458, 2451, 2504, 2444, 174, 2465, 2465, 2459, 340, - 2452, 2450, 2451, 2443, 2448, 2442, 429, 2453, 412, 2438, - 2437, 2451, 425, 2437, 422, 447, 2431, 497, 436, 471, - 2452, 2449, 2450, 432, 2448, 2483, 2482, 450, 446, 2429, - 471, 2430, 478, 2422, 2439, 2431, 2433, 0, 477, 483, - 473, 496, 489, 515, 2429, 2553, 2474, 530, 2423, 499, - - 523, 530, 2477, 535, 2476, 532, 2475, 2553, 2553, 578, - 441, 543, 2434, 2426, 2413, 2424, 2428, 2429, 2409, 2420, - 2424, 2421, 2420, 475, 516, 2458, 2422, 2403, 2400, 2408, - 2403, 2417, 2413, 2404, 2400, 2412, 2412, 2403, 2406, 2386, - 2390, 2403, 2405, 2402, 2394, 2384, 2402, 2553, 2387, 2396, - 523, 2434, 2380, 2389, 2431, 2378, 2388, 2391, 510, 2387, - 2426, 2371, 2373, 2384, 2422, 2367, 2425, 2379, 2359, 2374, - 560, 2364, 2370, 522, 2361, 2359, 2359, 2365, 2356, 2355, - 2362, 2352, 2411, 2367, 2366, 2360, 513, 2367, 2362, 2354, - 2344, 2359, 2358, 2353, 2357, 2338, 2354, 2340, 2346, 2353, - - 2335, 527, 2340, 2337, 2336, 573, 2335, 2330, 2344, 570, - 2343, 2386, 2345, 520, 2336, 2324, 560, 2553, 2553, 572, - 2553, 2553, 2322, 544, 568, 2370, 573, 2380, 576, 2553, - 2379, 2553, 2373, 626, 2553, 2335, 575, 2312, 2321, 2369, - 2329, 2312, 2329, 2365, 2325, 2308, 2314, 2366, 2321, 2324, - 2315, 2318, 2304, 2315, 2359, 2353, 2311, 2308, 601, 2314, - 2354, 2289, 2347, 2300, 2295, 2292, 2295, 2342, 2299, 2288, - 2304, 2338, 2284, 624, 2298, 2283, 2282, 2295, 2293, 2291, - 2291, 2290, 2285, 2292, 2287, 2283, 552, 2281, 2284, 2279, - 2265, 2277, 2273, 2323, 585, 2317, 2553, 2281, 2315, 2265, - - 2264, 2263, 2256, 2258, 2270, 2261, 2268, 2249, 2266, 2261, - 607, 2308, 2261, 2258, 2261, 2553, 2260, 606, 2250, 2262, - 574, 2237, 2238, 2259, 2250, 2240, 2291, 2236, 2250, 605, - 2236, 2248, 2247, 2246, 2241, 2283, 2243, 2242, 2241, 2240, - 2223, 2231, 2281, 2240, 2220, 2278, 2553, 2220, 2219, 650, - 2232, 2230, 2553, 2553, 2230, 2219, 2211, 596, 2270, 2269, - 2553, 2268, 2553, 630, 678, 2227, 621, 2266, 2208, 2219, - 2258, 2211, 2213, 2215, 2202, 2210, 2198, 2553, 2203, 2196, - 2208, 2211, 2198, 2197, 2553, 618, 2199, 2196, 648, 2194, - 2196, 2553, 2241, 2203, 2200, 2185, 2198, 2198, 2192, 652, - - 2199, 2187, 2180, 2231, 2553, 2178, 2194, 2228, 2189, 2187, - 2185, 2186, 2170, 2179, 2221, 2172, 2171, 2166, 2165, 2216, - 2160, 619, 2179, 2153, 2160, 2165, 2175, 2209, 2213, 2553, - 2158, 2154, 2152, 2161, 2160, 2154, 2161, 2145, 2145, 2155, - 2143, 2157, 2157, 2145, 2141, 2139, 2553, 2196, 2553, 2138, - 2149, 2188, 2133, 2132, 2137, 2146, 2140, 2134, 2143, 2185, - 2179, 2141, 2125, 2120, 2140, 2115, 2121, 636, 2135, 2128, - 2132, 2115, 2173, 2114, 2114, 2165, 2110, 2111, 2110, 2108, - 2125, 2553, 2121, 2158, 2553, 2109, 2107, 2553, 2118, 2154, - 2153, 2113, 2097, 2114, 2154, 2553, 2553, 2553, 653, 652, - - 2094, 703, 2553, 2104, 2103, 642, 2110, 2090, 2100, 2142, - 2087, 2140, 2085, 2095, 2137, 2082, 2089, 2082, 2094, 2076, - 2076, 2091, 2090, 604, 2089, 2088, 2088, 2070, 2075, 2116, - 2083, 2080, 2074, 2119, 2063, 2079, 2077, 2077, 2553, 2062, - 2059, 2117, 2072, 2064, 2070, 2061, 2069, 2054, 2105, 2069, - 2051, 2063, 2055, 668, 2046, 2045, 2039, 2044, 2059, 2056, - 2057, 2036, 2046, 2052, 2095, 2050, 2042, 2033, 2553, 2034, - 2036, 2045, 2037, 2042, 2081, 2080, 2031, 16, 2040, 2077, - 2022, 2075, 2022, 2025, 2018, 2553, 2032, 2011, 2015, 2029, - 2024, 2020, 2065, 2017, 2024, 2062, 2553, 2007, 2021, 2020, - - 2023, 2004, 2056, 2055, 2002, 2053, 2013, 1997, 2050, 2049, - 2553, 1994, 2008, 2007, 702, 2008, 2007, 2000, 188, 263, - 243, 322, 325, 351, 370, 437, 2553, 472, 513, 2553, - 653, 671, 571, 584, 602, 654, 674, 669, 658, 660, - 674, 675, 722, 686, 729, 689, 690, 726, 731, 685, - 685, 695, 700, 686, 689, 700, 700, 684, 741, 694, - 704, 707, 745, 708, 701, 705, 702, 704, 751, 714, - 759, 716, 717, 2553, 721, 716, 707, 722, 727, 724, - 712, 728, 727, 715, 729, 727, 735, 771, 733, 778, - 779, 729, 721, 731, 778, 736, 786, 2553, 787, 740, - - 742, 738, 732, 735, 793, 789, 752, 741, 754, 2553, - 744, 755, 744, 757, 747, 760, 804, 805, 748, 759, - 744, 767, 758, 747, 753, 808, 772, 756, 768, 812, - 813, 760, 815, 779, 774, 779, 777, 821, 763, 775, - 778, 782, 774, 771, 2553, 835, 794, 795, 783, 797, - 787, 790, 801, 786, 793, 799, 800, 792, 806, 846, - 822, 796, 810, 815, 812, 794, 801, 815, 860, 817, - 814, 815, 813, 822, 2553, 818, 813, 828, 825, 811, - 813, 832, 829, 817, 824, 825, 834, 838, 874, 837, - 827, 825, 824, 835, 831, 887, 834, 845, 830, 831, - - 837, 853, 843, 890, 2553, 854, 854, 847, 858, 856, - 901, 843, 845, 864, 861, 849, 847, 909, 866, 852, - 858, 856, 2553, 2553, 866, 871, 876, 864, 874, 876, - 2553, 2553, 877, 864, 882, 869, 863, 2553, 868, 886, - 873, 923, 874, 926, 872, 876, 894, 935, 2553, 2553, - 880, 884, 883, 880, 896, 941, 894, 884, 885, 881, - 894, 905, 906, 901, 902, 904, 897, 899, 895, 901, - 901, 903, 918, 901, 960, 917, 922, 899, 922, 908, - 907, 2553, 914, 915, 964, 965, 917, 930, 968, 926, - 916, 931, 925, 933, 920, 952, 960, 982, 930, 925, - - 980, 981, 943, 983, 2553, 989, 932, 948, 952, 993, - 943, 942, 937, 938, 950, 945, 941, 944, 945, 955, - 965, 1001, 949, 967, 959, 954, 1012, 969, 970, 961, - 2553, 975, 964, 967, 975, 977, 962, 978, 975, 973, - 1020, 986, 970, 971, 2553, 987, 990, 973, 984, 1033, - 976, 995, 2553, 994, 997, 983, 978, 996, 1036, 994, - 990, 987, 1040, 1041, 1003, 989, 1007, 1006, 1007, 993, - 1008, 1000, 1007, 997, 1015, 1014, 1001, 1018, 2553, 1010, - 1016, 1019, 1064, 1011, 2553, 1014, 1019, 1064, 1015, 1027, - 1021, 1022, 1020, 1022, 1032, 1077, 1021, 1022, 1022, 1081, - - 1025, 1037, 1030, 2553, 1026, 1034, 1032, 1083, 1025, 1046, - 1033, 1034, 1035, 1036, 1042, 1050, 1041, 1046, 1056, 1057, - 1058, 1063, 1104, 1076, 1081, 2553, 1063, 1060, 1056, 1070, - 1053, 1053, 2553, 1054, 1114, 1057, 2553, 1068, 1058, 1078, - 1077, 1068, 1079, 1122, 1083, 1076, 1080, 1084, 1067, 1084, - 1075, 1130, 1077, 2553, 1127, 1076, 1079, 1097, 1079, 1080, - 1080, 1101, 1098, 1103, 1091, 1105, 1091, 1099, 1108, 1088, - 1103, 1110, 1152, 1148, 2553, 1154, 1155, 1097, 1107, 1117, - 1101, 1121, 1109, 1105, 1112, 1121, 1109, 1116, 1117, 1129, - 1170, 1117, 1115, 1117, 1134, 1175, 1125, 1124, 1130, 1128, - - 1126, 1121, 1182, 1133, 1184, 1180, 1186, 2553, 1127, 1144, - 1137, 1128, 1147, 1135, 1145, 1146, 1142, 1155, 1155, 2553, - 1139, 1136, 1142, 2553, 1143, 1203, 1162, 1143, 1162, 1163, - 1165, 1204, 1157, 1211, 1212, 1165, 1170, 1164, 1162, 1173, - 1172, 1156, 1161, 1167, 1180, 2553, 1202, 1193, 1225, 1165, - 1187, 1182, 1182, 1186, 1231, 2553, 1174, 1174, 1177, 1194, - 1189, 1193, 1188, 2553, 1180, 1197, 1177, 1198, 1188, 1239, - 1192, 2553, 1206, 1206, 1244, 1191, 1200, 1248, 1206, 1211, - 1197, 1257, 1200, 1214, 1212, 1204, 1210, 1206, 1224, 1225, - 1226, 2553, 1216, 2553, 1226, 2553, 1211, 1222, 1213, 1232, - - 1225, 1223, 1216, 1228, 1272, 1236, 1225, 1232, 1233, 1239, - 2553, 1232, 1284, 1225, 1286, 2553, 1287, 1229, 1235, 1242, - 1286, 1248, 2553, 1249, 2553, 1236, 2553, 1236, 1239, 1253, - 1258, 1241, 1300, 1257, 1258, 1298, 1250, 1255, 1306, 1302, - 1255, 1309, 2553, 1260, 1257, 1312, 1313, 1270, 1271, 1273, - 2553, 2553, 1265, 1260, 1314, 1263, 1279, 1322, 1264, 1276, - 1265, 1282, 1297, 1328, 2553, 1285, 1278, 1287, 1278, 1289, - 2553, 1334, 1271, 1282, 1297, 1333, 1285, 1296, 1297, 1298, - 1295, 1339, 1302, 1292, 1302, 1308, 1295, 1291, 1351, 1347, - 1305, 1349, 1357, 1314, 2553, 1315, 1306, 1309, 1318, 1319, - - 1316, 1306, 1309, 1309, 1320, 1315, 1370, 1317, 1372, 1315, - 1320, 1375, 1371, 1312, 1328, 1321, 1324, 1337, 1338, 1336, - 1385, 2553, 1338, 2553, 2553, 1344, 1336, 1346, 1331, 1387, - 1334, 1334, 1395, 1396, 1340, 1350, 1399, 2553, 1347, 1348, - 1350, 1403, 1344, 1347, 2553, 1365, 1366, 2553, 1366, 1354, - 2553, 2553, 1367, 1350, 1370, 1371, 1357, 1359, 1418, 1368, - 2553, 1420, 1369, 1363, 1423, 1403, 2553, 1425, 1382, 1427, - 1378, 1425, 2553, 1373, 1432, 1382, 1376, 1373, 1376, 1378, - 1395, 1434, 1387, 1399, 1402, 1390, 1393, 1386, 1393, 1384, - 2553, 1392, 1407, 1392, 2553, 1394, 1395, 1449, 1411, 1411, - - 1414, 1414, 1411, 1455, 1417, 1409, 1410, 2553, 1411, 2553, - 1421, 1413, 2553, 1419, 1424, 1425, 1422, 1466, 1414, 1429, - 1430, 1422, 2553, 1419, 1420, 1420, 1426, 1425, 1423, 1477, - 1438, 2553, 2553, 1479, 1426, 2553, 1427, 1428, 1434, 2553, - 1443, 1437, 1492, 1439, 1432, 1444, 1439, 1449, 1460, 1453, - 1459, 1449, 1504, 1457, 2553, 1466, 2553, 1463, 1508, 2553, - 1461, 1484, 2553, 1511, 2553, 1469, 1454, 1514, 2553, 1515, - 1472, 1477, 1459, 1519, 1515, 1479, 1476, 1472, 1465, 1520, - 1478, 1479, 1469, 1474, 1486, 1531, 1486, 1534, 1530, 1494, - 1495, 1491, 1535, 1483, 1488, 1486, 1545, 1496, 1502, 1490, - - 1549, 1545, 1508, 1552, 1513, 1502, 1496, 1556, 1498, 1499, - 1513, 1516, 1516, 1562, 1504, 1521, 1517, 1515, 1522, 1506, - 1564, 1565, 1566, 1529, 1522, 1521, 1521, 1516, 1534, 2553, - 1525, 1531, 1536, 1523, 1524, 1523, 1525, 1580, 1526, 2553, - 1522, 1540, 1589, 2553, 1547, 1560, 2553, 1592, 1545, 2553, - 2553, 1536, 1547, 1596, 2553, 1542, 1547, 1545, 1595, 1553, - 1558, 1547, 1563, 1552, 1550, 1564, 1551, 2553, 1553, 2553, - 1556, 1565, 1608, 1551, 1556, 1616, 1564, 1574, 1576, 2553, - 1621, 1617, 1575, 1619, 2553, 1570, 1626, 2553, 1569, 1584, - 1572, 2553, 1582, 1583, 1632, 1590, 1594, 2553, 1630, 1596, - - 1572, 1590, 1591, 1600, 1582, 1589, 1601, 1600, 1591, 1641, - 1593, 1589, 1649, 1591, 1592, 1652, 1648, 1654, 1604, 1656, - 1609, 1599, 1615, 1608, 2553, 1661, 1662, 2553, 1611, 1664, - 1606, 2553, 1609, 1619, 1663, 1611, 1626, 1613, 1628, 1614, - 1621, 1621, 1676, 1633, 1634, 1622, 1636, 1622, 1682, 1635, - 2553, 1679, 1630, 1627, 2553, 1629, 1642, 1629, 1650, 2553, - 1647, 1692, 1645, 1642, 1643, 2553, 1696, 1655, 1638, 1640, - 1656, 1649, 1639, 1655, 1656, 1665, 1655, 1707, 1667, 1651, - 1660, 1706, 2553, 1664, 1713, 2553, 1662, 2553, 1656, 2553, - 1663, 1717, 1718, 1715, 2553, 2553, 1677, 2553, 1717, 1679, - - 1680, 1665, 1666, 1674, 1728, 1676, 1725, 1726, 1681, 2553, - 1676, 1694, 1681, 1694, 1689, 2553, 1686, 1691, 1689, 1741, - 1698, 1743, 1691, 1688, 1688, 2553, 1703, 1704, 1705, 2553, - 1706, 1696, 1708, 1753, 1706, 1755, 1697, 1705, 1706, 1719, - 2553, 1720, 1701, 1702, 1709, 1711, 2553, 1725, 1722, 1762, - 1723, 2553, 2553, 1727, 1712, 1712, 1727, 1720, 1719, 1730, - 1717, 2553, 1733, 1721, 1724, 1780, 1720, 1739, 1741, 1734, - 1733, 1742, 1744, 1748, 2553, 1738, 2553, 1742, 1733, 1792, - 1735, 1794, 1795, 1796, 1754, 1798, 2553, 1740, 2553, 1795, - 1757, 1758, 1745, 1753, 1764, 1751, 1762, 1748, 1746, 1754, - - 1753, 1758, 1750, 1815, 1768, 1769, 1759, 1776, 1775, 1816, - 1760, 1779, 1780, 2553, 1785, 1778, 1783, 1770, 1785, 1830, - 1787, 1790, 1789, 1778, 1787, 2553, 1836, 2553, 2553, 2553, - 1797, 2553, 1838, 1780, 1840, 1841, 1784, 1843, 1791, 1840, - 1841, 1803, 1843, 1789, 1793, 1811, 1852, 1811, 2553, 1802, - 1792, 1851, 1817, 1810, 1806, 1860, 1803, 1805, 1804, 1811, - 1807, 1866, 1810, 2553, 1815, 1825, 1828, 1811, 1819, 2553, - 1814, 2553, 1826, 2553, 2553, 1831, 2553, 1832, 1832, 1823, - 1879, 1823, 1833, 1818, 1831, 2553, 1833, 1841, 1886, 1827, - 1829, 1826, 1850, 2553, 1837, 1844, 1845, 1848, 1837, 2553, - - 1891, 1838, 1846, 1840, 1856, 1855, 1858, 1851, 1846, 1846, - 1858, 1853, 2553, 1864, 1852, 1905, 1856, 1868, 1913, 2553, - 1859, 1871, 1916, 1865, 1867, 1865, 1866, 1921, 1874, 1861, - 1876, 1881, 1878, 1927, 1928, 1929, 1886, 1931, 1932, 1876, - 1880, 1876, 1892, 1875, 1887, 1881, 2553, 1897, 1941, 2553, - 1898, 1883, 1901, 1892, 2553, 1893, 1907, 1903, 1896, 1896, - 2553, 2553, 2553, 1951, 2553, 2553, 1894, 1902, 1897, 1950, - 1916, 1913, 1958, 1919, 2553, 1960, 1902, 1962, 1905, 1918, - 1917, 1918, 1908, 1915, 2553, 1910, 1970, 1923, 1932, 1925, - 1969, 2553, 1916, 2553, 1928, 2553, 1972, 1978, 1920, 1936, - - 1981, 1982, 1983, 2553, 1940, 1934, 1927, 1947, 1944, 1936, - 1940, 2553, 1987, 1936, 2553, 2553, 2553, 1936, 1944, 1991, - 1951, 1944, 1999, 1947, 1947, 1943, 1945, 2004, 2005, 1947, - 1963, 1948, 2553, 2009, 1956, 1963, 2012, 2553, 2553, 1965, - 2014, 1962, 2553, 1966, 1965, 2553, 1966, 2553, 1960, 1960, - 1977, 1978, 2023, 1969, 2025, 2026, 2553, 2027, 2553, 2553, - 2553, 2553, 2033, 2036, 2039, 2040, 2042, 2045, 2048, 2051 + 2572, 2573, 34, 2568, 145, 0, 207, 2573, 214, 221, + 13, 228, 2573, 2548, 118, 25, 2, 6, 2573, 2573, + 73, 11, 17, 2573, 2573, 2573, 104, 2556, 2509, 0, + 2546, 108, 2563, 24, 262, 2573, 2505, 67, 2511, 84, + 75, 88, 224, 91, 89, 290, 220, 2503, 206, 285, + 236, 204, 197, 60, 291, 2512, 247, 308, 315, 214, + 286, 2495, 212, 320, 344, 318, 2514, 335, 0, 385, + 401, 415, 422, 427, 2573, 0, 2573, 441, 446, 236, + 314, 238, 326, 353, 309, 2573, 2511, 2552, 2573, 263, + + 2573, 440, 2539, 308, 2508, 364, 10, 329, 359, 384, + 391, 241, 2549, 0, 501, 408, 2491, 2488, 2492, 418, + 2488, 80, 2496, 422, 2482, 2483, 2488, 78, 2498, 2481, + 2490, 2480, 2489, 341, 343, 340, 2482, 2480, 410, 2528, + 2532, 2478, 2471, 2524, 2464, 174, 2485, 2485, 2479, 340, + 2472, 2470, 2471, 2463, 2468, 2462, 429, 2473, 412, 2458, + 2457, 2471, 425, 2457, 422, 447, 2451, 497, 436, 471, + 2472, 2469, 2470, 432, 2468, 2503, 2502, 450, 446, 2449, + 471, 2450, 478, 2442, 2459, 2451, 2453, 0, 477, 483, + 473, 496, 489, 515, 2449, 2573, 2494, 530, 2443, 499, + + 523, 530, 2497, 535, 2496, 532, 2495, 2573, 2573, 578, + 441, 543, 2454, 2446, 2433, 2444, 2448, 2449, 2429, 2440, + 2444, 2441, 2440, 475, 516, 2478, 2442, 2423, 2420, 2428, + 2423, 2437, 2433, 2424, 2420, 2432, 2432, 2420, 2422, 2425, + 2405, 2409, 2422, 2424, 2421, 2413, 2403, 2421, 2573, 2406, + 2415, 523, 2453, 2399, 2408, 2450, 2397, 2407, 2410, 510, + 2406, 2445, 2390, 2392, 2403, 2441, 2386, 2444, 2398, 2378, + 2393, 560, 2383, 2389, 522, 2380, 2378, 2378, 2384, 2375, + 2374, 2381, 2371, 2430, 2386, 2385, 2379, 513, 2386, 2381, + 2373, 2363, 2378, 2377, 2372, 2376, 2357, 2373, 2359, 2365, + + 2372, 2354, 527, 2359, 2356, 2355, 573, 2354, 2349, 2363, + 570, 2362, 2405, 2364, 520, 2355, 2343, 560, 2573, 2573, + 572, 2573, 2573, 2341, 544, 568, 2389, 573, 2399, 576, + 2573, 2398, 2573, 2392, 626, 2573, 2354, 575, 2331, 2340, + 2388, 2348, 2331, 2348, 2384, 2344, 2327, 2333, 2385, 2340, + 2343, 2334, 2337, 2323, 2334, 2378, 2372, 2330, 2327, 601, + 2333, 2373, 2308, 2366, 2319, 2314, 2308, 2310, 2313, 2360, + 2317, 2306, 2322, 2356, 2302, 624, 2316, 2301, 2300, 2313, + 2311, 2309, 2309, 2308, 2303, 2310, 2305, 2301, 552, 2299, + 2302, 2297, 2283, 2295, 2291, 2341, 585, 2335, 2573, 2299, + + 2333, 2283, 2282, 2281, 2274, 2276, 2288, 2279, 2286, 2267, + 2284, 2279, 607, 2326, 2279, 2276, 2279, 2573, 2278, 606, + 2268, 2280, 574, 2255, 2256, 2277, 2268, 2258, 2309, 2254, + 2268, 605, 2254, 2266, 2265, 2264, 2259, 2301, 2261, 2260, + 2259, 2258, 2241, 2249, 2299, 2258, 2238, 2296, 2573, 2238, + 2237, 650, 2250, 2248, 2573, 2573, 2248, 2237, 2229, 596, + 2288, 2287, 2573, 2286, 2573, 630, 678, 2245, 621, 2284, + 2226, 2237, 2276, 2229, 2231, 2233, 2220, 2228, 2216, 2573, + 2221, 2214, 2226, 2229, 2216, 2215, 2573, 618, 2217, 2214, + 648, 2212, 2214, 2573, 2259, 2221, 2218, 2203, 2217, 2215, + + 2215, 2209, 652, 2216, 2204, 2197, 2248, 2573, 2195, 2211, + 2245, 2206, 2204, 2202, 2203, 2187, 2196, 2238, 2189, 2188, + 2183, 2182, 2233, 2177, 619, 2196, 2170, 2177, 2182, 2192, + 2226, 2230, 2573, 2175, 2171, 2169, 2178, 2177, 2171, 2178, + 2162, 2162, 2172, 2160, 2174, 2174, 2162, 2158, 2156, 2573, + 2213, 2573, 2155, 2166, 2205, 2150, 2149, 2154, 2163, 2157, + 2151, 2160, 2202, 2196, 2158, 2142, 2137, 2157, 2132, 2138, + 636, 2152, 2145, 2149, 2132, 2190, 2131, 2131, 2182, 2127, + 2128, 2127, 2125, 2142, 2573, 2138, 2175, 2573, 2126, 2124, + 2573, 2135, 2171, 2170, 2130, 2114, 2131, 2171, 2573, 2573, + + 2573, 653, 652, 2111, 703, 2573, 2121, 2120, 642, 2127, + 2107, 2117, 2159, 2104, 2157, 2102, 2112, 2154, 2099, 2106, + 2099, 2111, 2093, 2093, 2108, 2107, 604, 2106, 2105, 2105, + 2087, 2092, 2133, 2100, 2097, 2091, 2136, 2080, 2095, 2095, + 2093, 2093, 2573, 2078, 2075, 2133, 2088, 2080, 2086, 2077, + 2085, 2070, 2121, 2085, 2067, 2079, 2071, 668, 2062, 2061, + 2055, 2060, 2075, 2072, 2073, 2052, 2062, 2068, 2111, 2066, + 2058, 2049, 2573, 2050, 2052, 2061, 2053, 2058, 2097, 2096, + 2047, 16, 2056, 2093, 2038, 2091, 2038, 2041, 2034, 2573, + 2048, 2027, 2031, 2045, 2040, 2036, 2081, 2033, 2040, 2078, + + 2573, 2023, 2037, 2036, 2039, 2020, 2072, 2071, 2018, 2069, + 2029, 2013, 2066, 2065, 2573, 2010, 2020, 203, 702, 226, + 241, 322, 346, 416, 456, 472, 506, 571, 591, 602, + 2573, 640, 639, 2573, 674, 691, 660, 657, 657, 666, + 684, 678, 667, 663, 677, 678, 725, 689, 732, 693, + 696, 731, 735, 690, 690, 700, 705, 691, 694, 705, + 705, 689, 746, 699, 709, 712, 750, 713, 706, 710, + 707, 709, 756, 757, 721, 765, 722, 724, 2573, 727, + 722, 713, 728, 733, 730, 718, 734, 733, 721, 735, + 733, 741, 777, 739, 784, 785, 735, 727, 737, 784, + + 742, 792, 2573, 793, 746, 748, 744, 738, 741, 799, + 795, 758, 747, 760, 2573, 750, 761, 750, 763, 753, + 766, 810, 811, 754, 765, 750, 773, 764, 753, 759, + 814, 778, 762, 774, 818, 819, 766, 821, 785, 780, + 785, 783, 827, 769, 781, 784, 788, 780, 777, 2573, + 841, 800, 801, 789, 803, 793, 796, 807, 792, 799, + 805, 806, 798, 812, 852, 828, 802, 816, 821, 818, + 800, 807, 821, 866, 823, 820, 821, 819, 828, 2573, + 824, 819, 834, 831, 817, 819, 838, 835, 823, 830, + 831, 840, 844, 880, 843, 833, 831, 830, 841, 837, + + 893, 840, 851, 836, 837, 843, 859, 855, 850, 897, + 2573, 861, 861, 854, 865, 863, 908, 850, 852, 871, + 868, 856, 854, 916, 873, 859, 865, 863, 2573, 2573, + 873, 878, 883, 871, 881, 883, 2573, 2573, 884, 871, + 889, 876, 870, 2573, 875, 893, 880, 930, 881, 933, + 879, 883, 901, 942, 2573, 2573, 887, 891, 890, 887, + 903, 948, 901, 891, 892, 888, 901, 912, 913, 908, + 909, 911, 904, 906, 902, 908, 908, 910, 925, 908, + 967, 924, 929, 906, 929, 915, 914, 2573, 921, 922, + 971, 972, 924, 937, 975, 933, 923, 938, 932, 940, + + 927, 959, 967, 989, 937, 932, 987, 988, 950, 990, + 2573, 996, 939, 955, 959, 1000, 950, 949, 944, 945, + 957, 952, 948, 951, 952, 962, 972, 1008, 956, 974, + 966, 961, 1019, 976, 977, 968, 2573, 982, 971, 974, + 982, 984, 969, 981, 986, 983, 981, 1028, 994, 978, + 979, 2573, 995, 998, 981, 992, 1041, 984, 1003, 2573, + 1002, 1005, 991, 986, 1004, 1044, 1002, 998, 995, 1048, + 1049, 1011, 997, 1015, 1014, 1015, 1001, 1016, 1008, 1015, + 1005, 1023, 1022, 1009, 1026, 2573, 1018, 1024, 1027, 1072, + 1019, 2573, 1022, 1027, 1072, 1023, 1035, 1029, 1030, 1028, + + 1030, 1040, 1085, 1029, 1030, 1030, 1089, 1033, 1045, 1038, + 2573, 1034, 1042, 1040, 1091, 1033, 1054, 1041, 1042, 1043, + 1044, 1050, 1058, 1049, 1054, 1064, 1065, 1066, 1071, 1112, + 1084, 1089, 2573, 1071, 1068, 1064, 1078, 1061, 1061, 2573, + 1062, 1122, 1065, 2573, 1076, 1066, 1086, 1085, 1076, 1087, + 1130, 1091, 1084, 1088, 1092, 1075, 1092, 1083, 1138, 1085, + 2573, 1135, 1084, 1087, 1105, 1087, 1088, 1088, 1109, 1106, + 1094, 1112, 1100, 1114, 1100, 1108, 1117, 1097, 1112, 1119, + 1161, 1157, 2573, 1163, 1164, 1106, 1116, 1126, 1110, 1130, + 1118, 1114, 1121, 1130, 1118, 1125, 1126, 1138, 1179, 1126, + + 1124, 1126, 1143, 1184, 1134, 1133, 1139, 1137, 1135, 1130, + 1191, 1142, 1193, 1189, 1195, 2573, 1136, 1153, 1146, 1137, + 1156, 1144, 1154, 1155, 1151, 1164, 1164, 2573, 1148, 1145, + 1151, 2573, 1152, 1212, 1171, 1152, 1171, 1172, 1174, 1213, + 1166, 1220, 1221, 1174, 1179, 1173, 1171, 1182, 1181, 1165, + 1170, 1176, 1189, 2573, 1211, 1202, 1234, 1174, 1196, 1191, + 1191, 1195, 1240, 2573, 1183, 1183, 1186, 1203, 1198, 1202, + 1197, 2573, 1189, 1206, 1186, 1207, 1197, 1248, 1201, 2573, + 1215, 1215, 1253, 1200, 1209, 1257, 1215, 1220, 1206, 1266, + 1209, 1210, 1224, 1222, 1214, 1220, 1216, 1234, 1235, 1236, + + 2573, 1226, 2573, 1236, 2573, 1221, 1232, 1223, 1242, 1235, + 1233, 1226, 1238, 1282, 1246, 1235, 1242, 1243, 1249, 2573, + 1242, 1294, 1235, 1296, 2573, 1297, 1239, 1245, 1252, 1296, + 1258, 2573, 1259, 2573, 1246, 2573, 1246, 1249, 1263, 1268, + 1251, 1310, 1267, 1268, 1308, 1260, 1265, 1316, 1312, 1265, + 1319, 2573, 1270, 1267, 1322, 1323, 1280, 1281, 1283, 2573, + 2573, 1275, 1270, 1324, 1273, 1289, 1332, 1274, 1286, 1275, + 1292, 1307, 1338, 2573, 1295, 1288, 1297, 1288, 1299, 2573, + 1344, 1281, 1292, 1307, 1343, 1295, 1306, 1307, 1308, 1305, + 1349, 1312, 1302, 1312, 1318, 1305, 1301, 1361, 1357, 1315, + + 1359, 1367, 1324, 2573, 1310, 1326, 1317, 1320, 1329, 1330, + 1327, 1317, 1320, 1320, 1331, 1326, 1381, 1328, 1383, 1326, + 1331, 1386, 1382, 1324, 1339, 1332, 1335, 1348, 1349, 1347, + 1396, 2573, 1349, 2573, 2573, 1355, 1347, 1357, 1342, 1398, + 1345, 1345, 1406, 1407, 1351, 1361, 1410, 2573, 1358, 1359, + 1361, 1414, 1355, 1358, 2573, 1376, 1377, 2573, 1377, 1365, + 2573, 2573, 1378, 1361, 1381, 1382, 1368, 1370, 1429, 1379, + 2573, 1431, 1380, 1374, 1434, 1414, 2573, 1436, 1393, 1438, + 1389, 1436, 2573, 1384, 1443, 1393, 1387, 1384, 1387, 1389, + 1406, 1445, 1398, 1410, 1413, 1401, 1404, 1397, 1404, 1395, + + 2573, 1403, 1418, 1403, 2573, 1405, 1459, 1407, 1461, 1423, + 1423, 1426, 1426, 1423, 1467, 1429, 1421, 1422, 2573, 1423, + 2573, 1433, 1425, 2573, 1431, 1436, 1437, 1434, 1478, 1426, + 1441, 1442, 1434, 2573, 1431, 1432, 1432, 1438, 1437, 1435, + 1489, 1450, 2573, 2573, 1491, 1438, 2573, 1439, 1440, 1446, + 2573, 1455, 1449, 1504, 1451, 1444, 1456, 1451, 1461, 1472, + 1465, 1471, 1461, 1516, 1469, 2573, 1478, 2573, 1475, 1520, + 2573, 1473, 1496, 2573, 1523, 2573, 1481, 1466, 1526, 2573, + 1527, 1484, 1489, 1471, 1531, 1527, 1491, 1488, 1484, 1477, + 1532, 1490, 1491, 1481, 1486, 1498, 1543, 1498, 1546, 1496, + + 1543, 1508, 1508, 1504, 1548, 1496, 1501, 1499, 1558, 1509, + 1515, 1503, 1562, 1558, 1521, 1565, 1526, 1515, 1509, 1569, + 1511, 1512, 1526, 1529, 1529, 1575, 1517, 1534, 1530, 1528, + 1535, 1519, 1577, 1578, 1579, 1542, 1535, 1534, 1534, 1529, + 1547, 2573, 1538, 1544, 1549, 1536, 1537, 1536, 1538, 1593, + 1539, 2573, 1535, 1553, 1602, 2573, 1560, 1573, 2573, 1605, + 1558, 2573, 2573, 1549, 1560, 1609, 2573, 1555, 1560, 1558, + 1608, 1566, 1571, 1560, 1576, 1565, 1563, 1577, 1564, 2573, + 1566, 2573, 1584, 1570, 1579, 1622, 1565, 1570, 1630, 1578, + 1589, 1590, 2573, 1635, 1631, 1589, 1633, 2573, 1584, 1640, + + 2573, 1583, 1598, 1586, 2573, 1596, 1597, 1646, 1604, 1608, + 2573, 1644, 1610, 1586, 1604, 1605, 1614, 1596, 1603, 1615, + 1614, 1605, 1655, 1607, 1603, 1663, 1605, 1606, 1666, 1662, + 1668, 1618, 1670, 1623, 1613, 1629, 1622, 2573, 1675, 1676, + 2573, 1625, 1678, 1620, 2573, 1623, 1633, 1677, 1625, 1640, + 1627, 1642, 1628, 1635, 1635, 1690, 1647, 1648, 1635, 1637, + 1651, 1637, 1697, 1650, 2573, 1694, 1645, 1642, 2573, 1644, + 1657, 1644, 1665, 2573, 1662, 1707, 1660, 1657, 1658, 2573, + 1711, 1670, 1653, 1655, 1671, 1664, 1654, 1670, 1671, 1680, + 1670, 1722, 1682, 1666, 1675, 1721, 2573, 1679, 1728, 2573, + + 1677, 2573, 1671, 2573, 1678, 1732, 1733, 1730, 2573, 2573, + 1692, 2573, 1732, 1694, 1695, 1680, 1681, 1689, 1743, 1691, + 1740, 1741, 1696, 2573, 1691, 1709, 1691, 1697, 1710, 1705, + 2573, 1702, 1707, 1705, 1757, 1714, 1759, 1707, 1704, 1704, + 2573, 1719, 1720, 1721, 2573, 1722, 1712, 1724, 1769, 1722, + 1771, 1713, 1721, 1722, 1735, 2573, 1736, 1717, 1718, 1725, + 1727, 2573, 1741, 1738, 1778, 1739, 2573, 2573, 1743, 1728, + 1728, 1743, 1736, 1735, 1746, 1733, 2573, 1749, 1737, 1740, + 1796, 1736, 1755, 1794, 1758, 1751, 1750, 1759, 1761, 1765, + 2573, 1755, 2573, 1759, 1750, 1809, 1752, 1811, 1812, 1813, + + 1771, 1815, 2573, 1757, 2573, 1812, 1774, 1775, 1762, 1770, + 1781, 1768, 1779, 1765, 1763, 1771, 1770, 1775, 1767, 1832, + 1785, 1786, 1776, 1793, 1792, 1833, 1777, 1796, 1797, 2573, + 1802, 1795, 1834, 1801, 1788, 1803, 1848, 1805, 1808, 1807, + 1796, 1805, 2573, 1854, 2573, 2573, 2573, 1815, 2573, 1856, + 1798, 1858, 1859, 1802, 1861, 1809, 1858, 1859, 1821, 1861, + 1807, 1811, 1829, 1870, 1829, 2573, 1820, 1810, 1869, 1835, + 1828, 1824, 1878, 1821, 1823, 1822, 1829, 1872, 1826, 1885, + 1829, 2573, 1834, 1844, 1847, 1830, 1838, 2573, 1833, 2573, + 1845, 2573, 2573, 1850, 2573, 1851, 1851, 1842, 1898, 1842, + + 1852, 1837, 1850, 2573, 1852, 1860, 1905, 1846, 1848, 1845, + 1869, 2573, 1856, 1863, 1864, 1867, 1914, 1857, 2573, 1911, + 1858, 1866, 1860, 1876, 1875, 1878, 1871, 1866, 1866, 1878, + 1873, 2573, 1884, 1872, 1925, 1876, 1888, 1933, 2573, 1879, + 1891, 1936, 1885, 1887, 1885, 1886, 1941, 2573, 1894, 1881, + 1896, 1901, 1898, 1947, 1948, 1949, 1906, 1951, 1952, 1896, + 1900, 1896, 1912, 1895, 1907, 1901, 2573, 1917, 1961, 2573, + 1918, 1903, 1921, 1912, 2573, 1913, 1927, 1923, 1916, 1916, + 2573, 2573, 2573, 1971, 2573, 2573, 1914, 1922, 1917, 1970, + 1936, 1933, 1978, 1939, 2573, 1980, 1922, 1982, 1925, 1938, + + 1937, 1938, 1928, 1935, 2573, 1930, 1990, 1943, 1952, 1945, + 1989, 2573, 1936, 2573, 1948, 2573, 1992, 1998, 1940, 1956, + 2001, 2002, 2003, 2573, 1960, 1954, 1947, 1967, 1964, 1956, + 1960, 2573, 2007, 1956, 2573, 2573, 2573, 1956, 1964, 2011, + 1971, 1964, 2019, 1967, 1967, 1963, 1965, 2024, 2025, 1967, + 1983, 1968, 2573, 2029, 1976, 1983, 2032, 2573, 2573, 1985, + 2034, 1982, 2573, 1986, 1985, 2573, 1986, 2573, 1980, 1980, + 1997, 1998, 2043, 1989, 2045, 2046, 2573, 2047, 2573, 2573, + 2573, 2573, 2053, 2056, 2059, 2060, 2062, 2065, 2068, 2071 } ; -static const flex_int16_t yy_def[2171] = +static const flex_int16_t yy_def[2191] = { 0, - 2163, 2163, 2164, 2164, 2163, 2163, 2163, 2163, 2163, 2163, - 2162, 2162, 2162, 2162, 2162, 2165, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2166, - 2162, 2162, 2162, 2167, 15, 2162, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2168, 45, 45, 45, 45, + 2183, 2183, 2184, 2184, 2183, 2183, 2183, 2183, 2183, 2183, + 2182, 2182, 2182, 2182, 2182, 2185, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2186, + 2182, 2182, 2182, 2187, 15, 2182, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2188, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2165, 2162, - 2162, 2162, 2162, 2162, 2162, 2169, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2166, 2162, 2167, + 45, 45, 45, 45, 45, 45, 45, 45, 2185, 2182, + 2182, 2182, 2182, 2182, 2182, 2189, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2186, 2182, 2187, - 2162, 2162, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2170, 45, 2168, 45, 45, 45, 45, 45, + 2182, 2182, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2190, 45, 2188, 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, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2169, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2189, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2170, 2162, 2162, 115, + 45, 45, 45, 45, 45, 45, 2190, 2182, 2182, 115, 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, 2162, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2182, 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, @@ -1264,221 +1268,223 @@ static const flex_int16_t yy_def[2171] = 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, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 45, 45, 45, 45, 45, 45, 2162, - 45, 2162, 45, 115, 2162, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 45, 45, 45, 45, 45, 45, + 2182, 45, 2182, 45, 115, 2182, 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, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2182, 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, 2162, 45, 45, 45, - 45, 45, 2162, 2162, 2162, 45, 45, 45, 45, 45, - 2162, 45, 2162, 45, 115, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2162, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, + 45, 45, 45, 45, 2182, 2182, 2182, 45, 45, 45, + 45, 45, 2182, 45, 2182, 45, 115, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, + 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 2162, 45, + 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, + 45, 2182, 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, 2162, 45, 45, 2162, 45, 45, 2162, 45, 45, - 45, 2162, 45, 45, 45, 2162, 2162, 2162, 45, 45, + 45, 45, 45, 45, 2182, 45, 45, 2182, 45, 45, + 2182, 45, 45, 45, 2182, 45, 45, 45, 2182, 2182, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, + 2182, 45, 45, 45, 45, 2182, 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, 2162, 45, + 45, 45, 2182, 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, 2162, 45, + 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 45, 45, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 45, 2162, + 2182, 45, 45, 2182, 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, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2162, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2182, 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, 2162, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2162, 2162, 45, 45, 45, 45, 45, 45, - 2162, 2162, 45, 45, 45, 45, 45, 2162, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2162, 2162, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2182, 2182, + 45, 45, 45, 45, 45, 45, 2182, 2182, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2182, 2182, 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, 2162, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2182, 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, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2162, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 2162, 45, 45, 45, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, + 45, 45, 2182, 45, 45, 45, 45, 45, 45, 2182, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2162, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, - 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 2182, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2162, 45, 2162, 45, 2162, 45, 45, 45, 45, + 2182, 45, 2182, 45, 2182, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, + 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + 45, 2182, 45, 2182, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 2162, 45, 2162, 45, 2162, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 2182, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, - 2162, 2162, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 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, 2162, 45, 2162, 2162, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2162, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 2162, 45, 45, - 2162, 2162, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 45, 45, 2162, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 2182, 2182, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, + 45, 45, 45, 45, 2182, 45, 45, 2182, 45, 45, + 2182, 2182, 45, 45, 45, 45, 45, 45, 45, 45, + 2182, 45, 45, 45, 45, 45, 2182, 45, 45, 45, + 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2162, 45, 2162, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 45, - 45, 2162, 2162, 45, 45, 2162, 45, 45, 45, 2162, + 2182, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, + 2182, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 45, 2182, 2182, 45, 45, 2182, 45, 45, 45, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2182, 45, 2182, 45, 45, + 2182, 45, 45, 2182, 45, 2182, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 2162, 45, 45, 2162, - 45, 45, 2162, 45, 2162, 45, 45, 45, 2162, 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, 45, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 2162, 45, 45, 2162, 45, 45, 2162, - 2162, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2162, 45, 2162, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 45, 2162, 45, 45, 2162, 45, 45, - 45, 2162, 45, 45, 45, 45, 45, 2162, 45, 45, - + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 2182, 45, 45, 2182, 45, + 45, 2182, 2182, 45, 45, 45, 2182, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2182, 45, 45, 45, 45, 2182, 45, 45, + + 2182, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + 2182, 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, 2182, 45, 45, + 2182, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 2162, 45, 45, - 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2182, 45, 45, 45, 2182, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 2162, 45, 45, 45, 45, 2162, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2182, 45, 45, 2182, + + 45, 2182, 45, 2182, 45, 45, 45, 45, 2182, 2182, + 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2182, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 2182, 2182, 45, 45, + 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 2162, 45, 2162, 45, 2162, - 45, 45, 45, 45, 2162, 2162, 45, 2162, 45, 45, + 2182, 45, 2182, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 2162, + 45, 45, 2182, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2162, 45, 45, 45, 45, 45, 2162, 45, 45, 45, - 45, 2162, 2162, 45, 45, 45, 45, 45, 45, 45, - 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 2162, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 2162, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - + 45, 45, 2182, 45, 2182, 2182, 2182, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 2162, 2162, 2162, - 45, 2162, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2162, 45, + 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 2162, - 45, 2162, 45, 2162, 2162, 45, 2162, 45, 45, 45, - 45, 45, 45, 45, 45, 2162, 45, 45, 45, 45, - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 2162, + 45, 2182, 45, 45, 45, 45, 45, 2182, 45, 2182, + 45, 2182, 2182, 45, 2182, 45, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 45, 45, 45, 2162, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 45, 45, 45, 45, 45, 2182, 45, + 45, 45, 45, 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 45, 2162, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 2162, 2162, 2162, 45, 2162, 2162, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2162, 45, 45, 45, 45, 45, - 45, 2162, 45, 2162, 45, 2162, 45, 45, 45, 45, - - 45, 45, 45, 2162, 45, 45, 45, 45, 45, 45, - 45, 2162, 45, 45, 2162, 2162, 2162, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2182, 45, 45, 2182, + 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + 2182, 2182, 2182, 45, 2182, 2182, 45, 45, 45, 45, + 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 2182, 45, 45, 45, 45, 45, + 45, 2182, 45, 2182, 45, 2182, 45, 45, 45, 45, + 45, 45, 45, 2182, 45, 45, 45, 45, 45, 45, + 45, 2182, 45, 45, 2182, 2182, 2182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2162, 45, 45, 45, 45, 2162, 2162, 45, - 45, 45, 2162, 45, 45, 2162, 45, 2162, 45, 45, - 45, 45, 45, 45, 45, 45, 2162, 45, 2162, 2162, - 2162, 0, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162 + 45, 45, 2182, 45, 45, 45, 45, 2182, 2182, 45, + 45, 45, 2182, 45, 45, 2182, 45, 2182, 45, 45, + 45, 45, 45, 45, 45, 45, 2182, 45, 2182, 2182, + 2182, 0, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182 } ; -static const flex_int16_t yy_nxt[2627] = +static const flex_int16_t yy_nxt[2647] = { 0, - 2162, 13, 14, 13, 2162, 15, 16, 2162, 17, 18, + 2182, 13, 14, 13, 2182, 15, 16, 2182, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 85, 810, 37, 14, 37, 86, 25, 26, 38, 101, - 2162, 27, 37, 14, 37, 42, 28, 42, 38, 91, + 85, 815, 37, 14, 37, 86, 25, 26, 38, 101, + 2182, 27, 37, 14, 37, 42, 28, 42, 38, 91, 92, 29, 201, 30, 13, 14, 13, 90, 91, 25, 31, 92, 13, 14, 13, 13, 14, 13, 32, 40, - 811, 13, 14, 13, 33, 40, 102, 91, 92, 201, + 816, 13, 14, 13, 33, 40, 102, 91, 92, 201, 90, 34, 35, 13, 14, 13, 94, 15, 16, 95, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 90, 39, 104, 25, 26, @@ -1495,14 +1501,14 @@ static const flex_int16_t yy_nxt[2627] = 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 45, 45, 45, 45, 45, 80, 253, + 76, 77, 78, 45, 45, 45, 45, 45, 80, 254, 81, 81, 81, 81, 81, 80, 106, 83, 83, 83, - 83, 83, 254, 82, 84, 84, 84, 84, 84, 80, + 83, 83, 255, 82, 84, 84, 84, 84, 84, 80, 82, 83, 83, 83, 83, 83, 137, 82, 109, 106, - 104, 120, 850, 138, 82, 121, 82, 167, 110, 122, + 104, 120, 849, 138, 82, 121, 82, 167, 110, 122, 136, 168, 123, 82, 158, 124, 189, 206, 101, 125, - 82, 109, 159, 851, 160, 191, 116, 82, 45, 161, - 162, 132, 117, 133, 45, 118, 110, 45, 852, 45, + 82, 109, 159, 852, 160, 191, 116, 82, 45, 161, + 162, 132, 117, 133, 45, 118, 110, 45, 853, 45, 206, 45, 189, 45, 134, 114, 146, 147, 45, 45, 148, 45, 45, 191, 135, 102, 149, 45, 45, 45, @@ -1512,146 +1518,146 @@ static const flex_int16_t yy_nxt[2627] = 45, 108, 142, 111, 190, 165, 191, 198, 45, 143, 131, 144, 45, 150, 45, 115, 189, 151, 176, 177, 155, 152, 156, 112, 157, 169, 183, 202, 109, 170, - 190, 853, 171, 153, 194, 198, 184, 154, 110, 172, - 173, 185, 192, 190, 174, 175, 236, 112, 237, 240, - 854, 178, 203, 179, 200, 202, 180, 187, 84, 84, + 190, 854, 171, 153, 194, 198, 184, 154, 110, 172, + 173, 185, 192, 190, 174, 175, 236, 112, 237, 241, + 238, 178, 203, 179, 200, 202, 180, 187, 84, 84, - 84, 84, 84, 238, 258, 241, 181, 239, 259, 193, + 84, 84, 84, 239, 259, 242, 181, 240, 260, 193, 855, 82, 80, 182, 81, 81, 81, 81, 81, 203, - 200, 204, 268, 88, 205, 88, 856, 82, 89, 89, + 200, 204, 269, 88, 205, 88, 856, 82, 89, 89, 89, 89, 89, 80, 82, 83, 83, 83, 83, 83, - 84, 84, 84, 84, 84, 100, 335, 198, 82, 204, + 84, 84, 84, 84, 84, 100, 336, 198, 82, 204, 82, 205, 100, 82, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 211, 216, 244, 202, 269, 245, - 223, 82, 273, 246, 217, 212, 82, 301, 218, 224, - 225, 278, 100, 203, 279, 280, 100, 274, 275, 276, - 100, 302, 281, 293, 294, 202, 282, 266, 100, 319, - - 336, 857, 100, 307, 100, 100, 209, 284, 204, 308, - 306, 205, 317, 318, 210, 210, 210, 210, 210, 318, - 387, 858, 319, 210, 210, 210, 210, 210, 210, 295, - 449, 317, 349, 296, 327, 350, 310, 297, 312, 318, - 317, 319, 285, 286, 287, 321, 210, 210, 210, 210, - 210, 210, 325, 288, 328, 289, 329, 290, 291, 320, - 292, 331, 327, 333, 322, 325, 351, 406, 378, 420, - 401, 859, 421, 388, 352, 325, 389, 407, 330, 329, - 353, 328, 450, 441, 331, 379, 453, 436, 337, 437, - 333, 334, 334, 334, 334, 334, 331, 456, 453, 460, - - 334, 334, 334, 334, 334, 334, 402, 457, 458, 453, - 462, 489, 547, 521, 522, 458, 554, 490, 523, 331, - 403, 454, 460, 334, 334, 334, 334, 334, 334, 505, - 862, 595, 558, 445, 506, 531, 559, 458, 462, 465, - 465, 465, 465, 465, 467, 532, 705, 863, 465, 465, - 465, 465, 465, 465, 568, 588, 595, 639, 569, 595, - 589, 599, 640, 600, 756, 555, 864, 757, 661, 619, - 548, 465, 465, 465, 465, 465, 465, 620, 662, 621, - 622, 623, 507, 624, 602, 731, 732, 508, 599, 860, - 600, 45, 45, 45, 45, 45, 627, 861, 706, 737, - - 45, 45, 45, 45, 45, 45, 738, 845, 730, 628, - 865, 629, 731, 734, 732, 786, 787, 860, 846, 866, - 861, 867, 868, 45, 45, 45, 45, 45, 45, 869, - 870, 871, 872, 873, 875, 876, 880, 877, 878, 874, - 879, 881, 882, 883, 884, 885, 886, 887, 888, 889, + 89, 89, 89, 89, 211, 216, 245, 202, 270, 246, + 223, 82, 274, 247, 217, 212, 82, 302, 218, 224, + 225, 279, 100, 203, 280, 281, 100, 275, 276, 277, + 100, 303, 282, 294, 295, 202, 283, 267, 100, 320, + + 337, 857, 100, 308, 100, 100, 209, 285, 204, 309, + 307, 205, 318, 319, 210, 210, 210, 210, 210, 319, + 389, 858, 320, 210, 210, 210, 210, 210, 210, 296, + 451, 318, 350, 297, 328, 351, 311, 298, 313, 319, + 318, 320, 286, 287, 288, 322, 210, 210, 210, 210, + 210, 210, 326, 289, 329, 290, 330, 291, 292, 321, + 293, 332, 328, 334, 323, 326, 352, 408, 380, 422, + 403, 859, 423, 390, 353, 326, 391, 409, 331, 330, + 354, 329, 452, 443, 332, 381, 455, 438, 338, 439, + 334, 335, 335, 335, 335, 335, 332, 458, 455, 462, + + 335, 335, 335, 335, 335, 335, 404, 459, 460, 455, + 464, 491, 550, 524, 525, 460, 557, 492, 526, 332, + 405, 456, 462, 335, 335, 335, 335, 335, 335, 508, + 860, 598, 561, 447, 509, 534, 562, 460, 464, 467, + 467, 467, 467, 467, 469, 535, 709, 861, 467, 467, + 467, 467, 467, 467, 571, 591, 598, 643, 572, 598, + 592, 602, 644, 603, 760, 558, 862, 761, 665, 622, + 551, 467, 467, 467, 467, 467, 467, 623, 666, 624, + 625, 626, 510, 627, 605, 735, 736, 511, 602, 863, + 603, 45, 45, 45, 45, 45, 630, 864, 710, 741, + + 45, 45, 45, 45, 45, 45, 742, 850, 734, 631, + 865, 632, 735, 738, 736, 791, 792, 866, 851, 867, + 868, 869, 870, 45, 45, 45, 45, 45, 45, 871, + 872, 873, 874, 875, 876, 877, 878, 880, 865, 881, + 866, 885, 879, 882, 883, 886, 884, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, - 902, 903, 904, 900, 905, 906, 907, 901, 908, 909, - 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 925, 926, 927, 929, 930, - 928, 931, 932, 933, 934, 935, 936, 937, 938, 939, + 900, 901, 902, 903, 904, 907, 908, 909, 905, 910, + 911, 912, 906, 913, 914, 915, 916, 917, 918, 919, + 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, + 930, 931, 932, 933, 935, 936, 934, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 969, 970, - 971, 974, 975, 976, 968, 979, 977, 972, 980, 981, - 982, 973, 978, 983, 984, 985, 986, 987, 988, 989, + 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, + 970, 971, 972, 973, 975, 976, 977, 980, 981, 982, + 974, 985, 983, 978, 986, 987, 988, 979, 984, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 1022, 1023, 1024, 997, 1025, 1026, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, + 1030, 1003, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, - 1050, 1046, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, + 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, + 1049, 1050, 1051, 1052, 1054, 1055, 1056, 1057, 1053, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, - 1069, 1070, 1072, 1073, 1074, 1071, 1075, 1076, 1077, 1078, - 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1079, + 1080, 1081, 1078, 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, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, - 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1125, - 1148, 1149, 1124, 1150, 1151, 1152, 1153, 1154, 1155, 1156, + 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1152, 1153, 1154, 1132, 1155, 1156, 1131, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1177, - 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, + 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, - 1198, 1199, 1200, 1202, 1203, 1204, 1205, 1206, 1207, 1208, - 1209, 1210, 1211, 1201, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1176, 1234, 1235, 1236, + 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, + 1208, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, + 1219, 1209, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, - 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, - 1247, 1249, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1247, 1248, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 1238, 1239, 1240, 1241, 1184, 1242, 1243, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1257, + 1256, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1255, 1256, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, - 1296, 1298, 1299, 1300, 1295, 1301, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, + 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1305, + 1307, 1308, 1309, 1304, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, - 1336, 1337, 1338, 1339, 1297, 1340, 1341, 1342, 1343, 1344, - 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, + 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, + 1346, 1347, 1348, 1306, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, - 1385, 1363, 1386, 1387, 1388, 1389, 1390, 1364, 1391, 1392, - 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1372, 1395, 1396, 1397, 1398, 1399, 1373, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1443, - 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, + 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, + 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, - 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, + 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, - 1466, 1442, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1513, 1514, 1515, 1474, 1516, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1517, 1525, 1526, 1527, 1528, 1529, 1530, 1531, - - 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1542, - 1543, 1546, 1544, 1541, 1545, 1547, 1548, 1549, 1550, 1551, - 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1562, - 1563, 1564, 1565, 1561, 1566, 1567, 1568, 1569, 1570, 1571, - 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, - 1582, 1583, 1562, 1584, 1585, 1586, 1587, 1588, 1589, 1590, - 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, + 1476, 1452, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, + 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, + 1523, 1524, 1525, 1484, 1526, 1527, 1529, 1530, 1531, 1532, + + 1533, 1534, 1535, 1528, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, + 1553, 1554, 1557, 1555, 1552, 1556, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1573, 1574, 1575, 1576, 1572, 1577, 1578, 1579, 1580, 1581, + 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + 1592, 1593, 1594, 1573, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, - 1621, 1622, 1623, 1624, 1625, 1629, 1626, 1630, 1631, 1627, - - 1632, 1633, 1628, 1634, 1635, 1636, 1637, 1638, 1639, 1640, - 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, - 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1659, 1660, 1661, - 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1658, 1669, 1670, - 1671, 1672, 1646, 1673, 1674, 1675, 1676, 1677, 1678, 1679, - 1680, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, - 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, + 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, + + 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1641, 1638, 1642, + 1643, 1639, 1644, 1645, 1640, 1646, 1647, 1648, 1649, 1650, + 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1671, + 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1670, + 1681, 1682, 1683, 1684, 1658, 1685, 1686, 1687, 1688, 1689, + 1690, 1691, 1692, 1693, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, - 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1681, 1739, - 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, - 1750, 1751, 1752, 1753, 1727, 1754, 1755, 1756, 1757, 1758, - 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, + 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, + 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, + 1751, 1694, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, + 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1740, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, @@ -1661,8 +1667,8 @@ static const flex_int16_t yy_nxt[2627] = 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, - 1850, 1851, 1852, 1853, 1849, 1854, 1855, 1856, 1857, 1858, - 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, + 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, + 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1867, 1868, 1864, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, @@ -1671,9 +1677,9 @@ static const flex_int16_t yy_nxt[2627] = 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, - 1939, 1940, 1941, 1942, 1943, 1944, 1946, 1947, 1945, 1948, + 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, - 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, + 1959, 1960, 1961, 1963, 1964, 1962, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, @@ -1690,88 +1696,90 @@ static const flex_int16_t yy_nxt[2627] = 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, - 2119, 2120, 2121, 2123, 2122, 2124, 2125, 2126, 2127, 2128, + 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, - 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, + 2139, 2140, 2141, 2143, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, - 2159, 2160, 2161, 12, 12, 12, 36, 36, 36, 79, - 98, 79, 100, 100, 100, 113, 113, 113, 188, 849, - 188, 207, 207, 207, 848, 847, 844, 843, 842, 841, - 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, - 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, - 820, 819, 818, 817, 816, 815, 814, 813, 812, 809, - 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, - - 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, - 788, 785, 784, 783, 782, 781, 780, 779, 778, 777, - 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, - 766, 765, 764, 763, 762, 761, 760, 759, 758, 755, - 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, - 744, 743, 742, 741, 740, 739, 736, 735, 733, 730, - 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, - 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, - 709, 708, 707, 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, 660, 659, 658, 657, 656, - 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, - 645, 644, 643, 642, 641, 638, 637, 636, 635, 634, - 633, 632, 631, 630, 626, 625, 618, 617, 616, 615, - 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, - 604, 603, 601, 598, 597, 596, 594, 593, 592, 591, - 590, 587, 586, 585, 584, 583, 582, 581, 580, 579, - 578, 577, 576, 575, 574, 573, 572, 571, 570, 567, - - 566, 565, 564, 563, 562, 561, 560, 557, 556, 553, - 552, 551, 550, 549, 546, 545, 544, 543, 542, 541, - 540, 539, 538, 537, 536, 535, 534, 533, 530, 529, - 528, 527, 526, 525, 524, 520, 519, 518, 517, 516, - 515, 514, 513, 512, 511, 510, 509, 504, 503, 502, - 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, - 491, 488, 487, 486, 485, 484, 483, 482, 481, 480, - 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 466, 464, 463, 461, 459, 455, 452, 451, - 448, 447, 446, 444, 443, 442, 440, 439, 438, 435, - - 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, - 424, 423, 422, 419, 418, 417, 416, 415, 414, 413, - 412, 411, 410, 409, 408, 405, 404, 400, 399, 398, - 397, 396, 395, 394, 393, 392, 391, 390, 386, 385, - 384, 383, 382, 381, 380, 377, 376, 375, 374, 373, - 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, - 362, 361, 360, 359, 358, 357, 356, 355, 354, 348, - 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, - 208, 332, 330, 326, 324, 323, 316, 315, 314, 313, - 311, 309, 305, 304, 303, 300, 299, 298, 283, 277, - - 272, 271, 270, 267, 265, 264, 263, 262, 261, 260, - 257, 256, 255, 252, 251, 250, 249, 248, 247, 243, - 242, 235, 234, 233, 232, 231, 228, 227, 226, 222, + 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, + 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, + 2179, 2180, 2181, 12, 12, 12, 36, 36, 36, 79, + 98, 79, 100, 100, 100, 113, 113, 113, 188, 848, + 188, 207, 207, 207, 847, 846, 845, 844, 843, 842, + 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, + 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, + + 821, 820, 819, 818, 817, 814, 813, 812, 811, 810, + 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, + 799, 798, 797, 796, 795, 794, 793, 790, 789, 788, + 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, + 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, + 767, 766, 765, 764, 763, 762, 759, 758, 757, 756, + 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, + 745, 744, 743, 740, 739, 737, 734, 733, 732, 731, + 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, + 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, + + 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, 664, 663, 662, 661, 660, 659, 658, 657, + 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, + 646, 645, 642, 641, 640, 639, 638, 637, 636, 635, + 634, 633, 629, 628, 621, 620, 619, 618, 617, 616, + 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, + 604, 601, 600, 599, 597, 596, 595, 594, 593, 590, + + 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, + 579, 578, 577, 576, 575, 574, 573, 570, 569, 568, + 567, 566, 565, 564, 563, 560, 559, 556, 555, 554, + 553, 552, 549, 548, 547, 546, 545, 544, 543, 542, + 541, 540, 539, 538, 537, 536, 533, 532, 531, 530, + 529, 528, 527, 523, 522, 521, 520, 519, 518, 517, + 516, 515, 514, 513, 512, 507, 506, 505, 504, 503, + 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, + 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, + 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, + + 470, 468, 466, 465, 463, 461, 457, 454, 453, 450, + 449, 448, 446, 445, 444, 442, 441, 440, 437, 436, + 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, + 425, 424, 421, 420, 419, 418, 417, 416, 415, 414, + 413, 412, 411, 410, 407, 406, 402, 401, 400, 399, + 398, 397, 396, 395, 394, 393, 392, 388, 387, 386, + 385, 384, 383, 382, 379, 378, 377, 376, 375, 374, + 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, + 363, 362, 361, 360, 359, 358, 357, 356, 355, 349, + 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, + + 208, 333, 331, 327, 325, 324, 317, 316, 315, 314, + 312, 310, 306, 305, 304, 301, 300, 299, 284, 278, + 273, 272, 271, 268, 266, 265, 264, 263, 262, 261, + 258, 257, 256, 253, 252, 251, 250, 249, 248, 244, + 243, 235, 234, 233, 232, 231, 228, 227, 226, 222, 219, 215, 214, 213, 208, 199, 197, 196, 195, 186, 166, 145, 119, 105, 103, 43, 99, 97, 96, 87, - 43, 2162, 11, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162 + 43, 2182, 11, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182 } ; -static const flex_int16_t yy_chk[2627] = +static const flex_int16_t yy_chk[2647] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 678, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 682, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 107, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 678, 8, 8, 8, 1, 8, 44, 27, 28, 107, + 682, 8, 8, 8, 1, 8, 44, 27, 28, 107, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 31, 5, 48, 2, 2, @@ -1792,7 +1800,7 @@ static const flex_int16_t yy_chk[2627] = 17, 17, 17, 17, 17, 19, 62, 19, 19, 19, 19, 19, 146, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 63, 20, 53, 62, - 57, 59, 719, 63, 22, 59, 17, 73, 53, 59, + 57, 59, 718, 63, 22, 59, 17, 73, 53, 59, 62, 73, 59, 19, 70, 59, 90, 112, 100, 59, 20, 53, 70, 720, 70, 92, 57, 22, 45, 70, 70, 61, 57, 61, 45, 57, 53, 45, 721, 45, @@ -1807,11 +1815,11 @@ static const flex_int16_t yy_chk[2627] = 69, 68, 69, 78, 69, 74, 76, 108, 75, 74, 91, 722, 74, 68, 95, 104, 76, 68, 75, 74, 74, 76, 93, 94, 74, 74, 134, 78, 134, 136, - 723, 75, 109, 75, 106, 108, 75, 78, 80, 80, + 135, 75, 109, 75, 106, 108, 75, 78, 80, 80, 80, 80, 80, 135, 150, 136, 75, 135, 150, 94, - 724, 80, 81, 75, 81, 81, 81, 81, 81, 109, - 106, 110, 159, 82, 111, 82, 725, 81, 82, 82, + 723, 80, 81, 75, 81, 81, 81, 81, 81, 109, + 106, 110, 159, 82, 111, 82, 724, 81, 82, 82, 82, 82, 82, 83, 80, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 102, 211, 116, 83, 110, 81, 111, 102, 84, 88, 88, 88, 88, 88, 89, @@ -1820,240 +1828,242 @@ static const flex_int16_t yy_chk[2627] = 124, 165, 102, 178, 165, 165, 102, 163, 163, 163, 102, 174, 166, 169, 169, 157, 166, 157, 102, 191, - 211, 726, 102, 179, 102, 102, 115, 168, 181, 179, + 211, 725, 102, 179, 102, 102, 115, 168, 181, 179, 178, 183, 189, 190, 115, 115, 115, 115, 115, 193, - 259, 728, 191, 115, 115, 115, 115, 115, 115, 170, - 314, 192, 224, 170, 200, 224, 181, 170, 183, 190, + 260, 726, 191, 115, 115, 115, 115, 115, 115, 170, + 315, 192, 224, 170, 200, 224, 181, 170, 183, 190, 189, 194, 168, 168, 168, 193, 115, 115, 115, 115, 115, 115, 198, 168, 201, 168, 202, 168, 168, 192, - 168, 204, 200, 206, 194, 212, 225, 274, 251, 287, - 271, 729, 287, 259, 225, 198, 259, 274, 306, 202, - 225, 201, 314, 306, 204, 251, 317, 302, 212, 302, - 206, 210, 210, 210, 210, 210, 310, 324, 320, 327, - - 210, 210, 210, 210, 210, 210, 271, 324, 325, 317, - 329, 359, 411, 387, 387, 337, 418, 359, 387, 310, - 271, 320, 327, 210, 210, 210, 210, 210, 210, 374, - 733, 458, 421, 310, 374, 395, 421, 325, 329, 334, - 334, 334, 334, 334, 337, 395, 568, 734, 334, 334, - 334, 334, 334, 334, 430, 450, 467, 500, 430, 458, - 450, 464, 500, 464, 624, 418, 735, 624, 522, 486, - 411, 334, 334, 334, 334, 334, 334, 486, 522, 486, - 486, 486, 374, 486, 467, 599, 600, 374, 464, 731, - 464, 465, 465, 465, 465, 465, 489, 732, 568, 606, - - 465, 465, 465, 465, 465, 465, 606, 715, 602, 489, - 736, 489, 599, 602, 600, 654, 654, 731, 715, 737, - 732, 738, 739, 465, 465, 465, 465, 465, 465, 740, - 741, 742, 743, 744, 745, 746, 748, 747, 747, 744, - 747, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 767, 771, 772, 773, 767, 775, 776, - 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, - 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, - 794, 797, 799, 800, 801, 802, 803, 804, 805, 806, - - 807, 808, 809, 811, 812, 813, 814, 815, 816, 817, - 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, - 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, - 837, 838, 839, 840, 835, 842, 841, 837, 843, 844, - 846, 837, 841, 847, 848, 849, 850, 851, 852, 853, - 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, - 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, - 885, 886, 887, 888, 889, 861, 890, 891, 892, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, - - 904, 906, 907, 908, 909, 910, 911, 912, 913, 914, - 915, 911, 916, 917, 918, 919, 920, 921, 922, 925, - 926, 927, 928, 929, 930, 933, 934, 935, 936, 937, - 939, 940, 941, 942, 943, 940, 944, 945, 946, 947, - 948, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, - 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, - 980, 981, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1009, 1010, 1011, - - 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 997, - 1021, 1022, 996, 1023, 1024, 1025, 1026, 1027, 1028, 1029, - 1030, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, - 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1050, 1051, - 1052, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, - 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, - 1073, 1074, 1075, 1076, 1077, 1078, 1080, 1081, 1082, 1083, - 1084, 1086, 1087, 1075, 1088, 1089, 1090, 1091, 1092, 1093, - 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, - 1105, 1106, 1107, 1108, 1109, 1110, 1050, 1111, 1112, 1113, - - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1127, 1125, 1128, 1129, 1130, 1131, 1132, 1134, 1135, - 1136, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, - 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1155, 1124, 1125, - 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, - 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, - 1177, 1178, 1179, 1180, 1176, 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, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - - 1217, 1218, 1219, 1221, 1177, 1222, 1223, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, - 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1247, 1248, - 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1257, 1258, 1259, - 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1268, 1269, 1270, - 1271, 1247, 1273, 1274, 1275, 1276, 1277, 1248, 1278, 1279, - 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, - 1290, 1291, 1293, 1295, 1297, 1298, 1299, 1300, 1301, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1312, 1313, - 1314, 1315, 1317, 1318, 1319, 1320, 1321, 1322, 1324, 1326, - - 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, - 1338, 1339, 1340, 1341, 1342, 1344, 1345, 1346, 1347, 1348, - 1349, 1350, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, - 1361, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1370, 1372, - 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, - 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, - 1363, 1336, 1393, 1394, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1372, 1415, 1416, 1417, 1418, 1419, 1420, - 1421, 1423, 1415, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - - 1433, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, - 1444, 1447, 1446, 1442, 1446, 1449, 1450, 1453, 1454, 1455, - 1456, 1457, 1458, 1459, 1460, 1462, 1463, 1464, 1465, 1466, - 1468, 1469, 1470, 1465, 1471, 1472, 1474, 1475, 1476, 1477, - 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, - 1488, 1489, 1466, 1490, 1492, 1493, 1494, 1496, 1497, 1498, - 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1509, - 1511, 1512, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, - 1522, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1534, - 1535, 1537, 1538, 1539, 1541, 1542, 1541, 1543, 1544, 1541, - - 1545, 1546, 1541, 1547, 1548, 1549, 1550, 1551, 1552, 1553, - 1554, 1556, 1558, 1559, 1561, 1562, 1564, 1566, 1567, 1568, - 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, - 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1576, 1587, 1588, - 1589, 1590, 1562, 1591, 1592, 1593, 1594, 1595, 1596, 1596, - 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, - 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, - 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, - 1627, 1628, 1629, 1631, 1632, 1633, 1634, 1635, 1636, 1637, - 1638, 1639, 1641, 1642, 1643, 1645, 1646, 1648, 1649, 1652, - - 1653, 1654, 1656, 1657, 1658, 1659, 1660, 1661, 1597, 1662, - 1663, 1664, 1665, 1666, 1667, 1669, 1671, 1672, 1673, 1674, - 1675, 1676, 1677, 1678, 1646, 1679, 1681, 1682, 1683, 1684, - 1686, 1687, 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1697, - 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, - 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, - 1719, 1720, 1721, 1722, 1723, 1724, 1726, 1727, 1729, 1730, - 1731, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, - 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1752, - 1753, 1754, 1756, 1757, 1758, 1759, 1761, 1762, 1763, 1764, - - 1765, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, - 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1784, 1785, 1787, - 1789, 1791, 1792, 1793, 1787, 1794, 1797, 1799, 1800, 1801, - 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1811, 1812, - 1813, 1814, 1815, 1817, 1818, 1819, 1820, 1821, 1822, 1823, - 1824, 1825, 1827, 1828, 1829, 1831, 1832, 1833, 1834, 1835, - 1836, 1837, 1838, 1839, 1840, 1842, 1843, 1844, 1845, 1846, - 1848, 1849, 1850, 1851, 1854, 1855, 1856, 1857, 1858, 1859, - 1860, 1861, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, - 1871, 1872, 1873, 1874, 1876, 1878, 1879, 1880, 1881, 1882, - - 1883, 1884, 1885, 1886, 1888, 1890, 1891, 1892, 1893, 1894, - 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1900, 1903, - 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, - 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, - 1925, 1927, 1931, 1933, 1934, 1935, 1936, 1937, 1938, 1939, - 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1950, - 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, - 1961, 1962, 1963, 1965, 1966, 1967, 1968, 1969, 1971, 1973, - 1976, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1987, - 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1996, 1997, 1998, - - 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011, 2012, 2014, 2015, 2016, 2017, 2018, 2019, 2021, - 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, - 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, - 2042, 2043, 2044, 2045, 2046, 2048, 2049, 2051, 2052, 2053, - 2054, 2056, 2057, 2058, 2059, 2060, 2064, 2067, 2068, 2069, - 2070, 2071, 2072, 2073, 2074, 2076, 2077, 2078, 2079, 2080, - 2081, 2082, 2083, 2084, 2086, 2087, 2088, 2089, 2090, 2091, - 2093, 2095, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2105, - 2106, 2107, 2108, 2109, 2108, 2110, 2111, 2113, 2114, 2118, + 168, 204, 200, 206, 194, 212, 225, 275, 252, 288, + 272, 727, 288, 260, 225, 198, 260, 275, 307, 202, + 225, 201, 315, 307, 204, 252, 318, 303, 212, 303, + 206, 210, 210, 210, 210, 210, 311, 325, 321, 328, + + 210, 210, 210, 210, 210, 210, 272, 325, 326, 318, + 330, 360, 413, 389, 389, 338, 420, 360, 389, 311, + 272, 321, 328, 210, 210, 210, 210, 210, 210, 376, + 728, 460, 423, 311, 376, 397, 423, 326, 330, 335, + 335, 335, 335, 335, 338, 397, 571, 729, 335, 335, + 335, 335, 335, 335, 432, 452, 469, 503, 432, 460, + 452, 466, 503, 466, 627, 420, 730, 627, 525, 488, + 413, 335, 335, 335, 335, 335, 335, 488, 525, 488, + 488, 488, 376, 488, 469, 602, 603, 376, 466, 732, + 466, 467, 467, 467, 467, 467, 491, 733, 571, 609, + + 467, 467, 467, 467, 467, 467, 609, 719, 605, 491, + 735, 491, 602, 605, 603, 658, 658, 736, 719, 737, + 738, 739, 740, 467, 467, 467, 467, 467, 467, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 735, 750, + 736, 752, 748, 751, 751, 753, 751, 754, 755, 756, + 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 771, 775, + 776, 777, 771, 778, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 799, 802, 804, 805, + + 806, 807, 808, 809, 810, 811, 812, 813, 814, 816, + 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, + 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, + 837, 838, 839, 840, 841, 842, 842, 843, 844, 845, + 840, 847, 846, 842, 848, 849, 851, 842, 846, 852, + 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, + 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, + 873, 874, 875, 876, 877, 878, 879, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 894, 866, 895, 896, 897, 898, 899, 900, 901, 902, + + 903, 904, 905, 906, 907, 908, 909, 910, 912, 913, + 914, 915, 916, 917, 918, 919, 920, 921, 917, 922, + 923, 924, 925, 926, 927, 928, 931, 932, 933, 934, + 935, 936, 939, 940, 941, 942, 943, 945, 946, 947, + 948, 949, 946, 950, 951, 952, 953, 954, 957, 958, + 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 989, + 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, - 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, - 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2140, 2141, - 2142, 2144, 2145, 2147, 2149, 2150, 2151, 2152, 2153, 2154, - 2155, 2156, 2158, 2163, 2163, 2163, 2164, 2164, 2164, 2165, - 2166, 2165, 2167, 2167, 2167, 2168, 2168, 2168, 2169, 718, - 2169, 2170, 2170, 2170, 717, 716, 714, 713, 712, 710, - 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, - 699, 698, 696, 695, 694, 693, 692, 691, 690, 689, - 688, 687, 685, 684, 683, 682, 681, 680, 679, 677, - 676, 675, 674, 673, 672, 671, 670, 668, 667, 666, - - 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, - 655, 653, 652, 651, 650, 649, 648, 647, 646, 645, - 644, 643, 642, 641, 640, 638, 637, 636, 635, 634, - 633, 632, 631, 630, 629, 628, 627, 626, 625, 623, + 1010, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, + 1021, 1022, 1023, 1024, 1025, 1026, 1003, 1027, 1028, 1002, + 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1038, 1039, + 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, + 1050, 1051, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1093, + 1094, 1082, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, + 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1112, 1113, + + 1114, 1115, 1116, 1117, 1057, 1118, 1119, 1120, 1121, 1122, + 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1134, + 1132, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 1143, 1145, + 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, + 1156, 1157, 1158, 1159, 1160, 1162, 1131, 1132, 1163, 1164, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1184, 1185, + 1186, 1187, 1188, 1184, 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, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, + 1226, 1227, 1229, 1185, 1230, 1231, 1233, 1234, 1235, 1236, + 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1255, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1268, + 1269, 1270, 1271, 1273, 1274, 1275, 1276, 1277, 1278, 1279, + 1255, 1281, 1282, 1283, 1284, 1285, 1256, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1302, 1304, 1306, 1307, 1308, 1309, 1310, 1311, + 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1321, 1322, + + 1323, 1324, 1326, 1327, 1328, 1329, 1330, 1331, 1333, 1335, + 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, + 1347, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, + 1370, 1371, 1372, 1373, 1375, 1376, 1377, 1378, 1379, 1381, + 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, + 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, + 1372, 1345, 1402, 1403, 1405, 1406, 1407, 1408, 1409, 1410, + 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, + 1421, 1422, 1423, 1381, 1424, 1425, 1426, 1427, 1428, 1429, + + 1430, 1431, 1433, 1425, 1436, 1437, 1438, 1439, 1440, 1441, + 1442, 1443, 1444, 1445, 1446, 1447, 1449, 1450, 1451, 1452, + 1453, 1454, 1457, 1456, 1452, 1456, 1459, 1460, 1463, 1464, + 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, + 1476, 1478, 1479, 1480, 1475, 1481, 1482, 1484, 1485, 1486, + 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, + 1497, 1498, 1499, 1476, 1500, 1502, 1503, 1504, 1506, 1507, + 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, + 1518, 1520, 1522, 1523, 1525, 1526, 1527, 1528, 1529, 1530, + 1531, 1532, 1533, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + + 1542, 1545, 1546, 1548, 1549, 1550, 1552, 1553, 1552, 1554, + 1555, 1552, 1556, 1557, 1552, 1558, 1559, 1560, 1561, 1562, + 1563, 1564, 1565, 1567, 1569, 1570, 1572, 1573, 1575, 1577, + 1578, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, + 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1587, + 1598, 1599, 1600, 1601, 1573, 1602, 1603, 1604, 1605, 1606, + 1607, 1608, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, + 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, + 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, + 1636, 1637, 1638, 1639, 1640, 1641, 1643, 1644, 1645, 1646, + + 1647, 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1657, 1658, + 1660, 1661, 1664, 1665, 1666, 1668, 1669, 1670, 1671, 1672, + 1673, 1609, 1674, 1675, 1676, 1677, 1678, 1679, 1681, 1683, + 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1658, 1691, 1692, + 1694, 1695, 1696, 1697, 1699, 1700, 1702, 1703, 1704, 1706, + 1707, 1708, 1709, 1710, 1712, 1713, 1714, 1715, 1716, 1717, + 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, + 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, + 1739, 1740, 1742, 1743, 1744, 1746, 1747, 1748, 1749, 1750, + 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, + + 1761, 1762, 1763, 1764, 1766, 1767, 1768, 1770, 1771, 1772, + 1773, 1775, 1776, 1777, 1778, 1779, 1781, 1782, 1783, 1784, + 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, + 1795, 1796, 1798, 1799, 1801, 1803, 1805, 1806, 1807, 1801, + 1808, 1811, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1822, 1823, 1825, 1826, 1827, 1828, 1829, 1830, 1832, + 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1842, 1843, + 1844, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, + 1855, 1857, 1858, 1859, 1860, 1861, 1863, 1864, 1865, 1866, + 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1878, 1879, + + 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, + 1890, 1892, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, + 1902, 1904, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, + 1914, 1915, 1916, 1917, 1918, 1916, 1919, 1920, 1921, 1922, + 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1931, 1932, 1933, + 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1944, + 1948, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, + 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1967, 1968, 1969, + 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, + 1980, 1981, 1983, 1984, 1985, 1986, 1987, 1989, 1991, 1994, + + 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, + 2018, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, + 2029, 2030, 2031, 2033, 2034, 2035, 2036, 2037, 2038, 2040, + 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2049, 2050, 2051, + 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, + 2062, 2063, 2064, 2065, 2066, 2068, 2069, 2071, 2072, 2073, + 2074, 2076, 2077, 2078, 2079, 2080, 2084, 2087, 2088, 2089, + 2090, 2091, 2092, 2093, 2094, 2096, 2097, 2098, 2099, 2100, + 2101, 2102, 2103, 2104, 2106, 2107, 2108, 2109, 2110, 2111, + + 2113, 2115, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2125, + 2126, 2127, 2128, 2129, 2128, 2130, 2131, 2133, 2134, 2138, + 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, + 2149, 2150, 2151, 2152, 2154, 2155, 2156, 2157, 2160, 2161, + 2162, 2164, 2165, 2167, 2169, 2170, 2171, 2172, 2173, 2174, + 2175, 2176, 2178, 2183, 2183, 2183, 2184, 2184, 2184, 2185, + 2186, 2185, 2187, 2187, 2187, 2188, 2188, 2188, 2189, 717, + 2189, 2190, 2190, 2190, 716, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 700, 699, + 698, 697, 696, 695, 694, 693, 692, 691, 689, 688, + + 687, 686, 685, 684, 683, 681, 680, 679, 678, 677, + 676, 675, 674, 672, 671, 670, 669, 668, 667, 666, + 665, 664, 663, 662, 661, 660, 659, 657, 656, 655, + 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, + 644, 642, 641, 640, 639, 638, 637, 636, 635, 634, + 633, 632, 631, 630, 629, 628, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, - 612, 611, 610, 609, 608, 607, 605, 604, 601, 595, - 594, 593, 592, 591, 590, 589, 587, 586, 584, 583, + 612, 611, 610, 608, 607, 604, 598, 597, 596, 595, + 594, 593, 592, 590, 589, 587, 586, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, - 571, 570, 569, 567, 566, 565, 564, 563, 562, 561, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, - - 550, 548, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 529, 528, - 527, 526, 525, 524, 523, 521, 520, 519, 518, 517, - 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, - 506, 504, 503, 502, 501, 499, 498, 497, 496, 495, - 494, 493, 491, 490, 488, 487, 484, 483, 482, 481, - 480, 479, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 466, 462, 460, 459, 457, 456, 455, 452, - 451, 449, 448, 446, 445, 444, 443, 442, 441, 440, - 439, 438, 437, 436, 435, 434, 433, 432, 431, 429, - - 428, 427, 426, 425, 424, 423, 422, 420, 419, 417, - 415, 414, 413, 412, 410, 409, 408, 407, 406, 405, - 404, 403, 402, 401, 400, 399, 398, 396, 394, 393, - 392, 391, 390, 389, 388, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 373, 372, 371, + + 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, + 560, 559, 558, 557, 556, 555, 554, 553, 551, 549, + 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, + 538, 537, 536, 535, 534, 532, 531, 530, 529, 528, + 527, 526, 524, 523, 522, 521, 520, 519, 518, 517, + 516, 515, 514, 513, 512, 511, 510, 509, 507, 506, + 505, 504, 502, 501, 500, 499, 498, 497, 496, 495, + 493, 492, 490, 489, 486, 485, 484, 483, 482, 481, + 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, + 468, 464, 462, 461, 459, 458, 457, 454, 453, 451, + + 450, 448, 447, 446, 445, 444, 443, 442, 441, 440, + 439, 438, 437, 436, 435, 434, 433, 431, 430, 429, + 428, 427, 426, 425, 424, 422, 421, 419, 417, 416, + 415, 414, 412, 411, 410, 409, 408, 407, 406, 405, + 404, 403, 402, 401, 400, 398, 396, 395, 394, 393, + 392, 391, 390, 388, 387, 386, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, - 360, 358, 357, 356, 355, 354, 353, 352, 351, 350, + 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 336, 333, 331, 328, 326, 323, 316, 315, - 313, 312, 311, 309, 308, 307, 305, 304, 303, 301, + 339, 337, 334, 332, 329, 327, 324, 317, 316, 314, + 313, 312, 310, 309, 308, 306, 305, 304, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, - 290, 289, 288, 286, 285, 284, 283, 282, 281, 280, - 279, 278, 277, 276, 275, 273, 272, 270, 269, 268, - 267, 266, 265, 264, 263, 262, 261, 260, 258, 257, - 256, 255, 254, 253, 252, 250, 249, 247, 246, 245, + 290, 289, 287, 286, 285, 284, 283, 282, 281, 280, + 279, 278, 277, 276, 274, 273, 271, 270, 269, 268, + 267, 266, 265, 264, 263, 262, 261, 259, 258, 257, + 256, 255, 254, 253, 251, 250, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, + 207, 205, 203, 199, 197, 195, 187, 186, 185, 184, 182, 180, 177, 176, 175, 173, 172, 171, 167, 164, - 162, 161, 160, 158, 156, 155, 154, 153, 152, 151, 149, 148, 147, 145, 144, 143, 142, 141, 140, 138, 137, 133, 132, 131, 130, 129, 127, 126, 125, 123, 121, 119, 118, 117, 113, 105, 103, 98, 97, 77, 72, 66, 58, 49, 47, 43, 41, 39, 38, 24, - 14, 11, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, 2162, - 2162, 2162, 2162, 2162, 2162, 2162 + 14, 11, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + 2182, 2182, 2182, 2182, 2182, 2182 } ; static yy_state_type yy_last_accepting_state; @@ -2062,7 +2072,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[221] = +static const flex_int16_t yy_rule_linenum[222] = { 0, 146, 148, 150, 155, 156, 161, 162, 163, 175, 178, 183, 190, 199, 208, 217, 226, 235, 244, 253, 263, @@ -2086,8 +2096,9 @@ static const flex_int16_t yy_rule_linenum[221] = 1868, 1878, 1888, 1898, 1908, 1918, 1928, 1937, 1946, 1955, 1964, 1975, 1986, 1999, 2012, 2025, 2034, 2043, 2052, 2061, - 2070, 2080, 2181, 2197, 2246, 2254, 2269, 2270, 2271, 2272, - 2273, 2274, 2276, 2294, 2307, 2312, 2316, 2318, 2320, 2322 + 2070, 2079, 2089, 2190, 2206, 2255, 2263, 2278, 2279, 2280, + 2281, 2282, 2283, 2285, 2303, 2316, 2321, 2325, 2327, 2329, + 2331 } ; /* The intent behind this definition is that it'll catch @@ -2141,7 +2152,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2144 "dhcp4_lexer.cc" +#line 2155 "dhcp4_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 yywrap requires linking with -lfl, which provides the default yywrap @@ -2167,8 +2178,8 @@ using namespace isc::dhcp; 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 2170 "dhcp4_lexer.cc" -#line 2171 "dhcp4_lexer.cc" +#line 2181 "dhcp4_lexer.cc" +#line 2182 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2496,7 +2507,7 @@ YY_DECL } -#line 2499 "dhcp4_lexer.cc" +#line 2510 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2525,13 +2536,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 >= 2163 ) + if ( yy_current_state >= 2183 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2162 ); + while ( yy_current_state != 2182 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2550,13 +2561,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 221 ) + else if ( yy_act < 222 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 221 ) + else if ( yy_act == 222 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 222 ) + else if ( yy_act == 223 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -5119,7 +5130,19 @@ YY_RULE_SETUP YY_BREAK case 202: YY_RULE_SETUP -#line 2080 "dhcp4_lexer.ll" +#line 2079 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::COMPATIBILITY: + return isc::dhcp::Dhcp4Parser::make_EXCLUDE_FIRST_LAST_24(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("exclude-first-last-24", driver.loc_); + } +} + YY_BREAK +case 203: +YY_RULE_SETUP +#line 2089 "dhcp4_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. @@ -5221,10 +5244,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 203: -/* rule 203 can match eol */ +case 204: +/* rule 204 can match eol */ YY_RULE_SETUP -#line 2181 "dhcp4_lexer.ll" +#line 2190 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5241,10 +5264,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 204: -/* rule 204 can match eol */ +case 205: +/* rule 205 can match eol */ YY_RULE_SETUP -#line 2197 "dhcp4_lexer.ll" +#line 2206 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5294,9 +5317,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 2246 "dhcp4_lexer.ll" +#line 2255 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5305,9 +5328,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 2254 "dhcp4_lexer.ll" +#line 2263 "dhcp4_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5323,39 +5346,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 2269 "dhcp4_lexer.ll" +#line 2278 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 2270 "dhcp4_lexer.ll" +#line 2279 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 2271 "dhcp4_lexer.ll" +#line 2280 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2272 "dhcp4_lexer.ll" +#line 2281 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 211: +case 212: YY_RULE_SETUP -#line 2273 "dhcp4_lexer.ll" +#line 2282 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 212: +case 213: YY_RULE_SETUP -#line 2274 "dhcp4_lexer.ll" +#line 2283 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 213: +case 214: YY_RULE_SETUP -#line 2276 "dhcp4_lexer.ll" +#line 2285 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5374,9 +5397,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 214: +case 215: YY_RULE_SETUP -#line 2294 "dhcp4_lexer.ll" +#line 2303 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5390,43 +5413,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 215: +case 216: YY_RULE_SETUP -#line 2307 "dhcp4_lexer.ll" +#line 2316 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 216: +case 217: YY_RULE_SETUP -#line 2312 "dhcp4_lexer.ll" +#line 2321 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 2316 "dhcp4_lexer.ll" +#line 2325 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2318 "dhcp4_lexer.ll" +#line 2327 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 219: +case 220: YY_RULE_SETUP -#line 2320 "dhcp4_lexer.ll" +#line 2329 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 220: +case 221: YY_RULE_SETUP -#line 2322 "dhcp4_lexer.ll" +#line 2331 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2324 "dhcp4_lexer.ll" +#line 2333 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5450,12 +5473,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 221: +case 222: YY_RULE_SETUP -#line 2347 "dhcp4_lexer.ll" +#line 2356 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5458 "dhcp4_lexer.cc" +#line 5481 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5774,7 +5797,7 @@ 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 >= 2163 ) + if ( yy_current_state >= 2183 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5807,11 +5830,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 >= 2163 ) + if ( yy_current_state >= 2183 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2162); + yy_is_jam = (yy_current_state == 2182); return yy_is_jam ? 0 : yy_current_state; } @@ -6560,7 +6583,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2347 "dhcp4_lexer.ll" +#line 2356 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 5a818605d9..4d33aa39f0 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -402,79 +402,79 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 408 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 414 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 420 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 426 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 432 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 438 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 444 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 450 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 456 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 462 "dhcp4_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 468 "dhcp4_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 474 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 480 "dhcp4_parser.cc" break; @@ -755,127 +755,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 302 "dhcp4_parser.yy" +#line 303 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 761 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 303 "dhcp4_parser.yy" +#line 304 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 767 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 304 "dhcp4_parser.yy" +#line 305 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 773 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 305 "dhcp4_parser.yy" +#line 306 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 779 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 306 "dhcp4_parser.yy" +#line 307 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 785 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 307 "dhcp4_parser.yy" +#line 308 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 791 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 308 "dhcp4_parser.yy" +#line 309 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 797 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 309 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 803 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 310 "dhcp4_parser.yy" +#line 311 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 809 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 815 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 312 "dhcp4_parser.yy" +#line 313 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 821 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 313 "dhcp4_parser.yy" +#line 314 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 827 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 314 "dhcp4_parser.yy" +#line 315 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 833 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 322 "dhcp4_parser.yy" +#line 323 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 839 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 323 "dhcp4_parser.yy" +#line 324 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 845 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 324 "dhcp4_parser.yy" +#line 325 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 851 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 325 "dhcp4_parser.yy" +#line 326 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 857 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 326 "dhcp4_parser.yy" +#line 327 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 863 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 869 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 328 "dhcp4_parser.yy" +#line 329 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 875 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 331 "dhcp4_parser.yy" +#line 332 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -884,7 +884,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 336 "dhcp4_parser.yy" +#line 337 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -895,7 +895,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 341 "dhcp4_parser.yy" +#line 342 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -905,13 +905,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 347 "dhcp4_parser.yy" +#line 348 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 911 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 354 "dhcp4_parser.yy" +#line 355 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -921,7 +921,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 359 "dhcp4_parser.yy" +#line 360 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -932,7 +932,7 @@ namespace isc { namespace dhcp { break; case 43: // not_empty_map: not_empty_map "," -#line 365 "dhcp4_parser.yy" +#line 366 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -940,7 +940,7 @@ namespace isc { namespace dhcp { break; case 44: // $@15: %empty -#line 370 "dhcp4_parser.yy" +#line 371 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -949,7 +949,7 @@ namespace isc { namespace dhcp { break; case 45: // list_generic: "[" $@15 list_content "]" -#line 373 "dhcp4_parser.yy" +#line 374 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -957,7 +957,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: value -#line 381 "dhcp4_parser.yy" +#line 382 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -966,7 +966,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: not_empty_list "," value -#line 385 "dhcp4_parser.yy" +#line 386 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -975,7 +975,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," -#line 389 "dhcp4_parser.yy" +#line 390 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -983,7 +983,7 @@ namespace isc { namespace dhcp { break; case 51: // $@16: %empty -#line 395 "dhcp4_parser.yy" +#line 396 "dhcp4_parser.yy" { // List parsing about to start } @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@16 list_strings_content "]" -#line 397 "dhcp4_parser.yy" +#line 398 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -1000,7 +1000,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 406 "dhcp4_parser.yy" +#line 407 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1009,7 +1009,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 410 "dhcp4_parser.yy" +#line 411 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1018,7 +1018,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: not_empty_list_strings "," -#line 414 "dhcp4_parser.yy" +#line 415 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1026,7 +1026,7 @@ namespace isc { namespace dhcp { break; case 58: // unknown_map_entry: "constant string" ":" -#line 424 "dhcp4_parser.yy" +#line 425 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1037,7 +1037,7 @@ namespace isc { namespace dhcp { break; case 59: // $@17: %empty -#line 433 "dhcp4_parser.yy" +#line 434 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1048,7 +1048,7 @@ namespace isc { namespace dhcp { break; case 60: // syntax_map: "{" $@17 global_object "}" -#line 438 "dhcp4_parser.yy" +#line 439 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1061,7 +1061,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 448 "dhcp4_parser.yy" +#line 449 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1076,7 +1076,7 @@ namespace isc { namespace dhcp { break; case 62: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 457 "dhcp4_parser.yy" +#line 458 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1086,7 +1086,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object_comma: global_object "," -#line 465 "dhcp4_parser.yy" +#line 466 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1094,7 +1094,7 @@ namespace isc { namespace dhcp { break; case 65: // $@19: %empty -#line 471 "dhcp4_parser.yy" +#line 472 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1104,7 +1104,7 @@ namespace isc { namespace dhcp { break; case 66: // sub_dhcp4: "{" $@19 global_params "}" -#line 475 "dhcp4_parser.yy" +#line 476 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1113,7 +1113,7 @@ namespace isc { namespace dhcp { break; case 69: // global_params: global_params "," -#line 482 "dhcp4_parser.yy" +#line 483 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1121,7 +1121,7 @@ namespace isc { namespace dhcp { break; case 135: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 556 "dhcp4_parser.yy" +#line 557 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1131,7 +1131,7 @@ namespace isc { namespace dhcp { break; case 136: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 562 "dhcp4_parser.yy" +#line 563 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1141,7 +1141,7 @@ namespace isc { namespace dhcp { break; case 137: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 568 "dhcp4_parser.yy" +#line 569 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1151,7 +1151,7 @@ namespace isc { namespace dhcp { break; case 138: // renew_timer: "renew-timer" ":" "integer" -#line 574 "dhcp4_parser.yy" +#line 575 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1161,7 +1161,7 @@ namespace isc { namespace dhcp { break; case 139: // rebind_timer: "rebind-timer" ":" "integer" -#line 580 "dhcp4_parser.yy" +#line 581 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1171,7 +1171,7 @@ namespace isc { namespace dhcp { break; case 140: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 586 "dhcp4_parser.yy" +#line 587 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1181,7 +1181,7 @@ namespace isc { namespace dhcp { break; case 141: // t1_percent: "t1-percent" ":" "floating point" -#line 592 "dhcp4_parser.yy" +#line 593 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1191,7 +1191,7 @@ namespace isc { namespace dhcp { break; case 142: // t2_percent: "t2-percent" ":" "floating point" -#line 598 "dhcp4_parser.yy" +#line 599 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1201,7 +1201,7 @@ namespace isc { namespace dhcp { break; case 143: // cache_threshold: "cache-threshold" ":" "floating point" -#line 604 "dhcp4_parser.yy" +#line 605 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1211,7 +1211,7 @@ namespace isc { namespace dhcp { break; case 144: // cache_max_age: "cache-max-age" ":" "integer" -#line 610 "dhcp4_parser.yy" +#line 611 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1221,7 +1221,7 @@ namespace isc { namespace dhcp { break; case 145: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 616 "dhcp4_parser.yy" +#line 617 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1231,7 +1231,7 @@ namespace isc { namespace dhcp { break; case 146: // $@20: %empty -#line 622 "dhcp4_parser.yy" +#line 623 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1240,7 +1240,7 @@ namespace isc { namespace dhcp { break; case 147: // server_tag: "server-tag" $@20 ":" "constant string" -#line 625 "dhcp4_parser.yy" +#line 626 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@ -1250,7 +1250,7 @@ namespace isc { namespace dhcp { break; case 148: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 631 "dhcp4_parser.yy" +#line 632 "dhcp4_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1260,7 +1260,7 @@ namespace isc { namespace dhcp { break; case 149: // $@21: %empty -#line 637 "dhcp4_parser.yy" +#line 638 "dhcp4_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1269,7 +1269,7 @@ namespace isc { namespace dhcp { break; case 150: // allocator: "allocator" $@21 ":" "constant string" -#line 640 "dhcp4_parser.yy" +#line 641 "dhcp4_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); @@ -1279,7 +1279,7 @@ namespace isc { namespace dhcp { break; case 151: // echo_client_id: "echo-client-id" ":" "boolean" -#line 646 "dhcp4_parser.yy" +#line 647 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1289,7 +1289,7 @@ namespace isc { namespace dhcp { break; case 152: // match_client_id: "match-client-id" ":" "boolean" -#line 652 "dhcp4_parser.yy" +#line 653 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1299,7 +1299,7 @@ namespace isc { namespace dhcp { break; case 153: // authoritative: "authoritative" ":" "boolean" -#line 658 "dhcp4_parser.yy" +#line 659 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1309,7 +1309,7 @@ namespace isc { namespace dhcp { break; case 154: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 664 "dhcp4_parser.yy" +#line 665 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1319,7 +1319,7 @@ namespace isc { namespace dhcp { break; case 155: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 670 "dhcp4_parser.yy" +#line 671 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1329,7 +1329,7 @@ namespace isc { namespace dhcp { break; case 156: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 676 "dhcp4_parser.yy" +#line 677 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1339,7 +1339,7 @@ namespace isc { namespace dhcp { break; case 157: // $@22: %empty -#line 682 "dhcp4_parser.yy" +#line 683 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); @@ -1348,7 +1348,7 @@ namespace isc { namespace dhcp { break; case 158: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 685 "dhcp4_parser.yy" +#line 686 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1357,7 +1357,7 @@ namespace isc { namespace dhcp { break; case 159: // ddns_replace_client_name_value: "when-present" -#line 691 "dhcp4_parser.yy" +#line 692 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } @@ -1365,7 +1365,7 @@ namespace isc { namespace dhcp { break; case 160: // ddns_replace_client_name_value: "never" -#line 694 "dhcp4_parser.yy" +#line 695 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } @@ -1373,7 +1373,7 @@ namespace isc { namespace dhcp { break; case 161: // ddns_replace_client_name_value: "always" -#line 697 "dhcp4_parser.yy" +#line 698 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } @@ -1381,7 +1381,7 @@ namespace isc { namespace dhcp { break; case 162: // ddns_replace_client_name_value: "when-not-present" -#line 700 "dhcp4_parser.yy" +#line 701 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } @@ -1389,7 +1389,7 @@ namespace isc { namespace dhcp { break; case 163: // ddns_replace_client_name_value: "boolean" -#line 703 "dhcp4_parser.yy" +#line 704 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1398,7 +1398,7 @@ namespace isc { namespace dhcp { break; case 164: // $@23: %empty -#line 709 "dhcp4_parser.yy" +#line 710 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1407,7 +1407,7 @@ namespace isc { namespace dhcp { break; case 165: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 712 "dhcp4_parser.yy" +#line 713 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1417,7 +1417,7 @@ namespace isc { namespace dhcp { break; case 166: // $@24: %empty -#line 718 "dhcp4_parser.yy" +#line 719 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1426,7 +1426,7 @@ namespace isc { namespace dhcp { break; case 167: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 721 "dhcp4_parser.yy" +#line 722 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1436,7 +1436,7 @@ namespace isc { namespace dhcp { break; case 168: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 727 "dhcp4_parser.yy" +#line 728 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1446,7 +1446,7 @@ namespace isc { namespace dhcp { break; case 169: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 733 "dhcp4_parser.yy" +#line 734 "dhcp4_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1456,7 +1456,7 @@ namespace isc { namespace dhcp { break; case 170: // $@25: %empty -#line 739 "dhcp4_parser.yy" +#line 740 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1465,7 +1465,7 @@ namespace isc { namespace dhcp { break; case 171: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" -#line 742 "dhcp4_parser.yy" +#line 743 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -1475,7 +1475,7 @@ namespace isc { namespace dhcp { break; case 172: // $@26: %empty -#line 748 "dhcp4_parser.yy" +#line 749 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1484,7 +1484,7 @@ namespace isc { namespace dhcp { break; case 173: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" -#line 751 "dhcp4_parser.yy" +#line 752 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -1494,7 +1494,7 @@ namespace isc { namespace dhcp { break; case 174: // store_extended_info: "store-extended-info" ":" "boolean" -#line 757 "dhcp4_parser.yy" +#line 758 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1504,7 +1504,7 @@ namespace isc { namespace dhcp { break; case 175: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 763 "dhcp4_parser.yy" +#line 764 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1514,7 +1514,7 @@ namespace isc { namespace dhcp { break; case 176: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 769 "dhcp4_parser.yy" +#line 770 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1524,7 +1524,7 @@ namespace isc { namespace dhcp { break; case 177: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 775 "dhcp4_parser.yy" +#line 776 "dhcp4_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1534,7 +1534,7 @@ namespace isc { namespace dhcp { break; case 178: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 781 "dhcp4_parser.yy" +#line 782 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1544,7 +1544,7 @@ namespace isc { namespace dhcp { break; case 179: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 787 "dhcp4_parser.yy" +#line 788 "dhcp4_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1554,7 +1554,7 @@ namespace isc { namespace dhcp { break; case 180: // $@27: %empty -#line 793 "dhcp4_parser.yy" +#line 794 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1566,7 +1566,7 @@ namespace isc { namespace dhcp { break; case 181: // interfaces_config: "interfaces-config" $@27 ":" "{" interfaces_config_params "}" -#line 799 "dhcp4_parser.yy" +#line 800 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); @@ -1576,7 +1576,7 @@ namespace isc { namespace dhcp { break; case 184: // interfaces_config_params: interfaces_config_params "," -#line 807 "dhcp4_parser.yy" +#line 808 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1584,7 +1584,7 @@ namespace isc { namespace dhcp { break; case 195: // $@28: %empty -#line 824 "dhcp4_parser.yy" +#line 825 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1594,7 +1594,7 @@ namespace isc { namespace dhcp { break; case 196: // sub_interfaces4: "{" $@28 interfaces_config_params "}" -#line 828 "dhcp4_parser.yy" +#line 829 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed @@ -1603,7 +1603,7 @@ namespace isc { namespace dhcp { break; case 197: // $@29: %empty -#line 833 "dhcp4_parser.yy" +#line 834 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1615,7 +1615,7 @@ namespace isc { namespace dhcp { break; case 198: // interfaces_list: "interfaces" $@29 ":" list_strings -#line 839 "dhcp4_parser.yy" +#line 840 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1624,7 +1624,7 @@ namespace isc { namespace dhcp { break; case 199: // $@30: %empty -#line 844 "dhcp4_parser.yy" +#line 845 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); @@ -1633,7 +1633,7 @@ namespace isc { namespace dhcp { break; case 200: // dhcp_socket_type: "dhcp-socket-type" $@30 ":" socket_type -#line 847 "dhcp4_parser.yy" +#line 848 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1642,19 +1642,19 @@ namespace isc { namespace dhcp { break; case 201: // socket_type: "raw" -#line 852 "dhcp4_parser.yy" +#line 853 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } #line 1648 "dhcp4_parser.cc" break; case 202: // socket_type: "udp" -#line 853 "dhcp4_parser.yy" +#line 854 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } #line 1654 "dhcp4_parser.cc" break; case 203: // $@31: %empty -#line 856 "dhcp4_parser.yy" +#line 857 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); @@ -1663,7 +1663,7 @@ namespace isc { namespace dhcp { break; case 204: // outbound_interface: "outbound-interface" $@31 ":" outbound_interface_value -#line 859 "dhcp4_parser.yy" +#line 860 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1672,7 +1672,7 @@ namespace isc { namespace dhcp { break; case 205: // outbound_interface_value: "same-as-inbound" -#line 864 "dhcp4_parser.yy" +#line 865 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } @@ -1680,7 +1680,7 @@ namespace isc { namespace dhcp { break; case 206: // outbound_interface_value: "use-routing" -#line 866 "dhcp4_parser.yy" +#line 867 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } @@ -1688,7 +1688,7 @@ namespace isc { namespace dhcp { break; case 207: // re_detect: "re-detect" ":" "boolean" -#line 870 "dhcp4_parser.yy" +#line 871 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1698,7 +1698,7 @@ namespace isc { namespace dhcp { break; case 208: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 876 "dhcp4_parser.yy" +#line 877 "dhcp4_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1708,7 +1708,7 @@ namespace isc { namespace dhcp { break; case 209: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 882 "dhcp4_parser.yy" +#line 883 "dhcp4_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1718,7 +1718,7 @@ namespace isc { namespace dhcp { break; case 210: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 888 "dhcp4_parser.yy" +#line 889 "dhcp4_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1728,7 +1728,7 @@ namespace isc { namespace dhcp { break; case 211: // $@32: %empty -#line 894 "dhcp4_parser.yy" +#line 895 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1740,7 +1740,7 @@ namespace isc { namespace dhcp { break; case 212: // lease_database: "lease-database" $@32 ":" "{" database_map_params "}" -#line 900 "dhcp4_parser.yy" +#line 901 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1751,7 +1751,7 @@ namespace isc { namespace dhcp { break; case 213: // $@33: %empty -#line 907 "dhcp4_parser.yy" +#line 908 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1763,7 +1763,7 @@ namespace isc { namespace dhcp { break; case 214: // sanity_checks: "sanity-checks" $@33 ":" "{" sanity_checks_params "}" -#line 913 "dhcp4_parser.yy" +#line 914 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1772,7 +1772,7 @@ namespace isc { namespace dhcp { break; case 217: // sanity_checks_params: sanity_checks_params "," -#line 920 "dhcp4_parser.yy" +#line 921 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1780,7 +1780,7 @@ namespace isc { namespace dhcp { break; case 220: // $@34: %empty -#line 929 "dhcp4_parser.yy" +#line 930 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1789,7 +1789,7 @@ namespace isc { namespace dhcp { break; case 221: // lease_checks: "lease-checks" $@34 ":" "constant string" -#line 932 "dhcp4_parser.yy" +#line 933 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1809,7 +1809,7 @@ namespace isc { namespace dhcp { break; case 222: // $@35: %empty -#line 948 "dhcp4_parser.yy" +#line 949 "dhcp4_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1818,7 +1818,7 @@ namespace isc { namespace dhcp { break; case 223: // extended_info_checks: "extended-info-checks" $@35 ":" "constant string" -#line 951 "dhcp4_parser.yy" +#line 952 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1837,7 +1837,7 @@ namespace isc { namespace dhcp { break; case 224: // $@36: %empty -#line 966 "dhcp4_parser.yy" +#line 967 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1849,7 +1849,7 @@ namespace isc { namespace dhcp { break; case 225: // hosts_database: "hosts-database" $@36 ":" "{" database_map_params "}" -#line 972 "dhcp4_parser.yy" +#line 973 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1860,7 +1860,7 @@ namespace isc { namespace dhcp { break; case 226: // $@37: %empty -#line 979 "dhcp4_parser.yy" +#line 980 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1872,7 +1872,7 @@ namespace isc { namespace dhcp { break; case 227: // hosts_databases: "hosts-databases" $@37 ":" "[" database_list "]" -#line 985 "dhcp4_parser.yy" +#line 986 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1881,7 +1881,7 @@ namespace isc { namespace dhcp { break; case 232: // not_empty_database_list: not_empty_database_list "," -#line 996 "dhcp4_parser.yy" +#line 997 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1889,7 +1889,7 @@ namespace isc { namespace dhcp { break; case 233: // $@38: %empty -#line 1001 "dhcp4_parser.yy" +#line 1002 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1899,7 +1899,7 @@ namespace isc { namespace dhcp { break; case 234: // database: "{" $@38 database_map_params "}" -#line 1005 "dhcp4_parser.yy" +#line 1006 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1909,7 +1909,7 @@ namespace isc { namespace dhcp { break; case 237: // database_map_params: database_map_params "," -#line 1013 "dhcp4_parser.yy" +#line 1014 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1917,7 +1917,7 @@ namespace isc { namespace dhcp { break; case 260: // $@39: %empty -#line 1042 "dhcp4_parser.yy" +#line 1043 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); @@ -1926,7 +1926,7 @@ namespace isc { namespace dhcp { break; case 261: // database_type: "type" $@39 ":" db_type -#line 1045 "dhcp4_parser.yy" +#line 1046 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1935,25 +1935,25 @@ namespace isc { namespace dhcp { break; case 262: // db_type: "memfile" -#line 1050 "dhcp4_parser.yy" +#line 1051 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } #line 1941 "dhcp4_parser.cc" break; case 263: // db_type: "mysql" -#line 1051 "dhcp4_parser.yy" +#line 1052 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } #line 1947 "dhcp4_parser.cc" break; case 264: // db_type: "postgresql" -#line 1052 "dhcp4_parser.yy" +#line 1053 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } #line 1953 "dhcp4_parser.cc" break; case 265: // $@40: %empty -#line 1055 "dhcp4_parser.yy" +#line 1056 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1962,7 +1962,7 @@ namespace isc { namespace dhcp { break; case 266: // user: "user" $@40 ":" "constant string" -#line 1058 "dhcp4_parser.yy" +#line 1059 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); @@ -1972,7 +1972,7 @@ namespace isc { namespace dhcp { break; case 267: // $@41: %empty -#line 1064 "dhcp4_parser.yy" +#line 1065 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1981,7 +1981,7 @@ namespace isc { namespace dhcp { break; case 268: // password: "password" $@41 ":" "constant string" -#line 1067 "dhcp4_parser.yy" +#line 1068 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); @@ -1991,7 +1991,7 @@ namespace isc { namespace dhcp { break; case 269: // $@42: %empty -#line 1073 "dhcp4_parser.yy" +#line 1074 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2000,7 +2000,7 @@ namespace isc { namespace dhcp { break; case 270: // host: "host" $@42 ":" "constant string" -#line 1076 "dhcp4_parser.yy" +#line 1077 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); @@ -2010,7 +2010,7 @@ namespace isc { namespace dhcp { break; case 271: // port: "port" ":" "integer" -#line 1082 "dhcp4_parser.yy" +#line 1083 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2020,7 +2020,7 @@ namespace isc { namespace dhcp { break; case 272: // $@43: %empty -#line 1088 "dhcp4_parser.yy" +#line 1089 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2029,7 +2029,7 @@ namespace isc { namespace dhcp { break; case 273: // name: "name" $@43 ":" "constant string" -#line 1091 "dhcp4_parser.yy" +#line 1092 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); @@ -2039,7 +2039,7 @@ namespace isc { namespace dhcp { break; case 274: // persist: "persist" ":" "boolean" -#line 1097 "dhcp4_parser.yy" +#line 1098 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2049,7 +2049,7 @@ namespace isc { namespace dhcp { break; case 275: // lfc_interval: "lfc-interval" ":" "integer" -#line 1103 "dhcp4_parser.yy" +#line 1104 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2059,7 +2059,7 @@ namespace isc { namespace dhcp { break; case 276: // readonly: "readonly" ":" "boolean" -#line 1109 "dhcp4_parser.yy" +#line 1110 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2069,7 +2069,7 @@ namespace isc { namespace dhcp { break; case 277: // connect_timeout: "connect-timeout" ":" "integer" -#line 1115 "dhcp4_parser.yy" +#line 1116 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2079,7 +2079,7 @@ namespace isc { namespace dhcp { break; case 278: // read_timeout: "read-timeout" ":" "integer" -#line 1121 "dhcp4_parser.yy" +#line 1122 "dhcp4_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2089,7 +2089,7 @@ namespace isc { namespace dhcp { break; case 279: // write_timeout: "write-timeout" ":" "integer" -#line 1127 "dhcp4_parser.yy" +#line 1128 "dhcp4_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2099,7 +2099,7 @@ namespace isc { namespace dhcp { break; case 280: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1133 "dhcp4_parser.yy" +#line 1134 "dhcp4_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2109,7 +2109,7 @@ namespace isc { namespace dhcp { break; case 281: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1139 "dhcp4_parser.yy" +#line 1140 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2119,7 +2119,7 @@ namespace isc { namespace dhcp { break; case 282: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1145 "dhcp4_parser.yy" +#line 1146 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2129,7 +2129,7 @@ namespace isc { namespace dhcp { break; case 283: // $@44: %empty -#line 1151 "dhcp4_parser.yy" +#line 1152 "dhcp4_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); @@ -2138,7 +2138,7 @@ namespace isc { namespace dhcp { break; case 284: // on_fail: "on-fail" $@44 ":" on_fail_mode -#line 1154 "dhcp4_parser.yy" +#line 1155 "dhcp4_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2147,25 +2147,25 @@ namespace isc { namespace dhcp { break; case 285: // on_fail_mode: "stop-retry-exit" -#line 1159 "dhcp4_parser.yy" +#line 1160 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } #line 2153 "dhcp4_parser.cc" break; case 286: // on_fail_mode: "serve-retry-exit" -#line 1160 "dhcp4_parser.yy" +#line 1161 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } #line 2159 "dhcp4_parser.cc" break; case 287: // on_fail_mode: "serve-retry-continue" -#line 1161 "dhcp4_parser.yy" +#line 1162 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } #line 2165 "dhcp4_parser.cc" break; case 288: // max_row_errors: "max-row-errors" ":" "integer" -#line 1164 "dhcp4_parser.yy" +#line 1165 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2175,7 +2175,7 @@ namespace isc { namespace dhcp { break; case 289: // $@45: %empty -#line 1170 "dhcp4_parser.yy" +#line 1171 "dhcp4_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2184,7 +2184,7 @@ namespace isc { namespace dhcp { break; case 290: // trust_anchor: "trust-anchor" $@45 ":" "constant string" -#line 1173 "dhcp4_parser.yy" +#line 1174 "dhcp4_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); @@ -2194,7 +2194,7 @@ namespace isc { namespace dhcp { break; case 291: // $@46: %empty -#line 1179 "dhcp4_parser.yy" +#line 1180 "dhcp4_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2203,7 +2203,7 @@ namespace isc { namespace dhcp { break; case 292: // cert_file: "cert-file" $@46 ":" "constant string" -#line 1182 "dhcp4_parser.yy" +#line 1183 "dhcp4_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); @@ -2213,7 +2213,7 @@ namespace isc { namespace dhcp { break; case 293: // $@47: %empty -#line 1188 "dhcp4_parser.yy" +#line 1189 "dhcp4_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2222,7 +2222,7 @@ namespace isc { namespace dhcp { break; case 294: // key_file: "key-file" $@47 ":" "constant string" -#line 1191 "dhcp4_parser.yy" +#line 1192 "dhcp4_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); @@ -2232,7 +2232,7 @@ namespace isc { namespace dhcp { break; case 295: // $@48: %empty -#line 1197 "dhcp4_parser.yy" +#line 1198 "dhcp4_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2241,7 +2241,7 @@ namespace isc { namespace dhcp { break; case 296: // cipher_list: "cipher-list" $@48 ":" "constant string" -#line 1200 "dhcp4_parser.yy" +#line 1201 "dhcp4_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); @@ -2251,7 +2251,7 @@ namespace isc { namespace dhcp { break; case 297: // $@49: %empty -#line 1206 "dhcp4_parser.yy" +#line 1207 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2263,7 +2263,7 @@ namespace isc { namespace dhcp { break; case 298: // host_reservation_identifiers: "host-reservation-identifiers" $@49 ":" "[" host_reservation_identifiers_list "]" -#line 1212 "dhcp4_parser.yy" +#line 1213 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2272,7 +2272,7 @@ namespace isc { namespace dhcp { break; case 301: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1219 "dhcp4_parser.yy" +#line 1220 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2280,7 +2280,7 @@ namespace isc { namespace dhcp { break; case 307: // duid_id: "duid" -#line 1231 "dhcp4_parser.yy" +#line 1232 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@ -2289,7 +2289,7 @@ namespace isc { namespace dhcp { break; case 308: // hw_address_id: "hw-address" -#line 1236 "dhcp4_parser.yy" +#line 1237 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); @@ -2298,7 +2298,7 @@ namespace isc { namespace dhcp { break; case 309: // circuit_id: "circuit-id" -#line 1241 "dhcp4_parser.yy" +#line 1242 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); @@ -2307,7 +2307,7 @@ namespace isc { namespace dhcp { break; case 310: // client_id: "client-id" -#line 1246 "dhcp4_parser.yy" +#line 1247 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); @@ -2316,7 +2316,7 @@ namespace isc { namespace dhcp { break; case 311: // flex_id: "flex-id" -#line 1251 "dhcp4_parser.yy" +#line 1252 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); @@ -2325,7 +2325,7 @@ namespace isc { namespace dhcp { break; case 312: // $@50: %empty -#line 1258 "dhcp4_parser.yy" +#line 1259 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2337,7 +2337,7 @@ namespace isc { namespace dhcp { break; case 313: // dhcp_multi_threading: "multi-threading" $@50 ":" "{" multi_threading_params "}" -#line 1264 "dhcp4_parser.yy" +#line 1265 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -2348,7 +2348,7 @@ namespace isc { namespace dhcp { break; case 316: // multi_threading_params: multi_threading_params "," -#line 1273 "dhcp4_parser.yy" +#line 1274 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2356,7 +2356,7 @@ namespace isc { namespace dhcp { break; case 323: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1286 "dhcp4_parser.yy" +#line 1287 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2366,7 +2366,7 @@ namespace isc { namespace dhcp { break; case 324: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1292 "dhcp4_parser.yy" +#line 1293 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2376,7 +2376,7 @@ namespace isc { namespace dhcp { break; case 325: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1298 "dhcp4_parser.yy" +#line 1299 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2386,7 +2386,7 @@ namespace isc { namespace dhcp { break; case 326: // $@51: %empty -#line 1304 "dhcp4_parser.yy" +#line 1305 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2398,7 +2398,7 @@ namespace isc { namespace dhcp { break; case 327: // hooks_libraries: "hooks-libraries" $@51 ":" "[" hooks_libraries_list "]" -#line 1310 "dhcp4_parser.yy" +#line 1311 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2407,7 +2407,7 @@ namespace isc { namespace dhcp { break; case 332: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1321 "dhcp4_parser.yy" +#line 1322 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2415,7 +2415,7 @@ namespace isc { namespace dhcp { break; case 333: // $@52: %empty -#line 1326 "dhcp4_parser.yy" +#line 1327 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2425,7 +2425,7 @@ namespace isc { namespace dhcp { break; case 334: // hooks_library: "{" $@52 hooks_params "}" -#line 1330 "dhcp4_parser.yy" +#line 1331 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2435,7 +2435,7 @@ namespace isc { namespace dhcp { break; case 335: // $@53: %empty -#line 1336 "dhcp4_parser.yy" +#line 1337 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2445,7 +2445,7 @@ namespace isc { namespace dhcp { break; case 336: // sub_hooks_library: "{" $@53 hooks_params "}" -#line 1340 "dhcp4_parser.yy" +#line 1341 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2455,7 +2455,7 @@ namespace isc { namespace dhcp { break; case 339: // hooks_params: hooks_params "," -#line 1348 "dhcp4_parser.yy" +#line 1349 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2463,7 +2463,7 @@ namespace isc { namespace dhcp { break; case 343: // $@54: %empty -#line 1358 "dhcp4_parser.yy" +#line 1359 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2472,7 +2472,7 @@ namespace isc { namespace dhcp { break; case 344: // library: "library" $@54 ":" "constant string" -#line 1361 "dhcp4_parser.yy" +#line 1362 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); @@ -2482,7 +2482,7 @@ namespace isc { namespace dhcp { break; case 345: // $@55: %empty -#line 1367 "dhcp4_parser.yy" +#line 1368 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2491,7 +2491,7 @@ namespace isc { namespace dhcp { break; case 346: // parameters: "parameters" $@55 ":" map_value -#line 1370 "dhcp4_parser.yy" +#line 1371 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2500,7 +2500,7 @@ namespace isc { namespace dhcp { break; case 347: // $@56: %empty -#line 1376 "dhcp4_parser.yy" +#line 1377 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2512,7 +2512,7 @@ namespace isc { namespace dhcp { break; case 348: // expired_leases_processing: "expired-leases-processing" $@56 ":" "{" expired_leases_params "}" -#line 1382 "dhcp4_parser.yy" +#line 1383 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); @@ -2522,7 +2522,7 @@ namespace isc { namespace dhcp { break; case 351: // expired_leases_params: expired_leases_params "," -#line 1390 "dhcp4_parser.yy" +#line 1391 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2530,7 +2530,7 @@ namespace isc { namespace dhcp { break; case 358: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1403 "dhcp4_parser.yy" +#line 1404 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2540,7 +2540,7 @@ namespace isc { namespace dhcp { break; case 359: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1409 "dhcp4_parser.yy" +#line 1410 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2550,7 +2550,7 @@ namespace isc { namespace dhcp { break; case 360: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1415 "dhcp4_parser.yy" +#line 1416 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2560,7 +2560,7 @@ namespace isc { namespace dhcp { break; case 361: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1421 "dhcp4_parser.yy" +#line 1422 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2570,7 +2570,7 @@ namespace isc { namespace dhcp { break; case 362: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1427 "dhcp4_parser.yy" +#line 1428 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2580,7 +2580,7 @@ namespace isc { namespace dhcp { break; case 363: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1433 "dhcp4_parser.yy" +#line 1434 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2590,7 +2590,7 @@ namespace isc { namespace dhcp { break; case 364: // $@57: %empty -#line 1442 "dhcp4_parser.yy" +#line 1443 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2602,7 +2602,7 @@ namespace isc { namespace dhcp { break; case 365: // subnet4_list: "subnet4" $@57 ":" "[" subnet4_list_content "]" -#line 1448 "dhcp4_parser.yy" +#line 1449 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2611,7 +2611,7 @@ namespace isc { namespace dhcp { break; case 370: // not_empty_subnet4_list: not_empty_subnet4_list "," -#line 1462 "dhcp4_parser.yy" +#line 1463 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2619,7 +2619,7 @@ namespace isc { namespace dhcp { break; case 371: // $@58: %empty -#line 1471 "dhcp4_parser.yy" +#line 1472 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2629,7 +2629,7 @@ namespace isc { namespace dhcp { break; case 372: // subnet4: "{" $@58 subnet4_params "}" -#line 1475 "dhcp4_parser.yy" +#line 1476 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2655,7 +2655,7 @@ namespace isc { namespace dhcp { break; case 373: // $@59: %empty -#line 1497 "dhcp4_parser.yy" +#line 1498 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2665,7 +2665,7 @@ namespace isc { namespace dhcp { break; case 374: // sub_subnet4: "{" $@59 subnet4_params "}" -#line 1501 "dhcp4_parser.yy" +#line 1502 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2675,7 +2675,7 @@ namespace isc { namespace dhcp { break; case 377: // subnet4_params: subnet4_params "," -#line 1510 "dhcp4_parser.yy" +#line 1511 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2683,7 +2683,7 @@ namespace isc { namespace dhcp { break; case 424: // $@60: %empty -#line 1564 "dhcp4_parser.yy" +#line 1565 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2692,7 +2692,7 @@ namespace isc { namespace dhcp { break; case 425: // subnet: "subnet" $@60 ":" "constant string" -#line 1567 "dhcp4_parser.yy" +#line 1568 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); @@ -2702,7 +2702,7 @@ namespace isc { namespace dhcp { break; case 426: // $@61: %empty -#line 1573 "dhcp4_parser.yy" +#line 1574 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2711,7 +2711,7 @@ namespace isc { namespace dhcp { break; case 427: // subnet_4o6_interface: "4o6-interface" $@61 ":" "constant string" -#line 1576 "dhcp4_parser.yy" +#line 1577 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); @@ -2721,7 +2721,7 @@ namespace isc { namespace dhcp { break; case 428: // $@62: %empty -#line 1582 "dhcp4_parser.yy" +#line 1583 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2730,7 +2730,7 @@ namespace isc { namespace dhcp { break; case 429: // subnet_4o6_interface_id: "4o6-interface-id" $@62 ":" "constant string" -#line 1585 "dhcp4_parser.yy" +#line 1586 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); @@ -2740,7 +2740,7 @@ namespace isc { namespace dhcp { break; case 430: // $@63: %empty -#line 1591 "dhcp4_parser.yy" +#line 1592 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2749,7 +2749,7 @@ namespace isc { namespace dhcp { break; case 431: // subnet_4o6_subnet: "4o6-subnet" $@63 ":" "constant string" -#line 1594 "dhcp4_parser.yy" +#line 1595 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); @@ -2759,7 +2759,7 @@ namespace isc { namespace dhcp { break; case 432: // $@64: %empty -#line 1600 "dhcp4_parser.yy" +#line 1601 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2768,7 +2768,7 @@ namespace isc { namespace dhcp { break; case 433: // interface: "interface" $@64 ":" "constant string" -#line 1603 "dhcp4_parser.yy" +#line 1604 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); @@ -2778,7 +2778,7 @@ namespace isc { namespace dhcp { break; case 434: // $@65: %empty -#line 1609 "dhcp4_parser.yy" +#line 1610 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -2787,7 +2787,7 @@ namespace isc { namespace dhcp { break; case 435: // client_class: "client-class" $@65 ":" "constant string" -#line 1612 "dhcp4_parser.yy" +#line 1613 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); @@ -2797,7 +2797,7 @@ namespace isc { namespace dhcp { break; case 436: // $@66: %empty -#line 1618 "dhcp4_parser.yy" +#line 1619 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2809,7 +2809,7 @@ namespace isc { namespace dhcp { break; case 437: // require_client_classes: "require-client-classes" $@66 ":" list_strings -#line 1624 "dhcp4_parser.yy" +#line 1625 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2818,7 +2818,7 @@ namespace isc { namespace dhcp { break; case 438: // reservations_global: "reservations-global" ":" "boolean" -#line 1629 "dhcp4_parser.yy" +#line 1630 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2828,7 +2828,7 @@ namespace isc { namespace dhcp { break; case 439: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1635 "dhcp4_parser.yy" +#line 1636 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2838,7 +2838,7 @@ namespace isc { namespace dhcp { break; case 440: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1641 "dhcp4_parser.yy" +#line 1642 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -2848,7 +2848,7 @@ namespace isc { namespace dhcp { break; case 441: // $@67: %empty -#line 1647 "dhcp4_parser.yy" +#line 1648 "dhcp4_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); @@ -2857,7 +2857,7 @@ namespace isc { namespace dhcp { break; case 442: // reservation_mode: "reservation-mode" $@67 ":" hr_mode -#line 1650 "dhcp4_parser.yy" +#line 1651 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2866,31 +2866,31 @@ namespace isc { namespace dhcp { break; case 443: // hr_mode: "disabled" -#line 1655 "dhcp4_parser.yy" +#line 1656 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } #line 2872 "dhcp4_parser.cc" break; case 444: // hr_mode: "out-of-pool" -#line 1656 "dhcp4_parser.yy" +#line 1657 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } #line 2878 "dhcp4_parser.cc" break; case 445: // hr_mode: "global" -#line 1657 "dhcp4_parser.yy" +#line 1658 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } #line 2884 "dhcp4_parser.cc" break; case 446: // hr_mode: "all" -#line 1658 "dhcp4_parser.yy" +#line 1659 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } #line 2890 "dhcp4_parser.cc" break; case 447: // id: "id" ":" "integer" -#line 1661 "dhcp4_parser.yy" +#line 1662 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -2900,7 +2900,7 @@ namespace isc { namespace dhcp { break; case 448: // $@68: %empty -#line 1669 "dhcp4_parser.yy" +#line 1670 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2912,7 +2912,7 @@ namespace isc { namespace dhcp { break; case 449: // shared_networks: "shared-networks" $@68 ":" "[" shared_networks_content "]" -#line 1675 "dhcp4_parser.yy" +#line 1676 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2921,7 +2921,7 @@ namespace isc { namespace dhcp { break; case 454: // shared_networks_list: shared_networks_list "," -#line 1688 "dhcp4_parser.yy" +#line 1689 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2929,7 +2929,7 @@ namespace isc { namespace dhcp { break; case 455: // $@69: %empty -#line 1693 "dhcp4_parser.yy" +#line 1694 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2939,7 +2939,7 @@ namespace isc { namespace dhcp { break; case 456: // shared_network: "{" $@69 shared_network_params "}" -#line 1697 "dhcp4_parser.yy" +#line 1698 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -2947,7 +2947,7 @@ namespace isc { namespace dhcp { break; case 459: // shared_network_params: shared_network_params "," -#line 1703 "dhcp4_parser.yy" +#line 1704 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -2955,7 +2955,7 @@ namespace isc { namespace dhcp { break; case 501: // $@70: %empty -#line 1755 "dhcp4_parser.yy" +#line 1756 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2967,7 +2967,7 @@ namespace isc { namespace dhcp { break; case 502: // option_def_list: "option-def" $@70 ":" "[" option_def_list_content "]" -#line 1761 "dhcp4_parser.yy" +#line 1762 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2976,7 +2976,7 @@ namespace isc { namespace dhcp { break; case 503: // $@71: %empty -#line 1769 "dhcp4_parser.yy" +#line 1770 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); @@ -2985,7 +2985,7 @@ namespace isc { namespace dhcp { break; case 504: // sub_option_def_list: "{" $@71 option_def_list "}" -#line 1772 "dhcp4_parser.yy" +#line 1773 "dhcp4_parser.yy" { // parsing completed } @@ -2993,7 +2993,7 @@ namespace isc { namespace dhcp { break; case 509: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1784 "dhcp4_parser.yy" +#line 1785 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3001,7 +3001,7 @@ namespace isc { namespace dhcp { break; case 510: // $@72: %empty -#line 1791 "dhcp4_parser.yy" +#line 1792 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3011,7 +3011,7 @@ namespace isc { namespace dhcp { break; case 511: // option_def_entry: "{" $@72 option_def_params "}" -#line 1795 "dhcp4_parser.yy" +#line 1796 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3023,7 +3023,7 @@ namespace isc { namespace dhcp { break; case 512: // $@73: %empty -#line 1806 "dhcp4_parser.yy" +#line 1807 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3033,7 +3033,7 @@ namespace isc { namespace dhcp { break; case 513: // sub_option_def: "{" $@73 option_def_params "}" -#line 1810 "dhcp4_parser.yy" +#line 1811 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3045,7 +3045,7 @@ namespace isc { namespace dhcp { break; case 518: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1826 "dhcp4_parser.yy" +#line 1827 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3053,7 +3053,7 @@ namespace isc { namespace dhcp { break; case 530: // code: "code" ":" "integer" -#line 1845 "dhcp4_parser.yy" +#line 1846 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -3063,7 +3063,7 @@ namespace isc { namespace dhcp { break; case 532: // $@74: %empty -#line 1853 "dhcp4_parser.yy" +#line 1854 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3072,7 +3072,7 @@ namespace isc { namespace dhcp { break; case 533: // option_def_type: "type" $@74 ":" "constant string" -#line 1856 "dhcp4_parser.yy" +#line 1857 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); @@ -3082,7 +3082,7 @@ namespace isc { namespace dhcp { break; case 534: // $@75: %empty -#line 1862 "dhcp4_parser.yy" +#line 1863 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3091,7 +3091,7 @@ namespace isc { namespace dhcp { break; case 535: // option_def_record_types: "record-types" $@75 ":" "constant string" -#line 1865 "dhcp4_parser.yy" +#line 1866 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); @@ -3101,7 +3101,7 @@ namespace isc { namespace dhcp { break; case 536: // $@76: %empty -#line 1871 "dhcp4_parser.yy" +#line 1872 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3110,7 +3110,7 @@ namespace isc { namespace dhcp { break; case 537: // space: "space" $@76 ":" "constant string" -#line 1874 "dhcp4_parser.yy" +#line 1875 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); @@ -3120,7 +3120,7 @@ namespace isc { namespace dhcp { break; case 539: // $@77: %empty -#line 1882 "dhcp4_parser.yy" +#line 1883 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3129,7 +3129,7 @@ namespace isc { namespace dhcp { break; case 540: // option_def_encapsulate: "encapsulate" $@77 ":" "constant string" -#line 1885 "dhcp4_parser.yy" +#line 1886 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); @@ -3139,7 +3139,7 @@ namespace isc { namespace dhcp { break; case 541: // option_def_array: "array" ":" "boolean" -#line 1891 "dhcp4_parser.yy" +#line 1892 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3149,7 +3149,7 @@ namespace isc { namespace dhcp { break; case 542: // $@78: %empty -#line 1901 "dhcp4_parser.yy" +#line 1902 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3161,7 +3161,7 @@ namespace isc { namespace dhcp { break; case 543: // option_data_list: "option-data" $@78 ":" "[" option_data_list_content "]" -#line 1907 "dhcp4_parser.yy" +#line 1908 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3170,7 +3170,7 @@ namespace isc { namespace dhcp { break; case 548: // not_empty_option_data_list: not_empty_option_data_list "," -#line 1922 "dhcp4_parser.yy" +#line 1923 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3178,7 +3178,7 @@ namespace isc { namespace dhcp { break; case 549: // $@79: %empty -#line 1929 "dhcp4_parser.yy" +#line 1930 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3188,7 +3188,7 @@ namespace isc { namespace dhcp { break; case 550: // option_data_entry: "{" $@79 option_data_params "}" -#line 1933 "dhcp4_parser.yy" +#line 1934 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); @@ -3197,7 +3197,7 @@ namespace isc { namespace dhcp { break; case 551: // $@80: %empty -#line 1941 "dhcp4_parser.yy" +#line 1942 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3207,7 +3207,7 @@ namespace isc { namespace dhcp { break; case 552: // sub_option_data: "{" $@80 option_data_params "}" -#line 1945 "dhcp4_parser.yy" +#line 1946 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed @@ -3216,7 +3216,7 @@ namespace isc { namespace dhcp { break; case 557: // not_empty_option_data_params: not_empty_option_data_params "," -#line 1961 "dhcp4_parser.yy" +#line 1962 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3224,7 +3224,7 @@ namespace isc { namespace dhcp { break; case 568: // $@81: %empty -#line 1981 "dhcp4_parser.yy" +#line 1982 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3233,7 +3233,7 @@ namespace isc { namespace dhcp { break; case 569: // option_data_data: "data" $@81 ":" "constant string" -#line 1984 "dhcp4_parser.yy" +#line 1985 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); @@ -3243,7 +3243,7 @@ namespace isc { namespace dhcp { break; case 572: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1994 "dhcp4_parser.yy" +#line 1995 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3253,7 +3253,7 @@ namespace isc { namespace dhcp { break; case 573: // option_data_always_send: "always-send" ":" "boolean" -#line 2000 "dhcp4_parser.yy" +#line 2001 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3263,7 +3263,7 @@ namespace isc { namespace dhcp { break; case 574: // $@82: %empty -#line 2009 "dhcp4_parser.yy" +#line 2010 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3275,7 +3275,7 @@ namespace isc { namespace dhcp { break; case 575: // pools_list: "pools" $@82 ":" "[" pools_list_content "]" -#line 2015 "dhcp4_parser.yy" +#line 2016 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3284,7 +3284,7 @@ namespace isc { namespace dhcp { break; case 580: // not_empty_pools_list: not_empty_pools_list "," -#line 2028 "dhcp4_parser.yy" +#line 2029 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3292,7 +3292,7 @@ namespace isc { namespace dhcp { break; case 581: // $@83: %empty -#line 2033 "dhcp4_parser.yy" +#line 2034 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3302,7 +3302,7 @@ namespace isc { namespace dhcp { break; case 582: // pool_list_entry: "{" $@83 pool_params "}" -#line 2037 "dhcp4_parser.yy" +#line 2038 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3312,7 +3312,7 @@ namespace isc { namespace dhcp { break; case 583: // $@84: %empty -#line 2043 "dhcp4_parser.yy" +#line 2044 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3322,7 +3322,7 @@ namespace isc { namespace dhcp { break; case 584: // sub_pool4: "{" $@84 pool_params "}" -#line 2047 "dhcp4_parser.yy" +#line 2048 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3332,7 +3332,7 @@ namespace isc { namespace dhcp { break; case 587: // pool_params: pool_params "," -#line 2055 "dhcp4_parser.yy" +#line 2056 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3340,7 +3340,7 @@ namespace isc { namespace dhcp { break; case 595: // $@85: %empty -#line 2069 "dhcp4_parser.yy" +#line 2070 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3349,7 +3349,7 @@ namespace isc { namespace dhcp { break; case 596: // pool_entry: "pool" $@85 ":" "constant string" -#line 2072 "dhcp4_parser.yy" +#line 2073 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); @@ -3359,7 +3359,7 @@ namespace isc { namespace dhcp { break; case 597: // $@86: %empty -#line 2078 "dhcp4_parser.yy" +#line 2079 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3367,7 +3367,7 @@ namespace isc { namespace dhcp { break; case 598: // user_context: "user-context" $@86 ":" map_value -#line 2080 "dhcp4_parser.yy" +#line 2081 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3394,7 +3394,7 @@ namespace isc { namespace dhcp { break; case 599: // $@87: %empty -#line 2103 "dhcp4_parser.yy" +#line 2104 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3402,7 +3402,7 @@ namespace isc { namespace dhcp { break; case 600: // comment: "comment" $@87 ":" "constant string" -#line 2105 "dhcp4_parser.yy" +#line 2106 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3431,7 +3431,7 @@ namespace isc { namespace dhcp { break; case 601: // $@88: %empty -#line 2133 "dhcp4_parser.yy" +#line 2134 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3443,7 +3443,7 @@ namespace isc { namespace dhcp { break; case 602: // reservations: "reservations" $@88 ":" "[" reservations_list "]" -#line 2139 "dhcp4_parser.yy" +#line 2140 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3452,7 +3452,7 @@ namespace isc { namespace dhcp { break; case 607: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2150 "dhcp4_parser.yy" +#line 2151 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3460,7 +3460,7 @@ namespace isc { namespace dhcp { break; case 608: // $@89: %empty -#line 2155 "dhcp4_parser.yy" +#line 2156 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3470,7 +3470,7 @@ namespace isc { namespace dhcp { break; case 609: // reservation: "{" $@89 reservation_params "}" -#line 2159 "dhcp4_parser.yy" +#line 2160 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); @@ -3479,7 +3479,7 @@ namespace isc { namespace dhcp { break; case 610: // $@90: %empty -#line 2164 "dhcp4_parser.yy" +#line 2165 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3489,7 +3489,7 @@ namespace isc { namespace dhcp { break; case 611: // sub_reservation: "{" $@90 reservation_params "}" -#line 2168 "dhcp4_parser.yy" +#line 2169 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed @@ -3498,7 +3498,7 @@ namespace isc { namespace dhcp { break; case 616: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2179 "dhcp4_parser.yy" +#line 2180 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3506,7 +3506,7 @@ namespace isc { namespace dhcp { break; case 632: // $@91: %empty -#line 2202 "dhcp4_parser.yy" +#line 2203 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3515,7 +3515,7 @@ namespace isc { namespace dhcp { break; case 633: // next_server: "next-server" $@91 ":" "constant string" -#line 2205 "dhcp4_parser.yy" +#line 2206 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); @@ -3525,7 +3525,7 @@ namespace isc { namespace dhcp { break; case 634: // $@92: %empty -#line 2211 "dhcp4_parser.yy" +#line 2212 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3534,7 +3534,7 @@ namespace isc { namespace dhcp { break; case 635: // server_hostname: "server-hostname" $@92 ":" "constant string" -#line 2214 "dhcp4_parser.yy" +#line 2215 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); @@ -3544,7 +3544,7 @@ namespace isc { namespace dhcp { break; case 636: // $@93: %empty -#line 2220 "dhcp4_parser.yy" +#line 2221 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3553,7 +3553,7 @@ namespace isc { namespace dhcp { break; case 637: // boot_file_name: "boot-file-name" $@93 ":" "constant string" -#line 2223 "dhcp4_parser.yy" +#line 2224 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); @@ -3563,7 +3563,7 @@ namespace isc { namespace dhcp { break; case 638: // $@94: %empty -#line 2229 "dhcp4_parser.yy" +#line 2230 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3572,7 +3572,7 @@ namespace isc { namespace dhcp { break; case 639: // ip_address: "ip-address" $@94 ":" "constant string" -#line 2232 "dhcp4_parser.yy" +#line 2233 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); @@ -3582,7 +3582,7 @@ namespace isc { namespace dhcp { break; case 640: // $@95: %empty -#line 2238 "dhcp4_parser.yy" +#line 2239 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3594,7 +3594,7 @@ namespace isc { namespace dhcp { break; case 641: // ip_addresses: "ip-addresses" $@95 ":" list_strings -#line 2244 "dhcp4_parser.yy" +#line 2245 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3603,7 +3603,7 @@ namespace isc { namespace dhcp { break; case 642: // $@96: %empty -#line 2249 "dhcp4_parser.yy" +#line 2250 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3612,7 +3612,7 @@ namespace isc { namespace dhcp { break; case 643: // duid: "duid" $@96 ":" "constant string" -#line 2252 "dhcp4_parser.yy" +#line 2253 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); @@ -3622,7 +3622,7 @@ namespace isc { namespace dhcp { break; case 644: // $@97: %empty -#line 2258 "dhcp4_parser.yy" +#line 2259 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3631,7 +3631,7 @@ namespace isc { namespace dhcp { break; case 645: // hw_address: "hw-address" $@97 ":" "constant string" -#line 2261 "dhcp4_parser.yy" +#line 2262 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); @@ -3641,7 +3641,7 @@ namespace isc { namespace dhcp { break; case 646: // $@98: %empty -#line 2267 "dhcp4_parser.yy" +#line 2268 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3650,7 +3650,7 @@ namespace isc { namespace dhcp { break; case 647: // client_id_value: "client-id" $@98 ":" "constant string" -#line 2270 "dhcp4_parser.yy" +#line 2271 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); @@ -3660,7 +3660,7 @@ namespace isc { namespace dhcp { break; case 648: // $@99: %empty -#line 2276 "dhcp4_parser.yy" +#line 2277 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3669,7 +3669,7 @@ namespace isc { namespace dhcp { break; case 649: // circuit_id_value: "circuit-id" $@99 ":" "constant string" -#line 2279 "dhcp4_parser.yy" +#line 2280 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); @@ -3679,7 +3679,7 @@ namespace isc { namespace dhcp { break; case 650: // $@100: %empty -#line 2285 "dhcp4_parser.yy" +#line 2286 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3688,7 +3688,7 @@ namespace isc { namespace dhcp { break; case 651: // flex_id_value: "flex-id" $@100 ":" "constant string" -#line 2288 "dhcp4_parser.yy" +#line 2289 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); @@ -3698,7 +3698,7 @@ namespace isc { namespace dhcp { break; case 652: // $@101: %empty -#line 2294 "dhcp4_parser.yy" +#line 2295 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3707,7 +3707,7 @@ namespace isc { namespace dhcp { break; case 653: // hostname: "hostname" $@101 ":" "constant string" -#line 2297 "dhcp4_parser.yy" +#line 2298 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); @@ -3717,7 +3717,7 @@ namespace isc { namespace dhcp { break; case 654: // $@102: %empty -#line 2303 "dhcp4_parser.yy" +#line 2304 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3729,7 +3729,7 @@ namespace isc { namespace dhcp { break; case 655: // reservation_client_classes: "client-classes" $@102 ":" list_strings -#line 2309 "dhcp4_parser.yy" +#line 2310 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3738,7 +3738,7 @@ namespace isc { namespace dhcp { break; case 656: // $@103: %empty -#line 2317 "dhcp4_parser.yy" +#line 2318 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3750,7 +3750,7 @@ namespace isc { namespace dhcp { break; case 657: // relay: "relay" $@103 ":" "{" relay_map "}" -#line 2323 "dhcp4_parser.yy" +#line 2324 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3759,7 +3759,7 @@ namespace isc { namespace dhcp { break; case 660: // $@104: %empty -#line 2335 "dhcp4_parser.yy" +#line 2336 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3771,7 +3771,7 @@ namespace isc { namespace dhcp { break; case 661: // client_classes: "client-classes" $@104 ":" "[" client_classes_list "]" -#line 2341 "dhcp4_parser.yy" +#line 2342 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3780,7 +3780,7 @@ namespace isc { namespace dhcp { break; case 664: // client_classes_list: client_classes_list "," -#line 2348 "dhcp4_parser.yy" +#line 2349 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3788,7 +3788,7 @@ namespace isc { namespace dhcp { break; case 665: // $@105: %empty -#line 2353 "dhcp4_parser.yy" +#line 2354 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3798,7 +3798,7 @@ namespace isc { namespace dhcp { break; case 666: // client_class_entry: "{" $@105 client_class_params "}" -#line 2357 "dhcp4_parser.yy" +#line 2358 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3808,7 +3808,7 @@ namespace isc { namespace dhcp { break; case 671: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2369 "dhcp4_parser.yy" +#line 2370 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3816,7 +3816,7 @@ namespace isc { namespace dhcp { break; case 688: // $@106: %empty -#line 2393 "dhcp4_parser.yy" +#line 2394 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3825,7 +3825,7 @@ namespace isc { namespace dhcp { break; case 689: // client_class_test: "test" $@106 ":" "constant string" -#line 2396 "dhcp4_parser.yy" +#line 2397 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); @@ -3835,7 +3835,7 @@ namespace isc { namespace dhcp { break; case 690: // $@107: %empty -#line 2402 "dhcp4_parser.yy" +#line 2403 "dhcp4_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3844,7 +3844,7 @@ namespace isc { namespace dhcp { break; case 691: // client_class_template_test: "template-test" $@107 ":" "constant string" -#line 2405 "dhcp4_parser.yy" +#line 2406 "dhcp4_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); @@ -3854,7 +3854,7 @@ namespace isc { namespace dhcp { break; case 692: // only_if_required: "only-if-required" ":" "boolean" -#line 2411 "dhcp4_parser.yy" +#line 2412 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3864,7 +3864,7 @@ namespace isc { namespace dhcp { break; case 693: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2419 "dhcp4_parser.yy" +#line 2420 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -3874,7 +3874,7 @@ namespace isc { namespace dhcp { break; case 694: // $@108: %empty -#line 2427 "dhcp4_parser.yy" +#line 2428 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3886,7 +3886,7 @@ namespace isc { namespace dhcp { break; case 695: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" -#line 2433 "dhcp4_parser.yy" +#line 2434 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3895,7 +3895,7 @@ namespace isc { namespace dhcp { break; case 698: // control_socket_params: control_socket_params "," -#line 2440 "dhcp4_parser.yy" +#line 2441 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3903,7 +3903,7 @@ namespace isc { namespace dhcp { break; case 704: // $@109: %empty -#line 2452 "dhcp4_parser.yy" +#line 2453 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3912,7 +3912,7 @@ namespace isc { namespace dhcp { break; case 705: // control_socket_type: "socket-type" $@109 ":" "constant string" -#line 2455 "dhcp4_parser.yy" +#line 2456 "dhcp4_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); @@ -3922,7 +3922,7 @@ namespace isc { namespace dhcp { break; case 706: // $@110: %empty -#line 2461 "dhcp4_parser.yy" +#line 2462 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3931,7 +3931,7 @@ namespace isc { namespace dhcp { break; case 707: // control_socket_name: "socket-name" $@110 ":" "constant string" -#line 2464 "dhcp4_parser.yy" +#line 2465 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); @@ -3941,7 +3941,7 @@ namespace isc { namespace dhcp { break; case 708: // $@111: %empty -#line 2473 "dhcp4_parser.yy" +#line 2474 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3953,7 +3953,7 @@ namespace isc { namespace dhcp { break; case 709: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" -#line 2479 "dhcp4_parser.yy" +#line 2480 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -3964,7 +3964,7 @@ namespace isc { namespace dhcp { break; case 712: // queue_control_params: queue_control_params "," -#line 2488 "dhcp4_parser.yy" +#line 2489 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -3972,7 +3972,7 @@ namespace isc { namespace dhcp { break; case 719: // enable_queue: "enable-queue" ":" "boolean" -#line 2501 "dhcp4_parser.yy" +#line 2502 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -3982,7 +3982,7 @@ namespace isc { namespace dhcp { break; case 720: // $@112: %empty -#line 2507 "dhcp4_parser.yy" +#line 2508 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -3991,7 +3991,7 @@ namespace isc { namespace dhcp { break; case 721: // queue_type: "queue-type" $@112 ":" "constant string" -#line 2510 "dhcp4_parser.yy" +#line 2511 "dhcp4_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); @@ -4001,7 +4001,7 @@ namespace isc { namespace dhcp { break; case 722: // capacity: "capacity" ":" "integer" -#line 2516 "dhcp4_parser.yy" +#line 2517 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4011,7 +4011,7 @@ namespace isc { namespace dhcp { break; case 723: // $@113: %empty -#line 2522 "dhcp4_parser.yy" +#line 2523 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4020,7 +4020,7 @@ namespace isc { namespace dhcp { break; case 724: // arbitrary_map_entry: "constant string" $@113 ":" value -#line 2525 "dhcp4_parser.yy" +#line 2526 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -4029,7 +4029,7 @@ namespace isc { namespace dhcp { break; case 725: // $@114: %empty -#line 2532 "dhcp4_parser.yy" +#line 2533 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4041,7 +4041,7 @@ namespace isc { namespace dhcp { break; case 726: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" -#line 2538 "dhcp4_parser.yy" +#line 2539 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -4052,7 +4052,7 @@ namespace isc { namespace dhcp { break; case 727: // $@115: %empty -#line 2545 "dhcp4_parser.yy" +#line 2546 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4062,7 +4062,7 @@ namespace isc { namespace dhcp { break; case 728: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" -#line 2549 "dhcp4_parser.yy" +#line 2550 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -4072,7 +4072,7 @@ namespace isc { namespace dhcp { break; case 731: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2557 "dhcp4_parser.yy" +#line 2558 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4080,7 +4080,7 @@ namespace isc { namespace dhcp { break; case 750: // enable_updates: "enable-updates" ":" "boolean" -#line 2582 "dhcp4_parser.yy" +#line 2583 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4090,7 +4090,7 @@ namespace isc { namespace dhcp { break; case 751: // $@116: %empty -#line 2588 "dhcp4_parser.yy" +#line 2589 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4099,7 +4099,7 @@ namespace isc { namespace dhcp { break; case 752: // server_ip: "server-ip" $@116 ":" "constant string" -#line 2591 "dhcp4_parser.yy" +#line 2592 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); @@ -4109,7 +4109,7 @@ namespace isc { namespace dhcp { break; case 753: // server_port: "server-port" ":" "integer" -#line 2597 "dhcp4_parser.yy" +#line 2598 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4119,7 +4119,7 @@ namespace isc { namespace dhcp { break; case 754: // $@117: %empty -#line 2603 "dhcp4_parser.yy" +#line 2604 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4128,7 +4128,7 @@ namespace isc { namespace dhcp { break; case 755: // sender_ip: "sender-ip" $@117 ":" "constant string" -#line 2606 "dhcp4_parser.yy" +#line 2607 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); @@ -4138,7 +4138,7 @@ namespace isc { namespace dhcp { break; case 756: // sender_port: "sender-port" ":" "integer" -#line 2612 "dhcp4_parser.yy" +#line 2613 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4148,7 +4148,7 @@ namespace isc { namespace dhcp { break; case 757: // max_queue_size: "max-queue-size" ":" "integer" -#line 2618 "dhcp4_parser.yy" +#line 2619 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4158,7 +4158,7 @@ namespace isc { namespace dhcp { break; case 758: // $@118: %empty -#line 2624 "dhcp4_parser.yy" +#line 2625 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); @@ -4167,7 +4167,7 @@ namespace isc { namespace dhcp { break; case 759: // ncr_protocol: "ncr-protocol" $@118 ":" ncr_protocol_value -#line 2627 "dhcp4_parser.yy" +#line 2628 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -4176,19 +4176,19 @@ namespace isc { namespace dhcp { break; case 760: // ncr_protocol_value: "udp" -#line 2633 "dhcp4_parser.yy" +#line 2634 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } #line 4182 "dhcp4_parser.cc" break; case 761: // ncr_protocol_value: "tcp" -#line 2634 "dhcp4_parser.yy" +#line 2635 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } #line 4188 "dhcp4_parser.cc" break; case 762: // $@119: %empty -#line 2637 "dhcp4_parser.yy" +#line 2638 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); @@ -4197,7 +4197,7 @@ namespace isc { namespace dhcp { break; case 763: // ncr_format: "ncr-format" $@119 ":" "JSON" -#line 2640 "dhcp4_parser.yy" +#line 2641 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); @@ -4207,7 +4207,7 @@ namespace isc { namespace dhcp { break; case 764: // $@120: %empty -#line 2647 "dhcp4_parser.yy" +#line 2648 "dhcp4_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4216,7 +4216,7 @@ namespace isc { namespace dhcp { break; case 765: // dep_qualifying_suffix: "qualifying-suffix" $@120 ":" "constant string" -#line 2650 "dhcp4_parser.yy" +#line 2651 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); @@ -4226,7 +4226,7 @@ namespace isc { namespace dhcp { break; case 766: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2657 "dhcp4_parser.yy" +#line 2658 "dhcp4_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4236,7 +4236,7 @@ namespace isc { namespace dhcp { break; case 767: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2664 "dhcp4_parser.yy" +#line 2665 "dhcp4_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4246,7 +4246,7 @@ namespace isc { namespace dhcp { break; case 768: // $@121: %empty -#line 2671 "dhcp4_parser.yy" +#line 2672 "dhcp4_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); @@ -4255,7 +4255,7 @@ namespace isc { namespace dhcp { break; case 769: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value -#line 2674 "dhcp4_parser.yy" +#line 2675 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -4264,7 +4264,7 @@ namespace isc { namespace dhcp { break; case 770: // $@122: %empty -#line 2680 "dhcp4_parser.yy" +#line 2681 "dhcp4_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4273,7 +4273,7 @@ namespace isc { namespace dhcp { break; case 771: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string" -#line 2683 "dhcp4_parser.yy" +#line 2684 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); @@ -4283,7 +4283,7 @@ namespace isc { namespace dhcp { break; case 772: // $@123: %empty -#line 2690 "dhcp4_parser.yy" +#line 2691 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4292,7 +4292,7 @@ namespace isc { namespace dhcp { break; case 773: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string" -#line 2693 "dhcp4_parser.yy" +#line 2694 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -4302,7 +4302,7 @@ namespace isc { namespace dhcp { break; case 774: // $@124: %empty -#line 2700 "dhcp4_parser.yy" +#line 2701 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4311,7 +4311,7 @@ namespace isc { namespace dhcp { break; case 775: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string" -#line 2703 "dhcp4_parser.yy" +#line 2704 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -4321,7 +4321,7 @@ namespace isc { namespace dhcp { break; case 776: // $@125: %empty -#line 2712 "dhcp4_parser.yy" +#line 2713 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4333,7 +4333,7 @@ namespace isc { namespace dhcp { break; case 777: // config_control: "config-control" $@125 ":" "{" config_control_params "}" -#line 2718 "dhcp4_parser.yy" +#line 2719 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); @@ -4343,7 +4343,7 @@ namespace isc { namespace dhcp { break; case 778: // $@126: %empty -#line 2724 "dhcp4_parser.yy" +#line 2725 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4353,7 +4353,7 @@ namespace isc { namespace dhcp { break; case 779: // sub_config_control: "{" $@126 config_control_params "}" -#line 2728 "dhcp4_parser.yy" +#line 2729 "dhcp4_parser.yy" { // No config_control params are required // parsing completed @@ -4362,7 +4362,7 @@ namespace isc { namespace dhcp { break; case 782: // config_control_params: config_control_params "," -#line 2736 "dhcp4_parser.yy" +#line 2737 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4370,7 +4370,7 @@ namespace isc { namespace dhcp { break; case 785: // $@127: %empty -#line 2746 "dhcp4_parser.yy" +#line 2747 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4382,7 +4382,7 @@ namespace isc { namespace dhcp { break; case 786: // config_databases: "config-databases" $@127 ":" "[" database_list "]" -#line 2752 "dhcp4_parser.yy" +#line 2753 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4391,7 +4391,7 @@ namespace isc { namespace dhcp { break; case 787: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2757 "dhcp4_parser.yy" +#line 2758 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4401,7 +4401,7 @@ namespace isc { namespace dhcp { break; case 788: // $@128: %empty -#line 2765 "dhcp4_parser.yy" +#line 2766 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4413,7 +4413,7 @@ namespace isc { namespace dhcp { break; case 789: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" -#line 2771 "dhcp4_parser.yy" +#line 2772 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4422,7 +4422,7 @@ namespace isc { namespace dhcp { break; case 792: // loggers_entries: loggers_entries "," -#line 2780 "dhcp4_parser.yy" +#line 2781 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4430,7 +4430,7 @@ namespace isc { namespace dhcp { break; case 793: // $@129: %empty -#line 2786 "dhcp4_parser.yy" +#line 2787 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); @@ -4440,7 +4440,7 @@ namespace isc { namespace dhcp { break; case 794: // logger_entry: "{" $@129 logger_params "}" -#line 2790 "dhcp4_parser.yy" +#line 2791 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -4448,7 +4448,7 @@ namespace isc { namespace dhcp { break; case 797: // logger_params: logger_params "," -#line 2796 "dhcp4_parser.yy" +#line 2797 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4456,7 +4456,7 @@ namespace isc { namespace dhcp { break; case 805: // debuglevel: "debuglevel" ":" "integer" -#line 2810 "dhcp4_parser.yy" +#line 2811 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4466,7 +4466,7 @@ namespace isc { namespace dhcp { break; case 806: // $@130: %empty -#line 2816 "dhcp4_parser.yy" +#line 2817 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4475,7 +4475,7 @@ namespace isc { namespace dhcp { break; case 807: // severity: "severity" $@130 ":" "constant string" -#line 2819 "dhcp4_parser.yy" +#line 2820 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); @@ -4485,7 +4485,7 @@ namespace isc { namespace dhcp { break; case 808: // $@131: %empty -#line 2825 "dhcp4_parser.yy" +#line 2826 "dhcp4_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4497,7 +4497,7 @@ namespace isc { namespace dhcp { break; case 809: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]" -#line 2831 "dhcp4_parser.yy" +#line 2832 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4506,7 +4506,7 @@ namespace isc { namespace dhcp { break; case 812: // output_options_list_content: output_options_list_content "," -#line 2838 "dhcp4_parser.yy" +#line 2839 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4514,7 +4514,7 @@ namespace isc { namespace dhcp { break; case 813: // $@132: %empty -#line 2843 "dhcp4_parser.yy" +#line 2844 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -4524,7 +4524,7 @@ namespace isc { namespace dhcp { break; case 814: // output_entry: "{" $@132 output_params_list "}" -#line 2847 "dhcp4_parser.yy" +#line 2848 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -4532,7 +4532,7 @@ namespace isc { namespace dhcp { break; case 817: // output_params_list: output_params_list "," -#line 2853 "dhcp4_parser.yy" +#line 2854 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -4540,7 +4540,7 @@ namespace isc { namespace dhcp { break; case 823: // $@133: %empty -#line 2865 "dhcp4_parser.yy" +#line 2866 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4549,7 +4549,7 @@ namespace isc { namespace dhcp { break; case 824: // output: "output" $@133 ":" "constant string" -#line 2868 "dhcp4_parser.yy" +#line 2869 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); @@ -4559,7 +4559,7 @@ namespace isc { namespace dhcp { break; case 825: // flush: "flush" ":" "boolean" -#line 2874 "dhcp4_parser.yy" +#line 2875 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4569,7 +4569,7 @@ namespace isc { namespace dhcp { break; case 826: // maxsize: "maxsize" ":" "integer" -#line 2880 "dhcp4_parser.yy" +#line 2881 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4579,7 +4579,7 @@ namespace isc { namespace dhcp { break; case 827: // maxver: "maxver" ":" "integer" -#line 2886 "dhcp4_parser.yy" +#line 2887 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -4589,7 +4589,7 @@ namespace isc { namespace dhcp { break; case 828: // $@134: %empty -#line 2892 "dhcp4_parser.yy" +#line 2893 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -4598,7 +4598,7 @@ namespace isc { namespace dhcp { break; case 829: // pattern: "pattern" $@134 ":" "constant string" -#line 2895 "dhcp4_parser.yy" +#line 2896 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); @@ -4608,7 +4608,7 @@ namespace isc { namespace dhcp { break; case 830: // $@135: %empty -#line 2901 "dhcp4_parser.yy" +#line 2902 "dhcp4_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4620,7 +4620,7 @@ namespace isc { namespace dhcp { break; case 831: // compatibility: "compatibility" $@135 ":" "{" compatibility_params "}" -#line 2907 "dhcp4_parser.yy" +#line 2908 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -4629,15 +4629,15 @@ namespace isc { namespace dhcp { break; case 834: // compatibility_params: compatibility_params "," -#line 2914 "dhcp4_parser.yy" +#line 2915 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } #line 4637 "dhcp4_parser.cc" break; - case 838: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 2924 "dhcp4_parser.yy" + case 839: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 2926 "dhcp4_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4646,8 +4646,8 @@ namespace isc { namespace dhcp { #line 4647 "dhcp4_parser.cc" break; - case 839: // ignore-rai-link-selection: "ignore-rai-link-selection" ":" "boolean" -#line 2930 "dhcp4_parser.yy" + case 840: // ignore-rai-link-selection: "ignore-rai-link-selection" ":" "boolean" +#line 2932 "dhcp4_parser.yy" { ctx.unique("ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -4656,8 +4656,18 @@ namespace isc { namespace dhcp { #line 4657 "dhcp4_parser.cc" break; + case 841: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" +#line 2938 "dhcp4_parser.yy" + { + ctx.unique("exclude-first-last-24", ctx.loc2pos(yystack_[2].location)); + ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("exclude-first-last-24", b); +} +#line 4667 "dhcp4_parser.cc" + break; + -#line 4661 "dhcp4_parser.cc" +#line 4671 "dhcp4_parser.cc" default: break; @@ -5009,142 +5019,143 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -989; + const short Dhcp4Parser::yypact_ninf_ = -990; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 417, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 22, 44, 28, 62, 65, 67, - 78, 88, 127, 131, 146, 160, 191, 238, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 44, -159, 54, 140, 133, 679, - -6, 236, 175, 85, 178, -101, 432, 32, -989, 139, - 286, 293, 299, 305, -989, 49, -989, -989, -989, -989, - 313, 314, 321, -989, -989, -989, -989, -989, -989, 334, - 335, 346, 366, 375, 376, 377, 378, 379, 380, 381, - -989, 382, 384, 385, 386, 387, -989, -989, -989, 406, - 408, 414, -989, -989, -989, 415, -989, -989, -989, -989, - -989, 416, 418, 419, -989, -989, -989, -989, -989, 420, - -989, -989, -989, -989, -989, -989, 421, 422, 423, -989, - -989, 425, -989, 51, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, 426, 427, 428, 429, -989, 72, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 430, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, 107, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, 118, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, 413, 433, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, 431, -989, -989, 434, -989, -989, -989, 436, - -989, -989, 435, 438, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, 440, 442, -989, - -989, -989, -989, 443, 439, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, 125, -989, -989, - -989, 444, -989, -989, 446, -989, 449, 451, -989, -989, - 452, 453, -989, -989, -989, -989, -989, -989, -989, 128, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, 454, 138, -989, - -989, -989, -989, 44, 44, -989, 226, 456, -989, -989, - 458, 461, 462, 255, 257, 258, 468, 472, 476, 477, - 479, 480, 277, 278, 281, 282, 284, 285, 291, 295, - 300, 289, 302, 504, 304, 308, 303, 307, 309, 505, - 506, 518, 316, 317, 319, 522, 526, 528, 324, 529, - 537, 540, 541, 543, 336, 339, 340, 545, 546, 551, - 553, 556, 351, 561, 563, 564, 566, 569, 574, 368, - 369, 371, 581, 582, -989, 140, -989, 586, 587, 601, - 394, 395, 398, 399, 133, -989, 606, 622, 623, 624, - 625, 626, 424, 627, 628, 629, 679, -989, 631, -6, - -989, 632, 633, 635, 638, 639, 640, 641, 642, -989, - 236, -989, 643, 644, 441, 645, 646, 648, 445, -989, - 85, 650, 447, 448, -989, 178, 651, 652, -25, -989, - 455, 654, 657, 459, 659, 460, 463, 660, 661, 465, - 467, 662, 664, 667, 668, 432, -989, 670, 470, 32, - -989, -989, -989, 677, 676, 678, 680, 681, -989, -989, - -989, 475, 481, 482, 682, 685, 688, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, 485, -989, - -989, -989, -989, -989, -94, 486, 487, -989, -989, -989, - 696, 697, 698, -989, 496, 701, 700, 499, 149, -989, - -989, -989, 709, 710, 711, 712, 713, -989, 714, 715, - 716, 717, 509, 510, -989, -989, -989, 720, 719, -989, - 722, 183, 209, -989, -989, -989, -989, -989, 519, 520, - 521, 726, 523, 524, -989, 722, 525, 728, -989, 527, - -989, 722, 544, 547, 557, 565, 567, 568, 570, -989, - 571, 572, -989, 576, 583, 584, -989, -989, 585, -989, - -989, -989, 590, 700, -989, -989, 591, 593, -989, 594, - -989, -989, 14, 512, -989, -989, -94, 595, 598, 599, - -989, 732, -989, -989, 44, 140, 32, 133, 254, -989, - -989, -989, 354, 354, 731, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 747, 748, 763, -989, 765, -989, - -989, -989, -989, -989, -989, -989, -989, 31, 766, 768, - 771, 170, -46, -10, 202, 432, -989, -989, 776, -154, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, 788, -989, -989, -989, -989, 101, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, 731, -989, 180, 186, 187, - -989, -989, 188, -989, -989, -989, -989, -989, -989, -989, - 805, 806, 807, 808, 810, 811, 812, 813, 814, 815, - -989, 816, -989, -989, -989, -989, -989, 194, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - 225, -989, 817, 818, -989, -989, 819, 821, -989, -989, - 820, 824, -989, -989, 822, 826, -989, -989, 825, 827, - -989, -989, -989, -989, -989, -989, 57, -989, -989, -989, - -989, -989, -989, -989, 144, -989, -989, 828, 829, -989, - -989, 830, 832, -989, 833, 834, 835, 836, 837, 838, - 243, -989, -989, -989, -989, -989, -989, -989, 839, 840, - 841, -989, 275, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 276, -989, -989, -989, 842, -989, - 843, -989, -989, -989, 288, -989, -989, -989, -989, -989, - 290, -989, 162, -989, 844, 845, -989, 297, -989, -989, - -989, 613, -989, 846, 847, -989, -989, -989, -989, 848, - 849, -989, -989, -989, 850, 853, 254, -989, 856, 857, - 858, 859, 655, 621, 656, 658, 663, 665, 666, 669, - 671, 672, 860, 673, 863, 864, 865, 867, 354, -989, - -989, 354, -989, 731, 679, -989, 747, 85, -989, 748, - 178, -989, 763, 1266, -989, 765, 31, -989, 270, 766, - -989, 236, -989, 768, -101, -989, 771, 674, 675, 683, - 684, 686, 687, 170, -989, 689, 690, 692, -46, -989, - 868, 870, -10, -989, 691, 873, 694, 874, 202, -989, - -989, 142, 776, -989, 693, 695, -154, -989, -989, 880, - 877, -6, -989, 788, 883, -989, -989, 699, 702, -989, - 315, 703, 704, 705, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 318, -989, 706, 707, 708, 723, - -989, 298, -989, 323, -989, 881, -989, 882, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, 329, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, 887, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, 884, - 892, -989, -989, -989, -989, -989, -989, 890, -989, 337, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, 734, 741, -989, -989, 753, -989, 44, -989, - -989, 895, -989, -989, -989, -989, -989, 338, -989, -989, - -989, -989, -989, -989, -989, -989, -989, 760, 344, -989, - 722, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, 1266, -989, 902, 905, 745, -989, 270, -989, - -989, -989, -989, -989, -989, 906, 718, 914, 142, -989, - -989, -989, -989, -989, 761, 780, -989, -989, 915, -989, - 783, -989, -989, -989, 912, -989, -989, 176, -989, -99, - 912, -989, -989, 917, 918, 919, -989, 345, -989, -989, - -989, -989, -989, -989, -989, 920, 787, 721, 725, 921, - -99, -989, 795, -989, -989, -989, 798, -989, -989, -989 + 421, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, 51, 23, 59, 63, 69, 81, + 92, 96, 107, 121, 170, 269, 280, 281, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, 23, -161, 64, 137, 85, 638, + 216, 233, -34, 83, 175, -83, 437, 22, -990, 75, + 123, 88, 145, 247, -990, 77, -990, -990, -990, -990, + 286, 293, 294, -990, -990, -990, -990, -990, -990, 309, + 311, 322, 323, 324, 331, 332, 333, 345, 352, 363, + -990, 365, 366, 382, 383, 403, -990, -990, -990, 404, + 405, 415, -990, -990, -990, 419, -990, -990, -990, -990, + -990, 420, 423, 425, -990, -990, -990, -990, -990, 426, + -990, -990, -990, -990, -990, -990, 427, 428, 429, -990, + -990, 430, -990, 94, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, 431, 432, 434, 435, -990, 112, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, 436, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, 135, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, 146, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, 347, 350, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, 372, -990, -990, 438, -990, -990, -990, 441, + -990, -990, 410, 422, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, 442, 443, -990, + -990, -990, -990, 433, 445, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, 149, -990, -990, + -990, 446, -990, -990, 447, -990, 449, 452, -990, -990, + 453, 454, -990, -990, -990, -990, -990, -990, -990, 152, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, 455, 172, -990, + -990, -990, -990, 23, 23, -990, 250, 457, -990, -990, + 460, 462, 464, 256, 258, 259, 471, 472, 475, 476, + 479, 481, 276, 277, 279, 282, 284, 288, 292, 295, + 297, 300, 303, 488, 306, 310, 307, 312, 313, 490, + 501, 502, 314, 315, 317, 519, 520, 527, 327, 529, + 530, 533, 535, 542, 334, 335, 337, 545, 547, 550, + 551, 552, 346, 558, 563, 564, 565, 569, 570, 362, + 367, 377, 575, 581, -990, 137, -990, 582, 583, 587, + 379, 397, 384, 385, 85, -990, 607, 608, 609, 610, + 611, 627, 424, 628, 629, 630, 638, -990, 632, 216, + -990, 633, 635, 637, 639, 640, 641, 642, 644, -990, + 233, -990, 645, 646, 440, 649, 650, 651, 444, -990, + 83, 652, 448, 450, -990, 175, 655, 656, -76, -990, + 451, 658, 661, 456, 662, 463, 468, 669, 676, 470, + 473, 677, 680, 681, 683, 437, -990, 684, 478, 22, + -990, -990, -990, 686, 685, 690, 691, 692, -990, -990, + -990, 491, 515, 521, 693, 722, 727, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, 523, -990, + -990, -990, -990, -990, -117, 524, 525, -990, -990, -990, + 731, 732, 733, -990, 532, 734, 737, 541, 84, -990, + -990, -990, 735, 747, 748, 749, 751, -990, 752, 754, + 755, 756, 556, 557, -990, -990, -990, 763, 762, -990, + 765, 122, 232, -990, -990, -990, -990, -990, 561, 566, + 567, 768, 568, 571, -990, 765, 572, 767, -990, 573, + -990, 765, 574, 576, 577, 578, 579, 580, 584, -990, + 585, 586, -990, 588, 589, 590, -990, -990, 591, -990, + -990, -990, 592, 737, -990, -990, 593, 594, -990, 595, + -990, -990, 15, 517, -990, -990, -117, 596, 597, 598, + -990, 770, -990, -990, 23, 137, 22, 85, 215, -990, + -990, -990, 351, 351, 772, -990, -990, -990, -990, -990, + -990, -990, -990, -990, 773, 778, 784, -990, 785, -990, + -990, -990, -990, -990, -990, -990, -990, 181, 786, 790, + 802, 161, -60, -21, 38, 437, -990, -990, 803, -127, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, 804, -990, -990, -990, -990, 127, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, 772, -990, 222, 223, 224, + -990, -990, 243, -990, -990, -990, -990, -990, -990, -990, + 808, 809, 810, 811, 812, 815, 816, 817, 818, 819, + -990, 820, -990, -990, -990, -990, -990, 283, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + 326, -990, 636, 822, -990, -990, 821, 823, -990, -990, + 824, 825, -990, -990, 826, 828, -990, -990, 827, 831, + -990, -990, -990, -990, -990, -990, 39, -990, -990, -990, + -990, -990, -990, -990, 119, -990, -990, 829, 833, -990, + -990, 832, 834, -990, 835, 836, 837, 838, 839, 840, + 336, -990, -990, -990, -990, -990, -990, -990, 841, 842, + 843, -990, 340, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, 342, -990, -990, -990, 845, -990, + 846, -990, -990, -990, 343, -990, -990, -990, -990, -990, + 349, -990, 158, -990, 847, 848, 849, -990, 370, -990, + -990, -990, -990, 619, -990, 850, 851, -990, -990, -990, + -990, 852, 853, -990, -990, -990, 854, 857, 215, -990, + 858, 859, 860, 861, 657, 653, 659, 654, 660, 663, + 664, 665, 666, 667, 865, 668, 868, 869, 876, 877, + 351, -990, -990, 351, -990, 772, 638, -990, 773, 83, + -990, 778, 175, -990, 784, 1275, -990, 785, 181, -990, + 267, 786, -990, 233, -990, 790, -83, -990, 802, 671, + 672, 673, 674, 675, 678, 161, -990, 679, 682, 687, + -60, -990, 883, 884, -21, -990, 688, 886, 689, 887, + 38, -990, -990, -29, 803, -990, 694, 695, 696, -127, + -990, -990, 888, 892, 216, -990, 804, 893, -990, -990, + 647, 700, -990, 220, 701, 702, 703, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, 129, -990, 704, + 705, 706, 707, -990, 373, -990, 374, -990, 891, -990, + 894, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, 376, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, 899, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, 896, 902, -990, -990, -990, -990, -990, -990, + 898, -990, 380, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, 708, 709, -990, -990, 710, + -990, 23, -990, -990, 917, -990, -990, -990, -990, -990, + 412, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, 712, 413, -990, 765, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, 1275, -990, 919, 920, + 713, -990, 267, -990, -990, -990, -990, -990, -990, 921, + 716, 924, -29, -990, -990, -990, -990, -990, 720, 721, + -990, -990, 928, -990, 724, -990, -990, -990, 889, -990, + -990, 159, -990, 89, 889, -990, -990, 932, 933, 940, + -990, 414, -990, -990, -990, -990, -990, -990, -990, 948, + 741, 744, 746, 954, 89, -990, 750, -990, -990, -990, + 760, -990, -990, -990 }; const short @@ -5244,90 +5255,91 @@ namespace isc { namespace dhcp { 0, 322, 0, 314, 317, 318, 319, 320, 321, 704, 706, 703, 701, 702, 0, 696, 699, 700, 0, 720, 0, 723, 716, 717, 0, 710, 713, 714, 715, 718, - 0, 793, 0, 790, 0, 0, 837, 0, 832, 835, - 836, 53, 581, 0, 577, 578, 640, 658, 659, 0, - 0, 62, 777, 181, 0, 0, 217, 214, 0, 0, + 0, 793, 0, 790, 0, 0, 0, 838, 0, 832, + 835, 836, 837, 53, 581, 0, 577, 578, 640, 658, + 659, 0, 0, 62, 777, 181, 0, 0, 217, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 237, 212, - 225, 0, 227, 232, 0, 365, 370, 514, 502, 509, - 553, 543, 548, 0, 449, 454, 301, 298, 667, 664, - 661, 612, 602, 607, 0, 327, 332, 0, 0, 0, - 0, 0, 0, 351, 348, 0, 0, 0, 316, 313, - 0, 0, 698, 695, 0, 0, 0, 0, 712, 709, - 726, 0, 792, 789, 0, 0, 834, 831, 55, 0, - 54, 0, 575, 580, 0, 657, 786, 0, 0, 216, - 0, 0, 0, 0, 271, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 0, 288, 0, 0, 0, 0, - 236, 0, 231, 0, 369, 0, 508, 0, 547, 500, - 478, 479, 480, 463, 464, 483, 484, 485, 486, 487, - 499, 466, 467, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 460, 461, 462, 476, 477, 473, - 474, 475, 472, 0, 457, 465, 481, 482, 468, 469, - 470, 471, 453, 300, 688, 690, 0, 683, 684, 685, - 686, 687, 676, 677, 681, 682, 678, 679, 680, 0, - 668, 669, 672, 673, 674, 675, 663, 0, 606, 0, - 331, 358, 359, 360, 361, 362, 363, 350, 323, 324, - 325, 315, 0, 0, 697, 719, 0, 722, 0, 711, - 808, 0, 806, 804, 798, 802, 803, 0, 795, 800, - 801, 799, 791, 838, 839, 833, 52, 57, 0, 579, - 0, 221, 223, 262, 263, 264, 261, 266, 268, 270, - 285, 286, 287, 284, 290, 292, 294, 296, 234, 372, - 511, 550, 459, 456, 0, 0, 0, 666, 671, 609, - 334, 705, 707, 721, 724, 0, 0, 0, 797, 794, - 56, 582, 641, 458, 0, 0, 692, 670, 0, 805, - 0, 796, 689, 691, 0, 807, 813, 0, 810, 0, - 812, 809, 823, 0, 0, 0, 828, 0, 815, 818, - 819, 820, 821, 822, 811, 0, 0, 0, 0, 0, - 817, 814, 0, 825, 826, 827, 0, 816, 824, 829 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 212, 225, 0, 227, 232, 0, 365, 370, 514, + 502, 509, 553, 543, 548, 0, 449, 454, 301, 298, + 667, 664, 661, 612, 602, 607, 0, 327, 332, 0, + 0, 0, 0, 0, 0, 351, 348, 0, 0, 0, + 316, 313, 0, 0, 698, 695, 0, 0, 0, 0, + 712, 709, 726, 0, 792, 789, 0, 0, 0, 834, + 831, 55, 0, 54, 0, 575, 580, 0, 657, 786, + 0, 0, 216, 0, 0, 0, 0, 271, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 0, 288, 0, + 0, 0, 0, 236, 0, 231, 0, 369, 0, 508, + 0, 547, 500, 478, 479, 480, 463, 464, 483, 484, + 485, 486, 487, 499, 466, 467, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 460, 461, 462, + 476, 477, 473, 474, 475, 472, 0, 457, 465, 481, + 482, 468, 469, 470, 471, 453, 300, 688, 690, 0, + 683, 684, 685, 686, 687, 676, 677, 681, 682, 678, + 679, 680, 0, 668, 669, 672, 673, 674, 675, 663, + 0, 606, 0, 331, 358, 359, 360, 361, 362, 363, + 350, 323, 324, 325, 315, 0, 0, 697, 719, 0, + 722, 0, 711, 808, 0, 806, 804, 798, 802, 803, + 0, 795, 800, 801, 799, 791, 839, 840, 841, 833, + 52, 57, 0, 579, 0, 221, 223, 262, 263, 264, + 261, 266, 268, 270, 285, 286, 287, 284, 290, 292, + 294, 296, 234, 372, 511, 550, 459, 456, 0, 0, + 0, 666, 671, 609, 334, 705, 707, 721, 724, 0, + 0, 0, 797, 794, 56, 582, 641, 458, 0, 0, + 692, 670, 0, 805, 0, 796, 689, 691, 0, 807, + 813, 0, 810, 0, 812, 809, 823, 0, 0, 0, + 828, 0, 815, 818, 819, 820, 821, 822, 811, 0, + 0, 0, 0, 0, 817, 814, 0, 825, 826, 827, + 0, 816, 824, 829 }; const short Dhcp4Parser::yypgoto_[] = { - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -51, -989, -589, -989, 168, - -989, -989, -989, -989, -989, -989, -625, -989, -989, -989, - -67, -989, -989, -989, -989, -989, -989, -989, 148, 514, - -26, 9, 19, -52, -30, -27, 7, 20, 27, 30, - -989, -989, -989, -989, 37, -989, -989, 38, 40, 42, - 43, 48, 50, -989, 230, 53, -989, 55, -989, 56, - 58, 60, -989, 61, -989, 63, -989, -989, -989, -989, - -989, -989, -989, 222, 471, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, 6, -989, -989, -989, -989, -989, - -989, -989, -989, 220, -989, 25, -989, -701, 80, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -63, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, 33, -989, -989, -989, -989, - -989, -989, -989, -989, -8, -989, -989, -989, -989, -989, - -989, -989, 10, -989, -989, -989, 59, 530, -989, -989, - -989, -989, -989, -989, -989, 47, -989, -989, -989, -989, - -989, -989, -988, -989, -989, -989, 79, -989, -989, -989, - 83, 573, -989, -989, -989, -989, -989, -989, -989, -989, - -984, -989, -65, -989, 69, -989, 66, 68, 71, 73, - -989, -989, -989, -989, -989, -989, -989, 74, -989, -989, - -142, -54, -989, -989, -989, -989, -989, 82, -989, -989, - -989, 86, -989, 542, -989, -41, -989, -989, -989, -989, - -989, -40, -989, -989, -989, -989, -989, -23, -989, -989, - -989, 84, -989, -989, -989, 87, -989, 539, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, 35, - -989, -989, -989, 34, 575, -989, -989, -45, -989, -3, - -989, -48, -989, -989, -989, 77, -989, -989, -989, 81, - -989, 577, -55, -989, -13, -989, 8, -989, 325, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -983, -989, -989, -989, - -989, -989, 89, -989, -989, -989, -135, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, 64, -989, -989, - -989, -989, -989, -989, -989, 70, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, 350, 532, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, -989, - -989, -989, -989, -989, -989, -989, -989, 393, 531, -989, - -989, -989, -989, -989, -989, 75, -989, -989, -137, -989, - -989, -989, -989, -989, -989, -158, -989, -989, -177, -989, - -989, -989, -989, -989, -989, -989, -989, -989, -989, 76, - -989, -989 + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -52, -990, -585, -990, 291, + -990, -990, -990, -990, -990, -990, -632, -990, -990, -990, + -67, -990, -990, -990, -990, -990, -990, -990, 150, 483, + 24, 25, 26, -54, -19, -4, 3, 36, 37, 42, + -990, -990, -990, -990, 43, -990, -990, 44, 47, 48, + 49, 50, 54, -990, 263, 55, -990, 60, -990, 61, + 62, 65, -990, 66, -990, 67, -990, -990, -990, -990, + -990, -990, -990, 264, 480, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, 27, -990, -990, -990, -990, -990, + -990, -990, -990, 195, -990, 8, -990, -699, 7, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -37, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, 9, -990, -990, -990, -990, + -990, -990, -990, -990, -16, -990, -990, -990, -990, -990, + -990, -990, 10, -990, -990, -990, 11, 477, -990, -990, + -990, -990, -990, -990, -990, 56, -990, -990, -990, -990, + -990, -990, -989, -990, -990, -990, 82, -990, -990, -990, + 79, 560, -990, -990, -990, -990, -990, -990, -990, -990, + -988, -990, -65, -990, 74, -990, 68, 72, 73, 78, + -990, -990, -990, -990, -990, -990, -990, 80, -990, -990, + -144, -62, -990, -990, -990, -990, -990, 87, -990, -990, + -990, 86, -990, 544, -990, -63, -990, -990, -990, -990, + -990, -61, -990, -990, -990, -990, -990, -17, -990, -990, + -990, 90, -990, -990, -990, 91, -990, 546, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, 30, + -990, -990, -990, 35, 599, -990, -990, -49, -990, -30, + -990, -51, -990, -990, -990, 93, -990, -990, -990, 97, + -990, 562, 2, -990, 6, -990, 13, -990, 329, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -979, -990, -990, -990, + -990, -990, 95, -990, -990, -990, -142, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, 70, -990, -990, + -990, -990, -990, -990, -990, 57, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, 353, 531, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, -990, + -990, -990, -990, -990, -990, -990, -990, 393, 534, -990, + -990, -990, -990, -990, -990, 58, -990, -990, -141, -990, + -990, -990, -990, -990, -990, -164, -990, -990, -179, -990, + -990, -990, -990, -990, -990, -990, -990, -990, -990, 71, + -990, -990, -990 }; const short @@ -5335,7 +5347,7 @@ namespace isc { namespace dhcp { { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 36, 37, 38, 65, 730, - 82, 83, 39, 64, 79, 80, 751, 951, 1049, 1050, + 82, 83, 39, 64, 79, 80, 751, 953, 1052, 1053, 826, 41, 66, 85, 427, 86, 43, 67, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 453, 167, 168, 469, 169, 170, 171, 172, @@ -5343,190 +5355,191 @@ namespace isc { namespace dhcp { 179, 180, 487, 181, 488, 182, 183, 184, 185, 186, 187, 188, 431, 227, 228, 45, 68, 229, 497, 230, 498, 754, 231, 499, 757, 232, 233, 234, 235, 189, - 439, 190, 432, 802, 803, 804, 964, 805, 965, 191, - 440, 192, 441, 852, 853, 854, 991, 827, 828, 829, - 968, 1206, 830, 969, 831, 970, 832, 971, 833, 834, + 439, 190, 432, 802, 803, 804, 966, 805, 967, 191, + 440, 192, 441, 852, 853, 854, 993, 827, 828, 829, + 970, 1210, 830, 971, 831, 972, 832, 973, 833, 834, 533, 835, 836, 837, 838, 839, 840, 841, 842, 843, - 844, 982, 1213, 845, 846, 984, 847, 985, 848, 986, - 849, 987, 193, 477, 876, 877, 878, 879, 880, 881, + 844, 984, 1217, 845, 846, 986, 847, 987, 848, 988, + 849, 989, 193, 477, 876, 877, 878, 879, 880, 881, 882, 194, 483, 912, 913, 914, 915, 916, 195, 480, - 891, 892, 893, 1014, 59, 75, 377, 378, 379, 546, + 891, 892, 893, 1016, 59, 75, 377, 378, 379, 546, 380, 547, 196, 481, 900, 901, 902, 903, 904, 905, - 906, 907, 197, 465, 856, 857, 858, 994, 47, 69, + 906, 907, 197, 465, 856, 857, 858, 996, 47, 69, 273, 274, 275, 510, 276, 506, 277, 507, 278, 508, 279, 511, 280, 514, 281, 513, 198, 199, 200, 201, - 473, 736, 286, 202, 470, 868, 869, 870, 1003, 1123, - 1124, 203, 466, 53, 72, 860, 861, 862, 997, 55, + 473, 736, 286, 202, 470, 868, 869, 870, 1005, 1126, + 1127, 203, 466, 53, 72, 860, 861, 862, 999, 55, 73, 342, 343, 344, 345, 346, 347, 348, 532, 349, 536, 350, 535, 351, 352, 537, 353, 204, 467, 864, - 865, 866, 1000, 57, 74, 363, 364, 365, 366, 367, - 541, 368, 369, 370, 371, 288, 509, 953, 954, 955, - 1051, 49, 70, 301, 302, 303, 518, 205, 471, 206, - 472, 207, 479, 887, 888, 889, 1011, 51, 71, 318, + 865, 866, 1002, 57, 74, 363, 364, 365, 366, 367, + 541, 368, 369, 370, 371, 288, 509, 955, 956, 957, + 1054, 49, 70, 301, 302, 303, 518, 205, 471, 206, + 472, 207, 479, 887, 888, 889, 1013, 51, 71, 318, 319, 320, 208, 436, 209, 437, 210, 438, 324, 528, - 958, 1054, 325, 522, 326, 523, 327, 525, 328, 524, - 329, 527, 330, 526, 331, 521, 295, 515, 959, 211, - 478, 884, 885, 1008, 1149, 1150, 1151, 1152, 1153, 1224, - 1154, 1225, 1155, 212, 213, 484, 924, 925, 926, 1030, - 927, 1031, 214, 485, 934, 935, 936, 937, 1035, 938, - 939, 1037, 215, 486, 61, 76, 399, 400, 401, 402, + 960, 1057, 325, 522, 326, 523, 327, 525, 328, 524, + 329, 527, 330, 526, 331, 521, 295, 515, 961, 211, + 478, 884, 885, 1010, 1152, 1153, 1154, 1155, 1156, 1228, + 1157, 1229, 1158, 212, 213, 484, 924, 925, 926, 1032, + 927, 1033, 214, 485, 934, 935, 936, 937, 1037, 938, + 939, 1039, 215, 486, 61, 76, 399, 400, 401, 402, 552, 403, 404, 554, 405, 406, 407, 557, 789, 408, 558, 409, 551, 410, 411, 412, 561, 413, 562, 414, 563, 415, 564, 216, 430, 63, 77, 418, 419, 420, - 567, 421, 217, 492, 942, 943, 1041, 1187, 1188, 1189, - 1190, 1237, 1191, 1235, 1257, 1258, 1259, 1267, 1268, 1269, - 1275, 1270, 1271, 1272, 1273, 1279, 218, 493, 947, 948, - 949, 950 + 567, 421, 217, 492, 942, 943, 1043, 1190, 1191, 1192, + 1193, 1241, 1194, 1239, 1261, 1262, 1263, 1271, 1272, 1273, + 1279, 1274, 1275, 1276, 1277, 1283, 218, 493, 948, 949, + 950, 951, 952 }; const short Dhcp4Parser::yytable_[] = { 152, 226, 248, 297, 314, 298, 340, 359, 376, 396, - 341, 360, 850, 78, 292, 1115, 321, 252, 332, 1116, - 1131, 291, 28, 236, 289, 304, 316, 729, 354, 372, - 764, 397, 787, 361, 362, 40, 768, 374, 375, 253, - 944, 945, 254, 249, 416, 417, 287, 300, 315, 29, - 81, 30, 428, 31, 495, 151, 293, 429, 322, 496, - 1006, 128, 129, 1007, 84, 237, 290, 305, 317, 42, - 355, 373, 44, 398, 46, 504, 255, 294, 250, 323, - 505, 716, 717, 718, 719, 48, 124, 1262, 251, 256, - 1263, 1264, 1265, 1266, 729, 50, 257, 128, 129, 258, - 296, 128, 129, 908, 909, 910, 259, 260, 151, 261, - 516, 262, 263, 374, 375, 517, 245, 264, 720, 265, - 246, 519, 266, 333, 267, 268, 520, 269, 548, 270, - 271, 565, 272, 549, 52, 282, 566, 283, 54, 299, - 284, 569, 285, 919, 920, 422, 570, 1009, 219, 220, - 1010, 87, 221, 56, 88, 222, 223, 224, 225, 871, - 872, 873, 874, 151, 875, 1042, 89, 58, 1043, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 334, 1260, - 335, 336, 1261, 495, 337, 338, 339, 788, 961, 569, - 504, 966, 128, 129, 962, 963, 967, 988, 60, 151, - 752, 753, 989, 151, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 988, 755, - 756, 123, 124, 990, 1115, 334, 313, 956, 1116, 1131, - 128, 129, 125, 126, 127, 62, 1023, 128, 129, 128, - 129, 1024, 130, 32, 33, 34, 35, 131, 132, 133, - 134, 135, 732, 733, 734, 735, 123, 136, 93, 94, - 95, 334, 356, 335, 336, 357, 358, 137, 1028, 1032, - 138, 800, 801, 1029, 1033, 128, 129, 139, 140, 423, - 1081, 1038, 141, 565, 151, 142, 1039, 424, 1040, 143, - 1046, 988, 93, 94, 95, 1047, 1218, 425, 426, 128, - 129, 894, 895, 896, 897, 898, 899, 433, 434, 144, - 145, 146, 147, 148, 149, 435, 516, 1180, 124, 1181, - 1182, 1219, 1222, 150, 99, 100, 101, 1223, 442, 443, - 548, 1238, 151, 128, 129, 1230, 1239, 519, 1280, 151, - 444, 151, 1241, 1281, 1203, 1204, 1205, 306, 928, 929, - 930, 123, 124, 334, 307, 308, 309, 310, 311, 312, - 445, 313, 571, 572, 1210, 1211, 1212, 128, 129, 446, - 447, 448, 449, 450, 451, 452, 454, 151, 455, 456, - 457, 458, 806, 1134, 1135, 1136, 807, 808, 809, 810, - 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, - 462, 931, 463, 821, 822, 823, 824, 825, 464, 468, - 474, 529, 475, 476, 482, 489, 490, 491, 152, 494, - 500, 501, 502, 503, 512, 573, 530, 226, 534, 531, - 538, 540, 545, 539, 542, 151, 543, 334, 550, 248, - 553, 544, 297, 555, 298, 556, 559, 560, 568, 236, - 574, 292, 575, 314, 252, 576, 577, 578, 291, 579, - 580, 289, 581, 340, 304, 321, 582, 341, 359, 151, - 583, 584, 360, 585, 586, 316, 253, 587, 588, 254, - 249, 589, 590, 287, 591, 354, 300, 592, 396, 596, - 372, 237, 593, 293, 361, 362, 594, 315, 598, 604, - 605, 595, 597, 290, 599, 601, 305, 322, 600, 602, - 397, 603, 606, 255, 294, 250, 610, 317, 607, 608, - 611, 609, 612, 614, 613, 251, 256, 355, 323, 128, - 129, 615, 373, 257, 616, 617, 258, 618, 619, 622, - 623, 620, 621, 259, 260, 624, 261, 625, 262, 263, - 626, 627, 398, 151, 264, 628, 265, 629, 630, 266, - 631, 267, 268, 632, 269, 1242, 270, 271, 633, 272, - 634, 635, 282, 636, 283, 637, 638, 284, 299, 285, - 640, 641, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 642, 643, 644, 645, 646, - 648, 394, 395, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 649, 650, 651, 652, - 653, 655, 656, 657, 654, 659, 661, 662, 152, 663, - 226, 151, 664, 665, 666, 667, 668, 670, 671, 673, - 674, 672, 675, 796, 678, 682, 683, 676, 686, 679, - 680, 687, 236, 689, 692, 693, 696, 685, 697, 688, - 690, 698, 699, 691, 701, 911, 921, 694, 396, 695, - 702, 704, 946, 705, 709, 706, 790, 707, 708, 712, - 710, 711, 713, 714, 715, 722, 723, 917, 922, 932, - 397, 724, 725, 726, 237, 727, 728, 30, 731, 91, - 92, 93, 94, 95, 737, 738, 739, 740, 746, 747, - 741, 742, 743, 744, 745, 748, 749, 750, 758, 759, - 760, 761, 762, 763, 765, 766, 767, 795, 851, 918, - 923, 933, 398, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 769, 855, 859, 770, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 771, 238, 239, 240, - 863, 124, 867, 883, 772, 886, 773, 774, 890, 775, - 776, 777, 126, 941, 241, 778, 128, 129, 242, 243, - 244, 130, 779, 780, 781, 952, 131, 132, 133, 782, - 784, 245, 785, 786, 792, 246, 136, 793, 794, 972, - 973, 974, 975, 247, 976, 977, 978, 979, 980, 981, - 983, 993, 1048, 992, 996, 995, 998, 999, 1001, 1002, - 1005, 1004, 1013, 1065, 1012, 1016, 1015, 1017, 1018, 1019, - 1020, 1021, 1022, 1025, 1026, 1027, 1034, 1036, 1044, 1045, - 1053, 783, 1052, 797, 1057, 1056, 1055, 1058, 144, 145, - 1060, 1061, 1062, 1063, 1074, 1064, 1066, 1076, 1077, 1078, - 1067, 1079, 1172, 1068, 1173, 1069, 1070, 1176, 1178, 1071, - 1197, 1072, 1073, 1075, 1161, 1162, 1196, 1200, 151, 1220, - 1221, 1226, 1227, 1163, 1164, 1228, 1165, 1166, 1229, 1236, - 1169, 1168, 1170, 1175, 1177, 1193, 1244, 1194, 1201, 1245, - 1248, 1202, 1207, 1208, 1209, 1214, 1215, 1216, 1250, 1256, - 1254, 1276, 1277, 1278, 1282, 1286, 791, 248, 1249, 799, - 340, 1284, 1217, 359, 341, 1285, 1089, 360, 1117, 292, - 1114, 1137, 252, 1231, 314, 1141, 291, 376, 1128, 289, - 1232, 1093, 354, 1146, 1142, 372, 321, 1246, 1126, 361, - 362, 911, 1233, 1144, 253, 921, 316, 254, 249, 1240, - 1252, 287, 1059, 1094, 1183, 647, 1095, 1090, 1184, 946, - 1125, 293, 1138, 917, 297, 1143, 298, 922, 315, 1253, - 1129, 290, 1255, 932, 355, 1147, 1185, 373, 322, 1283, - 1127, 255, 294, 250, 1288, 1145, 304, 1289, 317, 639, - 1096, 1130, 1091, 251, 256, 960, 1148, 1139, 1082, 323, - 1171, 257, 1092, 1097, 258, 918, 1160, 1140, 300, 923, - 1098, 259, 260, 1099, 261, 933, 262, 263, 1186, 1133, - 1100, 1101, 264, 1102, 265, 1103, 1104, 266, 305, 267, - 268, 1105, 269, 1106, 270, 271, 1107, 272, 1108, 1109, - 282, 1110, 283, 1111, 1112, 284, 1113, 285, 1080, 1119, - 1167, 1120, 1118, 1159, 1121, 1084, 1122, 1083, 684, 1132, - 1243, 1086, 677, 1085, 681, 1198, 1088, 1087, 1199, 658, - 1158, 957, 1157, 1247, 660, 940, 1174, 700, 1156, 798, - 703, 1251, 1274, 1287, 0, 0, 0, 669, 1179, 0, - 0, 0, 0, 0, 0, 0, 0, 1192, 0, 0, - 299, 0, 1195, 0, 0, 0, 0, 1234, 0, 0, + 332, 361, 78, 362, 850, 252, 1118, 1119, 291, 236, + 289, 304, 316, 764, 354, 372, 1134, 397, 29, 768, + 30, 729, 31, 787, 416, 417, 341, 360, 237, 290, + 305, 317, 1008, 355, 373, 1009, 398, 128, 129, 81, + 253, 28, 287, 300, 315, 374, 375, 123, 716, 717, + 718, 719, 374, 375, 334, 254, 40, 944, 945, 946, + 42, 292, 255, 321, 84, 293, 44, 322, 128, 129, + 428, 422, 294, 151, 323, 429, 128, 129, 46, 908, + 909, 910, 424, 249, 250, 251, 720, 495, 729, 48, + 219, 220, 496, 50, 221, 256, 257, 222, 223, 224, + 225, 258, 259, 260, 52, 504, 261, 262, 263, 264, + 505, 333, 1011, 265, 266, 1012, 423, 151, 54, 267, + 268, 269, 919, 920, 270, 271, 272, 282, 516, 752, + 753, 283, 284, 517, 299, 128, 129, 285, 87, 519, + 151, 88, 548, 425, 520, 565, 1183, 549, 1184, 1185, + 566, 1044, 1264, 89, 1045, 1265, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 569, 334, 56, 335, 336, + 570, 151, 337, 338, 339, 1214, 1215, 1216, 788, 151, + 128, 129, 128, 129, 928, 929, 930, 732, 733, 734, + 735, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 495, 569, 504, 123, 124, + 963, 964, 965, 32, 33, 34, 35, 1118, 1119, 125, + 126, 127, 800, 801, 128, 129, 968, 1134, 931, 130, + 426, 969, 755, 756, 131, 132, 133, 134, 135, 1207, + 1208, 1209, 313, 958, 136, 93, 94, 95, 334, 356, + 335, 336, 357, 358, 137, 1266, 58, 138, 1267, 1268, + 1269, 1270, 128, 129, 139, 140, 990, 60, 62, 141, + 433, 991, 142, 151, 1084, 151, 143, 434, 435, 93, + 94, 95, 894, 895, 896, 897, 898, 899, 124, 871, + 872, 873, 874, 442, 875, 443, 144, 145, 146, 147, + 148, 149, 296, 128, 129, 124, 444, 445, 446, 990, + 150, 99, 100, 101, 992, 447, 448, 449, 245, 1025, + 128, 129, 246, 1030, 1026, 1034, 1040, 151, 1031, 450, + 1035, 1041, 565, 530, 306, 529, 451, 1042, 123, 124, + 334, 307, 308, 309, 310, 311, 312, 452, 313, 454, + 455, 571, 572, 1049, 128, 129, 990, 516, 1050, 1226, + 531, 1222, 1223, 548, 1227, 151, 456, 457, 1234, 806, + 1137, 1138, 1139, 807, 808, 809, 810, 811, 812, 813, + 814, 815, 816, 817, 818, 819, 820, 458, 462, 463, + 821, 822, 823, 824, 825, 1242, 519, 1284, 539, 464, + 1243, 1245, 1285, 468, 474, 540, 151, 475, 152, 476, + 482, 489, 490, 491, 494, 500, 501, 226, 502, 503, + 512, 544, 534, 151, 334, 538, 542, 543, 545, 248, + 550, 553, 297, 555, 298, 236, 556, 559, 560, 568, + 573, 574, 252, 314, 575, 291, 576, 289, 577, 578, + 304, 579, 580, 340, 237, 581, 582, 151, 359, 583, + 584, 316, 361, 585, 362, 586, 290, 587, 588, 305, + 589, 354, 598, 590, 604, 591, 372, 253, 396, 287, + 317, 592, 300, 341, 593, 605, 606, 594, 360, 595, + 355, 596, 254, 315, 597, 373, 397, 599, 292, 255, + 601, 600, 293, 610, 611, 602, 603, 607, 608, 294, + 609, 612, 321, 614, 615, 398, 322, 616, 613, 617, + 249, 250, 251, 323, 128, 129, 618, 619, 620, 622, + 621, 623, 256, 257, 624, 625, 626, 627, 258, 259, + 260, 151, 628, 261, 262, 263, 264, 629, 630, 631, + 265, 266, 1246, 632, 633, 634, 267, 268, 269, 637, + 635, 270, 271, 272, 282, 638, 640, 641, 283, 284, + 636, 642, 643, 299, 285, 645, 646, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 644, 648, 649, 650, 651, 652, 394, 395, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 653, 655, 656, 657, 654, 659, 661, 152, 662, + 226, 663, 994, 664, 665, 666, 667, 151, 668, 670, + 671, 672, 796, 673, 674, 675, 678, 676, 236, 682, + 683, 679, 686, 680, 685, 687, 689, 688, 91, 92, + 93, 94, 95, 692, 690, 911, 921, 237, 396, 691, + 693, 696, 947, 694, 697, 698, 695, 699, 701, 702, + 704, 790, 705, 917, 922, 932, 397, 706, 707, 708, + 712, 709, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 918, 923, 933, 398, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 710, 238, 239, 240, 713, + 124, 711, 714, 715, 722, 723, 724, 725, 726, 728, + 737, 126, 727, 241, 30, 128, 129, 242, 243, 244, + 130, 731, 738, 739, 740, 131, 132, 133, 741, 742, + 245, 743, 744, 745, 246, 136, 746, 747, 748, 749, + 750, 758, 247, 761, 766, 795, 759, 760, 762, 851, + 855, 763, 765, 767, 769, 859, 770, 771, 772, 773, + 774, 863, 867, 883, 775, 776, 777, 886, 778, 779, + 780, 781, 782, 784, 785, 786, 792, 793, 794, 890, + 941, 954, 974, 975, 976, 977, 978, 144, 145, 979, + 980, 981, 982, 983, 985, 995, 998, 997, 1001, 1051, + 1000, 1004, 1003, 1006, 1007, 1014, 1015, 1018, 1017, 1019, + 1020, 1021, 1022, 1023, 1024, 1027, 1028, 1029, 151, 1036, + 1038, 1046, 1047, 1048, 1056, 797, 1055, 1205, 1060, 1059, + 1058, 1061, 1063, 1064, 1065, 1066, 1068, 1070, 1067, 1077, + 1069, 1071, 1079, 1080, 1072, 1073, 1074, 1075, 1076, 1078, + 1081, 1082, 1164, 1165, 1166, 1167, 1168, 1175, 1176, 1169, + 1179, 1181, 1171, 1172, 1200, 1201, 1260, 1204, 1173, 1224, + 1180, 1178, 1225, 1230, 1231, 1232, 1233, 1196, 1197, 1198, + 1206, 1211, 1212, 1213, 1218, 1219, 1220, 1221, 1235, 1236, + 1237, 1240, 1244, 1248, 1249, 1252, 1250, 1253, 1254, 248, + 1256, 1257, 340, 1258, 1259, 359, 1280, 1281, 1092, 361, + 1120, 362, 252, 1140, 1282, 291, 314, 289, 1145, 376, + 354, 1096, 1286, 372, 1287, 1288, 1129, 1289, 1290, 791, + 1292, 1147, 341, 911, 316, 360, 290, 921, 1117, 355, + 1293, 799, 373, 1144, 783, 1130, 1186, 253, 639, 287, + 1148, 917, 947, 317, 647, 922, 1097, 297, 1128, 298, + 962, 932, 254, 1146, 1188, 1062, 315, 1083, 292, 255, + 918, 1098, 293, 1085, 923, 304, 1187, 1131, 1099, 294, + 933, 1132, 1149, 1189, 1174, 321, 1150, 1136, 1133, 322, + 249, 250, 251, 1151, 305, 684, 323, 1162, 1163, 1093, + 1094, 1095, 256, 257, 1141, 1142, 1143, 300, 258, 259, + 260, 1100, 1101, 261, 262, 263, 264, 1102, 1103, 1104, + 265, 266, 1105, 1106, 1107, 1108, 267, 268, 269, 1109, + 1110, 270, 271, 272, 282, 1111, 1112, 1113, 283, 284, + 1114, 1115, 1116, 1122, 285, 1086, 658, 1123, 1124, 1121, + 1087, 1170, 1247, 1125, 677, 1088, 1203, 1135, 1089, 1202, + 1251, 681, 669, 1090, 1091, 959, 700, 1182, 940, 798, + 1278, 1255, 1195, 703, 1177, 1291, 1159, 0, 1161, 0, + 1160, 0, 0, 0, 0, 0, 0, 0, 660, 0, + 1199, 0, 0, 0, 0, 0, 0, 0, 299, 1238, + 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, 1092, + 0, 1120, 0, 0, 0, 1140, 0, 0, 0, 0, + 1145, 0, 1096, 0, 0, 1186, 0, 1129, 0, 0, + 0, 0, 0, 1147, 0, 0, 0, 0, 0, 1117, + 0, 0, 0, 1188, 0, 1144, 1130, 0, 0, 0, + 0, 0, 1148, 0, 0, 1187, 0, 1097, 0, 1128, + 0, 0, 1189, 0, 0, 1146, 0, 0, 0, 0, + 0, 0, 1098, 0, 0, 0, 0, 0, 1131, 1099, + 0, 0, 1132, 0, 1149, 0, 0, 0, 1150, 1133, + 0, 0, 0, 0, 0, 1151, 0, 0, 0, 0, + 1093, 1094, 1095, 0, 0, 0, 1141, 1142, 1143, 0, + 0, 0, 1100, 1101, 0, 0, 0, 0, 1102, 1103, + 1104, 0, 0, 1105, 1106, 1107, 1108, 0, 0, 0, + 1109, 1110, 0, 0, 0, 0, 1111, 1112, 1113, 0, + 0, 1114, 1115, 1116, 1122, 0, 0, 0, 1123, 1124, + 1121, 0, 0, 0, 1125, 91, 92, 93, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1089, 0, 1117, 0, 1114, - 0, 1137, 0, 0, 0, 1141, 0, 1128, 0, 0, - 1093, 1183, 0, 1146, 1142, 1184, 0, 1126, 0, 0, - 0, 0, 0, 1144, 0, 0, 0, 0, 0, 0, - 0, 0, 1094, 1185, 0, 1095, 1090, 0, 0, 1125, - 0, 0, 1138, 0, 0, 1143, 0, 0, 0, 1129, - 0, 0, 0, 0, 0, 1147, 0, 0, 0, 1127, - 0, 0, 0, 0, 0, 1145, 0, 0, 0, 1096, - 1130, 1091, 0, 0, 0, 1186, 1148, 1139, 0, 0, - 0, 1092, 1097, 0, 0, 0, 0, 1140, 0, 1098, - 0, 0, 1099, 0, 0, 0, 0, 0, 0, 1100, - 1101, 0, 1102, 0, 1103, 1104, 0, 0, 0, 0, - 1105, 0, 1106, 0, 0, 1107, 0, 1108, 1109, 0, - 1110, 0, 1111, 1112, 0, 1113, 0, 0, 1119, 0, - 1120, 1118, 0, 1121, 0, 1122, 91, 92, 93, 94, - 95, 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, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 0, + 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 0, 0, 0, 0, 124, 334, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, + 0, 0, 128, 129, 0, 243, 0, 130, 0, 0, + 0, 0, 131, 132, 133, 0, 0, 245, 0, 0, + 0, 246, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 0, 0, 0, 0, 124, 334, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 0, 0, 0, 128, 129, 0, 243, 0, 130, 0, - 0, 0, 0, 131, 132, 133, 0, 0, 245, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 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, 144, 145, 0, 0, 0, + 0, 0, 0, 0, 144, 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, 151 @@ -5536,376 +5549,379 @@ namespace isc { namespace dhcp { Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 70, 73, 74, 75, 76, - 73, 74, 713, 64, 69, 1003, 71, 69, 72, 1003, - 1003, 69, 0, 68, 69, 70, 71, 616, 73, 74, - 655, 76, 18, 74, 74, 7, 661, 138, 139, 69, - 194, 195, 69, 69, 12, 13, 69, 70, 71, 5, - 209, 7, 3, 9, 3, 209, 69, 8, 71, 8, - 3, 107, 108, 6, 10, 68, 69, 70, 71, 7, - 73, 74, 7, 76, 7, 3, 69, 69, 69, 71, - 8, 175, 176, 177, 178, 7, 92, 186, 69, 69, - 189, 190, 191, 192, 683, 7, 69, 107, 108, 69, - 106, 107, 108, 149, 150, 151, 69, 69, 209, 69, - 3, 69, 69, 138, 139, 8, 122, 69, 212, 69, - 126, 3, 69, 38, 69, 69, 8, 69, 3, 69, - 69, 3, 69, 8, 7, 69, 8, 69, 7, 70, - 69, 3, 69, 153, 154, 6, 8, 3, 15, 16, - 6, 11, 19, 7, 14, 22, 23, 24, 25, 128, - 129, 130, 131, 209, 133, 3, 26, 7, 6, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 93, 3, - 95, 96, 6, 3, 99, 100, 101, 173, 8, 3, - 3, 3, 107, 108, 8, 8, 8, 3, 7, 209, - 17, 18, 8, 209, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 3, 20, - 21, 91, 92, 8, 1222, 93, 135, 136, 1222, 1222, - 107, 108, 102, 103, 104, 7, 3, 107, 108, 107, - 108, 8, 112, 209, 210, 211, 212, 117, 118, 119, - 120, 121, 113, 114, 115, 116, 91, 127, 32, 33, - 34, 93, 94, 95, 96, 97, 98, 137, 3, 3, - 140, 27, 28, 8, 8, 107, 108, 147, 148, 3, - 991, 3, 152, 3, 209, 155, 8, 4, 8, 159, - 3, 3, 32, 33, 34, 8, 8, 8, 3, 107, - 108, 141, 142, 143, 144, 145, 146, 4, 4, 179, - 180, 181, 182, 183, 184, 4, 3, 185, 92, 187, - 188, 8, 3, 193, 64, 65, 66, 8, 4, 4, - 3, 3, 209, 107, 108, 8, 8, 3, 3, 209, - 4, 209, 8, 8, 39, 40, 41, 121, 156, 157, - 158, 91, 92, 93, 128, 129, 130, 131, 132, 133, - 4, 135, 423, 424, 56, 57, 58, 107, 108, 4, - 4, 4, 4, 4, 4, 4, 4, 209, 4, 4, - 4, 4, 38, 123, 124, 125, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 4, 209, 4, 59, 60, 61, 62, 63, 4, 4, - 4, 8, 4, 4, 4, 4, 4, 4, 495, 4, - 4, 4, 4, 4, 4, 209, 3, 504, 4, 8, - 4, 3, 3, 8, 4, 209, 4, 93, 4, 516, - 4, 8, 519, 4, 519, 4, 4, 4, 4, 504, - 4, 516, 4, 530, 516, 4, 4, 212, 516, 212, - 212, 516, 4, 540, 519, 530, 4, 540, 545, 209, - 4, 4, 545, 4, 4, 530, 516, 210, 210, 516, - 516, 210, 210, 516, 210, 540, 519, 212, 565, 210, - 545, 504, 211, 516, 545, 545, 211, 530, 4, 4, - 4, 211, 210, 516, 210, 212, 519, 530, 210, 212, - 565, 212, 4, 516, 516, 516, 4, 530, 212, 212, - 4, 212, 4, 4, 210, 516, 516, 540, 530, 107, - 108, 4, 545, 516, 4, 4, 516, 4, 212, 4, - 4, 212, 212, 516, 516, 4, 516, 4, 516, 516, - 4, 210, 565, 209, 516, 4, 516, 4, 4, 516, - 4, 516, 516, 4, 516, 1200, 516, 516, 4, 516, - 212, 212, 516, 212, 516, 4, 4, 516, 519, 516, - 4, 4, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 4, 212, 212, 210, 210, - 4, 179, 180, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 4, 4, 4, 4, - 4, 4, 4, 4, 210, 4, 4, 4, 705, 4, - 707, 209, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 210, 4, 704, 4, 4, 4, 212, 4, 212, - 212, 4, 707, 4, 4, 4, 4, 212, 4, 210, - 210, 4, 4, 210, 4, 742, 743, 212, 745, 212, - 210, 4, 749, 7, 209, 7, 174, 7, 7, 7, - 209, 209, 7, 5, 209, 209, 209, 742, 743, 744, - 745, 5, 5, 5, 707, 209, 5, 7, 209, 30, - 31, 32, 33, 34, 5, 5, 5, 5, 209, 209, - 7, 7, 7, 7, 7, 5, 7, 5, 209, 209, - 209, 5, 209, 209, 209, 7, 209, 5, 7, 742, - 743, 744, 745, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 209, 7, 7, 209, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 209, 88, 89, 90, - 7, 92, 7, 7, 209, 7, 209, 209, 7, 209, - 209, 209, 103, 7, 105, 209, 107, 108, 109, 110, - 111, 112, 209, 209, 209, 7, 117, 118, 119, 209, - 209, 122, 209, 209, 209, 126, 127, 209, 209, 4, - 4, 4, 4, 134, 4, 4, 4, 4, 4, 4, - 4, 3, 209, 6, 3, 6, 6, 3, 6, 3, - 3, 6, 3, 212, 6, 3, 6, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 3, 683, 6, 705, 4, 6, 8, 4, 179, 180, - 4, 4, 4, 4, 4, 210, 210, 4, 4, 4, - 212, 4, 4, 210, 4, 210, 210, 4, 4, 210, - 3, 210, 210, 210, 210, 210, 6, 4, 209, 8, - 8, 4, 8, 210, 210, 3, 210, 210, 8, 4, - 210, 212, 210, 212, 210, 212, 4, 212, 209, 4, - 4, 209, 209, 209, 209, 209, 209, 209, 4, 7, - 5, 4, 4, 4, 4, 4, 696, 994, 210, 707, - 997, 210, 209, 1000, 997, 210, 1003, 1000, 1003, 994, - 1003, 1008, 994, 209, 1011, 1008, 994, 1014, 1003, 994, - 209, 1003, 997, 1008, 1008, 1000, 1011, 212, 1003, 1000, - 1000, 1028, 209, 1008, 994, 1032, 1011, 994, 994, 209, - 209, 994, 966, 1003, 1041, 504, 1003, 1003, 1041, 1046, - 1003, 994, 1008, 1028, 1051, 1008, 1051, 1032, 1011, 209, - 1003, 994, 209, 1038, 997, 1008, 1041, 1000, 1011, 212, - 1003, 994, 994, 994, 209, 1008, 1051, 209, 1011, 495, - 1003, 1003, 1003, 994, 994, 795, 1008, 1008, 993, 1011, - 1028, 994, 1003, 1003, 994, 1028, 1016, 1008, 1051, 1032, - 1003, 994, 994, 1003, 994, 1038, 994, 994, 1041, 1006, - 1003, 1003, 994, 1003, 994, 1003, 1003, 994, 1051, 994, - 994, 1003, 994, 1003, 994, 994, 1003, 994, 1003, 1003, - 994, 1003, 994, 1003, 1003, 994, 1003, 994, 988, 1003, - 1023, 1003, 1003, 1014, 1003, 996, 1003, 994, 548, 1005, - 1222, 999, 540, 997, 545, 1051, 1002, 1000, 1053, 516, - 1013, 766, 1011, 1228, 519, 745, 1032, 565, 1009, 706, - 569, 1238, 1260, 1280, -1, -1, -1, 530, 1038, -1, - -1, -1, -1, -1, -1, -1, -1, 1042, -1, -1, - 1051, -1, 1046, -1, -1, -1, -1, 1178, -1, -1, + 72, 74, 64, 74, 713, 69, 1005, 1005, 69, 68, + 69, 70, 71, 655, 73, 74, 1005, 76, 5, 661, + 7, 616, 9, 18, 12, 13, 73, 74, 68, 69, + 70, 71, 3, 73, 74, 6, 76, 107, 108, 210, + 69, 0, 69, 70, 71, 138, 139, 91, 175, 176, + 177, 178, 138, 139, 93, 69, 7, 194, 195, 196, + 7, 69, 69, 71, 10, 69, 7, 71, 107, 108, + 3, 6, 69, 210, 71, 8, 107, 108, 7, 149, + 150, 151, 4, 69, 69, 69, 213, 3, 683, 7, + 15, 16, 8, 7, 19, 69, 69, 22, 23, 24, + 25, 69, 69, 69, 7, 3, 69, 69, 69, 69, + 8, 38, 3, 69, 69, 6, 3, 210, 7, 69, + 69, 69, 153, 154, 69, 69, 69, 69, 3, 17, + 18, 69, 69, 8, 70, 107, 108, 69, 11, 3, + 210, 14, 3, 8, 8, 3, 185, 8, 187, 188, + 8, 3, 3, 26, 6, 6, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 3, 93, 7, 95, 96, + 8, 210, 99, 100, 101, 56, 57, 58, 173, 210, + 107, 108, 107, 108, 156, 157, 158, 113, 114, 115, + 116, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 3, 3, 3, 91, 92, + 8, 8, 8, 210, 211, 212, 213, 1226, 1226, 102, + 103, 104, 27, 28, 107, 108, 3, 1226, 210, 112, + 3, 8, 20, 21, 117, 118, 119, 120, 121, 39, + 40, 41, 135, 136, 127, 32, 33, 34, 93, 94, + 95, 96, 97, 98, 137, 186, 7, 140, 189, 190, + 191, 192, 107, 108, 147, 148, 3, 7, 7, 152, + 4, 8, 155, 210, 993, 210, 159, 4, 4, 32, + 33, 34, 141, 142, 143, 144, 145, 146, 92, 128, + 129, 130, 131, 4, 133, 4, 179, 180, 181, 182, + 183, 184, 106, 107, 108, 92, 4, 4, 4, 3, + 193, 64, 65, 66, 8, 4, 4, 4, 122, 3, + 107, 108, 126, 3, 8, 3, 3, 210, 8, 4, + 8, 8, 3, 3, 121, 8, 4, 8, 91, 92, + 93, 128, 129, 130, 131, 132, 133, 4, 135, 4, + 4, 423, 424, 3, 107, 108, 3, 3, 8, 3, + 8, 8, 8, 3, 8, 210, 4, 4, 8, 38, + 123, 124, 125, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 4, 4, 4, + 59, 60, 61, 62, 63, 3, 3, 3, 8, 4, + 8, 8, 8, 4, 4, 3, 210, 4, 495, 4, + 4, 4, 4, 4, 4, 4, 4, 504, 4, 4, + 4, 8, 4, 210, 93, 4, 4, 4, 3, 516, + 4, 4, 519, 4, 519, 504, 4, 4, 4, 4, + 210, 4, 516, 530, 4, 516, 4, 516, 4, 213, + 519, 213, 213, 540, 504, 4, 4, 210, 545, 4, + 4, 530, 545, 4, 545, 4, 516, 211, 211, 519, + 211, 540, 4, 211, 4, 211, 545, 516, 565, 516, + 530, 213, 519, 540, 212, 4, 4, 212, 545, 212, + 540, 211, 516, 530, 211, 545, 565, 211, 516, 516, + 213, 211, 516, 4, 4, 213, 213, 213, 213, 516, + 213, 4, 530, 4, 4, 565, 530, 4, 211, 4, + 516, 516, 516, 530, 107, 108, 4, 213, 213, 4, + 213, 4, 516, 516, 4, 4, 4, 211, 516, 516, + 516, 210, 4, 516, 516, 516, 516, 4, 4, 4, + 516, 516, 1204, 4, 4, 213, 516, 516, 516, 4, + 213, 516, 516, 516, 516, 4, 4, 4, 516, 516, + 213, 4, 213, 519, 516, 211, 211, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 213, 4, 4, 4, 4, 4, 179, 180, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 4, 4, 4, 4, 211, 4, 4, 705, 4, + 707, 4, 6, 4, 4, 4, 4, 210, 4, 4, + 4, 211, 704, 4, 4, 4, 4, 213, 707, 4, + 4, 213, 4, 213, 213, 4, 4, 211, 30, 31, + 32, 33, 34, 4, 211, 742, 743, 707, 745, 211, + 4, 4, 749, 213, 4, 4, 213, 4, 4, 211, + 4, 174, 7, 742, 743, 744, 745, 7, 7, 7, + 7, 210, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 742, 743, 744, 745, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 210, 88, 89, 90, 7, + 92, 210, 5, 210, 210, 210, 5, 5, 5, 5, + 5, 103, 210, 105, 7, 107, 108, 109, 110, 111, + 112, 210, 5, 5, 5, 117, 118, 119, 7, 7, + 122, 7, 7, 7, 126, 127, 210, 210, 5, 7, + 5, 210, 134, 5, 7, 5, 210, 210, 210, 7, + 7, 210, 210, 210, 210, 7, 210, 210, 210, 210, + 210, 7, 7, 7, 210, 210, 210, 7, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 7, + 7, 7, 4, 4, 4, 4, 4, 179, 180, 4, + 4, 4, 4, 4, 4, 3, 3, 6, 3, 210, + 6, 3, 6, 6, 3, 6, 3, 3, 6, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 210, 4, + 4, 4, 4, 4, 3, 705, 6, 210, 4, 6, + 8, 4, 4, 4, 4, 4, 213, 213, 211, 4, + 211, 211, 4, 4, 211, 211, 211, 211, 211, 211, + 4, 4, 211, 211, 211, 211, 211, 4, 4, 211, + 4, 4, 213, 211, 6, 3, 7, 4, 211, 8, + 211, 213, 8, 4, 8, 3, 8, 213, 213, 213, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 4, 210, 4, 4, 4, 213, 211, 4, 996, + 210, 210, 999, 5, 210, 1002, 4, 4, 1005, 1002, + 1005, 1002, 996, 1010, 4, 996, 1013, 996, 1010, 1016, + 999, 1005, 4, 1002, 213, 211, 1005, 211, 4, 696, + 210, 1010, 999, 1030, 1013, 1002, 996, 1034, 1005, 999, + 210, 707, 1002, 1010, 683, 1005, 1043, 996, 495, 996, + 1010, 1030, 1049, 1013, 504, 1034, 1005, 1054, 1005, 1054, + 795, 1040, 996, 1010, 1043, 968, 1013, 990, 996, 996, + 1030, 1005, 996, 995, 1034, 1054, 1043, 1005, 1005, 996, + 1040, 1005, 1010, 1043, 1030, 1013, 1010, 1008, 1005, 1013, + 996, 996, 996, 1010, 1054, 548, 1013, 1016, 1018, 1005, + 1005, 1005, 996, 996, 1010, 1010, 1010, 1054, 996, 996, + 996, 1005, 1005, 996, 996, 996, 996, 1005, 1005, 1005, + 996, 996, 1005, 1005, 1005, 1005, 996, 996, 996, 1005, + 1005, 996, 996, 996, 996, 1005, 1005, 1005, 996, 996, + 1005, 1005, 1005, 1005, 996, 996, 516, 1005, 1005, 1005, + 998, 1025, 1226, 1005, 540, 999, 1056, 1007, 1001, 1054, + 1232, 545, 530, 1002, 1004, 766, 565, 1040, 745, 706, + 1264, 1242, 1044, 569, 1034, 1284, 1011, -1, 1015, -1, + 1013, -1, -1, -1, -1, -1, -1, -1, 519, -1, + 1049, -1, -1, -1, -1, -1, -1, -1, 1054, 1181, + -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, 1226, + -1, 1226, -1, -1, -1, 1232, -1, -1, -1, -1, + 1232, -1, 1226, -1, -1, 1242, -1, 1226, -1, -1, + -1, -1, -1, 1232, -1, -1, -1, -1, -1, 1226, + -1, -1, -1, 1242, -1, 1232, 1226, -1, -1, -1, + -1, -1, 1232, -1, -1, 1242, -1, 1226, -1, 1226, + -1, -1, 1242, -1, -1, 1232, -1, -1, -1, -1, + -1, -1, 1226, -1, -1, -1, -1, -1, 1226, 1226, + -1, -1, 1226, -1, 1232, -1, -1, -1, 1232, 1226, + -1, -1, -1, -1, -1, 1232, -1, -1, -1, -1, + 1226, 1226, 1226, -1, -1, -1, 1232, 1232, 1232, -1, + -1, -1, 1226, 1226, -1, -1, -1, -1, 1226, 1226, + 1226, -1, -1, 1226, 1226, 1226, 1226, -1, -1, -1, + 1226, 1226, -1, -1, -1, -1, 1226, 1226, 1226, -1, + -1, 1226, 1226, 1226, 1226, -1, -1, -1, 1226, 1226, + 1226, -1, -1, -1, 1226, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1222, -1, 1222, -1, 1222, - -1, 1228, -1, -1, -1, 1228, -1, 1222, -1, -1, - 1222, 1238, -1, 1228, 1228, 1238, -1, 1222, -1, -1, - -1, -1, -1, 1228, -1, -1, -1, -1, -1, -1, - -1, -1, 1222, 1238, -1, 1222, 1222, -1, -1, 1222, - -1, -1, 1228, -1, -1, 1228, -1, -1, -1, 1222, - -1, -1, -1, -1, -1, 1228, -1, -1, -1, 1222, - -1, -1, -1, -1, -1, 1228, -1, -1, -1, 1222, - 1222, 1222, -1, -1, -1, 1238, 1228, 1228, -1, -1, - -1, 1222, 1222, -1, -1, -1, -1, 1228, -1, 1222, - -1, -1, 1222, -1, -1, -1, -1, -1, -1, 1222, - 1222, -1, 1222, -1, 1222, 1222, -1, -1, -1, -1, - 1222, -1, 1222, -1, -1, 1222, -1, 1222, 1222, -1, - 1222, -1, 1222, 1222, -1, 1222, -1, -1, 1222, -1, - 1222, 1222, -1, 1222, -1, 1222, 30, 31, 32, 33, - 34, -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, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + -1, -1, -1, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, -1, -1, -1, -1, 92, 93, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 103, -1, + -1, -1, 107, 108, -1, 110, -1, 112, -1, -1, + -1, -1, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, -1, -1, -1, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, -1, -1, -1, -1, 92, 93, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, - -1, -1, -1, 107, 108, -1, 110, -1, 112, -1, - -1, -1, -1, 117, 118, 119, -1, -1, 122, -1, - -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, - 134, -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, 179, 180, -1, -1, -1, + -1, -1, -1, -1, 179, 180, -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, 209 + -1, -1, -1, -1, -1, 210 }; const short Dhcp4Parser::yystos_[] = { - 0, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 0, 5, - 7, 9, 209, 210, 211, 212, 228, 229, 230, 235, - 7, 244, 7, 249, 7, 298, 7, 411, 7, 494, - 7, 510, 7, 446, 7, 452, 7, 476, 7, 387, - 7, 577, 7, 608, 236, 231, 245, 250, 299, 412, - 495, 511, 447, 453, 477, 388, 578, 609, 228, 237, - 238, 209, 233, 234, 10, 246, 248, 11, 14, 26, + 0, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 0, 5, + 7, 9, 210, 211, 212, 213, 229, 230, 231, 236, + 7, 245, 7, 250, 7, 299, 7, 412, 7, 495, + 7, 511, 7, 447, 7, 453, 7, 477, 7, 388, + 7, 578, 7, 609, 237, 232, 246, 251, 300, 413, + 496, 512, 448, 454, 478, 389, 579, 610, 229, 238, + 239, 210, 234, 235, 10, 247, 249, 11, 14, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 102, 103, 104, 107, 108, 112, 117, 118, 119, 120, 121, 127, 137, 140, 147, 148, 152, 155, 159, 179, 180, 181, 182, 183, 184, - 193, 209, 243, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 266, 267, 269, - 270, 271, 272, 273, 274, 275, 278, 280, 282, 283, - 284, 286, 288, 289, 290, 291, 292, 293, 294, 312, - 314, 322, 324, 365, 374, 381, 395, 405, 429, 430, - 431, 432, 436, 444, 470, 500, 502, 504, 515, 517, - 519, 542, 556, 557, 565, 575, 606, 615, 639, 15, - 16, 19, 22, 23, 24, 25, 243, 296, 297, 300, - 302, 305, 308, 309, 310, 311, 500, 502, 88, 89, - 90, 105, 109, 110, 111, 122, 126, 134, 243, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 267, - 270, 271, 272, 273, 274, 275, 278, 280, 282, 283, - 284, 286, 288, 413, 414, 415, 417, 419, 421, 423, - 425, 427, 429, 430, 431, 432, 435, 470, 488, 500, - 502, 504, 515, 517, 519, 539, 106, 243, 425, 427, - 470, 496, 497, 498, 500, 502, 121, 128, 129, 130, - 131, 132, 133, 135, 243, 470, 500, 502, 512, 513, - 514, 515, 517, 519, 521, 525, 527, 529, 531, 533, - 535, 537, 444, 38, 93, 95, 96, 99, 100, 101, - 243, 342, 454, 455, 456, 457, 458, 459, 460, 462, - 464, 466, 467, 469, 500, 502, 94, 97, 98, 243, - 342, 458, 464, 478, 479, 480, 481, 482, 484, 485, - 486, 487, 500, 502, 138, 139, 243, 389, 390, 391, - 393, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 179, 180, 243, 500, 502, 579, - 580, 581, 582, 584, 585, 587, 588, 589, 592, 594, - 596, 597, 598, 600, 602, 604, 12, 13, 610, 611, - 612, 614, 6, 3, 4, 8, 3, 247, 3, 8, - 607, 295, 315, 4, 4, 4, 516, 518, 520, 313, - 323, 325, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 265, 4, 4, 4, 4, 4, 276, - 279, 281, 4, 4, 4, 406, 445, 471, 4, 268, - 437, 501, 503, 433, 4, 4, 4, 366, 543, 505, - 382, 396, 4, 375, 558, 566, 576, 285, 287, 4, - 4, 4, 616, 640, 4, 3, 8, 301, 303, 306, - 4, 4, 4, 4, 3, 8, 418, 420, 422, 489, - 416, 424, 4, 428, 426, 540, 3, 8, 499, 3, - 8, 538, 526, 528, 532, 530, 536, 534, 522, 8, - 3, 8, 461, 343, 4, 465, 463, 468, 4, 8, - 3, 483, 4, 4, 8, 3, 392, 394, 3, 8, - 4, 595, 583, 4, 586, 4, 4, 590, 593, 4, - 4, 599, 601, 603, 605, 3, 8, 613, 4, 3, - 8, 228, 228, 209, 4, 4, 4, 4, 212, 212, - 212, 4, 4, 4, 4, 4, 4, 210, 210, 210, - 210, 210, 212, 211, 211, 211, 210, 210, 4, 210, - 210, 212, 212, 212, 4, 4, 4, 212, 212, 212, - 4, 4, 4, 210, 4, 4, 4, 4, 4, 212, - 212, 212, 4, 4, 4, 4, 4, 210, 4, 4, - 4, 4, 4, 4, 212, 212, 212, 4, 4, 252, - 4, 4, 4, 212, 212, 210, 210, 297, 4, 4, - 4, 4, 4, 4, 210, 4, 4, 4, 414, 4, - 497, 4, 4, 4, 4, 4, 4, 4, 4, 514, - 4, 4, 210, 4, 4, 4, 212, 456, 4, 212, - 212, 480, 4, 4, 390, 212, 4, 4, 210, 4, - 210, 210, 4, 4, 212, 212, 4, 4, 4, 4, - 580, 4, 210, 611, 4, 7, 7, 7, 7, 209, - 209, 209, 7, 7, 5, 209, 175, 176, 177, 178, - 212, 277, 209, 209, 5, 5, 5, 209, 5, 230, - 232, 209, 113, 114, 115, 116, 434, 5, 5, 5, - 5, 7, 7, 7, 7, 7, 209, 209, 5, 7, - 5, 239, 17, 18, 304, 20, 21, 307, 209, 209, - 209, 5, 209, 209, 239, 209, 7, 209, 239, 209, - 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 232, 209, 209, 209, 18, 173, 591, - 174, 277, 209, 209, 209, 5, 228, 251, 610, 296, - 27, 28, 316, 317, 318, 320, 38, 42, 43, 44, + 193, 210, 244, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 267, 268, 270, + 271, 272, 273, 274, 275, 276, 279, 281, 283, 284, + 285, 287, 289, 290, 291, 292, 293, 294, 295, 313, + 315, 323, 325, 366, 375, 382, 396, 406, 430, 431, + 432, 433, 437, 445, 471, 501, 503, 505, 516, 518, + 520, 543, 557, 558, 566, 576, 607, 616, 640, 15, + 16, 19, 22, 23, 24, 25, 244, 297, 298, 301, + 303, 306, 309, 310, 311, 312, 501, 503, 88, 89, + 90, 105, 109, 110, 111, 122, 126, 134, 244, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 268, + 271, 272, 273, 274, 275, 276, 279, 281, 283, 284, + 285, 287, 289, 414, 415, 416, 418, 420, 422, 424, + 426, 428, 430, 431, 432, 433, 436, 471, 489, 501, + 503, 505, 516, 518, 520, 540, 106, 244, 426, 428, + 471, 497, 498, 499, 501, 503, 121, 128, 129, 130, + 131, 132, 133, 135, 244, 471, 501, 503, 513, 514, + 515, 516, 518, 520, 522, 526, 528, 530, 532, 534, + 536, 538, 445, 38, 93, 95, 96, 99, 100, 101, + 244, 343, 455, 456, 457, 458, 459, 460, 461, 463, + 465, 467, 468, 470, 501, 503, 94, 97, 98, 244, + 343, 459, 465, 479, 480, 481, 482, 483, 485, 486, + 487, 488, 501, 503, 138, 139, 244, 390, 391, 392, + 394, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 179, 180, 244, 501, 503, 580, + 581, 582, 583, 585, 586, 588, 589, 590, 593, 595, + 597, 598, 599, 601, 603, 605, 12, 13, 611, 612, + 613, 615, 6, 3, 4, 8, 3, 248, 3, 8, + 608, 296, 316, 4, 4, 4, 517, 519, 521, 314, + 324, 326, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 266, 4, 4, 4, 4, 4, 277, + 280, 282, 4, 4, 4, 407, 446, 472, 4, 269, + 438, 502, 504, 434, 4, 4, 4, 367, 544, 506, + 383, 397, 4, 376, 559, 567, 577, 286, 288, 4, + 4, 4, 617, 641, 4, 3, 8, 302, 304, 307, + 4, 4, 4, 4, 3, 8, 419, 421, 423, 490, + 417, 425, 4, 429, 427, 541, 3, 8, 500, 3, + 8, 539, 527, 529, 533, 531, 537, 535, 523, 8, + 3, 8, 462, 344, 4, 466, 464, 469, 4, 8, + 3, 484, 4, 4, 8, 3, 393, 395, 3, 8, + 4, 596, 584, 4, 587, 4, 4, 591, 594, 4, + 4, 600, 602, 604, 606, 3, 8, 614, 4, 3, + 8, 229, 229, 210, 4, 4, 4, 4, 213, 213, + 213, 4, 4, 4, 4, 4, 4, 211, 211, 211, + 211, 211, 213, 212, 212, 212, 211, 211, 4, 211, + 211, 213, 213, 213, 4, 4, 4, 213, 213, 213, + 4, 4, 4, 211, 4, 4, 4, 4, 4, 213, + 213, 213, 4, 4, 4, 4, 4, 211, 4, 4, + 4, 4, 4, 4, 213, 213, 213, 4, 4, 253, + 4, 4, 4, 213, 213, 211, 211, 298, 4, 4, + 4, 4, 4, 4, 211, 4, 4, 4, 415, 4, + 498, 4, 4, 4, 4, 4, 4, 4, 4, 515, + 4, 4, 211, 4, 4, 4, 213, 457, 4, 213, + 213, 481, 4, 4, 391, 213, 4, 4, 211, 4, + 211, 211, 4, 4, 213, 213, 4, 4, 4, 4, + 581, 4, 211, 612, 4, 7, 7, 7, 7, 210, + 210, 210, 7, 7, 5, 210, 175, 176, 177, 178, + 213, 278, 210, 210, 5, 5, 5, 210, 5, 231, + 233, 210, 113, 114, 115, 116, 435, 5, 5, 5, + 5, 7, 7, 7, 7, 7, 210, 210, 5, 7, + 5, 240, 17, 18, 305, 20, 21, 308, 210, 210, + 210, 5, 210, 210, 240, 210, 7, 210, 240, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 233, 210, 210, 210, 18, 173, 592, + 174, 278, 210, 210, 210, 5, 229, 252, 611, 297, + 27, 28, 317, 318, 319, 321, 38, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 59, 60, 61, 62, 63, 243, 330, 331, 332, - 335, 337, 339, 341, 342, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 356, 357, 359, 361, 363, - 330, 7, 326, 327, 328, 7, 407, 408, 409, 7, - 448, 449, 450, 7, 472, 473, 474, 7, 438, 439, - 440, 128, 129, 130, 131, 133, 367, 368, 369, 370, - 371, 372, 373, 7, 544, 545, 7, 506, 507, 508, - 7, 383, 384, 385, 141, 142, 143, 144, 145, 146, - 397, 398, 399, 400, 401, 402, 403, 404, 149, 150, - 151, 243, 376, 377, 378, 379, 380, 500, 502, 153, - 154, 243, 500, 502, 559, 560, 561, 563, 156, 157, - 158, 209, 500, 502, 567, 568, 569, 570, 572, 573, - 579, 7, 617, 618, 194, 195, 243, 641, 642, 643, - 644, 240, 7, 490, 491, 492, 136, 521, 523, 541, - 326, 8, 8, 8, 319, 321, 3, 8, 333, 336, - 338, 340, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 354, 4, 358, 360, 362, 364, 3, 8, - 8, 329, 6, 3, 410, 6, 3, 451, 6, 3, - 475, 6, 3, 441, 6, 3, 3, 6, 546, 3, - 6, 509, 6, 3, 386, 6, 3, 4, 4, 4, - 4, 4, 4, 3, 8, 4, 4, 4, 3, 8, - 562, 564, 3, 8, 4, 571, 4, 574, 3, 8, - 8, 619, 3, 6, 4, 4, 3, 8, 209, 241, - 242, 493, 6, 3, 524, 8, 6, 4, 4, 317, - 4, 4, 4, 4, 210, 212, 210, 212, 210, 210, - 210, 210, 210, 210, 4, 210, 4, 4, 4, 4, - 331, 330, 328, 413, 409, 454, 450, 478, 474, 243, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 267, 270, 271, 272, 273, 274, 275, 278, 280, 282, - 283, 284, 286, 288, 342, 405, 423, 425, 427, 429, - 430, 431, 432, 442, 443, 470, 500, 502, 515, 517, - 519, 539, 440, 368, 123, 124, 125, 243, 253, 254, - 255, 342, 444, 470, 500, 502, 515, 517, 519, 547, - 548, 549, 550, 551, 553, 555, 545, 512, 508, 389, - 385, 210, 210, 210, 210, 210, 210, 398, 212, 210, - 210, 377, 4, 4, 560, 212, 4, 210, 4, 568, - 185, 187, 188, 243, 342, 500, 502, 620, 621, 622, - 623, 625, 618, 212, 212, 642, 6, 3, 496, 492, - 4, 209, 209, 39, 40, 41, 334, 209, 209, 209, - 56, 57, 58, 355, 209, 209, 209, 209, 8, 8, - 8, 8, 3, 8, 552, 554, 4, 8, 3, 8, - 8, 209, 209, 209, 228, 626, 4, 624, 3, 8, - 209, 8, 239, 443, 4, 4, 212, 549, 4, 210, - 4, 621, 209, 209, 5, 209, 7, 627, 628, 629, - 3, 6, 186, 189, 190, 191, 192, 630, 631, 632, - 634, 635, 636, 637, 628, 633, 4, 4, 4, 638, - 3, 8, 4, 212, 210, 210, 4, 631, 209, 209 + 55, 59, 60, 61, 62, 63, 244, 331, 332, 333, + 336, 338, 340, 342, 343, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 357, 358, 360, 362, 364, + 331, 7, 327, 328, 329, 7, 408, 409, 410, 7, + 449, 450, 451, 7, 473, 474, 475, 7, 439, 440, + 441, 128, 129, 130, 131, 133, 368, 369, 370, 371, + 372, 373, 374, 7, 545, 546, 7, 507, 508, 509, + 7, 384, 385, 386, 141, 142, 143, 144, 145, 146, + 398, 399, 400, 401, 402, 403, 404, 405, 149, 150, + 151, 244, 377, 378, 379, 380, 381, 501, 503, 153, + 154, 244, 501, 503, 560, 561, 562, 564, 156, 157, + 158, 210, 501, 503, 568, 569, 570, 571, 573, 574, + 580, 7, 618, 619, 194, 195, 196, 244, 642, 643, + 644, 645, 646, 241, 7, 491, 492, 493, 136, 522, + 524, 542, 327, 8, 8, 8, 320, 322, 3, 8, + 334, 337, 339, 341, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 355, 4, 359, 361, 363, 365, + 3, 8, 8, 330, 6, 3, 411, 6, 3, 452, + 6, 3, 476, 6, 3, 442, 6, 3, 3, 6, + 547, 3, 6, 510, 6, 3, 387, 6, 3, 4, + 4, 4, 4, 4, 4, 3, 8, 4, 4, 4, + 3, 8, 563, 565, 3, 8, 4, 572, 4, 575, + 3, 8, 8, 620, 3, 6, 4, 4, 4, 3, + 8, 210, 242, 243, 494, 6, 3, 525, 8, 6, + 4, 4, 318, 4, 4, 4, 4, 211, 213, 211, + 213, 211, 211, 211, 211, 211, 211, 4, 211, 4, + 4, 4, 4, 332, 331, 329, 414, 410, 455, 451, + 479, 475, 244, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 268, 271, 272, 273, 274, 275, 276, + 279, 281, 283, 284, 285, 287, 289, 343, 406, 424, + 426, 428, 430, 431, 432, 433, 443, 444, 471, 501, + 503, 516, 518, 520, 540, 441, 369, 123, 124, 125, + 244, 254, 255, 256, 343, 445, 471, 501, 503, 516, + 518, 520, 548, 549, 550, 551, 552, 554, 556, 546, + 513, 509, 390, 386, 211, 211, 211, 211, 211, 211, + 399, 213, 211, 211, 378, 4, 4, 561, 213, 4, + 211, 4, 569, 185, 187, 188, 244, 343, 501, 503, + 621, 622, 623, 624, 626, 619, 213, 213, 213, 643, + 6, 3, 497, 493, 4, 210, 210, 39, 40, 41, + 335, 210, 210, 210, 56, 57, 58, 356, 210, 210, + 210, 210, 8, 8, 8, 8, 3, 8, 553, 555, + 4, 8, 3, 8, 8, 210, 210, 210, 229, 627, + 4, 625, 3, 8, 210, 8, 240, 444, 4, 4, + 213, 550, 4, 211, 4, 622, 210, 210, 5, 210, + 7, 628, 629, 630, 3, 6, 186, 189, 190, 191, + 192, 631, 632, 633, 635, 636, 637, 638, 629, 634, + 4, 4, 4, 639, 3, 8, 4, 213, 211, 211, + 4, 632, 210, 210 }; const short Dhcp4Parser::yyr1_[] = { - 0, 213, 215, 214, 216, 214, 217, 214, 218, 214, - 219, 214, 220, 214, 221, 214, 222, 214, 223, 214, - 224, 214, 225, 214, 226, 214, 227, 214, 228, 228, - 228, 228, 228, 228, 228, 229, 231, 230, 232, 233, - 233, 234, 234, 234, 236, 235, 237, 237, 238, 238, - 238, 240, 239, 241, 241, 242, 242, 242, 243, 245, - 244, 247, 246, 246, 248, 250, 249, 251, 251, 251, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 265, 264, 266, 268, - 267, 269, 270, 271, 272, 273, 274, 276, 275, 277, - 277, 277, 277, 277, 279, 278, 281, 280, 282, 283, - 285, 284, 287, 286, 288, 289, 290, 291, 292, 293, - 295, 294, 296, 296, 296, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 299, 298, 301, 300, 303, - 302, 304, 304, 306, 305, 307, 307, 308, 309, 310, - 311, 313, 312, 315, 314, 316, 316, 316, 317, 317, - 319, 318, 321, 320, 323, 322, 325, 324, 326, 326, - 327, 327, 327, 329, 328, 330, 330, 330, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, - 333, 332, 334, 334, 334, 336, 335, 338, 337, 340, - 339, 341, 343, 342, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 354, 353, 355, 355, 355, 356, 358, - 357, 360, 359, 362, 361, 364, 363, 366, 365, 367, - 367, 367, 368, 368, 368, 368, 368, 369, 370, 371, - 372, 373, 375, 374, 376, 376, 376, 377, 377, 377, - 377, 377, 377, 378, 379, 380, 382, 381, 383, 383, - 384, 384, 384, 386, 385, 388, 387, 389, 389, 389, - 389, 390, 390, 392, 391, 394, 393, 396, 395, 397, - 397, 397, 398, 398, 398, 398, 398, 398, 399, 400, - 401, 402, 403, 404, 406, 405, 407, 407, 408, 408, - 408, 410, 409, 412, 411, 413, 413, 413, 414, 414, - 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, - 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, - 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, - 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, - 414, 414, 414, 414, 416, 415, 418, 417, 420, 419, - 422, 421, 424, 423, 426, 425, 428, 427, 429, 430, - 431, 433, 432, 434, 434, 434, 434, 435, 437, 436, - 438, 438, 439, 439, 439, 441, 440, 442, 442, 442, - 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 445, 444, 447, 446, 448, 448, 449, 449, 449, - 451, 450, 453, 452, 454, 454, 455, 455, 455, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 457, - 458, 459, 461, 460, 463, 462, 465, 464, 466, 468, - 467, 469, 471, 470, 472, 472, 473, 473, 473, 475, - 474, 477, 476, 478, 478, 479, 479, 479, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 481, 483, 482, - 484, 485, 486, 487, 489, 488, 490, 490, 491, 491, - 491, 493, 492, 495, 494, 496, 496, 496, 497, 497, - 497, 497, 497, 497, 497, 499, 498, 501, 500, 503, - 502, 505, 504, 506, 506, 507, 507, 507, 509, 508, - 511, 510, 512, 512, 513, 513, 513, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 516, 515, 518, 517, 520, 519, 522, 521, - 524, 523, 526, 525, 528, 527, 530, 529, 532, 531, - 534, 533, 536, 535, 538, 537, 540, 539, 541, 541, - 543, 542, 544, 544, 544, 546, 545, 547, 547, 548, - 548, 548, 549, 549, 549, 549, 549, 549, 549, 549, - 549, 549, 549, 549, 549, 549, 549, 550, 552, 551, - 554, 553, 555, 556, 558, 557, 559, 559, 559, 560, - 560, 560, 560, 560, 562, 561, 564, 563, 566, 565, - 567, 567, 567, 568, 568, 568, 568, 568, 568, 569, - 571, 570, 572, 574, 573, 576, 575, 578, 577, 579, - 579, 579, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, - 581, 583, 582, 584, 586, 585, 587, 588, 590, 589, - 591, 591, 593, 592, 595, 594, 596, 597, 599, 598, - 601, 600, 603, 602, 605, 604, 607, 606, 609, 608, - 610, 610, 610, 611, 611, 613, 612, 614, 616, 615, - 617, 617, 617, 619, 618, 620, 620, 620, 621, 621, - 621, 621, 621, 621, 621, 622, 624, 623, 626, 625, - 627, 627, 627, 629, 628, 630, 630, 630, 631, 631, - 631, 631, 631, 633, 632, 634, 635, 636, 638, 637, - 640, 639, 641, 641, 641, 642, 642, 642, 643, 644 + 0, 214, 216, 215, 217, 215, 218, 215, 219, 215, + 220, 215, 221, 215, 222, 215, 223, 215, 224, 215, + 225, 215, 226, 215, 227, 215, 228, 215, 229, 229, + 229, 229, 229, 229, 229, 230, 232, 231, 233, 234, + 234, 235, 235, 235, 237, 236, 238, 238, 239, 239, + 239, 241, 240, 242, 242, 243, 243, 243, 244, 246, + 245, 248, 247, 247, 249, 251, 250, 252, 252, 252, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 266, 265, 267, 269, + 268, 270, 271, 272, 273, 274, 275, 277, 276, 278, + 278, 278, 278, 278, 280, 279, 282, 281, 283, 284, + 286, 285, 288, 287, 289, 290, 291, 292, 293, 294, + 296, 295, 297, 297, 297, 298, 298, 298, 298, 298, + 298, 298, 298, 298, 298, 300, 299, 302, 301, 304, + 303, 305, 305, 307, 306, 308, 308, 309, 310, 311, + 312, 314, 313, 316, 315, 317, 317, 317, 318, 318, + 320, 319, 322, 321, 324, 323, 326, 325, 327, 327, + 328, 328, 328, 330, 329, 331, 331, 331, 332, 332, + 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, + 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, + 334, 333, 335, 335, 335, 337, 336, 339, 338, 341, + 340, 342, 344, 343, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 355, 354, 356, 356, 356, 357, 359, + 358, 361, 360, 363, 362, 365, 364, 367, 366, 368, + 368, 368, 369, 369, 369, 369, 369, 370, 371, 372, + 373, 374, 376, 375, 377, 377, 377, 378, 378, 378, + 378, 378, 378, 379, 380, 381, 383, 382, 384, 384, + 385, 385, 385, 387, 386, 389, 388, 390, 390, 390, + 390, 391, 391, 393, 392, 395, 394, 397, 396, 398, + 398, 398, 399, 399, 399, 399, 399, 399, 400, 401, + 402, 403, 404, 405, 407, 406, 408, 408, 409, 409, + 409, 411, 410, 413, 412, 414, 414, 414, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 417, 416, 419, 418, 421, 420, + 423, 422, 425, 424, 427, 426, 429, 428, 430, 431, + 432, 434, 433, 435, 435, 435, 435, 436, 438, 437, + 439, 439, 440, 440, 440, 442, 441, 443, 443, 443, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 446, 445, 448, 447, 449, 449, 450, 450, 450, + 452, 451, 454, 453, 455, 455, 456, 456, 456, 457, + 457, 457, 457, 457, 457, 457, 457, 457, 457, 458, + 459, 460, 462, 461, 464, 463, 466, 465, 467, 469, + 468, 470, 472, 471, 473, 473, 474, 474, 474, 476, + 475, 478, 477, 479, 479, 480, 480, 480, 481, 481, + 481, 481, 481, 481, 481, 481, 481, 482, 484, 483, + 485, 486, 487, 488, 490, 489, 491, 491, 492, 492, + 492, 494, 493, 496, 495, 497, 497, 497, 498, 498, + 498, 498, 498, 498, 498, 500, 499, 502, 501, 504, + 503, 506, 505, 507, 507, 508, 508, 508, 510, 509, + 512, 511, 513, 513, 514, 514, 514, 515, 515, 515, + 515, 515, 515, 515, 515, 515, 515, 515, 515, 515, + 515, 515, 517, 516, 519, 518, 521, 520, 523, 522, + 525, 524, 527, 526, 529, 528, 531, 530, 533, 532, + 535, 534, 537, 536, 539, 538, 541, 540, 542, 542, + 544, 543, 545, 545, 545, 547, 546, 548, 548, 549, + 549, 549, 550, 550, 550, 550, 550, 550, 550, 550, + 550, 550, 550, 550, 550, 550, 550, 551, 553, 552, + 555, 554, 556, 557, 559, 558, 560, 560, 560, 561, + 561, 561, 561, 561, 563, 562, 565, 564, 567, 566, + 568, 568, 568, 569, 569, 569, 569, 569, 569, 570, + 572, 571, 573, 575, 574, 577, 576, 579, 578, 580, + 580, 580, 581, 581, 581, 581, 581, 581, 581, 581, + 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, + 582, 584, 583, 585, 587, 586, 588, 589, 591, 590, + 592, 592, 594, 593, 596, 595, 597, 598, 600, 599, + 602, 601, 604, 603, 606, 605, 608, 607, 610, 609, + 611, 611, 611, 612, 612, 614, 613, 615, 617, 616, + 618, 618, 618, 620, 619, 621, 621, 621, 622, 622, + 622, 622, 622, 622, 622, 623, 625, 624, 627, 626, + 628, 628, 628, 630, 629, 631, 631, 631, 632, 632, + 632, 632, 632, 634, 633, 635, 636, 637, 639, 638, + 641, 640, 642, 642, 642, 643, 643, 643, 643, 644, + 645, 646 }; const signed char @@ -5994,7 +6010,8 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 3, 0, 4, 0, 6, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 0, 4, - 0, 6, 1, 3, 2, 1, 1, 1, 3, 3 + 0, 6, 1, 3, 2, 1, 1, 1, 1, 3, + 3, 3 }; @@ -6068,14 +6085,15 @@ namespace isc { namespace dhcp { "\"output\"", "\"debuglevel\"", "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "\"compatibility\"", "\"lenient-option-parsing\"", "\"ignore-rai-link-selection\"", - "TOPLEVEL_JSON", "TOPLEVEL_DHCP4", "SUB_DHCP4", "SUB_INTERFACES4", - "SUB_SUBNET4", "SUB_POOL4", "SUB_RESERVATION", "SUB_OPTION_DEFS", - "SUB_OPTION_DEF", "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", - "SUB_DHCP_DDNS", "SUB_CONFIG_CONTROL", "\"constant string\"", - "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", - "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", - "$@11", "$@12", "$@13", "value", "sub_json", "map2", "$@14", "map_value", - "map_content", "not_empty_map", "list_generic", "$@15", "list_content", + "\"exclude-first-last-24\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP4", + "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4", "SUB_POOL4", + "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", + "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", + "SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"", + "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", + "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", + "$@13", "value", "sub_json", "map2", "$@14", "map_value", "map_content", + "not_empty_map", "list_generic", "$@15", "list_content", "not_empty_list", "list_strings", "$@16", "list_strings_content", "not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@17", "global_object", "$@18", "global_object_comma", "sub_dhcp4", "$@19", @@ -6181,7 +6199,7 @@ namespace isc { namespace dhcp { "output_params_list", "output_params", "output", "$@133", "flush", "maxsize", "maxver", "pattern", "$@134", "compatibility", "$@135", "compatibility_params", "compatibility_param", "lenient_option_parsing", - "ignore-rai-link-selection", YY_NULLPTR + "ignore-rai-link-selection", "exclude_first_last_24", YY_NULLPTR }; #endif @@ -6190,90 +6208,91 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 302, 302, 302, 303, 303, 304, 304, 305, 305, - 306, 306, 307, 307, 308, 308, 309, 309, 310, 310, - 311, 311, 312, 312, 313, 313, 314, 314, 322, 323, - 324, 325, 326, 327, 328, 331, 336, 336, 347, 350, - 351, 354, 359, 365, 370, 370, 377, 378, 381, 385, - 389, 395, 395, 402, 403, 406, 410, 414, 424, 433, - 433, 448, 448, 462, 465, 471, 471, 480, 481, 482, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 556, 562, 568, 574, 580, - 586, 592, 598, 604, 610, 616, 622, 622, 631, 637, - 637, 646, 652, 658, 664, 670, 676, 682, 682, 691, - 694, 697, 700, 703, 709, 709, 718, 718, 727, 733, - 739, 739, 748, 748, 757, 763, 769, 775, 781, 787, - 793, 793, 805, 806, 807, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 824, 824, 833, 833, 844, - 844, 852, 853, 856, 856, 864, 866, 870, 876, 882, - 888, 894, 894, 907, 907, 918, 919, 920, 925, 926, - 929, 929, 948, 948, 966, 966, 979, 979, 990, 991, - 994, 995, 996, 1001, 1001, 1011, 1012, 1013, 1018, 1019, - 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, - 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, - 1042, 1042, 1050, 1051, 1052, 1055, 1055, 1064, 1064, 1073, - 1073, 1082, 1088, 1088, 1097, 1103, 1109, 1115, 1121, 1127, - 1133, 1139, 1145, 1151, 1151, 1159, 1160, 1161, 1164, 1170, - 1170, 1179, 1179, 1188, 1188, 1197, 1197, 1206, 1206, 1217, - 1218, 1219, 1224, 1225, 1226, 1227, 1228, 1231, 1236, 1241, - 1246, 1251, 1258, 1258, 1271, 1272, 1273, 1278, 1279, 1280, - 1281, 1282, 1283, 1286, 1292, 1298, 1304, 1304, 1315, 1316, - 1319, 1320, 1321, 1326, 1326, 1336, 1336, 1346, 1347, 1348, - 1351, 1354, 1355, 1358, 1358, 1367, 1367, 1376, 1376, 1388, - 1389, 1390, 1395, 1396, 1397, 1398, 1399, 1400, 1403, 1409, - 1415, 1421, 1427, 1433, 1442, 1442, 1456, 1457, 1460, 1461, - 1462, 1471, 1471, 1497, 1497, 1508, 1509, 1510, 1516, 1517, - 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, - 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, - 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, - 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, - 1558, 1559, 1560, 1561, 1564, 1564, 1573, 1573, 1582, 1582, - 1591, 1591, 1600, 1600, 1609, 1609, 1618, 1618, 1629, 1635, - 1641, 1647, 1647, 1655, 1656, 1657, 1658, 1661, 1669, 1669, - 1681, 1682, 1686, 1687, 1688, 1693, 1693, 1701, 1702, 1703, - 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, - 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, - 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, - 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, - 1748, 1755, 1755, 1769, 1769, 1778, 1779, 1782, 1783, 1784, - 1791, 1791, 1806, 1806, 1820, 1821, 1824, 1825, 1826, 1831, - 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1843, - 1845, 1851, 1853, 1853, 1862, 1862, 1871, 1871, 1880, 1882, - 1882, 1891, 1901, 1901, 1914, 1915, 1920, 1921, 1922, 1929, - 1929, 1941, 1941, 1953, 1954, 1959, 1960, 1961, 1968, 1969, - 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1979, 1981, 1981, - 1990, 1992, 1994, 2000, 2009, 2009, 2022, 2023, 2026, 2027, - 2028, 2033, 2033, 2043, 2043, 2053, 2054, 2055, 2060, 2061, - 2062, 2063, 2064, 2065, 2066, 2069, 2069, 2078, 2078, 2103, - 2103, 2133, 2133, 2144, 2145, 2148, 2149, 2150, 2155, 2155, - 2164, 2164, 2173, 2174, 2177, 2178, 2179, 2185, 2186, 2187, - 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, - 2198, 2199, 2202, 2202, 2211, 2211, 2220, 2220, 2229, 2229, - 2238, 2238, 2249, 2249, 2258, 2258, 2267, 2267, 2276, 2276, - 2285, 2285, 2294, 2294, 2303, 2303, 2317, 2317, 2328, 2329, - 2335, 2335, 2346, 2347, 2348, 2353, 2353, 2363, 2364, 2367, - 2368, 2369, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, - 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2391, 2393, 2393, - 2402, 2402, 2411, 2419, 2427, 2427, 2438, 2439, 2440, 2445, - 2446, 2447, 2448, 2449, 2452, 2452, 2461, 2461, 2473, 2473, - 2486, 2487, 2488, 2493, 2494, 2495, 2496, 2497, 2498, 2501, - 2507, 2507, 2516, 2522, 2522, 2532, 2532, 2545, 2545, 2555, - 2556, 2557, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, - 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, - 2582, 2588, 2588, 2597, 2603, 2603, 2612, 2618, 2624, 2624, - 2633, 2634, 2637, 2637, 2647, 2647, 2657, 2664, 2671, 2671, - 2680, 2680, 2690, 2690, 2700, 2700, 2712, 2712, 2724, 2724, - 2734, 2735, 2736, 2742, 2743, 2746, 2746, 2757, 2765, 2765, - 2778, 2779, 2780, 2786, 2786, 2794, 2795, 2796, 2801, 2802, - 2803, 2804, 2805, 2806, 2807, 2810, 2816, 2816, 2825, 2825, - 2836, 2837, 2838, 2843, 2843, 2851, 2852, 2853, 2858, 2859, - 2860, 2861, 2862, 2865, 2865, 2874, 2880, 2886, 2892, 2892, - 2901, 2901, 2912, 2913, 2914, 2919, 2920, 2921, 2924, 2930 + 0, 303, 303, 303, 304, 304, 305, 305, 306, 306, + 307, 307, 308, 308, 309, 309, 310, 310, 311, 311, + 312, 312, 313, 313, 314, 314, 315, 315, 323, 324, + 325, 326, 327, 328, 329, 332, 337, 337, 348, 351, + 352, 355, 360, 366, 371, 371, 378, 379, 382, 386, + 390, 396, 396, 403, 404, 407, 411, 415, 425, 434, + 434, 449, 449, 463, 466, 472, 472, 481, 482, 483, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 557, 563, 569, 575, 581, + 587, 593, 599, 605, 611, 617, 623, 623, 632, 638, + 638, 647, 653, 659, 665, 671, 677, 683, 683, 692, + 695, 698, 701, 704, 710, 710, 719, 719, 728, 734, + 740, 740, 749, 749, 758, 764, 770, 776, 782, 788, + 794, 794, 806, 807, 808, 813, 814, 815, 816, 817, + 818, 819, 820, 821, 822, 825, 825, 834, 834, 845, + 845, 853, 854, 857, 857, 865, 867, 871, 877, 883, + 889, 895, 895, 908, 908, 919, 920, 921, 926, 927, + 930, 930, 949, 949, 967, 967, 980, 980, 991, 992, + 995, 996, 997, 1002, 1002, 1012, 1013, 1014, 1019, 1020, + 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, + 1043, 1043, 1051, 1052, 1053, 1056, 1056, 1065, 1065, 1074, + 1074, 1083, 1089, 1089, 1098, 1104, 1110, 1116, 1122, 1128, + 1134, 1140, 1146, 1152, 1152, 1160, 1161, 1162, 1165, 1171, + 1171, 1180, 1180, 1189, 1189, 1198, 1198, 1207, 1207, 1218, + 1219, 1220, 1225, 1226, 1227, 1228, 1229, 1232, 1237, 1242, + 1247, 1252, 1259, 1259, 1272, 1273, 1274, 1279, 1280, 1281, + 1282, 1283, 1284, 1287, 1293, 1299, 1305, 1305, 1316, 1317, + 1320, 1321, 1322, 1327, 1327, 1337, 1337, 1347, 1348, 1349, + 1352, 1355, 1356, 1359, 1359, 1368, 1368, 1377, 1377, 1389, + 1390, 1391, 1396, 1397, 1398, 1399, 1400, 1401, 1404, 1410, + 1416, 1422, 1428, 1434, 1443, 1443, 1457, 1458, 1461, 1462, + 1463, 1472, 1472, 1498, 1498, 1509, 1510, 1511, 1517, 1518, + 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, + 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, + 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, + 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, + 1559, 1560, 1561, 1562, 1565, 1565, 1574, 1574, 1583, 1583, + 1592, 1592, 1601, 1601, 1610, 1610, 1619, 1619, 1630, 1636, + 1642, 1648, 1648, 1656, 1657, 1658, 1659, 1662, 1670, 1670, + 1682, 1683, 1687, 1688, 1689, 1694, 1694, 1702, 1703, 1704, + 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, + 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, + 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, + 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, + 1749, 1756, 1756, 1770, 1770, 1779, 1780, 1783, 1784, 1785, + 1792, 1792, 1807, 1807, 1821, 1822, 1825, 1826, 1827, 1832, + 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1844, + 1846, 1852, 1854, 1854, 1863, 1863, 1872, 1872, 1881, 1883, + 1883, 1892, 1902, 1902, 1915, 1916, 1921, 1922, 1923, 1930, + 1930, 1942, 1942, 1954, 1955, 1960, 1961, 1962, 1969, 1970, + 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1980, 1982, 1982, + 1991, 1993, 1995, 2001, 2010, 2010, 2023, 2024, 2027, 2028, + 2029, 2034, 2034, 2044, 2044, 2054, 2055, 2056, 2061, 2062, + 2063, 2064, 2065, 2066, 2067, 2070, 2070, 2079, 2079, 2104, + 2104, 2134, 2134, 2145, 2146, 2149, 2150, 2151, 2156, 2156, + 2165, 2165, 2174, 2175, 2178, 2179, 2180, 2186, 2187, 2188, + 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, + 2199, 2200, 2203, 2203, 2212, 2212, 2221, 2221, 2230, 2230, + 2239, 2239, 2250, 2250, 2259, 2259, 2268, 2268, 2277, 2277, + 2286, 2286, 2295, 2295, 2304, 2304, 2318, 2318, 2329, 2330, + 2336, 2336, 2347, 2348, 2349, 2354, 2354, 2364, 2365, 2368, + 2369, 2370, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, + 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2392, 2394, 2394, + 2403, 2403, 2412, 2420, 2428, 2428, 2439, 2440, 2441, 2446, + 2447, 2448, 2449, 2450, 2453, 2453, 2462, 2462, 2474, 2474, + 2487, 2488, 2489, 2494, 2495, 2496, 2497, 2498, 2499, 2502, + 2508, 2508, 2517, 2523, 2523, 2533, 2533, 2546, 2546, 2556, + 2557, 2558, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, + 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2583, 2589, 2589, 2598, 2604, 2604, 2613, 2619, 2625, 2625, + 2634, 2635, 2638, 2638, 2648, 2648, 2658, 2665, 2672, 2672, + 2681, 2681, 2691, 2691, 2701, 2701, 2713, 2713, 2725, 2725, + 2735, 2736, 2737, 2743, 2744, 2747, 2747, 2758, 2766, 2766, + 2779, 2780, 2781, 2787, 2787, 2795, 2796, 2797, 2802, 2803, + 2804, 2805, 2806, 2807, 2808, 2811, 2817, 2817, 2826, 2826, + 2837, 2838, 2839, 2844, 2844, 2852, 2853, 2854, 2859, 2860, + 2861, 2862, 2863, 2866, 2866, 2875, 2881, 2887, 2893, 2893, + 2902, 2902, 2913, 2914, 2915, 2920, 2921, 2922, 2923, 2926, + 2932, 2938 }; void @@ -6306,9 +6325,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 6310 "dhcp4_parser.cc" +#line 6329 "dhcp4_parser.cc" -#line 2936 "dhcp4_parser.yy" +#line 2944 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index c97a6a16bc..f5ac38231d 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -692,23 +692,24 @@ namespace isc { namespace dhcp { TOKEN_COMPATIBILITY = 448, // "compatibility" TOKEN_LENIENT_OPTION_PARSING = 449, // "lenient-option-parsing" TOKEN_IGNORE_RAI_LINK_SEL = 450, // "ignore-rai-link-selection" - TOKEN_TOPLEVEL_JSON = 451, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 452, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 453, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 454, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 455, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 456, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 457, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 458, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 459, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 460, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 461, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 462, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 463, // SUB_CONFIG_CONTROL - TOKEN_STRING = 464, // "constant string" - TOKEN_INTEGER = 465, // "integer" - TOKEN_FLOAT = 466, // "floating point" - TOKEN_BOOLEAN = 467 // "boolean" + TOKEN_EXCLUDE_FIRST_LAST_24 = 451, // "exclude-first-last-24" + TOKEN_TOPLEVEL_JSON = 452, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 453, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 454, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 455, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 456, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 457, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 458, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 459, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 460, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 461, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 462, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 463, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 464, // SUB_CONFIG_CONTROL + TOKEN_STRING = 465, // "constant string" + TOKEN_INTEGER = 466, // "integer" + TOKEN_FLOAT = 467, // "floating point" + TOKEN_BOOLEAN = 468 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -725,7 +726,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 213, ///< Number of tokens. + YYNTOKENS = 214, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -923,455 +924,457 @@ namespace isc { namespace dhcp { S_COMPATIBILITY = 193, // "compatibility" S_LENIENT_OPTION_PARSING = 194, // "lenient-option-parsing" S_IGNORE_RAI_LINK_SEL = 195, // "ignore-rai-link-selection" - S_TOPLEVEL_JSON = 196, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 197, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 198, // SUB_DHCP4 - S_SUB_INTERFACES4 = 199, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 200, // SUB_SUBNET4 - S_SUB_POOL4 = 201, // SUB_POOL4 - S_SUB_RESERVATION = 202, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 203, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 204, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 205, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 206, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 207, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 208, // SUB_CONFIG_CONTROL - S_STRING = 209, // "constant string" - S_INTEGER = 210, // "integer" - S_FLOAT = 211, // "floating point" - S_BOOLEAN = 212, // "boolean" - S_YYACCEPT = 213, // $accept - S_start = 214, // start - S_215_1 = 215, // $@1 - S_216_2 = 216, // $@2 - S_217_3 = 217, // $@3 - S_218_4 = 218, // $@4 - S_219_5 = 219, // $@5 - S_220_6 = 220, // $@6 - S_221_7 = 221, // $@7 - S_222_8 = 222, // $@8 - S_223_9 = 223, // $@9 - S_224_10 = 224, // $@10 - S_225_11 = 225, // $@11 - S_226_12 = 226, // $@12 - S_227_13 = 227, // $@13 - S_value = 228, // value - S_sub_json = 229, // sub_json - S_map2 = 230, // map2 - S_231_14 = 231, // $@14 - S_map_value = 232, // map_value - S_map_content = 233, // map_content - S_not_empty_map = 234, // not_empty_map - S_list_generic = 235, // list_generic - S_236_15 = 236, // $@15 - S_list_content = 237, // list_content - S_not_empty_list = 238, // not_empty_list - S_list_strings = 239, // list_strings - S_240_16 = 240, // $@16 - S_list_strings_content = 241, // list_strings_content - S_not_empty_list_strings = 242, // not_empty_list_strings - S_unknown_map_entry = 243, // unknown_map_entry - S_syntax_map = 244, // syntax_map - S_245_17 = 245, // $@17 - S_global_object = 246, // global_object - S_247_18 = 247, // $@18 - S_global_object_comma = 248, // global_object_comma - S_sub_dhcp4 = 249, // sub_dhcp4 - S_250_19 = 250, // $@19 - S_global_params = 251, // global_params - S_global_param = 252, // global_param - S_valid_lifetime = 253, // valid_lifetime - S_min_valid_lifetime = 254, // min_valid_lifetime - S_max_valid_lifetime = 255, // max_valid_lifetime - S_renew_timer = 256, // renew_timer - S_rebind_timer = 257, // rebind_timer - S_calculate_tee_times = 258, // calculate_tee_times - S_t1_percent = 259, // t1_percent - S_t2_percent = 260, // t2_percent - S_cache_threshold = 261, // cache_threshold - S_cache_max_age = 262, // cache_max_age - S_decline_probation_period = 263, // decline_probation_period - S_server_tag = 264, // server_tag - S_265_20 = 265, // $@20 - S_parked_packet_limit = 266, // parked_packet_limit - S_allocator = 267, // allocator - S_268_21 = 268, // $@21 - S_echo_client_id = 269, // echo_client_id - S_match_client_id = 270, // match_client_id - S_authoritative = 271, // authoritative - S_ddns_send_updates = 272, // ddns_send_updates - S_ddns_override_no_update = 273, // ddns_override_no_update - S_ddns_override_client_update = 274, // ddns_override_client_update - S_ddns_replace_client_name = 275, // ddns_replace_client_name - S_276_22 = 276, // $@22 - S_ddns_replace_client_name_value = 277, // ddns_replace_client_name_value - S_ddns_generated_prefix = 278, // ddns_generated_prefix - S_279_23 = 279, // $@23 - S_ddns_qualifying_suffix = 280, // ddns_qualifying_suffix - S_281_24 = 281, // $@24 - S_ddns_update_on_renew = 282, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 283, // ddns_use_conflict_resolution - S_hostname_char_set = 284, // hostname_char_set - S_285_25 = 285, // $@25 - S_hostname_char_replacement = 286, // hostname_char_replacement - S_287_26 = 287, // $@26 - S_store_extended_info = 288, // store_extended_info - S_statistic_default_sample_count = 289, // statistic_default_sample_count - S_statistic_default_sample_age = 290, // statistic_default_sample_age - S_early_global_reservations_lookup = 291, // early_global_reservations_lookup - S_ip_reservations_unique = 292, // ip_reservations_unique - S_reservations_lookup_first = 293, // reservations_lookup_first - S_interfaces_config = 294, // interfaces_config - S_295_27 = 295, // $@27 - S_interfaces_config_params = 296, // interfaces_config_params - S_interfaces_config_param = 297, // interfaces_config_param - S_sub_interfaces4 = 298, // sub_interfaces4 - S_299_28 = 299, // $@28 - S_interfaces_list = 300, // interfaces_list - S_301_29 = 301, // $@29 - S_dhcp_socket_type = 302, // dhcp_socket_type - S_303_30 = 303, // $@30 - S_socket_type = 304, // socket_type - S_outbound_interface = 305, // outbound_interface - S_306_31 = 306, // $@31 - S_outbound_interface_value = 307, // outbound_interface_value - S_re_detect = 308, // re_detect - S_service_sockets_require_all = 309, // service_sockets_require_all - S_service_sockets_retry_wait_time = 310, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 311, // service_sockets_max_retries - S_lease_database = 312, // lease_database - S_313_32 = 313, // $@32 - S_sanity_checks = 314, // sanity_checks - S_315_33 = 315, // $@33 - S_sanity_checks_params = 316, // sanity_checks_params - S_sanity_checks_param = 317, // sanity_checks_param - S_lease_checks = 318, // lease_checks - S_319_34 = 319, // $@34 - S_extended_info_checks = 320, // extended_info_checks - S_321_35 = 321, // $@35 - S_hosts_database = 322, // hosts_database - S_323_36 = 323, // $@36 - S_hosts_databases = 324, // hosts_databases - S_325_37 = 325, // $@37 - S_database_list = 326, // database_list - S_not_empty_database_list = 327, // not_empty_database_list - S_database = 328, // database - S_329_38 = 329, // $@38 - S_database_map_params = 330, // database_map_params - S_database_map_param = 331, // database_map_param - S_database_type = 332, // database_type - S_333_39 = 333, // $@39 - S_db_type = 334, // db_type - S_user = 335, // user - S_336_40 = 336, // $@40 - S_password = 337, // password - S_338_41 = 338, // $@41 - S_host = 339, // host - S_340_42 = 340, // $@42 - S_port = 341, // port - S_name = 342, // name - S_343_43 = 343, // $@43 - S_persist = 344, // persist - S_lfc_interval = 345, // lfc_interval - S_readonly = 346, // readonly - S_connect_timeout = 347, // connect_timeout - S_read_timeout = 348, // read_timeout - S_write_timeout = 349, // write_timeout - S_tcp_user_timeout = 350, // tcp_user_timeout - S_max_reconnect_tries = 351, // max_reconnect_tries - S_reconnect_wait_time = 352, // reconnect_wait_time - S_on_fail = 353, // on_fail - S_354_44 = 354, // $@44 - S_on_fail_mode = 355, // on_fail_mode - S_max_row_errors = 356, // max_row_errors - S_trust_anchor = 357, // trust_anchor - S_358_45 = 358, // $@45 - S_cert_file = 359, // cert_file - S_360_46 = 360, // $@46 - S_key_file = 361, // key_file - S_362_47 = 362, // $@47 - S_cipher_list = 363, // cipher_list - S_364_48 = 364, // $@48 - S_host_reservation_identifiers = 365, // host_reservation_identifiers - S_366_49 = 366, // $@49 - S_host_reservation_identifiers_list = 367, // host_reservation_identifiers_list - S_host_reservation_identifier = 368, // host_reservation_identifier - S_duid_id = 369, // duid_id - S_hw_address_id = 370, // hw_address_id - S_circuit_id = 371, // circuit_id - S_client_id = 372, // client_id - S_flex_id = 373, // flex_id - S_dhcp_multi_threading = 374, // dhcp_multi_threading - S_375_50 = 375, // $@50 - S_multi_threading_params = 376, // multi_threading_params - S_multi_threading_param = 377, // multi_threading_param - S_enable_multi_threading = 378, // enable_multi_threading - S_thread_pool_size = 379, // thread_pool_size - S_packet_queue_size = 380, // packet_queue_size - S_hooks_libraries = 381, // hooks_libraries - S_382_51 = 382, // $@51 - S_hooks_libraries_list = 383, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 384, // not_empty_hooks_libraries_list - S_hooks_library = 385, // hooks_library - S_386_52 = 386, // $@52 - S_sub_hooks_library = 387, // sub_hooks_library - S_388_53 = 388, // $@53 - S_hooks_params = 389, // hooks_params - S_hooks_param = 390, // hooks_param - S_library = 391, // library - S_392_54 = 392, // $@54 - S_parameters = 393, // parameters - S_394_55 = 394, // $@55 - S_expired_leases_processing = 395, // expired_leases_processing - S_396_56 = 396, // $@56 - S_expired_leases_params = 397, // expired_leases_params - S_expired_leases_param = 398, // expired_leases_param - S_reclaim_timer_wait_time = 399, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 400, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 401, // hold_reclaimed_time - S_max_reclaim_leases = 402, // max_reclaim_leases - S_max_reclaim_time = 403, // max_reclaim_time - S_unwarned_reclaim_cycles = 404, // unwarned_reclaim_cycles - S_subnet4_list = 405, // subnet4_list - S_406_57 = 406, // $@57 - S_subnet4_list_content = 407, // subnet4_list_content - S_not_empty_subnet4_list = 408, // not_empty_subnet4_list - S_subnet4 = 409, // subnet4 - S_410_58 = 410, // $@58 - S_sub_subnet4 = 411, // sub_subnet4 - S_412_59 = 412, // $@59 - S_subnet4_params = 413, // subnet4_params - S_subnet4_param = 414, // subnet4_param - S_subnet = 415, // subnet - S_416_60 = 416, // $@60 - S_subnet_4o6_interface = 417, // subnet_4o6_interface - S_418_61 = 418, // $@61 - S_subnet_4o6_interface_id = 419, // subnet_4o6_interface_id - S_420_62 = 420, // $@62 - S_subnet_4o6_subnet = 421, // subnet_4o6_subnet - S_422_63 = 422, // $@63 - S_interface = 423, // interface - S_424_64 = 424, // $@64 - S_client_class = 425, // client_class - S_426_65 = 426, // $@65 - S_require_client_classes = 427, // require_client_classes - S_428_66 = 428, // $@66 - S_reservations_global = 429, // reservations_global - S_reservations_in_subnet = 430, // reservations_in_subnet - S_reservations_out_of_pool = 431, // reservations_out_of_pool - S_reservation_mode = 432, // reservation_mode - S_433_67 = 433, // $@67 - S_hr_mode = 434, // hr_mode - S_id = 435, // id - S_shared_networks = 436, // shared_networks - S_437_68 = 437, // $@68 - S_shared_networks_content = 438, // shared_networks_content - S_shared_networks_list = 439, // shared_networks_list - S_shared_network = 440, // shared_network - S_441_69 = 441, // $@69 - S_shared_network_params = 442, // shared_network_params - S_shared_network_param = 443, // shared_network_param - S_option_def_list = 444, // option_def_list - S_445_70 = 445, // $@70 - S_sub_option_def_list = 446, // sub_option_def_list - S_447_71 = 447, // $@71 - S_option_def_list_content = 448, // option_def_list_content - S_not_empty_option_def_list = 449, // not_empty_option_def_list - S_option_def_entry = 450, // option_def_entry - S_451_72 = 451, // $@72 - S_sub_option_def = 452, // sub_option_def - S_453_73 = 453, // $@73 - S_option_def_params = 454, // option_def_params - S_not_empty_option_def_params = 455, // not_empty_option_def_params - S_option_def_param = 456, // option_def_param - S_option_def_name = 457, // option_def_name - S_code = 458, // code - S_option_def_code = 459, // option_def_code - S_option_def_type = 460, // option_def_type - S_461_74 = 461, // $@74 - S_option_def_record_types = 462, // option_def_record_types - S_463_75 = 463, // $@75 - S_space = 464, // space - S_465_76 = 465, // $@76 - S_option_def_space = 466, // option_def_space - S_option_def_encapsulate = 467, // option_def_encapsulate - S_468_77 = 468, // $@77 - S_option_def_array = 469, // option_def_array - S_option_data_list = 470, // option_data_list - S_471_78 = 471, // $@78 - S_option_data_list_content = 472, // option_data_list_content - S_not_empty_option_data_list = 473, // not_empty_option_data_list - S_option_data_entry = 474, // option_data_entry - S_475_79 = 475, // $@79 - S_sub_option_data = 476, // sub_option_data - S_477_80 = 477, // $@80 - S_option_data_params = 478, // option_data_params - S_not_empty_option_data_params = 479, // not_empty_option_data_params - S_option_data_param = 480, // option_data_param - S_option_data_name = 481, // option_data_name - S_option_data_data = 482, // option_data_data - S_483_81 = 483, // $@81 - S_option_data_code = 484, // option_data_code - S_option_data_space = 485, // option_data_space - S_option_data_csv_format = 486, // option_data_csv_format - S_option_data_always_send = 487, // option_data_always_send - S_pools_list = 488, // pools_list - S_489_82 = 489, // $@82 - S_pools_list_content = 490, // pools_list_content - S_not_empty_pools_list = 491, // not_empty_pools_list - S_pool_list_entry = 492, // pool_list_entry - S_493_83 = 493, // $@83 - S_sub_pool4 = 494, // sub_pool4 - S_495_84 = 495, // $@84 - S_pool_params = 496, // pool_params - S_pool_param = 497, // pool_param - S_pool_entry = 498, // pool_entry - S_499_85 = 499, // $@85 - S_user_context = 500, // user_context - S_501_86 = 501, // $@86 - S_comment = 502, // comment - S_503_87 = 503, // $@87 - S_reservations = 504, // reservations - S_505_88 = 505, // $@88 - S_reservations_list = 506, // reservations_list - S_not_empty_reservations_list = 507, // not_empty_reservations_list - S_reservation = 508, // reservation - S_509_89 = 509, // $@89 - S_sub_reservation = 510, // sub_reservation - S_511_90 = 511, // $@90 - S_reservation_params = 512, // reservation_params - S_not_empty_reservation_params = 513, // not_empty_reservation_params - S_reservation_param = 514, // reservation_param - S_next_server = 515, // next_server - S_516_91 = 516, // $@91 - S_server_hostname = 517, // server_hostname - S_518_92 = 518, // $@92 - S_boot_file_name = 519, // boot_file_name - S_520_93 = 520, // $@93 - S_ip_address = 521, // ip_address - S_522_94 = 522, // $@94 - S_ip_addresses = 523, // ip_addresses - S_524_95 = 524, // $@95 - S_duid = 525, // duid - S_526_96 = 526, // $@96 - S_hw_address = 527, // hw_address - S_528_97 = 528, // $@97 - S_client_id_value = 529, // client_id_value - S_530_98 = 530, // $@98 - S_circuit_id_value = 531, // circuit_id_value - S_532_99 = 532, // $@99 - S_flex_id_value = 533, // flex_id_value - S_534_100 = 534, // $@100 - S_hostname = 535, // hostname - S_536_101 = 536, // $@101 - S_reservation_client_classes = 537, // reservation_client_classes - S_538_102 = 538, // $@102 - S_relay = 539, // relay - S_540_103 = 540, // $@103 - S_relay_map = 541, // relay_map - S_client_classes = 542, // client_classes - S_543_104 = 543, // $@104 - S_client_classes_list = 544, // client_classes_list - S_client_class_entry = 545, // client_class_entry - S_546_105 = 546, // $@105 - S_client_class_params = 547, // client_class_params - S_not_empty_client_class_params = 548, // not_empty_client_class_params - S_client_class_param = 549, // client_class_param - S_client_class_name = 550, // client_class_name - S_client_class_test = 551, // client_class_test - S_552_106 = 552, // $@106 - S_client_class_template_test = 553, // client_class_template_test - S_554_107 = 554, // $@107 - S_only_if_required = 555, // only_if_required - S_dhcp4o6_port = 556, // dhcp4o6_port - S_control_socket = 557, // control_socket - S_558_108 = 558, // $@108 - S_control_socket_params = 559, // control_socket_params - S_control_socket_param = 560, // control_socket_param - S_control_socket_type = 561, // control_socket_type - S_562_109 = 562, // $@109 - S_control_socket_name = 563, // control_socket_name - S_564_110 = 564, // $@110 - S_dhcp_queue_control = 565, // dhcp_queue_control - S_566_111 = 566, // $@111 - S_queue_control_params = 567, // queue_control_params - S_queue_control_param = 568, // queue_control_param - S_enable_queue = 569, // enable_queue - S_queue_type = 570, // queue_type - S_571_112 = 571, // $@112 - S_capacity = 572, // capacity - S_arbitrary_map_entry = 573, // arbitrary_map_entry - S_574_113 = 574, // $@113 - S_dhcp_ddns = 575, // dhcp_ddns - S_576_114 = 576, // $@114 - S_sub_dhcp_ddns = 577, // sub_dhcp_ddns - S_578_115 = 578, // $@115 - S_dhcp_ddns_params = 579, // dhcp_ddns_params - S_dhcp_ddns_param = 580, // dhcp_ddns_param - S_enable_updates = 581, // enable_updates - S_server_ip = 582, // server_ip - S_583_116 = 583, // $@116 - S_server_port = 584, // server_port - S_sender_ip = 585, // sender_ip - S_586_117 = 586, // $@117 - S_sender_port = 587, // sender_port - S_max_queue_size = 588, // max_queue_size - S_ncr_protocol = 589, // ncr_protocol - S_590_118 = 590, // $@118 - S_ncr_protocol_value = 591, // ncr_protocol_value - S_ncr_format = 592, // ncr_format - S_593_119 = 593, // $@119 - S_dep_qualifying_suffix = 594, // dep_qualifying_suffix - S_595_120 = 595, // $@120 - S_dep_override_no_update = 596, // dep_override_no_update - S_dep_override_client_update = 597, // dep_override_client_update - S_dep_replace_client_name = 598, // dep_replace_client_name - S_599_121 = 599, // $@121 - S_dep_generated_prefix = 600, // dep_generated_prefix - S_601_122 = 601, // $@122 - S_dep_hostname_char_set = 602, // dep_hostname_char_set - S_603_123 = 603, // $@123 - S_dep_hostname_char_replacement = 604, // dep_hostname_char_replacement - S_605_124 = 605, // $@124 - S_config_control = 606, // config_control - S_607_125 = 607, // $@125 - S_sub_config_control = 608, // sub_config_control - S_609_126 = 609, // $@126 - S_config_control_params = 610, // config_control_params - S_config_control_param = 611, // config_control_param - S_config_databases = 612, // config_databases - S_613_127 = 613, // $@127 - S_config_fetch_wait_time = 614, // config_fetch_wait_time - S_loggers = 615, // loggers - S_616_128 = 616, // $@128 - S_loggers_entries = 617, // loggers_entries - S_logger_entry = 618, // logger_entry - S_619_129 = 619, // $@129 - S_logger_params = 620, // logger_params - S_logger_param = 621, // logger_param - S_debuglevel = 622, // debuglevel - S_severity = 623, // severity - S_624_130 = 624, // $@130 - S_output_options_list = 625, // output_options_list - S_626_131 = 626, // $@131 - S_output_options_list_content = 627, // output_options_list_content - S_output_entry = 628, // output_entry - S_629_132 = 629, // $@132 - S_output_params_list = 630, // output_params_list - S_output_params = 631, // output_params - S_output = 632, // output - S_633_133 = 633, // $@133 - S_flush = 634, // flush - S_maxsize = 635, // maxsize - S_maxver = 636, // maxver - S_pattern = 637, // pattern - S_638_134 = 638, // $@134 - S_compatibility = 639, // compatibility - S_640_135 = 640, // $@135 - S_compatibility_params = 641, // compatibility_params - S_compatibility_param = 642, // compatibility_param - S_lenient_option_parsing = 643, // lenient_option_parsing - S_644_ignore_rai_link_selection = 644 // ignore-rai-link-selection + S_EXCLUDE_FIRST_LAST_24 = 196, // "exclude-first-last-24" + S_TOPLEVEL_JSON = 197, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 198, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 199, // SUB_DHCP4 + S_SUB_INTERFACES4 = 200, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 201, // SUB_SUBNET4 + S_SUB_POOL4 = 202, // SUB_POOL4 + S_SUB_RESERVATION = 203, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 204, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 205, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 206, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 207, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 208, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 209, // SUB_CONFIG_CONTROL + S_STRING = 210, // "constant string" + S_INTEGER = 211, // "integer" + S_FLOAT = 212, // "floating point" + S_BOOLEAN = 213, // "boolean" + S_YYACCEPT = 214, // $accept + S_start = 215, // start + S_216_1 = 216, // $@1 + S_217_2 = 217, // $@2 + S_218_3 = 218, // $@3 + S_219_4 = 219, // $@4 + S_220_5 = 220, // $@5 + S_221_6 = 221, // $@6 + S_222_7 = 222, // $@7 + S_223_8 = 223, // $@8 + S_224_9 = 224, // $@9 + S_225_10 = 225, // $@10 + S_226_11 = 226, // $@11 + S_227_12 = 227, // $@12 + S_228_13 = 228, // $@13 + S_value = 229, // value + S_sub_json = 230, // sub_json + S_map2 = 231, // map2 + S_232_14 = 232, // $@14 + S_map_value = 233, // map_value + S_map_content = 234, // map_content + S_not_empty_map = 235, // not_empty_map + S_list_generic = 236, // list_generic + S_237_15 = 237, // $@15 + S_list_content = 238, // list_content + S_not_empty_list = 239, // not_empty_list + S_list_strings = 240, // list_strings + S_241_16 = 241, // $@16 + S_list_strings_content = 242, // list_strings_content + S_not_empty_list_strings = 243, // not_empty_list_strings + S_unknown_map_entry = 244, // unknown_map_entry + S_syntax_map = 245, // syntax_map + S_246_17 = 246, // $@17 + S_global_object = 247, // global_object + S_248_18 = 248, // $@18 + S_global_object_comma = 249, // global_object_comma + S_sub_dhcp4 = 250, // sub_dhcp4 + S_251_19 = 251, // $@19 + S_global_params = 252, // global_params + S_global_param = 253, // global_param + S_valid_lifetime = 254, // valid_lifetime + S_min_valid_lifetime = 255, // min_valid_lifetime + S_max_valid_lifetime = 256, // max_valid_lifetime + S_renew_timer = 257, // renew_timer + S_rebind_timer = 258, // rebind_timer + S_calculate_tee_times = 259, // calculate_tee_times + S_t1_percent = 260, // t1_percent + S_t2_percent = 261, // t2_percent + S_cache_threshold = 262, // cache_threshold + S_cache_max_age = 263, // cache_max_age + S_decline_probation_period = 264, // decline_probation_period + S_server_tag = 265, // server_tag + S_266_20 = 266, // $@20 + S_parked_packet_limit = 267, // parked_packet_limit + S_allocator = 268, // allocator + S_269_21 = 269, // $@21 + S_echo_client_id = 270, // echo_client_id + S_match_client_id = 271, // match_client_id + S_authoritative = 272, // authoritative + S_ddns_send_updates = 273, // ddns_send_updates + S_ddns_override_no_update = 274, // ddns_override_no_update + S_ddns_override_client_update = 275, // ddns_override_client_update + S_ddns_replace_client_name = 276, // ddns_replace_client_name + S_277_22 = 277, // $@22 + S_ddns_replace_client_name_value = 278, // ddns_replace_client_name_value + S_ddns_generated_prefix = 279, // ddns_generated_prefix + S_280_23 = 280, // $@23 + S_ddns_qualifying_suffix = 281, // ddns_qualifying_suffix + S_282_24 = 282, // $@24 + S_ddns_update_on_renew = 283, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 284, // ddns_use_conflict_resolution + S_hostname_char_set = 285, // hostname_char_set + S_286_25 = 286, // $@25 + S_hostname_char_replacement = 287, // hostname_char_replacement + S_288_26 = 288, // $@26 + S_store_extended_info = 289, // store_extended_info + S_statistic_default_sample_count = 290, // statistic_default_sample_count + S_statistic_default_sample_age = 291, // statistic_default_sample_age + S_early_global_reservations_lookup = 292, // early_global_reservations_lookup + S_ip_reservations_unique = 293, // ip_reservations_unique + S_reservations_lookup_first = 294, // reservations_lookup_first + S_interfaces_config = 295, // interfaces_config + S_296_27 = 296, // $@27 + S_interfaces_config_params = 297, // interfaces_config_params + S_interfaces_config_param = 298, // interfaces_config_param + S_sub_interfaces4 = 299, // sub_interfaces4 + S_300_28 = 300, // $@28 + S_interfaces_list = 301, // interfaces_list + S_302_29 = 302, // $@29 + S_dhcp_socket_type = 303, // dhcp_socket_type + S_304_30 = 304, // $@30 + S_socket_type = 305, // socket_type + S_outbound_interface = 306, // outbound_interface + S_307_31 = 307, // $@31 + S_outbound_interface_value = 308, // outbound_interface_value + S_re_detect = 309, // re_detect + S_service_sockets_require_all = 310, // service_sockets_require_all + S_service_sockets_retry_wait_time = 311, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 312, // service_sockets_max_retries + S_lease_database = 313, // lease_database + S_314_32 = 314, // $@32 + S_sanity_checks = 315, // sanity_checks + S_316_33 = 316, // $@33 + S_sanity_checks_params = 317, // sanity_checks_params + S_sanity_checks_param = 318, // sanity_checks_param + S_lease_checks = 319, // lease_checks + S_320_34 = 320, // $@34 + S_extended_info_checks = 321, // extended_info_checks + S_322_35 = 322, // $@35 + S_hosts_database = 323, // hosts_database + S_324_36 = 324, // $@36 + S_hosts_databases = 325, // hosts_databases + S_326_37 = 326, // $@37 + S_database_list = 327, // database_list + S_not_empty_database_list = 328, // not_empty_database_list + S_database = 329, // database + S_330_38 = 330, // $@38 + S_database_map_params = 331, // database_map_params + S_database_map_param = 332, // database_map_param + S_database_type = 333, // database_type + S_334_39 = 334, // $@39 + S_db_type = 335, // db_type + S_user = 336, // user + S_337_40 = 337, // $@40 + S_password = 338, // password + S_339_41 = 339, // $@41 + S_host = 340, // host + S_341_42 = 341, // $@42 + S_port = 342, // port + S_name = 343, // name + S_344_43 = 344, // $@43 + S_persist = 345, // persist + S_lfc_interval = 346, // lfc_interval + S_readonly = 347, // readonly + S_connect_timeout = 348, // connect_timeout + S_read_timeout = 349, // read_timeout + S_write_timeout = 350, // write_timeout + S_tcp_user_timeout = 351, // tcp_user_timeout + S_max_reconnect_tries = 352, // max_reconnect_tries + S_reconnect_wait_time = 353, // reconnect_wait_time + S_on_fail = 354, // on_fail + S_355_44 = 355, // $@44 + S_on_fail_mode = 356, // on_fail_mode + S_max_row_errors = 357, // max_row_errors + S_trust_anchor = 358, // trust_anchor + S_359_45 = 359, // $@45 + S_cert_file = 360, // cert_file + S_361_46 = 361, // $@46 + S_key_file = 362, // key_file + S_363_47 = 363, // $@47 + S_cipher_list = 364, // cipher_list + S_365_48 = 365, // $@48 + S_host_reservation_identifiers = 366, // host_reservation_identifiers + S_367_49 = 367, // $@49 + S_host_reservation_identifiers_list = 368, // host_reservation_identifiers_list + S_host_reservation_identifier = 369, // host_reservation_identifier + S_duid_id = 370, // duid_id + S_hw_address_id = 371, // hw_address_id + S_circuit_id = 372, // circuit_id + S_client_id = 373, // client_id + S_flex_id = 374, // flex_id + S_dhcp_multi_threading = 375, // dhcp_multi_threading + S_376_50 = 376, // $@50 + S_multi_threading_params = 377, // multi_threading_params + S_multi_threading_param = 378, // multi_threading_param + S_enable_multi_threading = 379, // enable_multi_threading + S_thread_pool_size = 380, // thread_pool_size + S_packet_queue_size = 381, // packet_queue_size + S_hooks_libraries = 382, // hooks_libraries + S_383_51 = 383, // $@51 + S_hooks_libraries_list = 384, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 385, // not_empty_hooks_libraries_list + S_hooks_library = 386, // hooks_library + S_387_52 = 387, // $@52 + S_sub_hooks_library = 388, // sub_hooks_library + S_389_53 = 389, // $@53 + S_hooks_params = 390, // hooks_params + S_hooks_param = 391, // hooks_param + S_library = 392, // library + S_393_54 = 393, // $@54 + S_parameters = 394, // parameters + S_395_55 = 395, // $@55 + S_expired_leases_processing = 396, // expired_leases_processing + S_397_56 = 397, // $@56 + S_expired_leases_params = 398, // expired_leases_params + S_expired_leases_param = 399, // expired_leases_param + S_reclaim_timer_wait_time = 400, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 401, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 402, // hold_reclaimed_time + S_max_reclaim_leases = 403, // max_reclaim_leases + S_max_reclaim_time = 404, // max_reclaim_time + S_unwarned_reclaim_cycles = 405, // unwarned_reclaim_cycles + S_subnet4_list = 406, // subnet4_list + S_407_57 = 407, // $@57 + S_subnet4_list_content = 408, // subnet4_list_content + S_not_empty_subnet4_list = 409, // not_empty_subnet4_list + S_subnet4 = 410, // subnet4 + S_411_58 = 411, // $@58 + S_sub_subnet4 = 412, // sub_subnet4 + S_413_59 = 413, // $@59 + S_subnet4_params = 414, // subnet4_params + S_subnet4_param = 415, // subnet4_param + S_subnet = 416, // subnet + S_417_60 = 417, // $@60 + S_subnet_4o6_interface = 418, // subnet_4o6_interface + S_419_61 = 419, // $@61 + S_subnet_4o6_interface_id = 420, // subnet_4o6_interface_id + S_421_62 = 421, // $@62 + S_subnet_4o6_subnet = 422, // subnet_4o6_subnet + S_423_63 = 423, // $@63 + S_interface = 424, // interface + S_425_64 = 425, // $@64 + S_client_class = 426, // client_class + S_427_65 = 427, // $@65 + S_require_client_classes = 428, // require_client_classes + S_429_66 = 429, // $@66 + S_reservations_global = 430, // reservations_global + S_reservations_in_subnet = 431, // reservations_in_subnet + S_reservations_out_of_pool = 432, // reservations_out_of_pool + S_reservation_mode = 433, // reservation_mode + S_434_67 = 434, // $@67 + S_hr_mode = 435, // hr_mode + S_id = 436, // id + S_shared_networks = 437, // shared_networks + S_438_68 = 438, // $@68 + S_shared_networks_content = 439, // shared_networks_content + S_shared_networks_list = 440, // shared_networks_list + S_shared_network = 441, // shared_network + S_442_69 = 442, // $@69 + S_shared_network_params = 443, // shared_network_params + S_shared_network_param = 444, // shared_network_param + S_option_def_list = 445, // option_def_list + S_446_70 = 446, // $@70 + S_sub_option_def_list = 447, // sub_option_def_list + S_448_71 = 448, // $@71 + S_option_def_list_content = 449, // option_def_list_content + S_not_empty_option_def_list = 450, // not_empty_option_def_list + S_option_def_entry = 451, // option_def_entry + S_452_72 = 452, // $@72 + S_sub_option_def = 453, // sub_option_def + S_454_73 = 454, // $@73 + S_option_def_params = 455, // option_def_params + S_not_empty_option_def_params = 456, // not_empty_option_def_params + S_option_def_param = 457, // option_def_param + S_option_def_name = 458, // option_def_name + S_code = 459, // code + S_option_def_code = 460, // option_def_code + S_option_def_type = 461, // option_def_type + S_462_74 = 462, // $@74 + S_option_def_record_types = 463, // option_def_record_types + S_464_75 = 464, // $@75 + S_space = 465, // space + S_466_76 = 466, // $@76 + S_option_def_space = 467, // option_def_space + S_option_def_encapsulate = 468, // option_def_encapsulate + S_469_77 = 469, // $@77 + S_option_def_array = 470, // option_def_array + S_option_data_list = 471, // option_data_list + S_472_78 = 472, // $@78 + S_option_data_list_content = 473, // option_data_list_content + S_not_empty_option_data_list = 474, // not_empty_option_data_list + S_option_data_entry = 475, // option_data_entry + S_476_79 = 476, // $@79 + S_sub_option_data = 477, // sub_option_data + S_478_80 = 478, // $@80 + S_option_data_params = 479, // option_data_params + S_not_empty_option_data_params = 480, // not_empty_option_data_params + S_option_data_param = 481, // option_data_param + S_option_data_name = 482, // option_data_name + S_option_data_data = 483, // option_data_data + S_484_81 = 484, // $@81 + S_option_data_code = 485, // option_data_code + S_option_data_space = 486, // option_data_space + S_option_data_csv_format = 487, // option_data_csv_format + S_option_data_always_send = 488, // option_data_always_send + S_pools_list = 489, // pools_list + S_490_82 = 490, // $@82 + S_pools_list_content = 491, // pools_list_content + S_not_empty_pools_list = 492, // not_empty_pools_list + S_pool_list_entry = 493, // pool_list_entry + S_494_83 = 494, // $@83 + S_sub_pool4 = 495, // sub_pool4 + S_496_84 = 496, // $@84 + S_pool_params = 497, // pool_params + S_pool_param = 498, // pool_param + S_pool_entry = 499, // pool_entry + S_500_85 = 500, // $@85 + S_user_context = 501, // user_context + S_502_86 = 502, // $@86 + S_comment = 503, // comment + S_504_87 = 504, // $@87 + S_reservations = 505, // reservations + S_506_88 = 506, // $@88 + S_reservations_list = 507, // reservations_list + S_not_empty_reservations_list = 508, // not_empty_reservations_list + S_reservation = 509, // reservation + S_510_89 = 510, // $@89 + S_sub_reservation = 511, // sub_reservation + S_512_90 = 512, // $@90 + S_reservation_params = 513, // reservation_params + S_not_empty_reservation_params = 514, // not_empty_reservation_params + S_reservation_param = 515, // reservation_param + S_next_server = 516, // next_server + S_517_91 = 517, // $@91 + S_server_hostname = 518, // server_hostname + S_519_92 = 519, // $@92 + S_boot_file_name = 520, // boot_file_name + S_521_93 = 521, // $@93 + S_ip_address = 522, // ip_address + S_523_94 = 523, // $@94 + S_ip_addresses = 524, // ip_addresses + S_525_95 = 525, // $@95 + S_duid = 526, // duid + S_527_96 = 527, // $@96 + S_hw_address = 528, // hw_address + S_529_97 = 529, // $@97 + S_client_id_value = 530, // client_id_value + S_531_98 = 531, // $@98 + S_circuit_id_value = 532, // circuit_id_value + S_533_99 = 533, // $@99 + S_flex_id_value = 534, // flex_id_value + S_535_100 = 535, // $@100 + S_hostname = 536, // hostname + S_537_101 = 537, // $@101 + S_reservation_client_classes = 538, // reservation_client_classes + S_539_102 = 539, // $@102 + S_relay = 540, // relay + S_541_103 = 541, // $@103 + S_relay_map = 542, // relay_map + S_client_classes = 543, // client_classes + S_544_104 = 544, // $@104 + S_client_classes_list = 545, // client_classes_list + S_client_class_entry = 546, // client_class_entry + S_547_105 = 547, // $@105 + S_client_class_params = 548, // client_class_params + S_not_empty_client_class_params = 549, // not_empty_client_class_params + S_client_class_param = 550, // client_class_param + S_client_class_name = 551, // client_class_name + S_client_class_test = 552, // client_class_test + S_553_106 = 553, // $@106 + S_client_class_template_test = 554, // client_class_template_test + S_555_107 = 555, // $@107 + S_only_if_required = 556, // only_if_required + S_dhcp4o6_port = 557, // dhcp4o6_port + S_control_socket = 558, // control_socket + S_559_108 = 559, // $@108 + S_control_socket_params = 560, // control_socket_params + S_control_socket_param = 561, // control_socket_param + S_control_socket_type = 562, // control_socket_type + S_563_109 = 563, // $@109 + S_control_socket_name = 564, // control_socket_name + S_565_110 = 565, // $@110 + S_dhcp_queue_control = 566, // dhcp_queue_control + S_567_111 = 567, // $@111 + S_queue_control_params = 568, // queue_control_params + S_queue_control_param = 569, // queue_control_param + S_enable_queue = 570, // enable_queue + S_queue_type = 571, // queue_type + S_572_112 = 572, // $@112 + S_capacity = 573, // capacity + S_arbitrary_map_entry = 574, // arbitrary_map_entry + S_575_113 = 575, // $@113 + S_dhcp_ddns = 576, // dhcp_ddns + S_577_114 = 577, // $@114 + S_sub_dhcp_ddns = 578, // sub_dhcp_ddns + S_579_115 = 579, // $@115 + S_dhcp_ddns_params = 580, // dhcp_ddns_params + S_dhcp_ddns_param = 581, // dhcp_ddns_param + S_enable_updates = 582, // enable_updates + S_server_ip = 583, // server_ip + S_584_116 = 584, // $@116 + S_server_port = 585, // server_port + S_sender_ip = 586, // sender_ip + S_587_117 = 587, // $@117 + S_sender_port = 588, // sender_port + S_max_queue_size = 589, // max_queue_size + S_ncr_protocol = 590, // ncr_protocol + S_591_118 = 591, // $@118 + S_ncr_protocol_value = 592, // ncr_protocol_value + S_ncr_format = 593, // ncr_format + S_594_119 = 594, // $@119 + S_dep_qualifying_suffix = 595, // dep_qualifying_suffix + S_596_120 = 596, // $@120 + S_dep_override_no_update = 597, // dep_override_no_update + S_dep_override_client_update = 598, // dep_override_client_update + S_dep_replace_client_name = 599, // dep_replace_client_name + S_600_121 = 600, // $@121 + S_dep_generated_prefix = 601, // dep_generated_prefix + S_602_122 = 602, // $@122 + S_dep_hostname_char_set = 603, // dep_hostname_char_set + S_604_123 = 604, // $@123 + S_dep_hostname_char_replacement = 605, // dep_hostname_char_replacement + S_606_124 = 606, // $@124 + S_config_control = 607, // config_control + S_608_125 = 608, // $@125 + S_sub_config_control = 609, // sub_config_control + S_610_126 = 610, // $@126 + S_config_control_params = 611, // config_control_params + S_config_control_param = 612, // config_control_param + S_config_databases = 613, // config_databases + S_614_127 = 614, // $@127 + S_config_fetch_wait_time = 615, // config_fetch_wait_time + S_loggers = 616, // loggers + S_617_128 = 617, // $@128 + S_loggers_entries = 618, // loggers_entries + S_logger_entry = 619, // logger_entry + S_620_129 = 620, // $@129 + S_logger_params = 621, // logger_params + S_logger_param = 622, // logger_param + S_debuglevel = 623, // debuglevel + S_severity = 624, // severity + S_625_130 = 625, // $@130 + S_output_options_list = 626, // output_options_list + S_627_131 = 627, // $@131 + S_output_options_list_content = 628, // output_options_list_content + S_output_entry = 629, // output_entry + S_630_132 = 630, // $@132 + S_output_params_list = 631, // output_params_list + S_output_params = 632, // output_params + S_output = 633, // output + S_634_133 = 634, // $@133 + S_flush = 635, // flush + S_maxsize = 636, // maxsize + S_maxver = 637, // maxver + S_pattern = 638, // pattern + S_639_134 = 639, // $@134 + S_compatibility = 640, // compatibility + S_641_135 = 641, // $@135 + S_compatibility_params = 642, // compatibility_params + S_compatibility_param = 643, // compatibility_param + S_lenient_option_parsing = 644, // lenient_option_parsing + S_645_ignore_rai_link_selection = 645, // ignore-rai-link-selection + S_exclude_first_last_24 = 646 // exclude_first_last_24 }; }; @@ -4718,6 +4721,21 @@ switch (yykind) return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_EXCLUDE_FIRST_LAST_24 (location_type l) + { + return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l)); + } +#else + static + symbol_type + make_EXCLUDE_FIRST_LAST_24 (const location_type& l) + { + return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5303,8 +5321,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1475, ///< Last index in yytable_. - yynnts_ = 432, ///< Number of nonterminal symbols. + yylast_ = 1485, ///< Last index in yytable_. + yynnts_ = 433, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5370,10 +5388,10 @@ switch (yykind) 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212 + 205, 206, 207, 208, 209, 210, 211, 212, 213 }; // Last valid token kind. - const int code_max = 467; + const int code_max = 468; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5546,7 +5564,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5550 "dhcp4_parser.h" +#line 5568 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 860fbfa0c9..cd317e948d 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,3 +1,4 @@ +// Generated 202303091311 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index 4fb140a70e..90b58af7d4 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,3 +1,4 @@ +// Generated 202303091311 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++