EXPECT_TRUE(pool);
}
+ /// @brief Tests if the current config has a given global parameter value
+ /// @param name name of the global parameter expected to exist
+ /// @param value expected value of the global parameter
template <typename ValueType>
void checkGlobal(const std::string name, ValueType value) {
ConstElementPtr param;
EXPECT_EQ(dhcp_ddns::NCR_UDP, d2_client_config->getNcrProtocol());
EXPECT_EQ(dhcp_ddns::FMT_JSON, d2_client_config->getNcrFormat());
+ // ddns-send-updates should be global default
+ checkGlobal("ddns-send-updates", true);
+
// The following, deprecated dhcp-ddns parameters,
// should all have global default values.
checkGlobal("ddns-send-updates", true);
subnet_->setDdnsOverrideNoUpdate(mask & OVERRIDE_NO_UPDATE);
subnet_->setDdnsOverrideClientUpdate(mask & OVERRIDE_CLIENT_UPDATE);
subnet_->setDdnsReplaceClientNameMode((mask & REPLACE_CLIENT_NAME) ?
- D2ClientConfig::RCM_WHEN_PRESENT
- : D2ClientConfig::RCM_NEVER);
+ D2ClientConfig::RCM_WHEN_PRESENT
+ : D2ClientConfig::RCM_NEVER);
subnet_->setDdnsGeneratedPrefix("myhost");
subnet_->setDdnsQualifyingSuffix("example.com");
isc::config::parseAnswer(rcode, result);
if (rcode == CONTROL_RESULT_SUCCESS) {
CfgMgr::instance().getStagingCfg()->applyLoggingCfg();
-
- // Update the fetch globals callback.
- auto cfg = CfgMgr::instance().getStagingCfg()->getD2ClientConfig();
- cfg->setFetchGlobalsFn([]() -> ConstElementPtr {
- return (CfgMgr::instance().getCurrentCfg()->getConfiguredGlobals());
- });
-
// Use new configuration.
CfgMgr::instance().commit();
} else {
-#line 1 "dhcp6_lexer.cc"
+#line 2 "dhcp6_lexer.cc"
-#line 3 "dhcp6_lexer.cc"
+#line 4 "dhcp6_lexer.cc"
#define YY_INT_ALIGNED short int
/* %% [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 192
-#define YY_END_OF_BUFFER 193
+#define YY_NUM_RULES 198
+#define YY_END_OF_BUFFER 199
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[1631] =
+static const flex_int16_t yy_accept[1736] =
{ 0,
- 185, 185, 0, 0, 0, 0, 0, 0, 0, 0,
- 193, 191, 10, 11, 191, 1, 185, 182, 185, 185,
- 191, 184, 183, 191, 191, 191, 191, 191, 178, 179,
- 191, 191, 191, 180, 181, 5, 5, 5, 191, 191,
- 191, 10, 11, 0, 0, 174, 0, 0, 0, 0,
+ 191, 191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 199, 197, 10, 11, 197, 1, 191, 188, 191, 191,
+ 197, 190, 189, 197, 197, 197, 197, 197, 184, 185,
+ 197, 197, 197, 186, 187, 5, 5, 5, 197, 197,
+ 197, 10, 11, 0, 0, 180, 0, 0, 0, 0,
0, 0, 0, 0, 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, 185,
- 185, 0, 184, 185, 3, 2, 6, 0, 185, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 191,
+ 191, 0, 190, 191, 3, 2, 6, 0, 191, 0,
0, 0, 0, 0, 0, 4, 0, 0, 9, 0,
- 175, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
+ 181, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 183, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 0, 0, 0, 0, 0, 8,
- 0, 0, 0, 0, 152, 0, 0, 153, 0, 0,
+ 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 8, 0, 0, 0, 0, 158, 0, 0, 159, 0,
- 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 182, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
-
- 188, 0, 187, 186, 0, 0, 0, 0, 0, 0,
- 0, 151, 0, 0, 28, 0, 27, 0, 0, 110,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 55, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 196, 194, 0, 193, 192, 0, 0, 0, 0,
+ 0, 0, 0, 157, 0, 0, 28, 0, 27, 0,
+ 0, 116, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 55, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 107, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 189, 186, 0, 0,
- 0, 0, 0, 0, 0, 0, 29, 0, 0, 31,
- 0, 0, 0, 0, 0, 0, 111, 0, 0, 0,
- 0, 0, 0, 0, 88, 0, 0, 0, 0, 0,
- 0, 0, 136, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 58, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
+ 192, 0, 0, 0, 0, 0, 0, 0, 0, 29,
+ 0, 0, 31, 0, 0, 0, 0, 0, 0, 117,
+ 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
+ 0, 0, 0, 0, 0, 0, 142, 0, 0, 0,
+ 0, 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, 87,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 93, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 97, 0, 59, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 103, 0, 59,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 131, 156, 51, 0,
- 56, 0, 0, 0, 0, 0, 0, 171, 37, 0,
- 34, 0, 33, 0, 0, 0, 144, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 122, 0, 0, 0, 0, 0, 0, 0, 0, 155,
+ 137, 162, 51, 0, 56, 0, 0, 0, 0, 0,
+ 0, 177, 37, 0, 34, 0, 33, 0, 0, 0,
+ 150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 161, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 0, 0, 32, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 90, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 145, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
+ 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 96, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 35,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 0, 0, 0, 0, 0, 0, 7,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 115, 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, 127, 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, 124, 0, 0, 0, 0,
- 0, 0, 0, 0, 121, 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, 100, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
- 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
+ 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 124, 0, 0, 0, 0, 0, 105,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 139, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 149, 119, 0, 0, 0, 0, 0,
- 0, 0, 123, 52, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 125, 0, 60, 0, 0,
+ 0, 0, 0, 0, 0, 0, 145, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 155, 125, 0, 0, 0, 0, 0, 0,
+ 0, 129, 52, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 131, 0, 60, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
- 0, 0, 0, 0, 0, 0, 172, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
+ 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
+ 0, 0, 0, 0, 0, 178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 138, 0,
- 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 57, 91, 0,
- 0, 0, 135, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 127, 0, 0, 0, 0,
+ 0, 112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 144, 0, 0, 0, 0, 0, 0, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 170, 0, 0, 0, 0, 0,
+ 0, 57, 97, 0, 0, 0, 141, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 133,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 101, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 176, 0, 0, 0, 0, 0, 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, 16, 0, 0, 150, 14, 0,
+ 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 141, 0, 126, 0, 0, 0,
+ 0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 0, 156, 14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 137, 154, 0, 40, 0, 146, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 20, 0, 0, 0, 85, 0, 0, 0,
- 0, 148, 54, 0, 93, 0, 0, 0, 0, 0,
+ 0, 0, 0, 147, 0, 0, 0, 0, 0, 0,
+ 132, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 143, 160, 0,
+ 40, 0, 152, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
+ 91, 0, 0, 0, 0, 154, 54, 0, 99, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 82, 0, 0, 0, 116, 117, 0, 0, 0,
- 0, 0, 0, 0, 0, 89, 0, 0, 0, 0,
- 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 143, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 112, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
- 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 79, 0, 0, 0, 0, 0, 0, 17,
- 0, 15, 0, 168, 167, 0, 69, 0, 0, 0,
- 0, 0, 30, 0, 130, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
- 134, 43, 0, 61, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
- 104, 80, 0, 0, 142, 0, 0, 0, 0, 0,
-
- 133, 0, 0, 0, 0, 0, 98, 0, 173, 0,
+ 0, 0, 0, 0, 0, 82, 0, 0, 0, 122,
+ 123, 0, 0, 0, 0, 0, 0, 0, 0, 95,
+
+ 0, 0, 0, 0, 0, 0, 64, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 0, 0, 157, 0, 0, 0, 0, 0, 0,
+ 149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 118, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 92, 114,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 79, 0, 0, 0, 0, 0, 0, 17, 0,
+ 15, 0, 174, 173, 0, 69, 0, 0, 0, 0,
+ 0, 30, 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, 42, 0, 0,
- 68, 0, 0, 0, 0, 128, 47, 0, 0, 0,
- 70, 166, 38, 0, 0, 12, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 45, 0, 0, 44, 0,
- 18, 0, 0, 0, 72, 0, 0, 0, 0, 120,
+ 171, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 108, 0, 140, 43, 0, 61, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
+ 0, 0, 0, 0, 110, 80, 0, 0, 148, 0,
+ 0, 0, 0, 0, 139, 0, 0, 0, 0, 0,
+ 104, 0, 179, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
+ 0, 0, 163, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 0, 0, 0, 0, 62,
- 0, 0, 94, 0, 0, 0, 0, 0, 147, 0,
- 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 42, 0, 0, 68,
+ 0, 0, 0, 0, 134, 47, 0, 0, 0, 70,
+ 172, 38, 0, 0, 0, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 45, 0, 0, 44, 0, 18, 0, 0, 0, 72,
+ 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
+ 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
+ 0, 0, 0, 100, 0, 0, 0, 0, 0, 153,
+ 0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 84, 0, 36, 0, 48, 0,
- 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
- 0, 0, 0, 163, 0, 0, 0, 0, 132, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
+ 0, 67, 0, 0, 0, 90, 0, 36, 0, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 169, 0, 0, 0, 0, 138, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 111, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 83, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 25, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 169, 0, 0, 0, 0, 0, 0,
- 0, 162, 0, 78, 0, 77, 0, 21, 73, 0,
- 0, 0, 0, 0, 65, 0, 115, 0, 0, 95,
- 0, 0, 161, 0, 0, 0, 71, 0, 0, 0,
- 66, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 175, 0, 0, 0, 0, 0, 0, 0, 168,
+ 0, 78, 0, 77, 0, 21, 73, 0, 0, 0,
+ 0, 0, 65, 0, 121, 0, 0, 0, 0, 0,
+ 0, 0, 101, 0, 0, 167, 0, 0, 0, 71,
+ 0, 0, 0, 66, 0, 23, 0, 0, 0, 0,
0, 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, 49, 0, 0, 0, 0, 0, 75, 74, 22,
+ 0, 0, 0, 0, 49, 0, 0, 88, 0, 0,
+ 0, 0, 0, 0, 75, 74, 22, 0, 119, 135,
- 0, 113, 129, 0, 0, 0, 0, 0, 0, 159,
- 164, 81, 0, 0, 0, 0, 158, 0, 0, 26,
- 0, 0, 0, 0, 0, 114, 0, 0, 160, 0
+ 0, 0, 84, 0, 0, 0, 0, 0, 0, 165,
+ 170, 0, 86, 81, 0, 0, 0, 0, 0, 164,
+ 0, 0, 26, 0, 0, 0, 85, 0, 0, 0,
+ 120, 0, 0, 166, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1643] =
+static const flex_int16_t yy_base[1748] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 2032, 2033, 34, 2028, 145, 0, 207, 2033, 214, 221,
- 13, 228, 2033, 2008, 118, 25, 2, 6, 2033, 2033,
- 73, 11, 17, 2033, 2033, 2033, 104, 2016, 1969, 0,
- 2006, 108, 2023, 24, 256, 2033, 67, 1965, 1971, 1991,
+ 2137, 2138, 34, 2133, 145, 0, 207, 2138, 214, 221,
+ 13, 228, 2138, 2113, 118, 25, 2, 6, 2138, 2138,
+ 73, 11, 17, 2138, 2138, 2138, 104, 2121, 2074, 0,
+ 2111, 108, 2128, 24, 256, 2138, 67, 2070, 2076, 2096,
84, 75, 189, 88, 226, 91, 89, 284, 196, 206,
- 219, 191, 210, 197, 60, 242, 1972, 278, 287, 298,
- 294, 313, 1955, 212, 318, 350, 328, 1974, 0, 379,
- 400, 417, 424, 429, 2033, 0, 2033, 393, 407, 269,
- 299, 301, 406, 418, 304, 2033, 1971, 2012, 2033, 293,
-
- 2033, 442, 312, 1958, 1968, 2009, 421, 10, 345, 1962,
- 319, 338, 336, 369, 248, 2007, 0, 495, 413, 1949,
- 1954, 1956, 332, 1952, 1941, 1942, 410, 1958, 1941, 1950,
- 418, 340, 226, 1944, 1942, 405, 1931, 1989, 448, 1934,
- 1987, 1927, 1950, 1947, 1947, 1941, 411, 1934, 1932, 1926,
- 1931, 1925, 421, 1936, 1929, 1920, 1919, 1933, 408, 1971,
- 1918, 427, 1930, 1933, 1917, 491, 1918, 433, 1930, 1927,
- 1928, 1926, 1961, 1960, 434, 1906, 1911, 1907, 1899, 1916,
- 1908, 0, 440, 446, 434, 450, 468, 467, 1907, 2033,
- 0, 483, 1898, 1901, 2033, 490, 465, 2033, 1955, 1908,
-
- 501, 1953, 506, 1952, 498, 1951, 2033, 544, 1950, 517,
- 1909, 1906, 1903, 1902, 1893, 514, 1944, 1938, 1902, 1881,
- 1889, 1895, 1883, 1897, 1893, 1894, 1894, 1889, 1881, 1883,
- 1867, 1871, 1884, 1886, 1883, 1875, 1865, 1868, 1882, 2033,
- 1868, 1876, 1879, 1860, 1859, 1911, 1858, 1868, 1908, 516,
- 1867, 1906, 1854, 1865, 1903, 537, 1907, 1842, 1857, 358,
- 1847, 1863, 1844, 1842, 1845, 1841, 1847, 1838, 1837, 1850,
- 1843, 1845, 1849, 1848, 1842, 220, 1849, 1844, 1836, 1826,
- 1841, 1836, 1840, 480, 1838, 1824, 1830, 1837, 1825, 1822,
- 1821, 525, 1816, 1830, 1829, 1832, 1814, 1822, 539, 2033,
-
- 2033, 547, 2033, 2033, 1809, 0, 534, 1811, 559, 555,
- 1867, 2033, 1818, 546, 2033, 1865, 2033, 1859, 596, 2033,
- 545, 1799, 1802, 1808, 1860, 1815, 1810, 1813, 1808, 80,
- 2033, 1810, 590, 1808, 1805, 1806, 323, 1810, 1850, 1798,
- 1793, 1790, 1786, 1788, 1839, 1796, 1785, 1801, 1835, 1781,
- 592, 1794, 1794, 1777, 1778, 1791, 1778, 1788, 1783, 1790,
- 1785, 1770, 564, 1779, 1782, 1777, 322, 1773, 1823, 555,
- 565, 2033, 1817, 1767, 1766, 1759, 1761, 1765, 1754, 1771,
- 1760, 1765, 543, 1812, 1765, 534, 1762, 1766, 1764, 1753,
- 1753, 1765, 570, 1740, 1741, 1762, 580, 1744, 1741, 1755,
-
- 1758, 1753, 1739, 1751, 1750, 1749, 1748, 1747, 1746, 476,
- 1789, 1788, 1787, 1729, 626, 1742, 2033, 2033, 1741, 0,
- 572, 1729, 1782, 1781, 1737, 1779, 2033, 1725, 1777, 2033,
- 606, 654, 599, 1776, 1724, 1715, 2033, 1720, 1726, 1729,
- 1712, 1727, 1714, 1713, 2033, 1723, 1714, 1711, 1723, 590,
- 1708, 1710, 2033, 1716, 1701, 1703, 1714, 1712, 1707, 642,
- 1714, 1702, 1695, 1746, 2033, 1693, 1709, 1743, 1747, 1703,
- 1697, 1699, 1700, 1702, 1736, 1687, 1682, 1681, 1683, 1679,
- 1675, 599, 1694, 1668, 1675, 1680, 1673, 1689, 1728, 2033,
- 1673, 1669, 1725, 1676, 1670, 1677, 1662, 1672, 1675, 1664,
-
- 1660, 1662, 1657, 2033, 1714, 2033, 1656, 1655, 1648, 1665,
- 1704, 1649, 1654, 1663, 1657, 1651, 1660, 644, 1697, 1659,
- 1642, 1642, 1637, 1633, 1639, 1644, 1637, 1645, 1649, 1632,
- 1690, 1630, 1631, 1630, 1642, 1631, 2033, 2033, 2033, 1631,
- 2033, 1641, 1677, 1637, 0, 1680, 1628, 2033, 2033, 1625,
- 2033, 1631, 2033, 624, 623, 655, 2033, 1636, 1670, 1615,
- 1668, 1613, 1612, 1611, 1618, 1611, 1619, 1622, 1621, 1605,
- 1620, 1602, 1649, 1616, 1654, 1598, 1600, 1612, 1612, 1611,
- 2033, 1596, 1593, 1651, 1606, 1598, 1604, 1595, 1603, 2033,
- 1588, 1599, 1603, 1585, 1599, 467, 1581, 1575, 1580, 1577,
-
- 1592, 1591, 1592, 1571, 1581, 1587, 1630, 1585, 1584, 1576,
- 2033, 1569, 1571, 2033, 1579, 1618, 1617, 16, 1578, 1561,
- 1562, 1565, 1566, 1557, 2033, 1571, 1557, 677, 1549, 1570,
- 1567, 1559, 1604, 1556, 1563, 1601, 2033, 1547, 1545, 1559,
- 1543, 1557, 1560, 1594, 1593, 1592, 1591, 1536, 1589, 1588,
- 2033, 656, 1550, 1549, 1546, 1546, 1544, 1533, 1535, 2033,
- 2033, 1580, 1526, 1583, 627, 591, 1524, 1522, 1538, 1579,
- 642, 1573, 1533, 1571, 1570, 1522, 1516, 1511, 1566, 1526,
- 1516, 1524, 1562, 1523, 1505, 1513, 1515, 1519, 1556, 1560,
- 1515, 1514, 2033, 1515, 1508, 1497, 1510, 1513, 1508, 1503,
-
- 1508, 1505, 1504, 1500, 1506, 1501, 1544, 1543, 1485, 1496,
- 1480, 542, 1534, 1490, 1537, 2033, 1536, 1490, 1486, 1481,
- 1473, 1526, 1487, 1474, 2033, 1474, 91, 245, 356, 476,
- 553, 648, 596, 623, 2033, 618, 612, 631, 627, 641,
- 624, 630, 685, 649, 633, 633, 652, 696, 697, 698,
- 645, 663, 658, 665, 660, 645, 657, 658, 2033, 712,
- 670, 672, 663, 676, 679, 670, 676, 685, 726, 2033,
- 722, 698, 685, 686, 680, 2033, 678, 693, 690, 676,
- 683, 682, 680, 699, 696, 697, 687, 700, 686, 685,
- 691, 747, 693, 709, 692, 746, 701, 2033, 711, 711,
-
- 704, 716, 714, 759, 701, 703, 718, 719, 707, 766,
- 723, 709, 712, 2033, 2033, 728, 727, 728, 733, 721,
- 731, 733, 2033, 2033, 733, 735, 739, 726, 724, 742,
- 729, 729, 780, 730, 788, 2033, 789, 2033, 734, 748,
- 748, 793, 741, 743, 737, 797, 750, 740, 741, 737,
- 747, 751, 762, 746, 764, 759, 761, 754, 756, 757,
- 769, 759, 774, 815, 772, 777, 754, 2033, 766, 767,
- 781, 771, 818, 766, 781, 781, 2033, 800, 808, 777,
- 826, 792, 780, 775, 776, 788, 795, 784, 785, 781,
- 799, 791, 786, 839, 845, 802, 793, 2033, 805, 790,
-
- 806, 796, 809, 803, 851, 817, 801, 802, 2033, 818,
- 821, 804, 806, 864, 807, 2033, 824, 827, 807, 826,
- 814, 867, 825, 821, 818, 871, 820, 873, 820, 838,
- 837, 823, 838, 830, 826, 844, 829, 2033, 2033, 837,
- 884, 837, 2033, 845, 840, 893, 2033, 842, 847, 891,
- 843, 844, 856, 850, 854, 852, 850, 861, 906, 850,
- 855, 909, 910, 854, 866, 2033, 854, 862, 860, 857,
- 858, 867, 879, 863, 877, 879, 880, 896, 901, 883,
- 869, 871, 871, 891, 890, 881, 870, 887, 894, 937,
- 879, 939, 886, 890, 2033, 937, 886, 904, 901, 941,
-
- 890, 908, 909, 895, 903, 912, 894, 909, 916, 958,
- 959, 2033, 912, 961, 962, 913, 923, 925, 909, 911,
- 911, 918, 927, 915, 922, 917, 924, 976, 923, 922,
- 939, 980, 930, 934, 932, 930, 985, 986, 936, 988,
- 984, 942, 2033, 947, 940, 931, 950, 944, 939, 949,
- 946, 951, 947, 959, 2033, 943, 945, 2033, 2033, 945,
- 1005, 945, 964, 965, 1010, 1011, 964, 949, 970, 952,
- 957, 964, 997, 988, 1020, 977, 964, 966, 983, 978,
- 982, 1027, 975, 979, 2033, 976, 2033, 990, 988, 991,
- 975, 976, 1036, 989, 994, 981, 992, 985, 991, 987,
-
- 1005, 1006, 1008, 2033, 2033, 1006, 2033, 1008, 2033, 993,
- 994, 1013, 1003, 1055, 1012, 1009, 1053, 1017, 1006, 1013,
- 1018, 1015, 2033, 1013, 1005, 1066, 2033, 1067, 1014, 1021,
- 1065, 2033, 2033, 1023, 2033, 1014, 1014, 1017, 1031, 1036,
- 1019, 1030, 1079, 1036, 1037, 1038, 1078, 1034, 1085, 1038,
- 1087, 2033, 1034, 1089, 1090, 2033, 2033, 1030, 1092, 1051,
- 1035, 1047, 1037, 1067, 1098, 2033, 1055, 1100, 1047, 1062,
- 1098, 1050, 2033, 1046, 1062, 1050, 1068, 1056, 1056, 1111,
- 1068, 2033, 1070, 1069, 1071, 1064, 1073, 1074, 1071, 1061,
- 1064, 1064, 1123, 1070, 1126, 1127, 1070, 1129, 2033, 1087,
-
- 1066, 1081, 1074, 1077, 1090, 1094, 1093, 1139, 1093, 2033,
- 2033, 1089, 1099, 1085, 1101, 1087, 1148, 1149, 1093, 1103,
- 1152, 1109, 2033, 1101, 1101, 1103, 1105, 1158, 1101, 2033,
- 1102, 2033, 1104, 2033, 2033, 1118, 2033, 1112, 1164, 1113,
- 1166, 1146, 2033, 1163, 2033, 1111, 1119, 1113, 1110, 1113,
- 1116, 1116, 1112, 1118, 1178, 1126, 2033, 1122, 1181, 1134,
- 1125, 1140, 1140, 1143, 1143, 1140, 1184, 1147, 2033, 1139,
- 2033, 2033, 1149, 2033, 1189, 1151, 1152, 1149, 1193, 1141,
- 1156, 1196, 1158, 2033, 1146, 1146, 1152, 1151, 1163, 1163,
- 2033, 2033, 1204, 1151, 2033, 1168, 1153, 1153, 1155, 1161,
-
- 2033, 1216, 1158, 1168, 1219, 1180, 2033, 1177, 2033, 1196,
- 1164, 1224, 1225, 1182, 1187, 1169, 1229, 1230, 1231, 1184,
- 2033, 1174, 1234, 2033, 1172, 1231, 1194, 1190, 1234, 1182,
- 1187, 1185, 1244, 1200, 1246, 1196, 1248, 1210, 1199, 1193,
- 1253, 1195, 1204, 1197, 1213, 1258, 1200, 1217, 1202, 1217,
- 1201, 1259, 1260, 1261, 1208, 1263, 1226, 2033, 1226, 1213,
- 2033, 1224, 1273, 1244, 1226, 2033, 2033, 1218, 1229, 1278,
- 2033, 2033, 2033, 1225, 1223, 2033, 1281, 1227, 1278, 1221,
- 1226, 1287, 1235, 1245, 1246, 2033, 1291, 1244, 2033, 1245,
- 2033, 1236, 1251, 1239, 2033, 1249, 1250, 1251, 1257, 2033,
-
- 1296, 1264, 1257, 1258, 1267, 1249, 1255, 1257, 1311, 1270,
- 1269, 1261, 1315, 1264, 2033, 1317, 1266, 1319, 1261, 2033,
- 1268, 1268, 2033, 1272, 1267, 1266, 1326, 1279, 2033, 1323,
- 1274, 1271, 2033, 1285, 1287, 1289, 1334, 1287, 1284, 1292,
- 1286, 1339, 1280, 1282, 1290, 1280, 1296, 1297, 1291, 1307,
- 2033, 1297, 1349, 1308, 2033, 1346, 2033, 1308, 2033, 1348,
- 1349, 1304, 1312, 1303, 1310, 2033, 1307, 1312, 1310, 1362,
- 1363, 1320, 1307, 2033, 1322, 1323, 1324, 1325, 2033, 1315,
- 1327, 1328, 1373, 1315, 1323, 1317, 1325, 1338, 2033, 1315,
- 1338, 1323, 1323, 1328, 1384, 1332, 1344, 1335, 1344, 1346,
-
- 1350, 2033, 2033, 1332, 1392, 1335, 1394, 1336, 1396, 1354,
- 1398, 1399, 2033, 1395, 1357, 1354, 1359, 1346, 1405, 1342,
- 1407, 1360, 1365, 2033, 1410, 1367, 1368, 1413, 1370, 1373,
- 1368, 2033, 1417, 2033, 1370, 2033, 1379, 2033, 2033, 1361,
- 1421, 1368, 1423, 1366, 2033, 1383, 2033, 1374, 1370, 2033,
- 1370, 1372, 2033, 1377, 1387, 1380, 2033, 1381, 1375, 1387,
- 2033, 1383, 2033, 1393, 1387, 1395, 1392, 1383, 1437, 1384,
- 1392, 1401, 1402, 1403, 1396, 1391, 1392, 1407, 1452, 1399,
- 1406, 1393, 1408, 1413, 1458, 1459, 1460, 1417, 1462, 1463,
- 1406, 2033, 1422, 1413, 1427, 1423, 1416, 2033, 2033, 2033,
-
- 1470, 2033, 2033, 1471, 1472, 1427, 1426, 1427, 1417, 2033,
- 2033, 2033, 1477, 1419, 1435, 1480, 2033, 1476, 1425, 2033,
- 1424, 1426, 1437, 1486, 1435, 2033, 1444, 1489, 2033, 2033,
- 1495, 1500, 1505, 1510, 1515, 1520, 1525, 1528, 1502, 1507,
- 1509, 1522
+ 279, 191, 210, 197, 60, 216, 2077, 241, 284, 309,
+ 297, 316, 2060, 212, 321, 345, 326, 2079, 0, 386,
+ 402, 416, 423, 428, 2138, 0, 2138, 442, 447, 241,
+ 242, 302, 269, 315, 303, 2138, 2076, 2117, 2138, 345,
+
+ 2138, 441, 337, 2063, 2073, 2114, 352, 10, 336, 2067,
+ 339, 242, 346, 360, 399, 2112, 0, 494, 411, 2054,
+ 2059, 2061, 417, 2057, 2046, 2047, 2052, 350, 2062, 2045,
+ 2054, 421, 362, 219, 2048, 2046, 332, 2035, 2093, 422,
+ 2038, 2091, 2031, 2054, 2051, 2051, 2045, 405, 2038, 2036,
+ 2030, 2035, 2029, 431, 2040, 2033, 2024, 2023, 2037, 417,
+ 2075, 2022, 427, 2034, 2037, 2021, 490, 2022, 426, 2034,
+ 2031, 2032, 2030, 2065, 2064, 462, 2010, 2015, 2011, 2003,
+ 2020, 2012, 0, 435, 391, 475, 441, 472, 489, 2011,
+ 2138, 0, 504, 2002, 2005, 2138, 492, 465, 2138, 2059,
+
+ 2012, 503, 2057, 505, 2056, 499, 2055, 2138, 545, 2054,
+ 511, 2013, 2010, 2007, 2006, 1997, 515, 2048, 2042, 2006,
+ 1987, 1984, 1992, 1998, 1986, 2000, 1996, 1997, 1997, 1992,
+ 1984, 1986, 1970, 1974, 1987, 1989, 1986, 1978, 1968, 1971,
+ 1985, 2138, 1971, 1979, 1982, 1963, 1962, 2014, 1961, 1971,
+ 2011, 522, 1970, 2009, 1957, 1968, 2006, 537, 2010, 1945,
+ 1960, 504, 1950, 1966, 1947, 1945, 1948, 1944, 1950, 1941,
+ 1940, 1953, 1946, 1948, 1952, 1951, 1945, 518, 1952, 1947,
+ 1939, 1929, 1944, 1939, 1943, 357, 1941, 1927, 1933, 1940,
+ 1928, 1925, 1924, 333, 1919, 1933, 1932, 1935, 1917, 1925,
+
+ 540, 2138, 2138, 549, 2138, 2138, 1912, 0, 507, 1914,
+ 580, 554, 1970, 2138, 1921, 547, 2138, 1968, 2138, 1962,
+ 597, 2138, 547, 1902, 1905, 1911, 1963, 1918, 1913, 1916,
+ 1911, 80, 2138, 1913, 380, 1952, 1910, 1907, 1908, 590,
+ 1912, 1952, 1900, 1895, 1892, 1888, 1890, 1941, 1898, 1887,
+ 1903, 1937, 1883, 594, 1896, 1896, 1879, 1880, 1893, 1880,
+ 1890, 1885, 1892, 1887, 1872, 565, 1881, 1884, 1879, 541,
+ 1875, 1925, 558, 568, 2138, 1919, 1869, 1868, 1861, 1863,
+ 1867, 1856, 1873, 1862, 1867, 520, 1914, 1867, 579, 1864,
+ 1868, 1866, 1855, 1855, 1867, 571, 1842, 1843, 1864, 585,
+
+ 1846, 1843, 1857, 1860, 1855, 1841, 1853, 1852, 1851, 1850,
+ 1849, 1848, 581, 1891, 1890, 1889, 1831, 630, 1844, 2138,
+ 2138, 1843, 0, 602, 1831, 1884, 1883, 1839, 1881, 2138,
+ 1827, 1879, 2138, 617, 665, 606, 1878, 1826, 1817, 2138,
+ 1822, 1828, 1831, 1814, 1829, 1816, 1815, 2138, 1825, 600,
+ 1816, 1813, 1825, 605, 1810, 1812, 2138, 1818, 1803, 1805,
+ 1816, 1814, 1809, 644, 1816, 1804, 1797, 1848, 2138, 1795,
+ 1811, 1845, 1849, 1805, 1799, 1801, 1802, 1804, 1838, 1789,
+ 1784, 1783, 1785, 1781, 1777, 609, 1796, 1770, 1777, 1782,
+ 1775, 1791, 1830, 2138, 1775, 1771, 1827, 1778, 1772, 1779,
+
+ 1764, 1774, 1777, 1766, 1762, 1764, 1759, 2138, 1816, 2138,
+ 1758, 1757, 1750, 1767, 1806, 1751, 1756, 1765, 1759, 1753,
+ 1762, 650, 1799, 1761, 1744, 1744, 1739, 1735, 1741, 1746,
+ 1739, 1747, 1751, 1734, 1792, 1732, 1733, 1732, 1744, 1733,
+ 2138, 2138, 2138, 1733, 2138, 1743, 1779, 1739, 0, 1782,
+ 1730, 2138, 2138, 1727, 2138, 1733, 2138, 624, 633, 666,
+ 2138, 1738, 1772, 1717, 1770, 1715, 1714, 1713, 1720, 1713,
+ 1721, 1724, 1706, 1706, 1721, 1720, 1719, 1718, 1702, 1717,
+ 1699, 1746, 1713, 1751, 1695, 1697, 1709, 1709, 1708, 2138,
+ 1693, 1690, 1748, 1703, 1695, 1701, 1692, 1700, 2138, 1685,
+
+ 1696, 1700, 1682, 1696, 446, 1678, 1672, 1677, 1674, 1689,
+ 1688, 1689, 1668, 1678, 1684, 1727, 1682, 1681, 1673, 2138,
+ 1666, 1668, 2138, 1676, 1715, 1714, 16, 1675, 1658, 1659,
+ 1662, 1663, 1654, 2138, 1668, 1654, 688, 1646, 1667, 1664,
+ 1656, 1701, 1653, 1660, 1698, 2138, 1644, 1642, 1656, 1640,
+ 1654, 1657, 1691, 1690, 1689, 1688, 1633, 1686, 1685, 2138,
+ 667, 1647, 1646, 1643, 1643, 1641, 1630, 1632, 2138, 2138,
+ 1677, 1623, 1680, 637, 648, 1621, 1619, 1635, 1676, 652,
+ 1670, 1630, 1668, 1667, 1619, 1613, 1616, 1624, 1627, 1611,
+ 1612, 1603, 1658, 1618, 1608, 1616, 1654, 1615, 1597, 1605,
+
+ 1607, 1611, 1648, 1652, 1607, 1606, 2138, 1607, 1600, 1589,
+ 1602, 1605, 1600, 1595, 1600, 1597, 1596, 1592, 1598, 1593,
+ 1636, 1635, 1577, 1588, 75, 647, 269, 283, 347, 2138,
+ 477, 462, 460, 477, 481, 572, 536, 555, 2138, 558,
+ 615, 621, 637, 681, 631, 691, 641, 656, 2138, 651,
+ 645, 656, 657, 670, 649, 655, 710, 674, 658, 658,
+ 671, 715, 716, 717, 664, 682, 678, 683, 679, 664,
+ 676, 677, 2138, 731, 691, 693, 684, 696, 698, 689,
+ 695, 704, 745, 2138, 741, 717, 704, 705, 699, 2138,
+ 697, 712, 709, 695, 702, 701, 699, 718, 715, 716,
+
+ 704, 711, 712, 721, 721, 711, 724, 710, 709, 715,
+ 771, 717, 733, 716, 771, 726, 2138, 736, 736, 729,
+ 740, 738, 783, 725, 727, 742, 743, 731, 790, 747,
+ 733, 736, 2138, 2138, 752, 751, 752, 757, 745, 755,
+ 757, 2138, 2138, 757, 759, 763, 750, 748, 766, 753,
+ 753, 804, 754, 812, 2138, 813, 2138, 758, 772, 772,
+ 817, 765, 767, 761, 821, 774, 764, 765, 761, 771,
+ 775, 786, 770, 788, 783, 785, 778, 780, 781, 793,
+ 783, 798, 839, 796, 801, 778, 2138, 790, 791, 805,
+ 795, 842, 790, 805, 805, 2138, 824, 832, 801, 850,
+
+ 816, 804, 799, 800, 812, 819, 808, 809, 805, 823,
+ 809, 810, 820, 829, 865, 820, 815, 868, 874, 831,
+ 823, 2138, 835, 821, 837, 827, 839, 833, 880, 846,
+ 830, 831, 2138, 847, 850, 833, 835, 893, 836, 2138,
+ 853, 856, 836, 855, 843, 896, 854, 850, 847, 900,
+ 849, 902, 849, 867, 866, 852, 867, 859, 855, 873,
+ 858, 2138, 2138, 866, 913, 866, 2138, 874, 869, 922,
+ 2138, 871, 876, 920, 872, 873, 885, 879, 883, 881,
+ 879, 890, 935, 879, 884, 938, 939, 883, 895, 2138,
+ 883, 891, 889, 886, 887, 896, 908, 892, 906, 908,
+
+ 909, 925, 930, 912, 898, 900, 900, 920, 919, 910,
+ 899, 916, 923, 966, 908, 928, 921, 925, 929, 912,
+ 973, 920, 924, 2138, 971, 920, 938, 935, 975, 924,
+ 944, 945, 931, 939, 948, 928, 943, 950, 992, 993,
+ 2138, 946, 995, 996, 947, 957, 959, 943, 945, 945,
+ 952, 961, 949, 956, 951, 958, 1010, 957, 956, 973,
+ 1014, 964, 968, 966, 964, 1019, 1020, 970, 1022, 1018,
+ 976, 2138, 981, 974, 965, 984, 978, 973, 983, 980,
+ 985, 981, 993, 2138, 977, 979, 2138, 2138, 979, 1039,
+ 979, 998, 999, 1044, 1045, 998, 983, 1004, 986, 991,
+
+ 998, 1031, 1022, 1054, 1011, 998, 1000, 1017, 1012, 1016,
+ 1061, 1009, 1013, 2138, 1010, 1006, 1023, 1003, 1024, 1014,
+ 2138, 1029, 1027, 1030, 1014, 1015, 1076, 1029, 1034, 1021,
+ 1032, 1025, 1031, 1027, 1045, 1046, 1047, 2138, 2138, 1045,
+ 2138, 1047, 2138, 1032, 1033, 1052, 1042, 1094, 1051, 1048,
+ 1092, 1056, 1045, 1052, 1057, 1054, 2138, 1052, 1044, 1105,
+ 2138, 1106, 1053, 1060, 1104, 2138, 2138, 1062, 2138, 1053,
+ 1053, 1056, 1070, 1075, 1058, 1069, 1118, 1075, 1076, 1077,
+ 1117, 1073, 1124, 1077, 1126, 2138, 1073, 1128, 1129, 2138,
+ 2138, 1069, 1131, 1090, 1074, 1086, 1076, 1106, 1137, 2138,
+
+ 1094, 1139, 1086, 1101, 1137, 1089, 2138, 1085, 1101, 1089,
+ 1103, 1104, 1101, 1145, 1108, 1112, 1100, 1100, 1155, 1112,
+ 2138, 1114, 1113, 1115, 1108, 1117, 1118, 1115, 1106, 1109,
+ 1109, 1168, 1115, 1170, 1171, 1114, 1173, 2138, 1131, 1111,
+ 1126, 1119, 1122, 1135, 1138, 1137, 1184, 1138, 2138, 2138,
+ 1134, 1144, 1129, 1145, 1131, 1192, 1193, 1137, 1147, 1196,
+ 1153, 2138, 1145, 1145, 1147, 1149, 1202, 1145, 2138, 1146,
+ 2138, 1148, 2138, 2138, 1162, 2138, 1156, 1208, 1157, 1210,
+ 1190, 2138, 1207, 2138, 1155, 1163, 1157, 1154, 1157, 1160,
+ 1160, 1156, 1178, 1217, 1170, 1182, 1185, 1167, 1227, 1175,
+
+ 2138, 1171, 1230, 1183, 1174, 1189, 1190, 1193, 1193, 1190,
+ 1234, 1196, 2138, 1188, 2138, 2138, 1198, 2138, 1238, 1200,
+ 1201, 1198, 1242, 1190, 1205, 1245, 1207, 2138, 1195, 1195,
+ 1201, 1200, 1212, 1212, 2138, 2138, 1253, 1200, 2138, 1217,
+ 1202, 1202, 1204, 1210, 2138, 1265, 1207, 1217, 1268, 1229,
+ 2138, 1226, 2138, 1245, 1213, 1273, 1274, 1231, 1236, 1218,
+ 1278, 1279, 1280, 1276, 1240, 1237, 1233, 1226, 1238, 2138,
+ 1228, 1288, 2138, 1226, 1285, 1248, 1244, 1289, 1237, 1242,
+ 1242, 1297, 1256, 1302, 1252, 1304, 1265, 1254, 1248, 1308,
+ 1250, 1259, 1252, 1268, 1313, 1255, 1272, 1257, 1272, 1256,
+
+ 1314, 1315, 1316, 1263, 1318, 1281, 2138, 1281, 1268, 2138,
+ 1279, 1328, 1298, 1282, 2138, 2138, 1273, 1284, 1333, 2138,
+ 2138, 2138, 1279, 1284, 1282, 1332, 1290, 1295, 1286, 1284,
+ 2138, 1342, 1288, 1339, 1282, 1287, 1348, 1296, 1306, 1307,
+ 2138, 1352, 1305, 2138, 1306, 2138, 1298, 1314, 1302, 2138,
+ 1312, 1313, 1314, 1320, 2138, 1359, 1325, 1318, 1319, 1328,
+ 1310, 1316, 1318, 1372, 1331, 1330, 1322, 1376, 1325, 2138,
+ 1378, 1327, 1380, 1322, 2138, 1325, 1335, 1379, 1327, 1342,
+ 1329, 1335, 1335, 2138, 1339, 1334, 1333, 1393, 1346, 2138,
+ 1390, 1341, 1338, 2138, 1352, 1354, 1356, 1401, 1354, 1351,
+
+ 1359, 1353, 1406, 1347, 1349, 1357, 1347, 1363, 1364, 1358,
+ 1374, 2138, 1364, 1416, 1375, 2138, 1413, 2138, 1375, 2138,
+ 1415, 1377, 1378, 1363, 1364, 1372, 1426, 1422, 1377, 1385,
+ 1376, 1383, 2138, 1380, 1385, 1383, 1435, 1436, 1393, 1380,
+ 2138, 1395, 1396, 1397, 1398, 2138, 1388, 1400, 1401, 1446,
+ 1388, 1396, 1390, 1398, 1411, 2138, 1388, 1411, 1396, 1396,
+ 1411, 1404, 1403, 1414, 1401, 2138, 1406, 1462, 1410, 1422,
+ 1413, 1422, 1424, 1428, 2138, 2138, 1410, 1470, 1413, 1472,
+ 1414, 1474, 1432, 1476, 1477, 2138, 1473, 1435, 1432, 1437,
+ 1424, 1483, 1420, 1485, 1438, 1439, 1429, 1446, 1445, 1486,
+
+ 1448, 2138, 1493, 1450, 1451, 1496, 1453, 1456, 1451, 2138,
+ 1500, 2138, 1453, 2138, 1462, 2138, 2138, 1444, 1504, 1451,
+ 1506, 1449, 2138, 1466, 2138, 1457, 1447, 1506, 1472, 1465,
+ 1461, 1458, 2138, 1458, 1460, 2138, 1465, 1475, 1468, 2138,
+ 1469, 1463, 1475, 2138, 1471, 2138, 1481, 1475, 1483, 1528,
+ 1469, 1471, 1468, 1492, 1485, 1476, 1530, 1477, 1485, 1494,
+ 1495, 1496, 1489, 1484, 1485, 1500, 1545, 2138, 1491, 1503,
+ 1548, 1497, 1496, 1503, 1490, 1505, 1510, 1555, 1556, 1557,
+ 1514, 1559, 1560, 1503, 2138, 1519, 1563, 2138, 1520, 1522,
+ 1513, 1527, 1523, 1516, 2138, 2138, 2138, 1570, 2138, 2138,
+
+ 1571, 1532, 2138, 1573, 1574, 1529, 1528, 1529, 1519, 2138,
+ 2138, 1520, 2138, 2138, 1580, 1522, 1538, 1583, 1540, 2138,
+ 1580, 1529, 2138, 1587, 1529, 1531, 2138, 1542, 1591, 1540,
+ 2138, 1549, 1594, 2138, 2138, 1600, 1605, 1610, 1615, 1620,
+ 1625, 1630, 1633, 1607, 1612, 1614, 1627
} ;
-static const flex_int16_t yy_def[1643] =
+static const flex_int16_t yy_def[1748] =
{ 0,
- 1631, 1631, 1632, 1632, 1631, 1631, 1631, 1631, 1631, 1631,
- 1630, 1630, 1630, 1630, 1630, 1633, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1634,
- 1630, 1630, 1630, 1635, 15, 1630, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1636, 45, 45,
+ 1736, 1736, 1737, 1737, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1735, 1735, 1735, 1735, 1735, 1738, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1739,
+ 1735, 1735, 1735, 1740, 15, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1741, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1633, 1630,
- 1630, 1630, 1630, 1630, 1630, 1637, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1634, 1630, 1635,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1738, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1742, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1739, 1735, 1740,
- 1630, 1630, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1638, 45, 1636, 45, 45,
+ 1735, 1735, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1743, 45, 1741, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1637, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1639, 45, 45, 45, 1630, 45, 45, 1630, 45, 45,
+ 45, 45, 1742, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1744, 45, 45, 45, 1735, 45, 45, 1735, 45,
- 45, 45, 45, 45, 45, 1638, 1630, 1636, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1743, 1735, 1741, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1630,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1630, 1630,
-
- 1630, 1630, 1630, 1630, 1630, 1640, 45, 45, 45, 45,
- 45, 1630, 45, 45, 1630, 45, 1630, 45, 1636, 1630,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1630, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1745, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 1735, 45, 1735, 45,
+ 1741, 1735, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1630, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1630, 1630, 1630, 1641,
- 45, 45, 45, 45, 45, 45, 1630, 45, 45, 1630,
- 45, 1636, 45, 45, 45, 45, 1630, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 1735, 1735, 1746, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 1735, 45, 1741, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1630,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1630, 45, 1630, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1735, 45, 1735,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1630, 1630, 1630, 45,
- 1630, 45, 45, 1630, 1642, 45, 45, 1630, 1630, 45,
- 1630, 45, 1630, 45, 45, 45, 1630, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1735, 1735, 1735, 45, 1735, 45, 45, 1735, 1747, 45,
+ 45, 1735, 1735, 45, 1735, 45, 1735, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1630, 45, 45, 45, 45, 45, 45, 45, 45, 1630,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1630, 45, 45, 1630, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1630, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1735, 1735,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1630, 45, 45, 45, 45, 45, 45, 45, 45, 1630,
- 1630, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1630, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1630, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1630,
- 45, 45, 45, 45, 45, 1630, 45, 45, 45, 45,
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 1735,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1630, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1630, 1630, 45, 45, 45, 45, 45,
- 45, 45, 1630, 1630, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1630, 45, 1630, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1735, 1735, 45, 45, 45, 45, 45, 45,
+ 45, 1735, 1735, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1735, 45, 1735, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1630, 45, 45,
- 45, 45, 45, 45, 45, 45, 1630, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1630, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1630, 45,
- 45, 45, 45, 45, 45, 1630, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1630, 1630, 45,
- 45, 45, 1630, 45, 45, 45, 1630, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1630, 45, 45, 45, 45,
+ 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 1735,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 45,
+ 45, 1735, 1735, 45, 45, 45, 1735, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1630, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 1630, 1630, 45,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 1630, 45, 45, 45,
+ 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 1735, 1735, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1630, 1630, 45, 1630, 45, 1630, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 1630, 45, 45, 45,
- 45, 1630, 1630, 45, 1630, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1735, 1735, 45,
+ 1735, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 1735, 1735, 45, 1735, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1630, 45, 45, 45, 1630, 1630, 45, 45, 45,
- 45, 45, 45, 45, 45, 1630, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
- 45, 1630, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1630, 45,
-
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1630,
- 1630, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 1630,
- 45, 1630, 45, 1630, 1630, 45, 1630, 45, 45, 45,
- 45, 45, 1630, 45, 1630, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1630, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1630, 45,
- 1630, 1630, 45, 1630, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1630, 45, 45, 45, 45, 45, 45,
- 1630, 1630, 45, 45, 1630, 45, 45, 45, 45, 45,
-
- 1630, 45, 45, 45, 45, 45, 1630, 45, 1630, 45,
+ 45, 45, 45, 45, 45, 1735, 45, 45, 45, 1735,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1630, 45, 45, 1630, 45, 45, 45, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1735, 1735,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1735, 45, 45, 45, 45, 45, 45, 1735, 45,
+ 1735, 45, 1735, 1735, 45, 1735, 45, 45, 45, 45,
+ 45, 1735, 45, 1735, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1630, 45, 45,
- 1630, 45, 45, 45, 45, 1630, 1630, 45, 45, 45,
- 1630, 1630, 1630, 45, 45, 1630, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1630, 45, 45, 1630, 45,
- 1630, 45, 45, 45, 1630, 45, 45, 45, 45, 1630,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1735, 45, 1735, 1735, 45, 1735, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45,
+ 45, 45, 45, 45, 1735, 1735, 45, 45, 1735, 45,
+ 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45,
+ 1735, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1630, 45, 45, 45, 45, 1630,
- 45, 45, 1630, 45, 45, 45, 45, 45, 1630, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1630, 45, 45, 45, 1630, 45, 1630, 45, 1630, 45,
- 45, 45, 45, 45, 45, 1630, 45, 45, 45, 45,
- 45, 45, 45, 1630, 45, 45, 45, 45, 1630, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1630, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1630, 1630, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1630, 45, 45, 45, 45, 45, 45,
- 45, 1630, 45, 1630, 45, 1630, 45, 1630, 1630, 45,
- 45, 45, 45, 45, 1630, 45, 1630, 45, 45, 1630,
- 45, 45, 1630, 45, 45, 45, 1630, 45, 45, 45,
- 1630, 45, 1630, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1735, 45, 45, 1735,
+ 45, 45, 45, 45, 1735, 1735, 45, 45, 45, 1735,
+ 1735, 1735, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1735, 45, 45, 1735, 45, 1735, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1735, 45, 45, 45, 1735, 45, 1735, 45, 1735,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45,
+ 1735, 45, 45, 45, 45, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1735, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1630, 45, 45, 45, 45, 45, 1630, 1630, 1630,
- 45, 1630, 1630, 45, 45, 45, 45, 45, 45, 1630,
- 1630, 1630, 45, 45, 45, 45, 1630, 45, 45, 1630,
- 45, 45, 45, 45, 45, 1630, 45, 45, 1630, 0,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630
+ 45, 1735, 45, 45, 45, 45, 45, 45, 45, 1735,
+ 45, 1735, 45, 1735, 45, 1735, 1735, 45, 45, 45,
+ 45, 45, 1735, 45, 1735, 45, 45, 45, 45, 45,
+ 45, 45, 1735, 45, 45, 1735, 45, 45, 45, 1735,
+ 45, 45, 45, 1735, 45, 1735, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1735, 45, 45, 1735, 45, 45,
+ 45, 45, 45, 45, 1735, 1735, 1735, 45, 1735, 1735,
+
+ 45, 45, 1735, 45, 45, 45, 45, 45, 45, 1735,
+ 1735, 45, 1735, 1735, 45, 45, 45, 45, 45, 1735,
+ 45, 45, 1735, 45, 45, 45, 1735, 45, 45, 45,
+ 1735, 45, 45, 1735, 0, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735
} ;
-static const flex_int16_t yy_nxt[2107] =
+static const flex_int16_t yy_nxt[2212] =
{ 0,
- 1630, 13, 14, 13, 1630, 15, 16, 1630, 17, 18,
+ 1735, 13, 14, 13, 1735, 15, 16, 1735, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 85, 725, 37, 14, 37, 86, 25, 26, 38, 101,
- 1630, 27, 37, 14, 37, 42, 28, 42, 38, 91,
- 92, 29, 197, 30, 13, 14, 13, 90, 91, 25,
+ 85, 739, 37, 14, 37, 86, 25, 26, 38, 101,
+ 1735, 27, 37, 14, 37, 42, 28, 42, 38, 91,
+ 92, 29, 198, 30, 13, 14, 13, 90, 91, 25,
31, 92, 13, 14, 13, 13, 14, 13, 32, 40,
- 726, 13, 14, 13, 33, 40, 102, 91, 92, 197,
+ 740, 13, 14, 13, 33, 40, 102, 91, 92, 198,
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, 103, 25, 26,
13, 14, 13, 27, 39, 42, 107, 42, 28, 42,
- 108, 42, 41, 29, 111, 30, 114, 115, 93, 136,
- 41, 25, 31, 103, 137, 442, 88, 138, 88, 107,
+ 108, 42, 41, 29, 111, 30, 114, 115, 93, 137,
+ 41, 25, 31, 103, 138, 445, 88, 139, 88, 107,
32, 89, 89, 89, 89, 89, 33, 111, 108, 114,
- 833, 115, 443, 34, 35, 44, 44, 44, 45, 45,
+ 837, 115, 446, 34, 35, 44, 44, 44, 45, 45,
46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 47, 45, 48,
49, 50, 51, 45, 52, 53, 54, 45, 45, 45,
77, 78, 57, 45, 45, 45, 45, 45, 80, 109,
81, 81, 81, 81, 81, 80, 103, 83, 83, 83,
83, 83, 107, 82, 84, 84, 84, 84, 84, 80,
- 82, 83, 83, 83, 83, 83, 134, 82, 110, 131,
- 112, 121, 119, 135, 82, 107, 82, 165, 120, 132,
- 113, 166, 122, 82, 126, 123, 133, 124, 127, 125,
- 82, 128, 129, 112, 205, 231, 392, 82, 45, 393,
- 45, 45, 45, 45, 130, 45, 45, 45, 113, 117,
- 139, 232, 45, 45, 834, 45, 45, 205, 101, 183,
-
- 140, 45, 141, 45, 45, 45, 45, 45, 45, 45,
+ 82, 83, 83, 83, 83, 83, 135, 82, 110, 132,
+ 112, 121, 119, 136, 82, 107, 82, 166, 120, 133,
+ 113, 167, 122, 82, 140, 123, 134, 124, 233, 125,
+ 82, 184, 185, 112, 141, 203, 142, 82, 45, 840,
+ 45, 45, 45, 45, 234, 45, 45, 45, 113, 117,
+ 144, 145, 45, 45, 146, 45, 45, 184, 185, 184,
+
+ 147, 45, 203, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 111, 183, 45, 143, 144, 184,
- 45, 145, 147, 450, 45, 102, 148, 146, 185, 451,
- 149, 185, 45, 151, 154, 152, 45, 153, 45, 118,
- 198, 192, 155, 114, 156, 184, 150, 201, 159, 157,
- 158, 160, 161, 167, 173, 174, 185, 168, 375, 188,
- 169, 202, 162, 203, 112, 163, 114, 170, 171, 192,
- 214, 199, 487, 172, 113, 201, 179, 229, 488, 215,
- 216, 180, 84, 84, 84, 84, 84, 175, 202, 176,
-
- 230, 203, 204, 177, 835, 82, 89, 89, 89, 89,
- 89, 80, 113, 81, 81, 81, 81, 81, 376, 178,
- 89, 89, 89, 89, 89, 88, 82, 88, 82, 204,
- 89, 89, 89, 89, 89, 80, 183, 83, 83, 83,
- 83, 83, 84, 84, 84, 84, 84, 100, 184, 82,
- 82, 196, 192, 240, 100, 82, 220, 221, 249, 201,
- 301, 235, 186, 226, 236, 227, 222, 202, 237, 209,
- 262, 263, 264, 82, 187, 299, 300, 196, 82, 250,
- 210, 836, 228, 301, 100, 299, 267, 256, 100, 268,
- 269, 283, 100, 301, 292, 284, 311, 241, 300, 285,
-
- 100, 273, 300, 299, 100, 307, 100, 191, 208, 208,
- 208, 208, 208, 302, 704, 705, 304, 208, 208, 208,
- 208, 208, 208, 311, 303, 310, 363, 314, 307, 318,
- 315, 535, 316, 401, 536, 410, 274, 275, 276, 307,
- 208, 208, 208, 208, 208, 208, 402, 277, 504, 278,
- 314, 279, 280, 310, 281, 316, 318, 319, 319, 319,
- 319, 319, 321, 314, 327, 417, 319, 319, 319, 319,
- 319, 319, 328, 417, 421, 423, 424, 329, 330, 364,
- 429, 426, 365, 508, 425, 421, 371, 509, 417, 319,
- 319, 319, 319, 319, 319, 445, 418, 465, 819, 429,
-
- 446, 820, 466, 421, 426, 491, 505, 546, 429, 432,
- 432, 432, 432, 432, 433, 492, 837, 772, 432, 432,
- 432, 432, 432, 432, 480, 481, 482, 493, 516, 521,
- 483, 541, 517, 522, 546, 546, 542, 554, 571, 555,
- 772, 432, 432, 432, 432, 432, 432, 581, 603, 637,
- 467, 572, 582, 838, 638, 468, 665, 666, 604, 839,
- 661, 759, 556, 771, 554, 667, 555, 45, 45, 45,
- 45, 45, 840, 760, 841, 842, 45, 45, 45, 45,
- 45, 45, 735, 665, 843, 666, 844, 736, 845, 777,
- 778, 771, 779, 846, 847, 848, 849, 850, 851, 45,
-
- 45, 45, 45, 45, 45, 852, 853, 854, 855, 856,
- 857, 858, 860, 861, 864, 865, 866, 868, 859, 869,
- 862, 870, 867, 871, 863, 872, 737, 873, 874, 875,
- 876, 877, 878, 879, 880, 881, 882, 883, 884, 885,
- 886, 887, 888, 889, 890, 891, 892, 893, 894, 895,
+ 45, 45, 45, 45, 126, 187, 45, 127, 128, 148,
+ 45, 129, 130, 149, 45, 111, 841, 150, 317, 186,
+ 186, 199, 45, 413, 131, 185, 45, 155, 45, 118,
+ 101, 114, 842, 151, 152, 156, 153, 157, 154, 174,
+ 175, 160, 158, 159, 161, 162, 168, 186, 189, 112,
+ 169, 188, 200, 170, 114, 163, 193, 202, 164, 113,
+ 171, 172, 197, 204, 180, 448, 173, 102, 237, 181,
+ 449, 238, 176, 205, 177, 239, 222, 223, 178, 84,
+
+ 84, 84, 84, 84, 193, 202, 224, 113, 197, 231,
+ 404, 204, 82, 80, 179, 81, 81, 81, 81, 81,
+ 205, 302, 232, 405, 88, 206, 88, 242, 82, 89,
+ 89, 89, 89, 89, 80, 82, 83, 83, 83, 83,
+ 83, 84, 84, 84, 84, 84, 100, 302, 206, 82,
+ 193, 82, 251, 100, 82, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 215, 228, 210, 229, 202,
+ 301, 243, 82, 252, 216, 217, 301, 82, 211, 264,
+ 265, 266, 843, 100, 285, 230, 269, 100, 286, 270,
+ 271, 100, 287, 718, 719, 203, 313, 258, 301, 100,
+
+ 275, 303, 302, 100, 304, 100, 192, 209, 209, 209,
+ 209, 209, 844, 845, 378, 303, 209, 209, 209, 209,
+ 209, 209, 294, 313, 303, 508, 309, 312, 305, 316,
+ 320, 318, 366, 309, 846, 276, 277, 278, 306, 209,
+ 209, 209, 209, 209, 209, 847, 279, 424, 280, 309,
+ 281, 282, 316, 283, 318, 312, 323, 320, 321, 321,
+ 321, 321, 321, 316, 379, 329, 420, 321, 321, 321,
+ 321, 321, 321, 330, 395, 420, 424, 396, 331, 332,
+ 429, 432, 848, 509, 849, 367, 374, 424, 368, 420,
+ 321, 321, 321, 321, 321, 321, 426, 427, 421, 469,
+
+ 454, 491, 432, 429, 470, 428, 455, 492, 495, 432,
+ 435, 435, 435, 435, 435, 850, 436, 851, 496, 435,
+ 435, 435, 435, 435, 435, 484, 485, 486, 512, 520,
+ 497, 487, 513, 521, 525, 545, 539, 550, 526, 540,
+ 546, 550, 435, 435, 435, 435, 435, 435, 558, 590,
+ 559, 572, 471, 580, 591, 646, 674, 472, 612, 573,
+ 647, 574, 575, 576, 852, 550, 581, 675, 613, 560,
+ 853, 670, 773, 785, 786, 558, 676, 559, 45, 45,
+ 45, 45, 45, 674, 774, 854, 855, 45, 45, 45,
+ 45, 45, 45, 749, 856, 675, 857, 786, 750, 791,
+
+ 792, 785, 793, 838, 858, 859, 839, 860, 861, 862,
+ 45, 45, 45, 45, 45, 45, 863, 864, 865, 866,
+ 867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
+ 879, 877, 880, 883, 884, 885, 887, 751, 878, 881,
+ 888, 886, 889, 882, 890, 891, 892, 893, 894, 895,
896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
- 906, 879, 907, 908, 909, 911, 912, 913, 914, 910,
- 915, 916, 917, 918, 919, 920, 921, 922, 923, 924,
- 925, 926, 927, 928, 929, 930, 931, 932, 934, 935,
- 936, 933, 937, 938, 939, 940, 941, 942, 943, 944,
+ 906, 907, 908, 909, 910, 911, 912, 913, 914, 915,
+ 916, 917, 918, 919, 920, 921, 922, 923, 924, 925,
+ 898, 926, 927, 928, 929, 930, 931, 932, 933, 935,
+ 936, 937, 938, 934, 939, 940, 941, 942, 943, 944,
945, 946, 947, 948, 949, 950, 951, 952, 953, 954,
- 955, 956, 957, 958, 959, 960, 961, 962, 964, 965,
- 966, 967, 968, 969, 970, 971, 972, 973, 974, 963,
+ 955, 956, 958, 959, 960, 957, 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, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 979, 1002, 1003,
- 978, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
- 1015, 1016, 1017, 1018, 1013, 1019, 1020, 1021, 1022, 1023,
- 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
- 1034, 1035, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
-
- 1045, 1046, 1036, 1047, 1048, 1049, 1050, 1051, 1052, 1053,
+ 985, 986, 988, 989, 990, 991, 992, 993, 994, 995,
+ 996, 997, 998, 987, 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,
+ 1025, 1003, 1026, 1027, 1002, 1028, 1029, 1030, 1031, 1032,
+ 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1044,
+
+ 1045, 1046, 1047, 1042, 1048, 1049, 1050, 1051, 1052, 1053,
1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
- 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1014, 1071, 1072,
- 1073, 1075, 1074, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
- 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
- 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1073, 1074,
- 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1109, 1111, 1112,
- 1113, 1108, 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, 1148, 1149, 1150, 1151,
- 1152, 1110, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
- 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
- 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180,
- 1181, 1182, 1183, 1184, 1185, 1186, 1164, 1187, 1188, 1189,
- 1190, 1191, 1165, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
- 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
- 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
- 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 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, 1256, 1257, 1258, 1259, 1260,
- 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
- 1242, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1279, 1280,
- 1281, 1228, 1282, 1283, 1284, 1278, 1285, 1286, 1287, 1246,
- 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
- 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
- 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
- 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
- 1328, 1329, 1330, 1331, 1332, 1310, 1333, 1334, 1335, 1336,
-
- 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346,
- 1347, 1348, 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,
+ 1064, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
+ 1075, 1065, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
+ 1094, 1095, 1096, 1097, 1098, 1099, 1043, 1100, 1101, 1102,
+ 1104, 1103, 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, 1102, 1103, 1130,
+ 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
+
+ 1141, 1143, 1145, 1146, 1147, 1142, 1148, 1149, 1150, 1151,
+ 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
+ 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171,
+ 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181,
+ 1182, 1183, 1184, 1185, 1186, 1144, 1187, 1188, 1189, 1190,
+ 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200,
+ 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
+ 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
+ 1198, 1221, 1222, 1223, 1224, 1225, 1199, 1226, 1227, 1228,
+ 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
+
+ 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
+ 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
+ 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1268, 1269,
+ 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
+ 1280, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1289, 1290,
+ 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300,
+ 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1281,
+ 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
+ 1267, 1320, 1321, 1323, 1324, 1325, 1326, 1327, 1285, 1328,
+ 1322, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
+
+ 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
+ 1348, 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, 1354,
1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
- 1388, 1389, 1390, 1391, 1364, 1392, 1393, 1394, 1395, 1396,
+ 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
- 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1417,
- 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1425, 1426, 1427,
- 1428, 1424, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
-
- 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1387, 1416, 1444,
- 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454,
- 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464,
- 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474,
- 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484,
- 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494,
- 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
+ 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416,
+ 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1426, 1427,
+ 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1425, 1436,
+
+ 1437, 1438, 1441, 1413, 1439, 1440, 1443, 1444, 1445, 1446,
+ 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456,
+ 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
+ 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476,
+ 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1486, 1487,
+ 1488, 1489, 1485, 1490, 1491, 1492, 1493, 1494, 1495, 1496,
+ 1442, 1497, 1471, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514,
1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524,
1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534,
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, 1626, 1627, 1628, 1629, 12, 12, 12, 12, 12,
-
- 36, 36, 36, 36, 36, 79, 306, 79, 79, 79,
- 98, 420, 98, 545, 98, 100, 100, 100, 100, 100,
- 116, 116, 116, 116, 116, 182, 100, 182, 182, 182,
- 206, 206, 206, 832, 831, 830, 829, 828, 827, 826,
- 825, 824, 823, 822, 821, 818, 817, 816, 815, 814,
- 813, 812, 811, 810, 809, 808, 807, 806, 805, 804,
- 803, 802, 801, 800, 799, 798, 797, 796, 795, 794,
- 793, 792, 791, 790, 789, 788, 787, 786, 785, 784,
- 783, 782, 781, 780, 776, 775, 774, 773, 770, 769,
- 768, 767, 766, 765, 764, 763, 762, 761, 758, 757,
-
- 756, 755, 754, 753, 752, 751, 750, 749, 748, 747,
- 746, 745, 744, 743, 742, 741, 740, 739, 738, 734,
- 733, 732, 731, 730, 729, 728, 727, 724, 723, 722,
- 721, 720, 719, 718, 717, 716, 715, 714, 713, 712,
- 711, 710, 709, 708, 707, 706, 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, 664, 663, 662, 661, 660, 659, 658, 657,
- 656, 655, 654, 653, 652, 651, 650, 649, 648, 647,
-
- 646, 645, 644, 643, 642, 641, 640, 639, 636, 635,
- 634, 633, 632, 631, 630, 629, 628, 627, 626, 625,
- 624, 623, 622, 621, 620, 619, 618, 617, 616, 615,
- 614, 613, 612, 611, 610, 609, 608, 607, 606, 605,
- 602, 601, 600, 599, 598, 597, 596, 595, 594, 593,
- 592, 591, 590, 589, 588, 587, 586, 585, 584, 583,
- 580, 579, 578, 577, 576, 575, 574, 573, 570, 569,
- 568, 567, 566, 565, 564, 563, 562, 561, 560, 559,
- 558, 557, 553, 552, 551, 550, 549, 548, 547, 544,
- 543, 540, 539, 538, 537, 534, 533, 532, 531, 530,
-
- 529, 528, 527, 526, 525, 524, 523, 520, 519, 518,
- 515, 514, 513, 512, 511, 510, 507, 506, 503, 502,
- 501, 500, 499, 498, 497, 496, 495, 494, 490, 489,
- 486, 485, 484, 479, 478, 477, 476, 475, 474, 473,
- 472, 471, 470, 469, 464, 463, 462, 461, 460, 459,
- 458, 457, 456, 455, 454, 453, 452, 449, 448, 447,
- 444, 441, 440, 439, 438, 437, 436, 435, 434, 431,
- 430, 428, 427, 422, 419, 416, 415, 414, 413, 412,
- 411, 409, 408, 407, 406, 405, 404, 403, 400, 399,
- 398, 397, 396, 395, 394, 391, 390, 389, 388, 387,
-
- 386, 385, 384, 383, 382, 381, 380, 379, 378, 377,
- 374, 373, 372, 370, 369, 368, 367, 366, 362, 361,
- 360, 359, 358, 357, 356, 355, 354, 353, 352, 351,
- 350, 349, 348, 347, 346, 345, 344, 343, 342, 341,
- 340, 339, 338, 337, 336, 335, 334, 333, 332, 331,
- 326, 325, 324, 323, 322, 320, 207, 317, 315, 313,
- 312, 309, 308, 305, 298, 297, 296, 295, 294, 293,
- 291, 290, 289, 288, 287, 286, 282, 272, 271, 270,
- 266, 265, 261, 260, 259, 258, 257, 255, 254, 253,
- 252, 251, 248, 247, 246, 245, 244, 243, 242, 239,
-
- 238, 234, 233, 225, 224, 223, 219, 218, 217, 213,
- 212, 211, 207, 200, 195, 194, 193, 190, 189, 181,
- 164, 142, 106, 105, 104, 43, 99, 97, 96, 87,
- 43, 1630, 11, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
-
- 1630, 1630, 1630, 1630, 1630, 1630
+ 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634,
+
+ 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644,
+ 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654,
+ 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664,
+ 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674,
+ 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684,
+ 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694,
+ 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,
+
+ 12, 12, 12, 12, 12, 36, 36, 36, 36, 36,
+ 79, 308, 79, 79, 79, 98, 423, 98, 549, 98,
+ 100, 100, 100, 100, 100, 116, 116, 116, 116, 116,
+ 183, 100, 183, 183, 183, 207, 207, 207, 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, 811, 810, 809, 808, 807, 806, 805,
+ 804, 803, 802, 801, 800, 799, 798, 797, 796, 795,
+ 794, 790, 789, 788, 787, 784, 783, 782, 781, 780,
+ 779, 778, 777, 776, 775, 772, 771, 770, 769, 768,
+
+ 767, 766, 765, 764, 763, 762, 761, 760, 759, 758,
+ 757, 756, 755, 754, 753, 752, 748, 747, 746, 745,
+ 744, 743, 742, 741, 738, 737, 736, 735, 734, 733,
+ 732, 731, 730, 729, 728, 727, 726, 725, 724, 723,
+ 722, 721, 720, 717, 716, 715, 714, 713, 712, 711,
+ 710, 709, 708, 707, 706, 705, 704, 703, 702, 701,
+ 700, 699, 698, 697, 696, 695, 694, 693, 692, 691,
+ 690, 689, 688, 687, 686, 685, 684, 683, 682, 681,
+ 680, 679, 678, 677, 673, 672, 671, 670, 669, 668,
+ 667, 666, 665, 664, 663, 662, 661, 660, 659, 658,
+
+ 657, 656, 655, 654, 653, 652, 651, 650, 649, 648,
+ 645, 644, 643, 642, 641, 640, 639, 638, 637, 636,
+ 635, 634, 633, 632, 631, 630, 629, 628, 627, 626,
+ 625, 624, 623, 622, 621, 620, 619, 618, 617, 616,
+ 615, 614, 611, 610, 609, 608, 607, 606, 605, 604,
+ 603, 602, 601, 600, 599, 598, 597, 596, 595, 594,
+ 593, 592, 589, 588, 587, 586, 585, 584, 583, 582,
+ 579, 578, 577, 571, 570, 569, 568, 567, 566, 565,
+ 564, 563, 562, 561, 557, 556, 555, 554, 553, 552,
+ 551, 548, 547, 544, 543, 542, 541, 538, 537, 536,
+
+ 535, 534, 533, 532, 531, 530, 529, 528, 527, 524,
+ 523, 522, 519, 518, 517, 516, 515, 514, 511, 510,
+ 507, 506, 505, 504, 503, 502, 501, 500, 499, 498,
+ 494, 493, 490, 489, 488, 483, 482, 481, 480, 479,
+ 478, 477, 476, 475, 474, 473, 468, 467, 466, 465,
+ 464, 463, 462, 461, 460, 459, 458, 457, 456, 453,
+ 452, 451, 450, 447, 444, 443, 442, 441, 440, 439,
+ 438, 437, 434, 433, 431, 430, 425, 422, 419, 418,
+ 417, 416, 415, 414, 412, 411, 410, 409, 408, 407,
+ 406, 403, 402, 401, 400, 399, 398, 397, 394, 393,
+
+ 392, 391, 390, 389, 388, 387, 386, 385, 384, 383,
+ 382, 381, 380, 377, 376, 375, 373, 372, 371, 370,
+ 369, 365, 364, 363, 362, 361, 360, 359, 358, 357,
+ 356, 355, 354, 353, 352, 351, 350, 349, 348, 347,
+ 346, 345, 344, 343, 342, 341, 340, 339, 338, 337,
+ 336, 335, 334, 333, 328, 327, 326, 325, 324, 322,
+ 208, 319, 317, 315, 314, 311, 310, 307, 300, 299,
+ 298, 297, 296, 295, 293, 292, 291, 290, 289, 288,
+ 284, 274, 273, 272, 268, 267, 263, 262, 261, 260,
+ 259, 257, 256, 255, 254, 253, 250, 249, 248, 247,
+
+ 246, 245, 244, 241, 240, 236, 235, 227, 226, 225,
+ 221, 220, 219, 218, 214, 213, 212, 208, 201, 196,
+ 195, 194, 191, 190, 182, 165, 143, 106, 105, 104,
+ 43, 99, 97, 96, 87, 43, 1735, 11, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735
} ;
-static const flex_int16_t yy_chk[2107] =
+static const flex_int16_t yy_chk[2212] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 21, 618, 3, 3, 3, 21, 1, 1, 3, 44,
+ 21, 627, 3, 3, 3, 21, 1, 1, 3, 44,
0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
28, 1, 108, 1, 5, 5, 5, 26, 32, 1,
1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
- 618, 8, 8, 8, 1, 8, 44, 27, 28, 108,
+ 627, 8, 8, 8, 1, 8, 44, 27, 28, 108,
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, 47, 2, 2,
10, 10, 10, 2, 6, 37, 51, 37, 2, 42,
52, 42, 9, 2, 54, 2, 56, 57, 31, 65,
- 10, 2, 2, 47, 65, 330, 25, 65, 25, 51,
+ 10, 2, 2, 47, 65, 332, 25, 65, 25, 51,
2, 25, 25, 25, 25, 25, 2, 54, 52, 56,
- 727, 57, 330, 2, 2, 15, 15, 15, 15, 15,
+ 725, 57, 332, 2, 2, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
19, 19, 63, 17, 20, 20, 20, 20, 20, 22,
19, 22, 22, 22, 22, 22, 64, 20, 53, 62,
55, 60, 59, 64, 22, 63, 17, 74, 59, 62,
- 55, 74, 60, 19, 61, 60, 63, 60, 61, 60,
- 20, 61, 61, 55, 115, 133, 276, 22, 45, 276,
- 45, 45, 45, 45, 61, 45, 45, 45, 55, 58,
- 66, 133, 45, 45, 728, 45, 58, 115, 100, 90,
+ 55, 74, 60, 19, 66, 60, 63, 60, 134, 60,
+ 20, 90, 91, 55, 66, 112, 66, 22, 45, 727,
+ 45, 45, 45, 45, 134, 45, 45, 45, 55, 58,
+ 68, 68, 45, 45, 68, 45, 58, 90, 91, 93,
- 66, 45, 66, 45, 45, 45, 45, 45, 45, 45,
+ 68, 45, 112, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 70, 90, 58, 68, 68, 91,
- 58, 68, 69, 337, 58, 100, 69, 68, 92, 337,
- 69, 95, 58, 70, 71, 70, 58, 70, 58, 58,
- 109, 103, 71, 77, 71, 91, 69, 111, 72, 71,
- 71, 72, 72, 75, 76, 76, 92, 75, 260, 95,
- 75, 112, 72, 113, 76, 72, 77, 75, 75, 103,
- 123, 109, 367, 75, 76, 111, 77, 132, 367, 123,
- 123, 77, 80, 80, 80, 80, 80, 76, 112, 76,
-
- 132, 113, 114, 76, 729, 80, 88, 88, 88, 88,
- 88, 81, 76, 81, 81, 81, 81, 81, 260, 76,
- 89, 89, 89, 89, 89, 82, 81, 82, 80, 114,
- 82, 82, 82, 82, 82, 83, 93, 83, 83, 83,
- 83, 83, 84, 84, 84, 84, 84, 102, 94, 81,
- 83, 107, 119, 139, 102, 84, 127, 127, 147, 153,
- 185, 136, 93, 131, 136, 131, 127, 175, 136, 119,
- 159, 159, 159, 83, 94, 183, 184, 107, 84, 147,
- 119, 730, 131, 185, 102, 186, 162, 153, 102, 162,
- 162, 168, 102, 188, 175, 168, 197, 139, 187, 168,
-
- 102, 166, 184, 183, 102, 192, 102, 102, 118, 118,
- 118, 118, 118, 186, 596, 596, 188, 118, 118, 118,
- 118, 118, 118, 197, 187, 196, 250, 201, 192, 205,
- 292, 410, 203, 284, 410, 292, 166, 166, 166, 210,
- 118, 118, 118, 118, 118, 118, 284, 166, 383, 166,
- 201, 166, 166, 196, 166, 203, 205, 208, 208, 208,
- 208, 208, 210, 256, 216, 299, 208, 208, 208, 208,
- 208, 208, 216, 302, 307, 309, 309, 216, 216, 250,
- 314, 310, 250, 386, 309, 321, 256, 386, 299, 208,
- 208, 208, 208, 208, 208, 333, 302, 351, 712, 371,
-
- 333, 712, 351, 307, 310, 370, 383, 421, 314, 319,
- 319, 319, 319, 319, 321, 370, 731, 666, 319, 319,
- 319, 319, 319, 319, 363, 363, 363, 371, 393, 397,
- 363, 415, 393, 397, 433, 421, 415, 431, 450, 431,
- 666, 319, 319, 319, 319, 319, 319, 460, 482, 518,
- 351, 450, 460, 732, 518, 351, 554, 555, 482, 733,
- 556, 652, 433, 665, 431, 556, 431, 432, 432, 432,
- 432, 432, 734, 652, 736, 737, 432, 432, 432, 432,
- 432, 432, 628, 554, 738, 555, 739, 628, 740, 671,
- 671, 665, 671, 741, 742, 743, 744, 745, 746, 432,
-
- 432, 432, 432, 432, 432, 747, 748, 749, 750, 751,
- 752, 753, 754, 755, 756, 757, 758, 760, 753, 761,
- 755, 762, 758, 763, 755, 764, 628, 765, 766, 767,
- 768, 769, 771, 772, 773, 774, 775, 777, 778, 779,
- 780, 781, 782, 783, 784, 785, 786, 787, 788, 789,
- 790, 791, 792, 793, 794, 795, 796, 797, 799, 800,
- 801, 772, 802, 803, 804, 805, 806, 807, 808, 804,
- 809, 810, 811, 812, 813, 816, 817, 818, 819, 820,
- 821, 822, 825, 826, 827, 828, 829, 830, 831, 832,
- 833, 830, 834, 835, 837, 839, 840, 841, 842, 843,
-
- 844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
- 854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
- 864, 865, 866, 867, 869, 870, 871, 872, 873, 861,
- 874, 875, 876, 878, 879, 880, 881, 882, 883, 884,
- 885, 886, 887, 888, 889, 890, 891, 892, 893, 894,
- 895, 896, 897, 899, 900, 901, 902, 879, 903, 904,
- 878, 905, 906, 907, 908, 910, 911, 912, 913, 914,
- 915, 917, 918, 919, 914, 920, 921, 922, 923, 924,
- 925, 926, 927, 928, 929, 930, 931, 932, 933, 934,
- 935, 936, 937, 940, 941, 942, 944, 945, 946, 948,
-
- 949, 950, 936, 951, 952, 953, 954, 955, 956, 957,
- 958, 959, 960, 961, 962, 963, 964, 965, 967, 968,
- 969, 970, 971, 972, 973, 974, 975, 914, 976, 977,
- 978, 980, 979, 981, 982, 983, 984, 985, 986, 987,
- 988, 989, 990, 991, 992, 993, 994, 996, 997, 998,
- 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 978, 979,
- 1007, 1008, 1009, 1010, 1011, 1013, 1014, 1015, 1016, 1017,
- 1018, 1014, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026,
- 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036,
- 1037, 1038, 1039, 1040, 1041, 1042, 1044, 1045, 1046, 1047,
-
- 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1057, 1060,
- 1061, 1015, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069,
- 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
- 1080, 1081, 1082, 1083, 1084, 1086, 1088, 1089, 1090, 1091,
- 1092, 1093, 1094, 1095, 1096, 1097, 1073, 1098, 1099, 1100,
- 1101, 1102, 1074, 1103, 1106, 1108, 1110, 1111, 1112, 1113,
- 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1124,
- 1125, 1126, 1128, 1129, 1130, 1131, 1134, 1136, 1137, 1138,
- 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148,
- 1149, 1150, 1151, 1153, 1154, 1155, 1158, 1159, 1160, 1161,
-
- 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172,
- 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1183, 1184,
- 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194,
- 1164, 1195, 1196, 1197, 1198, 1200, 1201, 1202, 1203, 1204,
- 1205, 1147, 1206, 1207, 1208, 1202, 1209, 1212, 1213, 1168,
- 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1224,
- 1225, 1226, 1227, 1228, 1229, 1231, 1233, 1236, 1238, 1239,
- 1240, 1241, 1242, 1244, 1246, 1247, 1248, 1249, 1250, 1251,
- 1252, 1253, 1254, 1255, 1256, 1258, 1259, 1260, 1261, 1262,
- 1263, 1264, 1265, 1266, 1267, 1242, 1268, 1270, 1273, 1275,
-
- 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1286,
- 1287, 1288, 1289, 1290, 1293, 1294, 1296, 1297, 1298, 1299,
- 1300, 1302, 1303, 1304, 1305, 1306, 1308, 1310, 1311, 1312,
- 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323,
- 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1332, 1333,
- 1334, 1335, 1336, 1337, 1310, 1338, 1339, 1340, 1341, 1342,
- 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352,
- 1353, 1354, 1355, 1356, 1357, 1359, 1360, 1362, 1363, 1365,
- 1364, 1368, 1369, 1370, 1374, 1375, 1377, 1378, 1379, 1380,
- 1381, 1377, 1382, 1383, 1384, 1385, 1387, 1388, 1390, 1392,
-
- 1393, 1394, 1396, 1397, 1398, 1399, 1401, 1333, 1364, 1402,
- 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412,
- 1413, 1414, 1416, 1417, 1418, 1419, 1421, 1422, 1424, 1425,
- 1426, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437,
- 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
- 1448, 1449, 1450, 1452, 1453, 1454, 1456, 1458, 1460, 1461,
- 1462, 1463, 1464, 1465, 1467, 1468, 1469, 1470, 1471, 1472,
- 1473, 1475, 1476, 1477, 1478, 1480, 1481, 1482, 1483, 1484,
- 1485, 1486, 1487, 1488, 1490, 1491, 1492, 1493, 1494, 1495,
- 1496, 1497, 1498, 1499, 1500, 1501, 1504, 1505, 1506, 1507,
-
- 1508, 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1518,
- 1519, 1520, 1521, 1522, 1523, 1525, 1526, 1527, 1528, 1529,
- 1530, 1531, 1533, 1535, 1537, 1540, 1541, 1542, 1543, 1544,
- 1546, 1548, 1549, 1551, 1552, 1554, 1555, 1556, 1558, 1559,
- 1560, 1562, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571,
- 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581,
- 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591,
- 1593, 1594, 1595, 1596, 1597, 1601, 1604, 1605, 1606, 1607,
- 1608, 1609, 1613, 1614, 1615, 1616, 1618, 1619, 1621, 1622,
- 1623, 1624, 1625, 1627, 1628, 1631, 1631, 1631, 1631, 1631,
-
- 1632, 1632, 1632, 1632, 1632, 1633, 1639, 1633, 1633, 1633,
- 1634, 1640, 1634, 1641, 1634, 1635, 1635, 1635, 1635, 1635,
- 1636, 1636, 1636, 1636, 1636, 1637, 1642, 1637, 1637, 1637,
- 1638, 1638, 1638, 726, 724, 723, 722, 721, 720, 719,
- 718, 717, 715, 714, 713, 711, 710, 709, 708, 707,
- 706, 705, 704, 703, 702, 701, 700, 699, 698, 697,
- 696, 695, 694, 692, 691, 690, 689, 688, 687, 686,
- 685, 684, 683, 682, 681, 680, 679, 678, 677, 676,
- 675, 674, 673, 672, 670, 669, 668, 667, 664, 663,
- 662, 659, 658, 657, 656, 655, 654, 653, 650, 649,
-
- 648, 647, 646, 645, 644, 643, 642, 641, 640, 639,
- 638, 636, 635, 634, 633, 632, 631, 630, 629, 627,
- 626, 624, 623, 622, 621, 620, 619, 617, 616, 615,
- 613, 612, 610, 609, 608, 607, 606, 605, 604, 603,
- 602, 601, 600, 599, 598, 597, 595, 594, 593, 592,
- 591, 589, 588, 587, 586, 585, 584, 583, 582, 580,
- 579, 578, 577, 576, 575, 574, 573, 572, 571, 570,
- 569, 568, 567, 566, 565, 564, 563, 562, 561, 560,
- 559, 558, 552, 550, 547, 546, 544, 543, 542, 540,
- 536, 535, 534, 533, 532, 531, 530, 529, 528, 527,
-
- 526, 525, 524, 523, 522, 521, 520, 519, 517, 516,
- 515, 514, 513, 512, 511, 510, 509, 508, 507, 505,
- 503, 502, 501, 500, 499, 498, 497, 496, 495, 494,
- 493, 492, 491, 489, 488, 487, 486, 485, 484, 483,
- 481, 480, 479, 478, 477, 476, 475, 474, 473, 472,
- 471, 470, 469, 468, 467, 466, 464, 463, 462, 461,
- 459, 458, 457, 456, 455, 454, 452, 451, 449, 448,
- 447, 446, 444, 443, 442, 441, 440, 439, 438, 436,
- 435, 434, 429, 428, 426, 425, 424, 423, 422, 419,
- 416, 414, 413, 412, 411, 409, 408, 407, 406, 405,
-
- 404, 403, 402, 401, 400, 399, 398, 396, 395, 394,
- 392, 391, 390, 389, 388, 387, 385, 384, 382, 381,
- 380, 379, 378, 377, 376, 375, 374, 373, 369, 368,
- 366, 365, 364, 362, 361, 360, 359, 358, 357, 356,
- 355, 354, 353, 352, 350, 349, 348, 347, 346, 345,
- 344, 343, 342, 341, 340, 339, 338, 336, 335, 334,
- 332, 329, 328, 327, 326, 325, 324, 323, 322, 318,
- 316, 313, 311, 308, 305, 298, 297, 296, 295, 294,
- 293, 291, 290, 289, 288, 287, 286, 285, 283, 282,
- 281, 280, 279, 278, 277, 275, 274, 273, 272, 271,
-
- 270, 269, 268, 267, 266, 265, 264, 263, 262, 261,
- 259, 258, 257, 255, 254, 253, 252, 251, 249, 248,
- 247, 246, 245, 244, 243, 242, 241, 239, 238, 237,
- 236, 235, 234, 233, 232, 231, 230, 229, 228, 227,
- 226, 225, 224, 223, 222, 221, 220, 219, 218, 217,
- 215, 214, 213, 212, 211, 209, 206, 204, 202, 200,
- 199, 194, 193, 189, 181, 180, 179, 178, 177, 176,
- 174, 173, 172, 171, 170, 169, 167, 165, 164, 163,
- 161, 160, 158, 157, 156, 155, 154, 152, 151, 150,
- 149, 148, 146, 145, 144, 143, 142, 141, 140, 138,
-
- 137, 135, 134, 130, 129, 128, 126, 125, 124, 122,
- 121, 120, 116, 110, 106, 105, 104, 98, 97, 78,
- 73, 67, 50, 49, 48, 43, 41, 39, 38, 24,
- 14, 11, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
- 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
-
- 1630, 1630, 1630, 1630, 1630, 1630
+ 45, 45, 45, 45, 61, 93, 58, 61, 61, 69,
+ 58, 61, 61, 69, 58, 70, 728, 69, 294, 92,
+ 95, 109, 58, 294, 61, 94, 58, 71, 58, 58,
+ 100, 77, 729, 69, 70, 71, 70, 71, 70, 76,
+ 76, 72, 71, 71, 72, 72, 75, 92, 95, 76,
+ 75, 94, 109, 75, 77, 72, 103, 111, 72, 76,
+ 75, 75, 107, 113, 77, 335, 75, 100, 137, 77,
+ 335, 137, 76, 114, 76, 137, 128, 128, 76, 80,
+
+ 80, 80, 80, 80, 103, 111, 128, 76, 107, 133,
+ 286, 113, 80, 81, 76, 81, 81, 81, 81, 81,
+ 114, 185, 133, 286, 82, 115, 82, 140, 81, 82,
+ 82, 82, 82, 82, 83, 80, 83, 83, 83, 83,
+ 83, 84, 84, 84, 84, 84, 102, 185, 115, 83,
+ 119, 81, 148, 102, 84, 88, 88, 88, 88, 88,
+ 89, 89, 89, 89, 89, 123, 132, 119, 132, 154,
+ 184, 140, 83, 148, 123, 123, 187, 84, 119, 160,
+ 160, 160, 731, 102, 169, 132, 163, 102, 169, 163,
+ 163, 102, 169, 605, 605, 176, 198, 154, 184, 102,
+
+ 167, 186, 188, 102, 187, 102, 102, 118, 118, 118,
+ 118, 118, 732, 733, 262, 189, 118, 118, 118, 118,
+ 118, 118, 176, 198, 186, 386, 193, 197, 188, 202,
+ 206, 204, 252, 211, 734, 167, 167, 167, 189, 118,
+ 118, 118, 118, 118, 118, 735, 167, 309, 167, 193,
+ 167, 167, 202, 167, 204, 197, 211, 206, 209, 209,
+ 209, 209, 209, 258, 262, 217, 301, 209, 209, 209,
+ 209, 209, 209, 217, 278, 304, 309, 278, 217, 217,
+ 312, 316, 736, 386, 737, 252, 258, 323, 252, 301,
+ 209, 209, 209, 209, 209, 209, 311, 311, 304, 354,
+
+ 340, 370, 374, 312, 354, 311, 340, 370, 373, 316,
+ 321, 321, 321, 321, 321, 738, 323, 740, 373, 321,
+ 321, 321, 321, 321, 321, 366, 366, 366, 389, 396,
+ 374, 366, 389, 396, 400, 418, 413, 424, 400, 413,
+ 418, 436, 321, 321, 321, 321, 321, 321, 434, 464,
+ 434, 450, 354, 454, 464, 522, 558, 354, 486, 450,
+ 522, 450, 450, 450, 741, 424, 454, 559, 486, 436,
+ 742, 560, 661, 674, 675, 434, 560, 434, 435, 435,
+ 435, 435, 435, 558, 661, 743, 744, 435, 435, 435,
+ 435, 435, 435, 637, 745, 559, 746, 675, 637, 680,
+
+ 680, 674, 680, 726, 747, 748, 726, 750, 751, 752,
+ 435, 435, 435, 435, 435, 435, 753, 754, 755, 756,
+ 757, 758, 759, 760, 761, 762, 763, 764, 765, 766,
+ 768, 767, 769, 770, 771, 772, 774, 637, 767, 769,
+ 775, 772, 776, 769, 777, 778, 779, 780, 781, 782,
+ 783, 785, 786, 787, 788, 789, 791, 792, 793, 794,
+ 795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
+ 805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
+ 786, 815, 816, 818, 819, 820, 821, 822, 823, 824,
+ 825, 826, 827, 823, 828, 829, 830, 831, 832, 835,
+
+ 836, 837, 838, 839, 840, 841, 844, 845, 846, 847,
+ 848, 849, 850, 851, 852, 849, 853, 854, 856, 858,
+ 859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
+ 869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
+ 879, 880, 881, 882, 883, 884, 885, 886, 888, 889,
+ 890, 891, 892, 880, 893, 894, 895, 897, 898, 899,
+ 900, 901, 902, 903, 904, 905, 906, 907, 908, 909,
+ 910, 911, 912, 913, 914, 915, 916, 917, 918, 919,
+ 920, 898, 921, 923, 897, 924, 925, 926, 927, 928,
+ 929, 930, 931, 932, 934, 935, 936, 937, 938, 939,
+
+ 941, 942, 943, 938, 944, 945, 946, 947, 948, 949,
+ 950, 951, 952, 953, 954, 955, 956, 957, 958, 959,
+ 960, 961, 964, 965, 966, 968, 969, 970, 972, 973,
+ 974, 960, 975, 976, 977, 978, 979, 980, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 991, 992, 993,
+ 994, 995, 996, 997, 998, 999, 938, 1000, 1001, 1002,
+ 1004, 1003, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
+ 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
+ 1023, 1025, 1026, 1027, 1028, 1029, 1030, 1002, 1003, 1031,
+ 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1042,
+
+ 1043, 1044, 1045, 1046, 1047, 1043, 1048, 1049, 1050, 1051,
+ 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
+ 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
+ 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
+ 1083, 1085, 1086, 1089, 1090, 1044, 1091, 1092, 1093, 1094,
+ 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104,
+ 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1115,
+ 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1126,
+ 1102, 1127, 1128, 1129, 1130, 1131, 1103, 1132, 1133, 1134,
+ 1135, 1136, 1137, 1140, 1142, 1144, 1145, 1146, 1147, 1148,
+
+ 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1158, 1159,
+ 1160, 1162, 1163, 1164, 1165, 1168, 1170, 1171, 1172, 1173,
+ 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
+ 1184, 1185, 1187, 1188, 1189, 1192, 1193, 1194, 1195, 1196,
+ 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1206, 1208,
+ 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
+ 1219, 1220, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1198,
+ 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239,
+ 1181, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1202, 1247,
+ 1241, 1248, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
+
+ 1259, 1260, 1261, 1263, 1264, 1265, 1266, 1267, 1268, 1270,
+ 1272, 1275, 1277, 1278, 1279, 1280, 1281, 1283, 1285, 1286,
+ 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296,
+ 1297, 1298, 1299, 1300, 1302, 1303, 1304, 1305, 1306, 1281,
+ 1307, 1308, 1309, 1310, 1311, 1312, 1314, 1317, 1319, 1320,
+ 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1329, 1330, 1331,
+ 1332, 1333, 1334, 1337, 1338, 1340, 1341, 1342, 1343, 1344,
+ 1346, 1347, 1348, 1349, 1350, 1352, 1354, 1355, 1356, 1357,
+ 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
+ 1368, 1369, 1371, 1372, 1374, 1375, 1376, 1377, 1365, 1378,
+
+ 1379, 1380, 1382, 1354, 1381, 1381, 1383, 1384, 1385, 1386,
+ 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
+ 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
+ 1408, 1409, 1411, 1412, 1413, 1414, 1417, 1418, 1419, 1423,
+ 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1432, 1433, 1434,
+ 1435, 1436, 1432, 1437, 1438, 1439, 1440, 1442, 1443, 1445,
+ 1382, 1447, 1413, 1448, 1449, 1451, 1452, 1453, 1454, 1456,
+ 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
+ 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1476, 1477, 1478,
+ 1479, 1480, 1481, 1482, 1483, 1485, 1486, 1487, 1488, 1489,
+
+ 1491, 1492, 1493, 1495, 1496, 1497, 1498, 1499, 1500, 1501,
+ 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511,
+ 1513, 1514, 1515, 1517, 1519, 1521, 1522, 1523, 1524, 1525,
+ 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1534, 1535, 1536,
+ 1537, 1538, 1539, 1540, 1542, 1543, 1544, 1545, 1547, 1548,
+ 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1557, 1558, 1559,
+ 1560, 1561, 1562, 1563, 1564, 1565, 1567, 1568, 1569, 1570,
+ 1571, 1572, 1573, 1574, 1577, 1578, 1579, 1580, 1581, 1582,
+ 1583, 1584, 1585, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
+ 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1603, 1604,
+
+ 1605, 1606, 1607, 1608, 1609, 1611, 1613, 1615, 1618, 1619,
+ 1620, 1621, 1622, 1624, 1626, 1627, 1628, 1629, 1630, 1631,
+ 1632, 1634, 1635, 1637, 1638, 1639, 1641, 1642, 1643, 1645,
+ 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656,
+ 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
+ 1667, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677,
+ 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1686, 1687, 1689,
+ 1690, 1691, 1692, 1693, 1694, 1698, 1701, 1702, 1704, 1705,
+ 1706, 1707, 1708, 1709, 1712, 1715, 1716, 1717, 1718, 1719,
+ 1721, 1722, 1724, 1725, 1726, 1728, 1729, 1730, 1732, 1733,
+
+ 1736, 1736, 1736, 1736, 1736, 1737, 1737, 1737, 1737, 1737,
+ 1738, 1744, 1738, 1738, 1738, 1739, 1745, 1739, 1746, 1739,
+ 1740, 1740, 1740, 1740, 1740, 1741, 1741, 1741, 1741, 1741,
+ 1742, 1747, 1742, 1742, 1742, 1743, 1743, 1743, 724, 723,
+ 722, 721, 720, 719, 718, 717, 716, 715, 714, 713,
+ 712, 711, 710, 709, 708, 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, 679, 678, 677, 676, 673, 672, 671, 668, 667,
+ 666, 665, 664, 663, 662, 659, 658, 657, 656, 655,
+
+ 654, 653, 652, 651, 650, 649, 648, 647, 645, 644,
+ 643, 642, 641, 640, 639, 638, 636, 635, 633, 632,
+ 631, 630, 629, 628, 626, 625, 624, 622, 621, 619,
+ 618, 617, 616, 615, 614, 613, 612, 611, 610, 609,
+ 608, 607, 606, 604, 603, 602, 601, 600, 598, 597,
+ 596, 595, 594, 593, 592, 591, 589, 588, 587, 586,
+ 585, 584, 583, 582, 581, 580, 579, 578, 577, 576,
+ 575, 574, 573, 572, 571, 570, 569, 568, 567, 566,
+ 565, 564, 563, 562, 556, 554, 551, 550, 548, 547,
+ 546, 544, 540, 539, 538, 537, 536, 535, 534, 533,
+
+ 532, 531, 530, 529, 528, 527, 526, 525, 524, 523,
+ 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
+ 511, 509, 507, 506, 505, 504, 503, 502, 501, 500,
+ 499, 498, 497, 496, 495, 493, 492, 491, 490, 489,
+ 488, 487, 485, 484, 483, 482, 481, 480, 479, 478,
+ 477, 476, 475, 474, 473, 472, 471, 470, 468, 467,
+ 466, 465, 463, 462, 461, 460, 459, 458, 456, 455,
+ 453, 452, 451, 449, 447, 446, 445, 444, 443, 442,
+ 441, 439, 438, 437, 432, 431, 429, 428, 427, 426,
+ 425, 422, 419, 417, 416, 415, 414, 412, 411, 410,
+
+ 409, 408, 407, 406, 405, 404, 403, 402, 401, 399,
+ 398, 397, 395, 394, 393, 392, 391, 390, 388, 387,
+ 385, 384, 383, 382, 381, 380, 379, 378, 377, 376,
+ 372, 371, 369, 368, 367, 365, 364, 363, 362, 361,
+ 360, 359, 358, 357, 356, 355, 353, 352, 351, 350,
+ 349, 348, 347, 346, 345, 344, 343, 342, 341, 339,
+ 338, 337, 336, 334, 331, 330, 329, 328, 327, 326,
+ 325, 324, 320, 318, 315, 313, 310, 307, 300, 299,
+ 298, 297, 296, 295, 293, 292, 291, 290, 289, 288,
+ 287, 285, 284, 283, 282, 281, 280, 279, 277, 276,
+
+ 275, 274, 273, 272, 271, 270, 269, 268, 267, 266,
+ 265, 264, 263, 261, 260, 259, 257, 256, 255, 254,
+ 253, 251, 250, 249, 248, 247, 246, 245, 244, 243,
+ 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
+ 231, 230, 229, 228, 227, 226, 225, 224, 223, 222,
+ 221, 220, 219, 218, 216, 215, 214, 213, 212, 210,
+ 207, 205, 203, 201, 200, 195, 194, 190, 182, 181,
+ 180, 179, 178, 177, 175, 174, 173, 172, 171, 170,
+ 168, 166, 165, 164, 162, 161, 159, 158, 157, 156,
+ 155, 153, 152, 151, 150, 149, 147, 146, 145, 144,
+
+ 143, 142, 141, 139, 138, 136, 135, 131, 130, 129,
+ 127, 126, 125, 124, 122, 121, 120, 116, 110, 106,
+ 105, 104, 98, 97, 78, 73, 67, 50, 49, 48,
+ 43, 41, 39, 38, 24, 14, 11, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+
+ 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
+ 1735
} ;
static yy_state_type yy_last_accepting_state;
extern int yy_flex_debug;
int yy_flex_debug = 1;
-static const flex_int16_t yy_rule_linenum[192] =
+static const flex_int16_t yy_rule_linenum[198] =
{ 0,
149, 151, 153, 158, 159, 164, 165, 166, 178, 181,
186, 193, 202, 211, 220, 229, 238, 247, 256, 265,
- 274, 283, 292, 301, 310, 320, 330, 340, 350, 360,
- 370, 380, 389, 399, 409, 419, 429, 438, 447, 456,
- 465, 474, 483, 492, 501, 510, 519, 528, 537, 546,
- 555, 568, 577, 586, 595, 604, 615, 626, 637, 648,
- 660, 671, 682, 693, 704, 715, 726, 737, 748, 759,
- 770, 781, 790, 801, 812, 823, 834, 845, 856, 867,
- 878, 887, 896, 906, 915, 924, 939, 955, 964, 973,
- 982, 991, 1000, 1009, 1018, 1027, 1036, 1045, 1067, 1089,
-
- 1098, 1108, 1118, 1127, 1137, 1148, 1157, 1166, 1175, 1184,
- 1193, 1203, 1212, 1221, 1230, 1241, 1252, 1263, 1272, 1282,
- 1291, 1300, 1309, 1318, 1327, 1336, 1345, 1354, 1364, 1376,
- 1389, 1398, 1407, 1417, 1427, 1436, 1447, 1457, 1466, 1476,
- 1486, 1495, 1504, 1513, 1522, 1532, 1541, 1551, 1560, 1569,
- 1578, 1587, 1596, 1605, 1614, 1623, 1632, 1641, 1650, 1659,
- 1668, 1677, 1686, 1695, 1704, 1713, 1722, 1731, 1740, 1749,
- 1758, 1767, 1776, 1786, 1885, 1890, 1895, 1900, 1901, 1902,
- 1903, 1904, 1905, 1907, 1925, 1938, 1943, 1947, 1949, 1951,
- 1953
+ 274, 283, 292, 301, 310, 322, 334, 344, 354, 364,
+ 374, 384, 393, 403, 413, 423, 433, 442, 451, 460,
+ 469, 478, 487, 496, 505, 514, 523, 532, 541, 550,
+ 559, 572, 581, 590, 599, 608, 619, 630, 641, 652,
+ 664, 675, 686, 697, 708, 719, 730, 741, 752, 763,
+ 774, 785, 794, 805, 816, 827, 838, 849, 860, 871,
+ 882, 891, 900, 911, 922, 933, 944, 955, 966, 976,
+ 985, 994, 1009, 1025, 1034, 1043, 1052, 1061, 1070, 1079,
+
+ 1088, 1097, 1106, 1115, 1137, 1159, 1168, 1178, 1188, 1197,
+ 1207, 1218, 1227, 1236, 1245, 1254, 1263, 1273, 1282, 1291,
+ 1300, 1311, 1322, 1333, 1342, 1352, 1361, 1370, 1379, 1388,
+ 1397, 1406, 1415, 1424, 1434, 1446, 1459, 1468, 1477, 1487,
+ 1497, 1506, 1517, 1527, 1536, 1546, 1556, 1565, 1574, 1583,
+ 1592, 1602, 1611, 1621, 1630, 1639, 1648, 1657, 1666, 1675,
+ 1684, 1693, 1702, 1711, 1720, 1729, 1738, 1747, 1756, 1765,
+ 1774, 1783, 1792, 1801, 1810, 1819, 1828, 1837, 1846, 1856,
+ 1955, 1960, 1965, 1970, 1971, 1972, 1973, 1974, 1975, 1977,
+ 1995, 2008, 2013, 2017, 2019, 2021, 2023
} ;
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 1854 "dhcp6_lexer.cc"
+#line 1913 "dhcp6_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
using yywrap requires linking with -lfl, which provides the default yywrap
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 1880 "dhcp6_lexer.cc"
-#line 1881 "dhcp6_lexer.cc"
+#line 1939 "dhcp6_lexer.cc"
+#line 1940 "dhcp6_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2213 "dhcp6_lexer.cc"
+#line 2272 "dhcp6_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
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 >= 1631 )
+ if ( yy_current_state >= 1736 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1630 );
+ while ( yy_current_state != 1735 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 192 )
+ else if ( yy_act < 198 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 192 )
+ else if ( yy_act == 198 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 193 )
+ else if ( yy_act == 199 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
case isc::dhcp::Parser6Context::DHCP_DDNS:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
return isc::dhcp::Dhcp6Parser::make_HOSTNAME_CHAR_SET(driver.loc_);
default:
return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-set", driver.loc_);
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 320 "dhcp6_lexer.ll"
+#line 322 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
case isc::dhcp::Parser6Context::DHCP_DDNS:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
return isc::dhcp::Dhcp6Parser::make_HOSTNAME_CHAR_REPLACEMENT(driver.loc_);
default:
return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-replacement", driver.loc_);
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 330 "dhcp6_lexer.ll"
+#line 334 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 340 "dhcp6_lexer.ll"
+#line 344 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 350 "dhcp6_lexer.ll"
+#line 354 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 360 "dhcp6_lexer.ll"
+#line 364 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 370 "dhcp6_lexer.ll"
+#line 374 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 380 "dhcp6_lexer.ll"
+#line 384 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 389 "dhcp6_lexer.ll"
+#line 393 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 399 "dhcp6_lexer.ll"
+#line 403 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 409 "dhcp6_lexer.ll"
+#line 413 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 419 "dhcp6_lexer.ll"
+#line 423 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 429 "dhcp6_lexer.ll"
+#line 433 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 438 "dhcp6_lexer.ll"
+#line 442 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 447 "dhcp6_lexer.ll"
+#line 451 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 456 "dhcp6_lexer.ll"
+#line 460 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 465 "dhcp6_lexer.ll"
+#line 469 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 474 "dhcp6_lexer.ll"
+#line 478 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 483 "dhcp6_lexer.ll"
+#line 487 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SANITY_CHECKS:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 492 "dhcp6_lexer.ll"
+#line 496 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 501 "dhcp6_lexer.ll"
+#line 505 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 510 "dhcp6_lexer.ll"
+#line 514 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 519 "dhcp6_lexer.ll"
+#line 523 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 528 "dhcp6_lexer.ll"
+#line 532 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG_CONTROL:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 537 "dhcp6_lexer.ll"
+#line 541 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG_CONTROL:
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 546 "dhcp6_lexer.ll"
+#line 550 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 555 "dhcp6_lexer.ll"
+#line 559 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 568 "dhcp6_lexer.ll"
+#line 572 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 577 "dhcp6_lexer.ll"
+#line 581 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 586 "dhcp6_lexer.ll"
+#line 590 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 595 "dhcp6_lexer.ll"
+#line 599 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 604 "dhcp6_lexer.ll"
+#line 608 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 615 "dhcp6_lexer.ll"
+#line 619 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 626 "dhcp6_lexer.ll"
+#line 630 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 637 "dhcp6_lexer.ll"
+#line 641 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 648 "dhcp6_lexer.ll"
+#line 652 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 660 "dhcp6_lexer.ll"
+#line 664 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 671 "dhcp6_lexer.ll"
+#line 675 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 682 "dhcp6_lexer.ll"
+#line 686 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 693 "dhcp6_lexer.ll"
+#line 697 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 704 "dhcp6_lexer.ll"
+#line 708 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 715 "dhcp6_lexer.ll"
+#line 719 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 726 "dhcp6_lexer.ll"
+#line 730 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 737 "dhcp6_lexer.ll"
+#line 741 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 748 "dhcp6_lexer.ll"
+#line 752 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 759 "dhcp6_lexer.ll"
+#line 763 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 770 "dhcp6_lexer.ll"
+#line 774 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 781 "dhcp6_lexer.ll"
+#line 785 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 790 "dhcp6_lexer.ll"
+#line 794 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 801 "dhcp6_lexer.ll"
+#line 805 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 812 "dhcp6_lexer.ll"
+#line 816 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 823 "dhcp6_lexer.ll"
+#line 827 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 834 "dhcp6_lexer.ll"
+#line 838 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 845 "dhcp6_lexer.ll"
+#line 849 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 856 "dhcp6_lexer.ll"
+#line 860 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 867 "dhcp6_lexer.ll"
+#line 871 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 878 "dhcp6_lexer.ll"
+#line 882 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 887 "dhcp6_lexer.ll"
+#line 891 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 896 "dhcp6_lexer.ll"
+#line 900 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_SEND_UPDATES(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-send-updates", driver.loc_);
+ }
+}
+ YY_BREAK
+case 84:
+YY_RULE_SETUP
+#line 911 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_OVERRIDE_NO_UPDATE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-no-update", driver.loc_);
+ }
+}
+ YY_BREAK
+case 85:
+YY_RULE_SETUP
+#line 922 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_OVERRIDE_CLIENT_UPDATE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-client-update", driver.loc_);
+ }
+}
+ YY_BREAK
+case 86:
+YY_RULE_SETUP
+#line 933 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_REPLACE_CLIENT_NAME(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-replace-client-name", driver.loc_);
+ }
+}
+ YY_BREAK
+case 87:
+YY_RULE_SETUP
+#line 944 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_GENERATED_PREFIX(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-generated-prefix", driver.loc_);
+ }
+}
+ YY_BREAK
+case 88:
+YY_RULE_SETUP
+#line 955 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_QUALIFYING_SUFFIX(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-qualifying-suffix", driver.loc_);
+ }
+}
+ YY_BREAK
+case 89:
+YY_RULE_SETUP
+#line 966 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 84:
+case 90:
YY_RULE_SETUP
-#line 906 "dhcp6_lexer.ll"
+#line 976 "dhcp6_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 85:
+case 91:
YY_RULE_SETUP
-#line 915 "dhcp6_lexer.ll"
+#line 985 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 86:
+case 92:
YY_RULE_SETUP
-#line 924 "dhcp6_lexer.ll"
+#line 994 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 87:
+case 93:
YY_RULE_SETUP
-#line 939 "dhcp6_lexer.ll"
+#line 1009 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
}
}
YY_BREAK
-case 88:
+case 94:
YY_RULE_SETUP
-#line 955 "dhcp6_lexer.ll"
+#line 1025 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 89:
+case 95:
YY_RULE_SETUP
-#line 964 "dhcp6_lexer.ll"
+#line 1034 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 90:
+case 96:
YY_RULE_SETUP
-#line 973 "dhcp6_lexer.ll"
+#line 1043 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 91:
+case 97:
YY_RULE_SETUP
-#line 982 "dhcp6_lexer.ll"
+#line 1052 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 92:
+case 98:
YY_RULE_SETUP
-#line 991 "dhcp6_lexer.ll"
+#line 1061 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 93:
+case 99:
YY_RULE_SETUP
-#line 1000 "dhcp6_lexer.ll"
+#line 1070 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 94:
+case 100:
YY_RULE_SETUP
-#line 1009 "dhcp6_lexer.ll"
+#line 1079 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 95:
+case 101:
YY_RULE_SETUP
-#line 1018 "dhcp6_lexer.ll"
+#line 1088 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 96:
+case 102:
YY_RULE_SETUP
-#line 1027 "dhcp6_lexer.ll"
+#line 1097 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 97:
+case 103:
YY_RULE_SETUP
-#line 1036 "dhcp6_lexer.ll"
+#line 1106 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::POOLS:
}
}
YY_BREAK
-case 98:
+case 104:
YY_RULE_SETUP
-#line 1045 "dhcp6_lexer.ll"
+#line 1115 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 99:
+case 105:
YY_RULE_SETUP
-#line 1067 "dhcp6_lexer.ll"
+#line 1137 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 100:
+case 106:
YY_RULE_SETUP
-#line 1089 "dhcp6_lexer.ll"
+#line 1159 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 101:
+case 107:
YY_RULE_SETUP
-#line 1098 "dhcp6_lexer.ll"
+#line 1168 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 102:
+case 108:
YY_RULE_SETUP
-#line 1108 "dhcp6_lexer.ll"
+#line 1178 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 103:
+case 109:
YY_RULE_SETUP
-#line 1118 "dhcp6_lexer.ll"
+#line 1188 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 104:
+case 110:
YY_RULE_SETUP
-#line 1127 "dhcp6_lexer.ll"
+#line 1197 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 105:
+case 111:
YY_RULE_SETUP
-#line 1137 "dhcp6_lexer.ll"
+#line 1207 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 106:
+case 112:
YY_RULE_SETUP
-#line 1148 "dhcp6_lexer.ll"
+#line 1218 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 107:
+case 113:
YY_RULE_SETUP
-#line 1157 "dhcp6_lexer.ll"
+#line 1227 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 108:
+case 114:
YY_RULE_SETUP
-#line 1166 "dhcp6_lexer.ll"
+#line 1236 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 109:
+case 115:
YY_RULE_SETUP
-#line 1175 "dhcp6_lexer.ll"
+#line 1245 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 110:
+case 116:
YY_RULE_SETUP
-#line 1184 "dhcp6_lexer.ll"
+#line 1254 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 111:
+case 117:
YY_RULE_SETUP
-#line 1193 "dhcp6_lexer.ll"
+#line 1263 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 112:
+case 118:
YY_RULE_SETUP
-#line 1203 "dhcp6_lexer.ll"
+#line 1273 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 113:
+case 119:
YY_RULE_SETUP
-#line 1212 "dhcp6_lexer.ll"
+#line 1282 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 114:
+case 120:
YY_RULE_SETUP
-#line 1221 "dhcp6_lexer.ll"
+#line 1291 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 115:
+case 121:
YY_RULE_SETUP
-#line 1230 "dhcp6_lexer.ll"
+#line 1300 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 116:
+case 122:
YY_RULE_SETUP
-#line 1241 "dhcp6_lexer.ll"
+#line 1311 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 117:
+case 123:
YY_RULE_SETUP
-#line 1252 "dhcp6_lexer.ll"
+#line 1322 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 118:
+case 124:
YY_RULE_SETUP
-#line 1263 "dhcp6_lexer.ll"
+#line 1333 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 119:
+case 125:
YY_RULE_SETUP
-#line 1272 "dhcp6_lexer.ll"
+#line 1342 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 120:
+case 126:
YY_RULE_SETUP
-#line 1282 "dhcp6_lexer.ll"
+#line 1352 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 121:
+case 127:
YY_RULE_SETUP
-#line 1291 "dhcp6_lexer.ll"
+#line 1361 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 122:
+case 128:
YY_RULE_SETUP
-#line 1300 "dhcp6_lexer.ll"
+#line 1370 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 123:
+case 129:
YY_RULE_SETUP
-#line 1309 "dhcp6_lexer.ll"
+#line 1379 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 124:
+case 130:
YY_RULE_SETUP
-#line 1318 "dhcp6_lexer.ll"
+#line 1388 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 125:
+case 131:
YY_RULE_SETUP
-#line 1327 "dhcp6_lexer.ll"
+#line 1397 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 126:
+case 132:
YY_RULE_SETUP
-#line 1336 "dhcp6_lexer.ll"
+#line 1406 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 127:
+case 133:
YY_RULE_SETUP
-#line 1345 "dhcp6_lexer.ll"
+#line 1415 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 128:
+case 134:
YY_RULE_SETUP
-#line 1354 "dhcp6_lexer.ll"
+#line 1424 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 129:
+case 135:
YY_RULE_SETUP
-#line 1364 "dhcp6_lexer.ll"
+#line 1434 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 130:
+case 136:
YY_RULE_SETUP
-#line 1376 "dhcp6_lexer.ll"
+#line 1446 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 131:
+case 137:
YY_RULE_SETUP
-#line 1389 "dhcp6_lexer.ll"
+#line 1459 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 132:
+case 138:
YY_RULE_SETUP
-#line 1398 "dhcp6_lexer.ll"
+#line 1468 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 133:
+case 139:
YY_RULE_SETUP
-#line 1407 "dhcp6_lexer.ll"
+#line 1477 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 134:
+case 140:
YY_RULE_SETUP
-#line 1417 "dhcp6_lexer.ll"
+#line 1487 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 135:
+case 141:
YY_RULE_SETUP
-#line 1427 "dhcp6_lexer.ll"
+#line 1497 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 136:
+case 142:
YY_RULE_SETUP
-#line 1436 "dhcp6_lexer.ll"
+#line 1506 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::MAC_SOURCES:
}
}
YY_BREAK
-case 137:
+case 143:
YY_RULE_SETUP
-#line 1447 "dhcp6_lexer.ll"
+#line 1517 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 138:
+case 144:
YY_RULE_SETUP
-#line 1457 "dhcp6_lexer.ll"
+#line 1527 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 139:
+case 145:
YY_RULE_SETUP
-#line 1466 "dhcp6_lexer.ll"
+#line 1536 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 140:
+case 146:
YY_RULE_SETUP
-#line 1476 "dhcp6_lexer.ll"
+#line 1546 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 141:
+case 147:
YY_RULE_SETUP
-#line 1486 "dhcp6_lexer.ll"
+#line 1556 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 142:
+case 148:
YY_RULE_SETUP
-#line 1495 "dhcp6_lexer.ll"
+#line 1565 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 143:
+case 149:
YY_RULE_SETUP
-#line 1504 "dhcp6_lexer.ll"
+#line 1574 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 144:
+case 150:
YY_RULE_SETUP
-#line 1513 "dhcp6_lexer.ll"
+#line 1583 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 145:
+case 151:
YY_RULE_SETUP
-#line 1522 "dhcp6_lexer.ll"
+#line 1592 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 146:
+case 152:
YY_RULE_SETUP
-#line 1532 "dhcp6_lexer.ll"
+#line 1602 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RELAY:
}
}
YY_BREAK
-case 147:
+case 153:
YY_RULE_SETUP
-#line 1541 "dhcp6_lexer.ll"
+#line 1611 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 148:
+case 154:
YY_RULE_SETUP
-#line 1551 "dhcp6_lexer.ll"
+#line 1621 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 149:
+case 155:
YY_RULE_SETUP
-#line 1560 "dhcp6_lexer.ll"
+#line 1630 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 150:
+case 156:
YY_RULE_SETUP
-#line 1569 "dhcp6_lexer.ll"
+#line 1639 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 151:
+case 157:
YY_RULE_SETUP
-#line 1578 "dhcp6_lexer.ll"
+#line 1648 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 152:
+case 158:
YY_RULE_SETUP
-#line 1587 "dhcp6_lexer.ll"
+#line 1657 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 153:
+case 159:
YY_RULE_SETUP
-#line 1596 "dhcp6_lexer.ll"
+#line 1666 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 154:
+case 160:
YY_RULE_SETUP
-#line 1605 "dhcp6_lexer.ll"
+#line 1675 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 155:
+case 161:
YY_RULE_SETUP
-#line 1614 "dhcp6_lexer.ll"
+#line 1684 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 156:
+case 162:
YY_RULE_SETUP
-#line 1623 "dhcp6_lexer.ll"
+#line 1693 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 157:
+case 163:
YY_RULE_SETUP
-#line 1632 "dhcp6_lexer.ll"
+#line 1702 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 158:
+case 164:
YY_RULE_SETUP
-#line 1641 "dhcp6_lexer.ll"
+#line 1711 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 159:
+case 165:
YY_RULE_SETUP
-#line 1650 "dhcp6_lexer.ll"
+#line 1720 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 160:
+case 166:
YY_RULE_SETUP
-#line 1659 "dhcp6_lexer.ll"
+#line 1729 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 161:
+case 167:
YY_RULE_SETUP
-#line 1668 "dhcp6_lexer.ll"
+#line 1738 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 162:
+case 168:
YY_RULE_SETUP
-#line 1677 "dhcp6_lexer.ll"
+#line 1747 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 163:
+case 169:
YY_RULE_SETUP
-#line 1686 "dhcp6_lexer.ll"
+#line 1756 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 164:
+case 170:
YY_RULE_SETUP
-#line 1695 "dhcp6_lexer.ll"
+#line 1765 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 165:
+case 171:
YY_RULE_SETUP
-#line 1704 "dhcp6_lexer.ll"
+#line 1774 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 166:
+case 172:
YY_RULE_SETUP
-#line 1713 "dhcp6_lexer.ll"
+#line 1783 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 167:
+case 173:
YY_RULE_SETUP
-#line 1722 "dhcp6_lexer.ll"
+#line 1792 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 168:
+case 174:
YY_RULE_SETUP
-#line 1731 "dhcp6_lexer.ll"
+#line 1801 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 169:
+case 175:
YY_RULE_SETUP
-#line 1740 "dhcp6_lexer.ll"
+#line 1810 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 170:
+case 176:
YY_RULE_SETUP
-#line 1749 "dhcp6_lexer.ll"
+#line 1819 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 171:
+case 177:
YY_RULE_SETUP
-#line 1758 "dhcp6_lexer.ll"
+#line 1828 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 172:
+case 178:
YY_RULE_SETUP
-#line 1767 "dhcp6_lexer.ll"
+#line 1837 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 173:
+case 179:
YY_RULE_SETUP
-#line 1776 "dhcp6_lexer.ll"
+#line 1846 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 174:
+case 180:
YY_RULE_SETUP
-#line 1786 "dhcp6_lexer.ll"
+#line 1856 "dhcp6_lexer.ll"
{
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_);
}
YY_BREAK
-case 175:
-/* rule 175 can match eol */
+case 181:
+/* rule 181 can match eol */
YY_RULE_SETUP
-#line 1885 "dhcp6_lexer.ll"
+#line 1955 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 176:
-/* rule 176 can match eol */
+case 182:
+/* rule 182 can match eol */
YY_RULE_SETUP
-#line 1890 "dhcp6_lexer.ll"
+#line 1960 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 177:
+case 183:
YY_RULE_SETUP
-#line 1895 "dhcp6_lexer.ll"
+#line 1965 "dhcp6_lexer.ll"
{
/* Bad string with an open escape at the end */
driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
}
YY_BREAK
-case 178:
+case 184:
YY_RULE_SETUP
-#line 1900 "dhcp6_lexer.ll"
+#line 1970 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 179:
+case 185:
YY_RULE_SETUP
-#line 1901 "dhcp6_lexer.ll"
+#line 1971 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 180:
+case 186:
YY_RULE_SETUP
-#line 1902 "dhcp6_lexer.ll"
+#line 1972 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 181:
+case 187:
YY_RULE_SETUP
-#line 1903 "dhcp6_lexer.ll"
+#line 1973 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 182:
+case 188:
YY_RULE_SETUP
-#line 1904 "dhcp6_lexer.ll"
+#line 1974 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 183:
+case 189:
YY_RULE_SETUP
-#line 1905 "dhcp6_lexer.ll"
+#line 1975 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 184:
+case 190:
YY_RULE_SETUP
-#line 1907 "dhcp6_lexer.ll"
+#line 1977 "dhcp6_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 185:
+case 191:
YY_RULE_SETUP
-#line 1925 "dhcp6_lexer.ll"
+#line 1995 "dhcp6_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 186:
+case 192:
YY_RULE_SETUP
-#line 1938 "dhcp6_lexer.ll"
+#line 2008 "dhcp6_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 187:
+case 193:
YY_RULE_SETUP
-#line 1943 "dhcp6_lexer.ll"
+#line 2013 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 188:
+case 194:
YY_RULE_SETUP
-#line 1947 "dhcp6_lexer.ll"
+#line 2017 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 189:
+case 195:
YY_RULE_SETUP
-#line 1949 "dhcp6_lexer.ll"
+#line 2019 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 190:
+case 196:
YY_RULE_SETUP
-#line 1951 "dhcp6_lexer.ll"
+#line 2021 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 191:
+case 197:
YY_RULE_SETUP
-#line 1953 "dhcp6_lexer.ll"
+#line 2023 "dhcp6_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1955 "dhcp6_lexer.ll"
+#line 2025 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 192:
+case 198:
YY_RULE_SETUP
-#line 1978 "dhcp6_lexer.ll"
+#line 2048 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 4714 "dhcp6_lexer.cc"
+#line 4861 "dhcp6_lexer.cc"
case YY_END_OF_BUFFER:
{
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 >= 1631 )
+ if ( yy_current_state >= 1736 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
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 >= 1631 )
+ if ( yy_current_state >= 1736 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1630);
+ yy_is_jam = (yy_current_state == 1735);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 1978 "dhcp6_lexer.ll"
+#line 2048 "dhcp6_lexer.ll"
using namespace isc::dhcp;
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
case isc::dhcp::Parser6Context::DHCP_DDNS:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
return isc::dhcp::Dhcp6Parser::make_HOSTNAME_CHAR_SET(driver.loc_);
default:
return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-set", driver.loc_);
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
case isc::dhcp::Parser6Context::DHCP_DDNS:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
return isc::dhcp::Dhcp6Parser::make_HOSTNAME_CHAR_REPLACEMENT(driver.loc_);
default:
return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-replacement", driver.loc_);
}
}
+\"ddns-send-updates\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_SEND_UPDATES(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-send-updates", driver.loc_);
+ }
+}
+
+\"ddns-override-no-update\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_OVERRIDE_NO_UPDATE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-no-update", driver.loc_);
+ }
+}
+
+\"ddns-override-client-update\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_OVERRIDE_CLIENT_UPDATE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-client-update", driver.loc_);
+ }
+}
+
+\"ddns-replace-client-name\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_REPLACE_CLIENT_NAME(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-replace-client-name", driver.loc_);
+ }
+}
+
+\"ddns-generated-prefix\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_GENERATED_PREFIX(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-generated-prefix", driver.loc_);
+ }
+}
+
+\"ddns-qualifying-suffix\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp6Parser::make_DDNS_QUALIFYING_SUFFIX(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-qualifying-suffix", driver.loc_);
+ }
+}
+
\"subnet6\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
// Skeleton implementation for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// Unqualified %code blocks.
-#line 34 "dhcp6_parser.yy"
+#line 34 "dhcp6_parser.yy" // lalr1.cc:438
#include <dhcp6/parser_context.h>
-#line 51 "dhcp6_parser.cc"
+#line 51 "dhcp6_parser.cc" // lalr1.cc:438
#ifndef YY_
{ \
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
} \
- while (false)
+ while (/*CONSTCOND*/ false)
# endif
#define YYERROR goto yyerrorlab
#define YYRECOVERING() (!!yyerrstatus_)
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:513
namespace isc { namespace dhcp {
-#line 146 "dhcp6_parser.cc"
-
+#line 146 "dhcp6_parser.cc" // lalr1.cc:513
/* Return YYSTR after stripping away unnecessary quotes and
backslashes, so that it's suitable for yyerror. The heuristic is
{
if (*yystr == '"')
{
- std::string yyr;
+ std::string yyr = "";
char const *yyp = yystr;
for (;;)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- else
- goto append;
-
- append:
+ // Fall through.
default:
yyr += *yyp;
break;
Dhcp6Parser::~Dhcp6Parser ()
{}
- Dhcp6Parser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW
- {}
/*---------------.
| Symbol types. |
// by_state.
- Dhcp6Parser::by_state::by_state () YY_NOEXCEPT
+ Dhcp6Parser::by_state::by_state ()
: state (empty_state)
{}
- Dhcp6Parser::by_state::by_state (const by_state& that) YY_NOEXCEPT
- : state (that.state)
+ Dhcp6Parser::by_state::by_state (const by_state& other)
+ : state (other.state)
{}
void
- Dhcp6Parser::by_state::clear () YY_NOEXCEPT
+ Dhcp6Parser::by_state::clear ()
{
state = empty_state;
}
that.clear ();
}
- Dhcp6Parser::by_state::by_state (state_type s) YY_NOEXCEPT
+ Dhcp6Parser::by_state::by_state (state_type s)
: state (s)
{}
Dhcp6Parser::symbol_number_type
- Dhcp6Parser::by_state::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::by_state::type_get () const
{
if (state == empty_state)
return empty_symbol;
{
switch (that.type_get ())
{
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
break;
- case 186: // "boolean"
+ case 192: // "boolean"
value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
break;
- case 185: // "floating point"
+ case 191: // "floating point"
value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
break;
- case 184: // "integer"
+ case 190: // "integer"
value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
break;
- case 183: // "constant string"
+ case 189: // "constant string"
value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
break;
break;
}
-#if 201103L <= YY_CPLUSPLUS
+#if defined __cplusplus && 201103L <= __cplusplus
// that is emptied.
that.state = empty_state;
#endif
{
switch (that.type_get ())
{
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
value.move< ElementPtr > (YY_MOVE (that.value));
break;
- case 186: // "boolean"
+ case 192: // "boolean"
value.move< bool > (YY_MOVE (that.value));
break;
- case 185: // "floating point"
+ case 191: // "floating point"
value.move< double > (YY_MOVE (that.value));
break;
- case 184: // "integer"
+ case 190: // "integer"
value.move< int64_t > (YY_MOVE (that.value));
break;
- case 183: // "constant string"
+ case 189: // "constant string"
value.move< std::string > (YY_MOVE (that.value));
break;
that.type = empty_symbol;
}
-#if YY_CPLUSPLUS < 201103L
+#if !defined __cplusplus || __cplusplus < 201103L
Dhcp6Parser::stack_symbol_type&
Dhcp6Parser::stack_symbol_type::operator= (stack_symbol_type& that)
{
state = that.state;
switch (that.type_get ())
{
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
value.move< ElementPtr > (that.value);
break;
- case 186: // "boolean"
+ case 192: // "boolean"
value.move< bool > (that.value);
break;
- case 185: // "floating point"
+ case 191: // "floating point"
value.move< double > (that.value);
break;
- case 184: // "integer"
+ case 190: // "integer"
value.move< int64_t > (that.value);
break;
- case 183: // "constant string"
+ case 189: // "constant string"
value.move< std::string > (that.value);
break;
std::ostream& yyoutput = yyo;
YYUSE (yyoutput);
symbol_number_type yytype = yysym.type_get ();
-#if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408
// Avoid a (spurious) G++ 4.8 warning about "array subscript is
// below array bounds".
if (yysym.empty ())
std::abort ();
-#endif
yyo << (yytype < yyntokens_ ? "token" : "nterm")
<< ' ' << yytname_[yytype] << " ("
<< yysym.location << ": ";
switch (yytype)
{
- case 183: // "constant string"
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 405 "dhcp6_parser.cc"
+ case 189: // "constant string"
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 398 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 184: // "integer"
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 411 "dhcp6_parser.cc"
+ case 190: // "integer"
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 405 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 185: // "floating point"
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < double > (); }
-#line 417 "dhcp6_parser.cc"
+ case 191: // "floating point"
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< double > (); }
+#line 412 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 186: // "boolean"
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < bool > (); }
-#line 423 "dhcp6_parser.cc"
+ case 192: // "boolean"
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 419 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 204: // value
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 429 "dhcp6_parser.cc"
+ case 210: // value
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 426 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 208: // map_value
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 435 "dhcp6_parser.cc"
+ case 214: // map_value
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 433 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 269: // db_type
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 441 "dhcp6_parser.cc"
+ case 255: // ddns_replace_client_name_value
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 440 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 363: // hr_mode
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 447 "dhcp6_parser.cc"
+ case 289: // db_type
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 447 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 499: // duid_type
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 453 "dhcp6_parser.cc"
+ case 383: // hr_mode
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 454 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 534: // ncr_protocol_value
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 459 "dhcp6_parser.cc"
+ case 519: // duid_type
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 461 "dhcp6_parser.cc" // lalr1.cc:672
break;
- case 541: // replace_client_name_value
-#line 262 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 465 "dhcp6_parser.cc"
+ case 554: // ncr_protocol_value
+
+#line 268 "dhcp6_parser.yy" // lalr1.cc:672
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 468 "dhcp6_parser.cc" // lalr1.cc:672
break;
+
default:
break;
}
void
Dhcp6Parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
{
-#if 201103L <= YY_CPLUSPLUS
+#if defined __cplusplus && 201103L <= __cplusplus
yypush_ (m, stack_symbol_type (s, std::move (sym)));
#else
stack_symbol_type ss (s, sym);
yystack_.clear ();
yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla));
- /*-----------------------------------------------.
- | yynewstate -- push a new symbol on the stack. |
- `-----------------------------------------------*/
+ // A new symbol was pushed on the stack.
yynewstate:
YYCDEBUG << "Entering state " << yystack_[0].state << '\n';
// Accept?
if (yystack_[0].state == yyfinal_)
- YYACCEPT;
+ goto yyacceptlab;
goto yybackup;
-
- /*-----------.
- | yybackup. |
- `-----------*/
+ // Backup.
yybackup:
// Try to take a decision without lookahead.
yyn = yypact_[yystack_[0].state];
#if YY_EXCEPTIONS
catch (const syntax_error& yyexc)
{
- YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
error (yyexc);
goto yyerrlab1;
}
yypush_ ("Shifting", yyn, YY_MOVE (yyla));
goto yynewstate;
-
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
goto yyerrlab;
goto yyreduce;
-
/*-----------------------------.
- | yyreduce -- do a reduction. |
+ | yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
yylen = yyr2_[yyn];
when using variants. */
switch (yyr1_[yyn])
{
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
yylhs.value.emplace< ElementPtr > ();
break;
- case 186: // "boolean"
+ case 192: // "boolean"
yylhs.value.emplace< bool > ();
break;
- case 185: // "floating point"
+ case 191: // "floating point"
yylhs.value.emplace< double > ();
break;
- case 184: // "integer"
+ case 190: // "integer"
yylhs.value.emplace< int64_t > ();
break;
- case 183: // "constant string"
+ case 189: // "constant string"
yylhs.value.emplace< std::string > ();
break;
// Default location.
{
- stack_type::slice range (yystack_, yylen);
- YYLLOC_DEFAULT (yylhs.location, range, yylen);
+ slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
+ YYLLOC_DEFAULT (yylhs.location, slice, yylen);
yyerror_range[1].location = yylhs.location;
}
switch (yyn)
{
case 2:
-#line 271 "dhcp6_parser.yy"
+#line 277 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 731 "dhcp6_parser.cc"
+#line 727 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 4:
-#line 272 "dhcp6_parser.yy"
+#line 278 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.CONFIG; }
-#line 737 "dhcp6_parser.cc"
+#line 733 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 6:
-#line 273 "dhcp6_parser.yy"
+#line 279 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.DHCP6; }
-#line 743 "dhcp6_parser.cc"
+#line 739 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 8:
-#line 274 "dhcp6_parser.yy"
+#line 280 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 749 "dhcp6_parser.cc"
+#line 745 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 10:
-#line 275 "dhcp6_parser.yy"
+#line 281 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.SUBNET6; }
-#line 755 "dhcp6_parser.cc"
+#line 751 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 12:
-#line 276 "dhcp6_parser.yy"
+#line 282 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.POOLS; }
-#line 761 "dhcp6_parser.cc"
+#line 757 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 14:
-#line 277 "dhcp6_parser.yy"
+#line 283 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.PD_POOLS; }
-#line 767 "dhcp6_parser.cc"
+#line 763 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 16:
-#line 278 "dhcp6_parser.yy"
+#line 284 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.RESERVATIONS; }
-#line 773 "dhcp6_parser.cc"
+#line 769 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 18:
-#line 279 "dhcp6_parser.yy"
+#line 285 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.DHCP6; }
-#line 779 "dhcp6_parser.cc"
+#line 775 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 20:
-#line 280 "dhcp6_parser.yy"
+#line 286 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.OPTION_DEF; }
-#line 785 "dhcp6_parser.cc"
+#line 781 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 22:
-#line 281 "dhcp6_parser.yy"
+#line 287 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.OPTION_DATA; }
-#line 791 "dhcp6_parser.cc"
+#line 787 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 24:
-#line 282 "dhcp6_parser.yy"
+#line 288 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 797 "dhcp6_parser.cc"
+#line 793 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 26:
-#line 283 "dhcp6_parser.yy"
+#line 289 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 803 "dhcp6_parser.cc"
+#line 799 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 28:
-#line 284 "dhcp6_parser.yy"
+#line 290 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.LOGGING; }
-#line 809 "dhcp6_parser.cc"
+#line 805 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 30:
-#line 285 "dhcp6_parser.yy"
+#line 291 "dhcp6_parser.yy" // lalr1.cc:907
{ ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 815 "dhcp6_parser.cc"
+#line 811 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 32:
-#line 293 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 821 "dhcp6_parser.cc"
+#line 299 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
+#line 817 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 33:
-#line 294 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 827 "dhcp6_parser.cc"
+#line 300 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
+#line 823 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 34:
-#line 295 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 833 "dhcp6_parser.cc"
+#line 301 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
+#line 829 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 35:
-#line 296 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 839 "dhcp6_parser.cc"
+#line 302 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
+#line 835 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 36:
-#line 297 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 845 "dhcp6_parser.cc"
+#line 303 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
+#line 841 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 37:
-#line 298 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 851 "dhcp6_parser.cc"
+#line 304 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 847 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 38:
-#line 299 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 857 "dhcp6_parser.cc"
+#line 305 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 853 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 39:
-#line 302 "dhcp6_parser.yy"
+#line 308 "dhcp6_parser.yy" // lalr1.cc:907
{
// Push back the JSON value on the stack
- ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ());
}
-#line 866 "dhcp6_parser.cc"
+#line 862 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 40:
-#line 307 "dhcp6_parser.yy"
+#line 313 "dhcp6_parser.yy" // lalr1.cc:907
{
// This code is executed when we're about to start parsing
// the content of the map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 877 "dhcp6_parser.cc"
+#line 873 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 41:
-#line 312 "dhcp6_parser.yy"
+#line 318 "dhcp6_parser.yy" // lalr1.cc:907
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
// for it.
}
-#line 887 "dhcp6_parser.cc"
+#line 883 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 42:
-#line 318 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 893 "dhcp6_parser.cc"
+#line 324 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 889 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 45:
-#line 325 "dhcp6_parser.yy"
+#line 331 "dhcp6_parser.yy" // lalr1.cc:907
{
// map containing a single entry
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 902 "dhcp6_parser.cc"
+#line 898 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 46:
-#line 329 "dhcp6_parser.yy"
+#line 335 "dhcp6_parser.yy" // lalr1.cc:907
{
// map consisting of a shorter map followed by
// comma and string:value
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 912 "dhcp6_parser.cc"
+#line 908 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 47:
-#line 336 "dhcp6_parser.yy"
+#line 342 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 921 "dhcp6_parser.cc"
+#line 917 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 48:
-#line 339 "dhcp6_parser.yy"
+#line 345 "dhcp6_parser.yy" // lalr1.cc:907
{
// list parsing complete. Put any sanity checking here
}
-#line 929 "dhcp6_parser.cc"
+#line 925 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 51:
-#line 347 "dhcp6_parser.yy"
+#line 353 "dhcp6_parser.yy" // lalr1.cc:907
{
// List consisting of a single element.
- ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
}
-#line 938 "dhcp6_parser.cc"
+#line 934 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 52:
-#line 351 "dhcp6_parser.yy"
+#line 357 "dhcp6_parser.yy" // lalr1.cc:907
{
// List ending with , and a value.
- ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
}
-#line 947 "dhcp6_parser.cc"
+#line 943 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 53:
-#line 358 "dhcp6_parser.yy"
+#line 364 "dhcp6_parser.yy" // lalr1.cc:907
{
// List parsing about to start
}
-#line 955 "dhcp6_parser.cc"
+#line 951 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 54:
-#line 360 "dhcp6_parser.yy"
+#line 366 "dhcp6_parser.yy" // lalr1.cc:907
{
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 964 "dhcp6_parser.cc"
+#line 960 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 57:
-#line 369 "dhcp6_parser.yy"
+#line 375 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 973 "dhcp6_parser.cc"
+#line 969 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 58:
-#line 373 "dhcp6_parser.yy"
+#line 379 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 982 "dhcp6_parser.cc"
+#line 978 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 59:
-#line 384 "dhcp6_parser.yy"
+#line 390 "dhcp6_parser.yy" // lalr1.cc:907
{
const std::string& where = ctx.contextName();
- const std::string& keyword = yystack_[1].value.as < std::string > ();
+ const std::string& keyword = yystack_[1].value.as< std::string > ();
error(yystack_[1].location,
"got unexpected keyword \"" + keyword + "\" in " + where + " map.");
}
-#line 993 "dhcp6_parser.cc"
+#line 989 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 60:
-#line 394 "dhcp6_parser.yy"
+#line 400 "dhcp6_parser.yy" // lalr1.cc:907
{
// This code is executed when we're about to start parsing
// the content of the map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1004 "dhcp6_parser.cc"
+#line 1000 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 61:
-#line 399 "dhcp6_parser.yy"
+#line 405 "dhcp6_parser.yy" // lalr1.cc:907
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
// Dhcp6 is required
ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 1017 "dhcp6_parser.cc"
+#line 1013 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 70:
-#line 422 "dhcp6_parser.yy"
+#line 428 "dhcp6_parser.yy" // lalr1.cc:907
{
// This code is executed when we're about to start parsing
// the content of the map
ctx.stack_.push_back(m);
ctx.enter(ctx.DHCP6);
}
-#line 1030 "dhcp6_parser.cc"
+#line 1026 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 71:
-#line 429 "dhcp6_parser.yy"
+#line 435 "dhcp6_parser.yy" // lalr1.cc:907
{
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1040 "dhcp6_parser.cc"
+#line 1036 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 72:
-#line 437 "dhcp6_parser.yy"
+#line 443 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the Dhcp6 map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1050 "dhcp6_parser.cc"
+#line 1046 "dhcp6_parser.cc" // lalr1.cc:907
break;
case 73:
-#line 441 "dhcp6_parser.yy"
+#line 447 "dhcp6_parser.yy" // lalr1.cc:907
{
// No global parameter is required
// parsing completed
}
-#line 1059 "dhcp6_parser.cc"
+#line 1055 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 119:
-#line 497 "dhcp6_parser.yy"
+ case 125:
+#line 509 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1067 "dhcp6_parser.cc"
+#line 1063 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 120:
-#line 499 "dhcp6_parser.yy"
+ case 126:
+#line 511 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr datadir(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data-directory", datadir);
ctx.leave();
}
-#line 1077 "dhcp6_parser.cc"
+#line 1073 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 121:
-#line 505 "dhcp6_parser.yy"
+ case 127:
+#line 517 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("preferred-lifetime", prf);
}
-#line 1086 "dhcp6_parser.cc"
+#line 1082 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 122:
-#line 510 "dhcp6_parser.yy"
+ case 128:
+#line 522 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-preferred-lifetime", prf);
}
-#line 1095 "dhcp6_parser.cc"
+#line 1091 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 123:
-#line 515 "dhcp6_parser.yy"
+ case 129:
+#line 527 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-preferred-lifetime", prf);
}
-#line 1104 "dhcp6_parser.cc"
+#line 1100 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 124:
-#line 520 "dhcp6_parser.yy"
+ case 130:
+#line 532 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("valid-lifetime", prf);
}
-#line 1113 "dhcp6_parser.cc"
+#line 1109 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 125:
-#line 525 "dhcp6_parser.yy"
+ case 131:
+#line 537 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-valid-lifetime", prf);
}
-#line 1122 "dhcp6_parser.cc"
+#line 1118 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 126:
-#line 530 "dhcp6_parser.yy"
+ case 132:
+#line 542 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-valid-lifetime", prf);
}
-#line 1131 "dhcp6_parser.cc"
+#line 1127 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 127:
-#line 535 "dhcp6_parser.yy"
+ case 133:
+#line 547 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("renew-timer", prf);
}
-#line 1140 "dhcp6_parser.cc"
+#line 1136 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 128:
-#line 540 "dhcp6_parser.yy"
+ case 134:
+#line 552 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rebind-timer", prf);
}
-#line 1149 "dhcp6_parser.cc"
+#line 1145 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 129:
-#line 545 "dhcp6_parser.yy"
+ case 135:
+#line 557 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ctt(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("calculate-tee-times", ctt);
}
-#line 1158 "dhcp6_parser.cc"
+#line 1154 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 130:
-#line 550 "dhcp6_parser.yy"
+ case 136:
+#line 562 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr t1(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t1-percent", t1);
}
-#line 1167 "dhcp6_parser.cc"
+#line 1163 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 131:
-#line 555 "dhcp6_parser.yy"
+ case 137:
+#line 567 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr t2(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t2-percent", t2);
}
-#line 1176 "dhcp6_parser.cc"
+#line 1172 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 132:
-#line 560 "dhcp6_parser.yy"
+ case 138:
+#line 572 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("decline-probation-period", dpp);
}
-#line 1185 "dhcp6_parser.cc"
+#line 1181 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 133:
-#line 565 "dhcp6_parser.yy"
+ case 139:
+#line 577 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-send-updates", b);
+}
+#line 1190 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 140:
+#line 582 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-override-no-update", b);
+}
+#line 1199 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 141:
+#line 587 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-override-client-update", b);
+}
+#line 1208 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 142:
+#line 592 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ctx.enter(ctx.REPLACE_CLIENT_NAME);
+}
+#line 1216 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 143:
+#line 594 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as< ElementPtr > ());
+ ctx.leave();
+}
+#line 1225 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 144:
+#line 600 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1233 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 145:
+#line 603 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1241 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 146:
+#line 606 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1249 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 147:
+#line 609 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1257 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 148:
+#line 612 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ error(yystack_[0].location, "boolean values for the replace-client-name are "
+ "no longer supported");
+ }
+#line 1266 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 149:
+#line 618 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1193 "dhcp6_parser.cc"
+#line 1274 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 134:
-#line 567 "dhcp6_parser.yy"
+ case 150:
+#line 620 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-generated-prefix", s);
+ ctx.leave();
+}
+#line 1284 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 151:
+#line 626 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1292 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 152:
+#line 628 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-qualifying-suffix", s);
+ ctx.leave();
+}
+#line 1302 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 153:
+#line 634 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1310 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 154:
+#line 636 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("hostname-char-set", s);
+ ctx.leave();
+}
+#line 1320 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 155:
+#line 642 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1328 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 156:
+#line 644 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("hostname-char-replacement", s);
+ ctx.leave();
+}
+#line 1338 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 157:
+#line 650 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1346 "dhcp6_parser.cc" // lalr1.cc:907
+ break;
+
+ case 158:
+#line 652 "dhcp6_parser.yy" // lalr1.cc:907
+ {
+ ElementPtr stag(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-tag", stag);
ctx.leave();
}
-#line 1203 "dhcp6_parser.cc"
+#line 1356 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 135:
-#line 573 "dhcp6_parser.yy"
+ case 159:
+#line 658 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interfaces-config", i);
ctx.stack_.push_back(i);
ctx.enter(ctx.INTERFACES_CONFIG);
}
-#line 1214 "dhcp6_parser.cc"
+#line 1367 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 136:
-#line 578 "dhcp6_parser.yy"
+ case 160:
+#line 663 "dhcp6_parser.yy" // lalr1.cc:907
{
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1224 "dhcp6_parser.cc"
+#line 1377 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 137:
-#line 584 "dhcp6_parser.yy"
+ case 161:
+#line 669 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the interfaces-config map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1234 "dhcp6_parser.cc"
+#line 1387 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 138:
-#line 588 "dhcp6_parser.yy"
+ case 162:
+#line 673 "dhcp6_parser.yy" // lalr1.cc:907
{
// No interfaces config param is required
// parsing completed
}
-#line 1243 "dhcp6_parser.cc"
+#line 1396 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 146:
-#line 604 "dhcp6_parser.yy"
+ case 170:
+#line 689 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interfaces", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1254 "dhcp6_parser.cc"
+#line 1407 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 147:
-#line 609 "dhcp6_parser.yy"
+ case 171:
+#line 694 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1263 "dhcp6_parser.cc"
+#line 1416 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 148:
-#line 614 "dhcp6_parser.yy"
+ case 172:
+#line 699 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("re-detect", b);
}
-#line 1272 "dhcp6_parser.cc"
+#line 1425 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 149:
-#line 620 "dhcp6_parser.yy"
+ case 173:
+#line 705 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lease-database", i);
ctx.stack_.push_back(i);
ctx.enter(ctx.LEASE_DATABASE);
}
-#line 1283 "dhcp6_parser.cc"
+#line 1436 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 150:
-#line 625 "dhcp6_parser.yy"
+ case 174:
+#line 710 "dhcp6_parser.yy" // lalr1.cc:907
{
// The type parameter is required
ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1294 "dhcp6_parser.cc"
+#line 1447 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 151:
-#line 632 "dhcp6_parser.yy"
+ case 175:
+#line 717 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hosts-database", i);
ctx.stack_.push_back(i);
ctx.enter(ctx.HOSTS_DATABASE);
}
-#line 1305 "dhcp6_parser.cc"
+#line 1458 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 152:
-#line 637 "dhcp6_parser.yy"
+ case 176:
+#line 722 "dhcp6_parser.yy" // lalr1.cc:907
{
// The type parameter is required
ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1316 "dhcp6_parser.cc"
+#line 1469 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 153:
-#line 644 "dhcp6_parser.yy"
+ case 177:
+#line 729 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hosts-databases", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.HOSTS_DATABASE);
}
-#line 1327 "dhcp6_parser.cc"
+#line 1480 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 154:
-#line 649 "dhcp6_parser.yy"
+ case 178:
+#line 734 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1336 "dhcp6_parser.cc"
+#line 1489 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 159:
-#line 662 "dhcp6_parser.yy"
+ case 183:
+#line 747 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1346 "dhcp6_parser.cc"
+#line 1499 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 160:
-#line 666 "dhcp6_parser.yy"
+ case 184:
+#line 751 "dhcp6_parser.yy" // lalr1.cc:907
{
// The type parameter is required
ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1356 "dhcp6_parser.cc"
+#line 1509 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 184:
-#line 699 "dhcp6_parser.yy"
+ case 208:
+#line 784 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1364 "dhcp6_parser.cc"
+#line 1517 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 185:
-#line 701 "dhcp6_parser.yy"
+ case 209:
+#line 786 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1373 "dhcp6_parser.cc"
+#line 1526 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 186:
-#line 706 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1379 "dhcp6_parser.cc"
+ case 210:
+#line 791 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1532 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 187:
-#line 707 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1385 "dhcp6_parser.cc"
+ case 211:
+#line 792 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1538 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 188:
-#line 708 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1391 "dhcp6_parser.cc"
+ case 212:
+#line 793 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1544 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 189:
-#line 709 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1397 "dhcp6_parser.cc"
+ case 213:
+#line 794 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1550 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 190:
-#line 712 "dhcp6_parser.yy"
+ case 214:
+#line 797 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1405 "dhcp6_parser.cc"
+#line 1558 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 191:
-#line 714 "dhcp6_parser.yy"
+ case 215:
+#line 799 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("user", user);
ctx.leave();
}
-#line 1415 "dhcp6_parser.cc"
+#line 1568 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 192:
-#line 720 "dhcp6_parser.yy"
+ case 216:
+#line 805 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1423 "dhcp6_parser.cc"
+#line 1576 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 193:
-#line 722 "dhcp6_parser.yy"
+ case 217:
+#line 807 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("password", pwd);
ctx.leave();
}
-#line 1433 "dhcp6_parser.cc"
+#line 1586 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 194:
-#line 728 "dhcp6_parser.yy"
+ case 218:
+#line 813 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1441 "dhcp6_parser.cc"
+#line 1594 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 195:
-#line 730 "dhcp6_parser.yy"
+ case 219:
+#line 815 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("host", h);
ctx.leave();
}
-#line 1451 "dhcp6_parser.cc"
+#line 1604 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 196:
-#line 736 "dhcp6_parser.yy"
+ case 220:
+#line 821 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("port", p);
}
-#line 1460 "dhcp6_parser.cc"
+#line 1613 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 197:
-#line 741 "dhcp6_parser.yy"
+ case 221:
+#line 826 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1468 "dhcp6_parser.cc"
+#line 1621 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 198:
-#line 743 "dhcp6_parser.yy"
+ case 222:
+#line 828 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1478 "dhcp6_parser.cc"
+#line 1631 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 199:
-#line 749 "dhcp6_parser.yy"
+ case 223:
+#line 834 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("persist", n);
}
-#line 1487 "dhcp6_parser.cc"
+#line 1640 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 200:
-#line 754 "dhcp6_parser.yy"
+ case 224:
+#line 839 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lfc-interval", n);
}
-#line 1496 "dhcp6_parser.cc"
+#line 1649 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 201:
-#line 759 "dhcp6_parser.yy"
+ case 225:
+#line 844 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("readonly", n);
}
-#line 1505 "dhcp6_parser.cc"
+#line 1658 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 202:
-#line 764 "dhcp6_parser.yy"
+ case 226:
+#line 849 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("connect-timeout", n);
}
-#line 1514 "dhcp6_parser.cc"
+#line 1667 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 203:
-#line 769 "dhcp6_parser.yy"
+ case 227:
+#line 854 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 1523 "dhcp6_parser.cc"
+#line 1676 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 204:
-#line 774 "dhcp6_parser.yy"
+ case 228:
+#line 859 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-row-errors", n);
}
-#line 1532 "dhcp6_parser.cc"
+#line 1685 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 205:
-#line 779 "dhcp6_parser.yy"
+ case 229:
+#line 864 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("request-timeout", n);
}
-#line 1541 "dhcp6_parser.cc"
+#line 1694 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 206:
-#line 784 "dhcp6_parser.yy"
+ case 230:
+#line 869 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-keepalive", n);
}
-#line 1550 "dhcp6_parser.cc"
+#line 1703 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 207:
-#line 789 "dhcp6_parser.yy"
+ case 231:
+#line 874 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-nodelay", n);
}
-#line 1559 "dhcp6_parser.cc"
+#line 1712 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 208:
-#line 794 "dhcp6_parser.yy"
+ case 232:
+#line 879 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1567 "dhcp6_parser.cc"
+#line 1720 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 209:
-#line 796 "dhcp6_parser.yy"
+ case 233:
+#line 881 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("contact-points", cp);
ctx.leave();
}
-#line 1577 "dhcp6_parser.cc"
+#line 1730 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 210:
-#line 802 "dhcp6_parser.yy"
+ case 234:
+#line 887 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reconnect-tries", n);
}
-#line 1586 "dhcp6_parser.cc"
+#line 1739 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 211:
-#line 807 "dhcp6_parser.yy"
+ case 235:
+#line 892 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1594 "dhcp6_parser.cc"
+#line 1747 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 212:
-#line 809 "dhcp6_parser.yy"
+ case 236:
+#line 894 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("keyspace", ks);
ctx.leave();
}
-#line 1604 "dhcp6_parser.cc"
+#line 1757 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 213:
-#line 815 "dhcp6_parser.yy"
+ case 237:
+#line 900 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1612 "dhcp6_parser.cc"
+#line 1765 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 214:
-#line 817 "dhcp6_parser.yy"
+ case 238:
+#line 902 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("consistency", c);
ctx.leave();
}
-#line 1622 "dhcp6_parser.cc"
+#line 1775 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 215:
-#line 823 "dhcp6_parser.yy"
+ case 239:
+#line 908 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1630 "dhcp6_parser.cc"
+#line 1783 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 216:
-#line 825 "dhcp6_parser.yy"
+ case 240:
+#line 910 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("serial-consistency", c);
ctx.leave();
}
-#line 1640 "dhcp6_parser.cc"
+#line 1793 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 217:
-#line 831 "dhcp6_parser.yy"
+ case 241:
+#line 916 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sanity-checks", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.SANITY_CHECKS);
}
-#line 1651 "dhcp6_parser.cc"
+#line 1804 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 218:
-#line 836 "dhcp6_parser.yy"
+ case 242:
+#line 921 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1660 "dhcp6_parser.cc"
+#line 1813 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 222:
-#line 846 "dhcp6_parser.yy"
+ case 246:
+#line 931 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1668 "dhcp6_parser.cc"
+#line 1821 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 223:
-#line 848 "dhcp6_parser.yy"
+ case 247:
+#line 933 "dhcp6_parser.yy" // lalr1.cc:907
{
- if ( (string(yystack_[0].value.as < std::string > ()) == "none") ||
- (string(yystack_[0].value.as < std::string > ()) == "warn") ||
- (string(yystack_[0].value.as < std::string > ()) == "fix") ||
- (string(yystack_[0].value.as < std::string > ()) == "fix-del") ||
- (string(yystack_[0].value.as < std::string > ()) == "del")) {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ if ( (string(yystack_[0].value.as< std::string > ()) == "none") ||
+ (string(yystack_[0].value.as< std::string > ()) == "warn") ||
+ (string(yystack_[0].value.as< std::string > ()) == "fix") ||
+ (string(yystack_[0].value.as< std::string > ()) == "fix-del") ||
+ (string(yystack_[0].value.as< std::string > ()) == "del")) {
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lease-checks", user);
ctx.leave();
} else {
- error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as < std::string > ()) +
+ error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as< std::string > ()) +
", supported values are: none, warn, fix, fix-del, del");
}
}
-#line 1688 "dhcp6_parser.cc"
+#line 1841 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 224:
-#line 864 "dhcp6_parser.yy"
+ case 248:
+#line 949 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("mac-sources", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.MAC_SOURCES);
}
-#line 1699 "dhcp6_parser.cc"
+#line 1852 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 225:
-#line 869 "dhcp6_parser.yy"
+ case 249:
+#line 954 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1708 "dhcp6_parser.cc"
+#line 1861 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 230:
-#line 882 "dhcp6_parser.yy"
+ case 254:
+#line 967 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1717 "dhcp6_parser.cc"
+#line 1870 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 231:
-#line 887 "dhcp6_parser.yy"
+ case 255:
+#line 972 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1726 "dhcp6_parser.cc"
+#line 1879 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 232:
-#line 892 "dhcp6_parser.yy"
+ case 256:
+#line 977 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("host-reservation-identifiers", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
}
-#line 1737 "dhcp6_parser.cc"
+#line 1890 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 233:
-#line 897 "dhcp6_parser.yy"
+ case 257:
+#line 982 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1746 "dhcp6_parser.cc"
+#line 1899 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 239:
-#line 911 "dhcp6_parser.yy"
+ case 263:
+#line 996 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 1755 "dhcp6_parser.cc"
+#line 1908 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 240:
-#line 916 "dhcp6_parser.yy"
+ case 264:
+#line 1001 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(flex_id);
}
-#line 1764 "dhcp6_parser.cc"
+#line 1917 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 241:
-#line 923 "dhcp6_parser.yy"
+ case 265:
+#line 1008 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("relay-supplied-options", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1775 "dhcp6_parser.cc"
+#line 1928 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 242:
-#line 928 "dhcp6_parser.yy"
+ case 266:
+#line 1013 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1784 "dhcp6_parser.cc"
+#line 1937 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 243:
-#line 933 "dhcp6_parser.yy"
+ case 267:
+#line 1018 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hooks-libraries", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.HOOKS_LIBRARIES);
}
-#line 1795 "dhcp6_parser.cc"
+#line 1948 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 244:
-#line 938 "dhcp6_parser.yy"
+ case 268:
+#line 1023 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1804 "dhcp6_parser.cc"
+#line 1957 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 249:
-#line 951 "dhcp6_parser.yy"
+ case 273:
+#line 1036 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1814 "dhcp6_parser.cc"
+#line 1967 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 250:
-#line 955 "dhcp6_parser.yy"
+ case 274:
+#line 1040 "dhcp6_parser.yy" // lalr1.cc:907
{
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1824 "dhcp6_parser.cc"
+#line 1977 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 251:
-#line 961 "dhcp6_parser.yy"
+ case 275:
+#line 1046 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the hooks-libraries list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1834 "dhcp6_parser.cc"
+#line 1987 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 252:
-#line 965 "dhcp6_parser.yy"
+ case 276:
+#line 1050 "dhcp6_parser.yy" // lalr1.cc:907
{
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 1844 "dhcp6_parser.cc"
+#line 1997 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 258:
-#line 980 "dhcp6_parser.yy"
+ case 282:
+#line 1065 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1852 "dhcp6_parser.cc"
+#line 2005 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 259:
-#line 982 "dhcp6_parser.yy"
+ case 283:
+#line 1067 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("library", lib);
ctx.leave();
}
-#line 1862 "dhcp6_parser.cc"
+#line 2015 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 260:
-#line 988 "dhcp6_parser.yy"
+ case 284:
+#line 1073 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1870 "dhcp6_parser.cc"
+#line 2023 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 261:
-#line 990 "dhcp6_parser.yy"
+ case 285:
+#line 1075 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1879 "dhcp6_parser.cc"
+#line 2032 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 262:
-#line 996 "dhcp6_parser.yy"
+ case 286:
+#line 1081 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("expired-leases-processing", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
}
-#line 1890 "dhcp6_parser.cc"
+#line 2043 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 263:
-#line 1001 "dhcp6_parser.yy"
+ case 287:
+#line 1086 "dhcp6_parser.yy" // lalr1.cc:907
{
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1900 "dhcp6_parser.cc"
+#line 2053 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 272:
-#line 1019 "dhcp6_parser.yy"
+ case 296:
+#line 1104 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reclaim-timer-wait-time", value);
}
-#line 1909 "dhcp6_parser.cc"
+#line 2062 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 273:
-#line 1024 "dhcp6_parser.yy"
+ case 297:
+#line 1109 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value);
}
-#line 1918 "dhcp6_parser.cc"
+#line 2071 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 274:
-#line 1029 "dhcp6_parser.yy"
+ case 298:
+#line 1114 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 1927 "dhcp6_parser.cc"
+#line 2080 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 275:
-#line 1034 "dhcp6_parser.yy"
+ case 299:
+#line 1119 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 1936 "dhcp6_parser.cc"
+#line 2089 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 276:
-#line 1039 "dhcp6_parser.yy"
+ case 300:
+#line 1124 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 1945 "dhcp6_parser.cc"
+#line 2098 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 277:
-#line 1044 "dhcp6_parser.yy"
+ case 301:
+#line 1129 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 1954 "dhcp6_parser.cc"
+#line 2107 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 278:
-#line 1052 "dhcp6_parser.yy"
+ case 302:
+#line 1137 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet6", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.SUBNET6);
}
-#line 1965 "dhcp6_parser.cc"
+#line 2118 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 279:
-#line 1057 "dhcp6_parser.yy"
+ case 303:
+#line 1142 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1974 "dhcp6_parser.cc"
+#line 2127 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 284:
-#line 1077 "dhcp6_parser.yy"
+ case 308:
+#line 1162 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1984 "dhcp6_parser.cc"
+#line 2137 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 285:
-#line 1081 "dhcp6_parser.yy"
+ case 309:
+#line 1166 "dhcp6_parser.yy" // lalr1.cc:907
{
// Once we reached this place, the subnet parsing is now complete.
// If we want to, we can implement default values here.
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2010 "dhcp6_parser.cc"
+#line 2163 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 286:
-#line 1103 "dhcp6_parser.yy"
+ case 310:
+#line 1188 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the subnet6 list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2020 "dhcp6_parser.cc"
+#line 2173 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 287:
-#line 1107 "dhcp6_parser.yy"
+ case 311:
+#line 1192 "dhcp6_parser.yy" // lalr1.cc:907
{
// The subnet subnet6 parameter is required
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2030 "dhcp6_parser.cc"
+#line 2183 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 317:
-#line 1148 "dhcp6_parser.yy"
+ case 349:
+#line 1241 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2038 "dhcp6_parser.cc"
+#line 2191 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 318:
-#line 1150 "dhcp6_parser.yy"
+ case 350:
+#line 1243 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet", subnet);
ctx.leave();
}
-#line 2048 "dhcp6_parser.cc"
+#line 2201 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 319:
-#line 1156 "dhcp6_parser.yy"
+ case 351:
+#line 1249 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2056 "dhcp6_parser.cc"
+#line 2209 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 320:
-#line 1158 "dhcp6_parser.yy"
+ case 352:
+#line 1251 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface", iface);
ctx.leave();
}
-#line 2066 "dhcp6_parser.cc"
+#line 2219 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 321:
-#line 1164 "dhcp6_parser.yy"
+ case 353:
+#line 1257 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2074 "dhcp6_parser.cc"
+#line 2227 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 322:
-#line 1166 "dhcp6_parser.yy"
+ case 354:
+#line 1259 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface-id", iface);
ctx.leave();
}
-#line 2084 "dhcp6_parser.cc"
+#line 2237 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 323:
-#line 1172 "dhcp6_parser.yy"
+ case 355:
+#line 1265 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2092 "dhcp6_parser.cc"
+#line 2245 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 324:
-#line 1174 "dhcp6_parser.yy"
+ case 356:
+#line 1267 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-class", cls);
ctx.leave();
}
-#line 2102 "dhcp6_parser.cc"
+#line 2255 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 325:
-#line 1180 "dhcp6_parser.yy"
+ case 357:
+#line 1273 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("require-client-classes", c);
ctx.stack_.push_back(c);
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2113 "dhcp6_parser.cc"
+#line 2266 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 326:
-#line 1185 "dhcp6_parser.yy"
+ case 358:
+#line 1278 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2122 "dhcp6_parser.cc"
+#line 2275 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 327:
-#line 1190 "dhcp6_parser.yy"
+ case 359:
+#line 1283 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2130 "dhcp6_parser.cc"
+#line 2283 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 328:
-#line 1192 "dhcp6_parser.yy"
+ case 360:
+#line 1285 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2139 "dhcp6_parser.cc"
+#line 2292 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 329:
-#line 1197 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2145 "dhcp6_parser.cc"
+ case 361:
+#line 1290 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2298 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 330:
-#line 1198 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2151 "dhcp6_parser.cc"
+ case 362:
+#line 1291 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2304 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 331:
-#line 1199 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2157 "dhcp6_parser.cc"
+ case 363:
+#line 1292 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2310 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 332:
-#line 1200 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2163 "dhcp6_parser.cc"
+ case 364:
+#line 1293 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2316 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 333:
-#line 1203 "dhcp6_parser.yy"
+ case 365:
+#line 1296 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("id", id);
}
-#line 2172 "dhcp6_parser.cc"
+#line 2325 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 334:
-#line 1208 "dhcp6_parser.yy"
+ case 366:
+#line 1301 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rapid-commit", rc);
}
-#line 2181 "dhcp6_parser.cc"
+#line 2334 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 335:
-#line 1216 "dhcp6_parser.yy"
+ case 367:
+#line 1309 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("shared-networks", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.SHARED_NETWORK);
}
-#line 2192 "dhcp6_parser.cc"
+#line 2345 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 336:
-#line 1221 "dhcp6_parser.yy"
+ case 368:
+#line 1314 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2201 "dhcp6_parser.cc"
+#line 2354 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 341:
-#line 1236 "dhcp6_parser.yy"
+ case 373:
+#line 1329 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2211 "dhcp6_parser.cc"
+#line 2364 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 342:
-#line 1240 "dhcp6_parser.yy"
+ case 374:
+#line 1333 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
}
-#line 2219 "dhcp6_parser.cc"
+#line 2372 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 369:
-#line 1278 "dhcp6_parser.yy"
+ case 409:
+#line 1379 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("option-def", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.OPTION_DEF);
}
-#line 2230 "dhcp6_parser.cc"
+#line 2383 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 370:
-#line 1283 "dhcp6_parser.yy"
+ case 410:
+#line 1384 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2239 "dhcp6_parser.cc"
+#line 2392 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 371:
-#line 1291 "dhcp6_parser.yy"
+ case 411:
+#line 1392 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2248 "dhcp6_parser.cc"
+#line 2401 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 372:
-#line 1294 "dhcp6_parser.yy"
+ case 412:
+#line 1395 "dhcp6_parser.yy" // lalr1.cc:907
{
// parsing completed
}
-#line 2256 "dhcp6_parser.cc"
+#line 2409 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 377:
-#line 1310 "dhcp6_parser.yy"
+ case 417:
+#line 1411 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2266 "dhcp6_parser.cc"
+#line 2419 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 378:
-#line 1314 "dhcp6_parser.yy"
+ case 418:
+#line 1415 "dhcp6_parser.yy" // lalr1.cc:907
{
// The name, code and type option def parameters are required.
ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2278 "dhcp6_parser.cc"
+#line 2431 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 379:
-#line 1325 "dhcp6_parser.yy"
+ case 419:
+#line 1426 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the option-def list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2288 "dhcp6_parser.cc"
+#line 2441 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 380:
-#line 1329 "dhcp6_parser.yy"
+ case 420:
+#line 1430 "dhcp6_parser.yy" // lalr1.cc:907
{
// The name, code and type option def parameters are required.
ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2300 "dhcp6_parser.cc"
+#line 2453 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 396:
-#line 1361 "dhcp6_parser.yy"
+ case 436:
+#line 1462 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("code", code);
}
-#line 2309 "dhcp6_parser.cc"
+#line 2462 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 398:
-#line 1368 "dhcp6_parser.yy"
+ case 438:
+#line 1469 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2317 "dhcp6_parser.cc"
+#line 2470 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 399:
-#line 1370 "dhcp6_parser.yy"
+ case 439:
+#line 1471 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("type", prf);
ctx.leave();
}
-#line 2327 "dhcp6_parser.cc"
+#line 2480 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 400:
-#line 1376 "dhcp6_parser.yy"
+ case 440:
+#line 1477 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2335 "dhcp6_parser.cc"
+#line 2488 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 401:
-#line 1378 "dhcp6_parser.yy"
+ case 441:
+#line 1479 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("record-types", rtypes);
ctx.leave();
}
-#line 2345 "dhcp6_parser.cc"
+#line 2498 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 402:
-#line 1384 "dhcp6_parser.yy"
+ case 442:
+#line 1485 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2353 "dhcp6_parser.cc"
+#line 2506 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 403:
-#line 1386 "dhcp6_parser.yy"
+ case 443:
+#line 1487 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("space", space);
ctx.leave();
}
-#line 2363 "dhcp6_parser.cc"
+#line 2516 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 405:
-#line 1394 "dhcp6_parser.yy"
+ case 445:
+#line 1495 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2371 "dhcp6_parser.cc"
+#line 2524 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 406:
-#line 1396 "dhcp6_parser.yy"
+ case 446:
+#line 1497 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("encapsulate", encap);
ctx.leave();
}
-#line 2381 "dhcp6_parser.cc"
+#line 2534 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 407:
-#line 1402 "dhcp6_parser.yy"
+ case 447:
+#line 1503 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("array", array);
}
-#line 2390 "dhcp6_parser.cc"
+#line 2543 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 408:
-#line 1411 "dhcp6_parser.yy"
+ case 448:
+#line 1512 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("option-data", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.OPTION_DATA);
}
-#line 2401 "dhcp6_parser.cc"
+#line 2554 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 409:
-#line 1416 "dhcp6_parser.yy"
+ case 449:
+#line 1517 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2410 "dhcp6_parser.cc"
+#line 2563 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 414:
-#line 1435 "dhcp6_parser.yy"
+ case 454:
+#line 1536 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2420 "dhcp6_parser.cc"
+#line 2573 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 415:
-#line 1439 "dhcp6_parser.yy"
+ case 455:
+#line 1540 "dhcp6_parser.yy" // lalr1.cc:907
{
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2429 "dhcp6_parser.cc"
+#line 2582 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 416:
-#line 1447 "dhcp6_parser.yy"
+ case 456:
+#line 1548 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the option-data list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2439 "dhcp6_parser.cc"
+#line 2592 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 417:
-#line 1451 "dhcp6_parser.yy"
+ case 457:
+#line 1552 "dhcp6_parser.yy" // lalr1.cc:907
{
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2448 "dhcp6_parser.cc"
+#line 2601 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 432:
-#line 1484 "dhcp6_parser.yy"
+ case 472:
+#line 1585 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2456 "dhcp6_parser.cc"
+#line 2609 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 433:
-#line 1486 "dhcp6_parser.yy"
+ case 473:
+#line 1587 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data", data);
ctx.leave();
}
-#line 2466 "dhcp6_parser.cc"
+#line 2619 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 436:
-#line 1496 "dhcp6_parser.yy"
+ case 476:
+#line 1597 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("csv-format", space);
}
-#line 2475 "dhcp6_parser.cc"
+#line 2628 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 437:
-#line 1501 "dhcp6_parser.yy"
+ case 477:
+#line 1602 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("always-send", persist);
}
-#line 2484 "dhcp6_parser.cc"
+#line 2637 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 438:
-#line 1509 "dhcp6_parser.yy"
+ case 478:
+#line 1610 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pools", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.POOLS);
}
-#line 2495 "dhcp6_parser.cc"
+#line 2648 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 439:
-#line 1514 "dhcp6_parser.yy"
+ case 479:
+#line 1615 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2504 "dhcp6_parser.cc"
+#line 2657 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 444:
-#line 1529 "dhcp6_parser.yy"
+ case 484:
+#line 1630 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2514 "dhcp6_parser.cc"
+#line 2667 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 445:
-#line 1533 "dhcp6_parser.yy"
+ case 485:
+#line 1634 "dhcp6_parser.yy" // lalr1.cc:907
{
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2524 "dhcp6_parser.cc"
+#line 2677 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 446:
-#line 1539 "dhcp6_parser.yy"
+ case 486:
+#line 1640 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the pool list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2534 "dhcp6_parser.cc"
+#line 2687 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 447:
-#line 1543 "dhcp6_parser.yy"
+ case 487:
+#line 1644 "dhcp6_parser.yy" // lalr1.cc:907
{
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 2543 "dhcp6_parser.cc"
+#line 2696 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 457:
-#line 1561 "dhcp6_parser.yy"
+ case 497:
+#line 1662 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2551 "dhcp6_parser.cc"
+#line 2704 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 458:
-#line 1563 "dhcp6_parser.yy"
+ case 498:
+#line 1664 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pool", pool);
ctx.leave();
}
-#line 2561 "dhcp6_parser.cc"
+#line 2714 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 459:
-#line 1569 "dhcp6_parser.yy"
+ case 499:
+#line 1670 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2569 "dhcp6_parser.cc"
+#line 2722 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 460:
-#line 1571 "dhcp6_parser.yy"
+ case 500:
+#line 1672 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr parent = ctx.stack_.back();
- ElementPtr user_context = yystack_[0].value.as < ElementPtr > ();
+ ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
ConstElementPtr old = parent->get("user-context");
// Handle already existing user context
parent->set("user-context", user_context);
ctx.leave();
}
-#line 2596 "dhcp6_parser.cc"
+#line 2749 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 461:
-#line 1594 "dhcp6_parser.yy"
+ case 501:
+#line 1695 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2604 "dhcp6_parser.cc"
+#line 2757 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 462:
-#line 1596 "dhcp6_parser.yy"
+ case 502:
+#line 1697 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr parent = ctx.stack_.back();
ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
- ElementPtr comment(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr comment(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
user_context->set("comment", comment);
// Handle already existing user context
parent->set("user-context", user_context);
ctx.leave();
}
-#line 2633 "dhcp6_parser.cc"
+#line 2786 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 463:
-#line 1624 "dhcp6_parser.yy"
+ case 503:
+#line 1725 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pd-pools", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.PD_POOLS);
}
-#line 2644 "dhcp6_parser.cc"
+#line 2797 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 464:
-#line 1629 "dhcp6_parser.yy"
+ case 504:
+#line 1730 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2653 "dhcp6_parser.cc"
+#line 2806 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 469:
-#line 1644 "dhcp6_parser.yy"
+ case 509:
+#line 1745 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2663 "dhcp6_parser.cc"
+#line 2816 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 470:
-#line 1648 "dhcp6_parser.yy"
+ case 510:
+#line 1749 "dhcp6_parser.yy" // lalr1.cc:907
{
// The prefix, prefix len and delegated len parameters are required.
ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2675 "dhcp6_parser.cc"
+#line 2828 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 471:
-#line 1656 "dhcp6_parser.yy"
+ case 511:
+#line 1757 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the pd-pool list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2685 "dhcp6_parser.cc"
+#line 2838 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 472:
-#line 1660 "dhcp6_parser.yy"
+ case 512:
+#line 1761 "dhcp6_parser.yy" // lalr1.cc:907
{
// The prefix, prefix len and delegated len parameters are required.
ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2697 "dhcp6_parser.cc"
+#line 2850 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 486:
-#line 1685 "dhcp6_parser.yy"
+ case 526:
+#line 1786 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2705 "dhcp6_parser.cc"
+#line 2858 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 487:
-#line 1687 "dhcp6_parser.yy"
+ case 527:
+#line 1788 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefix", prf);
ctx.leave();
}
-#line 2715 "dhcp6_parser.cc"
+#line 2868 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 488:
-#line 1693 "dhcp6_parser.yy"
+ case 528:
+#line 1794 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefix-len", prf);
}
-#line 2724 "dhcp6_parser.cc"
+#line 2877 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 489:
-#line 1698 "dhcp6_parser.yy"
+ case 529:
+#line 1799 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2732 "dhcp6_parser.cc"
+#line 2885 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 490:
-#line 1700 "dhcp6_parser.yy"
+ case 530:
+#line 1801 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("excluded-prefix", prf);
ctx.leave();
}
-#line 2742 "dhcp6_parser.cc"
+#line 2895 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 491:
-#line 1706 "dhcp6_parser.yy"
+ case 531:
+#line 1807 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("excluded-prefix-len", prf);
}
-#line 2751 "dhcp6_parser.cc"
+#line 2904 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 492:
-#line 1711 "dhcp6_parser.yy"
+ case 532:
+#line 1812 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("delegated-len", deleg);
}
-#line 2760 "dhcp6_parser.cc"
+#line 2913 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 493:
-#line 1719 "dhcp6_parser.yy"
+ case 533:
+#line 1820 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reservations", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.RESERVATIONS);
}
-#line 2771 "dhcp6_parser.cc"
+#line 2924 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 494:
-#line 1724 "dhcp6_parser.yy"
+ case 534:
+#line 1825 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2780 "dhcp6_parser.cc"
+#line 2933 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 499:
-#line 1737 "dhcp6_parser.yy"
+ case 539:
+#line 1838 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2790 "dhcp6_parser.cc"
+#line 2943 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 500:
-#line 1741 "dhcp6_parser.yy"
+ case 540:
+#line 1842 "dhcp6_parser.yy" // lalr1.cc:907
{
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 2799 "dhcp6_parser.cc"
+#line 2952 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 501:
-#line 1746 "dhcp6_parser.yy"
+ case 541:
+#line 1847 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the reservations list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2809 "dhcp6_parser.cc"
+#line 2962 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 502:
-#line 1750 "dhcp6_parser.yy"
+ case 542:
+#line 1851 "dhcp6_parser.yy" // lalr1.cc:907
{
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 2818 "dhcp6_parser.cc"
+#line 2971 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 518:
-#line 1777 "dhcp6_parser.yy"
+ case 558:
+#line 1878 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-addresses", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2829 "dhcp6_parser.cc"
+#line 2982 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 519:
-#line 1782 "dhcp6_parser.yy"
+ case 559:
+#line 1883 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2838 "dhcp6_parser.cc"
+#line 2991 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 520:
-#line 1787 "dhcp6_parser.yy"
+ case 560:
+#line 1888 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefixes", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2849 "dhcp6_parser.cc"
+#line 3002 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 521:
-#line 1792 "dhcp6_parser.yy"
+ case 561:
+#line 1893 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2858 "dhcp6_parser.cc"
+#line 3011 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 522:
-#line 1797 "dhcp6_parser.yy"
+ case 562:
+#line 1898 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2866 "dhcp6_parser.cc"
+#line 3019 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 523:
-#line 1799 "dhcp6_parser.yy"
+ case 563:
+#line 1900 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("duid", d);
ctx.leave();
}
-#line 2876 "dhcp6_parser.cc"
+#line 3029 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 524:
-#line 1805 "dhcp6_parser.yy"
+ case 564:
+#line 1906 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2884 "dhcp6_parser.cc"
+#line 3037 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 525:
-#line 1807 "dhcp6_parser.yy"
+ case 565:
+#line 1908 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hw-address", hw);
ctx.leave();
}
-#line 2894 "dhcp6_parser.cc"
+#line 3047 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 526:
-#line 1813 "dhcp6_parser.yy"
+ case 566:
+#line 1914 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2902 "dhcp6_parser.cc"
+#line 3055 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 527:
-#line 1815 "dhcp6_parser.yy"
+ case 567:
+#line 1916 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname", host);
ctx.leave();
}
-#line 2912 "dhcp6_parser.cc"
+#line 3065 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 528:
-#line 1821 "dhcp6_parser.yy"
+ case 568:
+#line 1922 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2920 "dhcp6_parser.cc"
+#line 3073 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 529:
-#line 1823 "dhcp6_parser.yy"
+ case 569:
+#line 1924 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flex-id", hw);
ctx.leave();
}
-#line 2930 "dhcp6_parser.cc"
+#line 3083 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 530:
-#line 1829 "dhcp6_parser.yy"
+ case 570:
+#line 1930 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-classes", c);
ctx.stack_.push_back(c);
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2941 "dhcp6_parser.cc"
+#line 3094 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 531:
-#line 1834 "dhcp6_parser.yy"
+ case 571:
+#line 1935 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2950 "dhcp6_parser.cc"
+#line 3103 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 532:
-#line 1842 "dhcp6_parser.yy"
+ case 572:
+#line 1943 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("relay", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.RELAY);
}
-#line 2961 "dhcp6_parser.cc"
+#line 3114 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 533:
-#line 1847 "dhcp6_parser.yy"
+ case 573:
+#line 1948 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2970 "dhcp6_parser.cc"
+#line 3123 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 536:
-#line 1856 "dhcp6_parser.yy"
+ case 576:
+#line 1957 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2978 "dhcp6_parser.cc"
+#line 3131 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 537:
-#line 1858 "dhcp6_parser.yy"
+ case 577:
+#line 1959 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", addr);
ctx.leave();
}
-#line 2988 "dhcp6_parser.cc"
+#line 3141 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 538:
-#line 1867 "dhcp6_parser.yy"
+ case 578:
+#line 1968 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-classes", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.CLIENT_CLASSES);
}
-#line 2999 "dhcp6_parser.cc"
+#line 3152 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 539:
-#line 1872 "dhcp6_parser.yy"
+ case 579:
+#line 1973 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3008 "dhcp6_parser.cc"
+#line 3161 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 542:
-#line 1881 "dhcp6_parser.yy"
+ case 582:
+#line 1982 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3018 "dhcp6_parser.cc"
+#line 3171 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 543:
-#line 1885 "dhcp6_parser.yy"
+ case 583:
+#line 1986 "dhcp6_parser.yy" // lalr1.cc:907
{
// The name client class parameter is required.
ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 3028 "dhcp6_parser.cc"
+#line 3181 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 556:
-#line 1910 "dhcp6_parser.yy"
+ case 596:
+#line 2011 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3036 "dhcp6_parser.cc"
+#line 3189 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 557:
-#line 1912 "dhcp6_parser.yy"
+ case 597:
+#line 2013 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("test", test);
ctx.leave();
}
-#line 3046 "dhcp6_parser.cc"
+#line 3199 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 558:
-#line 1918 "dhcp6_parser.yy"
+ case 598:
+#line 2019 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("only-if-required", b);
}
-#line 3055 "dhcp6_parser.cc"
+#line 3208 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 559:
-#line 1926 "dhcp6_parser.yy"
+ case 599:
+#line 2027 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-id", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.SERVER_ID);
}
-#line 3066 "dhcp6_parser.cc"
+#line 3219 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 560:
-#line 1931 "dhcp6_parser.yy"
+ case 600:
+#line 2032 "dhcp6_parser.yy" // lalr1.cc:907
{
// The type parameter is required.
ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3077 "dhcp6_parser.cc"
+#line 3230 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 572:
-#line 1953 "dhcp6_parser.yy"
+ case 612:
+#line 2054 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.DUID_TYPE);
}
-#line 3085 "dhcp6_parser.cc"
+#line 3238 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 573:
-#line 1955 "dhcp6_parser.yy"
+ case 613:
+#line 2056 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3094 "dhcp6_parser.cc"
+#line 3247 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 574:
-#line 1960 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
-#line 3100 "dhcp6_parser.cc"
+ case 614:
+#line 2061 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
+#line 3253 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 575:
-#line 1961 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
-#line 3106 "dhcp6_parser.cc"
+ case 615:
+#line 2062 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
+#line 3259 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 576:
-#line 1962 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
-#line 3112 "dhcp6_parser.cc"
+ case 616:
+#line 2063 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
+#line 3265 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 577:
-#line 1965 "dhcp6_parser.yy"
+ case 617:
+#line 2066 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("htype", htype);
}
-#line 3121 "dhcp6_parser.cc"
+#line 3274 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 578:
-#line 1970 "dhcp6_parser.yy"
+ case 618:
+#line 2071 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3129 "dhcp6_parser.cc"
+#line 3282 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 579:
-#line 1972 "dhcp6_parser.yy"
+ case 619:
+#line 2073 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("identifier", id);
ctx.leave();
}
-#line 3139 "dhcp6_parser.cc"
+#line 3292 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 580:
-#line 1978 "dhcp6_parser.yy"
+ case 620:
+#line 2079 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("time", time);
}
-#line 3148 "dhcp6_parser.cc"
+#line 3301 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 581:
-#line 1983 "dhcp6_parser.yy"
+ case 621:
+#line 2084 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enterprise-id", time);
}
-#line 3157 "dhcp6_parser.cc"
+#line 3310 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 582:
-#line 1990 "dhcp6_parser.yy"
+ case 622:
+#line 2091 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp4o6-port", time);
}
-#line 3166 "dhcp6_parser.cc"
+#line 3319 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 583:
-#line 1997 "dhcp6_parser.yy"
+ case 623:
+#line 2098 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("control-socket", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.CONTROL_SOCKET);
}
-#line 3177 "dhcp6_parser.cc"
+#line 3330 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 584:
-#line 2002 "dhcp6_parser.yy"
+ case 624:
+#line 2103 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3186 "dhcp6_parser.cc"
+#line 3339 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 592:
-#line 2018 "dhcp6_parser.yy"
+ case 632:
+#line 2119 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3194 "dhcp6_parser.cc"
+#line 3347 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 593:
-#line 2020 "dhcp6_parser.yy"
+ case 633:
+#line 2121 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-type", stype);
ctx.leave();
}
-#line 3204 "dhcp6_parser.cc"
+#line 3357 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 594:
-#line 2026 "dhcp6_parser.yy"
+ case 634:
+#line 2127 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3212 "dhcp6_parser.cc"
+#line 3365 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 595:
-#line 2028 "dhcp6_parser.yy"
+ case 635:
+#line 2129 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-name", name);
ctx.leave();
}
-#line 3222 "dhcp6_parser.cc"
+#line 3375 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 596:
-#line 2036 "dhcp6_parser.yy"
+ case 636:
+#line 2137 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3230 "dhcp6_parser.cc"
+#line 3383 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 597:
-#line 2038 "dhcp6_parser.yy"
+ case 637:
+#line 2139 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr qc = yystack_[0].value.as < ElementPtr > ();
+ ElementPtr qc = yystack_[0].value.as< ElementPtr > ();
ctx.stack_.back()->set("dhcp-queue-control", qc);
// Doing this manually, because dhcp-queue-control
ctx.leave();
}
-#line 3270 "dhcp6_parser.cc"
+#line 3423 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 598:
-#line 2076 "dhcp6_parser.yy"
+ case 638:
+#line 2177 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp-ddns", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.DHCP_DDNS);
}
-#line 3281 "dhcp6_parser.cc"
+#line 3434 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 599:
-#line 2081 "dhcp6_parser.yy"
+ case 639:
+#line 2182 "dhcp6_parser.yy" // lalr1.cc:907
{
// The enable updates DHCP DDNS parameter is required.
ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3292 "dhcp6_parser.cc"
+#line 3445 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 600:
-#line 2088 "dhcp6_parser.yy"
+ case 640:
+#line 2189 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the dhcp-ddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3302 "dhcp6_parser.cc"
+#line 3455 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 601:
-#line 2092 "dhcp6_parser.yy"
+ case 641:
+#line 2193 "dhcp6_parser.yy" // lalr1.cc:907
{
// The enable updates DHCP DDNS parameter is required.
ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 3312 "dhcp6_parser.cc"
+#line 3465 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 622:
-#line 2122 "dhcp6_parser.yy"
+ case 662:
+#line 2223 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-updates", b);
}
-#line 3321 "dhcp6_parser.cc"
+#line 3474 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 623:
-#line 2127 "dhcp6_parser.yy"
+ case 663:
+#line 2228 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3329 "dhcp6_parser.cc"
+#line 3482 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 624:
-#line 2129 "dhcp6_parser.yy"
+ case 664:
+#line 2230 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("qualifying-suffix", s);
ctx.leave();
}
-#line 3339 "dhcp6_parser.cc"
+#line 3492 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 625:
-#line 2135 "dhcp6_parser.yy"
+ case 665:
+#line 2236 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3347 "dhcp6_parser.cc"
+#line 3500 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 626:
-#line 2137 "dhcp6_parser.yy"
+ case 666:
+#line 2238 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-ip", s);
ctx.leave();
}
-#line 3357 "dhcp6_parser.cc"
+#line 3510 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 627:
-#line 2143 "dhcp6_parser.yy"
+ case 667:
+#line 2244 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-port", i);
}
-#line 3366 "dhcp6_parser.cc"
+#line 3519 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 628:
-#line 2148 "dhcp6_parser.yy"
+ case 668:
+#line 2249 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3374 "dhcp6_parser.cc"
+#line 3527 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 629:
-#line 2150 "dhcp6_parser.yy"
+ case 669:
+#line 2251 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-ip", s);
ctx.leave();
}
-#line 3384 "dhcp6_parser.cc"
+#line 3537 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 630:
-#line 2156 "dhcp6_parser.yy"
+ case 670:
+#line 2257 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-port", i);
}
-#line 3393 "dhcp6_parser.cc"
+#line 3546 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 631:
-#line 2161 "dhcp6_parser.yy"
+ case 671:
+#line 2262 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3402 "dhcp6_parser.cc"
+#line 3555 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 632:
-#line 2166 "dhcp6_parser.yy"
+ case 672:
+#line 2267 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3410 "dhcp6_parser.cc"
+#line 3563 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 633:
-#line 2168 "dhcp6_parser.yy"
+ case 673:
+#line 2269 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3419 "dhcp6_parser.cc"
+#line 3572 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 634:
-#line 2174 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3425 "dhcp6_parser.cc"
+ case 674:
+#line 2275 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3578 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 635:
-#line 2175 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3431 "dhcp6_parser.cc"
+ case 675:
+#line 2276 "dhcp6_parser.yy" // lalr1.cc:907
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3584 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 636:
-#line 2178 "dhcp6_parser.yy"
+ case 676:
+#line 2279 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3439 "dhcp6_parser.cc"
+#line 3592 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 637:
-#line 2180 "dhcp6_parser.yy"
+ case 677:
+#line 2281 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
ctx.leave();
}
-#line 3449 "dhcp6_parser.cc"
+#line 3602 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 638:
-#line 2186 "dhcp6_parser.yy"
+ case 678:
+#line 2288 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-no-update", b);
}
-#line 3458 "dhcp6_parser.cc"
+#line 3611 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 639:
-#line 2191 "dhcp6_parser.yy"
+ case 679:
+#line 2294 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-client-update", b);
}
-#line 3467 "dhcp6_parser.cc"
+#line 3620 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 640:
-#line 2196 "dhcp6_parser.yy"
+ case 680:
+#line 2300 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3475 "dhcp6_parser.cc"
+#line 3628 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 641:
-#line 2198 "dhcp6_parser.yy"
+ case 681:
+#line 2302 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3484 "dhcp6_parser.cc"
- break;
-
- case 642:
-#line 2204 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
- }
-#line 3492 "dhcp6_parser.cc"
- break;
-
- case 643:
-#line 2207 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
- }
-#line 3500 "dhcp6_parser.cc"
- break;
-
- case 644:
-#line 2210 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
- }
-#line 3508 "dhcp6_parser.cc"
+#line 3637 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 645:
-#line 2213 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
- }
-#line 3516 "dhcp6_parser.cc"
- break;
-
- case 646:
-#line 2216 "dhcp6_parser.yy"
- {
- error(yystack_[0].location, "boolean values for the replace-client-name are "
- "no longer supported");
- }
-#line 3525 "dhcp6_parser.cc"
- break;
-
- case 647:
-#line 2222 "dhcp6_parser.yy"
+ case 682:
+#line 2308 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3533 "dhcp6_parser.cc"
+#line 3645 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 648:
-#line 2224 "dhcp6_parser.yy"
+ case 683:
+#line 2310 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("generated-prefix", s);
ctx.leave();
}
-#line 3543 "dhcp6_parser.cc"
+#line 3655 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 649:
-#line 2230 "dhcp6_parser.yy"
+ case 684:
+#line 2317 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3551 "dhcp6_parser.cc"
+#line 3663 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 650:
-#line 2232 "dhcp6_parser.yy"
+ case 685:
+#line 2319 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname-char-set", s);
ctx.leave();
}
-#line 3561 "dhcp6_parser.cc"
+#line 3673 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 651:
-#line 2238 "dhcp6_parser.yy"
+ case 686:
+#line 2326 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3569 "dhcp6_parser.cc"
+#line 3681 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 652:
-#line 2240 "dhcp6_parser.yy"
+ case 687:
+#line 2328 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname-char-replacement", s);
ctx.leave();
}
-#line 3579 "dhcp6_parser.cc"
+#line 3691 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 653:
-#line 2248 "dhcp6_parser.yy"
+ case 688:
+#line 2336 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3587 "dhcp6_parser.cc"
+#line 3699 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 654:
-#line 2250 "dhcp6_parser.yy"
+ case 689:
+#line 2338 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3596 "dhcp6_parser.cc"
+#line 3708 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 655:
-#line 2255 "dhcp6_parser.yy"
+ case 690:
+#line 2343 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3604 "dhcp6_parser.cc"
+#line 3716 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 656:
-#line 2257 "dhcp6_parser.yy"
+ case 691:
+#line 2345 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3613 "dhcp6_parser.cc"
+#line 3725 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 657:
-#line 2262 "dhcp6_parser.yy"
+ case 692:
+#line 2350 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3621 "dhcp6_parser.cc"
+#line 3733 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 658:
-#line 2264 "dhcp6_parser.yy"
+ case 693:
+#line 2352 "dhcp6_parser.yy" // lalr1.cc:907
{
- ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3630 "dhcp6_parser.cc"
+#line 3742 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 659:
-#line 2271 "dhcp6_parser.yy"
+ case 694:
+#line 2359 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("config-control", i);
ctx.stack_.push_back(i);
ctx.enter(ctx.CONFIG_CONTROL);
}
-#line 3641 "dhcp6_parser.cc"
+#line 3753 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 660:
-#line 2276 "dhcp6_parser.yy"
+ case 695:
+#line 2364 "dhcp6_parser.yy" // lalr1.cc:907
{
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3651 "dhcp6_parser.cc"
+#line 3763 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 661:
-#line 2282 "dhcp6_parser.yy"
+ case 696:
+#line 2370 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the config-control map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3661 "dhcp6_parser.cc"
+#line 3773 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 662:
-#line 2286 "dhcp6_parser.yy"
+ case 697:
+#line 2374 "dhcp6_parser.yy" // lalr1.cc:907
{
// No config_control params are required
// parsing completed
}
-#line 3670 "dhcp6_parser.cc"
+#line 3782 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 667:
-#line 2301 "dhcp6_parser.yy"
+ case 702:
+#line 2389 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("config-databases", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.CONFIG_DATABASE);
}
-#line 3681 "dhcp6_parser.cc"
+#line 3793 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 668:
-#line 2306 "dhcp6_parser.yy"
+ case 703:
+#line 2394 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3690 "dhcp6_parser.cc"
+#line 3802 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 669:
-#line 2311 "dhcp6_parser.yy"
+ case 704:
+#line 2399 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("config-fetch-wait-time", value);
}
-#line 3699 "dhcp6_parser.cc"
+#line 3811 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 670:
-#line 2321 "dhcp6_parser.yy"
+ case 705:
+#line 2409 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("Logging", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.LOGGING);
}
-#line 3710 "dhcp6_parser.cc"
+#line 3822 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 671:
-#line 2326 "dhcp6_parser.yy"
+ case 706:
+#line 2414 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3719 "dhcp6_parser.cc"
+#line 3831 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 672:
-#line 2331 "dhcp6_parser.yy"
+ case 707:
+#line 2419 "dhcp6_parser.yy" // lalr1.cc:907
{
// Parse the Logging map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3729 "dhcp6_parser.cc"
+#line 3841 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 673:
-#line 2335 "dhcp6_parser.yy"
+ case 708:
+#line 2423 "dhcp6_parser.yy" // lalr1.cc:907
{
// parsing completed
}
-#line 3737 "dhcp6_parser.cc"
+#line 3849 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 677:
-#line 2351 "dhcp6_parser.yy"
+ case 712:
+#line 2439 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("loggers", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.LOGGERS);
}
-#line 3748 "dhcp6_parser.cc"
+#line 3860 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 678:
-#line 2356 "dhcp6_parser.yy"
+ case 713:
+#line 2444 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3757 "dhcp6_parser.cc"
+#line 3869 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 681:
-#line 2368 "dhcp6_parser.yy"
+ case 716:
+#line 2456 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
ctx.stack_.push_back(l);
}
-#line 3767 "dhcp6_parser.cc"
+#line 3879 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 682:
-#line 2372 "dhcp6_parser.yy"
+ case 717:
+#line 2460 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
}
-#line 3775 "dhcp6_parser.cc"
+#line 3887 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 692:
-#line 2389 "dhcp6_parser.yy"
+ case 727:
+#line 2477 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 3784 "dhcp6_parser.cc"
+#line 3896 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 693:
-#line 2394 "dhcp6_parser.yy"
+ case 728:
+#line 2482 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3792 "dhcp6_parser.cc"
+#line 3904 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 694:
-#line 2396 "dhcp6_parser.yy"
+ case 729:
+#line 2484 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 3802 "dhcp6_parser.cc"
+#line 3914 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 695:
-#line 2402 "dhcp6_parser.yy"
+ case 730:
+#line 2490 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output_options", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.OUTPUT_OPTIONS);
}
-#line 3813 "dhcp6_parser.cc"
+#line 3925 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 696:
-#line 2407 "dhcp6_parser.yy"
+ case 731:
+#line 2495 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3822 "dhcp6_parser.cc"
+#line 3934 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 699:
-#line 2416 "dhcp6_parser.yy"
+ case 734:
+#line 2504 "dhcp6_parser.yy" // lalr1.cc:907
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3832 "dhcp6_parser.cc"
+#line 3944 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 700:
-#line 2420 "dhcp6_parser.yy"
+ case 735:
+#line 2508 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.stack_.pop_back();
}
-#line 3840 "dhcp6_parser.cc"
+#line 3952 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 708:
-#line 2435 "dhcp6_parser.yy"
+ case 743:
+#line 2523 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3848 "dhcp6_parser.cc"
+#line 3960 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 709:
-#line 2437 "dhcp6_parser.yy"
+ case 744:
+#line 2525 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 3858 "dhcp6_parser.cc"
+#line 3970 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 710:
-#line 2443 "dhcp6_parser.yy"
+ case 745:
+#line 2531 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
}
-#line 3867 "dhcp6_parser.cc"
+#line 3979 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 711:
-#line 2448 "dhcp6_parser.yy"
+ case 746:
+#line 2536 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
}
-#line 3876 "dhcp6_parser.cc"
+#line 3988 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 712:
-#line 2453 "dhcp6_parser.yy"
+ case 747:
+#line 2541 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
-#line 3885 "dhcp6_parser.cc"
+#line 3997 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 713:
-#line 2458 "dhcp6_parser.yy"
+ case 748:
+#line 2546 "dhcp6_parser.yy" // lalr1.cc:907
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3893 "dhcp6_parser.cc"
+#line 4005 "dhcp6_parser.cc" // lalr1.cc:907
break;
- case 714:
-#line 2460 "dhcp6_parser.yy"
+ case 749:
+#line 2548 "dhcp6_parser.yy" // lalr1.cc:907
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pattern", sev);
ctx.leave();
}
-#line 3903 "dhcp6_parser.cc"
+#line 4015 "dhcp6_parser.cc" // lalr1.cc:907
break;
-#line 3907 "dhcp6_parser.cc"
-
+#line 4019 "dhcp6_parser.cc" // lalr1.cc:907
default:
break;
}
#if YY_EXCEPTIONS
catch (const syntax_error& yyexc)
{
- YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
error (yyexc);
YYERROR;
}
}
goto yynewstate;
-
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
- /* Pacify compilers when the user code never invokes YYERROR and
- the label yyerrorlab therefore never appears in user code. */
- if (false)
- YYERROR;
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (false)
+ goto yyerrorlab;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
yypop_ (yylen);
yylen = 0;
goto yyerrlab1;
-
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
}
goto yynewstate;
-
- /*-------------------------------------.
- | yyacceptlab -- YYACCEPT comes here. |
- `-------------------------------------*/
+ // Accept.
yyacceptlab:
yyresult = 0;
goto yyreturn;
-
- /*-----------------------------------.
- | yyabortlab -- YYABORT comes here. |
- `-----------------------------------*/
+ // Abort.
yyabortlab:
yyresult = 1;
goto yyreturn;
-
- /*-----------------------------------------------------.
- | yyreturn -- parsing is finished, return the result. |
- `-----------------------------------------------------*/
yyreturn:
if (!yyla.empty ())
yy_destroy_ ("Cleanup: discarding lookahead", yyla);
}
- const short Dhcp6Parser::yypact_ninf_ = -878;
+ const short Dhcp6Parser::yypact_ninf_ = -921;
const signed char Dhcp6Parser::yytable_ninf_ = -1;
const short
Dhcp6Parser::yypact_[] =
{
- 519, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, 39, 70, 52, 69,
- 78, 134, 183, 185, 192, 193, 194, 201, 208, 220,
- 227, 250, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, 70, -137, 30, 79, 41, 435, 81, 164,
- 268, 24, 43, 275, -67, 463, -48, 153, -878, 154,
- 190, 254, 251, 262, -878, -878, -878, -878, -878, 265,
- -878, 75, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, 278, 279, 285, 311, 315, 327,
- 328, 329, 337, 338, 363, 371, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, 375, -878, -878, -878, -878, -878, -878,
- -878, 114, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, 381, -878, 170, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, 390,
- 391, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, 186, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, 206, -878,
- -878, -878, -878, -878, 399, -878, 401, 403, -878, -878,
- -878, -878, -878, -878, 213, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, 260, 319, -878, -878, -878, -878, -878, -878,
- -878, -878, 350, -878, -878, 405, -878, -878, -878, 408,
- -878, -878, 370, 384, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, 413, 415, -878,
- -878, -878, -878, 414, 395, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, 244, -878, -878,
- -878, 420, -878, -878, 422, -878, 423, 425, -878, -878,
- 426, 437, -878, -878, -878, -878, -878, 258, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, 306, -878, -878, -878, 438, 308,
- -878, -878, -878, -878, 70, 70, -878, 261, 439, 444,
- 445, 446, 458, -878, 30, -878, 462, 466, 467, 469,
- 470, 471, 283, 292, 293, 307, 312, 313, 314, 316,
- 304, 317, 323, 321, 488, 489, 491, 495, 497, 499,
- 503, 505, 506, 507, 516, 517, 518, 520, 521, 522,
- 523, 339, 524, 525, 526, 528, 529, 532, 79, -878,
- 533, 352, 41, -878, 535, 539, 540, 541, 542, 364,
- 361, 545, 546, 547, 435, -878, 548, 81, -878, 549,
- 372, 550, 376, 377, 164, -878, 551, 554, 555, 558,
- 559, 561, 562, -878, 268, -878, 563, 564, 386, 565,
- 567, 568, 387, -878, 43, 573, 392, 393, -878, 275,
- 576, 577, 4, -878, 396, 580, 582, 407, 583, 410,
- 411, 608, 610, 397, 433, 616, 617, 463, -878, -48,
- -878, 618, 456, 153, -878, -878, -878, 637, 635, 636,
- 70, 70, 70, -878, 461, 638, 640, 641, 642, 645,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, 468, 647, 648, 649, 651, 472, 158, 656,
- 660, 661, 662, 663, 664, 666, 667, 669, 670, -878,
- 672, 651, 673, 485, 490, 676, -878, 677, -878, -878,
- 678, 680, 527, 530, 531, -878, -878, 677, 534, 695,
- -878, 536, -878, 537, -878, 538, -878, -878, -878, 677,
- 677, 677, 543, 544, 552, 553, -878, 556, 557, -878,
- 560, 566, 569, -878, -878, 570, -878, -878, -878, 571,
- 70, -878, -878, 572, 574, -878, 575, -878, -878, 29,
- 581, -878, -878, -2, 578, -878, -878, 698, -878, -878,
- 70, 79, -48, -878, -878, -878, -878, 153, 41, 264,
- 264, 697, -878, 699, 700, 701, -878, -878, -878, -878,
- -878, -878, -878, -878, 702, -38, 70, -34, 611, 704,
- 705, 708, 159, 125, 35, -878, 463, -878, -878, 709,
- -878, -878, 711, 715, -878, -878, -878, -878, -878, -56,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, 697, -878, 309, 310, 318, 320, -878, -878,
- -878, -878, 719, 720, 721, 724, 726, -878, 727, 728,
- -878, -878, -878, 729, 730, 733, 734, -878, 322, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- 326, -878, 668, 738, -878, -878, 736, 741, -878, -878,
- 739, 743, -878, -878, 742, 744, -878, -878, 745, 747,
- -878, -878, -878, 83, -878, -878, -878, 750, -878, -878,
- -878, 90, -878, -878, -878, -878, 340, -878, -878, -878,
- 101, -878, -878, 753, 757, -878, -878, 758, 760, -878,
- 761, 762, 763, 764, 765, 766, 341, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, 767, 768, 769, -878,
- -878, -878, -878, 347, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, 348, -878, -878, -878, 351,
- -878, 136, -878, 591, -878, 770, 772, -878, -878, 771,
- 775, -878, -878, -878, 773, -878, 774, -878, -878, -878,
- -878, 778, 779, 780, 781, 595, 600, 603, 602, 605,
- 786, 607, 609, 788, 790, 791, 612, 613, 614, 615,
- 264, -878, -878, 264, -878, 697, 435, -878, 699, 43,
- -878, 700, 275, -878, 701, 579, -878, 702, -38, -878,
- -878, -34, -878, 794, 611, -878, 84, 704, -878, 268,
- -878, 705, -67, -878, 708, 619, 620, 621, 622, 623,
- 624, 159, -878, 797, 798, 625, 626, 627, 125, -878,
- 808, 809, 35, -878, -878, 127, 709, -878, -878, 810,
- 811, 81, -878, 711, 164, -878, 715, 813, -878, -878,
- 256, 632, 644, 646, -878, -878, -878, -878, -878, 654,
- -878, -878, 657, 658, 671, -878, -878, -878, -878, -878,
- 354, -878, 357, -878, 812, -878, 815, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, 358, -878,
- -878, -878, -878, -878, -878, -878, -878, 674, -878, -878,
- 814, -878, -878, -878, -878, -878, 816, 818, -878, -878,
- -878, -878, -878, 822, -878, 373, -878, -878, -878, -878,
- -878, -878, -878, -878, 32, 679, -878, -878, -878, -878,
- 689, 692, -878, -878, 828, -878, -878, -878, -878, -878,
- 374, -878, -878, -878, -878, -878, -878, 703, 383, -878,
- 385, -878, 714, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, 579,
- -878, -878, 835, 633, -878, 84, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, 840, 718, 847, 127, -878,
- -878, -878, -878, -878, -878, 722, -878, -878, 848, -878,
- 735, -878, -878, 897, -878, -878, 180, -878, 67, 897,
- -878, -878, 851, 903, 906, -878, 394, -878, -878, -878,
- -878, -878, -878, -878, 913, 740, 737, 746, 915, 67,
- -878, 748, -878, -878, -878, 749, -878, -878, -878
+ 197, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, 41, 43, 73, 85,
+ 87, 97, 101, 145, 206, 208, 220, 221, 232, 247,
+ 259, 268, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, 43, -130, 25, 111, 27, 621, 135, 178,
+ 181, 157, 66, 261, 4, 409, -89, 123, -921, 236,
+ 274, 282, 279, 292, -921, -921, -921, -921, -921, 293,
+ -921, 37, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, 294, 315, 319, 322, 362, 393,
+ 402, 403, 405, 412, 413, 415, -921, 416, 417, 419,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, 421,
+ -921, -921, -921, -921, -921, -921, -921, 48, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, 423, -921,
+ 92, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, 426, 427, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, 125, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, 140, -921,
+ -921, -921, -921, -921, 428, -921, 429, 430, -921, -921,
+ -921, -921, -921, -921, 177, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, 357, 384, -921, -921, -921, -921, -921, -921,
+ -921, -921, 431, -921, -921, 433, -921, -921, -921, 436,
+ -921, -921, 434, 410, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, 437, 443, -921,
+ -921, -921, -921, 445, 432, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, 260, -921, -921,
+ -921, 450, -921, -921, 453, -921, 454, 455, -921, -921,
+ 456, 464, -921, -921, -921, -921, -921, -921, -921, 264,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, 273, -921, -921, -921,
+ 465, 291, -921, -921, -921, -921, 43, 43, -921, 283,
+ 469, 470, 471, 472, 476, -921, 25, -921, 480, 481,
+ 482, 484, 486, 496, 313, 314, 320, 323, 325, 326,
+ 327, 329, 328, 316, 318, 331, 501, 332, 334, 335,
+ 524, 525, 527, 529, 530, 531, 532, 533, 534, 535,
+ 536, 537, 538, 539, 540, 557, 558, 559, 560, 375,
+ 562, 563, 566, 567, 568, 569, 111, -921, 570, 388,
+ 27, -921, 571, 572, 573, 574, 575, 391, 390, 579,
+ 580, 581, 621, -921, 582, 135, -921, 583, 398, 585,
+ 400, 401, 178, -921, 588, 589, 590, 592, 593, 595,
+ 596, -921, 181, -921, 597, 599, 414, 601, 602, 603,
+ 418, -921, 66, 604, 420, 422, -921, 261, 607, 609,
+ 75, -921, 424, 611, 613, 435, 614, 438, 439, 615,
+ 617, 440, 441, 618, 619, 620, 622, 409, -921, -89,
+ -921, 623, 444, 123, -921, -921, -921, 626, 624, 630,
+ 43, 43, 43, -921, 451, 632, 635, 636, 637, 640,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, 457, -921, -921, -921, -11, 458, 459, 644,
+ 645, 646, 648, 463, -10, 652, 653, 654, 655, 657,
+ 671, 672, 679, 678, 680, -921, 681, 648, 682, 473,
+ 502, 685, -921, 687, -921, -921, 688, 694, 511, 512,
+ 513, -921, -921, 687, 514, 705, -921, 526, -921, 528,
+ -921, 541, -921, -921, -921, 687, 687, 687, 542, 543,
+ 544, 546, -921, 547, 548, -921, 549, 550, 551, -921,
+ -921, 552, -921, -921, -921, 553, 43, -921, -921, 554,
+ 555, -921, 556, -921, -921, 126, 564, -921, -921, -11,
+ 584, 586, 587, -921, -921, 708, -921, -921, 43, 111,
+ -89, -921, -921, -921, -921, 123, 27, 275, 275, 707,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, 709,
+ 712, 713, -921, -921, -921, -921, -921, -921, -921, -921,
+ 714, -75, 43, 15, 625, 715, 717, 721, 214, 58,
+ 95, -921, 409, -921, -921, 722, -921, -921, 739, 740,
+ -921, -921, -921, -921, -921, -65, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, 707, -921, 317, 340, 343,
+ 344, -921, -921, -921, -921, 755, 756, 764, 767, 768,
+ -921, 770, 773, -921, -921, -921, 774, 775, 778, 779,
+ -921, 346, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, 347, -921, 780, 781, -921, -921, 783,
+ 782, -921, -921, 786, 792, -921, -921, 790, 794, -921,
+ -921, 793, 795, -921, -921, -921, 52, -921, -921, -921,
+ 796, -921, -921, -921, 63, -921, -921, -921, -921, 350,
+ -921, -921, -921, 99, -921, -921, 797, 798, -921, -921,
+ 799, 801, -921, 803, 804, 807, 808, 809, 810, 353,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, 811,
+ 812, 814, -921, -921, -921, -921, 354, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, 360, -921,
+ -921, -921, 361, -921, 109, -921, 631, -921, 813, 818,
+ -921, -921, 816, 820, -921, -921, -921, 817, -921, 821,
+ -921, -921, -921, -921, 822, 824, 825, 826, 610, 639,
+ 634, 641, 642, 830, 647, 649, 831, 832, 834, 650,
+ 651, 656, 659, 275, -921, -921, 275, -921, 707, 621,
+ -921, 709, 66, -921, 712, 261, -921, 713, 704, -921,
+ 714, -75, -921, -921, 15, -921, 838, 625, -921, 256,
+ 715, -921, 181, -921, 717, 4, -921, 721, 660, 661,
+ 662, 663, 664, 665, 214, -921, 839, 840, 666, 667,
+ 668, 58, -921, 841, 842, 95, -921, -921, -12, 722,
+ -921, -921, 853, 844, 135, -921, 739, 178, -921, 740,
+ 856, -921, -921, 228, 673, 677, 683, -921, -921, -921,
+ -921, -921, 684, -921, -921, 686, 691, 693, -921, -921,
+ -921, -921, -921, 383, -921, 385, -921, 859, -921, 862,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, 386,
+ -921, -921, -921, -921, -921, -921, -921, -921, 695, -921,
+ -921, 857, -921, -921, -921, -921, -921, 879, 891, -921,
+ -921, -921, -921, -921, 887, -921, 387, -921, -921, -921,
+ -921, -921, -921, -921, -921, 56, 711, -921, -921, -921,
+ -921, 716, 723, -921, -921, 893, -921, -921, -921, -921,
+ -921, 395, -921, -921, -921, -921, -921, -921, 726, 396,
+ -921, 397, -921, 727, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ 704, -921, -921, 894, 729, -921, 256, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, 900, 736, 930, -12,
+ -921, -921, -921, -921, -921, -921, 746, -921, -921, 932,
+ -921, 750, -921, -921, 936, -921, -921, 235, -921, 35,
+ 936, -921, -921, 942, 946, 950, -921, 407, -921, -921,
+ -921, -921, -921, -921, -921, 972, 789, 800, 802, 979,
+ 35, -921, 806, -921, -921, -921, 815, -921, -921, -921
};
const unsigned short
20, 22, 24, 26, 28, 30, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 47, 40, 36, 35, 32, 33, 34,
- 39, 3, 37, 38, 60, 5, 72, 7, 137, 9,
- 286, 11, 446, 13, 471, 15, 501, 17, 371, 19,
- 379, 21, 416, 23, 251, 25, 600, 27, 672, 29,
- 661, 31, 49, 43, 0, 0, 0, 0, 0, 0,
- 503, 0, 381, 418, 0, 0, 0, 0, 51, 0,
- 50, 0, 0, 44, 70, 670, 653, 655, 657, 0,
- 69, 0, 62, 64, 66, 67, 68, 65, 119, 659,
- 135, 149, 151, 153, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 133, 278, 369, 408,
- 459, 461, 327, 335, 224, 241, 232, 217, 538, 493,
- 243, 262, 559, 0, 583, 596, 598, 649, 651, 677,
- 118, 0, 74, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 112, 113, 114, 85, 110, 88, 89, 90,
- 91, 107, 92, 94, 93, 98, 99, 86, 111, 87,
- 96, 97, 105, 106, 108, 95, 100, 101, 102, 103,
- 104, 116, 117, 109, 115, 146, 0, 145, 0, 139,
- 141, 142, 143, 144, 438, 463, 317, 319, 321, 0,
- 0, 325, 323, 532, 316, 290, 291, 292, 293, 294,
- 295, 296, 297, 313, 314, 315, 0, 288, 301, 302,
- 303, 306, 307, 309, 304, 305, 298, 299, 311, 312,
- 300, 308, 310, 457, 456, 452, 453, 451, 0, 448,
- 450, 454, 455, 486, 0, 489, 0, 0, 485, 479,
- 480, 478, 483, 484, 0, 473, 475, 476, 481, 482,
- 477, 530, 518, 520, 522, 524, 526, 528, 517, 514,
- 515, 516, 0, 504, 505, 509, 510, 507, 511, 512,
- 513, 508, 0, 398, 197, 0, 402, 400, 405, 0,
- 394, 395, 0, 382, 383, 385, 397, 386, 387, 388,
- 404, 389, 390, 391, 392, 393, 432, 0, 0, 430,
- 431, 434, 435, 0, 419, 420, 422, 423, 424, 425,
- 426, 427, 428, 429, 258, 260, 255, 0, 253, 256,
- 257, 0, 623, 625, 0, 628, 0, 0, 632, 636,
- 0, 0, 640, 647, 621, 619, 620, 0, 602, 604,
- 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
- 615, 616, 617, 618, 0, 674, 676, 667, 0, 0,
- 663, 665, 666, 48, 0, 0, 41, 0, 0, 0,
- 0, 0, 0, 59, 0, 61, 0, 0, 0, 0,
+ 39, 3, 37, 38, 60, 5, 72, 7, 161, 9,
+ 310, 11, 486, 13, 511, 15, 541, 17, 411, 19,
+ 419, 21, 456, 23, 275, 25, 640, 27, 707, 29,
+ 696, 31, 49, 43, 0, 0, 0, 0, 0, 0,
+ 543, 0, 421, 458, 0, 0, 0, 0, 51, 0,
+ 50, 0, 0, 44, 70, 705, 688, 690, 692, 0,
+ 69, 0, 62, 64, 66, 67, 68, 65, 125, 694,
+ 159, 173, 175, 177, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 157, 0, 0, 0,
+ 142, 149, 151, 302, 409, 448, 499, 501, 359, 367,
+ 248, 265, 256, 241, 578, 533, 267, 286, 599, 0,
+ 623, 636, 638, 153, 155, 712, 124, 0, 74, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 112, 113,
+ 114, 85, 118, 119, 120, 121, 122, 123, 116, 117,
+ 110, 88, 89, 90, 91, 107, 92, 94, 93, 98,
+ 99, 86, 111, 87, 96, 97, 105, 106, 108, 95,
+ 100, 101, 102, 103, 104, 109, 115, 170, 0, 169,
+ 0, 163, 165, 166, 167, 168, 478, 503, 349, 351,
+ 353, 0, 0, 357, 355, 572, 348, 314, 315, 316,
+ 317, 318, 319, 320, 321, 337, 338, 339, 342, 343,
+ 344, 345, 346, 347, 340, 341, 0, 312, 325, 326,
+ 327, 330, 331, 333, 328, 329, 322, 323, 335, 336,
+ 324, 332, 334, 497, 496, 492, 493, 491, 0, 488,
+ 490, 494, 495, 526, 0, 529, 0, 0, 525, 519,
+ 520, 518, 523, 524, 0, 513, 515, 516, 521, 522,
+ 517, 570, 558, 560, 562, 564, 566, 568, 557, 554,
+ 555, 556, 0, 544, 545, 549, 550, 547, 551, 552,
+ 553, 548, 0, 438, 221, 0, 442, 440, 445, 0,
+ 434, 435, 0, 422, 423, 425, 437, 426, 427, 428,
+ 444, 429, 430, 431, 432, 433, 472, 0, 0, 470,
+ 471, 474, 475, 0, 459, 460, 462, 463, 464, 465,
+ 466, 467, 468, 469, 282, 284, 279, 0, 277, 280,
+ 281, 0, 663, 665, 0, 668, 0, 0, 672, 676,
+ 0, 0, 680, 682, 684, 686, 661, 659, 660, 0,
+ 642, 644, 645, 646, 647, 648, 649, 650, 651, 652,
+ 653, 654, 655, 656, 657, 658, 0, 709, 711, 702,
+ 0, 0, 698, 700, 701, 48, 0, 0, 41, 0,
+ 0, 0, 0, 0, 0, 59, 0, 61, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
- 0, 0, 0, 138, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 287, 0, 0, 447, 0,
- 0, 0, 0, 0, 0, 472, 0, 0, 0, 0,
- 0, 0, 0, 502, 0, 372, 0, 0, 0, 0,
- 0, 0, 0, 380, 0, 0, 0, 0, 417, 0,
- 0, 0, 0, 252, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 601, 0,
- 673, 0, 0, 0, 662, 52, 45, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 73, 0, 0,
+ 0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 311, 0, 0, 487, 0, 0, 0,
+ 0, 0, 0, 512, 0, 0, 0, 0, 0, 0,
+ 0, 542, 0, 412, 0, 0, 0, 0, 0, 0,
+ 0, 420, 0, 0, 0, 0, 457, 0, 0, 0,
+ 0, 276, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 641, 0,
+ 708, 0, 0, 0, 697, 52, 45, 0, 0, 0,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 582,
- 0, 0, 0, 0, 0, 0, 75, 0, 148, 140,
- 0, 0, 0, 0, 0, 333, 334, 0, 0, 0,
- 289, 0, 449, 0, 488, 0, 491, 492, 474, 0,
- 0, 0, 0, 0, 0, 0, 506, 0, 0, 396,
- 0, 0, 0, 407, 384, 0, 436, 437, 421, 0,
- 0, 254, 622, 0, 0, 627, 0, 630, 631, 0,
- 0, 638, 639, 0, 0, 603, 675, 0, 669, 664,
- 0, 0, 0, 654, 656, 658, 120, 0, 0, 0,
- 0, 155, 134, 280, 373, 410, 42, 460, 462, 329,
- 330, 331, 332, 328, 337, 0, 49, 0, 0, 0,
- 495, 245, 0, 0, 0, 597, 0, 650, 652, 0,
- 53, 147, 440, 465, 318, 320, 322, 326, 324, 0,
- 458, 487, 490, 531, 519, 521, 523, 525, 527, 529,
- 399, 198, 403, 401, 406, 433, 259, 261, 624, 626,
- 629, 634, 635, 633, 637, 642, 643, 644, 645, 646,
- 641, 648, 155, 46, 0, 0, 0, 0, 184, 190,
- 192, 194, 0, 0, 0, 0, 0, 208, 0, 0,
- 211, 213, 215, 0, 0, 0, 0, 183, 0, 161,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 175, 182, 176, 177, 178, 173, 174, 179, 180, 181,
- 0, 159, 0, 156, 157, 284, 0, 281, 282, 377,
- 0, 374, 375, 414, 0, 411, 412, 341, 0, 338,
- 339, 230, 231, 0, 226, 228, 229, 0, 239, 240,
- 236, 0, 234, 237, 238, 222, 0, 219, 221, 542,
- 0, 540, 499, 0, 496, 497, 249, 0, 246, 247,
- 0, 0, 0, 0, 0, 0, 0, 264, 266, 267,
- 268, 269, 270, 271, 572, 578, 0, 0, 0, 571,
- 568, 569, 570, 0, 561, 563, 566, 564, 565, 567,
- 592, 594, 591, 589, 590, 0, 585, 587, 588, 0,
- 681, 0, 679, 55, 444, 0, 441, 442, 469, 0,
- 466, 467, 536, 535, 0, 534, 0, 71, 671, 660,
- 136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 0, 139, 140, 141, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 622, 0, 0, 0, 0,
+ 0, 0, 75, 0, 172, 164, 0, 0, 0, 0,
+ 0, 365, 366, 0, 0, 0, 313, 0, 489, 0,
+ 528, 0, 531, 532, 514, 0, 0, 0, 0, 0,
+ 0, 0, 546, 0, 0, 436, 0, 0, 0, 447,
+ 424, 0, 476, 477, 461, 0, 0, 278, 662, 0,
+ 0, 667, 0, 670, 671, 0, 0, 678, 679, 0,
+ 0, 0, 0, 643, 710, 0, 704, 699, 0, 0,
+ 0, 689, 691, 693, 126, 0, 0, 0, 0, 179,
+ 158, 144, 145, 146, 147, 148, 143, 150, 152, 304,
+ 413, 450, 42, 500, 502, 361, 362, 363, 364, 360,
+ 369, 0, 49, 0, 0, 0, 535, 269, 0, 0,
+ 0, 637, 0, 154, 156, 0, 53, 171, 480, 505,
+ 350, 352, 354, 358, 356, 0, 498, 527, 530, 571,
+ 559, 561, 563, 565, 567, 569, 439, 222, 443, 441,
+ 446, 473, 283, 285, 664, 666, 669, 674, 675, 673,
+ 677, 681, 683, 685, 687, 179, 46, 0, 0, 0,
+ 0, 208, 214, 216, 218, 0, 0, 0, 0, 0,
+ 232, 0, 0, 235, 237, 239, 0, 0, 0, 0,
+ 207, 0, 185, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 199, 206, 200, 201, 202, 197, 198,
+ 203, 204, 205, 0, 183, 0, 180, 181, 308, 0,
+ 305, 306, 417, 0, 414, 415, 454, 0, 451, 452,
+ 373, 0, 370, 371, 254, 255, 0, 250, 252, 253,
+ 0, 263, 264, 260, 0, 258, 261, 262, 246, 0,
+ 243, 245, 582, 0, 580, 539, 0, 536, 537, 273,
+ 0, 270, 271, 0, 0, 0, 0, 0, 0, 0,
+ 288, 290, 291, 292, 293, 294, 295, 612, 618, 0,
+ 0, 0, 611, 608, 609, 610, 0, 601, 603, 606,
+ 604, 605, 607, 632, 634, 631, 629, 630, 0, 625,
+ 627, 628, 0, 716, 0, 714, 55, 484, 0, 481,
+ 482, 509, 0, 506, 507, 576, 575, 0, 574, 0,
+ 71, 706, 695, 160, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 150, 152, 0, 154, 0, 0, 279, 0, 381,
- 370, 0, 418, 409, 0, 0, 336, 0, 0, 225,
- 242, 0, 233, 0, 0, 218, 544, 0, 539, 503,
- 494, 0, 0, 244, 0, 0, 0, 0, 0, 0,
- 0, 0, 263, 0, 0, 0, 0, 0, 0, 560,
- 0, 0, 0, 584, 599, 0, 0, 678, 57, 0,
- 56, 0, 439, 0, 0, 464, 0, 0, 533, 668,
- 0, 0, 0, 0, 196, 199, 200, 201, 202, 0,
- 210, 203, 0, 0, 0, 205, 206, 207, 204, 162,
- 0, 158, 0, 283, 0, 376, 0, 413, 368, 356,
- 357, 358, 360, 361, 362, 349, 350, 365, 366, 367,
- 345, 346, 347, 348, 354, 355, 353, 359, 0, 343,
- 351, 363, 364, 352, 340, 227, 235, 0, 220, 556,
- 0, 554, 555, 551, 552, 553, 0, 545, 546, 548,
- 549, 550, 541, 0, 498, 0, 248, 272, 273, 274,
- 275, 276, 277, 265, 0, 0, 577, 580, 581, 562,
- 0, 0, 586, 695, 0, 693, 691, 685, 689, 690,
- 0, 683, 687, 688, 686, 680, 54, 0, 0, 443,
- 0, 468, 0, 186, 187, 188, 189, 185, 191, 193,
- 195, 209, 212, 214, 216, 160, 285, 378, 415, 0,
- 342, 223, 0, 0, 543, 0, 500, 250, 574, 575,
- 576, 573, 579, 593, 595, 0, 0, 0, 0, 682,
- 58, 445, 470, 537, 344, 0, 558, 547, 0, 692,
- 0, 684, 557, 0, 694, 699, 0, 697, 0, 0,
- 696, 708, 0, 0, 0, 713, 0, 701, 703, 704,
- 705, 706, 707, 698, 0, 0, 0, 0, 0, 0,
- 700, 0, 710, 711, 712, 0, 702, 709, 714
+ 0, 0, 0, 0, 174, 176, 0, 178, 0, 0,
+ 303, 0, 421, 410, 0, 458, 449, 0, 0, 368,
+ 0, 0, 249, 266, 0, 257, 0, 0, 242, 584,
+ 0, 579, 543, 534, 0, 0, 268, 0, 0, 0,
+ 0, 0, 0, 0, 0, 287, 0, 0, 0, 0,
+ 0, 0, 600, 0, 0, 0, 624, 639, 0, 0,
+ 713, 57, 0, 56, 0, 479, 0, 0, 504, 0,
+ 0, 573, 703, 0, 0, 0, 0, 220, 223, 224,
+ 225, 226, 0, 234, 227, 0, 0, 0, 229, 230,
+ 231, 228, 186, 0, 182, 0, 307, 0, 416, 0,
+ 453, 408, 388, 389, 390, 392, 393, 394, 381, 382,
+ 397, 398, 399, 402, 403, 404, 405, 406, 407, 400,
+ 401, 377, 378, 379, 380, 386, 387, 385, 391, 0,
+ 375, 383, 395, 396, 384, 372, 251, 259, 0, 244,
+ 596, 0, 594, 595, 591, 592, 593, 0, 585, 586,
+ 588, 589, 590, 581, 0, 538, 0, 272, 296, 297,
+ 298, 299, 300, 301, 289, 0, 0, 617, 620, 621,
+ 602, 0, 0, 626, 730, 0, 728, 726, 720, 724,
+ 725, 0, 718, 722, 723, 721, 715, 54, 0, 0,
+ 483, 0, 508, 0, 210, 211, 212, 213, 209, 215,
+ 217, 219, 233, 236, 238, 240, 184, 309, 418, 455,
+ 0, 374, 247, 0, 0, 583, 0, 540, 274, 614,
+ 615, 616, 613, 619, 633, 635, 0, 0, 0, 0,
+ 717, 58, 485, 510, 577, 376, 0, 598, 587, 0,
+ 727, 0, 719, 597, 0, 729, 734, 0, 732, 0,
+ 0, 731, 743, 0, 0, 0, 748, 0, 736, 738,
+ 739, 740, 741, 742, 733, 0, 0, 0, 0, 0,
+ 0, 735, 0, 745, 746, 747, 0, 737, 744, 749
};
const short
Dhcp6Parser::yypgoto_[] =
{
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, 54, -878, -480,
- -878, 366, -878, -878, -878, -878, 272, -878, -489, -878,
- -878, -878, -74, -878, -878, -878, 584, -878, -878, -878,
- -878, 298, 496, -878, -878, -70, -46, -40, -36, -22,
- -17, -14, 3, 7, 10, 15, -878, -878, -878, -878,
- -878, -878, -878, 295, 493, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, 224, -878, 42, -878, -622, 48,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -21, -878, -650, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, 25, -878, -878, -878, -878, -878, 33,
- -641, -878, -878, -878, -878, 31, -878, -878, -878, -878,
- -878, -878, -878, -878, 20, -878, -878, -878, 23, 455,
- -878, -878, -878, -878, -878, -878, -878, 17, -878, -878,
- -878, -878, -878, -878, -877, -878, -878, -878, 53, -878,
- -878, -878, 56, 500, -878, -878, -872, -878, -870, -878,
- -11, -878, -5, -878, 18, -878, -878, -878, -869, -878,
- -878, -878, -878, 46, -878, -878, -139, 874, -878, -878,
- -878, -878, -878, 55, -878, -878, -878, 58, -878, 474,
- -878, -69, -878, -878, -878, -878, -878, -66, -878, -878,
- -878, -878, -878, -58, -878, -878, -878, 57, -878, -878,
- -878, 60, -878, 475, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, 6, -878, -878, -878, 9,
- 508, -878, -878, -53, -878, -29, -878, -878, -878, -878,
- -878, 11, -878, -878, -878, 12, 504, -878, -878, -878,
- -878, -878, -878, -878, -62, -878, -878, -878, 49, -878,
- -878, -878, 44, -878, 498, 290, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -867,
- -878, -878, -878, -878, -878, -878, -878, 59, -878, -878,
- -878, -124, -878, -878, -878, -878, -878, -878, -878, 36,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, 37, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, 324, 473, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, -878, -878, -878, -878, -878, -878, -73, -878, -51,
- -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
- -878, 336, 464, -878, -878, -878, -878, -878, -878, -878,
- 343, 476, -44, -878, -878, 38, -878, -878, -127, -878,
- -878, -878, -878, -878, -878, -147, -878, -878, -166, -878,
- -878, -878, -878, -878, -878, -878
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -5, -921, -544,
+ -921, 392, -921, -921, -921, -921, 285, -921, -528, -921,
+ -921, -921, -74, -921, -921, -921, 577, -921, -921, -921,
+ -921, 330, 519, -921, -921, -70, -58, -38, -31, -30,
+ -20, -17, 1, 9, 12, 13, -921, 14, 16, 19,
+ 24, -921, 337, 26, -921, 29, -921, 30, -921, 32,
+ -921, -921, -921, -921, -921, -921, -921, 321, 545, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, 243, -921,
+ 62, -921, -662, 68, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -46, -921, -696, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, 45, -921, -921,
+ -921, -921, -921, 54, -685, -921, -921, -921, -921, 49,
+ -921, -921, -921, -921, -921, -921, -921, -921, 39, -921,
+ -921, -921, 42, 488, -921, -921, -921, -921, -921, -921,
+ -921, 44, -921, -921, -921, -921, -921, -921, -920, -921,
+ -921, -921, 69, -921, -921, -921, 70, 561, -921, -921,
+ -918, -921, -917, -921, 38, -921, 40, -921, 36, -921,
+ -921, -921, -916, -921, -921, -921, -921, 61, -921, -921,
+ -128, 933, -921, -921, -921, -921, -921, 72, -921, -921,
+ -921, 71, -921, 505, -921, -69, -921, -921, -921, -921,
+ -921, -68, -921, -921, -921, -921, -921, -3, -921, -921,
+ -921, 74, -921, -921, -921, 77, -921, 503, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, 23,
+ -921, -921, -921, 31, 565, -921, -921, -56, -921, -15,
+ -921, -921, -921, -921, -921, 28, -921, -921, -921, 33,
+ 576, -921, -921, -921, -921, -921, -921, -921, -60, -921,
+ -921, -921, 59, -921, -921, -921, 64, -921, 522, 303,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -915, -921, -921, -921, -921, -921, -921,
+ -921, 76, -921, -921, -921, -117, -921, -921, -921, -921,
+ -921, -921, -921, 50, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, 53, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, 333, 504, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
+ -921, -921, -921, -921, 358, 497, -921, -921, -921, -921,
+ -921, -921, -921, 369, 507, -61, -921, -921, 55, -921,
+ -921, -112, -921, -921, -921, -921, -921, -921, -138, -921,
+ -921, -152, -921, -921, -921, -921, -921, -921, -921
};
const short
{
-1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 88, 41, 42,
- 73, 647, 92, 93, 43, 72, 89, 90, 671, 853,
- 949, 950, 737, 45, 74, 101, 102, 103, 388, 47,
- 75, 151, 152, 153, 396, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 414, 167,
- 398, 49, 76, 198, 199, 200, 440, 201, 168, 399,
- 169, 400, 170, 401, 762, 763, 764, 893, 738, 739,
- 740, 871, 1077, 741, 872, 742, 873, 743, 874, 744,
- 745, 477, 746, 747, 748, 749, 750, 751, 752, 753,
- 754, 755, 880, 756, 757, 883, 758, 884, 759, 885,
- 171, 425, 796, 797, 798, 913, 172, 422, 783, 784,
- 785, 786, 173, 424, 791, 792, 793, 794, 174, 423,
- 175, 428, 807, 808, 809, 922, 65, 84, 337, 338,
- 339, 490, 340, 491, 176, 429, 816, 817, 818, 819,
- 820, 821, 822, 823, 177, 415, 766, 767, 768, 896,
- 51, 77, 226, 227, 228, 446, 229, 447, 230, 448,
- 231, 452, 232, 451, 178, 420, 653, 234, 235, 179,
- 421, 778, 779, 780, 905, 1008, 1009, 180, 416, 59,
- 81, 770, 771, 772, 899, 61, 82, 302, 303, 304,
- 305, 306, 307, 308, 476, 309, 480, 310, 479, 311,
- 312, 481, 313, 181, 417, 774, 775, 776, 902, 63,
- 83, 323, 324, 325, 326, 327, 485, 328, 329, 330,
- 331, 237, 444, 855, 856, 857, 951, 53, 78, 248,
- 249, 250, 456, 182, 418, 183, 419, 240, 445, 859,
- 860, 861, 954, 55, 79, 264, 265, 266, 459, 267,
- 268, 461, 269, 270, 184, 427, 803, 804, 805, 919,
- 57, 80, 282, 283, 284, 285, 467, 286, 468, 287,
- 469, 288, 470, 289, 471, 290, 472, 291, 466, 242,
- 453, 864, 865, 957, 185, 426, 800, 801, 916, 1026,
- 1027, 1028, 1029, 1030, 1092, 1031, 186, 430, 833, 834,
- 835, 933, 1101, 836, 837, 934, 838, 839, 187, 188,
- 432, 845, 846, 847, 940, 848, 941, 189, 433, 190,
- 434, 67, 85, 357, 358, 359, 360, 495, 361, 496,
- 362, 363, 498, 364, 365, 366, 501, 703, 367, 502,
- 368, 369, 370, 505, 710, 371, 506, 191, 435, 192,
- 436, 104, 390, 105, 391, 106, 392, 193, 397, 71,
- 87, 379, 380, 381, 511, 382, 107, 389, 69, 86,
- 374, 375, 194, 437, 851, 852, 945, 1060, 1061, 1062,
- 1063, 1107, 1064, 1105, 1126, 1127, 1128, 1136, 1137, 1138,
- 1144, 1139, 1140, 1141, 1142, 1148
+ 73, 693, 92, 93, 43, 72, 89, 90, 717, 896,
+ 992, 993, 780, 45, 74, 101, 102, 103, 410, 47,
+ 75, 157, 158, 159, 418, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 440, 686, 176, 441, 177, 442, 178, 463, 179,
+ 464, 180, 436, 181, 420, 49, 76, 210, 211, 212,
+ 468, 213, 182, 421, 183, 422, 184, 423, 805, 806,
+ 807, 936, 781, 782, 783, 914, 1128, 784, 915, 785,
+ 916, 786, 917, 787, 788, 505, 789, 790, 791, 792,
+ 793, 794, 795, 796, 797, 798, 923, 799, 800, 926,
+ 801, 927, 802, 928, 185, 453, 839, 840, 841, 956,
+ 186, 450, 826, 827, 828, 829, 187, 452, 834, 835,
+ 836, 837, 188, 451, 189, 456, 850, 851, 852, 965,
+ 65, 84, 357, 358, 359, 518, 360, 519, 190, 457,
+ 859, 860, 861, 862, 863, 864, 865, 866, 191, 443,
+ 809, 810, 811, 939, 51, 77, 246, 247, 248, 474,
+ 249, 475, 250, 476, 251, 480, 252, 479, 192, 448,
+ 699, 254, 255, 193, 449, 821, 822, 823, 948, 1059,
+ 1060, 194, 444, 59, 81, 813, 814, 815, 942, 61,
+ 82, 322, 323, 324, 325, 326, 327, 328, 504, 329,
+ 508, 330, 507, 331, 332, 509, 333, 195, 445, 817,
+ 818, 819, 945, 63, 83, 343, 344, 345, 346, 347,
+ 513, 348, 349, 350, 351, 257, 472, 898, 899, 900,
+ 994, 53, 78, 268, 269, 270, 484, 196, 446, 197,
+ 447, 260, 473, 902, 903, 904, 997, 55, 79, 284,
+ 285, 286, 487, 287, 288, 489, 289, 290, 198, 455,
+ 846, 847, 848, 962, 57, 80, 302, 303, 304, 305,
+ 495, 306, 496, 307, 497, 308, 498, 309, 499, 310,
+ 500, 311, 494, 262, 481, 907, 908, 1000, 199, 454,
+ 843, 844, 959, 1077, 1078, 1079, 1080, 1081, 1143, 1082,
+ 200, 458, 876, 877, 878, 976, 1152, 879, 880, 977,
+ 881, 882, 201, 202, 460, 888, 889, 890, 983, 891,
+ 984, 203, 461, 204, 462, 67, 85, 379, 380, 381,
+ 382, 523, 383, 524, 384, 385, 526, 386, 387, 388,
+ 529, 749, 389, 530, 390, 391, 392, 533, 393, 534,
+ 394, 535, 395, 536, 104, 412, 105, 413, 106, 414,
+ 205, 419, 71, 87, 401, 402, 403, 541, 404, 107,
+ 411, 69, 86, 396, 397, 206, 465, 894, 895, 988,
+ 1111, 1112, 1113, 1114, 1158, 1115, 1156, 1177, 1178, 1179,
+ 1187, 1188, 1189, 1195, 1190, 1191, 1192, 1193, 1199
};
const unsigned short
Dhcp6Parser::yytable_[] =
{
- 100, 150, 197, 214, 244, 258, 278, 215, 300, 319,
- 336, 354, 372, 830, 321, 241, 790, 322, 760, 236,
- 247, 261, 279, 202, 238, 251, 262, 280, 1001, 314,
- 332, 216, 355, 1002, 373, 1003, 1007, 217, 1013, 32,
- 94, 218, 376, 334, 335, 272, 91, 203, 239, 252,
- 263, 281, 862, 315, 333, 219, 356, 195, 196, 44,
- 220, 301, 320, 221, 293, 781, 646, 245, 259, 781,
- 788, 40, 789, 246, 260, 33, 46, 34, 394, 35,
- 222, 646, 128, 395, 223, 48, 908, 224, 677, 909,
- 108, 109, 225, 911, 110, 233, 912, 111, 112, 113,
- 683, 684, 685, 294, 917, 295, 296, 918, 149, 297,
- 298, 299, 130, 131, 334, 335, 99, 438, 130, 131,
- 130, 131, 439, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 946,
- 129, 50, 947, 129, 294, 782, 824, 705, 706, 707,
- 708, 243, 1098, 1099, 1100, 723, 130, 131, 130, 131,
- 383, 130, 131, 132, 840, 841, 377, 378, 133, 134,
- 135, 136, 137, 442, 138, 701, 702, 211, 443, 139,
- 212, 1019, 1020, 1129, 709, 95, 1130, 294, 140, 454,
- 52, 141, 54, 384, 455, 96, 97, 98, 142, 56,
- 58, 60, 130, 131, 130, 131, 143, 144, 62, 457,
- 145, 146, 1001, 99, 458, 64, 464, 1002, 99, 1003,
- 1007, 465, 1013, 129, 99, 1131, 99, 66, 1132, 1133,
- 1134, 1135, 147, 148, 68, 149, 253, 254, 255, 256,
- 257, 130, 131, 649, 650, 651, 652, 492, 825, 826,
- 827, 828, 493, 36, 37, 38, 39, 70, 385, 386,
- 211, 507, 99, 212, 99, 387, 508, 99, 473, 393,
- 790, 980, 810, 811, 812, 813, 814, 815, 1073, 1074,
- 1075, 1076, 402, 403, 1053, 718, 1054, 1055, 830, 404,
- 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
- 729, 730, 731, 732, 733, 734, 735, 736, 99, 509,
- 99, 513, 438, 509, 510, 405, 514, 867, 868, 406,
- 100, 513, 474, 442, 294, 890, 869, 129, 870, 890,
- 891, 407, 408, 409, 892, 294, 316, 295, 296, 317,
- 318, 410, 411, 914, 931, 130, 131, 99, 915, 932,
- 938, 942, 130, 131, 507, 939, 943, 890, 475, 944,
- 454, 1089, 1085, 271, 150, 1086, 1090, 412, 197, 272,
- 273, 274, 275, 276, 277, 413, 492, 1108, 483, 431,
- 214, 1097, 1109, 244, 215, 441, 457, 484, 464, 202,
- 258, 1111, 241, 1112, 449, 450, 236, 1149, 489, 247,
- 278, 238, 1150, 460, 251, 462, 261, 463, 216, 478,
- 300, 262, 482, 203, 217, 319, 279, 486, 218, 487,
- 321, 280, 488, 322, 494, 239, 497, 499, 252, 500,
- 503, 314, 219, 354, 372, 263, 332, 220, 515, 516,
- 221, 504, 512, 518, 517, 281, 245, 99, 519, 520,
- 521, 99, 246, 259, 355, 315, 373, 222, 99, 260,
- 333, 223, 522, 301, 224, 376, 524, 530, 320, 225,
- 525, 526, 233, 527, 528, 529, 531, 532, 356, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 538, 533, 542, 543, 129, 544, 534, 535, 536, 545,
- 537, 546, 539, 547, 204, 541, 205, 548, 540, 549,
- 550, 551, 130, 131, 206, 207, 208, 209, 210, 132,
- 552, 553, 554, 559, 555, 556, 557, 558, 560, 561,
- 562, 211, 563, 564, 212, 139, 565, 567, 568, 570,
- 130, 131, 213, 571, 572, 573, 574, 576, 575, 577,
- 578, 579, 581, 583, 585, 589, 584, 150, 590, 591,
- 586, 587, 592, 593, 197, 594, 595, 597, 598, 600,
- 599, 601, 602, 603, 633, 634, 635, 605, 606, 607,
- 609, 610, 612, 621, 613, 202, 614, 616, 376, 829,
- 842, 615, 354, 372, 617, 618, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 203,
- 831, 843, 619, 355, 620, 373, 147, 148, 99, 622,
- 623, 624, 627, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 832, 844, 127, 356, 129, 294,
- 628, 630, 631, 632, 636, 637, 99, 638, 639, 640,
- 641, 642, 643, 644, 645, 648, 130, 131, 34, 207,
- 208, 654, 210, 132, 697, 655, 656, 657, 667, 659,
- 658, 660, 661, 668, 894, 211, 662, 663, 212, 664,
- 666, 669, 670, 672, 713, 673, 213, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 679, 712, 761, 795, 765, 769, 773, 777,
- 674, 799, 802, 675, 676, 806, 850, 678, 854, 680,
- 681, 682, 858, 875, 876, 877, 686, 687, 878, 704,
- 879, 881, 882, 886, 887, 688, 689, 888, 889, 690,
- 691, 895, 897, 692, 898, 900, 901, 904, 903, 693,
- 907, 906, 694, 695, 696, 698, 910, 699, 700, 920,
- 921, 711, 99, 924, 923, 925, 926, 927, 928, 929,
- 930, 935, 936, 937, 948, 953, 952, 955, 956, 964,
- 959, 958, 960, 961, 962, 963, 965, 966, 967, 968,
- 969, 970, 972, 971, 973, 974, 975, 976, 1017, 978,
- 977, 1044, 1045, 1037, 1038, 1039, 1040, 1041, 1042, 1046,
- 1047, 1048, 1050, 1051, 1067, 1078, 1066, 1072, 1093, 1116,
- 1087, 1095, 214, 1088, 1094, 300, 215, 1079, 319, 1080,
- 1096, 988, 1106, 321, 241, 989, 322, 1081, 236, 1115,
- 1082, 1083, 1021, 238, 1118, 278, 314, 1010, 336, 332,
- 216, 1120, 1011, 1123, 1084, 1145, 217, 1091, 1023, 990,
- 218, 279, 1102, 1024, 829, 991, 280, 239, 842, 992,
- 315, 1056, 1103, 333, 219, 1104, 1012, 244, 301, 220,
- 258, 320, 221, 993, 1000, 831, 1110, 1025, 994, 843,
- 281, 995, 1058, 247, 1004, 1022, 261, 1113, 251, 222,
- 1005, 262, 1119, 223, 1125, 1122, 224, 1146, 996, 832,
- 1147, 225, 997, 844, 233, 998, 1059, 1151, 1124, 1155,
- 999, 1153, 252, 1006, 1057, 263, 1152, 665, 787, 714,
- 1154, 1157, 1158, 717, 566, 569, 866, 981, 979, 1018,
- 245, 1015, 1016, 259, 1036, 1035, 246, 611, 1043, 260,
- 1114, 983, 982, 1014, 580, 292, 985, 984, 604, 1069,
- 1068, 987, 986, 1033, 608, 582, 1070, 1071, 588, 863,
- 1034, 1117, 596, 716, 1049, 715, 1032, 629, 523, 1052,
- 625, 1121, 1143, 1156, 1065, 626, 0, 0, 0, 0,
- 849, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 988, 0, 0, 0, 989,
- 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1010, 0, 0, 1056, 0, 1011, 1023, 0, 0,
- 0, 0, 1024, 990, 0, 0, 0, 0, 0, 991,
- 0, 0, 0, 992, 0, 1058, 0, 0, 0, 0,
- 1012, 0, 0, 0, 0, 0, 1025, 993, 1000, 0,
- 0, 0, 994, 0, 1022, 995, 0, 0, 1004, 1059,
- 0, 0, 0, 0, 1005, 0, 0, 1057, 0, 0,
- 0, 0, 996, 0, 0, 0, 997, 0, 0, 998,
- 0, 0, 0, 0, 999, 0, 0, 1006
+ 100, 156, 209, 226, 264, 278, 298, 227, 320, 339,
+ 356, 376, 40, 873, 341, 342, 803, 261, 833, 228,
+ 214, 258, 271, 282, 300, 398, 334, 352, 1052, 377,
+ 1053, 1054, 1058, 1064, 824, 94, 321, 340, 692, 229,
+ 416, 32, 292, 207, 208, 417, 230, 231, 33, 905,
+ 34, 466, 35, 692, 314, 951, 467, 232, 952, 91,
+ 233, 215, 259, 272, 283, 301, 954, 335, 353, 955,
+ 378, 136, 137, 155, 256, 267, 281, 299, 234, 867,
+ 44, 695, 696, 697, 698, 723, 235, 313, 766, 236,
+ 237, 238, 46, 239, 48, 470, 240, 729, 730, 731,
+ 471, 241, 960, 242, 50, 961, 243, 244, 52, 245,
+ 136, 137, 989, 253, 825, 990, 265, 279, 266, 280,
+ 354, 355, 108, 109, 824, 831, 110, 832, 482, 111,
+ 112, 113, 314, 483, 315, 316, 399, 400, 317, 318,
+ 319, 136, 137, 485, 681, 682, 683, 684, 486, 136,
+ 137, 1104, 54, 1105, 1106, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 99, 136, 137,
+ 492, 685, 1149, 1150, 1151, 493, 95, 868, 869, 870,
+ 871, 354, 355, 99, 136, 137, 96, 97, 98, 1182,
+ 135, 138, 1183, 1184, 1185, 1186, 139, 140, 141, 142,
+ 143, 263, 144, 56, 99, 58, 99, 145, 136, 137,
+ 1052, 134, 1053, 1054, 1058, 1064, 146, 60, 62, 147,
+ 883, 884, 36, 37, 38, 39, 148, 223, 1180, 64,
+ 224, 1181, 405, 135, 149, 150, 135, 99, 151, 152,
+ 1124, 1125, 1126, 1127, 66, 99, 273, 274, 275, 276,
+ 277, 136, 137, 520, 136, 137, 68, 537, 521, 833,
+ 153, 154, 538, 155, 1023, 70, 539, 406, 747, 748,
+ 223, 540, 291, 224, 99, 873, 407, 408, 292, 293,
+ 294, 295, 296, 297, 543, 409, 761, 415, 424, 544,
+ 99, 762, 763, 764, 765, 766, 767, 768, 769, 770,
+ 771, 772, 773, 774, 775, 776, 777, 778, 779, 425,
+ 466, 135, 314, 426, 99, 910, 427, 314, 336, 315,
+ 316, 337, 338, 853, 854, 855, 856, 857, 858, 136,
+ 137, 314, 100, 539, 136, 137, 543, 470, 911, 933,
+ 933, 912, 913, 957, 934, 935, 974, 981, 958, 1070,
+ 1071, 975, 982, 985, 537, 501, 428, 99, 986, 987,
+ 99, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 933, 502, 482, 1140,
+ 520, 1136, 156, 1137, 1141, 1148, 209, 429, 1159, 485,
+ 492, 545, 546, 1160, 1162, 1163, 430, 431, 226, 432,
+ 1200, 264, 227, 512, 214, 1201, 433, 434, 278, 435,
+ 437, 438, 261, 439, 228, 459, 258, 469, 298, 271,
+ 477, 478, 488, 490, 491, 517, 282, 506, 320, 503,
+ 510, 514, 511, 339, 229, 99, 300, 515, 341, 342,
+ 99, 230, 231, 516, 522, 215, 334, 525, 527, 528,
+ 531, 352, 232, 376, 99, 233, 321, 259, 532, 542,
+ 272, 340, 547, 548, 549, 550, 551, 283, 398, 256,
+ 552, 377, 267, 234, 554, 555, 556, 301, 557, 281,
+ 558, 235, 136, 137, 236, 237, 238, 335, 239, 299,
+ 559, 240, 353, 560, 561, 572, 241, 569, 242, 570,
+ 562, 243, 244, 563, 245, 564, 565, 566, 253, 567,
+ 568, 571, 378, 265, 573, 266, 574, 575, 576, 577,
+ 279, 578, 280, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 671, 672, 673, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 591, 592, 593, 594, 595, 596, 597, 374, 375,
+ 598, 599, 600, 601, 603, 606, 607, 608, 609, 610,
+ 604, 611, 612, 613, 614, 615, 617, 619, 620, 621,
+ 622, 623, 625, 626, 627, 156, 628, 629, 99, 630,
+ 631, 633, 209, 634, 635, 636, 637, 638, 641, 398,
+ 639, 645, 642, 646, 643, 649, 648, 650, 652, 655,
+ 214, 656, 659, 660, 661, 651, 662, 665, 653, 654,
+ 668, 669, 657, 658, 666, 872, 885, 670, 376, 675,
+ 674, 743, 676, 677, 678, 679, 680, 687, 688, 689,
+ 690, 691, 694, 874, 886, 34, 377, 700, 701, 702,
+ 703, 215, 713, 756, 704, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 705, 706, 127, 128,
+ 129, 130, 131, 132, 707, 708, 135, 709, 710, 712,
+ 715, 714, 716, 718, 875, 887, 216, 378, 217, 719,
+ 720, 721, 722, 724, 136, 137, 218, 219, 220, 221,
+ 222, 138, 725, 755, 804, 726, 808, 727, 750, 812,
+ 816, 820, 842, 223, 845, 838, 224, 145, 849, 893,
+ 728, 732, 733, 734, 225, 735, 736, 737, 738, 739,
+ 740, 741, 742, 744, 745, 746, 897, 901, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 918,
+ 919, 127, 128, 129, 130, 131, 132, 133, 920, 135,
+ 314, 921, 922, 752, 924, 753, 754, 925, 929, 930,
+ 153, 154, 931, 932, 938, 941, 937, 136, 137, 940,
+ 219, 220, 943, 222, 138, 944, 946, 947, 950, 949,
+ 1007, 964, 953, 963, 967, 966, 223, 968, 969, 224,
+ 99, 970, 971, 972, 973, 978, 979, 225, 980, 995,
+ 991, 996, 998, 999, 1009, 1001, 1003, 1002, 1004, 1005,
+ 1006, 1008, 1011, 1010, 1012, 1015, 1016, 1013, 1017, 1014,
+ 1018, 1019, 1068, 1095, 1096, 1101, 1102, 1118, 1020, 1021,
+ 1088, 1089, 1090, 1091, 1092, 1093, 1097, 1098, 1099, 1117,
+ 1123, 1144, 1129, 153, 154, 226, 1130, 1138, 320, 227,
+ 1139, 339, 1131, 1132, 1031, 1133, 341, 342, 1032, 261,
+ 1134, 228, 1135, 258, 1142, 1072, 334, 1145, 298, 352,
+ 1033, 356, 1062, 99, 1146, 1147, 321, 1157, 1166, 340,
+ 1153, 229, 1051, 1075, 1169, 1154, 300, 872, 230, 231,
+ 1034, 885, 1155, 1073, 1107, 1161, 1164, 1035, 1036, 232,
+ 264, 1167, 233, 278, 259, 874, 1170, 335, 1037, 886,
+ 353, 1038, 1109, 1063, 1171, 1173, 256, 1174, 271, 1175,
+ 234, 282, 1108, 1176, 1076, 1061, 1196, 301, 235, 1039,
+ 1197, 236, 237, 238, 1198, 239, 1074, 1040, 240, 299,
+ 1041, 1042, 1043, 241, 1044, 242, 875, 1045, 243, 244,
+ 887, 245, 1046, 1110, 1047, 253, 1202, 1048, 1049, 272,
+ 1050, 1203, 283, 1206, 1057, 602, 1055, 830, 1056, 711,
+ 1204, 267, 1205, 553, 281, 1208, 751, 760, 909, 757,
+ 1024, 1022, 1069, 1067, 1209, 1066, 1087, 1086, 647, 1025,
+ 1026, 1065, 1165, 1027, 312, 605, 1028, 640, 1094, 1120,
+ 644, 1030, 1029, 1085, 632, 1119, 1084, 1122, 906, 1168,
+ 1121, 1100, 265, 759, 266, 279, 1083, 280, 1103, 758,
+ 667, 663, 1194, 616, 1116, 892, 664, 1172, 1207, 0,
+ 618, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1031, 0, 624, 0,
+ 1032, 0, 1072, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1033, 0, 1062, 1107, 0, 0, 0, 0,
+ 1075, 0, 0, 0, 1051, 0, 0, 0, 0, 0,
+ 1073, 0, 1034, 1109, 0, 0, 0, 0, 0, 1035,
+ 1036, 0, 0, 1108, 0, 0, 0, 0, 0, 0,
+ 1037, 0, 0, 1038, 0, 1063, 0, 0, 0, 0,
+ 0, 1076, 0, 0, 0, 0, 0, 1061, 0, 0,
+ 0, 1039, 0, 1074, 1110, 0, 0, 0, 0, 1040,
+ 0, 0, 1041, 1042, 1043, 0, 1044, 0, 0, 1045,
+ 0, 0, 0, 0, 1046, 0, 1047, 0, 0, 1048,
+ 1049, 0, 1050, 0, 0, 0, 1057, 0, 1055, 0,
+ 1056
};
const short
Dhcp6Parser::yycheck_[] =
{
74, 75, 76, 77, 78, 79, 80, 77, 82, 83,
- 84, 85, 85, 663, 83, 77, 657, 83, 640, 77,
- 78, 79, 80, 76, 77, 78, 79, 80, 905, 82,
- 83, 77, 85, 905, 85, 905, 905, 77, 905, 0,
- 10, 77, 86, 110, 111, 101, 183, 76, 77, 78,
- 79, 80, 108, 82, 83, 77, 85, 16, 17, 7,
- 77, 82, 83, 77, 21, 103, 546, 78, 79, 103,
- 104, 17, 106, 78, 79, 5, 7, 7, 3, 9,
- 77, 561, 58, 8, 77, 7, 3, 77, 577, 6,
- 11, 12, 77, 3, 15, 77, 6, 18, 19, 20,
- 589, 590, 591, 60, 3, 62, 63, 6, 156, 66,
- 67, 68, 77, 78, 110, 111, 183, 3, 77, 78,
- 77, 78, 8, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 3,
- 59, 7, 6, 59, 60, 183, 21, 149, 150, 151,
- 152, 70, 120, 121, 122, 30, 77, 78, 77, 78,
- 6, 77, 78, 84, 129, 130, 13, 14, 89, 90,
- 91, 92, 93, 3, 95, 146, 147, 96, 8, 100,
- 99, 97, 98, 3, 186, 155, 6, 60, 109, 3,
- 7, 112, 7, 3, 8, 165, 166, 167, 119, 7,
- 7, 7, 77, 78, 77, 78, 127, 128, 7, 3,
- 131, 132, 1089, 183, 8, 7, 3, 1089, 183, 1089,
- 1089, 8, 1089, 59, 183, 158, 183, 7, 161, 162,
- 163, 164, 153, 154, 7, 156, 72, 73, 74, 75,
- 76, 77, 78, 85, 86, 87, 88, 3, 123, 124,
- 125, 126, 8, 183, 184, 185, 186, 7, 4, 8,
- 96, 3, 183, 99, 183, 3, 8, 183, 8, 4,
- 911, 893, 113, 114, 115, 116, 117, 118, 22, 23,
- 24, 25, 4, 4, 157, 21, 159, 160, 938, 4,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 183, 3,
- 183, 3, 3, 3, 8, 4, 8, 8, 8, 4,
- 394, 3, 3, 3, 60, 3, 8, 59, 8, 3,
- 8, 4, 4, 4, 8, 60, 61, 62, 63, 64,
- 65, 4, 4, 3, 3, 77, 78, 183, 8, 8,
- 3, 3, 77, 78, 3, 8, 8, 3, 8, 8,
- 3, 3, 8, 95, 438, 8, 8, 4, 442, 101,
- 102, 103, 104, 105, 106, 4, 3, 3, 8, 4,
- 454, 8, 8, 457, 454, 4, 3, 3, 3, 442,
- 464, 8, 454, 8, 4, 4, 454, 3, 3, 457,
- 474, 454, 8, 4, 457, 4, 464, 4, 454, 4,
- 484, 464, 4, 442, 454, 489, 474, 4, 454, 4,
- 489, 474, 8, 489, 4, 454, 4, 4, 457, 4,
- 4, 484, 454, 507, 507, 464, 489, 454, 384, 385,
- 454, 4, 4, 4, 183, 474, 457, 183, 4, 4,
- 4, 183, 457, 464, 507, 484, 507, 454, 183, 464,
- 489, 454, 4, 484, 454, 509, 4, 184, 489, 454,
- 4, 4, 454, 4, 4, 4, 184, 184, 507, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 186, 184, 4, 4, 59, 4, 184, 184, 184, 4,
- 184, 4, 185, 4, 69, 184, 71, 4, 185, 4,
- 4, 4, 77, 78, 79, 80, 81, 82, 83, 84,
- 4, 4, 4, 184, 4, 4, 4, 4, 4, 4,
- 4, 96, 4, 4, 99, 100, 4, 4, 186, 4,
- 77, 78, 107, 4, 4, 4, 4, 186, 184, 4,
- 4, 4, 4, 4, 4, 4, 184, 631, 4, 4,
- 184, 184, 4, 4, 638, 4, 4, 4, 4, 4,
- 184, 4, 4, 186, 520, 521, 522, 4, 186, 186,
- 4, 4, 186, 186, 4, 638, 4, 4, 632, 663,
- 664, 184, 666, 666, 184, 184, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 638,
- 663, 664, 4, 666, 4, 666, 153, 154, 183, 186,
- 4, 4, 4, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 663, 664, 57, 666, 59, 60,
- 184, 4, 7, 7, 183, 7, 183, 7, 7, 7,
- 5, 183, 5, 5, 5, 183, 77, 78, 7, 80,
- 81, 5, 83, 84, 610, 5, 5, 5, 183, 5,
- 7, 5, 5, 183, 6, 96, 7, 7, 99, 7,
- 7, 5, 5, 5, 630, 5, 107, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 7, 5, 7, 94, 7, 7, 7, 7,
- 183, 7, 7, 183, 183, 7, 7, 183, 7, 183,
- 183, 183, 7, 4, 4, 4, 183, 183, 4, 148,
- 4, 4, 4, 4, 4, 183, 183, 4, 4, 183,
- 183, 3, 6, 183, 3, 6, 3, 3, 6, 183,
- 3, 6, 183, 183, 183, 183, 6, 183, 183, 6,
- 3, 183, 183, 3, 6, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 183, 3, 6, 6, 3, 184,
- 6, 8, 4, 4, 4, 4, 186, 184, 186, 184,
- 4, 184, 4, 184, 4, 4, 184, 184, 4, 184,
- 186, 4, 4, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 4, 4, 3, 183, 6, 4, 4, 186,
- 8, 3, 896, 8, 8, 899, 896, 183, 902, 183,
- 8, 905, 4, 902, 896, 905, 902, 183, 896, 4,
- 183, 183, 916, 896, 4, 919, 899, 905, 922, 902,
- 896, 4, 905, 5, 183, 4, 896, 183, 916, 905,
- 896, 919, 183, 916, 938, 905, 919, 896, 942, 905,
- 899, 945, 183, 902, 896, 183, 905, 951, 899, 896,
- 954, 902, 896, 905, 905, 938, 183, 916, 905, 942,
- 919, 905, 945, 951, 905, 916, 954, 183, 951, 896,
- 905, 954, 184, 896, 7, 183, 896, 4, 905, 938,
- 4, 896, 905, 942, 896, 905, 945, 4, 183, 4,
- 905, 184, 951, 905, 945, 954, 186, 561, 656, 631,
- 184, 183, 183, 638, 438, 442, 712, 895, 890, 914,
- 951, 908, 911, 954, 924, 922, 951, 492, 931, 954,
- 1089, 898, 896, 907, 454, 81, 901, 899, 484, 953,
- 951, 904, 902, 919, 489, 457, 954, 956, 464, 679,
- 921, 1095, 474, 637, 938, 632, 917, 513, 394, 942,
- 507, 1108, 1129, 1149, 946, 509, -1, -1, -1, -1,
- 666, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1089, -1, -1, -1, 1089,
- -1, 1095, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1089, -1, -1, 1108, -1, 1089, 1095, -1, -1,
- -1, -1, 1095, 1089, -1, -1, -1, -1, -1, 1089,
- -1, -1, -1, 1089, -1, 1108, -1, -1, -1, -1,
- 1089, -1, -1, -1, -1, -1, 1095, 1089, 1089, -1,
- -1, -1, 1089, -1, 1095, 1089, -1, -1, 1089, 1108,
- -1, -1, -1, -1, 1089, -1, -1, 1108, -1, -1,
- -1, -1, 1089, -1, -1, -1, 1089, -1, -1, 1089,
- -1, -1, -1, -1, 1089, -1, -1, 1089
+ 84, 85, 17, 709, 83, 83, 678, 77, 703, 77,
+ 76, 77, 78, 79, 80, 86, 82, 83, 948, 85,
+ 948, 948, 948, 948, 109, 10, 82, 83, 582, 77,
+ 3, 0, 107, 16, 17, 8, 77, 77, 5, 114,
+ 7, 3, 9, 597, 66, 3, 8, 77, 6, 189,
+ 77, 76, 77, 78, 79, 80, 3, 82, 83, 6,
+ 85, 83, 84, 162, 77, 78, 79, 80, 77, 21,
+ 7, 91, 92, 93, 94, 613, 77, 21, 30, 77,
+ 77, 77, 7, 77, 7, 3, 77, 625, 626, 627,
+ 8, 77, 3, 77, 7, 6, 77, 77, 7, 77,
+ 83, 84, 3, 77, 189, 6, 78, 79, 78, 79,
+ 116, 117, 11, 12, 109, 110, 15, 112, 3, 18,
+ 19, 20, 66, 8, 68, 69, 13, 14, 72, 73,
+ 74, 83, 84, 3, 155, 156, 157, 158, 8, 83,
+ 84, 163, 7, 165, 166, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 189, 83, 84,
+ 3, 192, 126, 127, 128, 8, 161, 129, 130, 131,
+ 132, 116, 117, 189, 83, 84, 171, 172, 173, 164,
+ 65, 90, 167, 168, 169, 170, 95, 96, 97, 98,
+ 99, 76, 101, 7, 189, 7, 189, 106, 83, 84,
+ 1140, 64, 1140, 1140, 1140, 1140, 115, 7, 7, 118,
+ 135, 136, 189, 190, 191, 192, 125, 102, 3, 7,
+ 105, 6, 6, 65, 133, 134, 65, 189, 137, 138,
+ 22, 23, 24, 25, 7, 189, 78, 79, 80, 81,
+ 82, 83, 84, 3, 83, 84, 7, 3, 8, 954,
+ 159, 160, 8, 162, 936, 7, 3, 3, 152, 153,
+ 102, 8, 101, 105, 189, 981, 4, 8, 107, 108,
+ 109, 110, 111, 112, 3, 3, 21, 4, 4, 8,
+ 189, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 4,
+ 3, 65, 66, 4, 189, 8, 4, 66, 67, 68,
+ 69, 70, 71, 119, 120, 121, 122, 123, 124, 83,
+ 84, 66, 416, 3, 83, 84, 3, 3, 8, 3,
+ 3, 8, 8, 3, 8, 8, 3, 3, 8, 103,
+ 104, 8, 8, 3, 3, 8, 4, 189, 8, 8,
+ 189, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 3, 3, 3, 3,
+ 3, 8, 466, 8, 8, 8, 470, 4, 3, 3,
+ 3, 406, 407, 8, 8, 8, 4, 4, 482, 4,
+ 3, 485, 482, 3, 470, 8, 4, 4, 492, 4,
+ 4, 4, 482, 4, 482, 4, 482, 4, 502, 485,
+ 4, 4, 4, 4, 4, 3, 492, 4, 512, 8,
+ 4, 4, 8, 517, 482, 189, 502, 4, 517, 517,
+ 189, 482, 482, 8, 4, 470, 512, 4, 4, 4,
+ 4, 517, 482, 537, 189, 482, 512, 482, 4, 4,
+ 485, 517, 189, 4, 4, 4, 4, 492, 539, 482,
+ 4, 537, 485, 482, 4, 4, 4, 502, 4, 492,
+ 4, 482, 83, 84, 482, 482, 482, 512, 482, 502,
+ 4, 482, 517, 190, 190, 4, 482, 191, 482, 191,
+ 190, 482, 482, 190, 482, 190, 190, 190, 482, 190,
+ 192, 190, 537, 485, 192, 485, 192, 192, 4, 4,
+ 492, 4, 492, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 550, 551, 552, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 4, 4, 4, 4, 190, 4, 4, 159, 160,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 192, 190, 192, 4, 4, 4, 4, 4, 190, 4,
+ 190, 190, 4, 4, 4, 669, 4, 4, 189, 4,
+ 4, 4, 676, 4, 190, 4, 4, 4, 4, 670,
+ 192, 4, 192, 4, 192, 4, 192, 4, 4, 4,
+ 676, 4, 4, 4, 4, 190, 4, 4, 190, 190,
+ 4, 7, 192, 192, 190, 709, 710, 7, 712, 7,
+ 189, 646, 7, 7, 7, 5, 189, 189, 189, 5,
+ 5, 5, 189, 709, 710, 7, 712, 5, 5, 5,
+ 5, 676, 189, 668, 7, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 5, 5, 57, 58,
+ 59, 60, 61, 62, 5, 7, 65, 7, 7, 7,
+ 5, 189, 5, 5, 709, 710, 75, 712, 77, 5,
+ 189, 189, 189, 189, 83, 84, 85, 86, 87, 88,
+ 89, 90, 7, 5, 7, 189, 7, 189, 154, 7,
+ 7, 7, 7, 102, 7, 100, 105, 106, 7, 7,
+ 189, 189, 189, 189, 113, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 7, 7, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 4,
+ 4, 57, 58, 59, 60, 61, 62, 63, 4, 65,
+ 66, 4, 4, 189, 4, 189, 189, 4, 4, 4,
+ 159, 160, 4, 4, 3, 3, 6, 83, 84, 6,
+ 86, 87, 6, 89, 90, 3, 6, 3, 3, 6,
+ 190, 3, 6, 6, 3, 6, 102, 4, 4, 105,
+ 189, 4, 4, 4, 4, 4, 4, 113, 4, 6,
+ 189, 3, 6, 3, 190, 8, 4, 6, 4, 4,
+ 4, 192, 190, 192, 4, 4, 4, 190, 4, 190,
+ 190, 190, 4, 4, 4, 4, 4, 3, 192, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 6,
+ 4, 4, 189, 159, 160, 939, 189, 8, 942, 939,
+ 8, 945, 189, 189, 948, 189, 945, 945, 948, 939,
+ 189, 939, 189, 939, 189, 959, 942, 8, 962, 945,
+ 948, 965, 948, 189, 3, 8, 942, 4, 4, 945,
+ 189, 939, 948, 959, 4, 189, 962, 981, 939, 939,
+ 948, 985, 189, 959, 988, 189, 189, 948, 948, 939,
+ 994, 192, 939, 997, 939, 981, 190, 942, 948, 985,
+ 945, 948, 988, 948, 4, 189, 939, 5, 994, 189,
+ 939, 997, 988, 7, 959, 948, 4, 962, 939, 948,
+ 4, 939, 939, 939, 4, 939, 959, 948, 939, 962,
+ 948, 948, 948, 939, 948, 939, 981, 948, 939, 939,
+ 985, 939, 948, 988, 948, 939, 4, 948, 948, 994,
+ 948, 192, 997, 4, 948, 466, 948, 702, 948, 597,
+ 190, 994, 190, 416, 997, 189, 659, 676, 755, 669,
+ 938, 933, 957, 954, 189, 951, 967, 965, 520, 939,
+ 941, 950, 1140, 942, 81, 470, 944, 512, 974, 996,
+ 517, 947, 945, 964, 502, 994, 962, 999, 725, 1146,
+ 997, 981, 994, 675, 994, 997, 960, 997, 985, 670,
+ 543, 537, 1180, 482, 989, 712, 539, 1159, 1200, -1,
+ 485, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1140, -1, 492, -1,
+ 1140, -1, 1146, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1140, -1, 1140, 1159, -1, -1, -1, -1,
+ 1146, -1, -1, -1, 1140, -1, -1, -1, -1, -1,
+ 1146, -1, 1140, 1159, -1, -1, -1, -1, -1, 1140,
+ 1140, -1, -1, 1159, -1, -1, -1, -1, -1, -1,
+ 1140, -1, -1, 1140, -1, 1140, -1, -1, -1, -1,
+ -1, 1146, -1, -1, -1, -1, -1, 1140, -1, -1,
+ -1, 1140, -1, 1146, 1159, -1, -1, -1, -1, 1140,
+ -1, -1, 1140, 1140, 1140, -1, 1140, -1, -1, 1140,
+ -1, -1, -1, -1, 1140, -1, 1140, -1, -1, 1140,
+ 1140, -1, 1140, -1, -1, -1, 1140, -1, 1140, -1,
+ 1140
};
const unsigned short
Dhcp6Parser::yystos_[] =
{
- 0, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 0, 5, 7, 9, 183, 184, 185, 186,
- 204, 205, 206, 211, 7, 220, 7, 226, 7, 248,
- 7, 347, 7, 424, 7, 440, 7, 457, 7, 376,
- 7, 382, 7, 406, 7, 323, 7, 518, 7, 565,
- 7, 556, 212, 207, 221, 227, 249, 348, 425, 441,
- 458, 377, 383, 407, 324, 519, 566, 557, 204, 213,
- 214, 183, 209, 210, 10, 155, 165, 166, 167, 183,
- 219, 222, 223, 224, 548, 550, 552, 563, 11, 12,
+ 0, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 0, 5, 7, 9, 189, 190, 191, 192,
+ 210, 211, 212, 217, 7, 226, 7, 232, 7, 268,
+ 7, 367, 7, 444, 7, 460, 7, 477, 7, 396,
+ 7, 402, 7, 426, 7, 343, 7, 538, 7, 584,
+ 7, 575, 218, 213, 227, 233, 269, 368, 445, 461,
+ 478, 397, 403, 427, 344, 539, 585, 576, 210, 219,
+ 220, 189, 215, 216, 10, 161, 171, 172, 173, 189,
+ 225, 228, 229, 230, 567, 569, 571, 582, 11, 12,
15, 18, 19, 20, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 77, 78, 84, 89, 90, 91, 92, 93, 95, 100,
- 109, 112, 119, 127, 128, 131, 132, 153, 154, 156,
- 219, 228, 229, 230, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 246, 255, 257,
- 259, 297, 303, 309, 315, 317, 331, 341, 361, 366,
- 374, 400, 430, 432, 451, 481, 493, 505, 506, 514,
- 516, 544, 546, 554, 569, 16, 17, 219, 250, 251,
- 252, 254, 430, 432, 69, 71, 79, 80, 81, 82,
- 83, 96, 99, 107, 219, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 349, 350, 351, 353,
- 355, 357, 359, 361, 364, 365, 400, 418, 430, 432,
- 434, 451, 476, 70, 219, 357, 359, 400, 426, 427,
- 428, 430, 432, 72, 73, 74, 75, 76, 219, 357,
- 359, 400, 430, 432, 442, 443, 444, 446, 447, 449,
- 450, 95, 101, 102, 103, 104, 105, 106, 219, 400,
- 430, 432, 459, 460, 461, 462, 464, 466, 468, 470,
- 472, 474, 374, 21, 60, 62, 63, 66, 67, 68,
- 219, 277, 384, 385, 386, 387, 388, 389, 390, 392,
- 394, 396, 397, 399, 430, 432, 61, 64, 65, 219,
- 277, 388, 394, 408, 409, 410, 411, 412, 414, 415,
- 416, 417, 430, 432, 110, 111, 219, 325, 326, 327,
- 329, 133, 134, 135, 136, 137, 138, 139, 140, 141,
- 142, 143, 144, 145, 219, 430, 432, 520, 521, 522,
- 523, 525, 527, 528, 530, 531, 532, 535, 537, 538,
- 539, 542, 544, 546, 567, 568, 569, 13, 14, 558,
- 559, 560, 562, 6, 3, 4, 8, 3, 225, 564,
- 549, 551, 553, 4, 3, 8, 231, 555, 247, 256,
- 258, 260, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 245, 342, 375, 401, 431, 433,
- 362, 367, 304, 316, 310, 298, 482, 452, 318, 332,
- 494, 4, 507, 515, 517, 545, 547, 570, 3, 8,
- 253, 4, 3, 8, 419, 435, 352, 354, 356, 4,
- 4, 360, 358, 477, 3, 8, 429, 3, 8, 445,
- 4, 448, 4, 4, 3, 8, 475, 463, 465, 467,
- 469, 471, 473, 8, 3, 8, 391, 278, 4, 395,
- 393, 398, 4, 8, 3, 413, 4, 4, 8, 3,
- 328, 330, 3, 8, 4, 524, 526, 4, 529, 4,
- 4, 533, 536, 4, 4, 540, 543, 3, 8, 3,
- 8, 561, 4, 3, 8, 204, 204, 183, 4, 4,
- 4, 4, 4, 223, 4, 4, 4, 4, 4, 4,
- 184, 184, 184, 184, 184, 184, 184, 184, 186, 185,
- 185, 184, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 184,
- 4, 4, 4, 4, 4, 4, 229, 4, 186, 251,
- 4, 4, 4, 4, 4, 184, 186, 4, 4, 4,
- 350, 4, 427, 4, 184, 4, 184, 184, 443, 4,
- 4, 4, 4, 4, 4, 4, 461, 4, 4, 184,
- 4, 4, 4, 186, 386, 4, 186, 186, 410, 4,
- 4, 326, 186, 4, 4, 184, 4, 184, 184, 4,
- 4, 186, 186, 4, 4, 521, 568, 4, 184, 559,
- 4, 7, 7, 204, 204, 204, 183, 7, 7, 7,
- 7, 5, 183, 5, 5, 5, 206, 208, 183, 85,
- 86, 87, 88, 363, 5, 5, 5, 5, 7, 5,
- 5, 5, 7, 7, 7, 208, 7, 183, 183, 5,
- 5, 215, 5, 5, 183, 183, 183, 215, 183, 7,
- 183, 183, 183, 215, 215, 215, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 204, 183, 183,
- 183, 146, 147, 534, 148, 149, 150, 151, 152, 186,
- 541, 183, 5, 204, 228, 567, 558, 250, 21, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 219, 265, 266,
- 267, 270, 272, 274, 276, 277, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 290, 291, 293, 295,
- 265, 7, 261, 262, 263, 7, 343, 344, 345, 7,
- 378, 379, 380, 7, 402, 403, 404, 7, 368, 369,
- 370, 103, 183, 305, 306, 307, 308, 213, 104, 106,
- 307, 311, 312, 313, 314, 94, 299, 300, 301, 7,
- 483, 484, 7, 453, 454, 455, 7, 319, 320, 321,
- 113, 114, 115, 116, 117, 118, 333, 334, 335, 336,
- 337, 338, 339, 340, 21, 123, 124, 125, 126, 219,
- 279, 430, 432, 495, 496, 497, 500, 501, 503, 504,
- 129, 130, 219, 430, 432, 508, 509, 510, 512, 520,
- 7, 571, 572, 216, 7, 420, 421, 422, 7, 436,
- 437, 438, 108, 462, 478, 479, 261, 8, 8, 8,
- 8, 268, 271, 273, 275, 4, 4, 4, 4, 4,
- 289, 4, 4, 292, 294, 296, 4, 4, 4, 4,
- 3, 8, 8, 264, 6, 3, 346, 6, 3, 381,
- 6, 3, 405, 6, 3, 371, 6, 3, 3, 6,
- 6, 3, 6, 302, 3, 8, 485, 3, 6, 456,
- 6, 3, 322, 6, 3, 4, 4, 4, 4, 4,
- 4, 3, 8, 498, 502, 4, 4, 4, 3, 8,
- 511, 513, 3, 8, 8, 573, 3, 6, 183, 217,
- 218, 423, 6, 3, 439, 6, 3, 480, 8, 6,
- 4, 4, 4, 4, 184, 186, 184, 186, 184, 4,
- 184, 184, 4, 4, 4, 184, 184, 186, 184, 266,
- 265, 263, 349, 345, 384, 380, 408, 404, 219, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 277, 341, 353, 355, 357, 359, 361, 365, 372, 373,
- 400, 430, 432, 476, 370, 306, 312, 4, 300, 97,
- 98, 219, 277, 400, 430, 432, 486, 487, 488, 489,
- 490, 492, 484, 459, 455, 325, 321, 184, 184, 184,
- 184, 184, 184, 334, 4, 4, 184, 184, 184, 496,
- 4, 4, 509, 157, 159, 160, 219, 277, 430, 432,
- 574, 575, 576, 577, 579, 572, 6, 3, 426, 422,
- 442, 438, 4, 22, 23, 24, 25, 269, 183, 183,
- 183, 183, 183, 183, 183, 8, 8, 8, 8, 3,
- 8, 183, 491, 4, 8, 3, 8, 8, 120, 121,
- 122, 499, 183, 183, 183, 580, 4, 578, 3, 8,
- 183, 8, 8, 183, 373, 4, 186, 488, 4, 184,
- 4, 575, 183, 5, 183, 7, 581, 582, 583, 3,
- 6, 158, 161, 162, 163, 164, 584, 585, 586, 588,
- 589, 590, 591, 582, 587, 4, 4, 4, 592, 3,
- 8, 4, 186, 184, 184, 4, 585, 183, 183
+ 60, 61, 62, 63, 64, 65, 83, 84, 90, 95,
+ 96, 97, 98, 99, 101, 106, 115, 118, 125, 133,
+ 134, 137, 138, 159, 160, 162, 225, 234, 235, 236,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 256, 258, 260, 262,
+ 264, 266, 275, 277, 279, 317, 323, 329, 335, 337,
+ 351, 361, 381, 386, 394, 420, 450, 452, 471, 501,
+ 513, 525, 526, 534, 536, 573, 588, 16, 17, 225,
+ 270, 271, 272, 274, 450, 452, 75, 77, 85, 86,
+ 87, 88, 89, 102, 105, 113, 225, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 250, 251,
+ 252, 253, 256, 258, 260, 262, 369, 370, 371, 373,
+ 375, 377, 379, 381, 384, 385, 420, 438, 450, 452,
+ 454, 471, 496, 76, 225, 377, 379, 420, 446, 447,
+ 448, 450, 452, 78, 79, 80, 81, 82, 225, 377,
+ 379, 420, 450, 452, 462, 463, 464, 466, 467, 469,
+ 470, 101, 107, 108, 109, 110, 111, 112, 225, 420,
+ 450, 452, 479, 480, 481, 482, 484, 486, 488, 490,
+ 492, 494, 394, 21, 66, 68, 69, 72, 73, 74,
+ 225, 297, 404, 405, 406, 407, 408, 409, 410, 412,
+ 414, 416, 417, 419, 450, 452, 67, 70, 71, 225,
+ 297, 408, 414, 428, 429, 430, 431, 432, 434, 435,
+ 436, 437, 450, 452, 116, 117, 225, 345, 346, 347,
+ 349, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 159, 160, 225, 450, 452, 540,
+ 541, 542, 543, 545, 547, 548, 550, 551, 552, 555,
+ 557, 558, 559, 561, 563, 565, 586, 587, 588, 13,
+ 14, 577, 578, 579, 581, 6, 3, 4, 8, 3,
+ 231, 583, 568, 570, 572, 4, 3, 8, 237, 574,
+ 267, 276, 278, 280, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 265, 4, 4, 4,
+ 254, 257, 259, 362, 395, 421, 451, 453, 382, 387,
+ 324, 336, 330, 318, 502, 472, 338, 352, 514, 4,
+ 527, 535, 537, 261, 263, 589, 3, 8, 273, 4,
+ 3, 8, 439, 455, 372, 374, 376, 4, 4, 380,
+ 378, 497, 3, 8, 449, 3, 8, 465, 4, 468,
+ 4, 4, 3, 8, 495, 483, 485, 487, 489, 491,
+ 493, 8, 3, 8, 411, 298, 4, 415, 413, 418,
+ 4, 8, 3, 433, 4, 4, 8, 3, 348, 350,
+ 3, 8, 4, 544, 546, 4, 549, 4, 4, 553,
+ 556, 4, 4, 560, 562, 564, 566, 3, 8, 3,
+ 8, 580, 4, 3, 8, 210, 210, 189, 4, 4,
+ 4, 4, 4, 229, 4, 4, 4, 4, 4, 4,
+ 190, 190, 190, 190, 190, 190, 190, 190, 192, 191,
+ 191, 190, 4, 192, 192, 192, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 190, 4, 4, 4, 4,
+ 4, 4, 235, 4, 192, 271, 4, 4, 4, 4,
+ 4, 190, 192, 4, 4, 4, 370, 4, 447, 4,
+ 190, 4, 190, 190, 463, 4, 4, 4, 4, 4,
+ 4, 4, 481, 4, 4, 190, 4, 4, 4, 192,
+ 406, 4, 192, 192, 430, 4, 4, 346, 192, 4,
+ 4, 190, 4, 190, 190, 4, 4, 192, 192, 4,
+ 4, 4, 4, 541, 587, 4, 190, 578, 4, 7,
+ 7, 210, 210, 210, 189, 7, 7, 7, 7, 5,
+ 189, 155, 156, 157, 158, 192, 255, 189, 189, 5,
+ 5, 5, 212, 214, 189, 91, 92, 93, 94, 383,
+ 5, 5, 5, 5, 7, 5, 5, 5, 7, 7,
+ 7, 214, 7, 189, 189, 5, 5, 221, 5, 5,
+ 189, 189, 189, 221, 189, 7, 189, 189, 189, 221,
+ 221, 221, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 210, 189, 189, 189, 152, 153, 554,
+ 154, 255, 189, 189, 189, 5, 210, 234, 586, 577,
+ 270, 21, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 225, 285, 286, 287, 290, 292, 294, 296, 297, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 310,
+ 311, 313, 315, 285, 7, 281, 282, 283, 7, 363,
+ 364, 365, 7, 398, 399, 400, 7, 422, 423, 424,
+ 7, 388, 389, 390, 109, 189, 325, 326, 327, 328,
+ 219, 110, 112, 327, 331, 332, 333, 334, 100, 319,
+ 320, 321, 7, 503, 504, 7, 473, 474, 475, 7,
+ 339, 340, 341, 119, 120, 121, 122, 123, 124, 353,
+ 354, 355, 356, 357, 358, 359, 360, 21, 129, 130,
+ 131, 132, 225, 299, 450, 452, 515, 516, 517, 520,
+ 521, 523, 524, 135, 136, 225, 450, 452, 528, 529,
+ 530, 532, 540, 7, 590, 591, 222, 7, 440, 441,
+ 442, 7, 456, 457, 458, 114, 482, 498, 499, 281,
+ 8, 8, 8, 8, 288, 291, 293, 295, 4, 4,
+ 4, 4, 4, 309, 4, 4, 312, 314, 316, 4,
+ 4, 4, 4, 3, 8, 8, 284, 6, 3, 366,
+ 6, 3, 401, 6, 3, 425, 6, 3, 391, 6,
+ 3, 3, 6, 6, 3, 6, 322, 3, 8, 505,
+ 3, 6, 476, 6, 3, 342, 6, 3, 4, 4,
+ 4, 4, 4, 4, 3, 8, 518, 522, 4, 4,
+ 4, 3, 8, 531, 533, 3, 8, 8, 592, 3,
+ 6, 189, 223, 224, 443, 6, 3, 459, 6, 3,
+ 500, 8, 6, 4, 4, 4, 4, 190, 192, 190,
+ 192, 190, 4, 190, 190, 4, 4, 4, 190, 190,
+ 192, 190, 286, 285, 283, 369, 365, 404, 400, 428,
+ 424, 225, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 250, 251, 252, 253, 256, 258, 260,
+ 262, 297, 361, 373, 375, 377, 379, 381, 385, 392,
+ 393, 420, 450, 452, 496, 390, 326, 332, 4, 320,
+ 103, 104, 225, 297, 420, 450, 452, 506, 507, 508,
+ 509, 510, 512, 504, 479, 475, 345, 341, 190, 190,
+ 190, 190, 190, 190, 354, 4, 4, 190, 190, 190,
+ 516, 4, 4, 529, 163, 165, 166, 225, 297, 450,
+ 452, 593, 594, 595, 596, 598, 591, 6, 3, 446,
+ 442, 462, 458, 4, 22, 23, 24, 25, 289, 189,
+ 189, 189, 189, 189, 189, 189, 8, 8, 8, 8,
+ 3, 8, 189, 511, 4, 8, 3, 8, 8, 126,
+ 127, 128, 519, 189, 189, 189, 599, 4, 597, 3,
+ 8, 189, 8, 8, 189, 393, 4, 192, 508, 4,
+ 190, 4, 594, 189, 5, 189, 7, 600, 601, 602,
+ 3, 6, 164, 167, 168, 169, 170, 603, 604, 605,
+ 607, 608, 609, 610, 601, 606, 4, 4, 4, 611,
+ 3, 8, 4, 192, 190, 190, 4, 604, 189, 189
};
const unsigned short
Dhcp6Parser::yyr1_[] =
{
- 0, 187, 189, 188, 190, 188, 191, 188, 192, 188,
- 193, 188, 194, 188, 195, 188, 196, 188, 197, 188,
- 198, 188, 199, 188, 200, 188, 201, 188, 202, 188,
- 203, 188, 204, 204, 204, 204, 204, 204, 204, 205,
- 207, 206, 208, 209, 209, 210, 210, 212, 211, 213,
- 213, 214, 214, 216, 215, 217, 217, 218, 218, 219,
- 221, 220, 222, 222, 223, 223, 223, 223, 223, 223,
- 225, 224, 227, 226, 228, 228, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 231,
- 230, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 245, 244, 247, 246, 249, 248, 250,
- 250, 251, 251, 251, 251, 251, 253, 252, 254, 256,
- 255, 258, 257, 260, 259, 261, 261, 262, 262, 264,
- 263, 265, 265, 266, 266, 266, 266, 266, 266, 266,
- 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
- 266, 266, 266, 266, 268, 267, 269, 269, 269, 269,
- 271, 270, 273, 272, 275, 274, 276, 278, 277, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 289, 288,
- 290, 292, 291, 294, 293, 296, 295, 298, 297, 299,
- 299, 300, 302, 301, 304, 303, 305, 305, 306, 306,
- 307, 308, 310, 309, 311, 311, 312, 312, 312, 313,
- 314, 316, 315, 318, 317, 319, 319, 320, 320, 322,
- 321, 324, 323, 325, 325, 325, 326, 326, 328, 327,
- 330, 329, 332, 331, 333, 333, 334, 334, 334, 334,
- 334, 334, 335, 336, 337, 338, 339, 340, 342, 341,
- 343, 343, 344, 344, 346, 345, 348, 347, 349, 349,
- 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
- 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
- 350, 350, 350, 350, 350, 350, 350, 352, 351, 354,
- 353, 356, 355, 358, 357, 360, 359, 362, 361, 363,
- 363, 363, 363, 364, 365, 367, 366, 368, 368, 369,
- 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 375,
- 374, 377, 376, 378, 378, 379, 379, 381, 380, 383,
- 382, 384, 384, 385, 385, 386, 386, 386, 386, 386,
- 386, 386, 386, 386, 386, 387, 388, 389, 391, 390,
- 393, 392, 395, 394, 396, 398, 397, 399, 401, 400,
- 402, 402, 403, 403, 405, 404, 407, 406, 408, 408,
- 409, 409, 410, 410, 410, 410, 410, 410, 410, 410,
- 410, 411, 413, 412, 414, 415, 416, 417, 419, 418,
- 420, 420, 421, 421, 423, 422, 425, 424, 426, 426,
- 427, 427, 427, 427, 427, 427, 427, 429, 428, 431,
- 430, 433, 432, 435, 434, 436, 436, 437, 437, 439,
- 438, 441, 440, 442, 442, 443, 443, 443, 443, 443,
- 443, 443, 443, 443, 443, 443, 445, 444, 446, 448,
- 447, 449, 450, 452, 451, 453, 453, 454, 454, 456,
- 455, 458, 457, 459, 459, 460, 460, 461, 461, 461,
- 461, 461, 461, 461, 461, 461, 461, 461, 463, 462,
- 465, 464, 467, 466, 469, 468, 471, 470, 473, 472,
- 475, 474, 477, 476, 478, 478, 480, 479, 482, 481,
- 483, 483, 485, 484, 486, 486, 487, 487, 488, 488,
- 488, 488, 488, 488, 488, 489, 491, 490, 492, 494,
- 493, 495, 495, 496, 496, 496, 496, 496, 496, 496,
- 496, 496, 498, 497, 499, 499, 499, 500, 502, 501,
- 503, 504, 505, 507, 506, 508, 508, 509, 509, 509,
- 509, 509, 511, 510, 513, 512, 515, 514, 517, 516,
- 519, 518, 520, 520, 521, 521, 521, 521, 521, 521,
- 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
- 521, 521, 522, 524, 523, 526, 525, 527, 529, 528,
- 530, 531, 533, 532, 534, 534, 536, 535, 537, 538,
- 540, 539, 541, 541, 541, 541, 541, 543, 542, 545,
- 544, 547, 546, 549, 548, 551, 550, 553, 552, 555,
- 554, 557, 556, 558, 558, 559, 559, 561, 560, 562,
- 564, 563, 566, 565, 567, 567, 568, 570, 569, 571,
- 571, 573, 572, 574, 574, 575, 575, 575, 575, 575,
- 575, 575, 576, 578, 577, 580, 579, 581, 581, 583,
- 582, 584, 584, 585, 585, 585, 585, 585, 587, 586,
- 588, 589, 590, 592, 591
+ 0, 193, 195, 194, 196, 194, 197, 194, 198, 194,
+ 199, 194, 200, 194, 201, 194, 202, 194, 203, 194,
+ 204, 194, 205, 194, 206, 194, 207, 194, 208, 194,
+ 209, 194, 210, 210, 210, 210, 210, 210, 210, 211,
+ 213, 212, 214, 215, 215, 216, 216, 218, 217, 219,
+ 219, 220, 220, 222, 221, 223, 223, 224, 224, 225,
+ 227, 226, 228, 228, 229, 229, 229, 229, 229, 229,
+ 231, 230, 233, 232, 234, 234, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 237, 236, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 254, 253, 255, 255, 255, 255, 255, 257,
+ 256, 259, 258, 261, 260, 263, 262, 265, 264, 267,
+ 266, 269, 268, 270, 270, 271, 271, 271, 271, 271,
+ 273, 272, 274, 276, 275, 278, 277, 280, 279, 281,
+ 281, 282, 282, 284, 283, 285, 285, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 288, 287,
+ 289, 289, 289, 289, 291, 290, 293, 292, 295, 294,
+ 296, 298, 297, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 309, 308, 310, 312, 311, 314, 313, 316,
+ 315, 318, 317, 319, 319, 320, 322, 321, 324, 323,
+ 325, 325, 326, 326, 327, 328, 330, 329, 331, 331,
+ 332, 332, 332, 333, 334, 336, 335, 338, 337, 339,
+ 339, 340, 340, 342, 341, 344, 343, 345, 345, 345,
+ 346, 346, 348, 347, 350, 349, 352, 351, 353, 353,
+ 354, 354, 354, 354, 354, 354, 355, 356, 357, 358,
+ 359, 360, 362, 361, 363, 363, 364, 364, 366, 365,
+ 368, 367, 369, 369, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 372,
+ 371, 374, 373, 376, 375, 378, 377, 380, 379, 382,
+ 381, 383, 383, 383, 383, 384, 385, 387, 386, 388,
+ 388, 389, 389, 391, 390, 392, 392, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393, 393, 395,
+ 394, 397, 396, 398, 398, 399, 399, 401, 400, 403,
+ 402, 404, 404, 405, 405, 406, 406, 406, 406, 406,
+ 406, 406, 406, 406, 406, 407, 408, 409, 411, 410,
+ 413, 412, 415, 414, 416, 418, 417, 419, 421, 420,
+ 422, 422, 423, 423, 425, 424, 427, 426, 428, 428,
+ 429, 429, 430, 430, 430, 430, 430, 430, 430, 430,
+ 430, 431, 433, 432, 434, 435, 436, 437, 439, 438,
+ 440, 440, 441, 441, 443, 442, 445, 444, 446, 446,
+ 447, 447, 447, 447, 447, 447, 447, 449, 448, 451,
+ 450, 453, 452, 455, 454, 456, 456, 457, 457, 459,
+ 458, 461, 460, 462, 462, 463, 463, 463, 463, 463,
+ 463, 463, 463, 463, 463, 463, 465, 464, 466, 468,
+ 467, 469, 470, 472, 471, 473, 473, 474, 474, 476,
+ 475, 478, 477, 479, 479, 480, 480, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 483, 482,
+ 485, 484, 487, 486, 489, 488, 491, 490, 493, 492,
+ 495, 494, 497, 496, 498, 498, 500, 499, 502, 501,
+ 503, 503, 505, 504, 506, 506, 507, 507, 508, 508,
+ 508, 508, 508, 508, 508, 509, 511, 510, 512, 514,
+ 513, 515, 515, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 518, 517, 519, 519, 519, 520, 522, 521,
+ 523, 524, 525, 527, 526, 528, 528, 529, 529, 529,
+ 529, 529, 531, 530, 533, 532, 535, 534, 537, 536,
+ 539, 538, 540, 540, 541, 541, 541, 541, 541, 541,
+ 541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
+ 541, 541, 542, 544, 543, 546, 545, 547, 549, 548,
+ 550, 551, 553, 552, 554, 554, 556, 555, 557, 558,
+ 560, 559, 562, 561, 564, 563, 566, 565, 568, 567,
+ 570, 569, 572, 571, 574, 573, 576, 575, 577, 577,
+ 578, 578, 580, 579, 581, 583, 582, 585, 584, 586,
+ 586, 587, 589, 588, 590, 590, 592, 591, 593, 593,
+ 594, 594, 594, 594, 594, 594, 594, 595, 597, 596,
+ 599, 598, 600, 600, 602, 601, 603, 603, 604, 604,
+ 604, 604, 604, 606, 605, 607, 608, 609, 611, 610
};
const unsigned char
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, 0,
- 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 0, 4, 0, 6, 0, 4, 1,
- 3, 1, 1, 1, 1, 1, 0, 4, 3, 0,
- 6, 0, 6, 0, 6, 0, 1, 1, 3, 0,
- 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 4, 1, 1, 1, 1,
- 0, 4, 0, 4, 0, 4, 3, 0, 4, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 0, 4,
- 3, 0, 4, 0, 4, 0, 4, 0, 6, 1,
- 3, 1, 0, 4, 0, 6, 1, 3, 1, 1,
- 1, 1, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 0, 6, 0, 6, 0, 1, 1, 3, 0,
- 4, 0, 4, 1, 3, 1, 1, 1, 0, 4,
- 0, 4, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 1, 3, 3, 3, 3, 3, 3, 0, 6,
- 0, 1, 1, 3, 0, 4, 0, 4, 1, 3,
+ 1, 1, 1, 1, 1, 0, 4, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 0, 4, 1, 1, 1, 1, 1, 0,
+ 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
+ 6, 0, 4, 1, 3, 1, 1, 1, 1, 1,
+ 0, 4, 3, 0, 6, 0, 6, 0, 6, 0,
+ 1, 1, 3, 0, 4, 1, 3, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
+ 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
+ 3, 0, 4, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 0, 4, 3, 0, 4, 0, 4, 0,
+ 4, 0, 6, 1, 3, 1, 0, 4, 0, 6,
+ 1, 3, 1, 1, 1, 1, 0, 6, 1, 3,
+ 1, 1, 1, 1, 1, 0, 6, 0, 6, 0,
+ 1, 1, 3, 0, 4, 0, 4, 1, 3, 1,
+ 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
+ 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
+ 3, 3, 0, 6, 0, 1, 1, 3, 0, 4,
+ 0, 4, 1, 3, 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, 0,
+ 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
+ 4, 1, 1, 1, 1, 3, 3, 0, 6, 0,
+ 1, 1, 3, 0, 4, 1, 3, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
- 4, 0, 4, 0, 4, 0, 4, 0, 4, 1,
- 1, 1, 1, 3, 3, 0, 6, 0, 1, 1,
- 3, 0, 4, 1, 3, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6, 0, 4, 0, 1, 1, 3, 0, 4, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 3, 0, 4, 0, 4, 3, 0, 4,
3, 3, 0, 4, 1, 1, 0, 4, 3, 3,
- 0, 4, 1, 1, 1, 1, 1, 0, 4, 0,
- 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
- 6, 0, 4, 1, 3, 1, 1, 0, 6, 3,
- 0, 6, 0, 4, 1, 3, 1, 0, 6, 1,
- 3, 0, 4, 1, 3, 1, 1, 1, 1, 1,
- 1, 1, 3, 0, 4, 0, 6, 1, 3, 0,
- 4, 1, 3, 1, 1, 1, 1, 1, 0, 4,
- 3, 3, 3, 0, 4
+ 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
+ 0, 4, 0, 4, 0, 6, 0, 4, 1, 3,
+ 1, 1, 0, 6, 3, 0, 6, 0, 4, 1,
+ 3, 1, 0, 6, 1, 3, 0, 4, 1, 3,
+ 1, 1, 1, 1, 1, 1, 1, 3, 0, 4,
+ 0, 6, 1, 3, 0, 4, 1, 3, 1, 1,
+ 1, 1, 1, 0, 4, 3, 3, 3, 0, 4
};
"\"valid-lifetime\"", "\"min-valid-lifetime\"", "\"max-valid-lifetime\"",
"\"renew-timer\"", "\"rebind-timer\"", "\"calculate-tee-times\"",
"\"t1-percent\"", "\"t2-percent\"", "\"decline-probation-period\"",
- "\"server-tag\"", "\"subnet6\"", "\"option-def\"", "\"option-data\"",
- "\"name\"", "\"data\"", "\"code\"", "\"space\"", "\"csv-format\"",
- "\"always-send\"", "\"record-types\"", "\"encapsulate\"", "\"array\"",
- "\"pools\"", "\"pool\"", "\"pd-pools\"", "\"prefix\"", "\"prefix-len\"",
- "\"excluded-prefix\"", "\"excluded-prefix-len\"", "\"delegated-len\"",
- "\"user-context\"", "\"comment\"", "\"subnet\"", "\"interface\"",
- "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"",
- "\"disabled\"", "\"out-of-pool\"", "\"global\"", "\"all\"",
- "\"shared-networks\"", "\"mac-sources\"", "\"relay-supplied-options\"",
+ "\"server-tag\"", "\"ddns-send-updates\"", "\"ddns-override-no-update\"",
+ "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"",
+ "\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"", "\"subnet6\"",
+ "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"",
+ "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"",
+ "\"encapsulate\"", "\"array\"", "\"pools\"", "\"pool\"", "\"pd-pools\"",
+ "\"prefix\"", "\"prefix-len\"", "\"excluded-prefix\"",
+ "\"excluded-prefix-len\"", "\"delegated-len\"", "\"user-context\"",
+ "\"comment\"", "\"subnet\"", "\"interface\"", "\"interface-id\"",
+ "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", "\"disabled\"",
+ "\"out-of-pool\"", "\"global\"", "\"all\"", "\"shared-networks\"",
+ "\"mac-sources\"", "\"relay-supplied-options\"",
"\"host-reservation-identifiers\"", "\"sanity-checks\"",
"\"lease-checks\"", "\"client-classes\"", "\"require-client-classes\"",
"\"test\"", "\"only-if-required\"", "\"client-class\"",
"preferred_lifetime", "min_preferred_lifetime", "max_preferred_lifetime",
"valid_lifetime", "min_valid_lifetime", "max_valid_lifetime",
"renew_timer", "rebind_timer", "calculate_tee_times", "t1_percent",
- "t2_percent", "decline_probation_period", "server_tag", "$@23",
- "interfaces_config", "$@24", "sub_interfaces6", "$@25",
- "interfaces_config_params", "interfaces_config_param", "interfaces_list",
- "$@26", "re_detect", "lease_database", "$@27", "hosts_database", "$@28",
- "hosts_databases", "$@29", "database_list", "not_empty_database_list",
- "database", "$@30", "database_map_params", "database_map_param",
- "database_type", "$@31", "db_type", "user", "$@32", "password", "$@33",
- "host", "$@34", "port", "name", "$@35", "persist", "lfc_interval",
- "readonly", "connect_timeout", "reconnect_wait_time", "max_row_errors",
- "request_timeout", "tcp_keepalive", "tcp_nodelay", "contact_points",
- "$@36", "max_reconnect_tries", "keyspace", "$@37", "consistency", "$@38",
- "serial_consistency", "$@39", "sanity_checks", "$@40",
- "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@41",
- "mac_sources", "$@42", "mac_sources_list", "mac_sources_value",
- "duid_id", "string_id", "host_reservation_identifiers", "$@43",
+ "t2_percent", "decline_probation_period", "ddns_send_updates",
+ "ddns_override_no_update", "ddns_override_client_update",
+ "ddns_replace_client_name", "$@23", "ddns_replace_client_name_value",
+ "ddns_generated_prefix", "$@24", "ddns_qualifying_suffix", "$@25",
+ "hostname_char_set", "$@26", "hostname_char_replacement", "$@27",
+ "server_tag", "$@28", "interfaces_config", "$@29", "sub_interfaces6",
+ "$@30", "interfaces_config_params", "interfaces_config_param",
+ "interfaces_list", "$@31", "re_detect", "lease_database", "$@32",
+ "hosts_database", "$@33", "hosts_databases", "$@34", "database_list",
+ "not_empty_database_list", "database", "$@35", "database_map_params",
+ "database_map_param", "database_type", "$@36", "db_type", "user", "$@37",
+ "password", "$@38", "host", "$@39", "port", "name", "$@40", "persist",
+ "lfc_interval", "readonly", "connect_timeout", "reconnect_wait_time",
+ "max_row_errors", "request_timeout", "tcp_keepalive", "tcp_nodelay",
+ "contact_points", "$@41", "max_reconnect_tries", "keyspace", "$@42",
+ "consistency", "$@43", "serial_consistency", "$@44", "sanity_checks",
+ "$@45", "sanity_checks_params", "sanity_checks_param", "lease_checks",
+ "$@46", "mac_sources", "$@47", "mac_sources_list", "mac_sources_value",
+ "duid_id", "string_id", "host_reservation_identifiers", "$@48",
"host_reservation_identifiers_list", "host_reservation_identifier",
- "hw_address_id", "flex_id", "relay_supplied_options", "$@44",
- "hooks_libraries", "$@45", "hooks_libraries_list",
- "not_empty_hooks_libraries_list", "hooks_library", "$@46",
- "sub_hooks_library", "$@47", "hooks_params", "hooks_param", "library",
- "$@48", "parameters", "$@49", "expired_leases_processing", "$@50",
+ "hw_address_id", "flex_id", "relay_supplied_options", "$@49",
+ "hooks_libraries", "$@50", "hooks_libraries_list",
+ "not_empty_hooks_libraries_list", "hooks_library", "$@51",
+ "sub_hooks_library", "$@52", "hooks_params", "hooks_param", "library",
+ "$@53", "parameters", "$@54", "expired_leases_processing", "$@55",
"expired_leases_params", "expired_leases_param",
"reclaim_timer_wait_time", "flush_reclaimed_timer_wait_time",
"hold_reclaimed_time", "max_reclaim_leases", "max_reclaim_time",
- "unwarned_reclaim_cycles", "subnet6_list", "$@51",
- "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@52",
- "sub_subnet6", "$@53", "subnet6_params", "subnet6_param", "subnet",
- "$@54", "interface", "$@55", "interface_id", "$@56", "client_class",
- "$@57", "require_client_classes", "$@58", "reservation_mode", "$@59",
- "hr_mode", "id", "rapid_commit", "shared_networks", "$@60",
+ "unwarned_reclaim_cycles", "subnet6_list", "$@56",
+ "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@57",
+ "sub_subnet6", "$@58", "subnet6_params", "subnet6_param", "subnet",
+ "$@59", "interface", "$@60", "interface_id", "$@61", "client_class",
+ "$@62", "require_client_classes", "$@63", "reservation_mode", "$@64",
+ "hr_mode", "id", "rapid_commit", "shared_networks", "$@65",
"shared_networks_content", "shared_networks_list", "shared_network",
- "$@61", "shared_network_params", "shared_network_param",
- "option_def_list", "$@62", "sub_option_def_list", "$@63",
+ "$@66", "shared_network_params", "shared_network_param",
+ "option_def_list", "$@67", "sub_option_def_list", "$@68",
"option_def_list_content", "not_empty_option_def_list",
- "option_def_entry", "$@64", "sub_option_def", "$@65",
+ "option_def_entry", "$@69", "sub_option_def", "$@70",
"option_def_params", "not_empty_option_def_params", "option_def_param",
- "option_def_name", "code", "option_def_code", "option_def_type", "$@66",
- "option_def_record_types", "$@67", "space", "$@68", "option_def_space",
- "option_def_encapsulate", "$@69", "option_def_array", "option_data_list",
- "$@70", "option_data_list_content", "not_empty_option_data_list",
- "option_data_entry", "$@71", "sub_option_data", "$@72",
+ "option_def_name", "code", "option_def_code", "option_def_type", "$@71",
+ "option_def_record_types", "$@72", "space", "$@73", "option_def_space",
+ "option_def_encapsulate", "$@74", "option_def_array", "option_data_list",
+ "$@75", "option_data_list_content", "not_empty_option_data_list",
+ "option_data_entry", "$@76", "sub_option_data", "$@77",
"option_data_params", "not_empty_option_data_params",
- "option_data_param", "option_data_name", "option_data_data", "$@73",
+ "option_data_param", "option_data_name", "option_data_data", "$@78",
"option_data_code", "option_data_space", "option_data_csv_format",
- "option_data_always_send", "pools_list", "$@74", "pools_list_content",
- "not_empty_pools_list", "pool_list_entry", "$@75", "sub_pool6", "$@76",
- "pool_params", "pool_param", "pool_entry", "$@77", "user_context",
- "$@78", "comment", "$@79", "pd_pools_list", "$@80",
+ "option_data_always_send", "pools_list", "$@79", "pools_list_content",
+ "not_empty_pools_list", "pool_list_entry", "$@80", "sub_pool6", "$@81",
+ "pool_params", "pool_param", "pool_entry", "$@82", "user_context",
+ "$@83", "comment", "$@84", "pd_pools_list", "$@85",
"pd_pools_list_content", "not_empty_pd_pools_list", "pd_pool_entry",
- "$@81", "sub_pd_pool", "$@82", "pd_pool_params", "pd_pool_param",
- "pd_prefix", "$@83", "pd_prefix_len", "excluded_prefix", "$@84",
- "excluded_prefix_len", "pd_delegated_len", "reservations", "$@85",
+ "$@86", "sub_pd_pool", "$@87", "pd_pool_params", "pd_pool_param",
+ "pd_prefix", "$@88", "pd_prefix_len", "excluded_prefix", "$@89",
+ "excluded_prefix_len", "pd_delegated_len", "reservations", "$@90",
"reservations_list", "not_empty_reservations_list", "reservation",
- "$@86", "sub_reservation", "$@87", "reservation_params",
+ "$@91", "sub_reservation", "$@92", "reservation_params",
"not_empty_reservation_params", "reservation_param", "ip_addresses",
- "$@88", "prefixes", "$@89", "duid", "$@90", "hw_address", "$@91",
- "hostname", "$@92", "flex_id_value", "$@93",
- "reservation_client_classes", "$@94", "relay", "$@95", "relay_map",
- "ip_address", "$@96", "client_classes", "$@97", "client_classes_list",
- "client_class_entry", "$@98", "client_class_params",
+ "$@93", "prefixes", "$@94", "duid", "$@95", "hw_address", "$@96",
+ "hostname", "$@97", "flex_id_value", "$@98",
+ "reservation_client_classes", "$@99", "relay", "$@100", "relay_map",
+ "ip_address", "$@101", "client_classes", "$@102", "client_classes_list",
+ "client_class_entry", "$@103", "client_class_params",
"not_empty_client_class_params", "client_class_param",
- "client_class_name", "client_class_test", "$@99", "only_if_required",
- "server_id", "$@100", "server_id_params", "server_id_param",
- "server_id_type", "$@101", "duid_type", "htype", "identifier", "$@102",
- "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@103",
- "control_socket_params", "control_socket_param", "socket_type", "$@104",
- "socket_name", "$@105", "dhcp_queue_control", "$@106", "dhcp_ddns",
- "$@107", "sub_dhcp_ddns", "$@108", "dhcp_ddns_params", "dhcp_ddns_param",
- "enable_updates", "qualifying_suffix", "$@109", "server_ip", "$@110",
- "server_port", "sender_ip", "$@111", "sender_port", "max_queue_size",
- "ncr_protocol", "$@112", "ncr_protocol_value", "ncr_format", "$@113",
- "override_no_update", "override_client_update", "replace_client_name",
- "$@114", "replace_client_name_value", "generated_prefix", "$@115",
- "hostname_char_set", "$@116", "hostname_char_replacement", "$@117",
- "dhcp4_json_object", "$@118", "dhcpddns_json_object", "$@119",
- "control_agent_json_object", "$@120", "config_control", "$@121",
- "sub_config_control", "$@122", "config_control_params",
- "config_control_param", "config_databases", "$@123",
- "config_fetch_wait_time", "logging_object", "$@124", "sub_logging",
- "$@125", "logging_params", "logging_param", "loggers", "$@126",
- "loggers_entries", "logger_entry", "$@127", "logger_params",
- "logger_param", "debuglevel", "severity", "$@128", "output_options_list",
- "$@129", "output_options_list_content", "output_entry", "$@130",
- "output_params_list", "output_params", "output", "$@131", "flush",
- "maxsize", "maxver", "pattern", "$@132", YY_NULLPTR
+ "client_class_name", "client_class_test", "$@104", "only_if_required",
+ "server_id", "$@105", "server_id_params", "server_id_param",
+ "server_id_type", "$@106", "duid_type", "htype", "identifier", "$@107",
+ "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@108",
+ "control_socket_params", "control_socket_param", "socket_type", "$@109",
+ "socket_name", "$@110", "dhcp_queue_control", "$@111", "dhcp_ddns",
+ "$@112", "sub_dhcp_ddns", "$@113", "dhcp_ddns_params", "dhcp_ddns_param",
+ "enable_updates", "qualifying_suffix", "$@114", "server_ip", "$@115",
+ "server_port", "sender_ip", "$@116", "sender_port", "max_queue_size",
+ "ncr_protocol", "$@117", "ncr_protocol_value", "ncr_format", "$@118",
+ "dep_override_no_update", "dep_override_client_update",
+ "dep_replace_client_name", "$@119", "dep_generated_prefix", "$@120",
+ "dep_hostname_char_set", "$@121", "dep_hostname_char_replacement",
+ "$@122", "dhcp4_json_object", "$@123", "dhcpddns_json_object", "$@124",
+ "control_agent_json_object", "$@125", "config_control", "$@126",
+ "sub_config_control", "$@127", "config_control_params",
+ "config_control_param", "config_databases", "$@128",
+ "config_fetch_wait_time", "logging_object", "$@129", "sub_logging",
+ "$@130", "logging_params", "logging_param", "loggers", "$@131",
+ "loggers_entries", "logger_entry", "$@132", "logger_params",
+ "logger_param", "debuglevel", "severity", "$@133", "output_options_list",
+ "$@134", "output_options_list_content", "output_entry", "$@135",
+ "output_params_list", "output_params", "output", "$@136", "flush",
+ "maxsize", "maxver", "pattern", "$@137", YY_NULLPTR
};
#if PARSER6_DEBUG
const unsigned short
Dhcp6Parser::yyrline_[] =
{
- 0, 271, 271, 271, 272, 272, 273, 273, 274, 274,
- 275, 275, 276, 276, 277, 277, 278, 278, 279, 279,
- 280, 280, 281, 281, 282, 282, 283, 283, 284, 284,
- 285, 285, 293, 294, 295, 296, 297, 298, 299, 302,
- 307, 307, 318, 321, 322, 325, 329, 336, 336, 343,
- 344, 347, 351, 358, 358, 365, 366, 369, 373, 384,
- 394, 394, 409, 410, 414, 415, 416, 417, 418, 419,
- 422, 422, 437, 437, 446, 447, 452, 453, 454, 455,
- 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
- 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
- 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 497,
- 497, 505, 510, 515, 520, 525, 530, 535, 540, 545,
- 550, 555, 560, 565, 565, 573, 573, 584, 584, 593,
- 594, 597, 598, 599, 600, 601, 604, 604, 614, 620,
- 620, 632, 632, 644, 644, 654, 655, 658, 659, 662,
- 662, 672, 673, 676, 677, 678, 679, 680, 681, 682,
- 683, 684, 685, 686, 687, 688, 689, 690, 691, 692,
- 693, 694, 695, 696, 699, 699, 706, 707, 708, 709,
- 712, 712, 720, 720, 728, 728, 736, 741, 741, 749,
- 754, 759, 764, 769, 774, 779, 784, 789, 794, 794,
- 802, 807, 807, 815, 815, 823, 823, 831, 831, 841,
- 842, 844, 846, 846, 864, 864, 874, 875, 878, 879,
- 882, 887, 892, 892, 902, 903, 906, 907, 908, 911,
- 916, 923, 923, 933, 933, 943, 944, 947, 948, 951,
- 951, 961, 961, 971, 972, 973, 976, 977, 980, 980,
- 988, 988, 996, 996, 1007, 1008, 1011, 1012, 1013, 1014,
- 1015, 1016, 1019, 1024, 1029, 1034, 1039, 1044, 1052, 1052,
- 1065, 1066, 1069, 1070, 1077, 1077, 1103, 1103, 1114, 1115,
- 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, 1148, 1148, 1156,
- 1156, 1164, 1164, 1172, 1172, 1180, 1180, 1190, 1190, 1197,
- 1198, 1199, 1200, 1203, 1208, 1216, 1216, 1227, 1228, 1232,
- 1233, 1236, 1236, 1244, 1245, 1248, 1249, 1250, 1251, 1252,
- 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262,
- 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1278,
- 1278, 1291, 1291, 1300, 1301, 1304, 1305, 1310, 1310, 1325,
- 1325, 1339, 1340, 1343, 1344, 1347, 1348, 1349, 1350, 1351,
- 1352, 1353, 1354, 1355, 1356, 1359, 1361, 1366, 1368, 1368,
- 1376, 1376, 1384, 1384, 1392, 1394, 1394, 1402, 1411, 1411,
- 1423, 1424, 1429, 1430, 1435, 1435, 1447, 1447, 1459, 1460,
- 1465, 1466, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478,
- 1479, 1482, 1484, 1484, 1492, 1494, 1496, 1501, 1509, 1509,
- 1521, 1522, 1525, 1526, 1529, 1529, 1539, 1539, 1548, 1549,
- 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1561, 1561, 1569,
- 1569, 1594, 1594, 1624, 1624, 1636, 1637, 1640, 1641, 1644,
- 1644, 1656, 1656, 1668, 1669, 1672, 1673, 1674, 1675, 1676,
- 1677, 1678, 1679, 1680, 1681, 1682, 1685, 1685, 1693, 1698,
- 1698, 1706, 1711, 1719, 1719, 1729, 1730, 1733, 1734, 1737,
- 1737, 1746, 1746, 1755, 1756, 1759, 1760, 1764, 1765, 1766,
- 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1777, 1777,
- 1787, 1787, 1797, 1797, 1805, 1805, 1813, 1813, 1821, 1821,
- 1829, 1829, 1842, 1842, 1852, 1853, 1856, 1856, 1867, 1867,
- 1877, 1878, 1881, 1881, 1891, 1892, 1895, 1896, 1899, 1900,
- 1901, 1902, 1903, 1904, 1905, 1908, 1910, 1910, 1918, 1926,
- 1926, 1938, 1939, 1942, 1943, 1944, 1945, 1946, 1947, 1948,
- 1949, 1950, 1953, 1953, 1960, 1961, 1962, 1965, 1970, 1970,
- 1978, 1983, 1990, 1997, 1997, 2007, 2008, 2011, 2012, 2013,
- 2014, 2015, 2018, 2018, 2026, 2026, 2036, 2036, 2076, 2076,
- 2088, 2088, 2098, 2099, 2102, 2103, 2104, 2105, 2106, 2107,
- 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117,
- 2118, 2119, 2122, 2127, 2127, 2135, 2135, 2143, 2148, 2148,
- 2156, 2161, 2166, 2166, 2174, 2175, 2178, 2178, 2186, 2191,
- 2196, 2196, 2204, 2207, 2210, 2213, 2216, 2222, 2222, 2230,
- 2230, 2238, 2238, 2248, 2248, 2255, 2255, 2262, 2262, 2271,
- 2271, 2282, 2282, 2292, 2293, 2297, 2298, 2301, 2301, 2311,
- 2321, 2321, 2331, 2331, 2342, 2343, 2347, 2351, 2351, 2363,
- 2364, 2368, 2368, 2376, 2377, 2380, 2381, 2382, 2383, 2384,
- 2385, 2386, 2389, 2394, 2394, 2402, 2402, 2412, 2413, 2416,
- 2416, 2424, 2425, 2428, 2429, 2430, 2431, 2432, 2435, 2435,
- 2443, 2448, 2453, 2458, 2458
+ 0, 277, 277, 277, 278, 278, 279, 279, 280, 280,
+ 281, 281, 282, 282, 283, 283, 284, 284, 285, 285,
+ 286, 286, 287, 287, 288, 288, 289, 289, 290, 290,
+ 291, 291, 299, 300, 301, 302, 303, 304, 305, 308,
+ 313, 313, 324, 327, 328, 331, 335, 342, 342, 349,
+ 350, 353, 357, 364, 364, 371, 372, 375, 379, 390,
+ 400, 400, 415, 416, 420, 421, 422, 423, 424, 425,
+ 428, 428, 443, 443, 452, 453, 458, 459, 460, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
+ 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
+ 502, 503, 504, 505, 506, 509, 509, 517, 522, 527,
+ 532, 537, 542, 547, 552, 557, 562, 567, 572, 577,
+ 582, 587, 592, 592, 600, 603, 606, 609, 612, 618,
+ 618, 626, 626, 634, 634, 642, 642, 650, 650, 658,
+ 658, 669, 669, 678, 679, 682, 683, 684, 685, 686,
+ 689, 689, 699, 705, 705, 717, 717, 729, 729, 739,
+ 740, 743, 744, 747, 747, 757, 758, 761, 762, 763,
+ 764, 765, 766, 767, 768, 769, 770, 771, 772, 773,
+ 774, 775, 776, 777, 778, 779, 780, 781, 784, 784,
+ 791, 792, 793, 794, 797, 797, 805, 805, 813, 813,
+ 821, 826, 826, 834, 839, 844, 849, 854, 859, 864,
+ 869, 874, 879, 879, 887, 892, 892, 900, 900, 908,
+ 908, 916, 916, 926, 927, 929, 931, 931, 949, 949,
+ 959, 960, 963, 964, 967, 972, 977, 977, 987, 988,
+ 991, 992, 993, 996, 1001, 1008, 1008, 1018, 1018, 1028,
+ 1029, 1032, 1033, 1036, 1036, 1046, 1046, 1056, 1057, 1058,
+ 1061, 1062, 1065, 1065, 1073, 1073, 1081, 1081, 1092, 1093,
+ 1096, 1097, 1098, 1099, 1100, 1101, 1104, 1109, 1114, 1119,
+ 1124, 1129, 1137, 1137, 1150, 1151, 1154, 1155, 1162, 1162,
+ 1188, 1188, 1199, 1200, 1204, 1205, 1206, 1207, 1208, 1209,
+ 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
+ 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229,
+ 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1241,
+ 1241, 1249, 1249, 1257, 1257, 1265, 1265, 1273, 1273, 1283,
+ 1283, 1290, 1291, 1292, 1293, 1296, 1301, 1309, 1309, 1320,
+ 1321, 1325, 1326, 1329, 1329, 1337, 1338, 1341, 1342, 1343,
+ 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353,
+ 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
+ 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1379,
+ 1379, 1392, 1392, 1401, 1402, 1405, 1406, 1411, 1411, 1426,
+ 1426, 1440, 1441, 1444, 1445, 1448, 1449, 1450, 1451, 1452,
+ 1453, 1454, 1455, 1456, 1457, 1460, 1462, 1467, 1469, 1469,
+ 1477, 1477, 1485, 1485, 1493, 1495, 1495, 1503, 1512, 1512,
+ 1524, 1525, 1530, 1531, 1536, 1536, 1548, 1548, 1560, 1561,
+ 1566, 1567, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579,
+ 1580, 1583, 1585, 1585, 1593, 1595, 1597, 1602, 1610, 1610,
+ 1622, 1623, 1626, 1627, 1630, 1630, 1640, 1640, 1649, 1650,
+ 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1662, 1662, 1670,
+ 1670, 1695, 1695, 1725, 1725, 1737, 1738, 1741, 1742, 1745,
+ 1745, 1757, 1757, 1769, 1770, 1773, 1774, 1775, 1776, 1777,
+ 1778, 1779, 1780, 1781, 1782, 1783, 1786, 1786, 1794, 1799,
+ 1799, 1807, 1812, 1820, 1820, 1830, 1831, 1834, 1835, 1838,
+ 1838, 1847, 1847, 1856, 1857, 1860, 1861, 1865, 1866, 1867,
+ 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1878, 1878,
+ 1888, 1888, 1898, 1898, 1906, 1906, 1914, 1914, 1922, 1922,
+ 1930, 1930, 1943, 1943, 1953, 1954, 1957, 1957, 1968, 1968,
+ 1978, 1979, 1982, 1982, 1992, 1993, 1996, 1997, 2000, 2001,
+ 2002, 2003, 2004, 2005, 2006, 2009, 2011, 2011, 2019, 2027,
+ 2027, 2039, 2040, 2043, 2044, 2045, 2046, 2047, 2048, 2049,
+ 2050, 2051, 2054, 2054, 2061, 2062, 2063, 2066, 2071, 2071,
+ 2079, 2084, 2091, 2098, 2098, 2108, 2109, 2112, 2113, 2114,
+ 2115, 2116, 2119, 2119, 2127, 2127, 2137, 2137, 2177, 2177,
+ 2189, 2189, 2199, 2200, 2203, 2204, 2205, 2206, 2207, 2208,
+ 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218,
+ 2219, 2220, 2223, 2228, 2228, 2236, 2236, 2244, 2249, 2249,
+ 2257, 2262, 2267, 2267, 2275, 2276, 2279, 2279, 2288, 2294,
+ 2300, 2300, 2308, 2308, 2317, 2317, 2326, 2326, 2336, 2336,
+ 2343, 2343, 2350, 2350, 2359, 2359, 2370, 2370, 2380, 2381,
+ 2385, 2386, 2389, 2389, 2399, 2409, 2409, 2419, 2419, 2430,
+ 2431, 2435, 2439, 2439, 2451, 2452, 2456, 2456, 2464, 2465,
+ 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2477, 2482, 2482,
+ 2490, 2490, 2500, 2501, 2504, 2504, 2512, 2513, 2516, 2517,
+ 2518, 2519, 2520, 2523, 2523, 2531, 2536, 2541, 2546, 2546
};
// Print the state stack on the debug stream.
#endif // PARSER6_DEBUG
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:1218
} } // isc::dhcp
-#line 5291 "dhcp6_parser.cc"
-
-#line 2466 "dhcp6_parser.yy"
+#line 5439 "dhcp6_parser.cc" // lalr1.cc:1218
+#line 2554 "dhcp6_parser.yy" // lalr1.cc:1219
void
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
// Skeleton interface for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
#ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
# define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
// // "%code requires" blocks.
-#line 17 "dhcp6_parser.yy"
+#line 17 "dhcp6_parser.yy" // lalr1.cc:404
#include <string>
#include <cc/data.h>
using namespace isc::data;
using namespace std;
-#line 60 "dhcp6_parser.h"
+#line 60 "dhcp6_parser.h" // lalr1.cc:404
# include <cassert>
# include <cstdlib> // std::abort
# include <string>
# include <vector>
-#if defined __cplusplus
-# define YY_CPLUSPLUS __cplusplus
-#else
-# define YY_CPLUSPLUS 199711L
-#endif
-
// Support move semantics when possible.
-#if 201103L <= YY_CPLUSPLUS
+#if defined __cplusplus && 201103L <= __cplusplus
# define YY_MOVE std::move
# define YY_MOVE_OR_COPY move
# define YY_MOVE_REF(Type) Type&&
# define YY_RVREF(Type) const Type&
# define YY_COPY(Type) const Type&
#endif
-
-// Support noexcept when possible.
-#if 201103L <= YY_CPLUSPLUS
-# define YY_NOEXCEPT noexcept
-# define YY_NOTHROW
-#else
-# define YY_NOEXCEPT
-# define YY_NOTHROW throw ()
-#endif
-
-// Support constexpr when possible.
-#if 201703 <= YY_CPLUSPLUS
-# define YY_CONSTEXPR constexpr
-#else
-# define YY_CONSTEXPR
-#endif
# include "location.hh"
#include <typeinfo>
#ifndef YYASSERT
# endif /* ! defined YYDEBUG */
#endif /* ! defined PARSER6_DEBUG */
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:404
namespace isc { namespace dhcp {
-#line 184 "dhcp6_parser.h"
+#line 162 "dhcp6_parser.h" // lalr1.cc:404
+
+ /// A stack with random access from its top.
+ template <typename T, typename S = std::vector<T> >
+ class stack
+ {
+ public:
+ // Hide our reversed order.
+ typedef typename S::reverse_iterator iterator;
+ typedef typename S::const_reverse_iterator const_iterator;
+ typedef typename S::size_type size_type;
+ stack (size_type n = 200)
+ : seq_ (n)
+ {}
+
+ /// Random access.
+ ///
+ /// Index 0 returns the topmost element.
+ T&
+ operator[] (size_type i)
+ {
+ return seq_[size () - 1 - i];
+ }
+ /// Random access.
+ ///
+ /// Index 0 returns the topmost element.
+ T&
+ operator[] (int i)
+ {
+ return operator[] (size_type (i));
+ }
+ /// Random access.
+ ///
+ /// Index 0 returns the topmost element.
+ const T&
+ operator[] (size_type i) const
+ {
+ return seq_[size () - 1 - i];
+ }
- /// A Bison parser.
- class Dhcp6Parser
+ /// Random access.
+ ///
+ /// Index 0 returns the topmost element.
+ const T&
+ operator[] (int i) const
+ {
+ return operator[] (size_type (i));
+ }
+
+ /// Steal the contents of \a t.
+ ///
+ /// Close to move-semantics.
+ void
+ push (YY_MOVE_REF (T) t)
+ {
+ seq_.push_back (T ());
+ operator[](0).move (t);
+ }
+
+ void
+ pop (int n = 1)
+ {
+ for (; 0 < n; --n)
+ seq_.pop_back ();
+ }
+
+ void
+ clear ()
+ {
+ seq_.clear ();
+ }
+
+ size_type
+ size () const
+ {
+ return seq_.size ();
+ }
+
+ const_iterator
+ begin () const
+ {
+ return seq_.rbegin ();
+ }
+
+ const_iterator
+ end () const
+ {
+ return seq_.rend ();
+ }
+
+ private:
+ stack (const stack&);
+ stack& operator= (const stack&);
+ /// The wrapped container.
+ S seq_;
+ };
+
+ /// Present a slice of the top of a stack.
+ template <typename T, typename S = stack<T> >
+ class slice
{
public:
-#ifndef PARSER6_STYPE
- /// A buffer to store and retrieve objects.
+ slice (const S& stack, int range)
+ : stack_ (stack)
+ , range_ (range)
+ {}
+
+ const T&
+ operator[] (int i) const
+ {
+ return stack_[range_ - i];
+ }
+
+ private:
+ const S& stack_;
+ int range_;
+ };
+
+
+
+ /// A char[S] buffer to store and retrieve objects.
///
/// Sort of a variant, but does not keep track of the nature
/// of the stored data, since that knowledge is available
- /// via the current parser state.
- class semantic_type
+ /// via the current state.
+ template <size_t S>
+ struct variant
{
- public:
/// Type of *this.
- typedef semantic_type self_type;
+ typedef variant<S> self_type;
/// Empty construction.
- semantic_type () YY_NOEXCEPT
+ variant ()
: yybuffer_ ()
, yytypeid_ (YY_NULLPTR)
{}
/// Construct and fill.
template <typename T>
- semantic_type (YY_RVREF (T) t)
+ variant (YY_RVREF (T) t)
: yytypeid_ (&typeid (T))
{
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
new (yyas_<T> ()) T (YY_MOVE (t));
}
/// Destruction, allowed only if empty.
- ~semantic_type () YY_NOEXCEPT
+ ~variant ()
{
YYASSERT (!yytypeid_);
}
-# if 201103L <= YY_CPLUSPLUS
- /// Instantiate a \a T in here from \a t.
- template <typename T, typename... U>
- T&
- emplace (U&&... u)
- {
- YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
- yytypeid_ = & typeid (T);
- return *new (yyas_<T> ()) T (std::forward <U>(u)...);
- }
-# else
/// Instantiate an empty \a T in here.
template <typename T>
T&
emplace ()
{
YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
yytypeid_ = & typeid (T);
return *new (yyas_<T> ()) T ();
}
+# if defined __cplusplus && 201103L <= __cplusplus
+ /// Instantiate a \a T in here from \a t.
+ template <typename T, typename U>
+ T&
+ emplace (U&& u)
+ {
+ YYASSERT (!yytypeid_);
+ YYASSERT (sizeof (T) <= S);
+ yytypeid_ = & typeid (T);
+ return *new (yyas_<T> ()) T (std::forward <U>(u));
+ }
+# else
/// Instantiate a \a T in here from \a t.
template <typename T>
T&
emplace (const T& t)
{
YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
yytypeid_ = & typeid (T);
return *new (yyas_<T> ()) T (t);
}
/// Accessor to a built \a T.
template <typename T>
T&
- as () YY_NOEXCEPT
+ as ()
{
YYASSERT (yytypeid_);
YYASSERT (*yytypeid_ == typeid (T));
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
return *yyas_<T> ();
}
/// Const accessor to a built \a T (for %printer).
template <typename T>
const T&
- as () const YY_NOEXCEPT
+ as () const
{
YYASSERT (yytypeid_);
YYASSERT (*yytypeid_ == typeid (T));
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
return *yyas_<T> ();
}
- /// Swap the content with \a that, of same type.
+ /// Swap the content with \a other, of same type.
///
/// Both variants must be built beforehand, because swapping the actual
/// data requires reading it (with as()), and this is not possible on
/// unconstructed variants: it would require some dynamic testing, which
/// should not be the variant's responsibility.
/// Swapping between built and (possibly) non-built is done with
- /// self_type::move ().
+ /// variant::move ().
template <typename T>
void
- swap (self_type& that) YY_NOEXCEPT
+ swap (self_type& other)
{
YYASSERT (yytypeid_);
- YYASSERT (*yytypeid_ == *that.yytypeid_);
- std::swap (as<T> (), that.as<T> ());
+ YYASSERT (*yytypeid_ == *other.yytypeid_);
+ std::swap (as<T> (), other.as<T> ());
}
- /// Move the content of \a that to this.
+ /// Move the content of \a other to this.
///
- /// Destroys \a that.
+ /// Destroys \a other.
template <typename T>
void
- move (self_type& that)
+ move (self_type& other)
{
-# if 201103L <= YY_CPLUSPLUS
- emplace<T> (std::move (that.as<T> ()));
+# if defined __cplusplus && 201103L <= __cplusplus
+ emplace<T> (std::move (other.as<T> ()));
# else
emplace<T> ();
- swap<T> (that);
+ swap<T> (other);
# endif
- that.destroy<T> ();
+ other.destroy<T> ();
}
-# if 201103L <= YY_CPLUSPLUS
- /// Move the content of \a that to this.
+# if defined __cplusplus && 201103L <= __cplusplus
+ /// Move the content of \a other to this.
template <typename T>
void
- move (self_type&& that)
+ move (self_type&& other)
{
- emplace<T> (std::move (that.as<T> ()));
- that.destroy<T> ();
+ emplace<T> (std::move (other.as<T> ()));
+ other.destroy<T> ();
}
#endif
- /// Copy the content of \a that to this.
+ /// Copy the content of \a other to this.
template <typename T>
void
- copy (const self_type& that)
+ copy (const self_type& other)
{
- emplace<T> (that.as<T> ());
+ emplace<T> (other.as<T> ());
}
/// Destroy the stored \a T.
private:
/// Prohibit blind copies.
self_type& operator= (const self_type&);
- semantic_type (const self_type&);
+ variant (const self_type&);
/// Accessor to raw memory as \a T.
template <typename T>
T*
- yyas_ () YY_NOEXCEPT
+ yyas_ ()
{
void *yyp = yybuffer_.yyraw;
return static_cast<T*> (yyp);
/// Const accessor to raw memory as \a T.
template <typename T>
const T*
- yyas_ () const YY_NOEXCEPT
+ yyas_ () const
{
const void *yyp = yybuffer_.yyraw;
return static_cast<const T*> (yyp);
}
+ union
+ {
+ /// Strongest alignment constraints.
+ long double yyalign_me;
+ /// A buffer large enough to store any of the semantic values.
+ char yyraw[S];
+ } yybuffer_;
+
+ /// Whether the content is built: if defined, the name of the stored type.
+ const std::type_info *yytypeid_;
+ };
+
+
+ /// A Bison parser.
+ class Dhcp6Parser
+ {
+ public:
+#ifndef PARSER6_STYPE
/// An auxiliary type to compute the largest semantic type.
union union_type
{
// value
// map_value
+ // ddns_replace_client_name_value
// db_type
// hr_mode
// duid_type
// ncr_protocol_value
- // replace_client_name_value
char dummy1[sizeof (ElementPtr)];
// "boolean"
// "constant string"
char dummy5[sizeof (std::string)];
- };
-
- /// The size of the largest semantic type.
- enum { size = sizeof (union_type) };
-
- /// A buffer to store semantic values.
- union
- {
- /// Strongest alignment constraints.
- long double yyalign_me;
- /// A buffer large enough to store any of the semantic values.
- char yyraw[size];
- } yybuffer_;
-
- /// Whether the content is built: if defined, the name of the stored type.
- const std::type_info *yytypeid_;
- };
+};
+ /// Symbol semantic values.
+ typedef variant<sizeof (union_type)> semantic_type;
#else
typedef PARSER6_STYPE semantic_type;
#endif
/// Syntax errors thrown from user actions.
struct syntax_error : std::runtime_error
{
- syntax_error (const location_type& l, const std::string& m)
- : std::runtime_error (m)
- , location (l)
- {}
-
- syntax_error (const syntax_error& s)
- : std::runtime_error (s.what ())
- , location (s.location)
- {}
-
- ~syntax_error () YY_NOEXCEPT YY_NOTHROW;
-
+ syntax_error (const location_type& l, const std::string& m);
location_type location;
};
TOKEN_T2_PERCENT = 309,
TOKEN_DECLINE_PROBATION_PERIOD = 310,
TOKEN_SERVER_TAG = 311,
- TOKEN_SUBNET6 = 312,
- TOKEN_OPTION_DEF = 313,
- TOKEN_OPTION_DATA = 314,
- TOKEN_NAME = 315,
- TOKEN_DATA = 316,
- TOKEN_CODE = 317,
- TOKEN_SPACE = 318,
- TOKEN_CSV_FORMAT = 319,
- TOKEN_ALWAYS_SEND = 320,
- TOKEN_RECORD_TYPES = 321,
- TOKEN_ENCAPSULATE = 322,
- TOKEN_ARRAY = 323,
- TOKEN_POOLS = 324,
- TOKEN_POOL = 325,
- TOKEN_PD_POOLS = 326,
- TOKEN_PREFIX = 327,
- TOKEN_PREFIX_LEN = 328,
- TOKEN_EXCLUDED_PREFIX = 329,
- TOKEN_EXCLUDED_PREFIX_LEN = 330,
- TOKEN_DELEGATED_LEN = 331,
- TOKEN_USER_CONTEXT = 332,
- TOKEN_COMMENT = 333,
- TOKEN_SUBNET = 334,
- TOKEN_INTERFACE = 335,
- TOKEN_INTERFACE_ID = 336,
- TOKEN_ID = 337,
- TOKEN_RAPID_COMMIT = 338,
- TOKEN_RESERVATION_MODE = 339,
- TOKEN_DISABLED = 340,
- TOKEN_OUT_OF_POOL = 341,
- TOKEN_GLOBAL = 342,
- TOKEN_ALL = 343,
- TOKEN_SHARED_NETWORKS = 344,
- TOKEN_MAC_SOURCES = 345,
- TOKEN_RELAY_SUPPLIED_OPTIONS = 346,
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 347,
- TOKEN_SANITY_CHECKS = 348,
- TOKEN_LEASE_CHECKS = 349,
- TOKEN_CLIENT_CLASSES = 350,
- TOKEN_REQUIRE_CLIENT_CLASSES = 351,
- TOKEN_TEST = 352,
- TOKEN_ONLY_IF_REQUIRED = 353,
- TOKEN_CLIENT_CLASS = 354,
- TOKEN_RESERVATIONS = 355,
- TOKEN_IP_ADDRESSES = 356,
- TOKEN_PREFIXES = 357,
- TOKEN_DUID = 358,
- TOKEN_HW_ADDRESS = 359,
- TOKEN_HOSTNAME = 360,
- TOKEN_FLEX_ID = 361,
- TOKEN_RELAY = 362,
- TOKEN_IP_ADDRESS = 363,
- TOKEN_HOOKS_LIBRARIES = 364,
- TOKEN_LIBRARY = 365,
- TOKEN_PARAMETERS = 366,
- TOKEN_EXPIRED_LEASES_PROCESSING = 367,
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 368,
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 369,
- TOKEN_HOLD_RECLAIMED_TIME = 370,
- TOKEN_MAX_RECLAIM_LEASES = 371,
- TOKEN_MAX_RECLAIM_TIME = 372,
- TOKEN_UNWARNED_RECLAIM_CYCLES = 373,
- TOKEN_SERVER_ID = 374,
- TOKEN_LLT = 375,
- TOKEN_EN = 376,
- TOKEN_LL = 377,
- TOKEN_IDENTIFIER = 378,
- TOKEN_HTYPE = 379,
- TOKEN_TIME = 380,
- TOKEN_ENTERPRISE_ID = 381,
- TOKEN_DHCP4O6_PORT = 382,
- TOKEN_CONTROL_SOCKET = 383,
- TOKEN_SOCKET_TYPE = 384,
- TOKEN_SOCKET_NAME = 385,
- TOKEN_DHCP_QUEUE_CONTROL = 386,
- TOKEN_DHCP_DDNS = 387,
- TOKEN_ENABLE_UPDATES = 388,
- TOKEN_QUALIFYING_SUFFIX = 389,
- TOKEN_SERVER_IP = 390,
- TOKEN_SERVER_PORT = 391,
- TOKEN_SENDER_IP = 392,
- TOKEN_SENDER_PORT = 393,
- TOKEN_MAX_QUEUE_SIZE = 394,
- TOKEN_NCR_PROTOCOL = 395,
- TOKEN_NCR_FORMAT = 396,
- TOKEN_OVERRIDE_NO_UPDATE = 397,
- TOKEN_OVERRIDE_CLIENT_UPDATE = 398,
- TOKEN_REPLACE_CLIENT_NAME = 399,
- TOKEN_GENERATED_PREFIX = 400,
- TOKEN_UDP = 401,
- TOKEN_TCP = 402,
- TOKEN_JSON = 403,
- TOKEN_WHEN_PRESENT = 404,
- TOKEN_NEVER = 405,
- TOKEN_ALWAYS = 406,
- TOKEN_WHEN_NOT_PRESENT = 407,
- TOKEN_HOSTNAME_CHAR_SET = 408,
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 409,
- TOKEN_LOGGING = 410,
- TOKEN_LOGGERS = 411,
- TOKEN_OUTPUT_OPTIONS = 412,
- TOKEN_OUTPUT = 413,
- TOKEN_DEBUGLEVEL = 414,
- TOKEN_SEVERITY = 415,
- TOKEN_FLUSH = 416,
- TOKEN_MAXSIZE = 417,
- TOKEN_MAXVER = 418,
- TOKEN_PATTERN = 419,
- TOKEN_DHCP4 = 420,
- TOKEN_DHCPDDNS = 421,
- TOKEN_CONTROL_AGENT = 422,
- TOKEN_TOPLEVEL_JSON = 423,
- TOKEN_TOPLEVEL_DHCP6 = 424,
- TOKEN_SUB_DHCP6 = 425,
- TOKEN_SUB_INTERFACES6 = 426,
- TOKEN_SUB_SUBNET6 = 427,
- TOKEN_SUB_POOL6 = 428,
- TOKEN_SUB_PD_POOL = 429,
- TOKEN_SUB_RESERVATION = 430,
- TOKEN_SUB_OPTION_DEFS = 431,
- TOKEN_SUB_OPTION_DEF = 432,
- TOKEN_SUB_OPTION_DATA = 433,
- TOKEN_SUB_HOOKS_LIBRARY = 434,
- TOKEN_SUB_DHCP_DDNS = 435,
- TOKEN_SUB_LOGGING = 436,
- TOKEN_SUB_CONFIG_CONTROL = 437,
- TOKEN_STRING = 438,
- TOKEN_INTEGER = 439,
- TOKEN_FLOAT = 440,
- TOKEN_BOOLEAN = 441
+ TOKEN_DDNS_SEND_UPDATES = 312,
+ TOKEN_DDNS_OVERRIDE_NO_UPDATE = 313,
+ TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 314,
+ TOKEN_DDNS_REPLACE_CLIENT_NAME = 315,
+ TOKEN_DDNS_GENERATED_PREFIX = 316,
+ TOKEN_DDNS_QUALIFYING_SUFFIX = 317,
+ TOKEN_SUBNET6 = 318,
+ TOKEN_OPTION_DEF = 319,
+ TOKEN_OPTION_DATA = 320,
+ TOKEN_NAME = 321,
+ TOKEN_DATA = 322,
+ TOKEN_CODE = 323,
+ TOKEN_SPACE = 324,
+ TOKEN_CSV_FORMAT = 325,
+ TOKEN_ALWAYS_SEND = 326,
+ TOKEN_RECORD_TYPES = 327,
+ TOKEN_ENCAPSULATE = 328,
+ TOKEN_ARRAY = 329,
+ TOKEN_POOLS = 330,
+ TOKEN_POOL = 331,
+ TOKEN_PD_POOLS = 332,
+ TOKEN_PREFIX = 333,
+ TOKEN_PREFIX_LEN = 334,
+ TOKEN_EXCLUDED_PREFIX = 335,
+ TOKEN_EXCLUDED_PREFIX_LEN = 336,
+ TOKEN_DELEGATED_LEN = 337,
+ TOKEN_USER_CONTEXT = 338,
+ TOKEN_COMMENT = 339,
+ TOKEN_SUBNET = 340,
+ TOKEN_INTERFACE = 341,
+ TOKEN_INTERFACE_ID = 342,
+ TOKEN_ID = 343,
+ TOKEN_RAPID_COMMIT = 344,
+ TOKEN_RESERVATION_MODE = 345,
+ TOKEN_DISABLED = 346,
+ TOKEN_OUT_OF_POOL = 347,
+ TOKEN_GLOBAL = 348,
+ TOKEN_ALL = 349,
+ TOKEN_SHARED_NETWORKS = 350,
+ TOKEN_MAC_SOURCES = 351,
+ TOKEN_RELAY_SUPPLIED_OPTIONS = 352,
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 353,
+ TOKEN_SANITY_CHECKS = 354,
+ TOKEN_LEASE_CHECKS = 355,
+ TOKEN_CLIENT_CLASSES = 356,
+ TOKEN_REQUIRE_CLIENT_CLASSES = 357,
+ TOKEN_TEST = 358,
+ TOKEN_ONLY_IF_REQUIRED = 359,
+ TOKEN_CLIENT_CLASS = 360,
+ TOKEN_RESERVATIONS = 361,
+ TOKEN_IP_ADDRESSES = 362,
+ TOKEN_PREFIXES = 363,
+ TOKEN_DUID = 364,
+ TOKEN_HW_ADDRESS = 365,
+ TOKEN_HOSTNAME = 366,
+ TOKEN_FLEX_ID = 367,
+ TOKEN_RELAY = 368,
+ TOKEN_IP_ADDRESS = 369,
+ TOKEN_HOOKS_LIBRARIES = 370,
+ TOKEN_LIBRARY = 371,
+ TOKEN_PARAMETERS = 372,
+ TOKEN_EXPIRED_LEASES_PROCESSING = 373,
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 374,
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 375,
+ TOKEN_HOLD_RECLAIMED_TIME = 376,
+ TOKEN_MAX_RECLAIM_LEASES = 377,
+ TOKEN_MAX_RECLAIM_TIME = 378,
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 379,
+ TOKEN_SERVER_ID = 380,
+ TOKEN_LLT = 381,
+ TOKEN_EN = 382,
+ TOKEN_LL = 383,
+ TOKEN_IDENTIFIER = 384,
+ TOKEN_HTYPE = 385,
+ TOKEN_TIME = 386,
+ TOKEN_ENTERPRISE_ID = 387,
+ TOKEN_DHCP4O6_PORT = 388,
+ TOKEN_CONTROL_SOCKET = 389,
+ TOKEN_SOCKET_TYPE = 390,
+ TOKEN_SOCKET_NAME = 391,
+ TOKEN_DHCP_QUEUE_CONTROL = 392,
+ TOKEN_DHCP_DDNS = 393,
+ TOKEN_ENABLE_UPDATES = 394,
+ TOKEN_QUALIFYING_SUFFIX = 395,
+ TOKEN_SERVER_IP = 396,
+ TOKEN_SERVER_PORT = 397,
+ TOKEN_SENDER_IP = 398,
+ TOKEN_SENDER_PORT = 399,
+ TOKEN_MAX_QUEUE_SIZE = 400,
+ TOKEN_NCR_PROTOCOL = 401,
+ TOKEN_NCR_FORMAT = 402,
+ TOKEN_OVERRIDE_NO_UPDATE = 403,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 404,
+ TOKEN_REPLACE_CLIENT_NAME = 405,
+ TOKEN_GENERATED_PREFIX = 406,
+ TOKEN_UDP = 407,
+ TOKEN_TCP = 408,
+ TOKEN_JSON = 409,
+ TOKEN_WHEN_PRESENT = 410,
+ TOKEN_NEVER = 411,
+ TOKEN_ALWAYS = 412,
+ TOKEN_WHEN_NOT_PRESENT = 413,
+ TOKEN_HOSTNAME_CHAR_SET = 414,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 415,
+ TOKEN_LOGGING = 416,
+ TOKEN_LOGGERS = 417,
+ TOKEN_OUTPUT_OPTIONS = 418,
+ TOKEN_OUTPUT = 419,
+ TOKEN_DEBUGLEVEL = 420,
+ TOKEN_SEVERITY = 421,
+ TOKEN_FLUSH = 422,
+ TOKEN_MAXSIZE = 423,
+ TOKEN_MAXVER = 424,
+ TOKEN_PATTERN = 425,
+ TOKEN_DHCP4 = 426,
+ TOKEN_DHCPDDNS = 427,
+ TOKEN_CONTROL_AGENT = 428,
+ TOKEN_TOPLEVEL_JSON = 429,
+ TOKEN_TOPLEVEL_DHCP6 = 430,
+ TOKEN_SUB_DHCP6 = 431,
+ TOKEN_SUB_INTERFACES6 = 432,
+ TOKEN_SUB_SUBNET6 = 433,
+ TOKEN_SUB_POOL6 = 434,
+ TOKEN_SUB_PD_POOL = 435,
+ TOKEN_SUB_RESERVATION = 436,
+ TOKEN_SUB_OPTION_DEFS = 437,
+ TOKEN_SUB_OPTION_DEF = 438,
+ TOKEN_SUB_OPTION_DATA = 439,
+ TOKEN_SUB_HOOKS_LIBRARY = 440,
+ TOKEN_SUB_DHCP_DDNS = 441,
+ TOKEN_SUB_LOGGING = 442,
+ TOKEN_SUB_CONFIG_CONTROL = 443,
+ TOKEN_STRING = 444,
+ TOKEN_INTEGER = 445,
+ TOKEN_FLOAT = 446,
+ TOKEN_BOOLEAN = 447
};
};
typedef Base super_type;
/// Default constructor.
- basic_symbol ()
- : value ()
- , location ()
- {}
-
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- basic_symbol (basic_symbol&& that);
-#endif
+ basic_symbol ();
+
+ /// Move or copy constructor.
+ basic_symbol (YY_RVREF (basic_symbol) other);
- /// Copy constructor.
- basic_symbol (const basic_symbol& that);
/// Constructor for valueless symbols, and symbols from each type.
-#if 201103L <= YY_CPLUSPLUS
- basic_symbol (typename Base::kind_type t, location_type&& l)
- : Base (t)
- , location (std::move (l))
- {}
-#else
- basic_symbol (typename Base::kind_type t, const location_type& l)
- : Base (t)
- , location (l)
- {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
- basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
- : Base (t)
- , value (std::move (v))
- , location (std::move (l))
- {}
-#else
- basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
- : Base (t)
- , value (v)
- , location (l)
- {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
- basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
- : Base (t)
- , value (std::move (v))
- , location (std::move (l))
- {}
-#else
- basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
- : Base (t)
- , value (v)
- , location (l)
- {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
- basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
- : Base (t)
- , value (std::move (v))
- , location (std::move (l))
- {}
-#else
- basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
- : Base (t)
- , value (v)
- , location (l)
- {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
- basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
- : Base (t)
- , value (std::move (v))
- , location (std::move (l))
- {}
-#else
- basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
- : Base (t)
- , value (v)
- , location (l)
- {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
- basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
- : Base (t)
- , value (std::move (v))
- , location (std::move (l))
- {}
-#else
- basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
- : Base (t)
- , value (v)
- , location (l)
- {}
-#endif
+ basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l);
+ basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l);
+ basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l);
+ basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l);
+ basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l);
+ basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l);
+
/// Destroy the symbol.
- ~basic_symbol ()
- {
- clear ();
- }
+ ~basic_symbol ();
/// Destroy contents, and record that is empty.
- void clear ()
- {
- // User destructor.
- symbol_number_type yytype = this->type_get ();
- basic_symbol<Base>& yysym = *this;
- (void) yysym;
- switch (yytype)
- {
- default:
- break;
- }
-
- // Type destructor.
-switch (yytype)
- {
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
- value.template destroy< ElementPtr > ();
- break;
-
- case 186: // "boolean"
- value.template destroy< bool > ();
- break;
-
- case 185: // "floating point"
- value.template destroy< double > ();
- break;
-
- case 184: // "integer"
- value.template destroy< int64_t > ();
- break;
-
- case 183: // "constant string"
- value.template destroy< std::string > ();
- break;
-
- default:
- break;
- }
-
- Base::clear ();
- }
+ void clear ();
/// Whether empty.
- bool empty () const YY_NOEXCEPT;
+ bool empty () const;
/// Destructive move, \a s is emptied into this.
void move (basic_symbol& s);
location_type location;
private:
-#if YY_CPLUSPLUS < 201103L
+#if !defined __cplusplus || __cplusplus < 201103L
/// Assignment operator.
- basic_symbol& operator= (const basic_symbol& that);
+ basic_symbol& operator= (const basic_symbol& other);
#endif
};
/// Default constructor.
by_type ();
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- by_type (by_type&& that);
-#endif
-
/// Copy constructor.
- by_type (const by_type& that);
+ by_type (const by_type& other);
/// The symbol type as needed by the constructor.
typedef token_type kind_type;
/// The (internal) type number (corresponding to \a type).
/// \a empty when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ symbol_number_type type_get () const;
/// The token.
- token_type token () const YY_NOEXCEPT;
+ token_type token () const;
/// The symbol type.
/// \a empty_symbol when empty.
};
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_type>
- {
- /// Superclass.
- typedef basic_symbol<by_type> super_type;
-
- /// Empty symbol.
- symbol_type () {}
-
- /// Constructor for valueless symbols, and symbols from each type.
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, location_type l)
- : super_type(token_type (tok), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#else
- symbol_type (int tok, const location_type& l)
- : super_type(token_type (tok), l)
- {
- YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, bool v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#else
- symbol_type (int tok, const bool& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, double v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_FLOAT);
- }
-#else
- symbol_type (int tok, const double& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_FLOAT);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, int64_t v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_INTEGER);
- }
-#else
- symbol_type (int tok, const int64_t& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_INTEGER);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, std::string v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_STRING);
- }
-#else
- symbol_type (int tok, const std::string& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_STRING);
- }
-#endif
- };
+ typedef basic_symbol<by_type> symbol_type;
/// Build a parser object.
Dhcp6Parser (isc::dhcp::Parser6Context& ctx_yyarg);
/// Report a syntax error.
void error (const syntax_error& err);
- // Implementation of make_symbol for each symbol type.
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_END (location_type l)
- {
- return symbol_type (token::TOKEN_END, std::move (l));
- }
-#else
- static
- symbol_type
- make_END (const location_type& l)
- {
- return symbol_type (token::TOKEN_END, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_COMMA (location_type l)
- {
- return symbol_type (token::TOKEN_COMMA, std::move (l));
- }
-#else
- static
- symbol_type
- make_COMMA (const location_type& l)
- {
- return symbol_type (token::TOKEN_COMMA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_COLON (location_type l)
- {
- return symbol_type (token::TOKEN_COLON, std::move (l));
- }
-#else
- static
- symbol_type
- make_COLON (const location_type& l)
- {
- return symbol_type (token::TOKEN_COLON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LSQUARE_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_LSQUARE_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RSQUARE_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_RSQUARE_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LCURLY_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_LCURLY_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RCURLY_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_RCURLY_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NULL_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_NULL_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_NULL_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP6 (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP6, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DATA_DIRECTORY (location_type l)
- {
- return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
- }
-#else
- static
- symbol_type
- make_DATA_DIRECTORY (const location_type& l)
- {
- return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONFIG_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONFIG_DATABASES (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_DATABASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONFIG_FETCH_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES_CONFIG (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES_CONFIG (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RE_DETECT (location_type l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
- }
-#else
- static
- symbol_type
- make_RE_DETECT (const location_type& l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LEASE_DATABASE (location_type l)
- {
- return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
- }
-#else
- static
- symbol_type
- make_LEASE_DATABASE (const location_type& l)
- {
- return symbol_type (token::TOKEN_LEASE_DATABASE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTS_DATABASE (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTS_DATABASE (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTS_DATABASES (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTS_DATABASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MEMFILE (location_type l)
- {
- return symbol_type (token::TOKEN_MEMFILE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MEMFILE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MEMFILE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MYSQL (location_type l)
- {
- return symbol_type (token::TOKEN_MYSQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_MYSQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_MYSQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POSTGRESQL (location_type l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_POSTGRESQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CQL (location_type l)
- {
- return symbol_type (token::TOKEN_CQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_CQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_CQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USER (location_type l)
- {
- return symbol_type (token::TOKEN_USER, std::move (l));
- }
-#else
- static
- symbol_type
- make_USER (const location_type& l)
- {
- return symbol_type (token::TOKEN_USER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PASSWORD (location_type l)
- {
- return symbol_type (token::TOKEN_PASSWORD, std::move (l));
- }
-#else
- static
- symbol_type
- make_PASSWORD (const location_type& l)
- {
- return symbol_type (token::TOKEN_PASSWORD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOST (location_type l)
- {
- return symbol_type (token::TOKEN_HOST, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOST (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PERSIST (location_type l)
- {
- return symbol_type (token::TOKEN_PERSIST, std::move (l));
- }
-#else
- static
- symbol_type
- make_PERSIST (const location_type& l)
- {
- return symbol_type (token::TOKEN_PERSIST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LFC_INTERVAL (location_type l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
- }
-#else
- static
- symbol_type
- make_LFC_INTERVAL (const location_type& l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_READONLY (location_type l)
- {
- return symbol_type (token::TOKEN_READONLY, std::move (l));
- }
-#else
- static
- symbol_type
- make_READONLY (const location_type& l)
- {
- return symbol_type (token::TOKEN_READONLY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONNECT_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONNECT_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTACT_POINTS (location_type l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTACT_POINTS (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_KEYSPACE (location_type l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_KEYSPACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONSISTENCY (location_type l)
- {
- return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONSISTENCY (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONSISTENCY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERIAL_CONSISTENCY (location_type l)
- {
- return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERIAL_CONSISTENCY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REQUEST_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_REQUEST_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP_KEEPALIVE (location_type l)
- {
- return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP_KEEPALIVE (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP_NODELAY (location_type l)
- {
- return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP_NODELAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP_NODELAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_ROW_ERRORS (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_ROW_ERRORS (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFERRED_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFERRED_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MIN_PREFERRED_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MIN_PREFERRED_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_PREFERRED_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_PREFERRED_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MIN_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MIN_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RENEW_TIMER (location_type l)
- {
- return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
- }
-#else
- static
- symbol_type
- make_RENEW_TIMER (const location_type& l)
- {
- return symbol_type (token::TOKEN_RENEW_TIMER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REBIND_TIMER (location_type l)
- {
- return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
- }
-#else
- static
- symbol_type
- make_REBIND_TIMER (const location_type& l)
- {
- return symbol_type (token::TOKEN_REBIND_TIMER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CALCULATE_TEE_TIMES (location_type l)
- {
- return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CALCULATE_TEE_TIMES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_T1_PERCENT (location_type l)
- {
- return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_T1_PERCENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_T1_PERCENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_T2_PERCENT (location_type l)
- {
- return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_T2_PERCENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_T2_PERCENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (location_type l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
- }
-#else
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (const location_type& l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_TAG (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_TAG (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OPTION_DEF (location_type l)
- {
- return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
- }
-#else
- static
- symbol_type
- make_OPTION_DEF (const location_type& l)
- {
- return symbol_type (token::TOKEN_OPTION_DEF, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OPTION_DATA (location_type l)
- {
- return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
- }
-#else
- static
- symbol_type
- make_OPTION_DATA (const location_type& l)
- {
- return symbol_type (token::TOKEN_OPTION_DATA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DATA (location_type l)
- {
- return symbol_type (token::TOKEN_DATA, std::move (l));
- }
-#else
- static
- symbol_type
- make_DATA (const location_type& l)
- {
- return symbol_type (token::TOKEN_DATA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CODE (location_type l)
- {
- return symbol_type (token::TOKEN_CODE, std::move (l));
- }
-#else
- static
- symbol_type
- make_CODE (const location_type& l)
- {
- return symbol_type (token::TOKEN_CODE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SPACE (location_type l)
- {
- return symbol_type (token::TOKEN_SPACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_SPACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_SPACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CSV_FORMAT (location_type l)
- {
- return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CSV_FORMAT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CSV_FORMAT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ALWAYS_SEND (location_type l)
- {
- return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
- }
-#else
- static
- symbol_type
- make_ALWAYS_SEND (const location_type& l)
- {
- return symbol_type (token::TOKEN_ALWAYS_SEND, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECORD_TYPES (location_type l)
- {
- return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECORD_TYPES (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECORD_TYPES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENCAPSULATE (location_type l)
- {
- return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENCAPSULATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENCAPSULATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ARRAY (location_type l)
- {
- return symbol_type (token::TOKEN_ARRAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_ARRAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_ARRAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POOLS (location_type l)
- {
- return symbol_type (token::TOKEN_POOLS, std::move (l));
- }
-#else
- static
- symbol_type
- make_POOLS (const location_type& l)
- {
- return symbol_type (token::TOKEN_POOLS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POOL (location_type l)
- {
- return symbol_type (token::TOKEN_POOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_POOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_POOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PD_POOLS (location_type l)
- {
- return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
- }
-#else
- static
- symbol_type
- make_PD_POOLS (const location_type& l)
- {
- return symbol_type (token::TOKEN_PD_POOLS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFIX_LEN (location_type l)
- {
- return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFIX_LEN (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFIX_LEN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EXCLUDED_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_EXCLUDED_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EXCLUDED_PREFIX_LEN (location_type l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
- }
-#else
- static
- symbol_type
- make_EXCLUDED_PREFIX_LEN (const location_type& l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DELEGATED_LEN (location_type l)
- {
- return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
- }
-#else
- static
- symbol_type
- make_DELEGATED_LEN (const location_type& l)
- {
- return symbol_type (token::TOKEN_DELEGATED_LEN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USER_CONTEXT (location_type l)
- {
- return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
- }
-#else
- static
- symbol_type
- make_USER_CONTEXT (const location_type& l)
- {
- return symbol_type (token::TOKEN_USER_CONTEXT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_COMMENT (location_type l)
- {
- return symbol_type (token::TOKEN_COMMENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_COMMENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_COMMENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACE (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACE_ID (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACE_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACE_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ID (location_type l)
- {
- return symbol_type (token::TOKEN_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RAPID_COMMIT (location_type l)
- {
- return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
- }
-#else
- static
- symbol_type
- make_RAPID_COMMIT (const location_type& l)
- {
- return symbol_type (token::TOKEN_RAPID_COMMIT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RESERVATION_MODE (location_type l)
- {
- return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
- }
-#else
- static
- symbol_type
- make_RESERVATION_MODE (const location_type& l)
- {
- return symbol_type (token::TOKEN_RESERVATION_MODE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DISABLED (location_type l)
- {
- return symbol_type (token::TOKEN_DISABLED, std::move (l));
- }
-#else
- static
- symbol_type
- make_DISABLED (const location_type& l)
- {
- return symbol_type (token::TOKEN_DISABLED, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUT_OF_POOL (location_type l)
- {
- return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUT_OF_POOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUT_OF_POOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_GLOBAL (location_type l)
- {
- return symbol_type (token::TOKEN_GLOBAL, std::move (l));
- }
-#else
- static
- symbol_type
- make_GLOBAL (const location_type& l)
- {
- return symbol_type (token::TOKEN_GLOBAL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ALL (location_type l)
- {
- return symbol_type (token::TOKEN_ALL, std::move (l));
- }
-#else
- static
- symbol_type
- make_ALL (const location_type& l)
- {
- return symbol_type (token::TOKEN_ALL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SHARED_NETWORKS (location_type l)
- {
- return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SHARED_NETWORKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAC_SOURCES (location_type l)
- {
- return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAC_SOURCES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAC_SOURCES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RELAY_SUPPLIED_OPTIONS (location_type l)
- {
- return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_RELAY_SUPPLIED_OPTIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOST_RESERVATION_IDENTIFIERS (location_type l)
- {
- return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SANITY_CHECKS (location_type l)
- {
- return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SANITY_CHECKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SANITY_CHECKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LEASE_CHECKS (location_type l)
- {
- return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LEASE_CHECKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LEASE_CHECKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CLIENT_CLASSES (location_type l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CLIENT_CLASSES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REQUIRE_CLIENT_CLASSES (location_type l)
- {
- return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
- }
-#else
- static
- symbol_type
- make_REQUIRE_CLIENT_CLASSES (const location_type& l)
- {
- return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TEST (location_type l)
- {
- return symbol_type (token::TOKEN_TEST, std::move (l));
- }
-#else
- static
- symbol_type
- make_TEST (const location_type& l)
- {
- return symbol_type (token::TOKEN_TEST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ONLY_IF_REQUIRED (location_type l)
- {
- return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
- }
-#else
- static
- symbol_type
- make_ONLY_IF_REQUIRED (const location_type& l)
- {
- return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CLIENT_CLASS (location_type l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
- }
-#else
- static
- symbol_type
- make_CLIENT_CLASS (const location_type& l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RESERVATIONS (location_type l)
- {
- return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_RESERVATIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_RESERVATIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_IP_ADDRESSES (location_type l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
- }
-#else
- static
- symbol_type
- make_IP_ADDRESSES (const location_type& l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESSES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFIXES (location_type l)
- {
- return symbol_type (token::TOKEN_PREFIXES, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFIXES (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFIXES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DUID (location_type l)
- {
- return symbol_type (token::TOKEN_DUID, std::move (l));
- }
-#else
- static
- symbol_type
- make_DUID (const location_type& l)
- {
- return symbol_type (token::TOKEN_DUID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HW_ADDRESS (location_type l)
- {
- return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
- }
-#else
- static
- symbol_type
- make_HW_ADDRESS (const location_type& l)
- {
- return symbol_type (token::TOKEN_HW_ADDRESS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTNAME (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTNAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTNAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLEX_ID (location_type l)
- {
- return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLEX_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLEX_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RELAY (location_type l)
- {
- return symbol_type (token::TOKEN_RELAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_RELAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_RELAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_IP_ADDRESS (location_type l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
- }
-#else
- static
- symbol_type
- make_IP_ADDRESS (const location_type& l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOOKS_LIBRARIES (location_type l)
- {
- return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOOKS_LIBRARIES (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LIBRARY (location_type l)
- {
- return symbol_type (token::TOKEN_LIBRARY, std::move (l));
- }
-#else
- static
- symbol_type
- make_LIBRARY (const location_type& l)
- {
- return symbol_type (token::TOKEN_LIBRARY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PARAMETERS (location_type l)
- {
- return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_PARAMETERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_PARAMETERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EXPIRED_LEASES_PROCESSING (location_type l)
- {
- return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
- }
-#else
- static
- symbol_type
- make_EXPIRED_LEASES_PROCESSING (const location_type& l)
- {
- return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECLAIM_TIMER_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECLAIM_TIMER_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOLD_RECLAIMED_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOLD_RECLAIMED_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECLAIM_LEASES (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECLAIM_LEASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECLAIM_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECLAIM_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_UNWARNED_RECLAIM_CYCLES (location_type l)
- {
- return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
- }
-#else
- static
- symbol_type
- make_UNWARNED_RECLAIM_CYCLES (const location_type& l)
- {
- return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_ID (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LLT (location_type l)
- {
- return symbol_type (token::TOKEN_LLT, std::move (l));
- }
-#else
- static
- symbol_type
- make_LLT (const location_type& l)
- {
- return symbol_type (token::TOKEN_LLT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EN (location_type l)
- {
- return symbol_type (token::TOKEN_EN, std::move (l));
- }
-#else
- static
- symbol_type
- make_EN (const location_type& l)
- {
- return symbol_type (token::TOKEN_EN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LL (location_type l)
- {
- return symbol_type (token::TOKEN_LL, std::move (l));
- }
-#else
- static
- symbol_type
- make_LL (const location_type& l)
- {
- return symbol_type (token::TOKEN_LL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_IDENTIFIER (location_type l)
- {
- return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
- }
-#else
- static
- symbol_type
- make_IDENTIFIER (const location_type& l)
- {
- return symbol_type (token::TOKEN_IDENTIFIER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HTYPE (location_type l)
- {
- return symbol_type (token::TOKEN_HTYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_HTYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_HTYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENTERPRISE_ID (location_type l)
- {
- return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENTERPRISE_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP4O6_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP4O6_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTROL_SOCKET (location_type l)
- {
- return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTROL_SOCKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SOCKET_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_SOCKET_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_SOCKET_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SOCKET_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_SOCKET_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_SOCKET_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP_QUEUE_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_QUEUE_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP_DDNS (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_DDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_DDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENABLE_UPDATES (location_type l)
- {
- return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENABLE_UPDATES (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_QUALIFYING_SUFFIX (location_type l)
- {
- return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_QUALIFYING_SUFFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_IP (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_IP (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_IP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SENDER_IP (location_type l)
- {
- return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
- }
-#else
- static
- symbol_type
- make_SENDER_IP (const location_type& l)
- {
- return symbol_type (token::TOKEN_SENDER_IP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SENDER_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_SENDER_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_SENDER_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_QUEUE_SIZE (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_QUEUE_SIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NCR_PROTOCOL (location_type l)
- {
- return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_NCR_PROTOCOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NCR_FORMAT (location_type l)
- {
- return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
- }
-#else
- static
- symbol_type
- make_NCR_FORMAT (const location_type& l)
- {
- return symbol_type (token::TOKEN_NCR_FORMAT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OVERRIDE_NO_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_OVERRIDE_NO_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OVERRIDE_CLIENT_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REPLACE_CLIENT_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_REPLACE_CLIENT_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_GENERATED_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_GENERATED_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_UDP (location_type l)
- {
- return symbol_type (token::TOKEN_UDP, std::move (l));
- }
-#else
- static
- symbol_type
- make_UDP (const location_type& l)
- {
- return symbol_type (token::TOKEN_UDP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP (location_type l)
- {
- return symbol_type (token::TOKEN_TCP, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_JSON (location_type l)
- {
- return symbol_type (token::TOKEN_JSON, std::move (l));
- }
-#else
- static
- symbol_type
- make_JSON (const location_type& l)
- {
- return symbol_type (token::TOKEN_JSON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_WHEN_PRESENT (location_type l)
- {
- return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_WHEN_PRESENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_WHEN_PRESENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NEVER (location_type l)
- {
- return symbol_type (token::TOKEN_NEVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_NEVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_NEVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ALWAYS (location_type l)
- {
- return symbol_type (token::TOKEN_ALWAYS, std::move (l));
- }
-#else
- static
- symbol_type
- make_ALWAYS (const location_type& l)
- {
- return symbol_type (token::TOKEN_ALWAYS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_WHEN_NOT_PRESENT (location_type l)
- {
- return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_WHEN_NOT_PRESENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTNAME_CHAR_SET (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTNAME_CHAR_SET (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LOGGERS (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT_OPTIONS (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT_OPTIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DEBUGLEVEL (location_type l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
- }
-#else
- static
- symbol_type
- make_DEBUGLEVEL (const location_type& l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SEVERITY (location_type l)
- {
- return symbol_type (token::TOKEN_SEVERITY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SEVERITY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SEVERITY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLUSH (location_type l)
- {
- return symbol_type (token::TOKEN_FLUSH, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLUSH (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLUSH, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXSIZE (location_type l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXSIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXVER (location_type l)
- {
- return symbol_type (token::TOKEN_MAXVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PATTERN (location_type l)
- {
- return symbol_type (token::TOKEN_PATTERN, std::move (l));
- }
-#else
- static
- symbol_type
- make_PATTERN (const location_type& l)
- {
- return symbol_type (token::TOKEN_PATTERN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP4 (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP4, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCPDDNS (location_type l)
- {
- return symbol_type (token::TOKEN_DHCPDDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCPDDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCPDDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTROL_AGENT (location_type l)
- {
- return symbol_type (token::TOKEN_CONTROL_AGENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTROL_AGENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTROL_AGENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TOPLEVEL_JSON (location_type l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
- }
-#else
- static
- symbol_type
- make_TOPLEVEL_JSON (const location_type& l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TOPLEVEL_DHCP6 (location_type l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
- }
-#else
- static
- symbol_type
- make_TOPLEVEL_DHCP6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_DHCP6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_DHCP6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_INTERFACES6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_INTERFACES6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_SUBNET6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_SUBNET6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_SUBNET6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_POOL6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_POOL6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_POOL6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_PD_POOL (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_PD_POOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_PD_POOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_RESERVATION (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_RESERVATION (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_RESERVATION, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_OPTION_DEFS (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_OPTION_DEFS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_OPTION_DEF (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_OPTION_DEF (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_OPTION_DATA (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_OPTION_DATA (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_HOOKS_LIBRARY (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_HOOKS_LIBRARY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_DHCP_DDNS (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_DHCP_DDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_CONFIG_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_CONFIG_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STRING (std::string v, location_type l)
- {
- return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_STRING (const std::string& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_STRING, v, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTEGER (int64_t v, location_type l)
- {
- return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_INTEGER (const int64_t& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_INTEGER, v, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLOAT (double v, location_type l)
- {
- return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_FLOAT (const double& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_FLOAT, v, l);
- }
+ // Symbol constructors declarations.
+ static
+ symbol_type
+ make_END (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_COMMA (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_COLON (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LSQUARE_BRACKET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RSQUARE_BRACKET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LCURLY_BRACKET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RCURLY_BRACKET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_NULL_TYPE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DHCP6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DATA_DIRECTORY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONFIG_CONTROL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONFIG_DATABASES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONFIG_FETCH_WAIT_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_INTERFACES_CONFIG (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_INTERFACES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RE_DETECT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LEASE_DATABASE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOSTS_DATABASE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOSTS_DATABASES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TYPE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MEMFILE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MYSQL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_POSTGRESQL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CQL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_USER (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PASSWORD (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOST (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PORT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PERSIST (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LFC_INTERVAL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_READONLY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONNECT_TIMEOUT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONTACT_POINTS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_RECONNECT_TRIES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RECONNECT_WAIT_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_KEYSPACE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONSISTENCY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SERIAL_CONSISTENCY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_REQUEST_TIMEOUT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TCP_KEEPALIVE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TCP_NODELAY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_ROW_ERRORS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PREFERRED_LIFETIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MIN_PREFERRED_LIFETIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_PREFERRED_LIFETIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_VALID_LIFETIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MIN_VALID_LIFETIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_VALID_LIFETIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RENEW_TIMER (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_REBIND_TIMER (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CALCULATE_TEE_TIMES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_T1_PERCENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_T2_PERCENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DECLINE_PROBATION_PERIOD (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SERVER_TAG (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DDNS_SEND_UPDATES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DDNS_OVERRIDE_NO_UPDATE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DDNS_OVERRIDE_CLIENT_UPDATE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DDNS_REPLACE_CLIENT_NAME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DDNS_GENERATED_PREFIX (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DDNS_QUALIFYING_SUFFIX (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUBNET6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OPTION_DEF (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OPTION_DATA (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_NAME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DATA (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CODE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SPACE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CSV_FORMAT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ALWAYS_SEND (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RECORD_TYPES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ENCAPSULATE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ARRAY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_POOLS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_POOL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PD_POOLS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PREFIX (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PREFIX_LEN (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_EXCLUDED_PREFIX (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_EXCLUDED_PREFIX_LEN (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DELEGATED_LEN (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_USER_CONTEXT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_COMMENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUBNET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_INTERFACE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_INTERFACE_ID (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ID (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RAPID_COMMIT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RESERVATION_MODE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DISABLED (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OUT_OF_POOL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_GLOBAL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ALL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SHARED_NETWORKS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAC_SOURCES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RELAY_SUPPLIED_OPTIONS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOST_RESERVATION_IDENTIFIERS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SANITY_CHECKS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LEASE_CHECKS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CLIENT_CLASSES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_REQUIRE_CLIENT_CLASSES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TEST (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ONLY_IF_REQUIRED (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CLIENT_CLASS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RESERVATIONS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_IP_ADDRESSES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PREFIXES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DUID (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HW_ADDRESS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOSTNAME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_FLEX_ID (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RELAY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_IP_ADDRESS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOOKS_LIBRARIES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LIBRARY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PARAMETERS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_EXPIRED_LEASES_PROCESSING (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_RECLAIM_TIMER_WAIT_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOLD_RECLAIMED_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_RECLAIM_LEASES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_RECLAIM_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_UNWARNED_RECLAIM_CYCLES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SERVER_ID (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LLT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_EN (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_IDENTIFIER (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HTYPE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TIME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ENTERPRISE_ID (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DHCP4O6_PORT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONTROL_SOCKET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SOCKET_TYPE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SOCKET_NAME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DHCP_QUEUE_CONTROL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DHCP_DDNS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ENABLE_UPDATES (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_QUALIFYING_SUFFIX (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SERVER_IP (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SERVER_PORT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SENDER_IP (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SENDER_PORT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAX_QUEUE_SIZE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_NCR_PROTOCOL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_NCR_FORMAT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OVERRIDE_NO_UPDATE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OVERRIDE_CLIENT_UPDATE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_REPLACE_CLIENT_NAME (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_GENERATED_PREFIX (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_UDP (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TCP (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_JSON (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_WHEN_PRESENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_NEVER (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_ALWAYS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_WHEN_NOT_PRESENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOSTNAME_CHAR_SET (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_HOSTNAME_CHAR_REPLACEMENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LOGGING (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_LOGGERS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OUTPUT_OPTIONS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_OUTPUT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DEBUGLEVEL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SEVERITY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_FLUSH (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAXSIZE (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_MAXVER (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_PATTERN (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DHCP4 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_DHCPDDNS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_CONTROL_AGENT (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TOPLEVEL_JSON (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_TOPLEVEL_DHCP6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_DHCP6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_INTERFACES6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_SUBNET6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_POOL6 (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_PD_POOL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_RESERVATION (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_OPTION_DEFS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_OPTION_DEF (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_OPTION_DATA (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_HOOKS_LIBRARY (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_DHCP_DDNS (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_LOGGING (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_SUB_CONFIG_CONTROL (YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_STRING (YY_COPY (std::string) v, YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_INTEGER (YY_COPY (int64_t) v, YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_FLOAT (YY_COPY (double) v, YY_COPY (location_type) l);
+
+ static
+ symbol_type
+ make_BOOLEAN (YY_COPY (bool) v, YY_COPY (location_type) l);
+
+
+
+ private:
+ /// This class is not copyable.
+ Dhcp6Parser (const Dhcp6Parser&);
+ Dhcp6Parser& operator= (const Dhcp6Parser&);
+
+ /// State numbers.
+ typedef int state_type;
+
+ /// Generate an error message.
+ /// \param yystate the state where the error occurred.
+ /// \param yyla the lookahead token.
+ virtual std::string yysyntax_error_ (state_type yystate,
+ const symbol_type& yyla) const;
+
+ /// Compute post-reduction state.
+ /// \param yystate the current state
+ /// \param yysym the nonterminal to push on the stack
+ state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+
+ /// Whether the given \c yypact_ value indicates a defaulted state.
+ /// \param yyvalue the value to check
+ static bool yy_pact_value_is_default_ (int yyvalue);
+
+ /// Whether the given \c yytable_ value indicates a syntax error.
+ /// \param yyvalue the value to check
+ static bool yy_table_value_is_error_ (int yyvalue);
+
+ static const short yypact_ninf_;
+ static const signed char yytable_ninf_;
+
+ /// Convert a scanner token number \a t to a symbol number.
+ static token_number_type yytranslate_ (token_type t);
+
+ // Tables.
+ // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ // STATE-NUM.
+ static const short yypact_[];
+
+ // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ // Performed when YYTABLE does not specify something else to do. Zero
+ // means the default is an error.
+ static const unsigned short yydefact_[];
+
+ // YYPGOTO[NTERM-NUM].
+ static const short yypgoto_[];
+
+ // YYDEFGOTO[NTERM-NUM].
+ static const short yydefgoto_[];
+
+ // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ // positive, shift that token. If negative, reduce the rule whose
+ // number is the opposite. If YYTABLE_NINF, syntax error.
+ static const unsigned short yytable_[];
+
+ static const short yycheck_[];
+
+ // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ // symbol of state STATE-NUM.
+ static const unsigned short yystos_[];
+
+ // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
+ static const unsigned short yyr1_[];
+
+ // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
+ static const unsigned char yyr2_[];
+
+
+ /// Convert the symbol name \a n to a form suitable for a diagnostic.
+ static std::string yytnamerr_ (const char *n);
+
+
+ /// For a symbol, its name in clear.
+ static const char* const yytname_[];
+#if PARSER6_DEBUG
+ // YYRLINE[YYN] -- Source line where rule number YYN was defined.
+ static const unsigned short yyrline_[];
+ /// Report on the debug stream that the rule \a r is going to be reduced.
+ virtual void yy_reduce_print_ (int r);
+ /// Print the state stack on the debug stream.
+ virtual void yystack_print_ ();
+
+ /// Debugging level.
+ int yydebug_;
+ /// Debug stream.
+ std::ostream* yycdebug_;
+
+ /// \brief Display a symbol type, value and location.
+ /// \param yyo The output stream.
+ /// \param yysym The symbol.
+ template <typename Base>
+ void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_BOOLEAN (bool v, location_type l)
- {
- return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_BOOLEAN (const bool& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_BOOLEAN, v, l);
- }
+
+ /// \brief Reclaim the memory associated to a symbol.
+ /// \param yymsg Why this token is reclaimed.
+ /// If null, print nothing.
+ /// \param yysym The symbol.
+ template <typename Base>
+ void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
+
+ private:
+ /// Type access provider for state based symbols.
+ struct by_state
+ {
+ /// Default constructor.
+ by_state ();
+
+ /// The symbol type as needed by the constructor.
+ typedef state_type kind_type;
+
+ /// Constructor.
+ by_state (kind_type s);
+
+ /// Copy constructor.
+ by_state (const by_state& other);
+
+ /// Record that this symbol is empty.
+ void clear ();
+
+ /// Steal the symbol type from \a that.
+ void move (by_state& that);
+
+ /// The (internal) type number (corresponding to \a state).
+ /// \a empty_symbol when empty.
+ symbol_number_type type_get () const;
+
+ /// The state number used to denote an empty symbol.
+ enum { empty_state = -1 };
+
+ /// The state.
+ /// \a empty when empty.
+ state_type state;
+ };
+
+ /// "Internal" symbol: element of the stack.
+ struct stack_symbol_type : basic_symbol<by_state>
+ {
+ /// Superclass.
+ typedef basic_symbol<by_state> super_type;
+ /// Construct an empty symbol.
+ stack_symbol_type ();
+ /// Move or copy construction.
+ stack_symbol_type (YY_RVREF (stack_symbol_type) that);
+ /// Steal the contents from \a sym to build this.
+ stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
+#if !defined __cplusplus || __cplusplus < 201103L
+ /// Assignment, needed by push_back by some old implementations.
+ /// Moves the contents of that.
+ stack_symbol_type& operator= (stack_symbol_type& that);
#endif
+ };
+
+ /// Stack type.
+ typedef stack<stack_symbol_type> stack_type;
+
+ /// The stack.
+ stack_type yystack_;
+
+ /// Push a new state on the stack.
+ /// \param m a debug message to display
+ /// if null, no trace is output.
+ /// \param sym the symbol
+ /// \warning the contents of \a s.value is stolen.
+ void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
+
+ /// Push a new look ahead token on the state on the stack.
+ /// \param m a debug message to display
+ /// if null, no trace is output.
+ /// \param s the state
+ /// \param sym the symbol (for its value and location).
+ /// \warning the contents of \a sym.value is stolen.
+ void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
+
+ /// Pop \a n symbols from the stack.
+ void yypop_ (int n = 1);
+
+ /// Constants.
+ enum
+ {
+ yyeof_ = 0,
+ yylast_ = 1180, ///< Last index in yytable_.
+ yynnts_ = 419, ///< Number of nonterminal symbols.
+ yyfinal_ = 32, ///< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = 193 ///< Number of tokens.
+ };
+
+
+ // User arguments.
+ isc::dhcp::Parser6Context& ctx;
+ };
+
+ // Symbol number corresponding to token number t.
+ inline
+ Dhcp6Parser::token_number_type
+ Dhcp6Parser::yytranslate_ (token_type t)
+ {
+ static
+ const token_number_type
+ translate_table[] =
+ {
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192
+ };
+ const unsigned user_token_number_max_ = 447;
+ const token_number_type undef_token_ = 2;
+
+ if (static_cast<int> (t) <= yyeof_)
+ return yyeof_;
+ else if (static_cast<unsigned> (t) <= user_token_number_max_)
+ return translate_table[t];
+ else
+ return undef_token_;
+ }
+
+ inline
+ Dhcp6Parser::syntax_error::syntax_error (const location_type& l, const std::string& m)
+ : std::runtime_error (m)
+ , location (l)
+ {}
+
+ // basic_symbol.
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol ()
+ : value ()
+ , location ()
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (YY_RVREF (basic_symbol) other)
+ : Base (YY_MOVE (other))
+ , value ()
+ , location (YY_MOVE (other.location))
+ {
+ switch (other.type_get ())
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
+ value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (other.value));
+ break;
+
+ case 192: // "boolean"
+ value.YY_MOVE_OR_COPY< bool > (YY_MOVE (other.value));
+ break;
+
+ case 191: // "floating point"
+ value.YY_MOVE_OR_COPY< double > (YY_MOVE (other.value));
+ break;
+
+ case 190: // "integer"
+ value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (other.value));
+ break;
+
+ case 189: // "constant string"
+ value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (other.value));
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+
+ // Implementation of basic_symbol constructor for each type.
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l)
+ : Base (t)
+ , location (YY_MOVE (l))
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l)
+ : Base (t)
+ , value (YY_MOVE (v))
+ , location (YY_MOVE (l))
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l)
+ : Base (t)
+ , value (YY_MOVE (v))
+ , location (YY_MOVE (l))
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l)
+ : Base (t)
+ , value (YY_MOVE (v))
+ , location (YY_MOVE (l))
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l)
+ : Base (t)
+ , value (YY_MOVE (v))
+ , location (YY_MOVE (l))
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l)
+ : Base (t)
+ , value (YY_MOVE (v))
+ , location (YY_MOVE (l))
+ {}
+
+
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::~basic_symbol ()
+ {
+ clear ();
+ }
+
+ template <typename Base>
+ void
+ Dhcp6Parser::basic_symbol<Base>::clear ()
+ {
+ // User destructor.
+ symbol_number_type yytype = this->type_get ();
+ basic_symbol<Base>& yysym = *this;
+ (void) yysym;
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+
+ // Type destructor.
+ switch (yytype)
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
+ value.template destroy< ElementPtr > ();
+ break;
+
+ case 192: // "boolean"
+ value.template destroy< bool > ();
+ break;
+
+ case 191: // "floating point"
+ value.template destroy< double > ();
+ break;
+
+ case 190: // "integer"
+ value.template destroy< int64_t > ();
+ break;
+
+ case 189: // "constant string"
+ value.template destroy< std::string > ();
+ break;
+
+ default:
+ break;
+ }
+
+ Base::clear ();
+ }
+
+ template <typename Base>
+ bool
+ Dhcp6Parser::basic_symbol<Base>::empty () const
+ {
+ return Base::type_get () == empty_symbol;
+ }
+
+ template <typename Base>
+ void
+ Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+ {
+ super_type::move (s);
+ switch (this->type_get ())
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 289: // db_type
+ case 383: // hr_mode
+ case 519: // duid_type
+ case 554: // ncr_protocol_value
+ value.move< ElementPtr > (YY_MOVE (s.value));
+ break;
+
+ case 192: // "boolean"
+ value.move< bool > (YY_MOVE (s.value));
+ break;
+
+ case 191: // "floating point"
+ value.move< double > (YY_MOVE (s.value));
+ break;
+
+ case 190: // "integer"
+ value.move< int64_t > (YY_MOVE (s.value));
+ break;
+
+ case 189: // "constant string"
+ value.move< std::string > (YY_MOVE (s.value));
+ break;
+
+ default:
+ break;
+ }
+
+ location = YY_MOVE (s.location);
+ }
+
+ // by_type.
+ inline
+ Dhcp6Parser::by_type::by_type ()
+ : type (empty_symbol)
+ {}
+
+ inline
+ Dhcp6Parser::by_type::by_type (const by_type& other)
+ : type (other.type)
+ {}
+
+ inline
+ Dhcp6Parser::by_type::by_type (token_type t)
+ : type (yytranslate_ (t))
+ {}
+
+ inline
+ void
+ Dhcp6Parser::by_type::clear ()
+ {
+ type = empty_symbol;
+ }
+
+ inline
+ void
+ Dhcp6Parser::by_type::move (by_type& that)
+ {
+ type = that.type;
+ that.clear ();
+ }
+
+ inline
+ int
+ Dhcp6Parser::by_type::type_get () const
+ {
+ return type;
+ }
+
+ inline
+ Dhcp6Parser::token_type
+ Dhcp6Parser::by_type::token () const
+ {
+ // YYTOKNUM[NUM] -- (External) token number corresponding to the
+ // (internal) symbol number NUM (which must be that of a token). */
+ static
+ const unsigned short
+ yytoken_number_[] =
+ {
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
+ 445, 446, 447
+ };
+ return static_cast<token_type> (yytoken_number_[type]);
+ }
+
+ // Implementation of make_symbol for each symbol type.
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_END (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_END, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COMMA (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_COMMA, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COLON (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_COLON, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LSQUARE_BRACKET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LSQUARE_BRACKET, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RSQUARE_BRACKET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RSQUARE_BRACKET, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LCURLY_BRACKET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LCURLY_BRACKET, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RCURLY_BRACKET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RCURLY_BRACKET, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NULL_TYPE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_NULL_TYPE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP6 (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DHCP6, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DATA_DIRECTORY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DATA_DIRECTORY, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONFIG_CONTROL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_CONTROL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONFIG_DATABASES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_DATABASES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONFIG_FETCH_WAIT_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACES_CONFIG (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES_CONFIG, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RE_DETECT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RE_DETECT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LEASE_DATABASE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LEASE_DATABASE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTS_DATABASE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTS_DATABASES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TYPE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TYPE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MEMFILE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MEMFILE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MYSQL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MYSQL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POSTGRESQL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_POSTGRESQL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CQL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CQL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_USER (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_USER, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PASSWORD (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PASSWORD, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOST (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOST, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PORT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PORT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PERSIST (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PERSIST, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LFC_INTERVAL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LFC_INTERVAL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_READONLY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_READONLY, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONNECT_TIMEOUT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONNECT_TIMEOUT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTACT_POINTS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONTACT_POINTS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_RECONNECT_TRIES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RECONNECT_WAIT_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_KEYSPACE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_KEYSPACE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONSISTENCY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONSISTENCY, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERIAL_CONSISTENCY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REQUEST_TIMEOUT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_REQUEST_TIMEOUT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP_KEEPALIVE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TCP_KEEPALIVE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP_NODELAY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TCP_NODELAY, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_ROW_ERRORS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_ROW_ERRORS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFERRED_LIFETIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PREFERRED_LIFETIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MIN_PREFERRED_LIFETIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_PREFERRED_LIFETIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_VALID_LIFETIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_VALID_LIFETIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MIN_VALID_LIFETIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_VALID_LIFETIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RENEW_TIMER (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RENEW_TIMER, YY_MOVE (l));
+ }
- private:
- /// This class is not copyable.
- Dhcp6Parser (const Dhcp6Parser&);
- Dhcp6Parser& operator= (const Dhcp6Parser&);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REBIND_TIMER (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_REBIND_TIMER, YY_MOVE (l));
+ }
- /// State numbers.
- typedef int state_type;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CALCULATE_TEE_TIMES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, YY_MOVE (l));
+ }
- /// Generate an error message.
- /// \param yystate the state where the error occurred.
- /// \param yyla the lookahead token.
- virtual std::string yysyntax_error_ (state_type yystate,
- const symbol_type& yyla) const;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_T1_PERCENT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_T1_PERCENT, YY_MOVE (l));
+ }
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yysym the nonterminal to push on the stack
- state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_T2_PERCENT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_T2_PERCENT, YY_MOVE (l));
+ }
- /// Whether the given \c yypact_ value indicates a defaulted state.
- /// \param yyvalue the value to check
- static bool yy_pact_value_is_default_ (int yyvalue);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DECLINE_PROBATION_PERIOD (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_TAG (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SERVER_TAG, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_SEND_UPDATES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_OVERRIDE_NO_UPDATE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_OVERRIDE_CLIENT_UPDATE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_REPLACE_CLIENT_NAME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_GENERATED_PREFIX (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_QUALIFYING_SUFFIX (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUBNET6 (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUBNET6, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OPTION_DEF (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OPTION_DATA (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NAME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_NAME, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DATA (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DATA, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CODE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CODE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SPACE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SPACE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CSV_FORMAT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CSV_FORMAT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALWAYS_SEND (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS_SEND, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RECORD_TYPES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RECORD_TYPES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENCAPSULATE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ARRAY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOLS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_POOLS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_POOL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PD_POOLS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PD_POOLS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PREFIX, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX_LEN (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PREFIX_LEN, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX_LEN (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DELEGATED_LEN (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DELEGATED_LEN, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_USER_CONTEXT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COMMENT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUBNET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE_ID (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE_ID, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ID (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ID, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RAPID_COMMIT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RAPID_COMMIT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RESERVATION_MODE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RESERVATION_MODE, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DISABLED (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DISABLED, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUT_OF_POOL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OUT_OF_POOL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GLOBAL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ALL, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SHARED_NETWORKS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAC_SOURCES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAC_SOURCES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY_SUPPLIED_OPTIONS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOST_RESERVATION_IDENTIFIERS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SANITY_CHECKS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SANITY_CHECKS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LEASE_CHECKS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LEASE_CHECKS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASSES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REQUIRE_CLIENT_CLASSES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TEST (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TEST, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ONLY_IF_REQUIRED (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RESERVATIONS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RESERVATIONS, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_ADDRESSES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESSES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIXES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PREFIXES, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DUID (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DUID, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HW_ADDRESS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HW_ADDRESS, YY_MOVE (l));
+ }
- /// Whether the given \c yytable_ value indicates a syntax error.
- /// \param yyvalue the value to check
- static bool yy_table_value_is_error_ (int yyvalue);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME, YY_MOVE (l));
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLEX_ID (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_FLEX_ID, YY_MOVE (l));
+ }
- /// Convert a scanner token number \a t to a symbol number.
- static token_number_type yytranslate_ (token_type t);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RELAY, YY_MOVE (l));
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_ADDRESS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESS, YY_MOVE (l));
+ }
- // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- // Performed when YYTABLE does not specify something else to do. Zero
- // means the default is an error.
- static const unsigned short yydefact_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOOKS_LIBRARIES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOOKS_LIBRARIES, YY_MOVE (l));
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LIBRARY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LIBRARY, YY_MOVE (l));
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PARAMETERS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PARAMETERS, YY_MOVE (l));
+ }
- // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- // positive, shift that token. If negative, reduce the rule whose
- // number is the opposite. If YYTABLE_NINF, syntax error.
- static const unsigned short yytable_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXPIRED_LEASES_PROCESSING (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, YY_MOVE (l));
+ }
- static const short yycheck_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RECLAIM_TIMER_WAIT_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, YY_MOVE (l));
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const unsigned short yystos_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, YY_MOVE (l));
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const unsigned short yyr1_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOLD_RECLAIMED_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, YY_MOVE (l));
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const unsigned char yyr2_[];
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_RECLAIM_LEASES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_RECLAIM_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, YY_MOVE (l));
+ }
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *n);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_UNWARNED_RECLAIM_CYCLES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_ID (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SERVER_ID, YY_MOVE (l));
+ }
- /// For a symbol, its name in clear.
- static const char* const yytname_[];
-#if PARSER6_DEBUG
- // YYRLINE[YYN] -- Source line where rule number YYN was defined.
- static const unsigned short yyrline_[];
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r);
- /// Print the state stack on the debug stream.
- virtual void yystack_print_ ();
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LLT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LLT, YY_MOVE (l));
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EN (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_EN, YY_MOVE (l));
+ }
- /// \brief Display a symbol type, value and location.
- /// \param yyo The output stream.
- /// \param yysym The symbol.
- template <typename Base>
- void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
-#endif
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LL, YY_MOVE (l));
+ }
- /// \brief Reclaim the memory associated to a symbol.
- /// \param yymsg Why this token is reclaimed.
- /// If null, print nothing.
- /// \param yysym The symbol.
- template <typename Base>
- void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IDENTIFIER (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_IDENTIFIER, YY_MOVE (l));
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HTYPE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HTYPE, YY_MOVE (l));
+ }
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TIME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TIME, YY_MOVE (l));
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENTERPRISE_ID (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ENTERPRISE_ID, YY_MOVE (l));
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP4O6_PORT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DHCP4O6_PORT, YY_MOVE (l));
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTROL_SOCKET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_SOCKET, YY_MOVE (l));
+ }
- /// Steal the symbol type from \a that.
- void move (by_state& that);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SOCKET_TYPE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_TYPE, YY_MOVE (l));
+ }
- /// The (internal) type number (corresponding to \a state).
- /// \a empty_symbol when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SOCKET_NAME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_NAME, YY_MOVE (l));
+ }
- /// The state number used to denote an empty symbol.
- enum { empty_state = -1 };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_QUEUE_CONTROL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, YY_MOVE (l));
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_DDNS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DHCP_DDNS, YY_MOVE (l));
+ }
- /// "Internal" symbol: element of the stack.
- struct stack_symbol_type : basic_symbol<by_state>
- {
- /// Superclass.
- typedef basic_symbol<by_state> super_type;
- /// Construct an empty symbol.
- stack_symbol_type ();
- /// Move or copy construction.
- stack_symbol_type (YY_RVREF (stack_symbol_type) that);
- /// Steal the contents from \a sym to build this.
- stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
-#if YY_CPLUSPLUS < 201103L
- /// Assignment, needed by push_back by some old implementations.
- /// Moves the contents of that.
- stack_symbol_type& operator= (stack_symbol_type& that);
-#endif
- };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENABLE_UPDATES (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_UPDATES, YY_MOVE (l));
+ }
- /// A stack with random access from its top.
- template <typename T, typename S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
- typedef typename S::size_type size_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (size_type i)
- {
- return seq_[size () - 1 - i];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (int i)
- {
- return operator[] (size_type (i));
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (size_type i) const
- {
- return seq_[size () - 1 - i];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (int i) const
- {
- return operator[] (size_type (i));
- }
-
- /// Steal the contents of \a t.
- ///
- /// Close to move-semantics.
- void
- push (YY_MOVE_REF (T) t)
- {
- seq_.push_back (T ());
- operator[] (0).move (t);
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_QUALIFYING_SUFFIX (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, YY_MOVE (l));
+ }
- /// Pop elements from the stack.
- void
- pop (int n = 1) YY_NOEXCEPT
- {
- for (; 0 < n; --n)
- seq_.pop_back ();
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_IP (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SERVER_IP, YY_MOVE (l));
+ }
- /// Pop all elements from the stack.
- void
- clear () YY_NOEXCEPT
- {
- seq_.clear ();
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_PORT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SERVER_PORT, YY_MOVE (l));
+ }
- /// Number of elements on the stack.
- size_type
- size () const YY_NOEXCEPT
- {
- return seq_.size ();
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SENDER_IP (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SENDER_IP, YY_MOVE (l));
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.rbegin ();
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SENDER_PORT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, YY_MOVE (l));
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.rend ();
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_QUEUE_SIZE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, YY_MOVE (l));
+ }
- /// Present a slice of the top of a stack.
- class slice
- {
- public:
- slice (const stack& stack, int range)
- : stack_ (stack)
- , range_ (range)
- {}
-
- const T&
- operator[] (int i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const stack& stack_;
- int range_;
- };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_PROTOCOL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, YY_MOVE (l));
+ }
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_FORMAT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, YY_MOVE (l));
+ }
+
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_NO_UPDATE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_CLIENT_UPDATE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, YY_MOVE (l));
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REPLACE_CLIENT_NAME (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, YY_MOVE (l));
+ }
- /// The stack.
- stack_type yystack_;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GENERATED_PREFIX (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, YY_MOVE (l));
+ }
- /// Push a new state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param sym the symbol
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_UDP (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_UDP, YY_MOVE (l));
+ }
- /// Push a new look ahead token on the state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the state
- /// \param sym the symbol (for its value and location).
- /// \warning the contents of \a sym.value is stolen.
- void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TCP, YY_MOVE (l));
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_JSON (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_JSON, YY_MOVE (l));
+ }
- /// Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = 1107, ///< Last index in yytable_.
- yynnts_ = 406, ///< Number of nonterminal symbols.
- yyfinal_ = 32, ///< Termination state number.
- yyterror_ = 1,
- yyerrcode_ = 256,
- yyntokens_ = 187 ///< Number of tokens.
- };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_PRESENT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NEVER (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_NEVER, YY_MOVE (l));
+ }
- // User arguments.
- isc::dhcp::Parser6Context& ctx;
- };
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALWAYS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS, YY_MOVE (l));
+ }
inline
- Dhcp6Parser::token_number_type
- Dhcp6Parser::yytranslate_ (token_type t)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_NOT_PRESENT (YY_COPY (location_type) l)
{
- // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
- // TOKEN-NUM as returned by yylex.
- static
- const token_number_type
- translate_table[] =
- {
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186
- };
- const unsigned user_token_number_max_ = 441;
- const token_number_type undef_token_ = 2;
+ return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, YY_MOVE (l));
+ }
- if (static_cast<int> (t) <= yyeof_)
- return yyeof_;
- else if (static_cast<unsigned> (t) <= user_token_number_max_)
- return translate_table[t];
- else
- return undef_token_;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_SET (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, YY_MOVE (l));
}
- // basic_symbol.
-#if 201103L <= YY_CPLUSPLUS
- template <typename Base>
- Dhcp6Parser::basic_symbol<Base>::basic_symbol (basic_symbol&& that)
- : Base (std::move (that))
- , value ()
- , location (std::move (that.location))
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_REPLACEMENT (YY_COPY (location_type) l)
{
- switch (this->type_get ())
- {
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
- value.move< ElementPtr > (std::move (that.value));
- break;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, YY_MOVE (l));
+ }
- case 186: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGING (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LOGGING, YY_MOVE (l));
+ }
- case 185: // "floating point"
- value.move< double > (std::move (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGERS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_LOGGERS, YY_MOVE (l));
+ }
- case 184: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT_OPTIONS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, YY_MOVE (l));
+ }
- case 183: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, YY_MOVE (l));
+ }
- default:
- break;
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DEBUGLEVEL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SEVERITY (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, YY_MOVE (l));
}
-#endif
- template <typename Base>
- Dhcp6Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
- : Base (that)
- , value ()
- , location (that.location)
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLUSH (YY_COPY (location_type) l)
{
- switch (this->type_get ())
- {
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_FLUSH, YY_MOVE (l));
+ }
- case 186: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXSIZE (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAXSIZE, YY_MOVE (l));
+ }
- case 185: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXVER (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, YY_MOVE (l));
+ }
- case 184: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PATTERN (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_PATTERN, YY_MOVE (l));
+ }
- case 183: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP4 (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DHCP4, YY_MOVE (l));
+ }
- default:
- break;
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCPDDNS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_DHCPDDNS, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTROL_AGENT (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_AGENT, YY_MOVE (l));
}
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TOPLEVEL_JSON (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TOPLEVEL_JSON, YY_MOVE (l));
+ }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TOPLEVEL_DHCP6 (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, YY_MOVE (l));
+ }
- template <typename Base>
- bool
- Dhcp6Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP6 (YY_COPY (location_type) l)
{
- return Base::type_get () == empty_symbol;
+ return symbol_type (token::TOKEN_SUB_DHCP6, YY_MOVE (l));
}
- template <typename Base>
- void
- Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_INTERFACES6 (YY_COPY (location_type) l)
{
- super_type::move (s);
- switch (this->type_get ())
- {
- case 204: // value
- case 208: // map_value
- case 269: // db_type
- case 363: // hr_mode
- case 499: // duid_type
- case 534: // ncr_protocol_value
- case 541: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_INTERFACES6, YY_MOVE (l));
+ }
- case 186: // "boolean"
- value.move< bool > (YY_MOVE (s.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_SUBNET6 (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_SUBNET6, YY_MOVE (l));
+ }
- case 185: // "floating point"
- value.move< double > (YY_MOVE (s.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_POOL6 (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_POOL6, YY_MOVE (l));
+ }
- case 184: // "integer"
- value.move< int64_t > (YY_MOVE (s.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_PD_POOL (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_PD_POOL, YY_MOVE (l));
+ }
- case 183: // "constant string"
- value.move< std::string > (YY_MOVE (s.value));
- break;
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_RESERVATION (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_RESERVATION, YY_MOVE (l));
+ }
- default:
- break;
- }
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEFS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEFS, YY_MOVE (l));
+ }
- location = YY_MOVE (s.location);
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEF (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, YY_MOVE (l));
}
- // by_type.
inline
- Dhcp6Parser::by_type::by_type ()
- : type (empty_symbol)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DATA (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, YY_MOVE (l));
+ }
-#if 201103L <= YY_CPLUSPLUS
inline
- Dhcp6Parser::by_type::by_type (by_type&& that)
- : type (that.type)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_HOOKS_LIBRARY (YY_COPY (location_type) l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, YY_MOVE (l));
}
-#endif
inline
- Dhcp6Parser::by_type::by_type (const by_type& that)
- : type (that.type)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP_DDNS (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, YY_MOVE (l));
+ }
inline
- Dhcp6Parser::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_LOGGING (YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_SUB_LOGGING, YY_MOVE (l));
+ }
inline
- void
- Dhcp6Parser::by_type::clear ()
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_CONFIG_CONTROL (YY_COPY (location_type) l)
{
- type = empty_symbol;
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, YY_MOVE (l));
}
inline
- void
- Dhcp6Parser::by_type::move (by_type& that)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STRING (YY_COPY (std::string) v, YY_COPY (location_type) l)
{
- type = that.type;
- that.clear ();
+ return symbol_type (token::TOKEN_STRING, YY_MOVE (v), YY_MOVE (l));
}
inline
- int
- Dhcp6Parser::by_type::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTEGER (YY_COPY (int64_t) v, YY_COPY (location_type) l)
{
- return type;
+ return symbol_type (token::TOKEN_INTEGER, YY_MOVE (v), YY_MOVE (l));
}
inline
- Dhcp6Parser::token_type
- Dhcp6Parser::by_type::token () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLOAT (YY_COPY (double) v, YY_COPY (location_type) l)
{
- // YYTOKNUM[NUM] -- (External) token number corresponding to the
- // (internal) symbol number NUM (which must be that of a token). */
- static
- const unsigned short
- yytoken_number_[] =
- {
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441
- };
- return token_type (yytoken_number_[type]);
+ return symbol_type (token::TOKEN_FLOAT, YY_MOVE (v), YY_MOVE (l));
}
-#line 14 "dhcp6_parser.yy"
-} } // isc::dhcp
-#line 4359 "dhcp6_parser.h"
+ inline
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_BOOLEAN (YY_COPY (bool) v, YY_COPY (location_type) l)
+ {
+ return symbol_type (token::TOKEN_BOOLEAN, YY_MOVE (v), YY_MOVE (l));
+ }
+#line 14 "dhcp6_parser.yy" // lalr1.cc:404
+} } // isc::dhcp
+#line 3509 "dhcp6_parser.h" // lalr1.cc:404
+
T2_PERCENT "t2-percent"
DECLINE_PROBATION_PERIOD "decline-probation-period"
SERVER_TAG "server-tag"
+ DDNS_SEND_UPDATES "ddns-send-updates"
+ DDNS_OVERRIDE_NO_UPDATE "ddns-override-no-update"
+ DDNS_OVERRIDE_CLIENT_UPDATE "ddns-override-client-update"
+ DDNS_REPLACE_CLIENT_NAME "ddns-replace-client-name"
+ DDNS_GENERATED_PREFIX "ddns-generated-prefix"
+ DDNS_QUALIFYING_SUFFIX "ddns-qualifying-suffix"
SUBNET6 "subnet6"
OPTION_DEF "option-def"
OPTION_DATA "option-data"
%type <ElementPtr> hr_mode
%type <ElementPtr> duid_type
%type <ElementPtr> ncr_protocol_value
-%type <ElementPtr> replace_client_name_value
+%type <ElementPtr> ddns_replace_client_name_value
%printer { yyoutput << $$; } <*>;
| loggers
| hostname_char_set
| hostname_char_replacement
+ | ddns_send_updates
+ | ddns_override_no_update
+ | ddns_override_client_update
+ | ddns_replace_client_name
+ | ddns_generated_prefix
+ | ddns_qualifying_suffix
| unknown_map_entry
;
ctx.stack_.back()->set("decline-probation-period", dpp);
};
+ddns_send_updates: DDNS_SEND_UPDATES COLON BOOLEAN {
+ ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("ddns-send-updates", b);
+};
+
+ddns_override_no_update: DDNS_OVERRIDE_NO_UPDATE COLON BOOLEAN {
+ ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("ddns-override-no-update", b);
+};
+
+ddns_override_client_update: DDNS_OVERRIDE_CLIENT_UPDATE COLON BOOLEAN {
+ ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("ddns-override-client-update", b);
+};
+
+ddns_replace_client_name: DDNS_REPLACE_CLIENT_NAME {
+ ctx.enter(ctx.REPLACE_CLIENT_NAME);
+} COLON ddns_replace_client_name_value {
+ ctx.stack_.back()->set("ddns-replace-client-name", $4);
+ ctx.leave();
+};
+
+ddns_replace_client_name_value:
+ WHEN_PRESENT {
+ $$ = ElementPtr(new StringElement("when-present", ctx.loc2pos(@1)));
+ }
+ | NEVER {
+ $$ = ElementPtr(new StringElement("never", ctx.loc2pos(@1)));
+ }
+ | ALWAYS {
+ $$ = ElementPtr(new StringElement("always", ctx.loc2pos(@1)));
+ }
+ | WHEN_NOT_PRESENT {
+ $$ = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(@1)));
+ }
+ | BOOLEAN {
+ error(@1, "boolean values for the replace-client-name are "
+ "no longer supported");
+ }
+ ;
+
+ddns_generated_prefix: DDNS_GENERATED_PREFIX {
+ ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+ ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
+ ctx.stack_.back()->set("ddns-generated-prefix", s);
+ ctx.leave();
+};
+
+ddns_qualifying_suffix: DDNS_QUALIFYING_SUFFIX {
+ ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+ ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
+ ctx.stack_.back()->set("ddns-qualifying-suffix", s);
+ ctx.leave();
+};
+
+hostname_char_set: HOSTNAME_CHAR_SET {
+ ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+ ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
+ ctx.stack_.back()->set("hostname-char-set", s);
+ ctx.leave();
+};
+
+hostname_char_replacement: HOSTNAME_CHAR_REPLACEMENT {
+ ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+ ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
+ ctx.stack_.back()->set("hostname-char-replacement", s);
+ ctx.leave();
+};
+
server_tag: SERVER_TAG {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {
| calculate_tee_times
| t1_percent
| t2_percent
+ | hostname_char_set
+ | hostname_char_replacement
+ | ddns_send_updates
+ | ddns_override_no_update
+ | ddns_override_client_update
+ | ddns_replace_client_name
+ | ddns_generated_prefix
+ | ddns_qualifying_suffix
| unknown_map_entry
;
| calculate_tee_times
| t1_percent
| t2_percent
+ | hostname_char_set
+ | hostname_char_replacement
+ | ddns_send_updates
+ | ddns_override_no_update
+ | ddns_override_client_update
+ | ddns_replace_client_name
+ | ddns_generated_prefix
+ | ddns_qualifying_suffix
| unknown_map_entry
;
| max_queue_size
| ncr_protocol
| ncr_format
- | override_no_update
- | override_client_update
- | replace_client_name
- | generated_prefix
- | hostname_char_set
- | hostname_char_replacement
+ | dep_override_no_update
+ | dep_override_client_update
+ | dep_replace_client_name
+ | dep_generated_prefix
+ | dep_hostname_char_set
+ | dep_hostname_char_replacement
| user_context
| comment
| unknown_map_entry
ctx.leave();
};
-override_no_update: OVERRIDE_NO_UPDATE COLON BOOLEAN {
+// Deprecated, moved to global/network scopes. Eventually it should be removed.
+dep_override_no_update: OVERRIDE_NO_UPDATE COLON BOOLEAN {
ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
ctx.stack_.back()->set("override-no-update", b);
};
-override_client_update: OVERRIDE_CLIENT_UPDATE COLON BOOLEAN {
+// Deprecated, moved to global/network scopes. Eventually it should be removed.
+dep_override_client_update: OVERRIDE_CLIENT_UPDATE COLON BOOLEAN {
ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
ctx.stack_.back()->set("override-client-update", b);
};
-replace_client_name: REPLACE_CLIENT_NAME {
+// Deprecated, moved to global/network scopes. Eventually it should be removed.
+dep_replace_client_name: REPLACE_CLIENT_NAME {
ctx.enter(ctx.REPLACE_CLIENT_NAME);
-} COLON replace_client_name_value {
+} COLON ddns_replace_client_name_value {
ctx.stack_.back()->set("replace-client-name", $4);
ctx.leave();
};
-replace_client_name_value:
- WHEN_PRESENT {
- $$ = ElementPtr(new StringElement("when-present", ctx.loc2pos(@1)));
- }
- | NEVER {
- $$ = ElementPtr(new StringElement("never", ctx.loc2pos(@1)));
- }
- | ALWAYS {
- $$ = ElementPtr(new StringElement("always", ctx.loc2pos(@1)));
- }
- | WHEN_NOT_PRESENT {
- $$ = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(@1)));
- }
- | BOOLEAN {
- error(@1, "boolean values for the replace-client-name are "
- "no longer supported");
- }
- ;
-
-generated_prefix: GENERATED_PREFIX {
+// Deprecated, moved to global/network scopes. Eventually it should be removed.
+dep_generated_prefix: GENERATED_PREFIX {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {
ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
ctx.leave();
};
-hostname_char_set: HOSTNAME_CHAR_SET {
+// Deprecated, moved to global/network scopes. Eventually it should be removed.
+dep_hostname_char_set: HOSTNAME_CHAR_SET {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {
ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
ctx.leave();
};
-hostname_char_replacement: HOSTNAME_CHAR_REPLACEMENT {
+// Deprecated, moved to global/network scopes. Eventually it should be removed.
+dep_hostname_char_replacement: HOSTNAME_CHAR_REPLACEMENT {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {
ElementPtr s(new StringElement($4, ctx.loc2pos(@4)));
Dhcpv6Srv::processClientFqdn(const Pkt6Ptr& question, const Pkt6Ptr& answer,
AllocEngine::ClientContext6& ctx) {
D2ClientMgr& d2_mgr = CfgMgr::instance().getD2ClientMgr();
+ DdnsParamsPtr ddns_params = ctx.getDdnsParams();
// Get Client FQDN Option from the client's message. If this option hasn't
// been included, do nothing.
Option6ClientFqdnPtr fqdn = boost::dynamic_pointer_cast<
Option6ClientFqdn>(question->getOption(D6O_CLIENT_FQDN));
if (!fqdn) {
- D2ClientConfig::ReplaceClientNameMode replace_name_mode =
- d2_mgr.getD2ClientConfig()->getReplaceClientNameMode();
- if (d2_mgr.ddnsEnabled() &&
- (replace_name_mode == D2ClientConfig::RCM_ALWAYS ||
- replace_name_mode == D2ClientConfig::RCM_WHEN_NOT_PRESENT)) {
+ if (ddns_params->enable_updates_ &&
+ (ddns_params->replace_client_name_mode_ == D2ClientConfig::RCM_ALWAYS ||
+ ddns_params->replace_client_name_mode_ == D2ClientConfig::RCM_WHEN_NOT_PRESENT)) {
// Fabricate an empty "client" FQDN with flags requesting
// the server do all the updates. The flags will get modified
// below according the configuration options, the name will
// Set the server S, N, and O flags based on client's flags and
// current configuration.
- d2_mgr.adjustFqdnFlags<Option6ClientFqdn>(*fqdn, *fqdn_resp);
+ d2_mgr.adjustFqdnFlags<Option6ClientFqdn>(*fqdn, *fqdn_resp, *ddns_params);
// If there's a reservation and it has a hostname specified, use it!
if (ctx.currentHost() && !ctx.currentHost()->getHostname().empty()) {
// Add the qualifying suffix.
// After #3765, this will only occur if the suffix is not empty.
fqdn_resp->setDomainName(d2_mgr.qualifyName(ctx.currentHost()->getHostname(),
- true),
+ *ddns_params, true),
Option6ClientFqdn::FULL);
} else {
// Adjust the domain name based on domain name value and type sent by
// the client and current configuration.
- d2_mgr.adjustDomainName<Option6ClientFqdn>(*fqdn, *fqdn_resp);
+ d2_mgr.adjustDomainName<Option6ClientFqdn>(*fqdn, *fqdn_resp, *ddns_params);
}
// Once we have the FQDN setup to use it for the lease hostname. This
Dhcpv6Srv::createNameChangeRequests(const Pkt6Ptr& answer,
AllocEngine::ClientContext6& ctx) {
// Don't create NameChangeRequests if DNS updates are disabled.
- if (!CfgMgr::instance().ddnsEnabled()) {
+ if (!(ctx.getDdnsParams()->enable_updates_)) {
return;
}
}
void
-Dhcpv6Srv::updateReservedFqdn(const AllocEngine::ClientContext6& ctx,
+Dhcpv6Srv::updateReservedFqdn(AllocEngine::ClientContext6& ctx,
const Pkt6Ptr& answer) {
if (!answer) {
isc_throw(isc::Unexpected, "an instance of the object encapsulating"
if (ctx.currentHost() &&
!ctx.currentHost()->getHostname().empty()) {
std::string new_name = CfgMgr::instance().getD2ClientMgr().
- qualifyName(ctx.currentHost()->getHostname(), true);
+ qualifyName(ctx.currentHost()->getHostname(), *ctx.getDdnsParams(), true);
if (new_name != name) {
fqdn->setDomainName(new_name, Option6ClientFqdn::FULL);
// Get the IPv6 address acquired by the client.
IOAddress addr = iaaddr->getAddress();
std::string generated_name =
- CfgMgr::instance().getD2ClientMgr().generateFqdn(addr);
+ CfgMgr::instance().getD2ClientMgr().generateFqdn(addr, *ctx.getDdnsParams());
LOG_DEBUG(ddns6_logger, DBG_DHCP6_DETAIL_DATA, DHCP6_DDNS_FQDN_GENERATED)
.arg(answer->getLabel())
///
/// @throw isc::Unexpected if specified message is NULL. This is treated
/// as a programmatic error.
- void updateReservedFqdn(const AllocEngine::ClientContext6& ctx,
+ void updateReservedFqdn(AllocEngine::ClientContext6& ctx,
const Pkt6Ptr& answer);
/// @private
// Get the staging configuration.
srv_config = CfgMgr::instance().getStagingCfg();
+ // Relocate dhcp-ddns parameters that have moved to global scope.
+ // Rule is that a global value overrides the dhcp-ddns value, so
+ // we need to do this before we apply global defaults.
+ // Note this is done for backward compatibilty.
+ srv_config->moveDdnsParams(mutable_cfg);
+
// Set all default values if not specified by the user.
SimpleParser6::setAllDefaults(mutable_cfg);
(config_pair.first == "t2-percent") ||
(config_pair.first == "loggers") ||
(config_pair.first == "hostname-char-set") ||
- (config_pair.first == "hostname-char-replacement")) {
-
+ (config_pair.first == "hostname-char-replacement") ||
+ (config_pair.first == "ddns-send-updates") ||
+ (config_pair.first == "ddns-override-no-update") ||
+ (config_pair.first == "ddns-override-client-update") ||
+ (config_pair.first == "ddns-replace-client-name") ||
+ (config_pair.first == "ddns-generated-prefix") ||
+ (config_pair.first == "ddns-qualifying-suffix")) {
CfgMgr::instance().getStagingCfg()->addConfiguredGlobal(config_pair.first,
config_pair.second);
continue;
// Validate D2 client confuguration.
if (!d2_client_cfg) {
d2_client_cfg.reset(new D2ClientConfig());
- d2_client_cfg->setFetchGlobalsFn([]() -> ConstElementPtr {
- return (CfgMgr::instance().getStagingCfg()->getConfiguredGlobals());
- });
}
d2_client_cfg->validateContents();
srv_config->setD2ClientConfig(d2_client_cfg);
-// Generated 201908191238
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
// Locations for Bison parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
# endif
# endif
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // location.cc:339
namespace isc { namespace dhcp {
-#line 60 "location.hh"
-
+#line 60 "location.hh" // location.cc:339
/// A point in a source file.
class position
{
return ostr;
}
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // location.cc:339
} } // isc::dhcp
-#line 323 "location.hh"
-
+#line 322 "location.hh" // location.cc:339
#endif // !YY_PARSER6_LOCATION_HH_INCLUDED
-// Generated 201908191238
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
// Starting with Bison 3.2, this file is useless: the structure it
// used to define is now defined in "location.hh".
-// Generated 201908191238
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
// Starting with Bison 3.2, this file is useless: the structure it
// used to define is now defined with the parser itself.
EXPECT_TRUE(pool);
}
+ /// @brief Tests if the current config has a given global parameter value
+ /// @param name name of the global parameter expected to exist
+ /// @param value expected value of the global parameter
+ template <typename ValueType>
+ void checkGlobal(const std::string name, ValueType value) {
+ ConstElementPtr param;
+ ConstElementPtr exp_value;
+ param = CfgMgr::instance().getStagingCfg()->getConfiguredGlobal(name);
+ ASSERT_TRUE(param) << "global: " << name << ", expected but not found";
+ ASSERT_NO_THROW(exp_value = Element::create(value));
+ EXPECT_TRUE(param->equals(*exp_value)) << "global: " << name
+ << isc::data::prettyPrint(param)
+ << " does not match expected: "
+ << isc::data::prettyPrint(exp_value);
+ }
+
int rcode_; ///< Return code (see @ref isc::config::parseAnswer)
ControlledDhcpv6Srv srv_; ///< Instance of the ControlledDhcp6Srv used during tests
ConstElementPtr comment_; ///< Comment (see @ref isc::config::parseAnswer)
" \"sender-port\" : 778, "
" \"max-queue-size\" : 2048, "
" \"ncr-protocol\" : \"UDP\", "
- " \"ncr-format\" : \"JSON\", "
+ " \"ncr-format\" : \"JSON\"}, "
+#if 0
" \"override-no-update\" : true, "
" \"override-client-update\" : true, "
" \"replace-client-name\" : \"when-present\", "
" \"qualifying-suffix\" : \"test.suffix.\", "
" \"hostname-char-set\" : \"[^A-Za-z0-9_-]\", "
" \"hostname-char-replacement\" : \"x\" }, "
+#endif
"\"valid-lifetime\": 4000 }";
// Convert the JSON string to configuration elements.
EXPECT_EQ(2048, d2_client_config->getMaxQueueSize());
EXPECT_EQ(dhcp_ddns::NCR_UDP, d2_client_config->getNcrProtocol());
EXPECT_EQ(dhcp_ddns::FMT_JSON, d2_client_config->getNcrFormat());
- EXPECT_TRUE(d2_client_config->getOverrideNoUpdate());
- EXPECT_TRUE(d2_client_config->getOverrideClientUpdate());
- EXPECT_EQ(D2ClientConfig::RCM_WHEN_PRESENT, d2_client_config->getReplaceClientNameMode());
- EXPECT_EQ("test.prefix", d2_client_config->getGeneratedPrefix());
- EXPECT_EQ("test.suffix.", d2_client_config->getQualifyingSuffix());
- EXPECT_FALSE(d2_client_config->getHostnameCharSet().unspecified());
- EXPECT_EQ("[^A-Za-z0-9_-]", d2_client_config->getHostnameCharSet().get());
- EXPECT_FALSE(d2_client_config->getHostnameCharReplacement().unspecified());
- EXPECT_EQ("x", d2_client_config->getHostnameCharReplacement().get());
- EXPECT_TRUE(d2_client_config->getHostnameSanitizer());
+
+ // ddns-send-updates should be global default
+ checkGlobal("ddns-send-updates", true);
+
+ // The following, deprecated dhcp-ddns parameters,
+ // should all have global default values.
+ checkGlobal("ddns-send-updates", true);
+ checkGlobal("ddns-override-no-update", false);
+ checkGlobal("ddns-override-client-update", false);
+ checkGlobal("ddns-replace-client-name", "never");
+ checkGlobal("ddns-generated-prefix", "myhost");
+ checkGlobal("ddns-qualifying-suffix", "");
}
-// This test checks the ability of the server to parse a configuration
-// containing a full, valid dhcp-ddns (D2ClientConfig) entry with
-// hostname-char-* at the global scope.
-TEST_F(Dhcp6ParserTest, d2ClientConfigGlobal) {
+// This test verifies that valid but deprecated dhcp-ddns parameters
+// get moved to the global scope when they do not already exist there.
+TEST_F(Dhcp6ParserTest, d2ClientConfigMoveToGlobal) {
// Verify that the D2 configuration can be fetched and is set to disabled.
D2ClientConfigPtr d2_client_config = CfgMgr::instance().getD2ClientConfig();
EXPECT_FALSE(d2_client_config->getEnableUpdates());
" \"override-client-update\" : true, "
" \"replace-client-name\" : \"when-present\", "
" \"generated-prefix\" : \"test.prefix\", "
- " \"qualifying-suffix\" : \"test.suffix.\" }, "
- "\"hostname-char-set\" : \"[^A-Za-z0-9_-]\", "
- "\"hostname-char-replacement\" : \"x\", "
+ " \"qualifying-suffix\" : \"test.suffix.\", "
+ " \"hostname-char-set\" : \"[^A-Z]\", "
+ " \"hostname-char-replacement\" : \"x\"}, "
"\"valid-lifetime\": 4000 }";
// Convert the JSON string to configuration elements.
EXPECT_EQ(2048, d2_client_config->getMaxQueueSize());
EXPECT_EQ(dhcp_ddns::NCR_UDP, d2_client_config->getNcrProtocol());
EXPECT_EQ(dhcp_ddns::FMT_JSON, d2_client_config->getNcrFormat());
- EXPECT_TRUE(d2_client_config->getOverrideNoUpdate());
- EXPECT_TRUE(d2_client_config->getOverrideClientUpdate());
- EXPECT_EQ(D2ClientConfig::RCM_WHEN_PRESENT, d2_client_config->getReplaceClientNameMode());
- EXPECT_EQ("test.prefix", d2_client_config->getGeneratedPrefix());
- EXPECT_EQ("test.suffix.", d2_client_config->getQualifyingSuffix());
- EXPECT_FALSE(d2_client_config->getHostnameCharSet().unspecified());
- EXPECT_EQ("[^A-Za-z0-9_-]", d2_client_config->getHostnameCharSet().get());
- EXPECT_FALSE(d2_client_config->getHostnameCharReplacement().unspecified());
- EXPECT_EQ("x", d2_client_config->getHostnameCharReplacement().get());
- EXPECT_TRUE(d2_client_config->getHostnameSanitizer());
+
+ // ddns-send-updates should be global default
+ checkGlobal("ddns-send-updates", true);
+
+ // The following should all have been moved from dhcp-ddns.
+ checkGlobal("ddns-override-no-update", true);
+ checkGlobal("ddns-override-client-update", true);
+ checkGlobal("ddns-replace-client-name", "when-present");
+ checkGlobal("ddns-generated-prefix", "test.prefix");
+ checkGlobal("ddns-qualifying-suffix", "test.suffix.");
+ checkGlobal("hostname-char-set", "[^A-Z]");
+ checkGlobal("hostname-char-replacement", "x");
}
-// This test checks the ability of the server to parse a configuration
-// containing a full, valid dhcp-ddns (D2ClientConfig) entry with
-// hostname-char-* at the local and global scopes (local has the priority).
+// This test verifies that explicit global values override deprecated
+// dhcp-ddns parameters (i.e. global scope wins)
TEST_F(Dhcp6ParserTest, d2ClientConfigBoth) {
// Verify that the D2 configuration can be fetched and is set to disabled.
D2ClientConfigPtr d2_client_config = CfgMgr::instance().getD2ClientConfig();
" \"max-queue-size\" : 2048, "
" \"ncr-protocol\" : \"UDP\", "
" \"ncr-format\" : \"JSON\", "
- " \"override-no-update\" : true, "
- " \"override-client-update\" : true, "
+ " \"override-no-update\" : false, "
+ " \"override-client-update\" : false, "
" \"replace-client-name\" : \"when-present\", "
- " \"generated-prefix\" : \"test.prefix\", "
- " \"qualifying-suffix\" : \"test.suffix.\", "
- " \"hostname-char-set\" : \"[^A-Za-z0-9_-]\", "
- " \"hostname-char-replacement\" : \"x\" }, "
- "\"hostname-char-set\" : \"[^A-Z]\", "
- "\"hostname-char-replacement\" : \"z\", "
+ " \"generated-prefix\" : \"d2.prefix\", "
+ " \"qualifying-suffix\" : \"d2.suffix.\", "
+ " \"hostname-char-set\" : \"[^0-9]\", "
+ " \"hostname-char-replacement\" : \"z\" }, "
+ " \"ddns-send-updates\" : false, "
+ " \"ddns-override-no-update\" : true, "
+ " \"ddns-override-client-update\" : true, "
+ " \"ddns-replace-client-name\" : \"always\", "
+ " \"ddns-generated-prefix\" : \"global.prefix\", "
+ " \"ddns-qualifying-suffix\" : \"global.suffix.\", "
+ " \"hostname-char-set\" : \"[^A-Z]\", "
+ " \"hostname-char-replacement\" : \"x\", "
"\"valid-lifetime\": 4000 }";
// Convert the JSON string to configuration elements.
EXPECT_EQ(2048, d2_client_config->getMaxQueueSize());
EXPECT_EQ(dhcp_ddns::NCR_UDP, d2_client_config->getNcrProtocol());
EXPECT_EQ(dhcp_ddns::FMT_JSON, d2_client_config->getNcrFormat());
- EXPECT_TRUE(d2_client_config->getOverrideNoUpdate());
- EXPECT_TRUE(d2_client_config->getOverrideClientUpdate());
- EXPECT_EQ(D2ClientConfig::RCM_WHEN_PRESENT, d2_client_config->getReplaceClientNameMode());
- EXPECT_EQ("test.prefix", d2_client_config->getGeneratedPrefix());
- EXPECT_EQ("test.suffix.", d2_client_config->getQualifyingSuffix());
- EXPECT_FALSE(d2_client_config->getHostnameCharSet().unspecified());
- EXPECT_EQ("[^A-Za-z0-9_-]", d2_client_config->getHostnameCharSet().get());
- EXPECT_FALSE(d2_client_config->getHostnameCharReplacement().unspecified());
- EXPECT_EQ("x", d2_client_config->getHostnameCharReplacement().get());
- EXPECT_TRUE(d2_client_config->getHostnameSanitizer());
+
+ // Verify all global values won.
+ checkGlobal("ddns-send-updates", false);
+ checkGlobal("ddns-override-no-update", true);
+ checkGlobal("ddns-override-client-update", true);
+ checkGlobal("ddns-replace-client-name", "always");
+ checkGlobal("ddns-generated-prefix", "global.prefix");
+ checkGlobal("ddns-qualifying-suffix", "global.suffix.");
+ checkGlobal("hostname-char-set", "[^A-Z]");
+ checkGlobal("hostname-char-replacement", "x");
}
// This test checks the ability of the server to handle a configuration
namespace {
+#define ASSERT_NO_THROW_LOG(statement) \
+{ \
+ try { \
+ statement; \
+ } catch (const std::exception& ex) { \
+ GTEST_FAIL() << #statement << "threw: " << ex.what(); \
+ } catch (...) { \
+ GTEST_FAIL() << #statement << "threw non-std::exception"; \
+ } \
+} \
+
/// @brief A test fixture class for testing DHCPv6 Client FQDN Option handling.
class FqdnDhcpv6SrvTest : public Dhcpv6SrvTest {
ASSERT_NO_THROW(cfg.reset(new D2ClientConfig(true,
isc::asiolink::IOAddress("::1"), 53001,
isc::asiolink::IOAddress("::"), 0,
- 1024,
- dhcp_ddns::NCR_UDP, dhcp_ddns::FMT_JSON,
- (mask & OVERRIDE_NO_UPDATE),
- (mask & OVERRIDE_CLIENT_UPDATE),
- ((mask & REPLACE_CLIENT_NAME) ?
- D2ClientConfig::RCM_WHEN_PRESENT
- : D2ClientConfig::RCM_NEVER),
- "myhost", "example.com", "[^A-Za-z0-9-]", "x")));
+ 1024, dhcp_ddns::NCR_UDP, dhcp_ddns::FMT_JSON)));
+
ASSERT_NO_THROW(CfgMgr::instance().setD2ClientConfig(cfg));
+
+ // Now we'll set the DDNS parameters at the subnet level.
+ // These should get fetched when getDdnsParams() is invoked.
+ ASSERT_TRUE(subnet_) << "enableD2 called without subnet_ set";
+ subnet_->setDdnsSendUpdates(true);
+ subnet_->setDdnsOverrideNoUpdate(mask & OVERRIDE_NO_UPDATE);
+ subnet_->setDdnsOverrideClientUpdate(mask & OVERRIDE_CLIENT_UPDATE);
+ subnet_->setDdnsReplaceClientNameMode((mask & REPLACE_CLIENT_NAME) ?
+ D2ClientConfig::RCM_WHEN_PRESENT
+ : D2ClientConfig::RCM_NEVER);
+ subnet_->setDdnsGeneratedPrefix("myhost");
+ subnet_->setDdnsQualifyingSuffix("example.com");
+ subnet_->setHostnameCharSet("[^A-Za-z0-9-]");
+ subnet_->setHostnameCharReplacement("x");
+
ASSERT_NO_THROW(srv_->startD2());
}
+ // Fetch DDNS parameter set scoped to the current subnet_.
+ DdnsParamsPtr getDdnsParams() {
+ ConstElementPtr cfg = CfgMgr::instance().getCurrentCfg()->toElement();
+ if (!subnet_) {
+ ADD_FAILURE() << "getDdnsParams() - subnet_ is empty!";
+ return (DdnsParamsPtr(new DdnsParams()));
+ }
+
+ return(CfgMgr::instance().getCurrentCfg()->getDdnsParams(*subnet_));
+ }
+
/// @brief Construct the DHCPv6 Client FQDN option using flags and
/// domain-name.
///
const bool include_oro,
OptionPtr srvid = OptionPtr()) {
Pkt6Ptr pkt = Pkt6Ptr(new Pkt6(msg_type, 1234));
- pkt->setRemoteAddr(IOAddress("fe80::abcd"));
pkt->setIface("eth0");
Option6IAPtr ia = generateIA(D6O_IA_NA, 234, 1500, 3000);
-
if (msg_type != DHCPV6_REPLY) {
IOAddress hint("2001:db8:1:1::dead:beef");
OptionPtr hint_opt(new Option6IAAddr(D6O_IAADDR, hint, 300, 500));
/// @return An object representing the created message.
Pkt6Ptr generateMessageWithIds(const uint8_t msg_type) {
Pkt6Ptr pkt = Pkt6Ptr(new Pkt6(msg_type, 1234));
+ pkt->setIface("eth0");
// Generate client-id.
OptionPtr opt_clientid = generateClientId();
pkt->addOption(opt_clientid);
addIA(1234, IOAddress("2001:db8:1::1"), answer);
AllocEngine::ClientContext6 ctx;
+ // Set the selected subnet so ddns params get returned correctly.
+ ctx.subnet_ = subnet_;
+
ASSERT_NO_THROW(srv_->processClientFqdn(question, answer, ctx));
Option6ClientFqdnPtr answ_fqdn = boost::dynamic_pointer_cast<
Option6ClientFqdn>(answer->getOption(D6O_CLIENT_FQDN));
// Call createNameChangeRequests
ctx.fwd_dns_update_ = exp_fwd.value_;
ctx.rev_dns_update_ = exp_rev.value_;
- ASSERT_NO_THROW(srv_->createNameChangeRequests(answer, ctx));
+ ASSERT_NO_THROW_LOG(srv_->createNameChangeRequests(answer, ctx));
if (exp_fwd.value_ || exp_rev.value_) {
// Should have created 1 NCR.
NameChangeRequestPtr ncr;
"\"subnet6\": [ { \n"
" \"pools\": [ { \"pool\": \"2001:db8:1::/64\" } ], \n"
" \"subnet\": \"2001:db8:1::/48\", \n"
- " \"interface-id\": \"\", \n"
" \"interface\": \"eth0\" \n"
" } ], \n"
"\"dhcp-ddns\": { \n"
query = generateMessageWithIds(DHCPV6_SOLICIT);
}
+ AllocEngine::ClientContext6 ctx;
+ bool drop = false;
+ srv_->initContext(query, ctx, drop);
+
Pkt6Ptr answer = generateMessageWithIds(DHCPV6_ADVERTISE);
- AllocEngine::ClientContext6 ctx;
ASSERT_NO_THROW(srv_->processClientFqdn(query, answer, ctx));
Option6ClientFqdnPtr answ_fqdn = boost::dynamic_pointer_cast<
AllocEngine::ClientContext6 ctx;
bool drop = false;
srv_->initContext(req, ctx, drop);
+
ASSERT_FALSE(drop);
if (msg_type == DHCPV6_SOLICIT) {
ASSERT_NO_THROW(reply = srv_->processSolicit(ctx));
Pkt6Ptr answer;
AllocEngine::ClientContext6 ctx;
+ ctx.subnet_ = subnet_;
ctx.fwd_dns_update_ = ctx.rev_dns_update_ = true;
EXPECT_THROW(srv_->createNameChangeRequests(answer, ctx),
isc::Unexpected);
answer->addOption(fqdn);
AllocEngine::ClientContext6 ctx;
+ ctx.subnet_ = subnet_;
ctx.fwd_dns_update_ = ctx.rev_dns_update_ = true;
EXPECT_THROW(srv_->createNameChangeRequests(answer, ctx), isc::Unexpected);
Pkt6Ptr answer = generateMessageWithIds(DHCPV6_REPLY);
AllocEngine::ClientContext6 ctx;
+ ctx.subnet_ = subnet_;
ctx.fwd_dns_update_ = ctx.rev_dns_update_ = true;
ASSERT_NO_THROW(srv_->createNameChangeRequests(answer, ctx));
// Create NameChangeRequest for the first allocated address.
AllocEngine::ClientContext6 ctx;
+ ctx.subnet_ = subnet_;
ctx.fwd_dns_update_ = ctx.rev_dns_update_ = true;
ASSERT_NO_THROW(srv_->createNameChangeRequests(answer, ctx));
ASSERT_EQ(1, d2_mgr_.getQueueSize());
// An attempt to send a NCR would throw.
AllocEngine::ClientContext6 ctx;
+ ctx.subnet_ = subnet_;
ctx.fwd_dns_update_ = ctx.rev_dns_update_ = true;
ASSERT_NO_THROW(srv_->createNameChangeRequests(answer, ctx));
}
subnet_ = Subnet6Ptr(new Subnet6(IOAddress("2001:db8:1:1::"), 56, 1, 2,
3, 4));
subnet_->setIface("eth0");
+ subnet_->setDdnsSendUpdates(true);
+
pool_ = Pool6Ptr(new Pool6(Lease::TYPE_NA, addr, addr));
subnet_->addPool(pool_);
CfgMgr::instance().getStagingCfg()->getCfgSubnets6()->add(subnet_);
testReplaceClientNameMode("never",
CLIENT_NAME_NOT_PRESENT, NAME_NOT_REPLACED);
+
testReplaceClientNameMode("never",
CLIENT_NAME_PRESENT, NAME_NOT_REPLACED);
///@{
/// @brief extracted configurations
const char* EXTRACTED_CONFIGS[] = {
+/// put this after const char* EXTRACTED_CONFIGS[] = {
// CONFIGURATION 0
"{\n"
" \"interfaces-config\": {\n"
"{\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
-" \"generated-prefix\": \"test.prefix\",\n"
-" \"hostname-char-replacement\": \"x\",\n"
-" \"hostname-char-set\": \"[^A-Za-z0-9_-]\",\n"
" \"max-queue-size\": 2048,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": true,\n"
-" \"override-no-update\": true,\n"
-" \"qualifying-suffix\": \"test.suffix.\",\n"
-" \"replace-client-name\": \"when-present\",\n"
" \"sender-ip\": \"3001::2\",\n"
" \"sender-port\": 778,\n"
" \"server-ip\": \"3001::1\",\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"generated-prefix\": \"test.prefix\",\n"
+" \"hostname-char-replacement\": \"x\",\n"
+" \"hostname-char-set\": \"[^A-Z]\",\n"
" \"max-queue-size\": 2048,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
" \"server-ip\": \"3001::1\",\n"
" \"server-port\": 777\n"
" },\n"
-" \"hostname-char-replacement\": \"x\",\n"
-" \"hostname-char-set\": \"[^A-Za-z0-9_-]\",\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" }\n",
// CONFIGURATION 37
"{\n"
+" \"ddns-generated-prefix\": \"global.prefix\",\n"
+" \"ddns-override-client-update\": true,\n"
+" \"ddns-override-no-update\": true,\n"
+" \"ddns-qualifying-suffix\": \"global.suffix.\",\n"
+" \"ddns-replace-client-name\": \"always\",\n"
+" \"ddns-send-updates\": false,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
-" \"generated-prefix\": \"test.prefix\",\n"
-" \"hostname-char-replacement\": \"x\",\n"
-" \"hostname-char-set\": \"[^A-Za-z0-9_-]\",\n"
+" \"generated-prefix\": \"d2.prefix\",\n"
+" \"hostname-char-replacement\": \"z\",\n"
+" \"hostname-char-set\": \"[^0-9]\",\n"
" \"max-queue-size\": 2048,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": true,\n"
-" \"override-no-update\": true,\n"
-" \"qualifying-suffix\": \"test.suffix.\",\n"
+" \"override-client-update\": false,\n"
+" \"override-no-update\": false,\n"
+" \"qualifying-suffix\": \"d2.suffix.\",\n"
" \"replace-client-name\": \"when-present\",\n"
" \"sender-ip\": \"3001::2\",\n"
" \"sender-port\": 778,\n"
" \"server-ip\": \"3001::1\",\n"
" \"server-port\": 777\n"
" },\n"
-" \"hostname-char-replacement\": \"z\",\n"
+" \"hostname-char-replacement\": \"x\",\n"
" \"hostname-char-set\": \"[^A-Z]\",\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ],\n"
" }\n"
" ],\n"
" \"valid-lifetime\": 4000\n"
+" }\n",
+ // CONFIGURATION 60
+"{\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"decline-probation-period\": 86400,\n"
+" \"dhcp-ddns\": {\n"
+" \"enable-updates\": false,\n"
+" \"max-queue-size\": 1024,\n"
+" \"ncr-format\": \"JSON\",\n"
+" \"ncr-protocol\": \"UDP\",\n"
+" \"sender-ip\": \"0.0.0.0\",\n"
+" \"sender-port\": 0,\n"
+" \"server-ip\": \"127.0.0.1\",\n"
+" \"server-port\": 53001\n"
+" },\n"
+" \"dhcp-queue-control\": {\n"
+" \"capacity\": 500,\n"
+" \"enable-queue\": false,\n"
+" \"queue-type\": \"kea-ring6\"\n"
+" },\n"
+" \"dhcp4o6-port\": 0,\n"
+" \"expired-leases-processing\": {\n"
+" \"flush-reclaimed-timer-wait-time\": 25,\n"
+" \"hold-reclaimed-time\": 3600,\n"
+" \"max-reclaim-leases\": 100,\n"
+" \"max-reclaim-time\": 250,\n"
+" \"reclaim-timer-wait-time\": 10,\n"
+" \"unwarned-reclaim-cycles\": 5\n"
+" },\n"
+" \"hooks-libraries\": [ ],\n"
+" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\" ],\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"lease-database\": {\n"
+" \"type\": \"memfile\"\n"
+" },\n"
+" \"mac-sources\": [ \"any\" ],\n"
+" \"option-data\": [ ],\n"
+" \"option-def\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay-supplied-options\": [ \"65\" ],\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [\n"
+" {\n"
+" \"client-classes\": [ ],\n"
+" \"hostname\": \"\",\n"
+" \"hw-address\": \"01:02:03:04:05:06\",\n"
+" \"ip-addresses\": [ \"2001:db8:2::abcd\" ],\n"
+" \"option-data\": [\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 23,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"2001:db8:2::abbc\",\n"
+" \"name\": \"dns-servers\",\n"
+" \"space\": \"dhcp6\"\n"
+" },\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 7,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"25\",\n"
+" \"name\": \"preference\",\n"
+" \"space\": \"dhcp6\"\n"
+" }\n"
+" ],\n"
+" \"prefixes\": [ ]\n"
+" },\n"
+" {\n"
+" \"client-classes\": [ ],\n"
+" \"duid\": \"01:02:03:04:05:06:07:08:09:0a\",\n"
+" \"hostname\": \"\",\n"
+" \"ip-addresses\": [ \"2001:db8:2::1234\" ],\n"
+" \"option-data\": [\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 23,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"2001:db8:2::1111\",\n"
+" \"name\": \"dns-servers\",\n"
+" \"space\": \"dhcp6\"\n"
+" },\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 7,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"11\",\n"
+" \"name\": \"preference\",\n"
+" \"space\": \"dhcp6\"\n"
+" }\n"
+" ],\n"
+" \"prefixes\": [ ]\n"
+" }\n"
+" ],\n"
+" \"sanity-checks\": {\n"
+" \"lease-checks\": \"warn\"\n"
+" },\n"
+" \"server-id\": {\n"
+" \"enterprise-id\": 0,\n"
+" \"htype\": 0,\n"
+" \"identifier\": \"\",\n"
+" \"persist\": true,\n"
+" \"time\": 0,\n"
+" \"type\": \"LLT\"\n"
+" },\n"
+" \"server-tag\": \"\",\n"
+" \"shared-networks\": [ ],\n"
+" \"subnet6\": [\n"
+" {\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"id\": 123,\n"
+" \"option-data\": [ ],\n"
+" \"pd-pools\": [ ],\n"
+" \"pools\": [\n"
+" {\n"
+" \"option-data\": [ ],\n"
+" \"pool\": \"2001:db8:1::/80\"\n"
+" }\n"
+" ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rapid-commit\": false,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay\": {\n"
+" \"ip-addresses\": [ ]\n"
+" },\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [ ],\n"
+" \"subnet\": \"2001:db8:1::/64\",\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" },\n"
+" {\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"id\": 234,\n"
+" \"option-data\": [ ],\n"
+" \"pd-pools\": [ ],\n"
+" \"pools\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rapid-commit\": false,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay\": {\n"
+" \"ip-addresses\": [ ]\n"
+" },\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [ ],\n"
+" \"subnet\": \"2001:db8:2::/64\",\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" },\n"
+" {\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"id\": 542,\n"
+" \"option-data\": [ ],\n"
+" \"pd-pools\": [ ],\n"
+" \"pools\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rapid-commit\": false,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay\": {\n"
+" \"ip-addresses\": [ ]\n"
+" },\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [ ],\n"
+" \"subnet\": \"2001:db8:3::/64\",\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n"
+" ],\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
" }\n"
};
/// @brief unparsed configurations
const char* UNPARSED_CONFIGS[] = {
+///put this after const char* UNPARSED_CONFIGS[] = {
// CONFIGURATION 0
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 1
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"max-preferred-lifetime\": 4000,\n"
" \"max-valid-lifetime\": 5000,\n"
// CONFIGURATION 2
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 3,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 4,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 3
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1024,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 100,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 34,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 4
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 3,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 4,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 5
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"max-preferred-lifetime\": 4,\n"
" \"max-valid-lifetime\": 5,\n"
// CONFIGURATION 6
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"interface\": \"eth0\",\n"
" \"option-data\": [ ],\n"
// CONFIGURATION 7
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"interface-id\": \"foobar\",\n"
" \"option-data\": [ ],\n"
// CONFIGURATION 8
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 9
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 10
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 11
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 12
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 13
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 14
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 15
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 16
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 17
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 18
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 19
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 20
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [\n"
" {\n"
// CONFIGURATION 21
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 22
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 23
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 24
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [\n"
" {\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [\n"
" {\n"
// CONFIGURATION 25
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 26
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 27
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 28
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 29
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 30
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 31
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 32
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" {\n"
" \"calculate-tee-times\": true,\n"
" \"client-class\": \"alpha\",\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" {\n"
" \"calculate-tee-times\": true,\n"
" \"client-class\": \"beta\",\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" {\n"
" \"calculate-tee-times\": true,\n"
" \"client-class\": \"gamma\",\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 3,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 4,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 33
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 34
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 35
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
-" \"generated-prefix\": \"test.prefix\",\n"
-" \"hostname-char-replacement\": \"x\",\n"
-" \"hostname-char-set\": \"[^A-Za-z0-9_-]\",\n"
" \"max-queue-size\": 2048,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": true,\n"
-" \"override-no-update\": true,\n"
-" \"qualifying-suffix\": \"test.suffix.\",\n"
-" \"replace-client-name\": \"when-present\",\n"
" \"sender-ip\": \"3001::2\",\n"
" \"sender-port\": 778,\n"
" \"server-ip\": \"3001::1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 36
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"test.prefix\",\n"
+" \"ddns-override-client-update\": true,\n"
+" \"ddns-override-no-update\": true,\n"
+" \"ddns-qualifying-suffix\": \"test.suffix.\",\n"
+" \"ddns-replace-client-name\": \"when-present\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
-" \"generated-prefix\": \"test.prefix\",\n"
" \"max-queue-size\": 2048,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": true,\n"
-" \"override-no-update\": true,\n"
-" \"qualifying-suffix\": \"test.suffix.\",\n"
-" \"replace-client-name\": \"when-present\",\n"
" \"sender-ip\": \"3001::2\",\n"
" \"sender-port\": 778,\n"
" \"server-ip\": \"3001::1\",\n"
" \"hooks-libraries\": [ ],\n"
" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\" ],\n"
" \"hostname-char-replacement\": \"x\",\n"
-" \"hostname-char-set\": \"[^A-Za-z0-9_-]\",\n"
+" \"hostname-char-set\": \"[^A-Z]\",\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"test.prefix\",\n"
+" \"ddns-override-client-update\": true,\n"
+" \"ddns-override-no-update\": true,\n"
+" \"ddns-qualifying-suffix\": \"test.suffix.\",\n"
+" \"ddns-replace-client-name\": \"when-present\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"hostname-char-replacement\": \"x\",\n"
+" \"hostname-char-set\": \"[^A-Z]\",\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 37
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"global.prefix\",\n"
+" \"ddns-override-client-update\": true,\n"
+" \"ddns-override-no-update\": true,\n"
+" \"ddns-qualifying-suffix\": \"global.suffix.\",\n"
+" \"ddns-replace-client-name\": \"always\",\n"
+" \"ddns-send-updates\": false,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
-" \"generated-prefix\": \"test.prefix\",\n"
-" \"hostname-char-replacement\": \"x\",\n"
-" \"hostname-char-set\": \"[^A-Za-z0-9_-]\",\n"
" \"max-queue-size\": 2048,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": true,\n"
-" \"override-no-update\": true,\n"
-" \"qualifying-suffix\": \"test.suffix.\",\n"
-" \"replace-client-name\": \"when-present\",\n"
" \"sender-ip\": \"3001::2\",\n"
" \"sender-port\": 778,\n"
" \"server-ip\": \"3001::1\",\n"
" },\n"
" \"hooks-libraries\": [ ],\n"
" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\" ],\n"
-" \"hostname-char-replacement\": \"z\",\n"
+" \"hostname-char-replacement\": \"x\",\n"
" \"hostname-char-set\": \"[^A-Z]\",\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ],\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"global.prefix\",\n"
+" \"ddns-override-client-update\": true,\n"
+" \"ddns-override-no-update\": true,\n"
+" \"ddns-qualifying-suffix\": \"global.suffix.\",\n"
+" \"ddns-replace-client-name\": \"always\",\n"
+" \"ddns-send-updates\": false,\n"
+" \"hostname-char-replacement\": \"x\",\n"
+" \"hostname-char-set\": \"[^A-Z]\",\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 38
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 123,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 234,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 542,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 39
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 234,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 40
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 41
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 42
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 3,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 4,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 5,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 43
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 2,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 44
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 45
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 46
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 47
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 12345,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
// CONFIGURATION 48
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"option-data\": [ ]\n"
" }\n"
" ],\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 50
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 51
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 52
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 53
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
// CONFIGURATION 54
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 55
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 56
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 1,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 57
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"socket-name\": \"/tmp/kea6-ctrl-socket\",\n"
" \"socket-type\": \"unix\"\n"
" },\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"comment\": \"No dynamic DNS\",\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" {\n"
" \"comment\": \"A shared network\",\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"interface\": \"\",\n"
" \"name\": \"foo\",\n"
" \"option-data\": [ ],\n"
" {\n"
" \"comment\": \"A subnet\",\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 100,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
// CONFIGURATION 59
"{\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"decline-probation-period\": 86400,\n"
+" \"dhcp-ddns\": {\n"
+" \"enable-updates\": false,\n"
+" \"max-queue-size\": 1024,\n"
+" \"ncr-format\": \"JSON\",\n"
+" \"ncr-protocol\": \"UDP\",\n"
+" \"sender-ip\": \"0.0.0.0\",\n"
+" \"sender-port\": 0,\n"
+" \"server-ip\": \"127.0.0.1\",\n"
+" \"server-port\": 53001\n"
+" },\n"
+" \"dhcp-queue-control\": {\n"
+" \"capacity\": 500,\n"
+" \"enable-queue\": false,\n"
+" \"queue-type\": \"kea-ring6\"\n"
+" },\n"
+" \"dhcp4o6-port\": 0,\n"
+" \"expired-leases-processing\": {\n"
+" \"flush-reclaimed-timer-wait-time\": 25,\n"
+" \"hold-reclaimed-time\": 3600,\n"
+" \"max-reclaim-leases\": 100,\n"
+" \"max-reclaim-time\": 250,\n"
+" \"reclaim-timer-wait-time\": 10,\n"
+" \"unwarned-reclaim-cycles\": 5\n"
+" },\n"
+" \"hooks-libraries\": [ ],\n"
+" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\" ],\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"lease-database\": {\n"
+" \"type\": \"memfile\"\n"
+" },\n"
+" \"mac-sources\": [ \"any\" ],\n"
+" \"option-data\": [ ],\n"
+" \"option-def\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay-supplied-options\": [ \"65\" ],\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [\n"
+" {\n"
+" \"client-classes\": [ ],\n"
+" \"hostname\": \"\",\n"
+" \"hw-address\": \"01:02:03:04:05:06\",\n"
+" \"ip-addresses\": [ \"2001:db8:2::abcd\" ],\n"
+" \"option-data\": [\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 23,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"2001:db8:2::abbc\",\n"
+" \"name\": \"dns-servers\",\n"
+" \"space\": \"dhcp6\"\n"
+" },\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 7,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"25\",\n"
+" \"name\": \"preference\",\n"
+" \"space\": \"dhcp6\"\n"
+" }\n"
+" ],\n"
+" \"prefixes\": [ ]\n"
+" },\n"
+" {\n"
+" \"client-classes\": [ ],\n"
+" \"duid\": \"01:02:03:04:05:06:07:08:09:0a\",\n"
+" \"hostname\": \"\",\n"
+" \"ip-addresses\": [ \"2001:db8:2::1234\" ],\n"
+" \"option-data\": [\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 23,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"2001:db8:2::1111\",\n"
+" \"name\": \"dns-servers\",\n"
+" \"space\": \"dhcp6\"\n"
+" },\n"
+" {\n"
+" \"always-send\": false,\n"
+" \"code\": 7,\n"
+" \"csv-format\": true,\n"
+" \"data\": \"11\",\n"
+" \"name\": \"preference\",\n"
+" \"space\": \"dhcp6\"\n"
+" }\n"
+" ],\n"
+" \"prefixes\": [ ]\n"
+" }\n"
+" ],\n"
+" \"sanity-checks\": {\n"
+" \"lease-checks\": \"warn\"\n"
+" },\n"
+" \"server-id\": {\n"
+" \"enterprise-id\": 0,\n"
+" \"htype\": 0,\n"
+" \"identifier\": \"\",\n"
+" \"persist\": true,\n"
+" \"time\": 0,\n"
+" \"type\": \"LLT\"\n"
+" },\n"
+" \"server-tag\": \"\",\n"
+" \"shared-networks\": [ ],\n"
+" \"subnet6\": [\n"
+" {\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"id\": 123,\n"
+" \"option-data\": [ ],\n"
+" \"pd-pools\": [ ],\n"
+" \"pools\": [\n"
+" {\n"
+" \"option-data\": [ ],\n"
+" \"pool\": \"2001:db8:1::/80\"\n"
+" }\n"
+" ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rapid-commit\": false,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay\": {\n"
+" \"ip-addresses\": [ ]\n"
+" },\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [ ],\n"
+" \"subnet\": \"2001:db8:1::/64\",\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" },\n"
+" {\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"id\": 234,\n"
+" \"option-data\": [ ],\n"
+" \"pd-pools\": [ ],\n"
+" \"pools\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rapid-commit\": false,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay\": {\n"
+" \"ip-addresses\": [ ]\n"
+" },\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [ ],\n"
+" \"subnet\": \"2001:db8:2::/64\",\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" },\n"
+" {\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"id\": 542,\n"
+" \"option-data\": [ ],\n"
+" \"pd-pools\": [ ],\n"
+" \"pools\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rapid-commit\": false,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay\": {\n"
+" \"ip-addresses\": [ ]\n"
+" },\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"reservations\": [ ],\n"
+" \"subnet\": \"2001:db8:3::/64\",\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n"
+" ],\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n",
+ // CONFIGURATION 60
+"{\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
-" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
-" \"override-client-update\": false,\n"
-" \"override-no-update\": false,\n"
-" \"qualifying-suffix\": \"\",\n"
-" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"subnet6\": [\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 123,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 234,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
" },\n"
" {\n"
" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
" \"id\": 542,\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [ ],\n"
: query_(), fake_allocation_(false), subnet_(), host_subnet_(), duid_(),
hwaddr_(), host_identifiers_(), hosts_(), fwd_dns_update_(false),
rev_dns_update_(false), hostname_(), callout_handle_(), ias_(),
- ddns_params_(new DdnsParams()) {
+ ddns_params_() {
}
AllocEngine::ClientContext6::ClientContext6(const Subnet6Ptr& subnet,