// may be specified at the global, shared-network and subnet levels.
"ddns-update-on-renew": true,
+ // Boolean flag, which is passed to kea-dhcp-ddns with each DDNS
+ // udpate request to indicate whether or not DNS update conflict
+ // resolution as described in RFC 4703 should be employed for the
+ // given update request. The default value for this flag is true.
+ // It may be specified at the global, shared-network and subnet levels.
+ "ddns-use-conflict-resolution": true,
+
// Time in seconds specifying how long a declined lease should be
// excluded from DHCP assignments. The default value is 24 hours.
"decline-probation-period": 86400,
// Shared network level value. See description at the global level.
"ddns-update-on-renew": true,
+ // Shared network level value. See description at the global level.
+ "ddns-use-conflict-resolution": true,
+
// Shared network level value. See description at the global level.
"hostname-char-replacement": "x",
// Subnet level value. See description at the global level.
"ddns-update-on-renew": true,
+ // Subnet level value. See description at the global level.
+ "ddns-use-conflict-resolution": true,
+
// Subnet level value. See description at the global level.
"hostname-char-replacement": "x",
"ddns-replace-client-name" : "when-present",
"ddns-generated-prefix" : "test.prefix",
"ddns-qualifying-suffix" : "test.suffix.",
+ "ddns-update-on-renew" : false,
+ "ddns-use-conflict-resolution" : true,
"hostname-char-set": "[^A-Za-z0-9.-]",
"hostname-char-replacement": "x",
// may be specified at the global, shared-network and subnet levels.
"ddns-update-on-renew": true,
+ // Boolean flag, which is passed to kea-dhcp-ddns with each DDNS
+ // udpate request to indicate whether or not DNS update conflict
+ // resolution as described in RFC 4703 should be employed for the
+ // given update request. The default value for this flag is true.
+ // It may be specified at the global, shared-network and subnet levels.
+ "ddns-use-conflict-resolution": true,
+
// Time in seconds specifying how long a declined lease should be
// excluded from DHCP assignments. The default value is 24 hours.
"decline-probation-period": 86400,
// Shared network level value. See description at the global level.
"ddns-update-on-renew": true,
+ // Shared network level value. See description at the global level.
+ "ddns-use-conflict-resolution": true,
+
// Shared network level value. See description at the global level.
"hostname-char-replacement": "x",
// Subnet level value. See description at the global level.
"ddns-update-on-renew": true,
+ // Subnet level value. See description at the global level.
+ "ddns-use-conflict-resolution": true,
+
// Subnet level value. See description at the global level.
"hostname-char-replacement": "x",
"ddns-replace-client-name" : "when-present",
"ddns-generated-prefix" : "test.prefix",
"ddns-qualifying-suffix" : "test.suffix.",
+ "ddns-update-on-renew" : false,
+ "ddns-use-conflict-resolution" : true,
"hostname-char-set": "[^A-Za-z0-9.-]",
"hostname-char-replacement": "x",
/* %% [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 201
-#define YY_END_OF_BUFFER 202
+#define YY_NUM_RULES 202
+#define YY_END_OF_BUFFER 203
/* 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[1868] =
+static const flex_int16_t yy_accept[1891] =
{ 0,
- 194, 194, 0, 0, 0, 0, 0, 0, 0, 0,
- 202, 200, 10, 11, 200, 1, 194, 191, 194, 194,
- 200, 193, 192, 200, 200, 200, 200, 200, 187, 188,
- 200, 200, 200, 189, 190, 5, 5, 5, 200, 200,
- 200, 10, 11, 0, 0, 183, 0, 0, 0, 0,
+ 195, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 203, 201, 10, 11, 201, 1, 195, 192, 195, 195,
+ 201, 194, 193, 201, 201, 201, 201, 201, 188, 189,
+ 201, 201, 201, 190, 191, 5, 5, 5, 201, 201,
+ 201, 10, 11, 0, 0, 184, 0, 0, 0, 0,
0, 0, 0, 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, 194, 194,
- 0, 193, 194, 3, 2, 6, 0, 194, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 9, 0, 184,
+ 0, 0, 0, 0, 0, 0, 0, 1, 195, 195,
+ 0, 194, 195, 3, 2, 6, 0, 195, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 9, 0, 185,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 186, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 187, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
- 0, 0, 0, 185, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 186, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 199, 197, 0, 196, 195, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 0, 164, 0,
- 0, 89, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 200, 198, 0, 197, 196, 0, 0,
+ 0, 0, 0, 0, 0, 0, 166, 0, 165, 0,
+ 0, 90, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 0,
- 0, 0, 0, 0, 0, 0, 0, 86, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 18, 0, 0, 0, 0, 198, 195,
- 0, 0, 0, 0, 0, 0, 0, 166, 0, 168,
+ 0, 0, 0, 18, 0, 0, 0, 0, 199, 196,
+ 0, 0, 0, 0, 0, 0, 0, 167, 0, 169,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 0, 0, 0, 0, 0, 0, 0, 75,
- 0, 0, 0, 0, 0, 0, 112, 0, 0, 0,
+ 0, 91, 0, 0, 0, 0, 0, 0, 0, 76,
+ 0, 0, 0, 0, 0, 0, 113, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 78, 0, 39, 0, 0,
+ 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 79, 0, 39, 0, 0,
0, 0, 0, 0, 0, 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, 110,
0, 31, 0, 0, 36, 0, 0, 0, 0, 0,
- 0, 0, 12, 170, 169, 0, 0, 0, 122, 0,
+ 0, 0, 12, 171, 170, 0, 0, 0, 123, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 102, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 123, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 118, 0,
+ 0, 0, 0, 0, 78, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 124, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 119, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 7, 0, 0, 171, 0, 0, 0, 0, 0,
+ 0, 7, 0, 0, 172, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 88, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 89, 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, 99, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 104, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 80, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 81, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 116, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 128, 97, 0,
- 0, 0, 0, 0, 0, 102, 32, 0, 0, 0,
+ 0, 0, 0, 117, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 129,
+ 98, 0, 0, 0, 0, 0, 0, 103, 32, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 104, 40, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 105, 40, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 70, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 147, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 148, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
- 0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
-
- 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
+ 0, 118, 0, 0, 0, 0, 0, 0, 43, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 105, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 37, 0, 0, 0, 0, 30, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 148, 0, 0,
+ 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 82, 0, 0, 0, 0,
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, 23, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
- 0, 0, 151, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 175, 0, 0, 0, 0, 0, 0, 0, 0, 115,
- 0, 0, 0, 0, 0, 0, 0, 0, 119, 0,
- 0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
+ 0, 149, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 113, 22, 0, 124, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 157, 0, 0, 0, 0, 72, 0, 0, 0, 0,
- 0, 0, 127, 34, 0, 146, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 59, 0, 0, 0, 0, 0, 93, 94, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 154, 0, 0, 0, 152, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 121, 0, 0,
+ 0, 0, 0, 0, 176, 0, 0, 0, 0, 0,
+ 0, 0, 0, 116, 0, 0, 0, 0, 0, 0,
+ 0, 0, 120, 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, 114, 22,
+
+ 0, 125, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 158, 0, 0, 0, 0,
+ 73, 0, 0, 0, 0, 0, 0, 128, 34, 0,
+ 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 59, 0, 0, 0,
+ 0, 0, 94, 95, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 44, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 179, 0, 73, 87, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 56, 0, 0, 0, 0,
- 0, 0, 0, 154, 0, 0, 152, 0, 143, 142,
- 0, 0, 0, 49, 0, 0, 21, 0, 0, 0,
- 0, 167, 0, 0, 0, 0, 0, 108, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 136, 0, 0, 145, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 125, 0,
- 15, 0, 41, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 156, 0, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 120, 0, 0, 0, 0, 111, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
- 0, 173, 0, 0, 178, 0, 96, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 180, 0, 74,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 56, 0, 0, 0, 0, 0, 0, 0, 155,
+ 0, 0, 153, 0, 144, 143, 0, 0, 0, 49,
+ 0, 0, 21, 0, 0, 0, 0, 168, 0, 0,
+ 0, 0, 0, 109, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 137, 0, 0, 146, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 126, 0, 15, 0, 41,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
+ 0, 0, 0, 0, 0, 0, 0, 57, 0, 0,
+ 121, 0, 0, 0, 0, 112, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 80, 0, 174, 0,
+ 0, 179, 0, 97, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 48, 0,
-
- 0, 0, 0, 0, 181, 0, 0, 106, 27, 0,
- 0, 0, 50, 141, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 176, 0, 149, 0, 0, 0,
- 0, 0, 0, 0, 0, 25, 0, 0, 0, 24,
- 0, 155, 0, 0, 0, 52, 0, 0, 0, 0,
- 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 0, 0, 95, 0, 0, 0, 42, 0, 0,
+
+ 14, 0, 0, 0, 0, 0, 48, 0, 0, 0,
+ 0, 0, 182, 0, 0, 107, 27, 0, 0, 0,
+ 50, 142, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 177, 0, 150, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 24, 0,
+ 156, 0, 0, 0, 52, 0, 0, 0, 0, 0,
+ 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
+ 0, 0, 96, 0, 0, 0, 42, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 126, 0, 0, 0, 26, 0, 0,
- 177, 0, 0, 0, 0, 0, 137, 0, 0, 0,
+ 0, 0, 0, 127, 0, 0, 0, 26, 0, 0,
+ 178, 0, 0, 0, 0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0, 47, 0, 0, 20,
- 0, 180, 71, 0, 0, 0, 0, 174, 172, 0,
+ 0, 181, 72, 0, 0, 0, 0, 175, 173, 0,
28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 0, 161, 0, 0, 0, 0,
- 0, 0, 0, 134, 0, 0, 0, 110, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 84, 0, 0,
- 0, 139, 0, 0, 0, 0, 0, 0, 0, 0,
- 62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 162, 13, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 140, 150, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
- 0, 0, 0, 0, 0, 0, 0, 133, 0, 55,
- 54, 19, 0, 158, 0, 0, 0, 0, 45, 0,
- 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 132, 0, 0, 0, 51, 0,
- 0, 46, 160, 0, 0, 70, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
+ 0, 0, 16, 0, 0, 0, 162, 0, 0, 0,
+ 0, 0, 0, 0, 135, 0, 0, 0, 111, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
+ 0, 0, 140, 0, 0, 0, 0, 0, 0, 0,
+ 0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 163, 13, 0, 0, 0, 0, 0, 0,
+ 0, 0, 141, 151, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
+ 134, 0, 55, 54, 19, 0, 159, 0, 0, 0,
+ 0, 45, 0, 0, 0, 93, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 133, 0,
+ 0, 0, 51, 0, 0, 46, 161, 0, 0, 71,
+ 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 67, 0, 0,
- 138, 0, 0, 0, 0, 182, 159, 0, 107, 0,
- 0, 0, 63, 0, 0, 0, 0, 0, 0, 130,
- 0, 135, 0, 65, 58, 0, 0, 0, 0, 0,
- 0, 129, 0, 0, 163, 0, 0, 0, 0, 0,
- 0, 0, 64, 0, 0, 0, 0, 0, 91, 61,
- 0, 0, 0, 0, 60, 131, 0
+ 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 67, 0, 0, 0, 139, 0, 0,
+ 0, 0, 183, 160, 0, 108, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 131, 0, 136,
+ 0, 65, 0, 58, 0, 0, 0, 0, 0, 0,
+ 0, 130, 0, 0, 164, 0, 0, 0, 0, 0,
+ 0, 0, 0, 64, 0, 0, 0, 0, 0, 69,
+ 0, 92, 61, 0, 0, 0, 0, 60, 132, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1880] =
+static const flex_int16_t yy_base[1903] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 2268, 2269, 34, 2264, 145, 0, 207, 2269, 214, 221,
- 13, 228, 2269, 2244, 118, 25, 2, 6, 2269, 2269,
- 73, 11, 17, 2269, 2269, 2269, 104, 2252, 2205, 0,
- 2242, 108, 2259, 24, 262, 2269, 2201, 67, 2207, 84,
- 75, 88, 224, 91, 89, 290, 220, 2199, 206, 285,
- 206, 204, 212, 60, 232, 2208, 247, 294, 315, 307,
- 286, 2191, 230, 325, 354, 328, 2210, 0, 366, 382,
- 397, 411, 404, 2269, 0, 2269, 419, 425, 216, 225,
- 229, 227, 319, 329, 2269, 2207, 2248, 2269, 300, 2269,
-
- 438, 2235, 390, 2204, 331, 10, 406, 311, 408, 414,
- 420, 2245, 0, 491, 409, 2187, 2184, 2188, 402, 2184,
- 2192, 406, 2188, 2177, 2178, 2183, 78, 2193, 2176, 2185,
- 2185, 95, 2176, 239, 2177, 2175, 396, 2223, 2227, 2167,
- 2220, 2160, 2183, 2180, 2180, 2174, 336, 2167, 2165, 2166,
- 2158, 2163, 2157, 413, 2168, 2161, 2152, 2151, 2165, 423,
- 2151, 430, 422, 2145, 465, 420, 432, 2166, 2163, 2164,
- 423, 2162, 2197, 2196, 423, 2142, 2142, 2143, 462, 2135,
- 2152, 2144, 0, 456, 471, 471, 489, 479, 504, 2143,
- 2269, 0, 2188, 509, 2137, 494, 501, 507, 2191, 516,
-
- 2190, 503, 2189, 2269, 553, 2188, 526, 2147, 2139, 2126,
- 2137, 2141, 2142, 2139, 2136, 2135, 2126, 500, 2177, 2171,
- 2135, 2116, 2113, 2121, 2116, 2130, 2126, 2114, 2126, 2126,
- 2117, 2101, 2105, 2118, 2120, 2117, 2109, 2099, 2117, 2269,
- 2112, 498, 2097, 2096, 2148, 2095, 2105, 2108, 541, 2104,
- 2143, 2088, 2090, 2101, 2139, 2084, 2142, 2077, 2092, 535,
- 2082, 2088, 2097, 2078, 2076, 2076, 2082, 2073, 2072, 2079,
- 2069, 2128, 2084, 2083, 2077, 488, 2084, 2079, 2071, 2061,
- 2076, 2075, 2070, 2074, 166, 2072, 2058, 2064, 2071, 2053,
- 2054, 2057, 2054, 2053, 341, 2048, 2062, 2061, 2104, 2063,
-
- 399, 2054, 523, 2269, 2269, 536, 2269, 2269, 2041, 0,
- 520, 515, 2089, 548, 2099, 548, 2269, 2098, 2269, 2092,
- 598, 2269, 547, 2032, 2041, 2089, 2049, 2032, 2049, 2030,
- 2036, 2088, 2043, 2038, 2041, 2036, 543, 2269, 2038, 2082,
- 2076, 2034, 2031, 576, 2037, 2077, 2071, 2024, 2019, 2016,
- 2067, 2024, 2013, 2029, 2063, 2009, 621, 2023, 2008, 2021,
- 2019, 2007, 2017, 2012, 2019, 2014, 2010, 528, 2008, 2011,
- 2006, 1992, 2004, 2000, 2050, 546, 2044, 2269, 2043, 1993,
- 1992, 1991, 1984, 1986, 1998, 1989, 1978, 1995, 1990, 586,
- 2037, 1990, 1987, 1990, 2269, 1989, 1978, 1978, 1990, 570,
-
- 1965, 1966, 1987, 580, 1969, 2020, 1965, 1979, 1982, 1977,
- 1963, 1975, 1974, 1973, 1968, 1971, 1970, 1969, 1968, 572,
- 2011, 1970, 2009, 2269, 1951, 1950, 629, 1963, 2269, 2269,
- 1962, 0, 1951, 1943, 573, 2002, 2001, 2269, 2000, 2269,
- 604, 672, 603, 1999, 1941, 1952, 1991, 1944, 1946, 1945,
- 1933, 2269, 1938, 1944, 1947, 1930, 1945, 1932, 1931, 2269,
- 591, 1933, 1930, 607, 1928, 1930, 2269, 1938, 1935, 1920,
- 1933, 1928, 653, 1935, 1923, 1916, 1967, 2269, 1914, 1930,
- 1964, 1925, 1922, 1923, 1907, 1924, 1958, 1909, 1904, 1903,
- 1954, 1898, 560, 1917, 1891, 1898, 1903, 1913, 1947, 1951,
-
- 2269, 1896, 1892, 1890, 1899, 1893, 1900, 1884, 1884, 1894,
- 1882, 1896, 1885, 1881, 1879, 2269, 1936, 2269, 1878, 1889,
- 1928, 1873, 1878, 1887, 1881, 1875, 1884, 1926, 1920, 1882,
- 1865, 1865, 1860, 1880, 1855, 1861, 1866, 1859, 1867, 1871,
- 1854, 1912, 1853, 1905, 1850, 1851, 1850, 1862, 1851, 2269,
- 1861, 2269, 1850, 1848, 2269, 1859, 1895, 1855, 0, 1839,
- 1856, 1896, 2269, 2269, 2269, 608, 607, 655, 2269, 1847,
- 1846, 614, 1853, 1833, 1832, 1885, 1830, 1883, 1828, 1827,
- 1826, 1833, 1826, 1838, 1820, 1820, 1835, 1834, 1822, 1832,
- 1831, 1831, 1813, 1818, 1859, 1826, 1818, 1863, 1807, 1823,
-
- 1822, 2269, 1807, 1804, 1862, 1817, 1809, 1815, 1806, 1814,
- 1799, 1815, 1797, 1809, 1810, 570, 1792, 1786, 1791, 1806,
- 1803, 1804, 1783, 1793, 1799, 1842, 1797, 1789, 1780, 2269,
- 1781, 1783, 1792, 1790, 1829, 1828, 1779, 16, 1788, 1825,
- 1770, 1771, 1774, 1767, 2269, 1781, 1760, 1764, 1778, 1770,
- 1815, 1767, 1774, 1812, 2269, 1757, 1771, 1755, 1769, 1772,
- 1753, 1805, 1804, 1803, 1802, 1747, 1800, 1799, 2269, 1744,
- 1758, 656, 1759, 1758, 1755, 1755, 1792, 1752, 1735, 1740,
- 1742, 2269, 1748, 1738, 2269, 637, 625, 1732, 1730, 1737,
- 1747, 1739, 1726, 1720, 1778, 628, 1782, 643, 1776, 1736,
-
- 1774, 1773, 1725, 1723, 1731, 1734, 1718, 1719, 1728, 1709,
- 1764, 1715, 1723, 1724, 1760, 1721, 199, 643, 217, 293,
- 351, 309, 353, 2269, 419, 446, 483, 544, 612, 610,
- 629, 628, 618, 633, 631, 647, 653, 698, 700, 650,
- 642, 653, 700, 658, 708, 2269, 709, 662, 664, 666,
- 660, 663, 716, 679, 668, 681, 2269, 671, 682, 671,
- 684, 686, 730, 731, 674, 685, 670, 693, 672, 678,
- 733, 697, 681, 693, 737, 738, 739, 686, 741, 705,
- 700, 707, 703, 688, 700, 701, 708, 694, 2269, 759,
- 717, 719, 709, 721, 711, 724, 709, 716, 722, 714,
-
- 728, 768, 744, 731, 736, 733, 715, 722, 736, 781,
- 734, 732, 741, 2269, 731, 746, 743, 729, 736, 735,
- 733, 752, 749, 737, 744, 745, 754, 758, 755, 745,
- 743, 743, 754, 750, 806, 763, 748, 749, 755, 771,
- 761, 2269, 771, 771, 764, 775, 773, 818, 760, 762,
- 777, 764, 763, 825, 782, 768, 771, 2269, 2269, 781,
- 786, 791, 779, 789, 791, 2269, 2269, 792, 779, 797,
- 784, 778, 783, 801, 788, 838, 789, 841, 787, 791,
- 849, 2269, 2269, 794, 798, 797, 794, 854, 807, 797,
- 798, 794, 807, 818, 802, 820, 815, 816, 818, 811,
-
- 813, 814, 815, 815, 817, 832, 873, 830, 835, 812,
- 835, 819, 2269, 826, 827, 841, 831, 829, 879, 837,
- 827, 842, 843, 830, 862, 870, 839, 834, 889, 890,
- 852, 892, 2269, 855, 859, 900, 848, 843, 844, 856,
- 863, 852, 853, 849, 852, 853, 863, 872, 908, 856,
- 865, 861, 919, 876, 877, 868, 2269, 870, 873, 881,
- 883, 868, 884, 878, 925, 891, 875, 876, 2269, 892,
- 895, 878, 937, 880, 899, 2269, 898, 901, 881, 899,
- 939, 897, 893, 890, 943, 944, 906, 892, 910, 909,
- 910, 896, 911, 903, 910, 900, 918, 917, 904, 2269,
-
- 912, 918, 921, 966, 2269, 915, 920, 964, 915, 928,
- 922, 926, 924, 922, 924, 934, 979, 923, 928, 924,
- 983, 927, 939, 2269, 927, 935, 933, 984, 946, 932,
- 933, 942, 954, 942, 940, 945, 955, 956, 961, 1002,
- 974, 979, 961, 958, 954, 968, 951, 951, 1011, 954,
- 2269, 954, 974, 973, 964, 953, 970, 977, 1020, 981,
- 974, 978, 982, 965, 982, 1027, 974, 2269, 1024, 971,
- 976, 975, 976, 976, 997, 994, 999, 1000, 986, 994,
- 1003, 983, 998, 1005, 1047, 2269, 1048, 1049, 991, 1001,
- 1011, 1014, 1002, 998, 1005, 1014, 1002, 1009, 1010, 1022,
-
- 1063, 1010, 1008, 1010, 1027, 1068, 1018, 1017, 1023, 1021,
- 1019, 1014, 1075, 1076, 1072, 1078, 2269, 1035, 1028, 1019,
- 1038, 1026, 1036, 1033, 1038, 1034, 1047, 1047, 2269, 1031,
- 1033, 1033, 2269, 1035, 1095, 1034, 1053, 1054, 1056, 1047,
- 1101, 1102, 1055, 1040, 1054, 1062, 1061, 1045, 1050, 1068,
- 2269, 1090, 1081, 1113, 1053, 1075, 1070, 1070, 1074, 2269,
- 1061, 1063, 1080, 1075, 1079, 1124, 1072, 1076, 2269, 1068,
- 1085, 1065, 1086, 1076, 1127, 2269, 1092, 1093, 1131, 1078,
- 1133, 1091, 1097, 1083, 1143, 1086, 1097, 1089, 1095, 1091,
- 1109, 1110, 1111, 2269, 2269, 1110, 2269, 1095, 1106, 1097,
-
- 1116, 1106, 1099, 1111, 1155, 1119, 1108, 1115, 1116, 1122,
- 2269, 1115, 1167, 1108, 1169, 2269, 1170, 1112, 1118, 1125,
- 1169, 1131, 2269, 2269, 1118, 2269, 1120, 1134, 1139, 1122,
- 1181, 1138, 1139, 1140, 1180, 1132, 1137, 1188, 1141, 1137,
- 1191, 2269, 1138, 1193, 1194, 1151, 1153, 2269, 2269, 1136,
- 1198, 1194, 1158, 1201, 1143, 1155, 1160, 1175, 1206, 2269,
- 1163, 1156, 1165, 1156, 1167, 1212, 1159, 1174, 1210, 1162,
- 2269, 1158, 1174, 1175, 1176, 1173, 1217, 1180, 1170, 1185,
- 1172, 1168, 1228, 1181, 1225, 1231, 1188, 2269, 1190, 1183,
- 1192, 1193, 1191, 1181, 1184, 1184, 1189, 1244, 1191, 1246,
-
- 1189, 1248, 1244, 1185, 1200, 1193, 1196, 1209, 1210, 1209,
- 1258, 2269, 1212, 2269, 2269, 1217, 1209, 1219, 1204, 1260,
- 1206, 1267, 1211, 1221, 1270, 2269, 1218, 1218, 1220, 1222,
- 1275, 1216, 1219, 2269, 1220, 1239, 2269, 1223, 2269, 2269,
- 1236, 1238, 1239, 2269, 1226, 1234, 2269, 1286, 1235, 1288,
- 1268, 2269, 1290, 1247, 1292, 1243, 1290, 2269, 1238, 1246,
- 1240, 1237, 1240, 1243, 1243, 1260, 1299, 1252, 1264, 1267,
- 1255, 1250, 1257, 1247, 2269, 1270, 1255, 2269, 1257, 1258,
- 1273, 1273, 1276, 1276, 1273, 1317, 1279, 1271, 2269, 1272,
- 2269, 1282, 2269, 1279, 1284, 1285, 1282, 1326, 1274, 1289,
-
- 1290, 1282, 2269, 1279, 1280, 1280, 1286, 1285, 1283, 1297,
- 2269, 1338, 1285, 2269, 1286, 1286, 1288, 1294, 2269, 1296,
- 1350, 1292, 1300, 1303, 1314, 1312, 1356, 1309, 1318, 2269,
- 1315, 2269, 1312, 1335, 2269, 1362, 2269, 1320, 1305, 1365,
- 1366, 1323, 1328, 1310, 1370, 1371, 1367, 1331, 1328, 1324,
- 1317, 1372, 1330, 1320, 1325, 1381, 1335, 1383, 1380, 1343,
- 1339, 1384, 1332, 1337, 1335, 1394, 1350, 1338, 1397, 1355,
- 1399, 1360, 1349, 1343, 1403, 1345, 1346, 1360, 1363, 1363,
- 1409, 1351, 1368, 1364, 1368, 1352, 1410, 1411, 1358, 1413,
- 1376, 1377, 2269, 1377, 1378, 1365, 1364, 1420, 2269, 1361,
-
- 1379, 1428, 1386, 1399, 2269, 1431, 1384, 2269, 2269, 1375,
- 1386, 1435, 2269, 2269, 1381, 1386, 1384, 1434, 1392, 1397,
- 1385, 1389, 1387, 1401, 2269, 1389, 2269, 1392, 1443, 1386,
- 1391, 1451, 1400, 1410, 1411, 2269, 1456, 1409, 1454, 2269,
- 1460, 2269, 1403, 1418, 1406, 2269, 1416, 1417, 1466, 1424,
- 1428, 2269, 1464, 1430, 1406, 1424, 1433, 1415, 1422, 1476,
- 1435, 1434, 1479, 1427, 1481, 1482, 1432, 1436, 1441, 1434,
- 2269, 1487, 1488, 2269, 1437, 1490, 1432, 2269, 1435, 1445,
- 1489, 1437, 1452, 1439, 1454, 1446, 1446, 1501, 1458, 1446,
- 1445, 1505, 1458, 2269, 1502, 1453, 1450, 2269, 1464, 1451,
-
- 2269, 1468, 1513, 1466, 1463, 1464, 2269, 1517, 1476, 1459,
- 1461, 1477, 1459, 1475, 1476, 1485, 2269, 1475, 1527, 2269,
- 1486, 2269, 2269, 1470, 1477, 1531, 1527, 2269, 2269, 1489,
- 2269, 1529, 1491, 1492, 1477, 1478, 1486, 1540, 1488, 1537,
- 1492, 2269, 1504, 1491, 1498, 2269, 1495, 1500, 1498, 1550,
- 1551, 1499, 1495, 2269, 1510, 1511, 1512, 2269, 1513, 1503,
- 1515, 1560, 1561, 1503, 1511, 1512, 1525, 2269, 1502, 1562,
- 1523, 2269, 1527, 1512, 1512, 1527, 1520, 1519, 1530, 1517,
- 2269, 1533, 1523, 1579, 1537, 1539, 1530, 1539, 1541, 1545,
- 2269, 2269, 1538, 1587, 1530, 1589, 1590, 1591, 1549, 1593,
-
- 2269, 2269, 1589, 1551, 1552, 1539, 1598, 1541, 1546, 1537,
- 1602, 1555, 1556, 1546, 1563, 1562, 1603, 1547, 1566, 2269,
- 1563, 1568, 1569, 1614, 1571, 1574, 1561, 2269, 1618, 2269,
- 2269, 2269, 1579, 2269, 1561, 1621, 1622, 1565, 2269, 1584,
- 1625, 1584, 2269, 1575, 1565, 1624, 1590, 1583, 1579, 1633,
- 1577, 1582, 1578, 1580, 2269, 1585, 1595, 1580, 2269, 1582,
- 1594, 2269, 2269, 1599, 1592, 2269, 1594, 1602, 1647, 1588,
- 1590, 1587, 1611, 2269, 1604, 1607, 1596, 1650, 1597, 1605,
- 1614, 1615, 1608, 1603, 1607, 1619, 1664, 2269, 1610, 1622,
- 1667, 1616, 1615, 1670, 1623, 1610, 1625, 1630, 1675, 1676,
-
- 1633, 1678, 1628, 1622, 2269, 1638, 1682, 2269, 1639, 1641,
- 2269, 1632, 1646, 1642, 1635, 2269, 2269, 1689, 2269, 1646,
- 1691, 1652, 2269, 1693, 1694, 1649, 1648, 1649, 1639, 2269,
- 1694, 2269, 1641, 2269, 2269, 1701, 1643, 1659, 1704, 1665,
- 1662, 2269, 1703, 1652, 2269, 1664, 1657, 1712, 1654, 1656,
- 1671, 1656, 2269, 1669, 1718, 1719, 1667, 1669, 2269, 2269,
- 1663, 1679, 1724, 1725, 2269, 2269, 2269, 1731, 1736, 1741,
- 1746, 1751, 1756, 1761, 1764, 1738, 1743, 1745, 1758
+ 2291, 2292, 34, 2287, 145, 0, 207, 2292, 214, 221,
+ 13, 228, 2292, 2267, 118, 25, 2, 6, 2292, 2292,
+ 73, 11, 17, 2292, 2292, 2292, 104, 2275, 2228, 0,
+ 2265, 108, 2282, 24, 262, 2292, 2224, 67, 2230, 84,
+ 75, 88, 224, 91, 89, 290, 220, 2222, 206, 285,
+ 206, 204, 212, 60, 232, 2231, 247, 294, 315, 307,
+ 286, 2214, 230, 325, 354, 328, 2233, 0, 366, 382,
+ 397, 411, 404, 2292, 0, 2292, 419, 425, 216, 225,
+ 229, 227, 319, 329, 2292, 2230, 2271, 2292, 300, 2292,
+
+ 438, 2258, 390, 2227, 331, 10, 406, 311, 408, 414,
+ 420, 2268, 0, 491, 409, 2210, 2207, 2211, 402, 2207,
+ 2215, 406, 2211, 2200, 2201, 2206, 78, 2216, 2199, 2208,
+ 2208, 95, 2199, 239, 2200, 2198, 396, 2246, 2250, 2190,
+ 2243, 2183, 2206, 2203, 2203, 2197, 336, 2190, 2188, 2189,
+ 2181, 2186, 2180, 413, 2191, 2184, 2175, 2174, 2188, 423,
+ 2174, 430, 422, 2168, 465, 420, 432, 2189, 2186, 2187,
+ 423, 2185, 2220, 2219, 423, 2165, 2165, 2166, 462, 2158,
+ 2175, 2167, 0, 456, 471, 471, 489, 479, 504, 2166,
+ 2292, 0, 2211, 509, 2160, 494, 501, 507, 2214, 516,
+
+ 2213, 503, 2212, 2292, 553, 2211, 526, 2170, 2162, 2149,
+ 2160, 2164, 2165, 2162, 2159, 2158, 2149, 500, 2200, 2194,
+ 2158, 2139, 2136, 2144, 2139, 2153, 2149, 2137, 2149, 2149,
+ 2140, 2124, 2128, 2141, 2143, 2140, 2132, 2122, 2140, 2292,
+ 2135, 498, 2120, 2119, 2171, 2118, 2128, 2131, 541, 2127,
+ 2166, 2111, 2113, 2124, 2162, 2107, 2165, 2100, 2115, 535,
+ 2105, 2111, 2120, 2101, 2099, 2099, 2105, 2096, 2095, 2102,
+ 2092, 2151, 2107, 2106, 2100, 488, 2107, 2102, 2094, 2084,
+ 2099, 2098, 2093, 2097, 166, 2095, 2081, 2087, 2094, 2076,
+ 2077, 2080, 2077, 2076, 341, 2071, 2085, 2084, 2127, 2086,
+
+ 399, 2077, 523, 2292, 2292, 536, 2292, 2292, 2064, 0,
+ 520, 515, 2112, 548, 2122, 548, 2292, 2121, 2292, 2115,
+ 598, 2292, 547, 2055, 2064, 2112, 2072, 2055, 2072, 2053,
+ 2059, 2111, 2066, 2061, 2064, 2059, 543, 2292, 2061, 2105,
+ 2099, 2057, 2054, 576, 2060, 2100, 2094, 2047, 2042, 2039,
+ 2090, 2047, 2036, 2052, 2086, 2032, 621, 2046, 2031, 2044,
+ 2042, 2030, 2040, 2035, 2042, 2037, 2033, 528, 2031, 2034,
+ 2029, 2015, 2027, 2023, 2073, 546, 2067, 2292, 2066, 2016,
+ 2015, 2014, 2007, 2009, 2021, 2012, 2001, 2018, 2013, 586,
+ 2060, 2013, 2010, 2013, 2292, 2012, 2001, 2001, 2013, 570,
+
+ 1988, 1989, 2010, 580, 1992, 2043, 1988, 2002, 2005, 2000,
+ 1986, 1998, 1997, 1996, 1991, 1994, 1993, 1992, 1991, 572,
+ 2034, 1993, 2032, 2292, 1974, 1973, 629, 1986, 2292, 2292,
+ 1985, 0, 1974, 1966, 573, 2025, 2024, 2292, 2023, 2292,
+ 604, 672, 603, 2022, 1964, 1975, 2014, 1967, 1969, 1968,
+ 1956, 2292, 1961, 1967, 1970, 1953, 1968, 1955, 1954, 2292,
+ 591, 1956, 1953, 607, 1951, 1953, 2292, 1961, 1958, 1943,
+ 1956, 1951, 653, 1958, 1946, 1939, 1990, 2292, 1937, 1953,
+ 1987, 1948, 1945, 1946, 1930, 1947, 1981, 1932, 1927, 1926,
+ 1977, 1921, 560, 1940, 1914, 1921, 1926, 1936, 1970, 1974,
+
+ 2292, 1919, 1915, 1913, 1922, 1916, 1923, 1907, 1907, 1917,
+ 1905, 1919, 1908, 1904, 1902, 2292, 1959, 2292, 1901, 1912,
+ 1951, 1896, 1901, 1910, 1904, 1898, 1907, 1949, 1943, 1905,
+ 1888, 1888, 1883, 1903, 1878, 1884, 1889, 1882, 1890, 1894,
+ 1877, 1935, 1876, 1928, 1873, 1874, 1873, 1885, 1874, 2292,
+ 1884, 2292, 1873, 1871, 2292, 1882, 1918, 1878, 0, 1862,
+ 1879, 1919, 2292, 2292, 2292, 608, 607, 655, 2292, 1870,
+ 1869, 614, 1876, 1856, 1855, 1908, 1853, 1906, 1851, 1850,
+ 1849, 1856, 1849, 1861, 1843, 1843, 1858, 1857, 612, 1856,
+ 1855, 1855, 1837, 1842, 1883, 1850, 1842, 1887, 1831, 1847,
+
+ 1846, 2292, 1831, 1828, 1886, 1841, 1833, 1839, 1830, 1838,
+ 1823, 1839, 1821, 1833, 1834, 570, 1816, 1810, 1815, 1830,
+ 1827, 1828, 1807, 1817, 1823, 1866, 1821, 1813, 1804, 2292,
+ 1805, 1807, 1816, 1814, 1853, 1852, 1803, 16, 1812, 1849,
+ 1794, 1795, 1798, 1791, 2292, 1805, 1784, 1788, 1802, 1794,
+ 1839, 1791, 1798, 1836, 2292, 1781, 1795, 1779, 1793, 1796,
+ 1777, 1829, 1828, 1827, 1826, 1771, 1824, 1823, 2292, 1768,
+ 1782, 675, 1783, 1782, 1779, 1779, 1816, 1776, 1759, 1764,
+ 1766, 2292, 1772, 1762, 2292, 637, 625, 1756, 1754, 1761,
+ 1771, 1763, 1750, 1744, 1802, 629, 1806, 655, 1800, 1760,
+
+ 1798, 1797, 1749, 1747, 1755, 1758, 1742, 1743, 1752, 1750,
+ 1732, 1787, 1738, 1746, 1747, 1783, 1744, 199, 643, 217,
+ 293, 351, 309, 353, 2292, 419, 446, 483, 544, 612,
+ 610, 614, 628, 619, 634, 638, 647, 644, 701, 702,
+ 653, 645, 655, 702, 660, 710, 2292, 711, 670, 672,
+ 668, 662, 665, 718, 681, 670, 683, 2292, 673, 684,
+ 673, 686, 688, 732, 733, 676, 687, 672, 695, 674,
+ 680, 735, 699, 683, 695, 739, 740, 741, 688, 743,
+ 707, 702, 709, 705, 690, 702, 703, 710, 696, 2292,
+ 761, 719, 721, 711, 723, 713, 726, 711, 718, 724,
+
+ 716, 730, 770, 746, 733, 738, 735, 717, 724, 738,
+ 783, 736, 734, 743, 2292, 733, 748, 745, 731, 738,
+ 737, 735, 754, 751, 739, 746, 747, 756, 760, 796,
+ 758, 748, 747, 746, 757, 753, 809, 766, 751, 752,
+ 758, 774, 764, 2292, 774, 774, 767, 778, 776, 821,
+ 763, 765, 780, 767, 766, 828, 785, 771, 774, 2292,
+ 2292, 784, 789, 794, 782, 792, 794, 2292, 2292, 795,
+ 782, 800, 787, 781, 786, 804, 791, 841, 792, 844,
+ 790, 794, 852, 2292, 2292, 797, 801, 800, 797, 857,
+ 810, 800, 801, 797, 810, 821, 805, 823, 818, 819,
+
+ 821, 814, 816, 817, 818, 818, 820, 835, 876, 833,
+ 838, 815, 838, 822, 2292, 829, 830, 844, 834, 832,
+ 882, 840, 830, 845, 846, 833, 865, 873, 842, 837,
+ 892, 893, 855, 895, 2292, 858, 862, 903, 851, 846,
+ 847, 859, 866, 855, 856, 852, 855, 856, 866, 875,
+ 911, 859, 877, 870, 865, 923, 880, 881, 872, 2292,
+ 874, 877, 885, 887, 872, 888, 882, 929, 895, 879,
+ 880, 2292, 896, 899, 882, 941, 884, 903, 2292, 902,
+ 905, 885, 903, 943, 901, 897, 894, 947, 948, 910,
+ 896, 914, 913, 914, 900, 915, 907, 914, 904, 922,
+
+ 921, 908, 2292, 916, 922, 925, 970, 2292, 919, 924,
+ 968, 919, 932, 926, 930, 928, 926, 928, 938, 983,
+ 927, 932, 928, 987, 931, 943, 2292, 931, 939, 937,
+ 988, 950, 936, 937, 946, 958, 946, 944, 949, 959,
+ 960, 965, 1006, 978, 983, 965, 962, 958, 972, 955,
+ 955, 1015, 958, 2292, 958, 978, 977, 968, 957, 974,
+ 981, 1024, 985, 978, 982, 986, 969, 986, 977, 1032,
+ 979, 2292, 1029, 978, 981, 980, 981, 981, 1002, 999,
+ 1004, 1005, 991, 999, 1008, 988, 1003, 1010, 1052, 2292,
+ 1053, 1054, 996, 1006, 1016, 1019, 1007, 1003, 1010, 1019,
+
+ 1007, 1014, 1015, 1027, 1068, 1015, 1013, 1015, 1032, 1073,
+ 1023, 1022, 1028, 1026, 1024, 1019, 1080, 1081, 1077, 1083,
+ 2292, 1040, 1033, 1024, 1043, 1031, 1041, 1038, 1043, 1039,
+ 1052, 1052, 2292, 1036, 1038, 1038, 2292, 1040, 1100, 1039,
+ 1058, 1059, 1061, 1052, 1106, 1107, 1060, 1045, 1059, 1067,
+ 1066, 1050, 1055, 1073, 2292, 1095, 1086, 1118, 1058, 1080,
+ 1075, 1075, 1079, 2292, 1066, 1068, 1085, 1080, 1084, 1129,
+ 1077, 1081, 2292, 1073, 1090, 1070, 1091, 1081, 1132, 1085,
+ 2292, 1099, 1099, 1137, 1084, 1139, 1098, 1103, 1089, 1149,
+ 1092, 1103, 1095, 1101, 1097, 1115, 1116, 1117, 2292, 2292,
+
+ 1116, 2292, 1101, 1112, 1103, 1122, 1112, 1105, 1117, 1161,
+ 1125, 1114, 1121, 1122, 1128, 2292, 1121, 1173, 1114, 1175,
+ 2292, 1176, 1118, 1124, 1131, 1175, 1137, 2292, 2292, 1124,
+ 2292, 1126, 1140, 1145, 1128, 1187, 1144, 1145, 1146, 1186,
+ 1138, 1143, 1194, 1147, 1143, 1197, 2292, 1144, 1199, 1200,
+ 1157, 1159, 2292, 2292, 1142, 1204, 1200, 1164, 1207, 1149,
+ 1161, 1166, 1181, 1212, 2292, 1169, 1162, 1171, 1162, 1173,
+ 1218, 1165, 1180, 1216, 1168, 2292, 1164, 1180, 1181, 1182,
+ 1179, 1223, 1186, 1176, 1186, 1192, 1179, 1175, 1235, 1188,
+ 1232, 1238, 1196, 2292, 1197, 1190, 1199, 1201, 1198, 1188,
+
+ 1191, 1191, 1196, 1251, 1198, 1253, 1196, 1255, 1251, 1192,
+ 1207, 1200, 1203, 1216, 1218, 1216, 1265, 2292, 1219, 2292,
+ 2292, 1224, 1216, 1226, 1211, 1267, 1213, 1274, 1218, 1228,
+ 1277, 2292, 1225, 1225, 1227, 1229, 1282, 1223, 1226, 2292,
+ 1227, 1246, 2292, 1230, 2292, 2292, 1243, 1245, 1246, 2292,
+ 1233, 1241, 2292, 1293, 1242, 1295, 1275, 2292, 1297, 1254,
+ 1299, 1250, 1297, 2292, 1245, 1253, 1247, 1244, 1247, 1250,
+ 1250, 1267, 1306, 1259, 1271, 1274, 1262, 1265, 1258, 1265,
+ 1256, 2292, 1278, 1263, 2292, 1265, 1266, 1281, 1281, 1284,
+ 1284, 1281, 1325, 1287, 1279, 2292, 1280, 2292, 1290, 2292,
+
+ 1287, 1292, 1293, 1290, 1334, 1282, 1297, 1298, 1290, 2292,
+ 1287, 1288, 1288, 1294, 1293, 1291, 1305, 2292, 1346, 1293,
+ 2292, 1294, 1294, 1296, 1302, 2292, 1304, 1358, 1300, 1308,
+ 1311, 1322, 1320, 1364, 1317, 1326, 2292, 1323, 2292, 1320,
+ 1343, 2292, 1370, 2292, 1328, 1313, 1373, 1374, 1331, 1336,
+ 1318, 1378, 1379, 1375, 1339, 1336, 1332, 1325, 1380, 1338,
+ 1339, 1329, 1334, 1390, 1344, 1393, 1389, 1352, 1349, 1393,
+ 1341, 1346, 1344, 1403, 1359, 1347, 1406, 1364, 1408, 1369,
+ 1358, 1352, 1412, 1354, 1355, 1369, 1372, 1372, 1418, 1360,
+ 1377, 1373, 1377, 1361, 1419, 1420, 1367, 1422, 1385, 1386,
+
+ 2292, 1386, 1387, 1374, 1373, 1429, 2292, 1370, 1388, 1437,
+ 1395, 1408, 2292, 1440, 1393, 2292, 2292, 1384, 1395, 1444,
+ 2292, 2292, 1390, 1395, 1393, 1443, 1401, 1406, 1394, 1410,
+ 1399, 1397, 1411, 2292, 1399, 2292, 1402, 1453, 1396, 1401,
+ 1462, 1410, 1420, 1421, 2292, 1466, 1420, 1464, 2292, 1470,
+ 2292, 1413, 1428, 1416, 2292, 1426, 1427, 1476, 1434, 1438,
+ 2292, 1474, 1440, 1416, 1434, 1443, 1425, 1432, 1486, 1445,
+ 1444, 1489, 1437, 1491, 1492, 1442, 1446, 1451, 1444, 2292,
+ 1497, 1498, 2292, 1447, 1500, 1442, 2292, 1445, 1455, 1499,
+ 1447, 1462, 1449, 1464, 1450, 1457, 1457, 1512, 1469, 1457,
+
+ 1456, 1516, 1469, 2292, 1513, 1464, 1461, 2292, 1475, 1462,
+ 2292, 1479, 1524, 1477, 1474, 1475, 2292, 1528, 1487, 1470,
+ 1472, 1488, 1470, 1486, 1487, 1496, 2292, 1486, 1538, 2292,
+ 1497, 2292, 2292, 1481, 1488, 1542, 1538, 2292, 2292, 1500,
+ 2292, 1540, 1502, 1503, 1488, 1489, 1497, 1551, 1499, 1548,
+ 1549, 1504, 2292, 1516, 1503, 1510, 2292, 1507, 1512, 1510,
+ 1562, 1563, 1511, 1507, 2292, 1522, 1523, 1524, 2292, 1525,
+ 1515, 1527, 1572, 1573, 1515, 1523, 1524, 1537, 2292, 1514,
+ 1574, 1535, 2292, 1539, 1524, 1524, 1539, 1532, 1531, 1542,
+ 1529, 2292, 1545, 1533, 1536, 1592, 1550, 1552, 1543, 1552,
+
+ 1554, 1558, 2292, 2292, 1551, 1600, 1543, 1602, 1603, 1604,
+ 1562, 1606, 2292, 2292, 1602, 1564, 1565, 1552, 1611, 1554,
+ 1559, 1550, 1615, 1568, 1569, 1559, 1576, 1575, 1616, 1560,
+ 1579, 1580, 2292, 1577, 1582, 1583, 1628, 1585, 1588, 1575,
+ 2292, 1632, 2292, 2292, 2292, 1593, 2292, 1575, 1635, 1636,
+ 1579, 2292, 1598, 1639, 1598, 2292, 1589, 1579, 1638, 1604,
+ 1597, 1593, 1647, 1590, 1592, 1597, 1593, 1595, 2292, 1600,
+ 1610, 1595, 2292, 1597, 1609, 2292, 2292, 1614, 1607, 2292,
+ 1609, 1617, 1662, 1603, 1605, 1602, 1626, 2292, 1613, 1620,
+ 1623, 1612, 1666, 1613, 1621, 1630, 1631, 1624, 1619, 1623,
+
+ 1635, 1680, 2292, 1626, 1638, 1683, 1632, 1634, 1632, 1687,
+ 1640, 1627, 1642, 1647, 1692, 1693, 1650, 1695, 1645, 1639,
+ 2292, 1655, 1699, 2292, 1656, 1641, 1659, 2292, 1650, 1664,
+ 1660, 1653, 2292, 2292, 1707, 2292, 1664, 1709, 1670, 2292,
+ 1711, 1653, 1713, 1668, 1667, 1668, 1658, 2292, 1713, 2292,
+ 1660, 2292, 1672, 2292, 1721, 1663, 1679, 1724, 1685, 1682,
+ 1674, 2292, 1724, 1673, 2292, 1685, 1678, 1733, 1681, 1676,
+ 1678, 1693, 1678, 2292, 1739, 1692, 1741, 1742, 1690, 2292,
+ 1692, 2292, 2292, 1686, 1702, 1747, 1748, 2292, 2292, 2292,
+ 1754, 1759, 1764, 1769, 1774, 1779, 1784, 1787, 1761, 1766,
+
+ 1768, 1781
} ;
-static const flex_int16_t yy_def[1880] =
+static const flex_int16_t yy_def[1903] =
{ 0,
- 1868, 1868, 1869, 1869, 1868, 1868, 1868, 1868, 1868, 1868,
- 1867, 1867, 1867, 1867, 1867, 1870, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1871,
- 1867, 1867, 1867, 1872, 15, 1867, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1873, 45, 45, 45, 45,
+ 1891, 1891, 1892, 1892, 1891, 1891, 1891, 1891, 1891, 1891,
+ 1890, 1890, 1890, 1890, 1890, 1893, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1894,
+ 1890, 1890, 1890, 1895, 15, 1890, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1896, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1870, 1867, 1867,
- 1867, 1867, 1867, 1867, 1874, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1871, 1867, 1872, 1867,
+ 45, 45, 45, 45, 45, 45, 45, 1893, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1897, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1894, 1890, 1895, 1890,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1875, 45, 1873, 45, 45, 45, 45, 45, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1898, 45, 1896, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1874, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1876, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1897, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1899, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1875, 1867, 1873, 45, 45, 45, 45, 45,
+ 45, 45, 1898, 1890, 1896, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1877,
- 45, 45, 45, 45, 45, 45, 1867, 45, 1867, 45,
- 1873, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
+ 45, 45, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1900,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 1890, 45,
+ 1896, 1890, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 45, 1867, 1867,
- 1867, 1878, 45, 45, 45, 45, 45, 1867, 45, 1867,
- 45, 1873, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 45, 45, 1867,
- 45, 45, 45, 45, 45, 45, 1867, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 1890, 1890,
+ 1890, 1901, 45, 45, 45, 45, 45, 1890, 45, 1890,
+ 45, 1896, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 45, 45, 45, 45, 1890,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1867, 45, 1867, 45, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1890, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
- 45, 1867, 45, 45, 1867, 45, 45, 1867, 1879, 45,
- 45, 45, 1867, 1867, 1867, 45, 45, 45, 1867, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
+ 45, 1890, 45, 45, 1890, 45, 45, 1890, 1902, 45,
+ 45, 45, 1890, 1890, 1890, 45, 45, 45, 1890, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1867, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1890, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 1867, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1867, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1867, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1867, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 1867, 45,
- 45, 45, 45, 45, 45, 1867, 1867, 45, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
+ 1890, 45, 45, 45, 45, 45, 45, 1890, 1890, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 1867, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1890, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1867, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1867, 45,
- 45, 45, 45, 45, 45, 1867, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
-
- 45, 45, 45, 45, 1867, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 45, 45, 45, 1890, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
+
+ 45, 45, 1890, 45, 45, 45, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1867, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1867, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1867, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
- 45, 45, 45, 45, 45, 45, 45, 45, 1867, 45,
- 45, 45, 45, 45, 45, 1867, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1867, 1867, 45, 1867, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 45, 45, 1867, 45, 45, 45, 45,
- 45, 45, 1867, 1867, 45, 1867, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 1867, 1867, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1890, 45, 45, 45, 1890, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1890, 45, 45, 45, 45, 45, 45, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1890, 1890,
+
+ 45, 1890, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1890, 45, 45, 45, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 1890, 1890, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 45, 45,
+ 45, 45, 1890, 1890, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1890, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 1867, 1867, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1867, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 1867, 45, 1867, 1867,
- 45, 45, 45, 1867, 45, 45, 1867, 45, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 1867, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 1890,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 45, 45, 45, 45, 1890,
+ 45, 45, 1890, 45, 1890, 1890, 45, 45, 45, 1890,
+ 45, 45, 1890, 45, 45, 45, 45, 1890, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 45, 1867, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1867, 45,
- 1867, 45, 1867, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 1867, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 1867, 45, 45, 45, 45, 1867, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
- 45, 1867, 45, 45, 1867, 45, 1867, 45, 45, 45,
+ 45, 1890, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1890, 45, 1890, 45, 1890,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 45,
+ 1890, 45, 45, 45, 45, 1890, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 1890, 45,
+ 45, 1890, 45, 1890, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 1867, 45,
-
- 45, 45, 45, 45, 1867, 45, 45, 1867, 1867, 45,
- 45, 45, 1867, 1867, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 1867, 45, 45, 45,
- 45, 45, 45, 45, 45, 1867, 45, 45, 45, 1867,
- 45, 1867, 45, 45, 45, 1867, 45, 45, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 1890, 45, 45, 45, 45, 45, 1890, 45, 45, 45,
+ 45, 45, 1890, 45, 45, 1890, 1890, 45, 45, 45,
+ 1890, 1890, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1890, 45, 1890, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 1890, 45,
+ 1890, 45, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1890,
+ 45, 45, 1890, 45, 45, 45, 1890, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 1867, 45, 45, 45, 1867, 45, 45,
+
+ 45, 45, 45, 1890, 45, 45, 45, 1890, 45, 45,
+ 1890, 45, 45, 45, 45, 45, 1890, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1890, 45, 45, 1890,
+ 45, 1890, 1890, 45, 45, 45, 45, 1890, 1890, 45,
+ 1890, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1890, 45, 45, 45, 1890, 45, 45, 45,
+ 45, 45, 45, 45, 1890, 45, 45, 45, 1890, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1890, 45,
+ 45, 45, 1890, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 45, 1890, 1890, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1890, 1890, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 1867, 45, 45,
-
- 1867, 45, 45, 45, 45, 45, 1867, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1867, 45, 45, 1867,
- 45, 1867, 1867, 45, 45, 45, 45, 1867, 1867, 45,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 45, 1867, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 1867, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
- 45, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1867, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
-
- 1867, 1867, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1867,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 1867,
- 1867, 1867, 45, 1867, 45, 45, 45, 45, 1867, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 45, 45, 1867, 45,
- 45, 1867, 1867, 45, 45, 1867, 45, 45, 45, 45,
- 45, 45, 45, 1867, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1867, 45, 45,
+ 45, 45, 1890, 45, 45, 45, 45, 45, 45, 45,
+ 1890, 45, 1890, 1890, 1890, 45, 1890, 45, 45, 45,
+ 45, 1890, 45, 45, 45, 1890, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1890, 45,
+ 45, 45, 1890, 45, 45, 1890, 1890, 45, 45, 1890,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1867, 45, 45, 1867, 45, 45,
- 1867, 45, 45, 45, 45, 1867, 1867, 45, 1867, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 45, 1867,
- 45, 1867, 45, 1867, 1867, 45, 45, 45, 45, 45,
- 45, 1867, 45, 45, 1867, 45, 45, 45, 45, 45,
- 45, 45, 1867, 45, 45, 45, 45, 45, 1867, 1867,
- 45, 45, 45, 45, 1867, 1867, 0, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867
+ 45, 45, 1890, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1890, 45, 45, 1890, 45, 45, 45, 1890, 45, 45,
+ 45, 45, 1890, 1890, 45, 1890, 45, 45, 45, 1890,
+ 45, 45, 45, 45, 45, 45, 45, 1890, 45, 1890,
+ 45, 1890, 45, 1890, 45, 45, 45, 45, 45, 45,
+ 45, 1890, 45, 45, 1890, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1890, 45, 45, 45, 45, 45, 1890,
+ 45, 1890, 1890, 45, 45, 45, 45, 1890, 1890, 0,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+
+ 1890, 1890
} ;
-static const flex_int16_t yy_nxt[2343] =
+static const flex_int16_t yy_nxt[2366] =
{ 0,
- 1867, 13, 14, 13, 1867, 15, 16, 1867, 17, 18,
+ 1890, 13, 14, 13, 1890, 15, 16, 1890, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 84, 757, 37, 14, 37, 85, 25, 26, 38, 100,
- 1867, 27, 37, 14, 37, 42, 28, 42, 38, 90,
+ 84, 758, 37, 14, 37, 85, 25, 26, 38, 100,
+ 1890, 27, 37, 14, 37, 42, 28, 42, 38, 90,
91, 29, 197, 30, 13, 14, 13, 89, 90, 25,
31, 91, 13, 14, 13, 13, 14, 13, 32, 40,
- 758, 13, 14, 13, 33, 40, 101, 90, 91, 197,
+ 759, 13, 14, 13, 33, 40, 101, 90, 91, 197,
89, 34, 35, 13, 14, 13, 93, 15, 16, 94,
17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
23, 24, 13, 14, 13, 89, 39, 103, 25, 26,
80, 80, 80, 80, 80, 79, 105, 82, 82, 82,
82, 82, 410, 81, 83, 83, 83, 83, 83, 79,
81, 82, 82, 82, 82, 82, 184, 81, 108, 105,
- 103, 119, 836, 131, 81, 185, 81, 184, 109, 120,
+ 103, 119, 838, 131, 81, 185, 81, 184, 109, 120,
134, 135, 121, 81, 132, 122, 186, 123, 136, 124,
- 81, 108, 184, 840, 133, 164, 115, 81, 45, 165,
+ 81, 108, 184, 842, 133, 164, 115, 81, 45, 165,
139, 185, 116, 187, 45, 117, 109, 45, 232, 45,
140, 45, 141, 45, 186, 113, 143, 144, 45, 45,
- 145, 45, 45, 841, 233, 100, 146, 45, 45, 45,
+ 145, 45, 45, 843, 233, 100, 146, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
125, 160, 45, 126, 127, 161, 45, 128, 129, 147,
45, 107, 101, 148, 199, 162, 317, 149, 45, 185,
- 130, 420, 45, 110, 45, 114, 842, 155, 843, 150,
+ 130, 420, 45, 110, 45, 114, 844, 155, 845, 150,
152, 196, 153, 151, 154, 156, 186, 157, 173, 174,
166, 199, 158, 159, 167, 188, 179, 168, 108, 83,
83, 83, 83, 83, 169, 170, 180, 196, 109, 171,
172, 181, 81, 79, 189, 80, 80, 80, 80, 80,
- 248, 175, 844, 176, 249, 87, 177, 87, 81, 426,
+ 248, 175, 846, 176, 249, 87, 177, 87, 81, 426,
88, 88, 88, 88, 88, 81, 109, 83, 83, 83,
83, 83, 79, 178, 82, 82, 82, 82, 82, 194,
81, 81, 88, 88, 88, 88, 88, 81, 88, 88,
88, 88, 88, 99, 198, 200, 202, 201, 194, 211,
99, 198, 236, 81, 216, 237, 199, 194, 212, 238,
- 81, 427, 213, 217, 218, 206, 845, 270, 290, 202,
+ 81, 427, 213, 217, 218, 206, 847, 270, 290, 202,
262, 271, 198, 200, 201, 273, 207, 282, 283, 198,
99, 256, 291, 295, 99, 263, 264, 265, 99, 267,
- 284, 303, 268, 269, 285, 201, 99, 305, 286, 846,
+ 284, 303, 268, 269, 285, 201, 99, 305, 286, 848,
99, 304, 99, 192, 205, 205, 205, 205, 205, 304,
274, 275, 276, 205, 205, 205, 205, 205, 205, 303,
305, 277, 299, 278, 303, 279, 280, 304, 281, 314,
305, 312, 315, 316, 320, 307, 205, 205, 205, 205,
- 205, 205, 318, 360, 399, 381, 847, 400, 312, 429,
+ 205, 205, 318, 360, 399, 381, 849, 400, 312, 429,
334, 368, 306, 308, 312, 435, 316, 314, 335, 315,
361, 320, 429, 336, 337, 318, 321, 321, 321, 321,
321, 323, 429, 433, 437, 321, 321, 321, 321, 321,
321, 382, 439, 434, 435, 430, 464, 435, 457, 492,
- 493, 516, 465, 848, 494, 383, 502, 437, 321, 321,
+ 493, 516, 465, 850, 494, 383, 502, 437, 321, 321,
321, 321, 321, 321, 369, 458, 503, 370, 562, 622,
- 439, 442, 442, 442, 442, 442, 443, 735, 736, 623,
+ 439, 442, 442, 442, 442, 442, 443, 736, 737, 623,
442, 442, 442, 442, 442, 442, 478, 548, 526, 531,
549, 479, 527, 532, 555, 566, 562, 567, 562, 556,
686, 687, 584, 442, 442, 442, 442, 442, 442, 517,
- 585, 803, 586, 587, 588, 592, 589, 849, 602, 850,
- 685, 789, 566, 603, 567, 688, 568, 686, 593, 687,
- 594, 691, 790, 802, 803, 812, 851, 852, 692, 480,
- 853, 813, 854, 855, 481, 45, 45, 45, 45, 45,
- 815, 816, 856, 817, 45, 45, 45, 45, 45, 45,
-
- 837, 802, 857, 858, 838, 859, 860, 861, 839, 862,
- 864, 865, 863, 866, 867, 868, 869, 45, 45, 45,
+ 585, 804, 586, 587, 588, 592, 589, 851, 602, 852,
+ 685, 853, 566, 603, 567, 688, 568, 686, 593, 687,
+ 594, 691, 709, 803, 804, 710, 813, 854, 692, 480,
+ 790, 855, 814, 856, 481, 45, 45, 45, 45, 45,
+ 857, 791, 858, 859, 45, 45, 45, 45, 45, 45,
+
+ 839, 803, 816, 817, 840, 818, 860, 861, 841, 862,
+ 863, 864, 866, 867, 865, 868, 869, 45, 45, 45,
45, 45, 45, 870, 871, 872, 873, 874, 875, 876,
877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
- 897, 898, 899, 900, 902, 903, 904, 907, 908, 909,
- 901, 911, 912, 905, 913, 910, 914, 906, 915, 916,
+ 897, 898, 899, 900, 901, 902, 904, 905, 906, 909,
+ 910, 911, 903, 913, 914, 907, 915, 912, 916, 908,
917, 918, 919, 920, 921, 922, 923, 924, 925, 926,
927, 928, 929, 930, 931, 932, 933, 934, 935, 936,
937, 938, 939, 940, 941, 942, 943, 944, 945, 946,
- 947, 948, 949, 950, 951, 952, 953, 926, 954, 955,
+ 947, 948, 949, 950, 951, 952, 953, 954, 955, 928,
956, 957, 958, 959, 960, 961, 962, 963, 964, 965,
- 966, 967, 968, 969, 971, 972, 973, 974, 970, 975,
- 976, 977, 978, 979, 980, 981, 982, 983, 984, 985,
- 986, 987, 988, 989, 990, 991, 992, 994, 995, 996,
- 993, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
+ 966, 967, 968, 969, 970, 971, 972, 974, 975, 976,
+ 977, 973, 978, 979, 980, 981, 982, 983, 984, 985,
+ 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
+ 997, 998, 999, 996, 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,
1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035,
1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
- 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1042,
- 1065, 1066, 1041, 1067, 1068, 1069, 1070, 1071, 1072, 1073,
+ 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
+ 1066, 1067, 1045, 1068, 1069, 1044, 1070, 1071, 1072, 1073,
1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
- 1084, 1085, 1086, 1088, 1089, 1090, 1091, 1092, 1093, 1094,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1092, 1093, 1094,
1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104,
- 1105, 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1114, 1115,
- 1116, 1117, 1118, 1119, 1120, 1121, 1111, 1122, 1123, 1124,
- 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
+ 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114,
+ 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125,
+ 1115, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
- 1087, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1154,
- 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163,
+ 1145, 1146, 1147, 1148, 1091, 1149, 1150, 1151, 1152, 1153,
+ 1154, 1155, 1156, 1158, 1157, 1159, 1160, 1161, 1162, 1163,
1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173,
- 1174, 1175, 1176, 1177, 1178, 1179, 1152, 1153, 1180, 1181,
- 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
- 1192, 1193, 1194, 1195, 1197, 1199, 1200, 1201, 1196, 1202,
- 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212,
+ 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
+ 1156, 1157, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
+ 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1202,
+ 1204, 1205, 1206, 1201, 1207, 1208, 1209, 1210, 1211, 1212,
1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
- 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1198, 1241,
+ 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
- 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
+ 1243, 1244, 1245, 1203, 1246, 1247, 1248, 1249, 1250, 1251,
1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271,
- 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1258,
- 1281, 1282, 1283, 1284, 1285, 1259, 1286, 1287, 1288, 1289,
- 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
+ 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281,
+ 1282, 1283, 1284, 1285, 1263, 1286, 1287, 1288, 1289, 1290,
+ 1264, 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, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
+ 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1338, 1339, 1340,
1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
- 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1360, 1361,
- 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371,
- 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1351, 1380,
- 1381, 1382, 1383, 1331, 1384, 1385, 1386, 1387, 1388, 1389,
- 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1398, 1399, 1400,
- 1401, 1359, 1402, 1403, 1397, 1404, 1405, 1406, 1407, 1408,
- 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418,
+ 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360,
+ 1361, 1362, 1363, 1364, 1366, 1367, 1368, 1369, 1370, 1371,
+ 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381,
+ 1382, 1383, 1384, 1385, 1357, 1386, 1387, 1388, 1389, 1337,
+ 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399,
+ 1400, 1401, 1402, 1403, 1405, 1406, 1407, 1365, 1408, 1409,
+ 1410, 1404, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418,
1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428,
- 1429, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1433, 1438,
+ 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438,
- 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448,
- 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1434, 1456, 1457,
- 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467,
+ 1439, 1441, 1442, 1443, 1444, 1440, 1445, 1446, 1447, 1448,
+ 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458,
+ 1459, 1460, 1461, 1462, 1441, 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, 1505, 1506, 1507,
- 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1518,
- 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1517,
- 1528, 1529, 1530, 1504, 1531, 1532, 1533, 1534, 1535, 1536,
+ 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517,
+ 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1526, 1527, 1528,
+ 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1525, 1536, 1537,
- 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
+ 1538, 1512, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1547,
1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557,
1558, 1559, 1560, 1561, 1562, 1563, 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, 1592, 1593, 1594, 1537, 1595, 1596,
- 1597, 1598, 1599, 1573, 1600, 1601, 1602, 1603, 1604, 1605,
- 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
+ 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
+ 1598, 1599, 1600, 1601, 1602, 1603, 1546, 1604, 1605, 1606,
+ 1607, 1608, 1582, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625,
1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835,
1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845,
- 1846, 1848, 1847, 1849, 1850, 1851, 1852, 1853, 1854, 1855,
+ 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855,
1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865,
- 1866, 12, 12, 12, 12, 12, 36, 36, 36, 36,
- 36, 78, 310, 78, 78, 78, 97, 432, 97, 559,
- 97, 99, 99, 99, 99, 99, 112, 112, 112, 112,
- 112, 183, 99, 183, 183, 183, 203, 203, 203, 835,
- 834, 833, 832, 831, 830, 829, 828, 827, 826, 825,
- 824, 823, 822, 821, 820, 819, 818, 814, 811, 810,
- 809, 808, 807, 806, 805, 804, 801, 800, 799, 798,
-
- 797, 796, 795, 794, 793, 792, 791, 788, 787, 786,
- 785, 784, 783, 782, 781, 780, 779, 778, 777, 776,
- 775, 774, 773, 772, 771, 770, 769, 768, 767, 766,
- 765, 764, 763, 762, 761, 760, 759, 756, 755, 754,
- 753, 752, 751, 750, 749, 748, 747, 746, 745, 744,
- 743, 742, 741, 740, 739, 738, 737, 734, 733, 732,
- 731, 730, 729, 728, 727, 726, 725, 724, 723, 722,
- 721, 720, 719, 718, 717, 716, 715, 714, 713, 712,
- 711, 710, 709, 708, 707, 706, 705, 704, 703, 702,
- 701, 700, 699, 698, 697, 696, 695, 694, 693, 690,
-
- 689, 685, 684, 683, 682, 681, 680, 679, 678, 677,
- 676, 675, 674, 673, 672, 671, 670, 669, 668, 667,
- 666, 665, 664, 663, 662, 661, 660, 659, 658, 657,
- 656, 655, 654, 653, 652, 651, 650, 649, 648, 647,
- 646, 645, 644, 643, 642, 641, 640, 639, 638, 637,
- 636, 635, 634, 633, 632, 631, 630, 629, 628, 627,
- 626, 625, 624, 621, 620, 619, 618, 617, 616, 615,
- 614, 613, 612, 611, 610, 609, 608, 607, 606, 605,
- 604, 601, 600, 599, 598, 597, 596, 595, 591, 590,
- 583, 582, 581, 580, 579, 578, 577, 576, 575, 574,
-
- 573, 572, 571, 570, 569, 565, 564, 563, 561, 560,
- 558, 557, 554, 553, 552, 551, 550, 547, 546, 545,
- 544, 543, 542, 541, 540, 539, 538, 537, 536, 535,
- 534, 533, 530, 529, 528, 525, 524, 523, 522, 521,
- 520, 519, 518, 515, 514, 513, 512, 511, 510, 509,
- 508, 507, 506, 505, 504, 501, 500, 499, 498, 497,
- 496, 495, 491, 490, 489, 488, 487, 486, 485, 484,
- 483, 482, 477, 476, 475, 474, 473, 472, 471, 470,
- 469, 468, 467, 466, 463, 462, 461, 460, 459, 456,
- 455, 454, 453, 452, 451, 450, 449, 448, 447, 446,
-
- 445, 444, 441, 440, 438, 436, 431, 428, 425, 424,
- 423, 422, 421, 419, 418, 417, 416, 415, 414, 413,
- 412, 411, 408, 407, 406, 405, 404, 403, 402, 401,
- 398, 397, 396, 395, 394, 393, 392, 391, 390, 389,
- 388, 387, 386, 385, 384, 380, 379, 378, 377, 376,
- 375, 374, 373, 372, 371, 367, 366, 365, 364, 363,
- 362, 359, 358, 357, 356, 355, 354, 353, 352, 351,
- 350, 349, 348, 347, 346, 345, 344, 343, 342, 341,
- 340, 339, 338, 333, 332, 331, 330, 329, 328, 327,
- 326, 325, 324, 322, 204, 319, 317, 313, 311, 309,
-
- 302, 301, 300, 298, 297, 296, 294, 293, 292, 289,
- 288, 287, 272, 266, 261, 260, 259, 258, 257, 255,
- 254, 253, 252, 251, 250, 247, 246, 245, 244, 243,
- 242, 241, 240, 239, 235, 234, 231, 228, 227, 226,
- 225, 222, 221, 220, 219, 215, 214, 210, 209, 208,
- 204, 195, 193, 191, 190, 182, 163, 142, 118, 104,
- 102, 43, 98, 96, 95, 86, 43, 1867, 11, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
-
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867
+ 1866, 1868, 1867, 1869, 1870, 1871, 1872, 1873, 1874, 1875,
+ 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,
+ 1886, 1887, 1888, 1889, 12, 12, 12, 12, 12, 36,
+ 36, 36, 36, 36, 78, 310, 78, 78, 78, 97,
+ 432, 97, 559, 97, 99, 99, 99, 99, 99, 112,
+ 112, 112, 112, 112, 183, 99, 183, 183, 183, 203,
+ 203, 203, 837, 836, 835, 834, 833, 832, 831, 830,
+
+ 829, 828, 827, 826, 825, 824, 823, 822, 821, 820,
+ 819, 815, 812, 811, 810, 809, 808, 807, 806, 805,
+ 802, 801, 800, 799, 798, 797, 796, 795, 794, 793,
+ 792, 789, 788, 787, 786, 785, 784, 783, 782, 781,
+ 780, 779, 778, 777, 776, 775, 774, 773, 772, 771,
+ 770, 769, 768, 767, 766, 765, 764, 763, 762, 761,
+ 760, 757, 756, 755, 754, 753, 752, 751, 750, 749,
+ 748, 747, 746, 745, 744, 743, 742, 741, 740, 739,
+ 738, 735, 734, 733, 732, 731, 730, 729, 728, 727,
+ 726, 725, 724, 723, 722, 721, 720, 719, 718, 717,
+
+ 716, 715, 714, 713, 712, 711, 708, 707, 706, 705,
+ 704, 703, 702, 701, 700, 699, 698, 697, 696, 695,
+ 694, 693, 690, 689, 685, 684, 683, 682, 681, 680,
+ 679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
+ 669, 668, 667, 666, 665, 664, 663, 662, 661, 660,
+ 659, 658, 657, 656, 655, 654, 653, 652, 651, 650,
+ 649, 648, 647, 646, 645, 644, 643, 642, 641, 640,
+ 639, 638, 637, 636, 635, 634, 633, 632, 631, 630,
+ 629, 628, 627, 626, 625, 624, 621, 620, 619, 618,
+ 617, 616, 615, 614, 613, 612, 611, 610, 609, 608,
+
+ 607, 606, 605, 604, 601, 600, 599, 598, 597, 596,
+ 595, 591, 590, 583, 582, 581, 580, 579, 578, 577,
+ 576, 575, 574, 573, 572, 571, 570, 569, 565, 564,
+ 563, 561, 560, 558, 557, 554, 553, 552, 551, 550,
+ 547, 546, 545, 544, 543, 542, 541, 540, 539, 538,
+ 537, 536, 535, 534, 533, 530, 529, 528, 525, 524,
+ 523, 522, 521, 520, 519, 518, 515, 514, 513, 512,
+ 511, 510, 509, 508, 507, 506, 505, 504, 501, 500,
+ 499, 498, 497, 496, 495, 491, 490, 489, 488, 487,
+ 486, 485, 484, 483, 482, 477, 476, 475, 474, 473,
+
+ 472, 471, 470, 469, 468, 467, 466, 463, 462, 461,
+ 460, 459, 456, 455, 454, 453, 452, 451, 450, 449,
+ 448, 447, 446, 445, 444, 441, 440, 438, 436, 431,
+ 428, 425, 424, 423, 422, 421, 419, 418, 417, 416,
+ 415, 414, 413, 412, 411, 408, 407, 406, 405, 404,
+ 403, 402, 401, 398, 397, 396, 395, 394, 393, 392,
+ 391, 390, 389, 388, 387, 386, 385, 384, 380, 379,
+ 378, 377, 376, 375, 374, 373, 372, 371, 367, 366,
+ 365, 364, 363, 362, 359, 358, 357, 356, 355, 354,
+ 353, 352, 351, 350, 349, 348, 347, 346, 345, 344,
+
+ 343, 342, 341, 340, 339, 338, 333, 332, 331, 330,
+ 329, 328, 327, 326, 325, 324, 322, 204, 319, 317,
+ 313, 311, 309, 302, 301, 300, 298, 297, 296, 294,
+ 293, 292, 289, 288, 287, 272, 266, 261, 260, 259,
+ 258, 257, 255, 254, 253, 252, 251, 250, 247, 246,
+ 245, 244, 243, 242, 241, 240, 239, 235, 234, 231,
+ 228, 227, 226, 225, 222, 221, 220, 219, 215, 214,
+ 210, 209, 208, 204, 195, 193, 191, 190, 182, 163,
+ 142, 118, 104, 102, 43, 98, 96, 95, 86, 43,
+ 1890, 11, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890
} ;
-static const flex_int16_t yy_chk[2343] =
+static const flex_int16_t yy_chk[2366] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
17, 17, 17, 17, 17, 19, 62, 19, 19, 19,
19, 19, 285, 17, 20, 20, 20, 20, 20, 22,
19, 22, 22, 22, 22, 22, 89, 20, 53, 62,
- 57, 59, 717, 61, 22, 90, 17, 92, 53, 59,
+ 57, 59, 718, 61, 22, 90, 17, 92, 53, 59,
62, 63, 59, 19, 61, 59, 91, 59, 63, 59,
- 20, 53, 89, 719, 61, 73, 57, 22, 45, 73,
+ 20, 53, 89, 720, 61, 73, 57, 22, 45, 73,
65, 90, 57, 92, 45, 57, 53, 45, 134, 45,
65, 45, 65, 45, 91, 56, 67, 67, 45, 45,
- 67, 45, 56, 720, 134, 99, 67, 45, 45, 45,
+ 67, 45, 56, 721, 134, 99, 67, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
60, 71, 56, 60, 60, 71, 56, 60, 60, 68,
56, 69, 99, 68, 108, 71, 295, 68, 56, 93,
- 60, 295, 56, 76, 56, 56, 721, 70, 722, 68,
+ 60, 295, 56, 76, 56, 56, 722, 70, 723, 68,
69, 105, 69, 68, 69, 70, 94, 70, 75, 75,
74, 108, 70, 70, 74, 93, 76, 74, 75, 79,
79, 79, 79, 79, 74, 74, 76, 105, 75, 74,
74, 76, 79, 80, 94, 80, 80, 80, 80, 80,
- 147, 75, 723, 75, 147, 81, 75, 81, 80, 301,
+ 147, 75, 724, 75, 147, 81, 75, 81, 80, 301,
81, 81, 81, 81, 81, 79, 75, 83, 83, 83,
83, 83, 82, 75, 82, 82, 82, 82, 82, 103,
83, 80, 87, 87, 87, 87, 87, 82, 88, 88,
88, 88, 88, 101, 107, 109, 111, 110, 115, 119,
101, 154, 137, 83, 122, 137, 175, 103, 119, 137,
- 82, 301, 119, 122, 122, 115, 725, 163, 171, 111,
+ 82, 301, 119, 122, 122, 115, 726, 163, 171, 111,
160, 163, 107, 109, 110, 165, 115, 166, 166, 154,
101, 154, 171, 175, 101, 160, 160, 160, 101, 162,
- 167, 184, 162, 162, 167, 179, 101, 186, 167, 726,
+ 167, 184, 162, 162, 167, 179, 101, 186, 167, 727,
101, 185, 101, 101, 114, 114, 114, 114, 114, 188,
165, 165, 165, 114, 114, 114, 114, 114, 114, 184,
186, 165, 179, 165, 187, 165, 165, 185, 165, 196,
189, 194, 197, 198, 202, 188, 114, 114, 114, 114,
- 114, 114, 200, 242, 276, 260, 727, 276, 207, 303,
+ 114, 114, 200, 242, 276, 260, 728, 276, 207, 303,
218, 249, 187, 189, 194, 312, 198, 196, 218, 197,
242, 202, 306, 218, 218, 200, 205, 205, 205, 205,
205, 207, 303, 311, 314, 205, 205, 205, 205, 205,
205, 260, 316, 311, 312, 306, 344, 323, 337, 368,
- 368, 390, 344, 728, 368, 260, 376, 314, 205, 205,
+ 368, 390, 344, 729, 368, 260, 376, 314, 205, 205,
205, 205, 205, 205, 249, 337, 376, 249, 435, 493,
316, 321, 321, 321, 321, 321, 323, 616, 616, 493,
321, 321, 321, 321, 321, 321, 357, 420, 400, 404,
420, 357, 400, 404, 427, 441, 435, 441, 443, 427,
566, 567, 461, 321, 321, 321, 321, 321, 321, 390,
- 461, 687, 461, 461, 461, 464, 461, 729, 473, 730,
- 568, 672, 441, 473, 441, 568, 443, 566, 464, 567,
- 464, 572, 672, 686, 687, 696, 731, 732, 572, 357,
- 733, 696, 734, 735, 357, 442, 442, 442, 442, 442,
- 698, 698, 736, 698, 442, 442, 442, 442, 442, 442,
-
- 718, 686, 737, 738, 718, 739, 740, 741, 718, 742,
- 743, 744, 742, 745, 747, 748, 749, 442, 442, 442,
- 442, 442, 442, 750, 751, 752, 753, 754, 755, 756,
- 758, 759, 760, 761, 762, 763, 764, 765, 766, 767,
- 768, 769, 770, 771, 772, 773, 774, 775, 776, 777,
- 778, 779, 780, 781, 782, 783, 783, 784, 785, 786,
- 781, 787, 788, 783, 790, 786, 791, 783, 792, 793,
- 794, 795, 796, 797, 798, 799, 800, 801, 802, 803,
- 804, 805, 806, 807, 808, 809, 810, 811, 812, 813,
- 815, 816, 817, 818, 819, 820, 821, 822, 823, 824,
-
- 825, 826, 827, 828, 829, 830, 831, 803, 832, 833,
- 834, 835, 836, 837, 838, 839, 840, 841, 843, 844,
- 845, 846, 847, 848, 849, 850, 851, 852, 848, 853,
- 854, 855, 856, 857, 860, 861, 862, 863, 864, 865,
- 868, 869, 870, 871, 872, 873, 874, 875, 876, 877,
- 874, 878, 879, 880, 881, 884, 885, 886, 887, 888,
- 889, 890, 891, 892, 893, 894, 895, 896, 897, 898,
- 899, 900, 901, 902, 903, 904, 905, 906, 907, 908,
- 909, 910, 911, 912, 914, 915, 916, 917, 918, 919,
- 920, 921, 922, 923, 924, 925, 926, 927, 928, 929,
-
- 930, 931, 932, 934, 935, 936, 937, 938, 939, 940,
- 941, 942, 943, 944, 945, 946, 947, 948, 949, 926,
- 950, 951, 925, 952, 953, 954, 955, 956, 958, 959,
- 960, 961, 962, 963, 964, 965, 966, 967, 968, 970,
- 971, 972, 973, 974, 975, 977, 978, 979, 980, 981,
- 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
- 992, 993, 994, 995, 996, 997, 998, 999, 1001, 1002,
- 1003, 1004, 1006, 1007, 1008, 1009, 997, 1010, 1011, 1012,
- 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
- 1023, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
-
- 973, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1043,
- 1042, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1052, 1053,
- 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
- 1064, 1065, 1066, 1067, 1069, 1070, 1041, 1042, 1071, 1072,
- 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
- 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1087, 1092,
- 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
- 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
- 1113, 1114, 1115, 1116, 1118, 1119, 1120, 1121, 1122, 1123,
- 1124, 1125, 1126, 1127, 1128, 1130, 1131, 1132, 1088, 1134,
+ 461, 687, 461, 461, 461, 464, 461, 730, 473, 731,
+ 568, 732, 441, 473, 441, 568, 443, 566, 464, 567,
+ 464, 572, 589, 686, 687, 589, 696, 733, 572, 357,
+ 672, 734, 696, 735, 357, 442, 442, 442, 442, 442,
+ 736, 672, 737, 738, 442, 442, 442, 442, 442, 442,
+
+ 719, 686, 698, 698, 719, 698, 739, 740, 719, 741,
+ 742, 743, 744, 745, 743, 746, 748, 442, 442, 442,
+ 442, 442, 442, 749, 750, 751, 752, 753, 754, 755,
+ 756, 757, 759, 760, 761, 762, 763, 764, 765, 766,
+ 767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
+ 777, 778, 779, 780, 781, 782, 783, 784, 784, 785,
+ 786, 787, 782, 788, 789, 784, 791, 787, 792, 784,
+ 793, 794, 795, 796, 797, 798, 799, 800, 801, 802,
+ 803, 804, 805, 806, 807, 808, 809, 810, 811, 812,
+ 813, 814, 816, 817, 818, 819, 820, 821, 822, 823,
+
+ 824, 825, 826, 827, 828, 829, 830, 831, 832, 804,
+ 833, 834, 835, 836, 837, 838, 839, 840, 841, 842,
+ 843, 845, 846, 847, 848, 849, 850, 851, 852, 853,
+ 854, 850, 855, 856, 857, 858, 859, 862, 863, 864,
+ 865, 866, 867, 870, 871, 872, 873, 874, 875, 876,
+ 877, 878, 879, 876, 880, 881, 882, 883, 886, 887,
+ 888, 889, 890, 891, 892, 893, 894, 895, 896, 897,
+ 898, 899, 900, 901, 902, 903, 904, 905, 906, 907,
+ 908, 909, 910, 911, 912, 913, 914, 916, 917, 918,
+ 919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
+
+ 929, 930, 931, 932, 933, 934, 936, 937, 938, 939,
+ 940, 941, 942, 943, 944, 945, 946, 947, 948, 949,
+ 950, 951, 928, 952, 953, 927, 954, 955, 956, 957,
+ 958, 959, 961, 962, 963, 964, 965, 966, 967, 968,
+ 969, 970, 971, 973, 974, 975, 976, 977, 978, 980,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1004, 1005, 1006, 1007, 1009, 1010, 1011, 1012,
+ 1000, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
+ 1022, 1023, 1024, 1025, 1026, 1028, 1029, 1030, 1031, 1032,
+
+ 1033, 1034, 1035, 1036, 976, 1037, 1038, 1039, 1040, 1041,
+ 1042, 1043, 1044, 1046, 1045, 1047, 1048, 1049, 1050, 1051,
+ 1052, 1053, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
+ 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1073,
+ 1044, 1045, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
+ 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1091, 1092,
+ 1093, 1094, 1095, 1091, 1096, 1097, 1098, 1099, 1100, 1101,
+ 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111,
+ 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1122,
+ 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132,
+
+ 1134, 1135, 1136, 1092, 1138, 1139, 1140, 1141, 1142, 1143,
+ 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
+ 1154, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1165,
+ 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1174, 1175, 1176,
+ 1177, 1178, 1179, 1180, 1156, 1182, 1183, 1184, 1185, 1186,
+ 1157, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195,
+ 1196, 1197, 1198, 1201, 1203, 1204, 1205, 1206, 1207, 1208,
+ 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1217, 1218, 1219,
+ 1220, 1222, 1223, 1224, 1225, 1226, 1227, 1230, 1232, 1233,
+ 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243,
+
+ 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1252, 1255, 1256,
+ 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1266, 1267,
+ 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1277, 1278,
+ 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288,
+ 1289, 1290, 1291, 1292, 1263, 1293, 1295, 1296, 1297, 1240,
+ 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
+ 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1271, 1315, 1316,
+ 1317, 1311, 1319, 1322, 1323, 1324, 1325, 1326, 1327, 1328,
+ 1329, 1330, 1331, 1333, 1334, 1335, 1336, 1337, 1338, 1339,
+ 1341, 1342, 1344, 1347, 1348, 1349, 1351, 1352, 1354, 1355,
+
+ 1356, 1357, 1359, 1360, 1361, 1356, 1362, 1363, 1365, 1366,
+ 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376,
+ 1377, 1378, 1379, 1380, 1357, 1381, 1383, 1384, 1386, 1387,
+ 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1397, 1399,
+ 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1411,
+ 1412, 1413, 1414, 1415, 1416, 1417, 1419, 1420, 1422, 1423,
+ 1424, 1425, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
+ 1435, 1436, 1438, 1440, 1441, 1443, 1445, 1446, 1447, 1448,
+ 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458,
+ 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1455, 1466, 1467,
+
+ 1468, 1441, 1469, 1470, 1471, 1472, 1473, 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, 1502, 1503, 1504, 1505, 1506,
+ 1508, 1509, 1510, 1511, 1512, 1514, 1515, 1518, 1519, 1520,
+ 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532,
+ 1533, 1535, 1537, 1538, 1539, 1540, 1474, 1541, 1542, 1543,
+ 1544, 1546, 1512, 1547, 1548, 1550, 1552, 1553, 1554, 1556,
+ 1557, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566, 1567,
+ 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
- 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
- 1145, 1146, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155,
- 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166,
- 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1175, 1177, 1152,
- 1178, 1179, 1180, 1181, 1182, 1153, 1183, 1184, 1185, 1186,
- 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1196, 1198, 1199,
- 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
- 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1221,
- 1222, 1225, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234,
- 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1245,
-
- 1246, 1247, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257,
- 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268,
- 1269, 1270, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
- 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1258, 1289,
- 1290, 1291, 1292, 1235, 1293, 1294, 1295, 1296, 1297, 1298,
- 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
- 1309, 1266, 1310, 1311, 1305, 1313, 1316, 1317, 1318, 1319,
- 1320, 1321, 1322, 1323, 1324, 1325, 1327, 1328, 1329, 1330,
- 1331, 1332, 1333, 1335, 1336, 1338, 1341, 1342, 1343, 1345,
- 1346, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1350, 1356,
-
- 1357, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
- 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1351, 1376, 1377,
- 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
- 1390, 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
- 1402, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1412, 1413,
- 1415, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1424, 1425,
- 1426, 1427, 1428, 1429, 1431, 1433, 1434, 1436, 1438, 1439,
- 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449,
- 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1448,
- 1459, 1460, 1461, 1434, 1462, 1463, 1464, 1465, 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, 1494, 1495, 1496, 1497,
- 1498, 1500, 1501, 1502, 1503, 1504, 1506, 1507, 1510, 1511,
- 1512, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
- 1524, 1526, 1528, 1529, 1530, 1531, 1532, 1466, 1533, 1534,
- 1535, 1537, 1538, 1504, 1539, 1541, 1543, 1544, 1545, 1547,
- 1548, 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1558,
- 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568,
- 1569, 1570, 1572, 1573, 1575, 1576, 1577, 1579, 1580, 1581,
-
- 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591,
- 1592, 1593, 1595, 1596, 1597, 1599, 1600, 1602, 1603, 1604,
- 1605, 1606, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
- 1616, 1618, 1619, 1621, 1624, 1625, 1626, 1627, 1630, 1632,
- 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1643,
- 1644, 1645, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1655,
- 1656, 1657, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
- 1667, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1677, 1678,
- 1679, 1680, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689,
- 1690, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1703,
-
- 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
- 1714, 1715, 1716, 1717, 1718, 1719, 1721, 1722, 1723, 1724,
- 1725, 1726, 1727, 1729, 1733, 1735, 1736, 1737, 1738, 1740,
- 1741, 1742, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751,
- 1752, 1753, 1754, 1756, 1757, 1758, 1760, 1761, 1764, 1765,
- 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1775, 1776, 1777,
- 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787,
- 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798,
- 1799, 1800, 1801, 1802, 1803, 1804, 1806, 1807, 1809, 1810,
- 1812, 1813, 1814, 1815, 1818, 1820, 1821, 1822, 1824, 1825,
-
- 1826, 1827, 1828, 1829, 1831, 1833, 1836, 1837, 1838, 1839,
- 1840, 1841, 1840, 1843, 1844, 1846, 1847, 1848, 1849, 1850,
- 1851, 1852, 1854, 1855, 1856, 1857, 1858, 1861, 1862, 1863,
- 1864, 1868, 1868, 1868, 1868, 1868, 1869, 1869, 1869, 1869,
- 1869, 1870, 1876, 1870, 1870, 1870, 1871, 1877, 1871, 1878,
- 1871, 1872, 1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873,
- 1873, 1874, 1879, 1874, 1874, 1874, 1875, 1875, 1875, 716,
- 715, 714, 713, 712, 711, 710, 709, 708, 707, 706,
- 705, 704, 703, 702, 701, 700, 699, 697, 695, 694,
- 693, 692, 691, 690, 689, 688, 684, 683, 681, 680,
-
- 679, 678, 677, 676, 675, 674, 673, 671, 670, 668,
- 667, 666, 665, 664, 663, 662, 661, 660, 659, 658,
- 657, 656, 654, 653, 652, 651, 650, 649, 648, 647,
- 646, 644, 643, 642, 641, 640, 639, 637, 636, 635,
- 634, 633, 632, 631, 629, 628, 627, 626, 625, 624,
- 623, 622, 621, 620, 619, 618, 617, 615, 614, 613,
- 612, 611, 610, 609, 608, 607, 606, 605, 604, 603,
- 601, 600, 599, 598, 597, 596, 595, 594, 593, 592,
- 591, 590, 589, 588, 587, 586, 585, 584, 583, 582,
- 581, 580, 579, 578, 577, 576, 575, 574, 573, 571,
-
- 570, 562, 561, 560, 558, 557, 556, 554, 553, 551,
- 549, 548, 547, 546, 545, 544, 543, 542, 541, 540,
- 539, 538, 537, 536, 535, 534, 533, 532, 531, 530,
- 529, 528, 527, 526, 525, 524, 523, 522, 521, 520,
- 519, 517, 515, 514, 513, 512, 511, 510, 509, 508,
- 507, 506, 505, 504, 503, 502, 500, 499, 498, 497,
- 496, 495, 494, 492, 491, 490, 489, 488, 487, 486,
- 485, 484, 483, 482, 481, 480, 479, 477, 476, 475,
- 474, 472, 471, 470, 469, 468, 466, 465, 463, 462,
- 459, 458, 457, 456, 455, 454, 453, 451, 450, 449,
-
- 448, 447, 446, 445, 444, 439, 437, 436, 434, 433,
- 431, 428, 426, 425, 423, 422, 421, 419, 418, 417,
- 416, 415, 414, 413, 412, 411, 410, 409, 408, 407,
- 406, 405, 403, 402, 401, 399, 398, 397, 396, 394,
- 393, 392, 391, 389, 388, 387, 386, 385, 384, 383,
- 382, 381, 380, 379, 377, 375, 374, 373, 372, 371,
- 370, 369, 367, 366, 365, 364, 363, 362, 361, 360,
- 359, 358, 356, 355, 354, 353, 352, 351, 350, 349,
- 348, 347, 346, 345, 343, 342, 341, 340, 339, 336,
- 335, 334, 333, 332, 331, 330, 329, 328, 327, 326,
-
- 325, 324, 320, 318, 315, 313, 309, 302, 300, 299,
- 298, 297, 296, 294, 293, 292, 291, 290, 289, 288,
- 287, 286, 284, 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, 256, 255,
- 254, 253, 252, 251, 250, 248, 247, 246, 245, 244,
- 243, 241, 239, 238, 237, 236, 235, 234, 233, 232,
- 231, 230, 229, 228, 227, 226, 225, 224, 223, 222,
- 221, 220, 219, 217, 216, 215, 214, 213, 212, 211,
- 210, 209, 208, 206, 203, 201, 199, 195, 193, 190,
-
- 182, 181, 180, 178, 177, 176, 174, 173, 172, 170,
- 169, 168, 164, 161, 159, 158, 157, 156, 155, 153,
- 152, 151, 150, 149, 148, 146, 145, 144, 143, 142,
- 141, 140, 139, 138, 136, 135, 133, 131, 130, 129,
- 128, 126, 125, 124, 123, 121, 120, 118, 117, 116,
- 112, 104, 102, 97, 96, 77, 72, 66, 58, 49,
- 47, 43, 41, 39, 38, 24, 14, 11, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
-
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
- 1867, 1867
+ 1578, 1579, 1581, 1582, 1584, 1585, 1586, 1588, 1589, 1590,
+ 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
+ 1601, 1602, 1603, 1605, 1606, 1607, 1609, 1610, 1612, 1613,
+ 1614, 1615, 1616, 1618, 1619, 1620, 1621, 1622, 1623, 1624,
+ 1625, 1626, 1628, 1629, 1631, 1634, 1635, 1636, 1637, 1640,
+ 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651,
+ 1652, 1654, 1655, 1656, 1658, 1659, 1660, 1661, 1662, 1663,
+ 1664, 1666, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675,
+ 1676, 1677, 1678, 1680, 1681, 1682, 1684, 1685, 1686, 1687,
+ 1688, 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1697, 1698,
+
+ 1699, 1700, 1701, 1702, 1705, 1706, 1707, 1708, 1709, 1710,
+ 1711, 1712, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722,
+ 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732,
+ 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1742, 1746, 1748,
+ 1749, 1750, 1751, 1753, 1754, 1755, 1757, 1758, 1759, 1760,
+ 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1770, 1771,
+ 1772, 1774, 1775, 1778, 1779, 1781, 1782, 1783, 1784, 1785,
+ 1786, 1787, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796,
+ 1797, 1798, 1799, 1800, 1801, 1802, 1804, 1805, 1806, 1807,
+ 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817,
+
+ 1818, 1819, 1820, 1822, 1823, 1825, 1826, 1827, 1829, 1830,
+ 1831, 1832, 1835, 1837, 1838, 1839, 1841, 1842, 1843, 1844,
+ 1845, 1846, 1847, 1849, 1851, 1853, 1855, 1856, 1857, 1858,
+ 1859, 1860, 1859, 1861, 1863, 1864, 1866, 1867, 1868, 1869,
+ 1870, 1871, 1872, 1873, 1875, 1876, 1877, 1878, 1879, 1881,
+ 1884, 1885, 1886, 1887, 1891, 1891, 1891, 1891, 1891, 1892,
+ 1892, 1892, 1892, 1892, 1893, 1899, 1893, 1893, 1893, 1894,
+ 1900, 1894, 1901, 1894, 1895, 1895, 1895, 1895, 1895, 1896,
+ 1896, 1896, 1896, 1896, 1897, 1902, 1897, 1897, 1897, 1898,
+ 1898, 1898, 717, 716, 715, 714, 713, 712, 711, 710,
+
+ 709, 708, 707, 706, 705, 704, 703, 702, 701, 700,
+ 699, 697, 695, 694, 693, 692, 691, 690, 689, 688,
+ 684, 683, 681, 680, 679, 678, 677, 676, 675, 674,
+ 673, 671, 670, 668, 667, 666, 665, 664, 663, 662,
+ 661, 660, 659, 658, 657, 656, 654, 653, 652, 651,
+ 650, 649, 648, 647, 646, 644, 643, 642, 641, 640,
+ 639, 637, 636, 635, 634, 633, 632, 631, 629, 628,
+ 627, 626, 625, 624, 623, 622, 621, 620, 619, 618,
+ 617, 615, 614, 613, 612, 611, 610, 609, 608, 607,
+ 606, 605, 604, 603, 601, 600, 599, 598, 597, 596,
+
+ 595, 594, 593, 592, 591, 590, 588, 587, 586, 585,
+ 584, 583, 582, 581, 580, 579, 578, 577, 576, 575,
+ 574, 573, 571, 570, 562, 561, 560, 558, 557, 556,
+ 554, 553, 551, 549, 548, 547, 546, 545, 544, 543,
+ 542, 541, 540, 539, 538, 537, 536, 535, 534, 533,
+ 532, 531, 530, 529, 528, 527, 526, 525, 524, 523,
+ 522, 521, 520, 519, 517, 515, 514, 513, 512, 511,
+ 510, 509, 508, 507, 506, 505, 504, 503, 502, 500,
+ 499, 498, 497, 496, 495, 494, 492, 491, 490, 489,
+ 488, 487, 486, 485, 484, 483, 482, 481, 480, 479,
+
+ 477, 476, 475, 474, 472, 471, 470, 469, 468, 466,
+ 465, 463, 462, 459, 458, 457, 456, 455, 454, 453,
+ 451, 450, 449, 448, 447, 446, 445, 444, 439, 437,
+ 436, 434, 433, 431, 428, 426, 425, 423, 422, 421,
+ 419, 418, 417, 416, 415, 414, 413, 412, 411, 410,
+ 409, 408, 407, 406, 405, 403, 402, 401, 399, 398,
+ 397, 396, 394, 393, 392, 391, 389, 388, 387, 386,
+ 385, 384, 383, 382, 381, 380, 379, 377, 375, 374,
+ 373, 372, 371, 370, 369, 367, 366, 365, 364, 363,
+ 362, 361, 360, 359, 358, 356, 355, 354, 353, 352,
+
+ 351, 350, 349, 348, 347, 346, 345, 343, 342, 341,
+ 340, 339, 336, 335, 334, 333, 332, 331, 330, 329,
+ 328, 327, 326, 325, 324, 320, 318, 315, 313, 309,
+ 302, 300, 299, 298, 297, 296, 294, 293, 292, 291,
+ 290, 289, 288, 287, 286, 284, 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, 256, 255, 254, 253, 252, 251, 250, 248, 247,
+ 246, 245, 244, 243, 241, 239, 238, 237, 236, 235,
+ 234, 233, 232, 231, 230, 229, 228, 227, 226, 225,
+
+ 224, 223, 222, 221, 220, 219, 217, 216, 215, 214,
+ 213, 212, 211, 210, 209, 208, 206, 203, 201, 199,
+ 195, 193, 190, 182, 181, 180, 178, 177, 176, 174,
+ 173, 172, 170, 169, 168, 164, 161, 159, 158, 157,
+ 156, 155, 153, 152, 151, 150, 149, 148, 146, 145,
+ 144, 143, 142, 141, 140, 139, 138, 136, 135, 133,
+ 131, 130, 129, 128, 126, 125, 124, 123, 121, 120,
+ 118, 117, 116, 112, 104, 102, 97, 96, 77, 72,
+ 66, 58, 49, 47, 43, 41, 39, 38, 24, 14,
+ 11, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
+ 1890, 1890, 1890, 1890, 1890
} ;
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[201] =
+static const flex_int16_t yy_rule_linenum[202] =
{ 0,
145, 147, 149, 154, 155, 160, 161, 162, 174, 177,
182, 189, 198, 207, 216, 225, 234, 243, 253, 262,
361, 373, 382, 391, 400, 409, 420, 431, 442, 453,
464, 475, 486, 497, 508, 519, 530, 541, 552, 563,
574, 585, 594, 605, 616, 627, 638, 649, 658, 667,
- 676, 685, 696, 707, 718, 729, 740, 751, 762, 772,
- 783, 792, 802, 816, 832, 841, 850, 859, 868, 890,
- 912, 921, 931, 940, 951, 960, 969, 978, 987, 996,
- 1006, 1015, 1026, 1037, 1048, 1059, 1071, 1080, 1089, 1098,
-
- 1107, 1116, 1125, 1134, 1143, 1152, 1162, 1173, 1185, 1194,
- 1203, 1213, 1223, 1233, 1243, 1253, 1263, 1272, 1282, 1291,
- 1300, 1309, 1318, 1328, 1338, 1347, 1357, 1366, 1375, 1384,
- 1393, 1402, 1411, 1420, 1429, 1438, 1447, 1456, 1465, 1474,
- 1483, 1492, 1501, 1510, 1519, 1528, 1537, 1546, 1555, 1564,
- 1573, 1582, 1591, 1600, 1609, 1618, 1627, 1636, 1645, 1654,
- 1663, 1672, 1684, 1696, 1706, 1716, 1726, 1736, 1746, 1756,
- 1766, 1776, 1786, 1795, 1804, 1813, 1822, 1833, 1844, 1857,
- 1870, 1883, 1892, 1991, 1996, 2001, 2006, 2007, 2008, 2009,
- 2010, 2011, 2013, 2031, 2044, 2049, 2053, 2055, 2057, 2059
-
+ 676, 685, 696, 707, 718, 729, 740, 751, 762, 773,
+ 783, 794, 803, 813, 827, 843, 852, 861, 870, 879,
+ 901, 923, 932, 942, 951, 962, 971, 980, 989, 998,
+ 1007, 1017, 1026, 1037, 1048, 1059, 1070, 1082, 1091, 1100,
+
+ 1109, 1118, 1127, 1136, 1145, 1154, 1163, 1173, 1184, 1196,
+ 1205, 1214, 1224, 1234, 1244, 1254, 1264, 1274, 1283, 1293,
+ 1302, 1311, 1320, 1329, 1339, 1349, 1358, 1368, 1377, 1386,
+ 1395, 1404, 1413, 1422, 1431, 1440, 1449, 1458, 1467, 1476,
+ 1485, 1494, 1503, 1512, 1521, 1530, 1539, 1548, 1557, 1566,
+ 1575, 1584, 1593, 1602, 1611, 1620, 1629, 1638, 1647, 1656,
+ 1665, 1674, 1683, 1695, 1707, 1717, 1727, 1737, 1747, 1757,
+ 1767, 1777, 1787, 1797, 1806, 1815, 1824, 1833, 1844, 1855,
+ 1868, 1881, 1894, 1903, 2002, 2007, 2012, 2017, 2018, 2019,
+ 2020, 2021, 2022, 2024, 2042, 2055, 2060, 2064, 2066, 2068,
+
+ 2070
} ;
/* The intent behind this definition is that it'll catch
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 1982 "dhcp4_lexer.cc"
+#line 1997 "dhcp4_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
using yywrap requires linking with -lfl, which provides the default yywrap
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 2008 "dhcp4_lexer.cc"
-#line 2009 "dhcp4_lexer.cc"
+#line 2023 "dhcp4_lexer.cc"
+#line 2024 "dhcp4_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2337 "dhcp4_lexer.cc"
+#line 2352 "dhcp4_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 >= 1868 )
+ if ( yy_current_state >= 1891 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1867 );
+ while ( yy_current_state != 1890 );
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 < 201 )
+ else if ( yy_act < 202 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 201 )
+ else if ( yy_act == 202 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 202 )
+ else if ( yy_act == 203 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case 69:
YY_RULE_SETUP
#line 762 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP4:
+ case isc::dhcp::Parser4Context::SUBNET4:
+ case isc::dhcp::Parser4Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp4Parser::make_DDNS_USE_CONFLICT_RESOLUTION(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
+ }
+}
+ YY_BREAK
+case 70:
+YY_RULE_SETUP
+#line 773 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 70:
+case 71:
YY_RULE_SETUP
-#line 772 "dhcp4_lexer.ll"
+#line 783 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 71:
+case 72:
YY_RULE_SETUP
-#line 783 "dhcp4_lexer.ll"
+#line 794 "dhcp4_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 72:
+case 73:
YY_RULE_SETUP
-#line 792 "dhcp4_lexer.ll"
+#line 803 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 73:
+case 74:
YY_RULE_SETUP
-#line 802 "dhcp4_lexer.ll"
+#line 813 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 74:
+case 75:
YY_RULE_SETUP
-#line 816 "dhcp4_lexer.ll"
+#line 827 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
}
}
YY_BREAK
-case 75:
+case 76:
YY_RULE_SETUP
-#line 832 "dhcp4_lexer.ll"
+#line 843 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 76:
+case 77:
YY_RULE_SETUP
-#line 841 "dhcp4_lexer.ll"
+#line 852 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 77:
+case 78:
YY_RULE_SETUP
-#line 850 "dhcp4_lexer.ll"
+#line 861 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 78:
+case 79:
YY_RULE_SETUP
-#line 859 "dhcp4_lexer.ll"
+#line 870 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::POOLS:
}
}
YY_BREAK
-case 79:
+case 80:
YY_RULE_SETUP
-#line 868 "dhcp4_lexer.ll"
+#line 879 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 80:
+case 81:
YY_RULE_SETUP
-#line 890 "dhcp4_lexer.ll"
+#line 901 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 81:
+case 82:
YY_RULE_SETUP
-#line 912 "dhcp4_lexer.ll"
+#line 923 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 82:
+case 83:
YY_RULE_SETUP
-#line 921 "dhcp4_lexer.ll"
+#line 932 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 83:
+case 84:
YY_RULE_SETUP
-#line 931 "dhcp4_lexer.ll"
+#line 942 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 84:
+case 85:
YY_RULE_SETUP
-#line 940 "dhcp4_lexer.ll"
+#line 951 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 85:
+case 86:
YY_RULE_SETUP
-#line 951 "dhcp4_lexer.ll"
+#line 962 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 86:
+case 87:
YY_RULE_SETUP
-#line 960 "dhcp4_lexer.ll"
+#line 971 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 87:
+case 88:
YY_RULE_SETUP
-#line 969 "dhcp4_lexer.ll"
+#line 980 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 88:
+case 89:
YY_RULE_SETUP
-#line 978 "dhcp4_lexer.ll"
+#line 989 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 89:
+case 90:
YY_RULE_SETUP
-#line 987 "dhcp4_lexer.ll"
+#line 998 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 90:
+case 91:
YY_RULE_SETUP
-#line 996 "dhcp4_lexer.ll"
+#line 1007 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 91:
+case 92:
YY_RULE_SETUP
-#line 1006 "dhcp4_lexer.ll"
+#line 1017 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 92:
+case 93:
YY_RULE_SETUP
-#line 1015 "dhcp4_lexer.ll"
+#line 1026 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 93:
+case 94:
YY_RULE_SETUP
-#line 1026 "dhcp4_lexer.ll"
+#line 1037 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 94:
+case 95:
YY_RULE_SETUP
-#line 1037 "dhcp4_lexer.ll"
+#line 1048 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 95:
+case 96:
YY_RULE_SETUP
-#line 1048 "dhcp4_lexer.ll"
+#line 1059 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 96:
+case 97:
YY_RULE_SETUP
-#line 1059 "dhcp4_lexer.ll"
+#line 1070 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 97:
+case 98:
YY_RULE_SETUP
-#line 1071 "dhcp4_lexer.ll"
+#line 1082 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 98:
+case 99:
YY_RULE_SETUP
-#line 1080 "dhcp4_lexer.ll"
+#line 1091 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 99:
+case 100:
YY_RULE_SETUP
-#line 1089 "dhcp4_lexer.ll"
+#line 1100 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 100:
+case 101:
YY_RULE_SETUP
-#line 1098 "dhcp4_lexer.ll"
+#line 1109 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 101:
+case 102:
YY_RULE_SETUP
-#line 1107 "dhcp4_lexer.ll"
+#line 1118 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 102:
+case 103:
YY_RULE_SETUP
-#line 1116 "dhcp4_lexer.ll"
+#line 1127 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 103:
+case 104:
YY_RULE_SETUP
-#line 1125 "dhcp4_lexer.ll"
+#line 1136 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 104:
+case 105:
YY_RULE_SETUP
-#line 1134 "dhcp4_lexer.ll"
+#line 1145 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 105:
+case 106:
YY_RULE_SETUP
-#line 1143 "dhcp4_lexer.ll"
+#line 1154 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 106:
+case 107:
YY_RULE_SETUP
-#line 1152 "dhcp4_lexer.ll"
+#line 1163 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 107:
+case 108:
YY_RULE_SETUP
-#line 1162 "dhcp4_lexer.ll"
+#line 1173 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 108:
+case 109:
YY_RULE_SETUP
-#line 1173 "dhcp4_lexer.ll"
+#line 1184 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 109:
+case 110:
YY_RULE_SETUP
-#line 1185 "dhcp4_lexer.ll"
+#line 1196 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 110:
+case 111:
YY_RULE_SETUP
-#line 1194 "dhcp4_lexer.ll"
+#line 1205 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 111:
+case 112:
YY_RULE_SETUP
-#line 1203 "dhcp4_lexer.ll"
+#line 1214 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 112:
+case 113:
YY_RULE_SETUP
-#line 1213 "dhcp4_lexer.ll"
+#line 1224 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 113:
+case 114:
YY_RULE_SETUP
-#line 1223 "dhcp4_lexer.ll"
+#line 1234 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 114:
+case 115:
YY_RULE_SETUP
-#line 1233 "dhcp4_lexer.ll"
+#line 1244 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 115:
+case 116:
YY_RULE_SETUP
-#line 1243 "dhcp4_lexer.ll"
+#line 1254 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 116:
+case 117:
YY_RULE_SETUP
-#line 1253 "dhcp4_lexer.ll"
+#line 1264 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 117:
+case 118:
YY_RULE_SETUP
-#line 1263 "dhcp4_lexer.ll"
+#line 1274 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATIONS:
}
}
YY_BREAK
-case 118:
+case 119:
YY_RULE_SETUP
-#line 1272 "dhcp4_lexer.ll"
+#line 1283 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 119:
+case 120:
YY_RULE_SETUP
-#line 1282 "dhcp4_lexer.ll"
+#line 1293 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 120:
+case 121:
YY_RULE_SETUP
-#line 1291 "dhcp4_lexer.ll"
+#line 1302 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 121:
+case 122:
YY_RULE_SETUP
-#line 1300 "dhcp4_lexer.ll"
+#line 1311 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 122:
+case 123:
YY_RULE_SETUP
-#line 1309 "dhcp4_lexer.ll"
+#line 1320 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 123:
+case 124:
YY_RULE_SETUP
-#line 1318 "dhcp4_lexer.ll"
+#line 1329 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 124:
+case 125:
YY_RULE_SETUP
-#line 1328 "dhcp4_lexer.ll"
+#line 1339 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
}
}
YY_BREAK
-case 125:
+case 126:
YY_RULE_SETUP
-#line 1338 "dhcp4_lexer.ll"
+#line 1349 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
}
}
YY_BREAK
-case 126:
+case 127:
YY_RULE_SETUP
-#line 1347 "dhcp4_lexer.ll"
+#line 1358 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 127:
+case 128:
YY_RULE_SETUP
-#line 1357 "dhcp4_lexer.ll"
+#line 1368 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 128:
+case 129:
YY_RULE_SETUP
-#line 1366 "dhcp4_lexer.ll"
+#line 1377 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 129:
+case 130:
YY_RULE_SETUP
-#line 1375 "dhcp4_lexer.ll"
+#line 1386 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 130:
+case 131:
YY_RULE_SETUP
-#line 1384 "dhcp4_lexer.ll"
+#line 1395 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 131:
+case 132:
YY_RULE_SETUP
-#line 1393 "dhcp4_lexer.ll"
+#line 1404 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 132:
+case 133:
YY_RULE_SETUP
-#line 1402 "dhcp4_lexer.ll"
+#line 1413 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 133:
+case 134:
YY_RULE_SETUP
-#line 1411 "dhcp4_lexer.ll"
+#line 1422 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 134:
+case 135:
YY_RULE_SETUP
-#line 1420 "dhcp4_lexer.ll"
+#line 1431 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 135:
+case 136:
YY_RULE_SETUP
-#line 1429 "dhcp4_lexer.ll"
+#line 1440 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 136:
+case 137:
YY_RULE_SETUP
-#line 1438 "dhcp4_lexer.ll"
+#line 1449 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 137:
+case 138:
YY_RULE_SETUP
-#line 1447 "dhcp4_lexer.ll"
+#line 1458 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 138:
+case 139:
YY_RULE_SETUP
-#line 1456 "dhcp4_lexer.ll"
+#line 1467 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
}
}
YY_BREAK
-case 139:
+case 140:
YY_RULE_SETUP
-#line 1465 "dhcp4_lexer.ll"
+#line 1476 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
}
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 1474 "dhcp4_lexer.ll"
+#line 1485 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
}
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 1483 "dhcp4_lexer.ll"
+#line 1494 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 142:
+case 143:
YY_RULE_SETUP
-#line 1492 "dhcp4_lexer.ll"
+#line 1503 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
-#line 1501 "dhcp4_lexer.ll"
+#line 1512 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
-#line 1510 "dhcp4_lexer.ll"
+#line 1521 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 145:
+case 146:
YY_RULE_SETUP
-#line 1519 "dhcp4_lexer.ll"
+#line 1530 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 146:
+case 147:
YY_RULE_SETUP
-#line 1528 "dhcp4_lexer.ll"
+#line 1539 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 147:
+case 148:
YY_RULE_SETUP
-#line 1537 "dhcp4_lexer.ll"
+#line 1548 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 148:
+case 149:
YY_RULE_SETUP
-#line 1546 "dhcp4_lexer.ll"
+#line 1557 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 149:
+case 150:
YY_RULE_SETUP
-#line 1555 "dhcp4_lexer.ll"
+#line 1566 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 150:
+case 151:
YY_RULE_SETUP
-#line 1564 "dhcp4_lexer.ll"
+#line 1575 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 151:
+case 152:
YY_RULE_SETUP
-#line 1573 "dhcp4_lexer.ll"
+#line 1584 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 152:
+case 153:
YY_RULE_SETUP
-#line 1582 "dhcp4_lexer.ll"
+#line 1593 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 153:
+case 154:
YY_RULE_SETUP
-#line 1591 "dhcp4_lexer.ll"
+#line 1602 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 154:
+case 155:
YY_RULE_SETUP
-#line 1600 "dhcp4_lexer.ll"
+#line 1611 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 155:
+case 156:
YY_RULE_SETUP
-#line 1609 "dhcp4_lexer.ll"
+#line 1620 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 156:
+case 157:
YY_RULE_SETUP
-#line 1618 "dhcp4_lexer.ll"
+#line 1629 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 157:
+case 158:
YY_RULE_SETUP
-#line 1627 "dhcp4_lexer.ll"
+#line 1638 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 158:
+case 159:
YY_RULE_SETUP
-#line 1636 "dhcp4_lexer.ll"
+#line 1647 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 159:
+case 160:
YY_RULE_SETUP
-#line 1645 "dhcp4_lexer.ll"
+#line 1656 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
-#line 1654 "dhcp4_lexer.ll"
+#line 1665 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 161:
+case 162:
YY_RULE_SETUP
-#line 1663 "dhcp4_lexer.ll"
+#line 1674 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 162:
+case 163:
YY_RULE_SETUP
-#line 1672 "dhcp4_lexer.ll"
+#line 1683 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 163:
+case 164:
YY_RULE_SETUP
-#line 1684 "dhcp4_lexer.ll"
+#line 1695 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 164:
+case 165:
YY_RULE_SETUP
-#line 1696 "dhcp4_lexer.ll"
+#line 1707 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 165:
+case 166:
YY_RULE_SETUP
-#line 1706 "dhcp4_lexer.ll"
+#line 1717 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 166:
+case 167:
YY_RULE_SETUP
-#line 1716 "dhcp4_lexer.ll"
+#line 1727 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 167:
+case 168:
YY_RULE_SETUP
-#line 1726 "dhcp4_lexer.ll"
+#line 1737 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 168:
+case 169:
YY_RULE_SETUP
-#line 1736 "dhcp4_lexer.ll"
+#line 1747 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 169:
+case 170:
YY_RULE_SETUP
-#line 1746 "dhcp4_lexer.ll"
+#line 1757 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 170:
+case 171:
YY_RULE_SETUP
-#line 1756 "dhcp4_lexer.ll"
+#line 1767 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 171:
+case 172:
YY_RULE_SETUP
-#line 1766 "dhcp4_lexer.ll"
+#line 1777 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 172:
+case 173:
YY_RULE_SETUP
-#line 1776 "dhcp4_lexer.ll"
+#line 1787 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
-case 173:
+case 174:
YY_RULE_SETUP
-#line 1786 "dhcp4_lexer.ll"
+#line 1797 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 174:
+case 175:
YY_RULE_SETUP
-#line 1795 "dhcp4_lexer.ll"
+#line 1806 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 175:
+case 176:
YY_RULE_SETUP
-#line 1804 "dhcp4_lexer.ll"
+#line 1815 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 176:
+case 177:
YY_RULE_SETUP
-#line 1813 "dhcp4_lexer.ll"
+#line 1824 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 177:
+case 178:
YY_RULE_SETUP
-#line 1822 "dhcp4_lexer.ll"
+#line 1833 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 178:
+case 179:
YY_RULE_SETUP
-#line 1833 "dhcp4_lexer.ll"
+#line 1844 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 179:
+case 180:
YY_RULE_SETUP
-#line 1844 "dhcp4_lexer.ll"
+#line 1855 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 180:
+case 181:
YY_RULE_SETUP
-#line 1857 "dhcp4_lexer.ll"
+#line 1868 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 181:
+case 182:
YY_RULE_SETUP
-#line 1870 "dhcp4_lexer.ll"
+#line 1881 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 182:
+case 183:
YY_RULE_SETUP
-#line 1883 "dhcp4_lexer.ll"
+#line 1894 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 183:
+case 184:
YY_RULE_SETUP
-#line 1892 "dhcp4_lexer.ll"
+#line 1903 "dhcp4_lexer.ll"
{
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_);
}
YY_BREAK
-case 184:
-/* rule 184 can match eol */
+case 185:
+/* rule 185 can match eol */
YY_RULE_SETUP
-#line 1991 "dhcp4_lexer.ll"
+#line 2002 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 185:
-/* rule 185 can match eol */
+case 186:
+/* rule 186 can match eol */
YY_RULE_SETUP
-#line 1996 "dhcp4_lexer.ll"
+#line 2007 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 186:
+case 187:
YY_RULE_SETUP
-#line 2001 "dhcp4_lexer.ll"
+#line 2012 "dhcp4_lexer.ll"
{
/* Bad string with an open escape at the end */
driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
}
YY_BREAK
-case 187:
+case 188:
YY_RULE_SETUP
-#line 2006 "dhcp4_lexer.ll"
+#line 2017 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 188:
+case 189:
YY_RULE_SETUP
-#line 2007 "dhcp4_lexer.ll"
+#line 2018 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 189:
+case 190:
YY_RULE_SETUP
-#line 2008 "dhcp4_lexer.ll"
+#line 2019 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 190:
+case 191:
YY_RULE_SETUP
-#line 2009 "dhcp4_lexer.ll"
+#line 2020 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 191:
+case 192:
YY_RULE_SETUP
-#line 2010 "dhcp4_lexer.ll"
+#line 2021 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 192:
+case 193:
YY_RULE_SETUP
-#line 2011 "dhcp4_lexer.ll"
+#line 2022 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 193:
+case 194:
YY_RULE_SETUP
-#line 2013 "dhcp4_lexer.ll"
+#line 2024 "dhcp4_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 194:
+case 195:
YY_RULE_SETUP
-#line 2031 "dhcp4_lexer.ll"
+#line 2042 "dhcp4_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 195:
+case 196:
YY_RULE_SETUP
-#line 2044 "dhcp4_lexer.ll"
+#line 2055 "dhcp4_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 196:
+case 197:
YY_RULE_SETUP
-#line 2049 "dhcp4_lexer.ll"
+#line 2060 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 197:
+case 198:
YY_RULE_SETUP
-#line 2053 "dhcp4_lexer.ll"
+#line 2064 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 198:
+case 199:
YY_RULE_SETUP
-#line 2055 "dhcp4_lexer.ll"
+#line 2066 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 199:
+case 200:
YY_RULE_SETUP
-#line 2057 "dhcp4_lexer.ll"
+#line 2068 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 200:
+case 201:
YY_RULE_SETUP
-#line 2059 "dhcp4_lexer.ll"
+#line 2070 "dhcp4_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 2061 "dhcp4_lexer.ll"
+#line 2072 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 201:
+case 202:
YY_RULE_SETUP
-#line 2084 "dhcp4_lexer.ll"
+#line 2095 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 4975 "dhcp4_lexer.cc"
+#line 5004 "dhcp4_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 >= 1868 )
+ if ( yy_current_state >= 1891 )
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 >= 1868 )
+ if ( yy_current_state >= 1891 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1867);
+ yy_is_jam = (yy_current_state == 1890);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 2084 "dhcp4_lexer.ll"
+#line 2095 "dhcp4_lexer.ll"
using namespace isc::dhcp;
}
}
+\"ddns-use-conflict-resolution\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP4:
+ case isc::dhcp::Parser4Context::SUBNET4:
+ case isc::dhcp::Parser4Context::SHARED_NETWORK:
+ return isc::dhcp::Dhcp4Parser::make_DDNS_USE_CONFLICT_RESOLUTION(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
+ }
+}
+
\"subnet4\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
-// A Bison parser, made by GNU Bison 3.7.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton implementation for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 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
// This special exception was added by the Free Software Foundation in
// version 2.2 of Bison.
-// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
-// especially those whose name start with YY_ or yy_. They are
-// private implementation details that can be changed or removed.
-
-
// Take the name prefix into account.
#define yylex parser4_lex
+// First part of user declarations.
+
+#line 39 "dhcp4_parser.cc" // lalr1.cc:404
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
#include "dhcp4_parser.h"
+// User implementation prologue.
+#line 53 "dhcp4_parser.cc" // lalr1.cc:412
// Unqualified %code blocks.
-#line 34 "dhcp4_parser.yy"
+#line 34 "dhcp4_parser.yy" // lalr1.cc:413
#include <dhcp4/parser_context.h>
-#line 52 "dhcp4_parser.cc"
+#line 59 "dhcp4_parser.cc" // lalr1.cc:413
#ifndef YY_
# endif
#endif
-
-// Whether we are compiled with exception support.
-#ifndef YY_EXCEPTIONS
-# if defined __GNUC__ && !defined __EXCEPTIONS
-# define YY_EXCEPTIONS 0
-# else
-# define YY_EXCEPTIONS 1
-# endif
-#endif
-
#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
{ \
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
} \
- while (false)
+ while (/*CONSTCOND*/ false)
# endif
+// Suppress unused-variable warnings by "using" E.
+#define YYUSE(E) ((void) (E))
+
// Enable debugging if requested.
#if PARSER4_DEBUG
{ \
*yycdebug_ << Title << ' '; \
yy_print_ (*yycdebug_, Symbol); \
- *yycdebug_ << '\n'; \
+ *yycdebug_ << std::endl; \
} \
} while (false)
# define YY_STACK_PRINT() \
do { \
if (yydebug_) \
- yy_stack_print_ (); \
+ yystack_print_ (); \
} while (false)
#else // !PARSER4_DEBUG
# define YYCDEBUG if (false) std::cerr
-# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
-# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
-# define YY_STACK_PRINT() static_cast<void> (0)
+# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
+# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
+# define YY_STACK_PRINT() static_cast<void>(0)
#endif // !PARSER4_DEBUG
#define YYERROR goto yyerrorlab
#define YYRECOVERING() (!!yyerrstatus_)
-#line 14 "dhcp4_parser.yy"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:479
namespace isc { namespace dhcp {
-#line 145 "dhcp4_parser.cc"
+#line 145 "dhcp4_parser.cc" // lalr1.cc:479
+
+ /* Return YYSTR after stripping away unnecessary quotes and
+ backslashes, so that it's suitable for yyerror. The heuristic is
+ that double-quoting is unnecessary unless the string contains an
+ apostrophe, a comma, or backslash (other than backslash-backslash).
+ YYSTR is taken from yytname. */
+ std::string
+ Dhcp4Parser::yytnamerr_ (const char *yystr)
+ {
+ if (*yystr == '"')
+ {
+ std::string yyr = "";
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ // Fall through.
+ default:
+ yyr += *yyp;
+ break;
+
+ case '"':
+ return yyr;
+ }
+ do_not_strip_quotes: ;
+ }
+
+ return yystr;
+ }
+
/// Build a parser object.
Dhcp4Parser::Dhcp4Parser (isc::dhcp::Parser4Context& ctx_yyarg)
+ :
#if PARSER4_DEBUG
- : yydebug_ (false),
+ yydebug_ (false),
yycdebug_ (&std::cerr),
-#else
- :
#endif
ctx (ctx_yyarg)
{}
Dhcp4Parser::~Dhcp4Parser ()
{}
- Dhcp4Parser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW
- {}
/*---------------.
- | symbol kinds. |
+ | Symbol types. |
`---------------*/
// by_state.
- Dhcp4Parser::by_state::by_state () YY_NOEXCEPT
+ inline
+ Dhcp4Parser::by_state::by_state ()
: state (empty_state)
{}
- Dhcp4Parser::by_state::by_state (const by_state& that) YY_NOEXCEPT
- : state (that.state)
+ inline
+ Dhcp4Parser::by_state::by_state (const by_state& other)
+ : state (other.state)
{}
+ inline
void
- Dhcp4Parser::by_state::clear () YY_NOEXCEPT
+ Dhcp4Parser::by_state::clear ()
{
state = empty_state;
}
+ inline
void
Dhcp4Parser::by_state::move (by_state& that)
{
that.clear ();
}
- Dhcp4Parser::by_state::by_state (state_type s) YY_NOEXCEPT
+ inline
+ Dhcp4Parser::by_state::by_state (state_type s)
: state (s)
{}
- Dhcp4Parser::symbol_kind_type
- Dhcp4Parser::by_state::kind () const YY_NOEXCEPT
+ inline
+ Dhcp4Parser::symbol_number_type
+ Dhcp4Parser::by_state::type_get () const
{
if (state == empty_state)
- return symbol_kind::S_YYEMPTY;
+ return empty_symbol;
else
- return YY_CAST (symbol_kind_type, yystos_[+state]);
+ return yystos_[state];
}
+ inline
Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
{}
- Dhcp4Parser::stack_symbol_type::stack_symbol_type (YY_RVREF (stack_symbol_type) that)
- : super_type (YY_MOVE (that.state), YY_MOVE (that.location))
- {
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_FLOAT: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_INTEGER: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_STRING: // "constant string"
- value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
- break;
-
- default:
- break;
- }
-
-#if 201103L <= YY_CPLUSPLUS
- // that is emptied.
- that.state = empty_state;
-#endif
- }
- Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) that)
- : super_type (s, YY_MOVE (that.location))
+ inline
+ Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
+ : super_type (s, that.location)
{
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
+ value.move< ElementPtr > (that.value);
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 194: // "boolean"
+ value.move< bool > (that.value);
break;
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 193: // "floating point"
+ value.move< double > (that.value);
break;
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 192: // "integer"
+ value.move< int64_t > (that.value);
break;
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 191: // "constant string"
+ value.move< std::string > (that.value);
break;
default:
}
// that is emptied.
- that.kind_ = symbol_kind::S_YYEMPTY;
+ that.type = empty_symbol;
}
-#if YY_CPLUSPLUS < 201103L
+ inline
Dhcp4Parser::stack_symbol_type&
Dhcp4Parser::stack_symbol_type::operator= (const stack_symbol_type& that)
{
state = that.state;
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
+ switch (that.type_get ())
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
value.copy< ElementPtr > (that.value);
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
+ case 194: // "boolean"
value.copy< bool > (that.value);
break;
- case symbol_kind::S_FLOAT: // "floating point"
+ case 193: // "floating point"
value.copy< double > (that.value);
break;
- case symbol_kind::S_INTEGER: // "integer"
+ case 192: // "integer"
value.copy< int64_t > (that.value);
break;
- case symbol_kind::S_STRING: // "constant string"
+ case 191: // "constant string"
value.copy< std::string > (that.value);
break;
return *this;
}
- Dhcp4Parser::stack_symbol_type&
- Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
- {
- state = that.state;
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (that.value);
- break;
-
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (that.value);
- break;
-
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (that.value);
- break;
-
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (that.value);
- break;
-
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (that.value);
- break;
-
- default:
- break;
- }
-
- location = that.location;
- // that is emptied.
- that.state = empty_state;
- return *this;
- }
-#endif
template <typename Base>
+ inline
void
Dhcp4Parser::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
{
#if PARSER4_DEBUG
template <typename Base>
void
- Dhcp4Parser::yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const
+ Dhcp4Parser::yy_print_ (std::ostream& yyo,
+ const basic_symbol<Base>& yysym) const
{
std::ostream& yyoutput = yyo;
YYUSE (yyoutput);
+ symbol_number_type yytype = yysym.type_get ();
+ // Avoid a (spurious) G++ 4.8 warning about "array subscript is
+ // below array bounds".
if (yysym.empty ())
- yyo << "empty symbol";
- else
- {
- symbol_kind_type yykind = yysym.kind ();
- yyo << (yykind < YYNTOKENS ? "token" : "nterm")
- << ' ' << yysym.name () << " ("
- << yysym.location << ": ";
- switch (yykind)
- {
- case symbol_kind::S_STRING: // "constant string"
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 404 "dhcp4_parser.cc"
+ std::abort ();
+ yyo << (yytype < yyntokens_ ? "token" : "nterm")
+ << ' ' << yytname_[yytype] << " ("
+ << yysym.location << ": ";
+ switch (yytype)
+ {
+ case 191: // "constant string"
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 366 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_INTEGER: // "integer"
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 410 "dhcp4_parser.cc"
+ case 192: // "integer"
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 373 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_FLOAT: // "floating point"
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < double > (); }
-#line 416 "dhcp4_parser.cc"
+ case 193: // "floating point"
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 380 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < bool > (); }
-#line 422 "dhcp4_parser.cc"
+ case 194: // "boolean"
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 387 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_value: // value
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 428 "dhcp4_parser.cc"
+ case 210: // value
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 394 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_map_value: // map_value
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 434 "dhcp4_parser.cc"
+ case 214: // map_value
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 401 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 440 "dhcp4_parser.cc"
+ case 255: // ddns_replace_client_name_value
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 408 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_socket_type: // socket_type
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 446 "dhcp4_parser.cc"
+ case 280: // socket_type
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 415 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 452 "dhcp4_parser.cc"
+ case 283: // outbound_interface_value
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 422 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_db_type: // db_type
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 458 "dhcp4_parser.cc"
+ case 305: // db_type
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 429 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_hr_mode: // hr_mode
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 464 "dhcp4_parser.cc"
+ case 399: // hr_mode
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 436 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
-#line 272 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 470 "dhcp4_parser.cc"
+ case 554: // ncr_protocol_value
+
+#line 273 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 443 "dhcp4_parser.cc" // lalr1.cc:636
break;
+
default:
break;
}
- yyo << ')';
- }
+ yyo << ')';
}
#endif
+ inline
void
- Dhcp4Parser::yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym)
+ Dhcp4Parser::yypush_ (const char* m, state_type s, symbol_type& sym)
{
- if (m)
- YY_SYMBOL_PRINT (m, sym);
- yystack_.push (YY_MOVE (sym));
+ stack_symbol_type t (s, sym);
+ yypush_ (m, t);
}
+ inline
void
- Dhcp4Parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
+ Dhcp4Parser::yypush_ (const char* m, stack_symbol_type& s)
{
-#if 201103L <= YY_CPLUSPLUS
- yypush_ (m, stack_symbol_type (s, std::move (sym)));
-#else
- stack_symbol_type ss (s, sym);
- yypush_ (m, ss);
-#endif
+ if (m)
+ YY_SYMBOL_PRINT (m, s);
+ yystack_.push (s);
}
+ inline
void
- Dhcp4Parser::yypop_ (int n)
+ Dhcp4Parser::yypop_ (unsigned int n)
{
yystack_.pop (n);
}
}
#endif // PARSER4_DEBUG
- Dhcp4Parser::state_type
+ inline Dhcp4Parser::state_type
Dhcp4Parser::yy_lr_goto_state_ (state_type yystate, int yysym)
{
- int yyr = yypgoto_[yysym - YYNTOKENS] + yystate;
+ int yyr = yypgoto_[yysym - yyntokens_] + yystate;
if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
return yytable_[yyr];
else
- return yydefgoto_[yysym - YYNTOKENS];
+ return yydefgoto_[yysym - yyntokens_];
}
- bool
+ inline bool
Dhcp4Parser::yy_pact_value_is_default_ (int yyvalue)
{
return yyvalue == yypact_ninf_;
}
- bool
+ inline bool
Dhcp4Parser::yy_table_value_is_error_ (int yyvalue)
{
return yyvalue == yytable_ninf_;
}
- int
- Dhcp4Parser::operator() ()
- {
- return parse ();
- }
-
int
Dhcp4Parser::parse ()
{
+ // State.
int yyn;
/// Length of the RHS of the rule being reduced.
int yylen = 0;
/// The return value of parse ().
int yyresult;
-#if YY_EXCEPTIONS
+ // FIXME: This shoud be completely indented. It is not yet to
+ // avoid gratuitous conflicts when merging into the master branch.
try
-#endif // YY_EXCEPTIONS
{
- YYCDEBUG << "Starting parse\n";
+ YYCDEBUG << "Starting parse" << std::endl;
/* Initialize the stack. The initial state will be set in
location values to have been already stored, initialize these
stacks with a primary value. */
yystack_.clear ();
- yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla));
+ yypush_ (YY_NULLPTR, 0, yyla);
- /*-----------------------------------------------.
- | yynewstate -- push a new symbol on the stack. |
- `-----------------------------------------------*/
+ // A new symbol was pushed on the stack.
yynewstate:
- YYCDEBUG << "Entering state " << int (yystack_[0].state) << '\n';
- YY_STACK_PRINT ();
+ YYCDEBUG << "Entering state " << yystack_[0].state << std::endl;
// 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];
+ yyn = yypact_[yystack_[0].state];
if (yy_pact_value_is_default_ (yyn))
goto yydefault;
// Read a lookahead token.
if (yyla.empty ())
{
- YYCDEBUG << "Reading a token\n";
-#if YY_EXCEPTIONS
+ YYCDEBUG << "Reading a token: ";
try
-#endif // YY_EXCEPTIONS
{
symbol_type yylookahead (yylex (ctx));
yyla.move (yylookahead);
}
-#if YY_EXCEPTIONS
catch (const syntax_error& yyexc)
{
- YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
error (yyexc);
goto yyerrlab1;
}
-#endif // YY_EXCEPTIONS
}
YY_SYMBOL_PRINT ("Next token is", yyla);
- if (yyla.kind () == symbol_kind::S_YYerror)
- {
- // The scanner already issued an error message, process directly
- // to error recovery. But do not keep the error token as
- // lookahead, it is too special and may lead us to an endless
- // loop in error recovery. */
- yyla.kind_ = symbol_kind::S_YYUNDEF;
- goto yyerrlab1;
- }
-
/* If the proper action on seeing token YYLA.TYPE is to reduce or
to detect an error, take that action. */
- yyn += yyla.kind ();
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.kind ())
- {
- goto yydefault;
- }
+ yyn += yyla.type_get ();
+ if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
+ goto yydefault;
// Reduce or error.
yyn = yytable_[yyn];
--yyerrstatus_;
// Shift the lookahead token.
- yypush_ ("Shifting", state_type (yyn), YY_MOVE (yyla));
+ yypush_ ("Shifting", yyn, yyla);
goto yynewstate;
-
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
- yyn = yydefact_[+yystack_[0].state];
+ yyn = yydefact_[yystack_[0].state];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
-
/*-----------------------------.
- | yyreduce -- do a reduction. |
+ | yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
yylen = yyr2_[yyn];
{
stack_symbol_type yylhs;
- yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
+ yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]);
/* Variants are always initialized to an empty instance of the
correct type. The default '$$ = $1' action is NOT applied
when using variants. */
- switch (yyr1_[yyn])
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
+ yylhs.value.build< ElementPtr > ();
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 194: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case symbol_kind::S_FLOAT: // "floating point"
- yylhs.value.emplace< double > ();
+ case 193: // "floating point"
+ yylhs.value.build< double > ();
break;
- case symbol_kind::S_INTEGER: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 192: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case symbol_kind::S_STRING: // "constant string"
- yylhs.value.emplace< std::string > ();
+ case 191: // "constant string"
+ yylhs.value.build< std::string > ();
break;
default:
}
- // Default location.
+ // Compute the default @$.
{
- stack_type::slice range (yystack_, yylen);
- YYLLOC_DEFAULT (yylhs.location, range, yylen);
- yyerror_range[1].location = yylhs.location;
+ slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
+ YYLLOC_DEFAULT (yylhs.location, slice, yylen);
}
// Perform the reduction.
YY_REDUCE_PRINT (yyn);
-#if YY_EXCEPTIONS
try
-#endif // YY_EXCEPTIONS
{
switch (yyn)
{
- case 2: // $@1: %empty
-#line 281 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 750 "dhcp4_parser.cc"
+ case 2:
+#line 282 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.NO_KEYWORD; }
+#line 690 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 4: // $@2: %empty
-#line 282 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.CONFIG; }
-#line 756 "dhcp4_parser.cc"
+ case 4:
+#line 283 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG; }
+#line 696 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 6: // $@3: %empty
-#line 283 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.DHCP4; }
-#line 762 "dhcp4_parser.cc"
+ case 6:
+#line 284 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP4; }
+#line 702 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 8: // $@4: %empty
-#line 284 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 768 "dhcp4_parser.cc"
+ case 8:
+#line 285 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
+#line 708 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 10: // $@5: %empty
-#line 285 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.SUBNET4; }
-#line 774 "dhcp4_parser.cc"
+ case 10:
+#line 286 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.SUBNET4; }
+#line 714 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 12: // $@6: %empty
-#line 286 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.POOLS; }
-#line 780 "dhcp4_parser.cc"
+ case 12:
+#line 287 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.POOLS; }
+#line 720 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 14: // $@7: %empty
-#line 287 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.RESERVATIONS; }
-#line 786 "dhcp4_parser.cc"
+ case 14:
+#line 288 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.RESERVATIONS; }
+#line 726 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 16: // $@8: %empty
-#line 288 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.DHCP4; }
-#line 792 "dhcp4_parser.cc"
+ case 16:
+#line 289 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP4; }
+#line 732 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 18: // $@9: %empty
-#line 289 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DEF; }
-#line 798 "dhcp4_parser.cc"
+ case 18:
+#line 290 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DEF; }
+#line 738 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 20: // $@10: %empty
-#line 290 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DATA; }
-#line 804 "dhcp4_parser.cc"
+ case 20:
+#line 291 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DATA; }
+#line 744 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 22: // $@11: %empty
-#line 291 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 810 "dhcp4_parser.cc"
+ case 22:
+#line 292 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
+#line 750 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 24: // $@12: %empty
-#line 292 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 816 "dhcp4_parser.cc"
+ case 24:
+#line 293 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP_DDNS; }
+#line 756 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 26: // $@13: %empty
-#line 293 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 822 "dhcp4_parser.cc"
+ case 26:
+#line 294 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG_CONTROL; }
+#line 762 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 28: // value: "integer"
-#line 301 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 828 "dhcp4_parser.cc"
+ case 28:
+#line 302 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
+#line 768 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 29: // value: "floating point"
-#line 302 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 834 "dhcp4_parser.cc"
+ case 29:
+#line 303 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
+#line 774 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 30: // value: "boolean"
-#line 303 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 840 "dhcp4_parser.cc"
+ case 30:
+#line 304 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
+#line 780 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 31: // value: "constant string"
-#line 304 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 846 "dhcp4_parser.cc"
+ case 31:
+#line 305 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
+#line 786 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 32: // value: "null"
-#line 305 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 852 "dhcp4_parser.cc"
+ case 32:
+#line 306 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
+#line 792 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 33: // value: map2
-#line 306 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 858 "dhcp4_parser.cc"
+ case 33:
+#line 307 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 798 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 34: // value: list_generic
-#line 307 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 864 "dhcp4_parser.cc"
+ case 34:
+#line 308 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 804 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 35: // sub_json: value
-#line 310 "dhcp4_parser.yy"
- {
+ case 35:
+#line 311 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 873 "dhcp4_parser.cc"
+#line 813 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 36: // $@14: %empty
-#line 315 "dhcp4_parser.yy"
- {
+ case 36:
+#line 316 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 884 "dhcp4_parser.cc"
+#line 824 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 37: // map2: "{" $@14 map_content "}"
-#line 320 "dhcp4_parser.yy"
- {
+ case 37:
+#line 321 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 894 "dhcp4_parser.cc"
+#line 834 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 38: // map_value: map2
-#line 326 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 900 "dhcp4_parser.cc"
+ case 38:
+#line 327 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 840 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 41: // not_empty_map: "constant string" ":" value
-#line 333 "dhcp4_parser.yy"
- {
+ case 41:
+#line 334 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// map containing a single entry
- ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.unique(yystack_[2].value.as< std::string > (), ctx.loc2pos(yystack_[2].location));
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 910 "dhcp4_parser.cc"
+#line 850 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 42: // not_empty_map: not_empty_map "," "constant string" ":" value
-#line 338 "dhcp4_parser.yy"
- {
+ case 42:
+#line 339 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// map consisting of a shorter map followed by
// comma and string:value
- ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.unique(yystack_[2].value.as< std::string > (), ctx.loc2pos(yystack_[2].location));
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 921 "dhcp4_parser.cc"
+#line 861 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 43: // $@15: %empty
-#line 346 "dhcp4_parser.yy"
- {
+ case 43:
+#line 347 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 930 "dhcp4_parser.cc"
+#line 870 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 44: // list_generic: "[" $@15 list_content "]"
-#line 349 "dhcp4_parser.yy"
- {
+ case 44:
+#line 350 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
}
-#line 938 "dhcp4_parser.cc"
+#line 878 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 47: // not_empty_list: value
-#line 357 "dhcp4_parser.yy"
- {
+ case 47:
+#line 358 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 947 "dhcp4_parser.cc"
+#line 887 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 48: // not_empty_list: not_empty_list "," value
-#line 361 "dhcp4_parser.yy"
- {
+ case 48:
+#line 362 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 956 "dhcp4_parser.cc"
+#line 896 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 49: // $@16: %empty
-#line 368 "dhcp4_parser.yy"
- {
+ case 49:
+#line 369 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// List parsing about to start
}
-#line 964 "dhcp4_parser.cc"
+#line 904 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 50: // list_strings: "[" $@16 list_strings_content "]"
-#line 370 "dhcp4_parser.yy"
- {
+ case 50:
+#line 371 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 973 "dhcp4_parser.cc"
+#line 913 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 53: // not_empty_list_strings: "constant string"
-#line 379 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 53:
+#line 380 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 982 "dhcp4_parser.cc"
+#line 922 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 54: // not_empty_list_strings: not_empty_list_strings "," "constant string"
-#line 383 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 54:
+#line 384 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 991 "dhcp4_parser.cc"
+#line 931 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 55: // unknown_map_entry: "constant string" ":"
-#line 394 "dhcp4_parser.yy"
- {
+ case 55:
+#line 395 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1002 "dhcp4_parser.cc"
+#line 942 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 56: // $@17: %empty
-#line 403 "dhcp4_parser.yy"
- {
+ case 56:
+#line 404 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 1013 "dhcp4_parser.cc"
+#line 953 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 57: // syntax_map: "{" $@17 global_object "}"
-#line 408 "dhcp4_parser.yy"
- {
+ case 57:
+#line 409 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
// for it.
// Dhcp4 is required
ctx.require("Dhcp4", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 1026 "dhcp4_parser.cc"
+#line 966 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 58: // $@18: %empty
-#line 418 "dhcp4_parser.yy"
- {
+ case 58:
+#line 419 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// This code is executed when we're about to start parsing
// the content of the map
// Prevent against duplicate.
ctx.stack_.push_back(m);
ctx.enter(ctx.DHCP4);
}
-#line 1041 "dhcp4_parser.cc"
+#line 981 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 59: // global_object: "Dhcp4" $@18 ":" "{" global_params "}"
-#line 427 "dhcp4_parser.yy"
- {
+ case 59:
+#line 428 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1051 "dhcp4_parser.cc"
+#line 991 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 60: // $@19: %empty
-#line 435 "dhcp4_parser.yy"
- {
+ case 60:
+#line 436 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the Dhcp4 map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1061 "dhcp4_parser.cc"
+#line 1001 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 61: // sub_dhcp4: "{" $@19 global_params "}"
-#line 439 "dhcp4_parser.yy"
- {
+ case 61:
+#line 440 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
// parsing completed
}
-#line 1070 "dhcp4_parser.cc"
+#line 1010 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 120: // valid_lifetime: "valid-lifetime" ":" "integer"
-#line 508 "dhcp4_parser.yy"
- {
+ case 121:
+#line 510 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location));
- 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 1080 "dhcp4_parser.cc"
+#line 1020 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 121: // min_valid_lifetime: "min-valid-lifetime" ":" "integer"
-#line 514 "dhcp4_parser.yy"
- {
+ case 122:
+#line 516 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-valid-lifetime", prf);
}
-#line 1090 "dhcp4_parser.cc"
+#line 1030 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 122: // max_valid_lifetime: "max-valid-lifetime" ":" "integer"
-#line 520 "dhcp4_parser.yy"
- {
+ case 123:
+#line 522 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-valid-lifetime", prf);
}
-#line 1100 "dhcp4_parser.cc"
+#line 1040 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 123: // renew_timer: "renew-timer" ":" "integer"
-#line 526 "dhcp4_parser.yy"
- {
+ case 124:
+#line 528 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location));
- 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 1110 "dhcp4_parser.cc"
+#line 1050 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 124: // rebind_timer: "rebind-timer" ":" "integer"
-#line 532 "dhcp4_parser.yy"
- {
+ case 125:
+#line 534 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location));
- 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 1120 "dhcp4_parser.cc"
+#line 1060 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 125: // calculate_tee_times: "calculate-tee-times" ":" "boolean"
-#line 538 "dhcp4_parser.yy"
- {
+ case 126:
+#line 540 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location));
- 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 1130 "dhcp4_parser.cc"
+#line 1070 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 126: // t1_percent: "t1-percent" ":" "floating point"
-#line 544 "dhcp4_parser.yy"
- {
+ case 127:
+#line 546 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location));
- 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 1140 "dhcp4_parser.cc"
+#line 1080 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 127: // t2_percent: "t2-percent" ":" "floating point"
-#line 550 "dhcp4_parser.yy"
- {
+ case 128:
+#line 552 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location));
- 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 1150 "dhcp4_parser.cc"
+#line 1090 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 128: // cache_threshold: "cache-threshold" ":" "floating point"
-#line 556 "dhcp4_parser.yy"
- {
+ case 129:
+#line 558 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location));
- ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ct(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("cache-threshold", ct);
}
-#line 1160 "dhcp4_parser.cc"
+#line 1100 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 129: // cache_max_age: "cache-max-age" ":" "integer"
-#line 562 "dhcp4_parser.yy"
- {
+ case 130:
+#line 564 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location));
- ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cm(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("cache-max-age", cm);
}
-#line 1170 "dhcp4_parser.cc"
+#line 1110 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 130: // decline_probation_period: "decline-probation-period" ":" "integer"
-#line 568 "dhcp4_parser.yy"
- {
+ case 131:
+#line 570 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location));
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("decline-probation-period", dpp);
}
-#line 1180 "dhcp4_parser.cc"
+#line 1120 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 131: // $@20: %empty
-#line 574 "dhcp4_parser.yy"
- {
+ case 132:
+#line 576 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1189 "dhcp4_parser.cc"
+#line 1129 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 132: // server_tag: "server-tag" $@20 ":" "constant string"
-#line 577 "dhcp4_parser.yy"
- {
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 133:
+#line 579 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1199 "dhcp4_parser.cc"
+#line 1139 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 133: // echo_client_id: "echo-client-id" ":" "boolean"
-#line 583 "dhcp4_parser.yy"
- {
+ case 134:
+#line 585 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location));
- ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr echo(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("echo-client-id", echo);
}
-#line 1209 "dhcp4_parser.cc"
+#line 1149 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 134: // match_client_id: "match-client-id" ":" "boolean"
-#line 589 "dhcp4_parser.yy"
- {
+ case 135:
+#line 591 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location));
- ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr match(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("match-client-id", match);
}
-#line 1219 "dhcp4_parser.cc"
+#line 1159 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 135: // authoritative: "authoritative" ":" "boolean"
-#line 595 "dhcp4_parser.yy"
- {
+ case 136:
+#line 597 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("authoritative", prf);
}
-#line 1229 "dhcp4_parser.cc"
+#line 1169 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 136: // ddns_send_updates: "ddns-send-updates" ":" "boolean"
-#line 601 "dhcp4_parser.yy"
- {
+ case 137:
+#line 603 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location));
- 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("ddns-send-updates", b);
}
-#line 1239 "dhcp4_parser.cc"
+#line 1179 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 137: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean"
-#line 607 "dhcp4_parser.yy"
- {
+ case 138:
+#line 609 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location));
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-no-update", b);
}
-#line 1249 "dhcp4_parser.cc"
+#line 1189 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 138: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean"
-#line 613 "dhcp4_parser.yy"
- {
+ case 139:
+#line 615 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location));
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-client-update", b);
}
-#line 1259 "dhcp4_parser.cc"
+#line 1199 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 139: // $@21: %empty
-#line 619 "dhcp4_parser.yy"
- {
+ case 140:
+#line 621 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.REPLACE_CLIENT_NAME);
ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location));
}
-#line 1268 "dhcp4_parser.cc"
+#line 1208 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 140: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value
-#line 622 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 141:
+#line 624 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1277 "dhcp4_parser.cc"
+#line 1217 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 141: // ddns_replace_client_name_value: "when-present"
-#line 628 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
+ case 142:
+#line 630 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 1285 "dhcp4_parser.cc"
+#line 1225 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 142: // ddns_replace_client_name_value: "never"
-#line 631 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+ case 143:
+#line 633 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
-#line 1293 "dhcp4_parser.cc"
+#line 1233 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 143: // ddns_replace_client_name_value: "always"
-#line 634 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+ case 144:
+#line 636 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
-#line 1301 "dhcp4_parser.cc"
+#line 1241 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 144: // ddns_replace_client_name_value: "when-not-present"
-#line 637 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ case 145:
+#line 639 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 1309 "dhcp4_parser.cc"
+#line 1249 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 145: // ddns_replace_client_name_value: "boolean"
-#line 640 "dhcp4_parser.yy"
- {
+ case 146:
+#line 642 "dhcp4_parser.yy" // lalr1.cc:859
+ {
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 1318 "dhcp4_parser.cc"
+#line 1258 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 146: // $@22: %empty
-#line 646 "dhcp4_parser.yy"
- {
+ case 147:
+#line 648 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1327 "dhcp4_parser.cc"
+#line 1267 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 147: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string"
-#line 649 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 148:
+#line 651 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1337 "dhcp4_parser.cc"
+#line 1277 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 148: // $@23: %empty
-#line 655 "dhcp4_parser.yy"
- {
+ case 149:
+#line 657 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1346 "dhcp4_parser.cc"
+#line 1286 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 149: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string"
-#line 658 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 150:
+#line 660 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1356 "dhcp4_parser.cc"
+#line 1296 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 150: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean"
-#line 664 "dhcp4_parser.yy"
- {
+ case 151:
+#line 666 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location));
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-update-on-renew", b);
}
-#line 1366 "dhcp4_parser.cc"
+#line 1306 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 152:
+#line 672 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-use-conflict-resolution", b);
+}
+#line 1316 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 151: // $@24: %empty
-#line 670 "dhcp4_parser.yy"
- {
+ case 153:
+#line 678 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1375 "dhcp4_parser.cc"
+#line 1325 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 152: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string"
-#line 673 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 154:
+#line 681 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1385 "dhcp4_parser.cc"
+#line 1335 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 153: // $@25: %empty
-#line 679 "dhcp4_parser.yy"
- {
+ case 155:
+#line 687 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1394 "dhcp4_parser.cc"
+#line 1344 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 154: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string"
-#line 682 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 156:
+#line 690 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1404 "dhcp4_parser.cc"
+#line 1354 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 155: // store_extended_info: "store-extended-info" ":" "boolean"
-#line 688 "dhcp4_parser.yy"
- {
+ case 157:
+#line 696 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location));
- 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("store-extended-info", b);
}
-#line 1414 "dhcp4_parser.cc"
+#line 1364 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 156: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer"
-#line 694 "dhcp4_parser.yy"
- {
+ case 158:
+#line 702 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location));
- ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr count(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("statistic-default-sample-count", count);
}
-#line 1424 "dhcp4_parser.cc"
+#line 1374 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 157: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer"
-#line 700 "dhcp4_parser.yy"
- {
+ case 159:
+#line 708 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location));
- ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr age(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("statistic-default-sample-age", age);
}
-#line 1434 "dhcp4_parser.cc"
+#line 1384 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 158: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean"
-#line 706 "dhcp4_parser.yy"
- {
+ case 160:
+#line 714 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location));
- ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr unique(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-reservations-unique", unique);
}
-#line 1444 "dhcp4_parser.cc"
+#line 1394 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 159: // $@26: %empty
-#line 712 "dhcp4_parser.yy"
- {
+ case 161:
+#line 720 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location));
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 1456 "dhcp4_parser.cc"
+#line 1406 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 160: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}"
-#line 718 "dhcp4_parser.yy"
- {
+ case 162:
+#line 726 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1466 "dhcp4_parser.cc"
+#line 1416 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 170: // $@27: %empty
-#line 737 "dhcp4_parser.yy"
- {
+ case 172:
+#line 745 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the interfaces-config map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1476 "dhcp4_parser.cc"
+#line 1426 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 171: // sub_interfaces4: "{" $@27 interfaces_config_params "}"
-#line 741 "dhcp4_parser.yy"
- {
+ case 173:
+#line 749 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
// parsing completed
}
-#line 1485 "dhcp4_parser.cc"
+#line 1435 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 172: // $@28: %empty
-#line 746 "dhcp4_parser.yy"
- {
+ case 174:
+#line 754 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location));
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 1497 "dhcp4_parser.cc"
+#line 1447 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 173: // interfaces_list: "interfaces" $@28 ":" list_strings
-#line 752 "dhcp4_parser.yy"
- {
+ case 175:
+#line 760 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1506 "dhcp4_parser.cc"
+#line 1456 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 174: // $@29: %empty
-#line 757 "dhcp4_parser.yy"
- {
+ case 176:
+#line 765 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.DHCP_SOCKET_TYPE);
}
-#line 1515 "dhcp4_parser.cc"
+#line 1465 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 175: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type
-#line 760 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ());
+ case 177:
+#line 768 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1524 "dhcp4_parser.cc"
+#line 1474 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 176: // socket_type: "raw"
-#line 765 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
-#line 1530 "dhcp4_parser.cc"
+ case 178:
+#line 773 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
+#line 1480 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 177: // socket_type: "udp"
-#line 766 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
-#line 1536 "dhcp4_parser.cc"
+ case 179:
+#line 774 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
+#line 1486 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 178: // $@30: %empty
-#line 769 "dhcp4_parser.yy"
- {
+ case 180:
+#line 777 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.OUTBOUND_INTERFACE);
}
-#line 1545 "dhcp4_parser.cc"
+#line 1495 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 179: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value
-#line 772 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ());
+ case 181:
+#line 780 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1554 "dhcp4_parser.cc"
+#line 1504 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 180: // outbound_interface_value: "same-as-inbound"
-#line 777 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
+ case 182:
+#line 785 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
}
-#line 1562 "dhcp4_parser.cc"
+#line 1512 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 181: // outbound_interface_value: "use-routing"
-#line 779 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
+ case 183:
+#line 787 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
}
-#line 1570 "dhcp4_parser.cc"
+#line 1520 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 182: // re_detect: "re-detect" ":" "boolean"
-#line 783 "dhcp4_parser.yy"
- {
+ case 184:
+#line 791 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location));
- 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 1580 "dhcp4_parser.cc"
+#line 1530 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 183: // $@31: %empty
-#line 790 "dhcp4_parser.yy"
- {
+ case 185:
+#line 798 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location));
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 1592 "dhcp4_parser.cc"
+#line 1542 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 184: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}"
-#line 796 "dhcp4_parser.yy"
- {
+ case 186:
+#line 804 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 1603 "dhcp4_parser.cc"
+#line 1553 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 185: // $@32: %empty
-#line 803 "dhcp4_parser.yy"
- {
+ case 187:
+#line 811 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location));
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 1615 "dhcp4_parser.cc"
+#line 1565 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 186: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}"
-#line 809 "dhcp4_parser.yy"
- {
+ case 188:
+#line 817 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1624 "dhcp4_parser.cc"
+#line 1574 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 190: // $@33: %empty
-#line 819 "dhcp4_parser.yy"
- {
+ case 192:
+#line 827 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1633 "dhcp4_parser.cc"
+#line 1583 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 191: // lease_checks: "lease-checks" $@33 ":" "constant string"
-#line 822 "dhcp4_parser.yy"
- {
+ case 193:
+#line 830 "dhcp4_parser.yy" // lalr1.cc:859
+ {
- 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 1653 "dhcp4_parser.cc"
+#line 1603 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 192: // $@34: %empty
-#line 838 "dhcp4_parser.yy"
- {
+ case 194:
+#line 846 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location));
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 1665 "dhcp4_parser.cc"
+#line 1615 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 193: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}"
-#line 844 "dhcp4_parser.yy"
- {
+ case 195:
+#line 852 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 1676 "dhcp4_parser.cc"
+#line 1626 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 194: // $@35: %empty
-#line 851 "dhcp4_parser.yy"
- {
+ case 196:
+#line 859 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location));
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 1688 "dhcp4_parser.cc"
+#line 1638 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 195: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]"
-#line 857 "dhcp4_parser.yy"
- {
+ case 197:
+#line 865 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1697 "dhcp4_parser.cc"
+#line 1647 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 200: // $@36: %empty
-#line 870 "dhcp4_parser.yy"
- {
+ case 202:
+#line 878 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1707 "dhcp4_parser.cc"
+#line 1657 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 201: // database: "{" $@36 database_map_params "}"
-#line 874 "dhcp4_parser.yy"
- {
+ case 203:
+#line 882 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The type parameter is required
ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1717 "dhcp4_parser.cc"
+#line 1667 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 225: // $@37: %empty
-#line 907 "dhcp4_parser.yy"
- {
+ case 227:
+#line 915 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1726 "dhcp4_parser.cc"
+#line 1676 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 226: // database_type: "type" $@37 ":" db_type
-#line 910 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ case 228:
+#line 918 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1735 "dhcp4_parser.cc"
+#line 1685 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 227: // db_type: "memfile"
-#line 915 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1741 "dhcp4_parser.cc"
+ case 229:
+#line 923 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1691 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 228: // db_type: "mysql"
-#line 916 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1747 "dhcp4_parser.cc"
+ case 230:
+#line 924 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1697 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 229: // db_type: "postgresql"
-#line 917 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1753 "dhcp4_parser.cc"
+ case 231:
+#line 925 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1703 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 230: // db_type: "cql"
-#line 918 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1759 "dhcp4_parser.cc"
+ case 232:
+#line 926 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1709 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 231: // $@38: %empty
-#line 921 "dhcp4_parser.yy"
- {
+ case 233:
+#line 929 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("user", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1768 "dhcp4_parser.cc"
+#line 1718 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 232: // user: "user" $@38 ":" "constant string"
-#line 924 "dhcp4_parser.yy"
- {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 234:
+#line 932 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("user", user);
ctx.leave();
}
-#line 1778 "dhcp4_parser.cc"
+#line 1728 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 233: // $@39: %empty
-#line 930 "dhcp4_parser.yy"
- {
+ case 235:
+#line 938 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("password", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1787 "dhcp4_parser.cc"
+#line 1737 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 234: // password: "password" $@39 ":" "constant string"
-#line 933 "dhcp4_parser.yy"
- {
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 236:
+#line 941 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("password", pwd);
ctx.leave();
}
-#line 1797 "dhcp4_parser.cc"
+#line 1747 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 235: // $@40: %empty
-#line 939 "dhcp4_parser.yy"
- {
+ case 237:
+#line 947 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("host", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1806 "dhcp4_parser.cc"
+#line 1756 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 236: // host: "host" $@40 ":" "constant string"
-#line 942 "dhcp4_parser.yy"
- {
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 238:
+#line 950 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("host", h);
ctx.leave();
}
-#line 1816 "dhcp4_parser.cc"
+#line 1766 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 237: // port: "port" ":" "integer"
-#line 948 "dhcp4_parser.yy"
- {
+ case 239:
+#line 956 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("port", ctx.loc2pos(yystack_[2].location));
- 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 1826 "dhcp4_parser.cc"
+#line 1776 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 238: // $@41: %empty
-#line 954 "dhcp4_parser.yy"
- {
+ case 240:
+#line 962 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1835 "dhcp4_parser.cc"
+#line 1785 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 239: // name: "name" $@41 ":" "constant string"
-#line 957 "dhcp4_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 241:
+#line 965 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1845 "dhcp4_parser.cc"
+#line 1795 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 240: // persist: "persist" ":" "boolean"
-#line 963 "dhcp4_parser.yy"
- {
+ case 242:
+#line 971 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("persist", ctx.loc2pos(yystack_[2].location));
- 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 1855 "dhcp4_parser.cc"
+#line 1805 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 241: // lfc_interval: "lfc-interval" ":" "integer"
-#line 969 "dhcp4_parser.yy"
- {
+ case 243:
+#line 977 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location));
- 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 1865 "dhcp4_parser.cc"
+#line 1815 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 242: // readonly: "readonly" ":" "boolean"
-#line 975 "dhcp4_parser.yy"
- {
+ case 244:
+#line 983 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("readonly", ctx.loc2pos(yystack_[2].location));
- 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 1875 "dhcp4_parser.cc"
+#line 1825 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 243: // connect_timeout: "connect-timeout" ":" "integer"
-#line 981 "dhcp4_parser.yy"
- {
+ case 245:
+#line 989 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location));
- 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 1885 "dhcp4_parser.cc"
+#line 1835 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 244: // request_timeout: "request-timeout" ":" "integer"
-#line 987 "dhcp4_parser.yy"
- {
+ case 246:
+#line 995 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location));
- 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 1895 "dhcp4_parser.cc"
+#line 1845 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 245: // tcp_keepalive: "tcp-keepalive" ":" "integer"
-#line 993 "dhcp4_parser.yy"
- {
+ case 247:
+#line 1001 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location));
- 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 1905 "dhcp4_parser.cc"
+#line 1855 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 246: // tcp_nodelay: "tcp-nodelay" ":" "boolean"
-#line 999 "dhcp4_parser.yy"
- {
+ case 248:
+#line 1007 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location));
- 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 1915 "dhcp4_parser.cc"
+#line 1865 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 247: // $@42: %empty
-#line 1005 "dhcp4_parser.yy"
- {
+ case 249:
+#line 1013 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1924 "dhcp4_parser.cc"
+#line 1874 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 248: // contact_points: "contact-points" $@42 ":" "constant string"
-#line 1008 "dhcp4_parser.yy"
- {
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 250:
+#line 1016 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1934 "dhcp4_parser.cc"
+#line 1884 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 249: // $@43: %empty
-#line 1014 "dhcp4_parser.yy"
- {
+ case 251:
+#line 1022 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1943 "dhcp4_parser.cc"
+#line 1893 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 250: // keyspace: "keyspace" $@43 ":" "constant string"
-#line 1017 "dhcp4_parser.yy"
- {
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 252:
+#line 1025 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("keyspace", ks);
ctx.leave();
}
-#line 1953 "dhcp4_parser.cc"
+#line 1903 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 251: // $@44: %empty
-#line 1023 "dhcp4_parser.yy"
- {
+ case 253:
+#line 1031 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("consistency", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1962 "dhcp4_parser.cc"
+#line 1912 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 252: // consistency: "consistency" $@44 ":" "constant string"
-#line 1026 "dhcp4_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 254:
+#line 1034 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("consistency", c);
ctx.leave();
}
-#line 1972 "dhcp4_parser.cc"
+#line 1922 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 253: // $@45: %empty
-#line 1032 "dhcp4_parser.yy"
- {
+ case 255:
+#line 1040 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1981 "dhcp4_parser.cc"
+#line 1931 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 254: // serial_consistency: "serial-consistency" $@45 ":" "constant string"
-#line 1035 "dhcp4_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 256:
+#line 1043 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1991 "dhcp4_parser.cc"
+#line 1941 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 255: // max_reconnect_tries: "max-reconnect-tries" ":" "integer"
-#line 1041 "dhcp4_parser.yy"
- {
+ case 257:
+#line 1049 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reconnect-tries", n);
}
-#line 2001 "dhcp4_parser.cc"
+#line 1951 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 256: // reconnect_wait_time: "reconnect-wait-time" ":" "integer"
-#line 1047 "dhcp4_parser.yy"
- {
+ case 258:
+#line 1055 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 2011 "dhcp4_parser.cc"
+#line 1961 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 257: // max_row_errors: "max-row-errors" ":" "integer"
-#line 1053 "dhcp4_parser.yy"
- {
+ case 259:
+#line 1061 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location));
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-row-errors", n);
}
-#line 2021 "dhcp4_parser.cc"
+#line 1971 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 258: // $@46: %empty
-#line 1060 "dhcp4_parser.yy"
- {
+ case 260:
+#line 1068 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
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 2033 "dhcp4_parser.cc"
+#line 1983 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 259: // host_reservation_identifiers: "host-reservation-identifiers" $@46 ":" "[" host_reservation_identifiers_list "]"
-#line 1066 "dhcp4_parser.yy"
- {
+ case 261:
+#line 1074 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2042 "dhcp4_parser.cc"
+#line 1992 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 267: // duid_id: "duid"
-#line 1082 "dhcp4_parser.yy"
- {
+ case 269:
+#line 1090 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 2051 "dhcp4_parser.cc"
+#line 2001 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 268: // hw_address_id: "hw-address"
-#line 1087 "dhcp4_parser.yy"
- {
+ case 270:
+#line 1095 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 2060 "dhcp4_parser.cc"
+#line 2010 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 269: // circuit_id: "circuit-id"
-#line 1092 "dhcp4_parser.yy"
- {
+ case 271:
+#line 1100 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(circuit);
}
-#line 2069 "dhcp4_parser.cc"
+#line 2019 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 270: // client_id: "client-id"
-#line 1097 "dhcp4_parser.yy"
- {
+ case 272:
+#line 1105 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(client);
}
-#line 2078 "dhcp4_parser.cc"
+#line 2028 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 271: // flex_id: "flex-id"
-#line 1102 "dhcp4_parser.yy"
- {
+ case 273:
+#line 1110 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(flex_id);
}
-#line 2087 "dhcp4_parser.cc"
+#line 2037 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 272: // $@47: %empty
-#line 1109 "dhcp4_parser.yy"
- {
+ case 274:
+#line 1117 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location));
ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("multi-threading", mt);
ctx.stack_.push_back(mt);
ctx.enter(ctx.DHCP_MULTI_THREADING);
}
-#line 2099 "dhcp4_parser.cc"
+#line 2049 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 273: // dhcp_multi_threading: "multi-threading" $@47 ":" "{" multi_threading_params "}"
-#line 1115 "dhcp4_parser.yy"
- {
+ case 275:
+#line 1123 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The enable parameter is required.
ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2110 "dhcp4_parser.cc"
+#line 2060 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 282: // enable_multi_threading: "enable-multi-threading" ":" "boolean"
-#line 1134 "dhcp4_parser.yy"
- {
+ case 284:
+#line 1142 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location));
- 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-multi-threading", b);
}
-#line 2120 "dhcp4_parser.cc"
+#line 2070 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 283: // thread_pool_size: "thread-pool-size" ":" "integer"
-#line 1140 "dhcp4_parser.yy"
- {
+ case 285:
+#line 1148 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("thread-pool-size", prf);
}
-#line 2130 "dhcp4_parser.cc"
+#line 2080 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 284: // packet_queue_size: "packet-queue-size" ":" "integer"
-#line 1146 "dhcp4_parser.yy"
- {
+ case 286:
+#line 1154 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("packet-queue-size", prf);
}
-#line 2140 "dhcp4_parser.cc"
+#line 2090 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 285: // $@48: %empty
-#line 1152 "dhcp4_parser.yy"
- {
+ case 287:
+#line 1160 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
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 2152 "dhcp4_parser.cc"
+#line 2102 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 286: // hooks_libraries: "hooks-libraries" $@48 ":" "[" hooks_libraries_list "]"
-#line 1158 "dhcp4_parser.yy"
- {
+ case 288:
+#line 1166 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2161 "dhcp4_parser.cc"
+#line 2111 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 291: // $@49: %empty
-#line 1171 "dhcp4_parser.yy"
- {
+ case 293:
+#line 1179 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2171 "dhcp4_parser.cc"
+#line 2121 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 292: // hooks_library: "{" $@49 hooks_params "}"
-#line 1175 "dhcp4_parser.yy"
- {
+ case 294:
+#line 1183 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2181 "dhcp4_parser.cc"
+#line 2131 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 293: // $@50: %empty
-#line 1181 "dhcp4_parser.yy"
- {
+ case 295:
+#line 1189 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the hooks-libraries list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2191 "dhcp4_parser.cc"
+#line 2141 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 294: // sub_hooks_library: "{" $@50 hooks_params "}"
-#line 1185 "dhcp4_parser.yy"
- {
+ case 296:
+#line 1193 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2201 "dhcp4_parser.cc"
+#line 2151 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 300: // $@51: %empty
-#line 1200 "dhcp4_parser.yy"
- {
+ case 302:
+#line 1208 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("library", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2210 "dhcp4_parser.cc"
+#line 2160 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 301: // library: "library" $@51 ":" "constant string"
-#line 1203 "dhcp4_parser.yy"
- {
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 303:
+#line 1211 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("library", lib);
ctx.leave();
}
-#line 2220 "dhcp4_parser.cc"
+#line 2170 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 302: // $@52: %empty
-#line 1209 "dhcp4_parser.yy"
- {
+ case 304:
+#line 1217 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2229 "dhcp4_parser.cc"
+#line 2179 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 303: // parameters: "parameters" $@52 ":" map_value
-#line 1212 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ case 305:
+#line 1220 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2238 "dhcp4_parser.cc"
+#line 2188 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 304: // $@53: %empty
-#line 1218 "dhcp4_parser.yy"
- {
+ case 306:
+#line 1226 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location));
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 2250 "dhcp4_parser.cc"
+#line 2200 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 305: // expired_leases_processing: "expired-leases-processing" $@53 ":" "{" expired_leases_params "}"
-#line 1224 "dhcp4_parser.yy"
- {
+ case 307:
+#line 1232 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2260 "dhcp4_parser.cc"
+#line 2210 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 314: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer"
-#line 1242 "dhcp4_parser.yy"
- {
+ case 316:
+#line 1250 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2270 "dhcp4_parser.cc"
+#line 2220 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 315: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer"
-#line 1248 "dhcp4_parser.yy"
- {
+ case 317:
+#line 1256 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2280 "dhcp4_parser.cc"
+#line 2230 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 316: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer"
-#line 1254 "dhcp4_parser.yy"
- {
+ case 318:
+#line 1262 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 2290 "dhcp4_parser.cc"
+#line 2240 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 317: // max_reclaim_leases: "max-reclaim-leases" ":" "integer"
-#line 1260 "dhcp4_parser.yy"
- {
+ case 319:
+#line 1268 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 2300 "dhcp4_parser.cc"
+#line 2250 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 318: // max_reclaim_time: "max-reclaim-time" ":" "integer"
-#line 1266 "dhcp4_parser.yy"
- {
+ case 320:
+#line 1274 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 2310 "dhcp4_parser.cc"
+#line 2260 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 319: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer"
-#line 1272 "dhcp4_parser.yy"
- {
+ case 321:
+#line 1280 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 2320 "dhcp4_parser.cc"
+#line 2270 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 320: // $@54: %empty
-#line 1281 "dhcp4_parser.yy"
- {
+ case 322:
+#line 1289 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet4", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.SUBNET4);
}
-#line 2332 "dhcp4_parser.cc"
+#line 2282 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 321: // subnet4_list: "subnet4" $@54 ":" "[" subnet4_list_content "]"
-#line 1287 "dhcp4_parser.yy"
- {
+ case 323:
+#line 1295 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2341 "dhcp4_parser.cc"
+#line 2291 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 326: // $@55: %empty
-#line 1307 "dhcp4_parser.yy"
- {
+ case 328:
+#line 1315 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2351 "dhcp4_parser.cc"
+#line 2301 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 327: // subnet4: "{" $@55 subnet4_params "}"
-#line 1311 "dhcp4_parser.yy"
- {
+ case 329:
+#line 1319 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Once we reached this place, the subnet parsing is now complete.
// If we want to, we can implement default values here.
// In particular we can do things like this:
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2377 "dhcp4_parser.cc"
+#line 2327 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 328: // $@56: %empty
-#line 1333 "dhcp4_parser.yy"
- {
+ case 330:
+#line 1341 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the subnet4 list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2387 "dhcp4_parser.cc"
+#line 2337 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 329: // sub_subnet4: "{" $@56 subnet4_params "}"
-#line 1337 "dhcp4_parser.yy"
- {
+ case 331:
+#line 1345 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The subnet subnet4 parameter is required
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2397 "dhcp4_parser.cc"
+#line 2347 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 373: // $@57: %empty
-#line 1392 "dhcp4_parser.yy"
- {
+ case 376:
+#line 1401 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("subnet", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2406 "dhcp4_parser.cc"
+#line 2356 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 374: // subnet: "subnet" $@57 ":" "constant string"
-#line 1395 "dhcp4_parser.yy"
- {
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 377:
+#line 1404 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet", subnet);
ctx.leave();
}
-#line 2416 "dhcp4_parser.cc"
+#line 2366 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 375: // $@58: %empty
-#line 1401 "dhcp4_parser.yy"
- {
+ case 378:
+#line 1410 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2425 "dhcp4_parser.cc"
+#line 2375 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 376: // subnet_4o6_interface: "4o6-interface" $@58 ":" "constant string"
-#line 1404 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 379:
+#line 1413 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("4o6-interface", iface);
ctx.leave();
}
-#line 2435 "dhcp4_parser.cc"
+#line 2385 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 377: // $@59: %empty
-#line 1410 "dhcp4_parser.yy"
- {
+ case 380:
+#line 1419 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2444 "dhcp4_parser.cc"
+#line 2394 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 378: // subnet_4o6_interface_id: "4o6-interface-id" $@59 ":" "constant string"
-#line 1413 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 381:
+#line 1422 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("4o6-interface-id", iface);
ctx.leave();
}
-#line 2454 "dhcp4_parser.cc"
+#line 2404 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 379: // $@60: %empty
-#line 1419 "dhcp4_parser.yy"
- {
+ case 382:
+#line 1428 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2463 "dhcp4_parser.cc"
+#line 2413 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 380: // subnet_4o6_subnet: "4o6-subnet" $@60 ":" "constant string"
-#line 1422 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 383:
+#line 1431 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("4o6-subnet", iface);
ctx.leave();
}
-#line 2473 "dhcp4_parser.cc"
+#line 2423 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 381: // $@61: %empty
-#line 1428 "dhcp4_parser.yy"
- {
+ case 384:
+#line 1437 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interface", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2482 "dhcp4_parser.cc"
+#line 2432 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 382: // interface: "interface" $@61 ":" "constant string"
-#line 1431 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 385:
+#line 1440 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface", iface);
ctx.leave();
}
-#line 2492 "dhcp4_parser.cc"
+#line 2442 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 383: // $@62: %empty
-#line 1437 "dhcp4_parser.yy"
- {
+ case 386:
+#line 1446 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-class", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2501 "dhcp4_parser.cc"
+#line 2451 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 384: // client_class: "client-class" $@62 ":" "constant string"
-#line 1440 "dhcp4_parser.yy"
- {
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 387:
+#line 1449 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 2511 "dhcp4_parser.cc"
+#line 2461 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 385: // $@63: %empty
-#line 1446 "dhcp4_parser.yy"
- {
+ case 388:
+#line 1455 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location));
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 2523 "dhcp4_parser.cc"
+#line 2473 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 386: // require_client_classes: "require-client-classes" $@63 ":" list_strings
-#line 1452 "dhcp4_parser.yy"
- {
+ case 389:
+#line 1461 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2532 "dhcp4_parser.cc"
+#line 2482 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 387: // $@64: %empty
-#line 1457 "dhcp4_parser.yy"
- {
+ case 390:
+#line 1466 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2541 "dhcp4_parser.cc"
+#line 2491 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 388: // reservation_mode: "reservation-mode" $@64 ":" hr_mode
-#line 1460 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ case 391:
+#line 1469 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2550 "dhcp4_parser.cc"
+#line 2500 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 389: // hr_mode: "disabled"
-#line 1465 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2556 "dhcp4_parser.cc"
+ case 392:
+#line 1474 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2506 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 390: // hr_mode: "out-of-pool"
-#line 1466 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2562 "dhcp4_parser.cc"
+ case 393:
+#line 1475 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2512 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 391: // hr_mode: "global"
-#line 1467 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2568 "dhcp4_parser.cc"
+ case 394:
+#line 1476 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2518 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 392: // hr_mode: "all"
-#line 1468 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2574 "dhcp4_parser.cc"
+ case 395:
+#line 1477 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2524 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 393: // id: "id" ":" "integer"
-#line 1471 "dhcp4_parser.yy"
- {
+ case 396:
+#line 1480 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("id", ctx.loc2pos(yystack_[2].location));
- 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 2584 "dhcp4_parser.cc"
+#line 2534 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 394: // $@65: %empty
-#line 1479 "dhcp4_parser.yy"
- {
+ case 397:
+#line 1488 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location));
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 2596 "dhcp4_parser.cc"
+#line 2546 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 395: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]"
-#line 1485 "dhcp4_parser.yy"
- {
+ case 398:
+#line 1494 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2605 "dhcp4_parser.cc"
+#line 2555 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 400: // $@66: %empty
-#line 1500 "dhcp4_parser.yy"
- {
+ case 403:
+#line 1509 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2615 "dhcp4_parser.cc"
+#line 2565 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 401: // shared_network: "{" $@66 shared_network_params "}"
-#line 1504 "dhcp4_parser.yy"
- {
+ case 404:
+#line 1513 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 2623 "dhcp4_parser.cc"
+#line 2573 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 440: // $@67: %empty
-#line 1554 "dhcp4_parser.yy"
- {
+ case 444:
+#line 1564 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("option-def", ctx.loc2pos(yystack_[0].location));
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 2635 "dhcp4_parser.cc"
+#line 2585 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 441: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]"
-#line 1560 "dhcp4_parser.yy"
- {
+ case 445:
+#line 1570 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2644 "dhcp4_parser.cc"
+#line 2594 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 442: // $@68: %empty
-#line 1568 "dhcp4_parser.yy"
- {
+ case 446:
+#line 1578 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2653 "dhcp4_parser.cc"
+#line 2603 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 443: // sub_option_def_list: "{" $@68 option_def_list "}"
-#line 1571 "dhcp4_parser.yy"
- {
+ case 447:
+#line 1581 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// parsing completed
}
-#line 2661 "dhcp4_parser.cc"
+#line 2611 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 448: // $@69: %empty
-#line 1587 "dhcp4_parser.yy"
- {
+ case 452:
+#line 1597 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2671 "dhcp4_parser.cc"
+#line 2621 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 449: // option_def_entry: "{" $@69 option_def_params "}"
-#line 1591 "dhcp4_parser.yy"
- {
+ case 453:
+#line 1601 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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("code", 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 2683 "dhcp4_parser.cc"
+#line 2633 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 450: // $@70: %empty
-#line 1602 "dhcp4_parser.yy"
- {
+ case 454:
+#line 1612 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the option-def list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2693 "dhcp4_parser.cc"
+#line 2643 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 451: // sub_option_def: "{" $@70 option_def_params "}"
-#line 1606 "dhcp4_parser.yy"
- {
+ case 455:
+#line 1616 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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("code", 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 2705 "dhcp4_parser.cc"
+#line 2655 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 467: // code: "code" ":" "integer"
-#line 1638 "dhcp4_parser.yy"
- {
+ case 471:
+#line 1648 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("code", ctx.loc2pos(yystack_[2].location));
- 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 2715 "dhcp4_parser.cc"
+#line 2665 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 469: // $@71: %empty
-#line 1646 "dhcp4_parser.yy"
- {
+ case 473:
+#line 1656 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2724 "dhcp4_parser.cc"
+#line 2674 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 470: // option_def_type: "type" $@71 ":" "constant string"
-#line 1649 "dhcp4_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 474:
+#line 1659 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("type", prf);
ctx.leave();
}
-#line 2734 "dhcp4_parser.cc"
+#line 2684 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 471: // $@72: %empty
-#line 1655 "dhcp4_parser.yy"
- {
+ case 475:
+#line 1665 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("record-types", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2743 "dhcp4_parser.cc"
+#line 2693 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 472: // option_def_record_types: "record-types" $@72 ":" "constant string"
-#line 1658 "dhcp4_parser.yy"
- {
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 476:
+#line 1668 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 2753 "dhcp4_parser.cc"
+#line 2703 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 473: // $@73: %empty
-#line 1664 "dhcp4_parser.yy"
- {
+ case 477:
+#line 1674 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("space", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2762 "dhcp4_parser.cc"
+#line 2712 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 474: // space: "space" $@73 ":" "constant string"
-#line 1667 "dhcp4_parser.yy"
- {
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 478:
+#line 1677 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("space", space);
ctx.leave();
}
-#line 2772 "dhcp4_parser.cc"
+#line 2722 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 476: // $@74: %empty
-#line 1675 "dhcp4_parser.yy"
- {
+ case 480:
+#line 1685 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2781 "dhcp4_parser.cc"
+#line 2731 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 477: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string"
-#line 1678 "dhcp4_parser.yy"
- {
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 481:
+#line 1688 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("encapsulate", encap);
ctx.leave();
}
-#line 2791 "dhcp4_parser.cc"
+#line 2741 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 478: // option_def_array: "array" ":" "boolean"
-#line 1684 "dhcp4_parser.yy"
- {
+ case 482:
+#line 1694 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("array", ctx.loc2pos(yystack_[2].location));
- 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 2801 "dhcp4_parser.cc"
+#line 2751 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 479: // $@75: %empty
-#line 1694 "dhcp4_parser.yy"
- {
+ case 483:
+#line 1704 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("option-data", ctx.loc2pos(yystack_[0].location));
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 2813 "dhcp4_parser.cc"
+#line 2763 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 480: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]"
-#line 1700 "dhcp4_parser.yy"
- {
+ case 484:
+#line 1710 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2822 "dhcp4_parser.cc"
+#line 2772 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 485: // $@76: %empty
-#line 1719 "dhcp4_parser.yy"
- {
+ case 489:
+#line 1729 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2832 "dhcp4_parser.cc"
+#line 2782 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 486: // option_data_entry: "{" $@76 option_data_params "}"
-#line 1723 "dhcp4_parser.yy"
- {
+ case 490:
+#line 1733 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2841 "dhcp4_parser.cc"
+#line 2791 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 487: // $@77: %empty
-#line 1731 "dhcp4_parser.yy"
- {
+ case 491:
+#line 1741 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the option-data list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2851 "dhcp4_parser.cc"
+#line 2801 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 488: // sub_option_data: "{" $@77 option_data_params "}"
-#line 1735 "dhcp4_parser.yy"
- {
+ case 492:
+#line 1745 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2860 "dhcp4_parser.cc"
+#line 2810 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 503: // $@78: %empty
-#line 1768 "dhcp4_parser.yy"
- {
+ case 507:
+#line 1778 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("data", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2869 "dhcp4_parser.cc"
+#line 2819 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 504: // option_data_data: "data" $@78 ":" "constant string"
-#line 1771 "dhcp4_parser.yy"
- {
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 508:
+#line 1781 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data", data);
ctx.leave();
}
-#line 2879 "dhcp4_parser.cc"
+#line 2829 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 507: // option_data_csv_format: "csv-format" ":" "boolean"
-#line 1781 "dhcp4_parser.yy"
- {
+ case 511:
+#line 1791 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location));
- 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 2889 "dhcp4_parser.cc"
+#line 2839 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 508: // option_data_always_send: "always-send" ":" "boolean"
-#line 1787 "dhcp4_parser.yy"
- {
+ case 512:
+#line 1797 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("always-send", ctx.loc2pos(yystack_[2].location));
- 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 2899 "dhcp4_parser.cc"
+#line 2849 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 509: // $@79: %empty
-#line 1796 "dhcp4_parser.yy"
- {
+ case 513:
+#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pools", ctx.loc2pos(yystack_[0].location));
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 2911 "dhcp4_parser.cc"
+#line 2861 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 510: // pools_list: "pools" $@79 ":" "[" pools_list_content "]"
-#line 1802 "dhcp4_parser.yy"
- {
+ case 514:
+#line 1812 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2920 "dhcp4_parser.cc"
+#line 2870 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 515: // $@80: %empty
-#line 1817 "dhcp4_parser.yy"
- {
+ case 519:
+#line 1827 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2930 "dhcp4_parser.cc"
+#line 2880 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 516: // pool_list_entry: "{" $@80 pool_params "}"
-#line 1821 "dhcp4_parser.yy"
- {
+ case 520:
+#line 1831 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2940 "dhcp4_parser.cc"
+#line 2890 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 517: // $@81: %empty
-#line 1827 "dhcp4_parser.yy"
- {
+ case 521:
+#line 1837 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the pool list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2950 "dhcp4_parser.cc"
+#line 2900 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 518: // sub_pool4: "{" $@81 pool_params "}"
-#line 1831 "dhcp4_parser.yy"
- {
+ case 522:
+#line 1841 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2960 "dhcp4_parser.cc"
+#line 2910 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 528: // $@82: %empty
-#line 1850 "dhcp4_parser.yy"
- {
+ case 532:
+#line 1860 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pool", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2969 "dhcp4_parser.cc"
+#line 2919 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 529: // pool_entry: "pool" $@82 ":" "constant string"
-#line 1853 "dhcp4_parser.yy"
- {
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 533:
+#line 1863 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pool", pool);
ctx.leave();
}
-#line 2979 "dhcp4_parser.cc"
+#line 2929 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 530: // $@83: %empty
-#line 1859 "dhcp4_parser.yy"
- {
+ case 534:
+#line 1869 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2987 "dhcp4_parser.cc"
+#line 2937 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 531: // user_context: "user-context" $@83 ":" map_value
-#line 1861 "dhcp4_parser.yy"
- {
+ case 535:
+#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3014 "dhcp4_parser.cc"
+#line 2964 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 532: // $@84: %empty
-#line 1884 "dhcp4_parser.yy"
- {
+ case 536:
+#line 1894 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3022 "dhcp4_parser.cc"
+#line 2972 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 533: // comment: "comment" $@84 ":" "constant string"
-#line 1886 "dhcp4_parser.yy"
- {
+ case 537:
+#line 1896 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3051 "dhcp4_parser.cc"
+#line 3001 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 534: // $@85: %empty
-#line 1914 "dhcp4_parser.yy"
- {
+ case 538:
+#line 1924 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reservations", ctx.loc2pos(yystack_[0].location));
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 3063 "dhcp4_parser.cc"
+#line 3013 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 535: // reservations: "reservations" $@85 ":" "[" reservations_list "]"
-#line 1920 "dhcp4_parser.yy"
- {
+ case 539:
+#line 1930 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3072 "dhcp4_parser.cc"
+#line 3022 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 540: // $@86: %empty
-#line 1933 "dhcp4_parser.yy"
- {
+ case 544:
+#line 1943 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3082 "dhcp4_parser.cc"
+#line 3032 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 541: // reservation: "{" $@86 reservation_params "}"
-#line 1937 "dhcp4_parser.yy"
- {
+ case 545:
+#line 1947 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 3091 "dhcp4_parser.cc"
+#line 3041 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 542: // $@87: %empty
-#line 1942 "dhcp4_parser.yy"
- {
+ case 546:
+#line 1952 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the reservations list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3101 "dhcp4_parser.cc"
+#line 3051 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 543: // sub_reservation: "{" $@87 reservation_params "}"
-#line 1946 "dhcp4_parser.yy"
- {
+ case 547:
+#line 1956 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 3110 "dhcp4_parser.cc"
+#line 3060 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 563: // $@88: %empty
-#line 1977 "dhcp4_parser.yy"
- {
+ case 567:
+#line 1987 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("next-server", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3119 "dhcp4_parser.cc"
+#line 3069 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 564: // next_server: "next-server" $@88 ":" "constant string"
-#line 1980 "dhcp4_parser.yy"
- {
- ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 568:
+#line 1990 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr next_server(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("next-server", next_server);
ctx.leave();
}
-#line 3129 "dhcp4_parser.cc"
+#line 3079 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 565: // $@89: %empty
-#line 1986 "dhcp4_parser.yy"
- {
+ case 569:
+#line 1996 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3138 "dhcp4_parser.cc"
+#line 3088 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 566: // server_hostname: "server-hostname" $@89 ":" "constant string"
-#line 1989 "dhcp4_parser.yy"
- {
- ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 570:
+#line 1999 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr srv(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-hostname", srv);
ctx.leave();
}
-#line 3148 "dhcp4_parser.cc"
+#line 3098 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 567: // $@90: %empty
-#line 1995 "dhcp4_parser.yy"
- {
+ case 571:
+#line 2005 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3157 "dhcp4_parser.cc"
+#line 3107 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 568: // boot_file_name: "boot-file-name" $@90 ":" "constant string"
-#line 1998 "dhcp4_parser.yy"
- {
- ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 572:
+#line 2008 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr bootfile(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("boot-file-name", bootfile);
ctx.leave();
}
-#line 3167 "dhcp4_parser.cc"
+#line 3117 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 569: // $@91: %empty
-#line 2004 "dhcp4_parser.yy"
- {
+ case 573:
+#line 2014 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3176 "dhcp4_parser.cc"
+#line 3126 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 570: // ip_address: "ip-address" $@91 ":" "constant string"
-#line 2007 "dhcp4_parser.yy"
- {
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 574:
+#line 2017 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3186 "dhcp4_parser.cc"
+#line 3136 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 571: // $@92: %empty
-#line 2013 "dhcp4_parser.yy"
- {
+ case 575:
+#line 2023 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location));
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 3198 "dhcp4_parser.cc"
+#line 3148 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 572: // ip_addresses: "ip-addresses" $@92 ":" list_strings
-#line 2019 "dhcp4_parser.yy"
- {
+ case 576:
+#line 2029 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3207 "dhcp4_parser.cc"
+#line 3157 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 573: // $@93: %empty
-#line 2024 "dhcp4_parser.yy"
- {
+ case 577:
+#line 2034 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("duid", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3216 "dhcp4_parser.cc"
+#line 3166 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 574: // duid: "duid" $@93 ":" "constant string"
-#line 2027 "dhcp4_parser.yy"
- {
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 578:
+#line 2037 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("duid", d);
ctx.leave();
}
-#line 3226 "dhcp4_parser.cc"
+#line 3176 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 575: // $@94: %empty
-#line 2033 "dhcp4_parser.yy"
- {
+ case 579:
+#line 2043 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3235 "dhcp4_parser.cc"
+#line 3185 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 576: // hw_address: "hw-address" $@94 ":" "constant string"
-#line 2036 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 580:
+#line 2046 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3245 "dhcp4_parser.cc"
+#line 3195 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 577: // $@95: %empty
-#line 2042 "dhcp4_parser.yy"
- {
+ case 581:
+#line 2052 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-id", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3254 "dhcp4_parser.cc"
+#line 3204 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 578: // client_id_value: "client-id" $@95 ":" "constant string"
-#line 2045 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 582:
+#line 2055 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-id", hw);
ctx.leave();
}
-#line 3264 "dhcp4_parser.cc"
+#line 3214 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 579: // $@96: %empty
-#line 2051 "dhcp4_parser.yy"
- {
+ case 583:
+#line 2061 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3273 "dhcp4_parser.cc"
+#line 3223 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 580: // circuit_id_value: "circuit-id" $@96 ":" "constant string"
-#line 2054 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 584:
+#line 2064 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("circuit-id", hw);
ctx.leave();
}
-#line 3283 "dhcp4_parser.cc"
+#line 3233 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 581: // $@97: %empty
-#line 2060 "dhcp4_parser.yy"
- {
+ case 585:
+#line 2070 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3292 "dhcp4_parser.cc"
+#line 3242 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 582: // flex_id_value: "flex-id" $@97 ":" "constant string"
-#line 2063 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 586:
+#line 2073 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3302 "dhcp4_parser.cc"
+#line 3252 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 583: // $@98: %empty
-#line 2069 "dhcp4_parser.yy"
- {
+ case 587:
+#line 2079 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3311 "dhcp4_parser.cc"
+#line 3261 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 584: // hostname: "hostname" $@98 ":" "constant string"
-#line 2072 "dhcp4_parser.yy"
- {
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 588:
+#line 2082 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname", host);
ctx.leave();
}
-#line 3321 "dhcp4_parser.cc"
+#line 3271 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 585: // $@99: %empty
-#line 2078 "dhcp4_parser.yy"
- {
+ case 589:
+#line 2088 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location));
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 3333 "dhcp4_parser.cc"
+#line 3283 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 586: // reservation_client_classes: "client-classes" $@99 ":" list_strings
-#line 2084 "dhcp4_parser.yy"
- {
+ case 590:
+#line 2094 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3342 "dhcp4_parser.cc"
+#line 3292 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 587: // $@100: %empty
-#line 2092 "dhcp4_parser.yy"
- {
+ case 591:
+#line 2102 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("relay", ctx.loc2pos(yystack_[0].location));
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 3354 "dhcp4_parser.cc"
+#line 3304 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 588: // relay: "relay" $@100 ":" "{" relay_map "}"
-#line 2098 "dhcp4_parser.yy"
- {
+ case 592:
+#line 2108 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3363 "dhcp4_parser.cc"
+#line 3313 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 591: // $@101: %empty
-#line 2110 "dhcp4_parser.yy"
- {
+ case 595:
+#line 2120 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location));
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 3375 "dhcp4_parser.cc"
+#line 3325 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 592: // client_classes: "client-classes" $@101 ":" "[" client_classes_list "]"
-#line 2116 "dhcp4_parser.yy"
- {
+ case 596:
+#line 2126 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3384 "dhcp4_parser.cc"
+#line 3334 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 595: // $@102: %empty
-#line 2125 "dhcp4_parser.yy"
- {
+ case 599:
+#line 2135 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3394 "dhcp4_parser.cc"
+#line 3344 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 596: // client_class_entry: "{" $@102 client_class_params "}"
-#line 2129 "dhcp4_parser.yy"
- {
+ case 600:
+#line 2139 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 3404 "dhcp4_parser.cc"
+#line 3354 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 613: // $@103: %empty
-#line 2158 "dhcp4_parser.yy"
- {
+ case 617:
+#line 2168 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("test", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3413 "dhcp4_parser.cc"
+#line 3363 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 614: // client_class_test: "test" $@103 ":" "constant string"
-#line 2161 "dhcp4_parser.yy"
- {
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 618:
+#line 2171 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("test", test);
ctx.leave();
}
-#line 3423 "dhcp4_parser.cc"
+#line 3373 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 615: // only_if_required: "only-if-required" ":" "boolean"
-#line 2167 "dhcp4_parser.yy"
- {
+ case 619:
+#line 2177 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location));
- 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 3433 "dhcp4_parser.cc"
+#line 3383 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 616: // dhcp4o6_port: "dhcp4o6-port" ":" "integer"
-#line 2175 "dhcp4_parser.yy"
- {
+ case 620:
+#line 2185 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
- 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 3443 "dhcp4_parser.cc"
+#line 3393 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 617: // $@104: %empty
-#line 2183 "dhcp4_parser.yy"
- {
+ case 621:
+#line 2193 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location));
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 3455 "dhcp4_parser.cc"
+#line 3405 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 618: // control_socket: "control-socket" $@104 ":" "{" control_socket_params "}"
-#line 2189 "dhcp4_parser.yy"
- {
+ case 622:
+#line 2199 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3464 "dhcp4_parser.cc"
+#line 3414 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 626: // $@105: %empty
-#line 2205 "dhcp4_parser.yy"
- {
+ case 630:
+#line 2215 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3473 "dhcp4_parser.cc"
+#line 3423 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 627: // control_socket_type: "socket-type" $@105 ":" "constant string"
-#line 2208 "dhcp4_parser.yy"
- {
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 631:
+#line 2218 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3483 "dhcp4_parser.cc"
+#line 3433 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 628: // $@106: %empty
-#line 2214 "dhcp4_parser.yy"
- {
+ case 632:
+#line 2224 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3492 "dhcp4_parser.cc"
+#line 3442 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 629: // control_socket_name: "socket-name" $@106 ":" "constant string"
-#line 2217 "dhcp4_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 633:
+#line 2227 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3502 "dhcp4_parser.cc"
+#line 3452 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 630: // $@107: %empty
-#line 2226 "dhcp4_parser.yy"
- {
+ case 634:
+#line 2236 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp-queue-control", qc);
ctx.stack_.push_back(qc);
ctx.enter(ctx.DHCP_QUEUE_CONTROL);
}
-#line 3514 "dhcp4_parser.cc"
+#line 3464 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 631: // dhcp_queue_control: "dhcp-queue-control" $@107 ":" "{" queue_control_params "}"
-#line 2232 "dhcp4_parser.yy"
- {
+ case 635:
+#line 2242 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// The enable queue parameter is required.
ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3525 "dhcp4_parser.cc"
+#line 3475 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 640: // enable_queue: "enable-queue" ":" "boolean"
-#line 2251 "dhcp4_parser.yy"
- {
+ case 644:
+#line 2261 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location));
- 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-queue", b);
}
-#line 3535 "dhcp4_parser.cc"
+#line 3485 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 641: // $@108: %empty
-#line 2257 "dhcp4_parser.yy"
- {
+ case 645:
+#line 2267 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3544 "dhcp4_parser.cc"
+#line 3494 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 642: // queue_type: "queue-type" $@108 ":" "constant string"
-#line 2260 "dhcp4_parser.yy"
- {
- ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 646:
+#line 2270 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr qt(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("queue-type", qt);
ctx.leave();
}
-#line 3554 "dhcp4_parser.cc"
+#line 3504 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 643: // capacity: "capacity" ":" "integer"
-#line 2266 "dhcp4_parser.yy"
- {
+ case 647:
+#line 2276 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("capacity", ctx.loc2pos(yystack_[2].location));
- ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr c(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("capacity", c);
}
-#line 3564 "dhcp4_parser.cc"
+#line 3514 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 644: // $@109: %empty
-#line 2272 "dhcp4_parser.yy"
- {
- ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
+ case 648:
+#line 2282 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.unique(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3573 "dhcp4_parser.cc"
+#line 3523 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 645: // arbitrary_map_entry: "constant string" $@109 ":" value
-#line 2275 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ case 649:
+#line 2285 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set(yystack_[3].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3582 "dhcp4_parser.cc"
+#line 3532 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 646: // $@110: %empty
-#line 2282 "dhcp4_parser.yy"
- {
+ case 650:
+#line 2292 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location));
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 3594 "dhcp4_parser.cc"
+#line 3544 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 647: // dhcp_ddns: "dhcp-ddns" $@110 ":" "{" dhcp_ddns_params "}"
-#line 2288 "dhcp4_parser.yy"
- {
+ case 651:
+#line 2298 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 3605 "dhcp4_parser.cc"
+#line 3555 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 648: // $@111: %empty
-#line 2295 "dhcp4_parser.yy"
- {
+ case 652:
+#line 2305 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the dhcp-ddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3615 "dhcp4_parser.cc"
+#line 3565 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 649: // sub_dhcp_ddns: "{" $@111 dhcp_ddns_params "}"
-#line 2299 "dhcp4_parser.yy"
- {
+ case 653:
+#line 2309 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// 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 3625 "dhcp4_parser.cc"
+#line 3575 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 670: // enable_updates: "enable-updates" ":" "boolean"
-#line 2329 "dhcp4_parser.yy"
- {
+ case 674:
+#line 2339 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location));
- 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 3635 "dhcp4_parser.cc"
+#line 3585 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 671: // $@112: %empty
-#line 2335 "dhcp4_parser.yy"
- {
+ case 675:
+#line 2345 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3644 "dhcp4_parser.cc"
+#line 3594 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 672: // server_ip: "server-ip" $@112 ":" "constant string"
-#line 2338 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 676:
+#line 2348 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3654 "dhcp4_parser.cc"
+#line 3604 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 673: // server_port: "server-port" ":" "integer"
-#line 2344 "dhcp4_parser.yy"
- {
+ case 677:
+#line 2354 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-port", ctx.loc2pos(yystack_[2].location));
- 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 3664 "dhcp4_parser.cc"
+#line 3614 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 674: // $@113: %empty
-#line 2350 "dhcp4_parser.yy"
- {
+ case 678:
+#line 2360 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3673 "dhcp4_parser.cc"
+#line 3623 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 675: // sender_ip: "sender-ip" $@113 ":" "constant string"
-#line 2353 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 679:
+#line 2363 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3683 "dhcp4_parser.cc"
+#line 3633 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 676: // sender_port: "sender-port" ":" "integer"
-#line 2359 "dhcp4_parser.yy"
- {
+ case 680:
+#line 2369 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location));
- 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 3693 "dhcp4_parser.cc"
+#line 3643 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 677: // max_queue_size: "max-queue-size" ":" "integer"
-#line 2365 "dhcp4_parser.yy"
- {
+ case 681:
+#line 2375 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location));
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3703 "dhcp4_parser.cc"
+#line 3653 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 678: // $@114: %empty
-#line 2371 "dhcp4_parser.yy"
- {
+ case 682:
+#line 2381 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3712 "dhcp4_parser.cc"
+#line 3662 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 679: // ncr_protocol: "ncr-protocol" $@114 ":" ncr_protocol_value
-#line 2374 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ case 683:
+#line 2384 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3721 "dhcp4_parser.cc"
+#line 3671 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 680: // ncr_protocol_value: "udp"
-#line 2380 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3727 "dhcp4_parser.cc"
+ case 684:
+#line 2390 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3677 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 681: // ncr_protocol_value: "tcp"
-#line 2381 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3733 "dhcp4_parser.cc"
+ case 685:
+#line 2391 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3683 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 682: // $@115: %empty
-#line 2384 "dhcp4_parser.yy"
- {
+ case 686:
+#line 2394 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3742 "dhcp4_parser.cc"
+#line 3692 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 683: // ncr_format: "ncr-format" $@115 ":" "JSON"
-#line 2387 "dhcp4_parser.yy"
- {
+ case 687:
+#line 2397 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
ctx.leave();
}
-#line 3752 "dhcp4_parser.cc"
+#line 3702 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 684: // $@116: %empty
-#line 2394 "dhcp4_parser.yy"
- {
+ case 688:
+#line 2404 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3761 "dhcp4_parser.cc"
+#line 3711 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 685: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string"
-#line 2397 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 689:
+#line 2407 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3771 "dhcp4_parser.cc"
+#line 3721 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 686: // dep_override_no_update: "override-no-update" ":" "boolean"
-#line 2404 "dhcp4_parser.yy"
- {
+ case 690:
+#line 2414 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location));
- 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 3781 "dhcp4_parser.cc"
+#line 3731 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 687: // dep_override_client_update: "override-client-update" ":" "boolean"
-#line 2411 "dhcp4_parser.yy"
- {
+ case 691:
+#line 2421 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location));
- 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 3791 "dhcp4_parser.cc"
+#line 3741 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 688: // $@117: %empty
-#line 2418 "dhcp4_parser.yy"
- {
+ case 692:
+#line 2428 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3800 "dhcp4_parser.cc"
+#line 3750 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 689: // dep_replace_client_name: "replace-client-name" $@117 ":" ddns_replace_client_name_value
-#line 2421 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 693:
+#line 2431 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3809 "dhcp4_parser.cc"
+#line 3759 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 690: // $@118: %empty
-#line 2427 "dhcp4_parser.yy"
- {
+ case 694:
+#line 2437 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3818 "dhcp4_parser.cc"
+#line 3768 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 691: // dep_generated_prefix: "generated-prefix" $@118 ":" "constant string"
-#line 2430 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 695:
+#line 2440 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3828 "dhcp4_parser.cc"
+#line 3778 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 692: // $@119: %empty
-#line 2437 "dhcp4_parser.yy"
- {
+ case 696:
+#line 2447 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3837 "dhcp4_parser.cc"
+#line 3787 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 693: // dep_hostname_char_set: "hostname-char-set" $@119 ":" "constant string"
-#line 2440 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 697:
+#line 2450 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3847 "dhcp4_parser.cc"
+#line 3797 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 694: // $@120: %empty
-#line 2447 "dhcp4_parser.yy"
- {
+ case 698:
+#line 2457 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3856 "dhcp4_parser.cc"
+#line 3806 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 695: // dep_hostname_char_replacement: "hostname-char-replacement" $@120 ":" "constant string"
-#line 2450 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 699:
+#line 2460 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3866 "dhcp4_parser.cc"
+#line 3816 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 696: // $@121: %empty
-#line 2459 "dhcp4_parser.yy"
- {
+ case 700:
+#line 2469 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("config-control", ctx.loc2pos(yystack_[0].location));
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 3878 "dhcp4_parser.cc"
+#line 3828 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 697: // config_control: "config-control" $@121 ":" "{" config_control_params "}"
-#line 2465 "dhcp4_parser.yy"
- {
+ case 701:
+#line 2475 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3888 "dhcp4_parser.cc"
+#line 3838 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 698: // $@122: %empty
-#line 2471 "dhcp4_parser.yy"
- {
+ case 702:
+#line 2481 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the config-control map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3898 "dhcp4_parser.cc"
+#line 3848 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 699: // sub_config_control: "{" $@122 config_control_params "}"
-#line 2475 "dhcp4_parser.yy"
- {
+ case 703:
+#line 2485 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No config_control params are required
// parsing completed
}
-#line 3907 "dhcp4_parser.cc"
+#line 3857 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 704: // $@123: %empty
-#line 2490 "dhcp4_parser.yy"
- {
+ case 708:
+#line 2500 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location));
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 3919 "dhcp4_parser.cc"
+#line 3869 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 705: // config_databases: "config-databases" $@123 ":" "[" database_list "]"
-#line 2496 "dhcp4_parser.yy"
- {
+ case 709:
+#line 2506 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3928 "dhcp4_parser.cc"
+#line 3878 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 706: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer"
-#line 2501 "dhcp4_parser.yy"
- {
+ case 710:
+#line 2511 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ 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 3938 "dhcp4_parser.cc"
+#line 3888 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 707: // $@124: %empty
-#line 2509 "dhcp4_parser.yy"
- {
+ case 711:
+#line 2519 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
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 3950 "dhcp4_parser.cc"
+#line 3900 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 708: // loggers: "loggers" $@124 ":" "[" loggers_entries "]"
-#line 2515 "dhcp4_parser.yy"
- {
+ case 712:
+#line 2525 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3959 "dhcp4_parser.cc"
+#line 3909 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 711: // $@125: %empty
-#line 2527 "dhcp4_parser.yy"
- {
+ case 715:
+#line 2537 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
ctx.stack_.push_back(l);
}
-#line 3969 "dhcp4_parser.cc"
+#line 3919 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 712: // logger_entry: "{" $@125 logger_params "}"
-#line 2531 "dhcp4_parser.yy"
- {
+ case 716:
+#line 2541 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 3977 "dhcp4_parser.cc"
+#line 3927 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 722: // debuglevel: "debuglevel" ":" "integer"
-#line 2548 "dhcp4_parser.yy"
- {
+ case 726:
+#line 2558 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
- 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 3987 "dhcp4_parser.cc"
+#line 3937 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 723: // $@126: %empty
-#line 2554 "dhcp4_parser.yy"
- {
+ case 727:
+#line 2564 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3996 "dhcp4_parser.cc"
+#line 3946 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 724: // severity: "severity" $@126 ":" "constant string"
-#line 2557 "dhcp4_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 728:
+#line 2567 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 4006 "dhcp4_parser.cc"
+#line 3956 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 725: // $@127: %empty
-#line 2563 "dhcp4_parser.yy"
- {
+ case 729:
+#line 2573 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("output_options", ctx.loc2pos(yystack_[0].location));
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 4018 "dhcp4_parser.cc"
+#line 3968 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 726: // output_options_list: "output_options" $@127 ":" "[" output_options_list_content "]"
-#line 2569 "dhcp4_parser.yy"
- {
+ case 730:
+#line 2579 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 4027 "dhcp4_parser.cc"
+#line 3977 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 729: // $@128: %empty
-#line 2578 "dhcp4_parser.yy"
- {
+ case 733:
+#line 2588 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 4037 "dhcp4_parser.cc"
+#line 3987 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 730: // output_entry: "{" $@128 output_params_list "}"
-#line 2582 "dhcp4_parser.yy"
- {
+ case 734:
+#line 2592 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 4045 "dhcp4_parser.cc"
+#line 3995 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 738: // $@129: %empty
-#line 2597 "dhcp4_parser.yy"
- {
+ case 742:
+#line 2607 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("output", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4054 "dhcp4_parser.cc"
+#line 4004 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 739: // output: "output" $@129 ":" "constant string"
-#line 2600 "dhcp4_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 743:
+#line 2610 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 4064 "dhcp4_parser.cc"
+#line 4014 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 740: // flush: "flush" ":" "boolean"
-#line 2606 "dhcp4_parser.yy"
- {
+ case 744:
+#line 2616 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
- 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 4074 "dhcp4_parser.cc"
+#line 4024 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 741: // maxsize: "maxsize" ":" "integer"
-#line 2612 "dhcp4_parser.yy"
- {
+ case 745:
+#line 2622 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
- 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 4084 "dhcp4_parser.cc"
+#line 4034 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 742: // maxver: "maxver" ":" "integer"
-#line 2618 "dhcp4_parser.yy"
- {
+ case 746:
+#line 2628 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
- 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 4094 "dhcp4_parser.cc"
+#line 4044 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 743: // $@130: %empty
-#line 2624 "dhcp4_parser.yy"
- {
+ case 747:
+#line 2634 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4103 "dhcp4_parser.cc"
+#line 4053 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 744: // pattern: "pattern" $@130 ":" "constant string"
-#line 2627 "dhcp4_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 748:
+#line 2637 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pattern", sev);
ctx.leave();
}
-#line 4113 "dhcp4_parser.cc"
+#line 4063 "dhcp4_parser.cc" // lalr1.cc:859
break;
-#line 4117 "dhcp4_parser.cc"
-
+#line 4067 "dhcp4_parser.cc" // lalr1.cc:859
default:
break;
}
}
-#if YY_EXCEPTIONS
catch (const syntax_error& yyexc)
{
- YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
error (yyexc);
YYERROR;
}
-#endif // YY_EXCEPTIONS
YY_SYMBOL_PRINT ("-> $$ =", yylhs);
yypop_ (yylen);
yylen = 0;
+ YY_STACK_PRINT ();
// Shift the result of the reduction.
- yypush_ (YY_NULLPTR, YY_MOVE (yylhs));
+ yypush_ (YY_NULLPTR, yylhs);
}
goto yynewstate;
-
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
if (!yyerrstatus_)
{
++yynerrs_;
- context yyctx (*this, yyla);
- std::string msg = yysyntax_error_ (yyctx);
- error (yyla.location, YY_MOVE (msg));
+ error (yyla.location, yysyntax_error_ (yystack_[0].state, yyla));
}
error, discard it. */
// Return failure if at end of input.
- if (yyla.kind () == symbol_kind::S_YYEOF)
+ if (yyla.type_get () == yyeof_)
YYABORT;
else if (!yyla.empty ())
{
| 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;
+ yyerror_range[1].location = yystack_[yylen - 1].location;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
yypop_ (yylen);
yylen = 0;
- YY_STACK_PRINT ();
goto yyerrlab1;
-
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus_ = 3; // Each real token shifted decrements this.
- // Pop stack until we find a state that shifts the error token.
- for (;;)
- {
- yyn = yypact_[+yystack_[0].state];
- if (!yy_pact_value_is_default_ (yyn))
- {
- yyn += symbol_kind::S_YYerror;
- if (0 <= yyn && yyn <= yylast_
- && yycheck_[yyn] == symbol_kind::S_YYerror)
- {
- yyn = yytable_[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- // Pop the current state because it cannot handle the error token.
- if (yystack_.size () == 1)
- YYABORT;
-
- yyerror_range[1].location = yystack_[0].location;
- yy_destroy_ ("Error: popping", yystack_[0]);
- yypop_ ();
- YY_STACK_PRINT ();
- }
{
stack_symbol_type error_token;
+ for (;;)
+ {
+ yyn = yypact_[yystack_[0].state];
+ if (!yy_pact_value_is_default_ (yyn))
+ {
+ yyn += yyterror_;
+ if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
+ {
+ yyn = yytable_[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ // Pop the current state because it cannot handle the error token.
+ if (yystack_.size () == 1)
+ YYABORT;
+
+ yyerror_range[1].location = yystack_[0].location;
+ yy_destroy_ ("Error: popping", yystack_[0]);
+ yypop_ ();
+ YY_STACK_PRINT ();
+ }
yyerror_range[2].location = yyla.location;
YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);
// Shift the error token.
- error_token.state = state_type (yyn);
- yypush_ ("Shifting", YY_MOVE (error_token));
+ error_token.state = yyn;
+ yypush_ ("Shifting", error_token);
}
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);
/* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
yypop_ (yylen);
- YY_STACK_PRINT ();
while (1 < yystack_.size ())
{
yy_destroy_ ("Cleanup: popping", yystack_[0]);
return yyresult;
}
-#if YY_EXCEPTIONS
catch (...)
{
- YYCDEBUG << "Exception caught: cleaning lookahead and stack\n";
+ YYCDEBUG << "Exception caught: cleaning lookahead and stack"
+ << std::endl;
// Do not try to display the values of the reclaimed symbols,
- // as their printers might throw an exception.
+ // as their printer might throw an exception.
if (!yyla.empty ())
yy_destroy_ (YY_NULLPTR, yyla);
}
throw;
}
-#endif // YY_EXCEPTIONS
}
void
Dhcp4Parser::error (const syntax_error& yyexc)
{
- error (yyexc.location, yyexc.what ());
- }
-
- /* Return YYSTR after stripping away unnecessary quotes and
- backslashes, so that it's suitable for yyerror. The heuristic is
- that double-quoting is unnecessary unless the string contains an
- apostrophe, a comma, or backslash (other than backslash-backslash).
- YYSTR is taken from yytname. */
- std::string
- Dhcp4Parser::yytnamerr_ (const char *yystr)
- {
- if (*yystr == '"')
- {
- std::string yyr;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- else
- goto append;
-
- append:
- default:
- yyr += *yyp;
- break;
-
- case '"':
- return yyr;
- }
- do_not_strip_quotes: ;
- }
-
- return yystr;
+ error (yyexc.location, yyexc.what());
}
+ // Generate an error message.
std::string
- Dhcp4Parser::symbol_name (symbol_kind_type yysymbol)
- {
- return yytnamerr_ (yytname_[yysymbol]);
- }
-
-
-
- // Dhcp4Parser::context.
- Dhcp4Parser::context::context (const Dhcp4Parser& yyparser, const symbol_type& yyla)
- : yyparser_ (yyparser)
- , yyla_ (yyla)
- {}
-
- int
- Dhcp4Parser::context::expected_tokens (symbol_kind_type yyarg[], int yyargn) const
+ Dhcp4Parser::yysyntax_error_ (state_type yystate, const symbol_type& yyla) const
{
- // Actual number of expected tokens
- int yycount = 0;
-
- int yyn = yypact_[+yyparser_.yystack_[0].state];
- if (!yy_pact_value_is_default_ (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- // Stay within bounds of both yycheck and yytname.
- int yychecklim = yylast_ - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != symbol_kind::S_YYerror
- && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
- {
- if (!yyarg)
- ++yycount;
- else if (yycount == yyargn)
- return 0;
- else
- yyarg[yycount++] = YY_CAST (symbol_kind_type, yyx);
- }
- }
-
- if (yyarg && yycount == 0 && 0 < yyargn)
- yyarg[0] = symbol_kind::S_YYEMPTY;
- return yycount;
- }
-
-
+ // Number of reported tokens (one for the "unexpected", one per
+ // "expected").
+ size_t yycount = 0;
+ // Its maximum.
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ // Arguments of yyformat.
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int
- Dhcp4Parser::yy_syntax_error_arguments_ (const context& yyctx,
- symbol_kind_type yyarg[], int yyargn) const
- {
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
- Of course, the expected token list depends on states to have
correct lookahead information, and it depends on the parser not
to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
+ scanner and before detecting a syntax error. Thus, state
+ merging (from LALR or IELR) and default reductions corrupt the
+ expected token list. However, the list is correct for
+ canonical LR with one exception: it will still contain any
+ token that will not be accepted due to an error action in a
+ later state.
*/
-
- if (!yyctx.lookahead ().empty ())
+ if (!yyla.empty ())
{
- if (yyarg)
- yyarg[0] = yyctx.token ();
- int yyn = yyctx.expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
- return yyn + 1;
+ int yytoken = yyla.type_get ();
+ yyarg[yycount++] = yytname_[yytoken];
+ int yyn = yypact_[yystate];
+ if (!yy_pact_value_is_default_ (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ // Stay within bounds of both yycheck and yytname.
+ int yychecklim = yylast_ - yyn + 1;
+ int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
+ for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
+ && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ break;
+ }
+ else
+ yyarg[yycount++] = yytname_[yyx];
+ }
+ }
}
- return 0;
- }
-
- // Generate an error message.
- std::string
- Dhcp4Parser::yysyntax_error_ (const context& yyctx) const
- {
- // Its maximum.
- enum { YYARGS_MAX = 5 };
- // Arguments of yyformat.
- symbol_kind_type yyarg[YYARGS_MAX];
- int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
char const* yyformat = YY_NULLPTR;
switch (yycount)
case N: \
yyformat = S; \
break
- default: // Avoid compiler warnings.
- YYCASE_ (0, YY_("syntax error"));
- YYCASE_ (1, YY_("syntax error, unexpected %s"));
- YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
#undef YYCASE_
}
std::string yyres;
// Argument number.
- std::ptrdiff_t yyi = 0;
+ size_t yyi = 0;
for (char const* yyp = yyformat; *yyp; ++yyp)
if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
{
- yyres += symbol_name (yyarg[yyi++]);
+ yyres += yytnamerr_ (yyarg[yyi++]);
++yyp;
}
else
}
- const short Dhcp4Parser::yypact_ninf_ = -910;
+ const short int Dhcp4Parser::yypact_ninf_ = -924;
const signed char Dhcp4Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp4Parser::yypact_[] =
{
- 529, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, 33, 41, 36, 49, 54, 59,
- 66, 82, 86, 121, 131, 133, 145, 215, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, 41, -143, 101, 104, 88, 224,
- -45, 231, 67, 56, 177, -94, 403, 42, -910, 178,
- 204, 239, 211, 244, -910, 247, -910, -910, -910, 254,
- 273, 276, -910, -910, -910, -910, -910, -910, 289, 299,
- 316, 330, 336, 347, 349, 364, 366, 376, 377, -910,
- 396, 397, 399, 400, 401, -910, -910, -910, 404, 408,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, 409, -910, -910, -910, -910, -910, -910, 411,
- -910, 412, -910, 69, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, 413, -910, 78, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, 415,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, 84, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, 94, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, 323, 390,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, 387, -910, -910, 419, -910, -910, -910, 420,
- -910, -910, 423, 434, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, 436, 438, -910,
- -910, -910, -910, 435, 441, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, 118, -910, -910,
- -910, 443, -910, -910, 449, -910, 450, 452, -910, -910,
- 453, 454, -910, -910, -910, -910, -910, -910, -910, 143,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, 455, 188, -910,
- -910, -910, -910, 41, 41, -910, 217, 457, -910, 459,
- 460, 463, 275, 277, 282, 465, 473, 475, 477, 478,
- 479, 294, 297, 298, 302, 305, 304, 312, 314, 315,
- 317, 318, 486, 321, 328, 322, 329, 334, 510, 544,
- 558, 370, 371, 561, 562, 563, 566, 567, 568, 569,
- 570, 571, 573, 574, 575, 393, 576, 577, 578, 582,
- 583, 584, 398, 586, -910, 104, -910, 588, 590, 591,
- 405, 88, -910, 592, 595, 596, 598, 599, 600, 414,
- 602, 603, 604, 224, -910, 605, -45, -910, 606, 612,
- 613, 614, 617, 619, 620, 621, -910, 231, -910, 622,
- 623, 437, 625, 626, 627, 439, -910, 56, 629, 446,
- 447, -910, 177, 630, 648, -50, -910, 461, 649, 651,
- 474, 662, 476, 480, 664, 668, 481, 487, 669, 675,
- 680, 682, 403, -910, 684, 498, 42, -910, -910, -910,
- 686, 685, 688, 689, 691, -910, -910, -910, 501, 503,
- 509, 693, 694, 697, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, 513, -910, -910, -910, -910,
- -910, -4, 514, 530, -910, -910, 714, 716, 717, 718,
- 719, 534, 208, 720, 722, 723, 724, 725, -910, 726,
- 727, 728, 729, 540, 541, -910, 732, -910, 733, 192,
- 205, -910, -910, 549, 550, 551, 737, 553, 554, -910,
- 733, 555, 739, -910, 557, -910, 733, 559, 564, 565,
- 572, 579, 580, 581, -910, 587, 589, -910, 593, 594,
- 597, -910, -910, 601, -910, -910, -910, 607, 719, -910,
- -910, 608, 609, -910, 610, -910, -910, 31, 429, -910,
- -910, -4, 611, 615, 616, -910, 743, -910, -910, 41,
- 104, 42, 88, 734, -910, -910, -910, 491, 491, 745,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, 746,
- 749, 750, 752, -910, -910, -910, -910, -910, -910, -910,
- -910, 260, 753, 754, 756, 230, 58, 117, 212, 403,
- -910, -910, 757, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, 758, -910, -910, -910, -910, 107,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, 745, -910,
- 189, 196, 197, -910, 200, -910, -910, -910, -910, -910,
- -910, 762, 763, 764, 768, 769, -910, -910, -910, -910,
- 770, 772, 774, 776, 777, 778, -910, 210, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, 213,
- -910, 779, 783, -910, -910, 782, 786, -910, -910, 784,
- 789, -910, -910, 787, 791, -910, -910, 790, 792, -910,
- -910, -910, -910, -910, -910, 34, -910, -910, -910, -910,
- -910, -910, -910, 102, -910, -910, 796, 800, -910, -910,
- 798, 804, -910, 805, 806, 807, 808, 809, 810, 232,
- -910, -910, -910, -910, -910, -910, -910, 811, 812, 813,
- -910, 233, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, 236, -910, -910, -910, 814, -910, 815,
- -910, -910, -910, 265, -910, -910, -910, -910, -910, 324,
- -910, 119, -910, 618, -910, 816, 817, -910, -910, -910,
- -910, 818, 819, -910, -910, -910, 820, 734, -910, 823,
- 824, 825, 826, 632, 628, 640, 639, 642, 830, 831,
- 832, 833, 647, 650, 652, 653, 646, 654, 491, -910,
- -910, 491, -910, 745, 224, -910, 746, 56, -910, 749,
- 177, -910, 750, 585, -910, 752, 260, -910, 288, 753,
- -910, 231, -910, 754, -94, -910, 756, 655, 656, 657,
- 658, 659, 660, 230, -910, 661, 665, 667, 58, -910,
- 836, 838, 117, -910, 666, 848, 670, 849, 212, -910,
- -910, 194, 757, -910, -910, 856, 852, -45, -910, 758,
- 861, -910, -910, 690, -910, 391, 695, 707, 711, -910,
- -910, -910, -910, -910, 712, 731, 738, 747, -910, -910,
- -910, -910, -910, -910, -910, 327, -910, 335, -910, 864,
- -910, 873, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, 361, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, 910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, 907, 915, -910, -910, -910, -910,
- -910, 921, -910, 375, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, 795, 797, -910, -910,
- 799, -910, 41, -910, -910, 932, -910, -910, -910, -910,
- -910, 379, -910, -910, -910, -910, -910, -910, 801, 388,
- -910, 733, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, 585,
- -910, 935, 802, -910, 288, -910, -910, -910, -910, -910,
- -910, 978, 803, 986, 194, -910, -910, -910, -910, -910,
- 821, -910, -910, 987, -910, 822, -910, -910, 989, -910,
- -910, 136, -910, -91, 989, -910, -910, 993, 994, 995,
- -910, 389, -910, -910, -910, -910, -910, -910, -910, 996,
- 827, 828, 834, 997, -91, -910, 837, -910, -910, -910,
- 839, -910, -910, -910
+ 168, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, 31, 41, 36, 54, 57, 70,
+ 72, 74, 89, 104, 111, 121, 128, 135, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, 41, -158, 27, 122, 67, 306,
+ 59, 185, -37, 482, 230, -86, 573, 162, -924, 101,
+ 161, 49, 152, 164, -924, 163, -924, -924, -924, 172,
+ 215, 222, -924, -924, -924, -924, -924, -924, 225, 233,
+ 241, 249, 255, 261, 265, 278, 291, 295, 302, -924,
+ 308, 310, 311, 337, 369, -924, -924, -924, 370, 371,
+ 382, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, 389, -924, -924, -924, -924, -924, -924,
+ 396, -924, 407, -924, 84, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, 414, -924, 94, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, 419, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, 100,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, 107, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, 208, 260, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, 331, -924, -924, 421, -924,
+ -924, -924, 424, -924, -924, 422, 394, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ 427, 428, -924, -924, -924, -924, 425, 438, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ 118, -924, -924, -924, 431, -924, -924, 440, -924, 442,
+ 443, -924, -924, 444, 447, -924, -924, -924, -924, -924,
+ -924, -924, 129, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ 453, 131, -924, -924, -924, -924, 41, 41, -924, -140,
+ 454, -924, 456, 457, 458, 269, 271, 273, 464, 467,
+ 470, 475, 477, 478, 293, 294, 297, 300, 301, 289,
+ 307, 312, 315, 309, 318, 483, 320, 321, 317, 325,
+ 329, 490, 500, 514, 332, 336, 340, 525, 527, 534,
+ 535, 536, 537, 562, 563, 565, 568, 569, 574, 385,
+ 575, 578, 579, 580, 581, 582, 397, 583, -924, 122,
+ -924, 588, 589, 591, 400, 67, -924, 592, 593, 594,
+ 595, 596, 597, 411, 600, 601, 603, 306, -924, 604,
+ 59, -924, 605, 606, 607, 608, 609, 610, 611, 617,
+ -924, 185, -924, 618, 619, 434, 624, 625, 626, 437,
+ -924, 482, 628, 439, 441, -924, 230, 630, 632, -70,
+ -924, 445, 633, 634, 452, 641, 465, 466, 655, 656,
+ 480, 484, 673, 675, 680, 681, 573, -924, 682, 495,
+ 162, -924, -924, -924, 686, 685, 688, 689, 690, -924,
+ -924, -924, 507, 508, 510, 695, 697, 700, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, 515,
+ -924, -924, -924, -924, -924, -90, 516, 517, -924, -924,
+ -924, 704, 705, 707, 708, 709, 523, 174, 710, 712,
+ 713, 714, 726, -924, 727, 728, 729, 730, 547, 550,
+ -924, 737, -924, 738, 234, 272, -924, -924, 553, 554,
+ 555, 742, 557, 558, -924, 738, 559, 744, -924, 561,
+ -924, 738, 564, 567, 570, 571, 572, 576, 577, -924,
+ 584, 585, -924, 586, 587, 598, -924, -924, 599, -924,
+ -924, -924, 602, 709, -924, -924, 612, 613, -924, 614,
+ -924, -924, 10, 621, -924, -924, -90, 615, 616, 620,
+ -924, 748, -924, -924, 41, 122, 162, 67, 735, -924,
+ -924, -924, 503, 503, 747, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, 753, 758, 759, 762, -924, -924,
+ -924, -924, -924, -924, -924, -924, 157, 763, 764, 765,
+ 432, 149, 63, -14, 573, -924, -924, 766, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, 767,
+ -924, -924, -924, -924, 186, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, 747, -924, 160, 170, 219, -924, 220,
+ -924, -924, -924, -924, -924, -924, 775, 776, 779, 780,
+ 781, -924, -924, -924, -924, 782, 783, 784, 787, 788,
+ 790, -924, 235, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, 236, -924, 789, 793, -924, -924,
+ 791, 795, -924, -924, 794, 796, -924, -924, 802, 798,
+ -924, -924, 803, 799, -924, -924, -924, -924, -924, -924,
+ 46, -924, -924, -924, -924, -924, -924, -924, 87, -924,
+ -924, 804, 809, -924, -924, 807, 811, -924, 812, 813,
+ 814, 815, 816, 817, 252, -924, -924, -924, -924, -924,
+ -924, -924, 818, 819, 820, -924, 259, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, 263, -924,
+ -924, -924, 821, -924, 822, -924, -924, -924, 319, -924,
+ -924, -924, -924, -924, 322, -924, 119, -924, 636, -924,
+ 823, 825, -924, -924, -924, -924, 824, 827, -924, -924,
+ -924, 826, 735, -924, 830, 831, 832, 833, 623, 637,
+ 646, 645, 648, 837, 838, 839, 840, 653, 654, 657,
+ 658, 659, 660, 503, -924, -924, 503, -924, 747, 306,
+ -924, 753, 482, -924, 758, 230, -924, 759, 590, -924,
+ 762, 157, -924, 212, 763, -924, 185, -924, 764, -86,
+ -924, 765, 662, 663, 664, 665, 666, 667, 432, -924,
+ 669, 668, 672, 149, -924, 843, 844, 63, -924, 676,
+ 847, 674, 857, -14, -924, -924, -32, 766, -924, -924,
+ 861, 874, 59, -924, 767, 881, -924, -924, 699, -924,
+ 324, 711, 715, 716, -924, -924, -924, -924, -924, 732,
+ 743, 750, 751, -924, -924, -924, -924, -924, -924, -924,
+ 323, -924, 334, -924, 878, -924, 911, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, 335, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ 916, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ 918, 930, -924, -924, -924, -924, -924, 936, -924, 387,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, 801, 806, -924, -924, 808, -924, 41, -924,
+ -924, 986, -924, -924, -924, -924, -924, 391, -924, -924,
+ -924, -924, -924, -924, 810, 393, -924, 738, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, 590, -924, 990, 828, -924,
+ 212, -924, -924, -924, -924, -924, -924, 991, 829, 994,
+ -32, -924, -924, -924, -924, -924, 834, -924, -924, 995,
+ -924, 835, -924, -924, 996, -924, -924, 140, -924, 34,
+ 996, -924, -924, 998, 1000, 1001, -924, 409, -924, -924,
+ -924, -924, -924, -924, -924, 1002, 836, 841, 842, 1003,
+ 34, -924, 845, -924, -924, -924, 846, -924, -924, -924
};
- const short
+ const unsigned short int
Dhcp4Parser::yydefact_[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 43,
36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
- 56, 5, 60, 7, 170, 9, 328, 11, 517, 13,
- 542, 15, 442, 17, 450, 19, 487, 21, 293, 23,
- 648, 25, 698, 27, 45, 39, 0, 0, 0, 0,
- 0, 544, 0, 452, 489, 0, 0, 0, 47, 0,
- 46, 0, 0, 40, 58, 0, 696, 159, 185, 0,
- 0, 0, 563, 565, 567, 183, 192, 194, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 131,
- 0, 0, 0, 0, 0, 139, 146, 148, 0, 0,
- 320, 440, 479, 394, 530, 532, 387, 258, 591, 534,
- 285, 304, 0, 272, 617, 630, 646, 151, 153, 0,
- 707, 0, 119, 0, 62, 64, 65, 66, 67, 68,
- 99, 100, 101, 102, 103, 69, 97, 86, 87, 88,
- 107, 108, 109, 110, 111, 112, 113, 105, 106, 114,
- 115, 116, 118, 72, 73, 94, 74, 75, 76, 117,
- 80, 81, 70, 98, 71, 78, 79, 92, 93, 95,
- 89, 90, 91, 77, 82, 83, 84, 85, 96, 104,
- 172, 174, 178, 0, 169, 0, 161, 163, 164, 165,
- 166, 167, 168, 375, 377, 379, 509, 373, 381, 0,
- 385, 383, 587, 372, 332, 333, 334, 335, 336, 357,
- 358, 359, 360, 361, 347, 348, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 0, 330, 339, 352,
- 353, 354, 340, 342, 343, 345, 341, 337, 338, 355,
- 356, 344, 349, 350, 351, 346, 528, 527, 523, 524,
- 522, 0, 519, 521, 525, 526, 585, 573, 575, 579,
- 577, 583, 581, 569, 562, 556, 560, 561, 0, 545,
- 546, 557, 558, 559, 553, 548, 554, 550, 551, 552,
- 555, 549, 0, 469, 238, 0, 473, 471, 476, 0,
- 465, 466, 0, 453, 454, 456, 468, 457, 458, 459,
- 475, 460, 461, 462, 463, 464, 503, 0, 0, 501,
- 502, 505, 506, 0, 490, 491, 493, 494, 495, 496,
- 497, 498, 499, 500, 300, 302, 297, 0, 295, 298,
- 299, 0, 684, 671, 0, 674, 0, 0, 678, 682,
- 0, 0, 688, 690, 692, 694, 669, 667, 668, 0,
- 650, 652, 653, 654, 655, 656, 657, 658, 659, 664,
- 660, 661, 662, 663, 665, 666, 704, 0, 0, 700,
- 702, 703, 44, 0, 0, 37, 0, 0, 57, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 5, 60, 7, 172, 9, 330, 11, 521, 13,
+ 546, 15, 446, 17, 454, 19, 491, 21, 295, 23,
+ 652, 25, 702, 27, 45, 39, 0, 0, 0, 0,
+ 0, 548, 0, 456, 493, 0, 0, 0, 47, 0,
+ 46, 0, 0, 40, 58, 0, 700, 161, 187, 0,
+ 0, 0, 567, 569, 571, 185, 194, 196, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 132,
+ 0, 0, 0, 0, 0, 140, 147, 149, 0, 0,
+ 0, 322, 444, 483, 397, 534, 536, 390, 260, 595,
+ 538, 287, 306, 0, 274, 621, 634, 650, 153, 155,
+ 0, 711, 0, 120, 0, 62, 64, 65, 66, 67,
+ 68, 99, 100, 101, 102, 103, 69, 97, 86, 87,
+ 88, 107, 108, 109, 110, 111, 112, 113, 114, 105,
+ 106, 115, 116, 117, 119, 72, 73, 94, 74, 75,
+ 76, 118, 80, 81, 70, 98, 71, 78, 79, 92,
+ 93, 95, 89, 90, 91, 77, 82, 83, 84, 85,
+ 96, 104, 174, 176, 180, 0, 171, 0, 163, 165,
+ 166, 167, 168, 169, 170, 378, 380, 382, 513, 376,
+ 384, 0, 388, 386, 591, 375, 334, 335, 336, 337,
+ 338, 359, 360, 361, 362, 363, 349, 350, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 0,
+ 332, 341, 354, 355, 356, 342, 344, 345, 347, 343,
+ 339, 340, 357, 358, 346, 351, 352, 353, 348, 532,
+ 531, 527, 528, 526, 0, 523, 525, 529, 530, 589,
+ 577, 579, 583, 581, 587, 585, 573, 566, 560, 564,
+ 565, 0, 549, 550, 561, 562, 563, 557, 552, 558,
+ 554, 555, 556, 559, 553, 0, 473, 240, 0, 477,
+ 475, 480, 0, 469, 470, 0, 457, 458, 460, 472,
+ 461, 462, 463, 479, 464, 465, 466, 467, 468, 507,
+ 0, 0, 505, 506, 509, 510, 0, 494, 495, 497,
+ 498, 499, 500, 501, 502, 503, 504, 302, 304, 299,
+ 0, 297, 300, 301, 0, 688, 675, 0, 678, 0,
+ 0, 682, 686, 0, 0, 692, 694, 696, 698, 673,
+ 671, 672, 0, 654, 656, 657, 658, 659, 660, 661,
+ 662, 663, 668, 664, 665, 666, 667, 669, 670, 708,
+ 0, 0, 704, 706, 707, 44, 0, 0, 37, 0,
+ 0, 57, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 55, 0, 61, 0, 0, 0,
- 0, 0, 171, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 329, 0, 0, 518, 0, 0,
- 0, 0, 0, 0, 0, 0, 543, 0, 443, 0,
- 0, 0, 0, 0, 0, 0, 451, 0, 0, 0,
- 0, 488, 0, 0, 0, 0, 294, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 55, 0,
+ 61, 0, 0, 0, 0, 0, 173, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 331, 0,
+ 0, 522, 0, 0, 0, 0, 0, 0, 0, 0,
+ 547, 0, 447, 0, 0, 0, 0, 0, 0, 0,
+ 455, 0, 0, 0, 0, 492, 0, 0, 0, 0,
+ 296, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 653, 0, 0,
+ 0, 703, 48, 41, 0, 0, 0, 0, 0, 134,
+ 135, 136, 0, 0, 0, 0, 0, 0, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 0,
+ 158, 159, 137, 138, 139, 0, 0, 0, 151, 152,
+ 157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 620, 0, 0, 0, 0, 0, 0,
+ 160, 0, 63, 0, 0, 0, 184, 164, 0, 0,
+ 0, 0, 0, 0, 396, 0, 0, 0, 333, 0,
+ 524, 0, 0, 0, 0, 0, 0, 0, 0, 551,
+ 0, 0, 471, 0, 0, 0, 482, 459, 0, 511,
+ 512, 496, 0, 0, 298, 674, 0, 0, 677, 0,
+ 680, 681, 0, 0, 690, 691, 0, 0, 0, 0,
+ 655, 0, 710, 705, 0, 0, 0, 0, 0, 568,
+ 570, 572, 0, 0, 198, 133, 142, 143, 144, 145,
+ 146, 141, 148, 150, 324, 448, 485, 399, 38, 535,
+ 537, 392, 393, 394, 395, 391, 0, 0, 540, 289,
+ 0, 0, 0, 0, 0, 154, 156, 0, 49, 175,
+ 178, 179, 177, 182, 183, 181, 379, 381, 383, 515,
+ 377, 385, 389, 387, 0, 533, 590, 578, 580, 584,
+ 582, 588, 586, 574, 474, 241, 478, 476, 481, 508,
+ 303, 305, 689, 676, 679, 684, 685, 683, 687, 693,
+ 695, 697, 699, 198, 42, 0, 0, 0, 192, 0,
+ 189, 191, 227, 233, 235, 237, 0, 0, 0, 0,
+ 0, 249, 251, 253, 255, 0, 0, 0, 0, 0,
+ 0, 226, 0, 204, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 219, 220, 221, 216, 222, 223,
+ 224, 217, 218, 225, 0, 202, 0, 199, 200, 328,
+ 0, 325, 326, 452, 0, 449, 450, 489, 0, 486,
+ 487, 403, 0, 400, 401, 269, 270, 271, 272, 273,
+ 0, 262, 264, 265, 266, 267, 268, 599, 0, 597,
+ 544, 0, 541, 542, 293, 0, 290, 291, 0, 0,
+ 0, 0, 0, 0, 0, 308, 310, 311, 312, 313,
+ 314, 315, 0, 0, 0, 283, 0, 276, 278, 279,
+ 280, 281, 282, 630, 632, 629, 627, 628, 0, 623,
+ 625, 626, 0, 645, 0, 648, 641, 642, 0, 636,
+ 638, 639, 640, 643, 0, 715, 0, 713, 51, 519,
+ 0, 516, 517, 575, 593, 594, 0, 0, 59, 701,
+ 162, 0, 0, 188, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 649, 0, 0, 0, 699, 48, 41,
- 0, 0, 0, 0, 0, 133, 134, 135, 0, 0,
- 0, 0, 0, 0, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 0, 156, 157, 136, 137,
- 138, 0, 0, 0, 150, 155, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 616, 0,
- 0, 0, 0, 0, 0, 158, 0, 63, 0, 0,
- 0, 182, 162, 0, 0, 0, 0, 0, 0, 393,
- 0, 0, 0, 331, 0, 520, 0, 0, 0, 0,
- 0, 0, 0, 0, 547, 0, 0, 467, 0, 0,
- 0, 478, 455, 0, 507, 508, 492, 0, 0, 296,
- 670, 0, 0, 673, 0, 676, 677, 0, 0, 686,
- 687, 0, 0, 0, 0, 651, 0, 706, 701, 0,
- 0, 0, 0, 0, 564, 566, 568, 0, 0, 196,
- 132, 141, 142, 143, 144, 145, 140, 147, 149, 322,
- 444, 481, 396, 38, 531, 533, 389, 390, 391, 392,
- 388, 0, 0, 536, 287, 0, 0, 0, 0, 0,
- 152, 154, 0, 49, 173, 176, 177, 175, 180, 181,
- 179, 376, 378, 380, 511, 374, 382, 386, 384, 0,
- 529, 586, 574, 576, 580, 578, 584, 582, 570, 470,
- 239, 474, 472, 477, 504, 301, 303, 685, 672, 675,
- 680, 681, 679, 683, 689, 691, 693, 695, 196, 42,
- 0, 0, 0, 190, 0, 187, 189, 225, 231, 233,
- 235, 0, 0, 0, 0, 0, 247, 249, 251, 253,
- 0, 0, 0, 0, 0, 0, 224, 0, 202, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 217,
- 218, 219, 214, 220, 221, 222, 215, 216, 223, 0,
- 200, 0, 197, 198, 326, 0, 323, 324, 448, 0,
- 445, 446, 485, 0, 482, 483, 400, 0, 397, 398,
- 267, 268, 269, 270, 271, 0, 260, 262, 263, 264,
- 265, 266, 595, 0, 593, 540, 0, 537, 538, 291,
- 0, 288, 289, 0, 0, 0, 0, 0, 0, 0,
- 306, 308, 309, 310, 311, 312, 313, 0, 0, 0,
- 281, 0, 274, 276, 277, 278, 279, 280, 626, 628,
- 625, 623, 624, 0, 619, 621, 622, 0, 641, 0,
- 644, 637, 638, 0, 632, 634, 635, 636, 639, 0,
- 711, 0, 709, 51, 515, 0, 512, 513, 571, 589,
- 590, 0, 0, 59, 697, 160, 0, 0, 186, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 184,
- 193, 0, 195, 0, 0, 321, 0, 452, 441, 0,
- 489, 480, 0, 0, 395, 0, 0, 259, 597, 0,
- 592, 544, 535, 0, 0, 286, 0, 0, 0, 0,
- 0, 0, 0, 0, 305, 0, 0, 0, 0, 273,
- 0, 0, 0, 618, 0, 0, 0, 0, 0, 631,
- 647, 0, 0, 708, 53, 0, 52, 0, 510, 0,
- 0, 588, 705, 0, 188, 0, 0, 0, 0, 237,
- 240, 241, 242, 243, 0, 0, 0, 0, 255, 256,
- 244, 245, 246, 257, 203, 0, 199, 0, 325, 0,
- 447, 0, 484, 439, 419, 420, 421, 407, 408, 424,
- 425, 426, 427, 428, 410, 411, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 404, 405, 406, 417,
- 418, 416, 0, 402, 409, 422, 423, 412, 413, 414,
- 415, 399, 261, 613, 0, 611, 612, 604, 605, 609,
- 610, 606, 607, 608, 0, 598, 599, 601, 602, 603,
- 594, 0, 539, 0, 290, 314, 315, 316, 317, 318,
- 319, 307, 282, 283, 284, 275, 0, 0, 620, 640,
- 0, 643, 0, 633, 725, 0, 723, 721, 715, 719,
- 720, 0, 713, 717, 718, 716, 710, 50, 0, 0,
- 514, 0, 191, 227, 228, 229, 230, 226, 232, 234,
- 236, 248, 250, 252, 254, 201, 327, 449, 486, 0,
- 401, 0, 0, 596, 0, 541, 292, 627, 629, 642,
- 645, 0, 0, 0, 0, 712, 54, 516, 572, 403,
- 0, 615, 600, 0, 722, 0, 714, 614, 0, 724,
- 729, 0, 727, 0, 0, 726, 738, 0, 0, 0,
- 743, 0, 731, 733, 734, 735, 736, 737, 728, 0,
- 0, 0, 0, 0, 0, 730, 0, 740, 741, 742,
- 0, 732, 739, 744
+ 0, 0, 0, 0, 186, 195, 0, 197, 0, 0,
+ 323, 0, 456, 445, 0, 493, 484, 0, 0, 398,
+ 0, 0, 261, 601, 0, 596, 548, 539, 0, 0,
+ 288, 0, 0, 0, 0, 0, 0, 0, 0, 307,
+ 0, 0, 0, 0, 275, 0, 0, 0, 622, 0,
+ 0, 0, 0, 0, 635, 651, 0, 0, 712, 53,
+ 0, 52, 0, 514, 0, 0, 592, 709, 0, 190,
+ 0, 0, 0, 0, 239, 242, 243, 244, 245, 0,
+ 0, 0, 0, 257, 258, 246, 247, 248, 259, 205,
+ 0, 201, 0, 327, 0, 451, 0, 488, 443, 422,
+ 423, 424, 410, 411, 427, 428, 429, 430, 431, 413,
+ 414, 432, 433, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, 407, 408, 409, 420, 421, 419, 0, 405,
+ 412, 425, 426, 415, 416, 417, 418, 402, 263, 617,
+ 0, 615, 616, 608, 609, 613, 614, 610, 611, 612,
+ 0, 602, 603, 605, 606, 607, 598, 0, 543, 0,
+ 292, 316, 317, 318, 319, 320, 321, 309, 284, 285,
+ 286, 277, 0, 0, 624, 644, 0, 647, 0, 637,
+ 729, 0, 727, 725, 719, 723, 724, 0, 717, 721,
+ 722, 720, 714, 50, 0, 0, 518, 0, 193, 229,
+ 230, 231, 232, 228, 234, 236, 238, 250, 252, 254,
+ 256, 203, 329, 453, 490, 0, 404, 0, 0, 600,
+ 0, 545, 294, 631, 633, 646, 649, 0, 0, 0,
+ 0, 716, 54, 520, 576, 406, 0, 619, 604, 0,
+ 726, 0, 718, 618, 0, 728, 733, 0, 731, 0,
+ 0, 730, 742, 0, 0, 0, 747, 0, 735, 737,
+ 738, 739, 740, 741, 732, 0, 0, 0, 0, 0,
+ 0, 734, 0, 744, 745, 746, 0, 736, 743, 748
};
- const short
+ const short int
Dhcp4Parser::yypgoto_[] =
{
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -52, -910, -528, -910, 365,
- -910, -910, -910, -910, -910, -910, -585, -910, -910, -910,
- -67, -910, -910, -910, -910, -910, -910, 352, 548, -40,
- -28, -24, -1, 1, 11, 19, 22, 25, 26, -910,
- -910, -910, -910, 29, 30, 32, 37, 40, 43, -910,
- 363, 44, -910, 45, -910, 47, 48, -910, 50, -910,
- 51, -910, -910, -910, -910, -910, 353, 545, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, 110, -910, -910, -910, -910, -910,
- -910, 270, -910, 87, -910, -645, 91, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -63, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- 77, -910, -910, -910, -910, -910, -910, -910, -910, 57,
- -910, -910, -910, -910, -910, -910, -910, 68, -910, -910,
- -910, 72, 512, -910, -910, -910, -910, -910, -910, -910,
- 65, -910, -910, -910, -910, -910, -910, -909, -910, -910,
- -910, 95, -910, -910, -910, 98, 560, -910, -910, -910,
- -910, -910, -910, -910, -910, -906, -910, -65, -910, 53,
- -910, 55, -910, -910, -910, -910, -910, -910, -910, 89,
- -910, -910, -106, -46, -910, -910, -910, -910, -910, 97,
- -910, -910, -910, 105, -910, 531, -910, -42, -910, -910,
- -910, -910, -910, -36, -910, -910, -910, -910, -910, -35,
- -910, -910, -910, 99, -910, -910, -910, 106, -910, 532,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, 60, -910, -910, -910, 61, 624, -910, -910, -51,
- -910, -11, -910, -25, -910, -910, -910, 92, -910, -910,
- -910, 96, -910, 556, -55, -910, 0, -910, 7, -910,
- 332, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -905, -910,
- -910, -910, -910, -910, 103, -910, -910, -910, -90, -910,
- -910, -910, -910, -910, -910, -910, -910, 83, -910, -910,
- -910, -910, -910, -910, -910, 79, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, 357, 526, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
- -910, -910, -910, -910, -910, -910, -910, 402, 523, -910,
- -910, -910, -910, -910, -910, 80, -910, -910, -93, -910,
- -910, -910, -910, -910, -910, -114, -910, -910, -130, -910,
- -910, -910, -910, -910, -910, -910
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -52, -924, -533, -924, 375,
+ -924, -924, -924, -924, -924, -924, -581, -924, -924, -924,
+ -67, -924, -924, -924, -924, -924, -924, 354, 551, -40,
+ -28, -24, -1, 1, 11, 19, 22, 25, 26, -924,
+ -924, -924, -924, 29, 30, 32, 37, 40, 43, -924,
+ 365, 44, -924, 45, -924, 47, 48, 50, -924, 51,
+ -924, 55, -924, -924, -924, -924, -924, 355, 548, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, 112, -924, -924, -924, -924,
+ -924, -924, 274, -924, 88, -924, -650, 92, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -63, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, 77, -924, -924, -924, -924, -924, -924, -924, -924,
+ 56, -924, -924, -924, -924, -924, -924, -924, 69, -924,
+ -924, -924, 75, 518, -924, -924, -924, -924, -924, -924,
+ -924, 65, -924, -924, -924, -924, -924, -924, -923, -924,
+ -924, -924, 97, -924, -924, -924, 102, 552, -924, -924,
+ -924, -924, -924, -924, -924, -924, -917, -924, -65, -924,
+ 53, -924, 58, -924, -924, -924, -924, -924, -924, -924,
+ 98, -924, -924, -103, -46, -924, -924, -924, -924, -924,
+ 105, -924, -924, -924, 108, -924, 540, -924, -42, -924,
+ -924, -924, -924, -924, -36, -924, -924, -924, -924, -924,
+ -35, -924, -924, -924, 106, -924, -924, -924, 109, -924,
+ 539, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, 64, -924, -924, -924, 60, 622, -924, -924,
+ -51, -924, -11, -924, -25, -924, -924, -924, 99, -924,
+ -924, -924, 103, -924, 560, -55, -924, 0, -924, 7,
+ -924, 338, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -911,
+ -924, -924, -924, -924, -924, 110, -924, -924, -924, -87,
+ -924, -924, -924, -924, -924, -924, -924, -924, 83, -924,
+ -924, -924, -924, -924, -924, -924, 82, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, 362, 531, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
+ -924, -924, -924, -924, -924, -924, -924, -924, 402, 529,
+ -924, -924, -924, -924, -924, -924, 85, -924, -924, -89,
+ -924, -924, -924, -924, -924, -924, -110, -924, -924, -127,
+ -924, -924, -924, -924, -924, -924, -924
};
- const short
+ const short int
Dhcp4Parser::yydefgoto_[] =
{
-1, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 36, 37, 38, 65, 674,
- 82, 83, 39, 64, 79, 80, 694, 883, 975, 976,
- 766, 41, 66, 85, 397, 43, 67, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 422, 157, 158, 159, 160, 161, 162, 163, 428,
- 666, 164, 429, 165, 430, 166, 167, 450, 168, 451,
- 169, 170, 171, 172, 173, 400, 205, 206, 45, 68,
- 207, 457, 208, 458, 697, 209, 459, 700, 210, 174,
- 408, 175, 401, 744, 745, 746, 896, 176, 409, 177,
- 410, 791, 792, 793, 921, 767, 768, 769, 899, 1117,
- 770, 900, 771, 901, 772, 902, 773, 774, 490, 775,
- 776, 777, 778, 779, 780, 781, 782, 908, 783, 909,
- 784, 910, 785, 911, 786, 787, 788, 178, 440, 815,
- 816, 817, 818, 819, 820, 821, 179, 446, 851, 852,
- 853, 854, 855, 180, 443, 830, 831, 832, 944, 59,
- 75, 347, 348, 349, 503, 350, 504, 181, 444, 839,
- 840, 841, 842, 843, 844, 845, 846, 182, 433, 795,
- 796, 797, 924, 47, 69, 246, 247, 248, 467, 249,
- 463, 250, 464, 251, 465, 252, 468, 253, 471, 254,
- 470, 183, 439, 680, 256, 184, 436, 807, 808, 809,
- 933, 1042, 1043, 185, 434, 53, 72, 799, 800, 801,
- 927, 55, 73, 312, 313, 314, 315, 316, 317, 318,
- 489, 319, 493, 320, 492, 321, 322, 494, 323, 186,
- 435, 803, 804, 805, 930, 57, 74, 333, 334, 335,
- 336, 337, 498, 338, 339, 340, 341, 258, 466, 885,
- 886, 887, 977, 49, 70, 271, 272, 273, 475, 187,
- 437, 188, 438, 189, 442, 826, 827, 828, 941, 51,
- 71, 288, 289, 290, 190, 405, 191, 406, 192, 407,
- 294, 485, 890, 980, 295, 479, 296, 480, 297, 482,
- 298, 481, 299, 484, 300, 483, 301, 478, 265, 472,
- 891, 193, 441, 823, 824, 938, 1064, 1065, 1066, 1067,
- 1068, 1131, 1069, 194, 195, 447, 863, 864, 865, 960,
- 866, 961, 196, 448, 873, 874, 875, 876, 965, 877,
- 878, 967, 197, 449, 61, 76, 369, 370, 371, 372,
- 509, 373, 374, 511, 375, 376, 377, 514, 732, 378,
- 515, 379, 508, 380, 381, 382, 518, 383, 519, 384,
- 520, 385, 521, 198, 399, 63, 77, 388, 389, 390,
- 524, 391, 199, 453, 881, 882, 971, 1101, 1102, 1103,
- 1104, 1143, 1105, 1141, 1161, 1162, 1163, 1171, 1172, 1173,
- 1179, 1174, 1175, 1176, 1177, 1183
+ 23, 24, 25, 26, 27, 36, 37, 38, 65, 679,
+ 82, 83, 39, 64, 79, 80, 699, 888, 980, 981,
+ 771, 41, 66, 85, 400, 43, 67, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 425, 158, 159, 160, 161, 162, 163, 164, 431,
+ 671, 165, 432, 166, 433, 167, 168, 169, 454, 170,
+ 455, 171, 172, 173, 174, 175, 403, 207, 208, 45,
+ 68, 209, 461, 210, 462, 702, 211, 463, 705, 212,
+ 176, 411, 177, 404, 749, 750, 751, 901, 178, 412,
+ 179, 413, 796, 797, 798, 926, 772, 773, 774, 904,
+ 1123, 775, 905, 776, 906, 777, 907, 778, 779, 494,
+ 780, 781, 782, 783, 784, 785, 786, 787, 913, 788,
+ 914, 789, 915, 790, 916, 791, 792, 793, 180, 444,
+ 820, 821, 822, 823, 824, 825, 826, 181, 450, 856,
+ 857, 858, 859, 860, 182, 447, 835, 836, 837, 949,
+ 59, 75, 350, 351, 352, 507, 353, 508, 183, 448,
+ 844, 845, 846, 847, 848, 849, 850, 851, 184, 437,
+ 800, 801, 802, 929, 47, 69, 249, 250, 251, 471,
+ 252, 467, 253, 468, 254, 469, 255, 472, 256, 475,
+ 257, 474, 185, 443, 685, 259, 186, 440, 812, 813,
+ 814, 938, 1048, 1049, 187, 438, 53, 72, 804, 805,
+ 806, 932, 55, 73, 315, 316, 317, 318, 319, 320,
+ 321, 493, 322, 497, 323, 496, 324, 325, 498, 326,
+ 188, 439, 808, 809, 810, 935, 57, 74, 336, 337,
+ 338, 339, 340, 502, 341, 342, 343, 344, 261, 470,
+ 890, 891, 892, 982, 49, 70, 274, 275, 276, 479,
+ 189, 441, 190, 442, 191, 446, 831, 832, 833, 946,
+ 51, 71, 291, 292, 293, 192, 408, 193, 409, 194,
+ 410, 297, 489, 895, 985, 298, 483, 299, 484, 300,
+ 486, 301, 485, 302, 488, 303, 487, 304, 482, 268,
+ 476, 896, 195, 445, 828, 829, 943, 1070, 1071, 1072,
+ 1073, 1074, 1137, 1075, 196, 197, 451, 868, 869, 870,
+ 965, 871, 966, 198, 452, 878, 879, 880, 881, 970,
+ 882, 883, 972, 199, 453, 61, 76, 372, 373, 374,
+ 375, 513, 376, 377, 515, 378, 379, 380, 518, 737,
+ 381, 519, 382, 512, 383, 384, 385, 522, 386, 523,
+ 387, 524, 388, 525, 200, 402, 63, 77, 391, 392,
+ 393, 528, 394, 201, 457, 886, 887, 976, 1107, 1108,
+ 1109, 1110, 1149, 1111, 1147, 1167, 1168, 1169, 1177, 1178,
+ 1179, 1185, 1180, 1181, 1182, 1183, 1189
};
- const short
+ const unsigned short int
Dhcp4Parser::yytable_[] =
{
- 142, 204, 223, 267, 284, 268, 310, 329, 346, 366,
- 311, 330, 78, 789, 262, 707, 291, 211, 259, 274,
- 286, 711, 324, 342, 1037, 367, 302, 1038, 1050, 224,
- 344, 345, 331, 28, 257, 270, 285, 936, 332, 122,
- 937, 225, 673, 40, 261, 226, 29, 81, 30, 730,
- 31, 266, 124, 125, 386, 387, 42, 212, 260, 275,
- 287, 44, 325, 343, 220, 368, 46, 221, 227, 263,
- 228, 292, 455, 48, 344, 345, 264, 456, 293, 1166,
- 229, 461, 1167, 1168, 1169, 1170, 462, 473, 230, 50,
- 303, 231, 474, 52, 232, 233, 141, 476, 234, 235,
- 673, 236, 477, 200, 201, 939, 237, 202, 940, 238,
- 203, 84, 239, 240, 241, 86, 242, 243, 87, 244,
- 245, 505, 972, 269, 255, 973, 506, 88, 54, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 56, 1164,
- 58, 304, 1165, 305, 306, 141, 522, 307, 308, 309,
- 121, 523, 60, 124, 125, 124, 125, 661, 662, 663,
- 664, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 392, 124, 125, 121, 122, 665,
- 731, 526, 455, 847, 848, 849, 527, 893, 123, 526,
- 461, 124, 125, 897, 894, 895, 126, 393, 898, 695,
- 696, 127, 128, 918, 124, 125, 918, 129, 919, 395,
- 1037, 920, 62, 1038, 1050, 698, 699, 130, 283, 888,
- 131, 32, 33, 34, 35, 953, 958, 132, 133, 962,
- 954, 959, 134, 394, 963, 135, 141, 396, 141, 136,
- 90, 91, 92, 93, 94, 398, 858, 859, 402, 92,
- 93, 94, 304, 326, 305, 306, 327, 328, 968, 137,
- 138, 139, 140, 969, 124, 125, 1005, 403, 141, 304,
- 404, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 124, 125, 411, 141, 112, 113, 114, 115, 116,
- 117, 118, 119, 412, 213, 214, 215, 141, 122, 124,
- 125, 676, 677, 678, 679, 122, 92, 93, 94, 216,
- 413, 124, 125, 217, 218, 219, 126, 522, 124, 125,
- 918, 486, 970, 220, 414, 1125, 221, 129, 473, 276,
- 415, 528, 529, 1126, 222, 277, 278, 279, 280, 281,
- 282, 416, 283, 417, 867, 868, 869, 833, 834, 835,
- 836, 837, 838, 1094, 1129, 1095, 1096, 141, 418, 1130,
- 419, 121, 122, 304, 810, 811, 812, 813, 505, 814,
- 420, 421, 1144, 1136, 141, 124, 125, 1145, 142, 137,
- 138, 476, 1184, 487, 204, 488, 1147, 1185, 1053, 1054,
- 423, 424, 870, 425, 426, 427, 223, 530, 431, 267,
- 211, 268, 432, 445, 141, 452, 454, 460, 262, 469,
- 284, 141, 259, 491, 495, 274, 1113, 1114, 1115, 1116,
- 310, 496, 291, 224, 311, 329, 286, 497, 257, 330,
- 499, 270, 500, 501, 502, 225, 324, 507, 261, 226,
- 212, 342, 285, 510, 512, 366, 513, 516, 517, 525,
- 331, 531, 260, 532, 533, 275, 332, 534, 535, 538,
- 536, 367, 227, 263, 228, 537, 287, 539, 141, 540,
- 264, 541, 542, 543, 229, 544, 325, 292, 545, 546,
- 555, 343, 230, 547, 293, 231, 548, 549, 232, 233,
- 124, 125, 234, 235, 550, 236, 551, 552, 553, 554,
- 237, 368, 556, 238, 561, 558, 239, 240, 241, 557,
- 242, 243, 559, 244, 245, 747, 1148, 560, 255, 269,
- 748, 749, 750, 751, 752, 753, 754, 755, 756, 757,
- 758, 759, 760, 761, 762, 763, 764, 765, 562, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 563, 564, 565, 566, 567, 568, 364, 365,
- 569, 570, 571, 572, 573, 574, 304, 575, 576, 577,
- 579, 580, 581, 142, 578, 204, 582, 583, 584, 733,
- 586, 585, 588, 141, 589, 590, 593, 739, 591, 594,
- 595, 211, 596, 597, 598, 599, 600, 601, 602, 604,
- 606, 90, 91, 92, 93, 94, 607, 608, 609, 850,
- 860, 610, 366, 611, 612, 613, 615, 616, 617, 618,
- 619, 620, 621, 623, 627, 856, 861, 871, 367, 624,
- 625, 212, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 628, 631, 630, 632, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 633, 634, 635, 637, 122,
- 304, 636, 638, 641, 639, 857, 862, 872, 368, 642,
- 640, 141, 124, 125, 643, 218, 644, 126, 646, 647,
- 649, 654, 650, 655, 220, 651, 652, 221, 653, 656,
- 657, 658, 659, 660, 667, 222, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 669,
- 668, 670, 671, 672, 675, 681, 30, 682, 683, 684,
- 690, 691, 685, 686, 687, 688, 689, 692, 693, 701,
- 702, 703, 704, 705, 706, 708, 709, 710, 738, 712,
- 137, 138, 790, 794, 713, 714, 798, 802, 743, 806,
- 822, 825, 715, 829, 880, 884, 903, 904, 905, 716,
- 717, 718, 906, 907, 912, 141, 913, 719, 914, 720,
- 915, 916, 917, 721, 722, 922, 923, 723, 925, 926,
- 928, 724, 929, 931, 932, 935, 934, 725, 727, 728,
- 729, 735, 942, 943, 945, 736, 737, 946, 974, 947,
- 948, 949, 950, 951, 952, 955, 956, 957, 964, 966,
- 979, 990, 978, 989, 983, 982, 981, 985, 986, 987,
- 988, 991, 992, 993, 994, 995, 996, 997, 998, 1002,
- 1086, 999, 1087, 1000, 1001, 1003, 1075, 1076, 1077, 1078,
- 1079, 1080, 1090, 1092, 1082, 1108, 1083, 223, 1084, 1089,
- 310, 1091, 1107, 329, 311, 1111, 1013, 330, 1039, 262,
- 1036, 1055, 1127, 259, 284, 1056, 324, 346, 1047, 342,
- 1112, 1128, 1045, 1061, 224, 1118, 291, 1059, 331, 257,
- 286, 850, 1057, 1014, 332, 860, 225, 1119, 1044, 261,
- 226, 1120, 1121, 1058, 1097, 1015, 285, 856, 1098, 1016,
- 267, 861, 268, 260, 1132, 1133, 325, 871, 1134, 343,
- 1099, 1122, 1046, 227, 263, 228, 274, 1060, 1123, 1135,
- 287, 264, 1017, 1048, 1018, 229, 1142, 1124, 1062, 1150,
- 1049, 292, 270, 230, 1019, 1063, 231, 857, 293, 232,
- 233, 862, 1020, 234, 235, 1021, 236, 872, 1022, 1023,
- 1100, 237, 1024, 1025, 238, 1026, 275, 239, 240, 241,
- 1027, 242, 243, 1028, 244, 245, 1029, 1030, 1031, 255,
- 1032, 1033, 1153, 1034, 1035, 1137, 1040, 1138, 1041, 1139,
- 1155, 1146, 1158, 726, 1154, 1151, 1160, 1180, 1181, 1182,
- 1186, 1190, 740, 587, 734, 742, 592, 984, 892, 1004,
- 1006, 1157, 1159, 1052, 1074, 1085, 1073, 629, 1081, 1188,
- 1187, 1008, 1007, 1149, 1051, 1189, 1010, 1192, 622, 1193,
- 269, 1012, 1009, 603, 626, 1072, 1011, 1071, 1109, 1110,
- 1140, 889, 1070, 614, 1152, 1088, 879, 1093, 645, 648,
- 1178, 1156, 1106, 741, 1191, 0, 0, 0, 0, 0,
- 0, 0, 1013, 0, 1039, 0, 1036, 1055, 0, 0,
- 0, 1056, 0, 0, 1047, 0, 0, 1097, 1045, 1061,
- 0, 1098, 0, 1059, 0, 0, 0, 0, 1057, 1014,
- 0, 0, 0, 1099, 1044, 0, 0, 0, 0, 1058,
- 605, 1015, 0, 0, 0, 1016, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1046, 0,
- 0, 0, 0, 1060, 0, 0, 0, 0, 1017, 1048,
- 1018, 0, 0, 1100, 1062, 0, 1049, 0, 0, 0,
- 1019, 1063, 0, 0, 0, 0, 0, 0, 1020, 0,
- 0, 1021, 0, 0, 1022, 1023, 0, 0, 1024, 1025,
- 0, 1026, 0, 0, 0, 0, 1027, 0, 0, 1028,
- 0, 0, 1029, 1030, 1031, 0, 1032, 1033, 0, 1034,
- 1035, 0, 1040, 0, 1041
+ 143, 206, 225, 270, 287, 271, 313, 332, 349, 369,
+ 314, 333, 78, 794, 265, 1043, 294, 213, 262, 277,
+ 289, 1044, 327, 345, 712, 370, 305, 1056, 735, 226,
+ 716, 28, 334, 81, 260, 273, 288, 84, 335, 347,
+ 348, 227, 678, 40, 264, 228, 29, 122, 30, 941,
+ 31, 534, 942, 397, 307, 347, 348, 214, 263, 278,
+ 290, 42, 328, 346, 44, 371, 125, 126, 229, 266,
+ 230, 295, 666, 667, 668, 669, 267, 46, 296, 48,
+ 231, 50, 202, 203, 125, 126, 204, 459, 232, 205,
+ 944, 233, 460, 945, 234, 235, 52, 465, 236, 237,
+ 678, 238, 466, 477, 670, 142, 239, 395, 478, 240,
+ 480, 54, 241, 242, 243, 481, 244, 245, 56, 246,
+ 247, 509, 977, 272, 248, 978, 510, 258, 58, 872,
+ 873, 874, 526, 86, 530, 60, 87, 527, 1100, 531,
+ 1101, 1102, 62, 1170, 123, 88, 1171, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 269, 125, 126, 142,
+ 398, 125, 126, 459, 396, 125, 126, 399, 898, 222,
+ 736, 401, 223, 530, 389, 390, 405, 875, 899, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 863, 864, 1172, 122, 123, 1173, 1174,
+ 1175, 1176, 1043, 92, 93, 94, 490, 124, 1044, 406,
+ 125, 126, 465, 902, 1056, 127, 407, 900, 903, 414,
+ 128, 129, 32, 33, 34, 35, 130, 415, 923, 923,
+ 92, 93, 94, 924, 925, 416, 131, 125, 126, 132,
+ 142, 700, 701, 417, 142, 958, 133, 134, 142, 418,
+ 959, 135, 963, 491, 136, 419, 967, 964, 137, 420,
+ 123, 968, 815, 816, 817, 818, 1010, 819, 681, 682,
+ 683, 684, 421, 125, 126, 852, 853, 854, 138, 139,
+ 140, 141, 703, 704, 279, 422, 122, 123, 307, 423,
+ 280, 281, 282, 283, 284, 285, 424, 286, 286, 893,
+ 125, 126, 426, 142, 427, 428, 307, 329, 308, 309,
+ 330, 331, 973, 1059, 1060, 526, 923, 974, 125, 126,
+ 975, 1131, 90, 91, 92, 93, 94, 477, 1135, 492,
+ 142, 429, 1132, 1136, 532, 533, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 1119,
+ 1120, 1121, 1122, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 430, 434, 435, 142, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 436, 215, 216, 217,
+ 509, 123, 143, 449, 1150, 1142, 480, 501, 206, 1151,
+ 456, 1153, 218, 142, 125, 126, 219, 220, 221, 127,
+ 225, 458, 1190, 270, 213, 271, 222, 1191, 464, 223,
+ 130, 142, 265, 473, 287, 495, 262, 224, 499, 277,
+ 500, 503, 504, 505, 313, 511, 294, 226, 314, 332,
+ 289, 506, 260, 333, 514, 273, 516, 517, 520, 227,
+ 327, 521, 264, 228, 214, 345, 288, 529, 535, 369,
+ 536, 537, 538, 539, 334, 540, 263, 541, 542, 278,
+ 335, 543, 138, 139, 544, 370, 229, 266, 230, 545,
+ 290, 546, 547, 553, 267, 548, 549, 559, 231, 550,
+ 328, 295, 551, 552, 565, 346, 232, 142, 296, 233,
+ 554, 557, 234, 235, 566, 555, 236, 237, 556, 238,
+ 558, 562, 560, 561, 239, 371, 306, 240, 567, 563,
+ 241, 242, 243, 564, 244, 245, 568, 246, 247, 571,
+ 569, 572, 248, 272, 570, 258, 1154, 752, 573, 574,
+ 575, 576, 753, 754, 755, 756, 757, 758, 759, 760,
+ 761, 762, 763, 764, 765, 766, 767, 768, 769, 770,
+ 838, 839, 840, 841, 842, 843, 577, 578, 307, 579,
+ 308, 309, 580, 581, 310, 311, 312, 583, 582, 584,
+ 125, 126, 585, 586, 587, 588, 589, 591, 143, 307,
+ 206, 590, 593, 594, 596, 595, 598, 599, 600, 601,
+ 602, 603, 744, 604, 605, 606, 213, 607, 609, 611,
+ 612, 613, 614, 615, 616, 617, 90, 91, 92, 93,
+ 94, 618, 620, 621, 855, 865, 622, 369, 623, 624,
+ 625, 626, 628, 629, 632, 630, 633, 636, 637, 635,
+ 861, 866, 876, 370, 638, 639, 214, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 640, 641, 642,
+ 643, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 125, 126, 142, 644, 123, 307, 646, 645, 647,
+ 862, 867, 877, 371, 648, 649, 651, 652, 125, 126,
+ 654, 220, 655, 127, 142, 656, 657, 658, 659, 660,
+ 222, 661, 662, 223, 663, 664, 665, 672, 673, 674,
+ 675, 224, 676, 677, 680, 686, 30, 687, 688, 689,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 690, 691, 692, 693, 694, 695, 367,
+ 368, 696, 697, 698, 706, 707, 708, 709, 710, 711,
+ 713, 714, 715, 743, 795, 717, 138, 139, 718, 748,
+ 799, 719, 720, 721, 142, 803, 807, 722, 723, 811,
+ 827, 830, 834, 885, 889, 724, 725, 726, 727, 908,
+ 909, 142, 738, 910, 911, 912, 917, 918, 919, 728,
+ 729, 920, 921, 730, 922, 927, 928, 930, 931, 934,
+ 933, 937, 940, 732, 733, 734, 740, 741, 936, 939,
+ 947, 742, 948, 950, 951, 994, 952, 953, 954, 955,
+ 956, 957, 960, 961, 962, 969, 971, 979, 984, 983,
+ 988, 995, 986, 987, 990, 991, 992, 993, 996, 997,
+ 998, 999, 1000, 1001, 1002, 1003, 1004, 1092, 1093, 1005,
+ 1006, 1096, 1008, 1007, 1081, 1082, 1083, 1084, 1085, 1086,
+ 1089, 1098, 225, 1088, 1090, 313, 1097, 1113, 332, 314,
+ 1095, 1018, 333, 1045, 265, 1042, 1061, 1114, 262, 287,
+ 1062, 327, 349, 1053, 345, 1117, 1133, 1051, 1067, 226,
+ 1118, 294, 1065, 334, 260, 289, 855, 1063, 1019, 335,
+ 865, 227, 1124, 1050, 264, 228, 1125, 1126, 1064, 1103,
+ 1020, 288, 861, 1104, 1021, 270, 866, 271, 263, 1134,
+ 1138, 328, 876, 1127, 346, 1105, 1139, 1052, 229, 266,
+ 230, 277, 1066, 1140, 1128, 290, 267, 1022, 1054, 1023,
+ 231, 1129, 1130, 1068, 1141, 1055, 295, 273, 232, 1024,
+ 1069, 233, 862, 296, 234, 235, 867, 1025, 236, 237,
+ 1026, 238, 877, 1027, 1028, 1106, 239, 1029, 1030, 240,
+ 1031, 278, 241, 242, 243, 1032, 244, 245, 1033, 246,
+ 247, 1034, 1035, 1036, 248, 1037, 1038, 258, 1039, 1040,
+ 1148, 1046, 1143, 1041, 1156, 1159, 1047, 1144, 1161, 1145,
+ 1164, 1152, 1186, 1166, 1187, 1188, 1192, 1196, 731, 745,
+ 592, 739, 747, 597, 989, 1009, 1011, 897, 1058, 1091,
+ 1080, 1160, 1157, 1087, 1079, 1163, 1165, 634, 1013, 608,
+ 1193, 1012, 1155, 1194, 1195, 272, 1198, 1199, 1057, 1015,
+ 1014, 627, 1115, 1017, 1016, 631, 1146, 1078, 1116, 1077,
+ 1094, 619, 894, 1158, 1076, 1099, 884, 650, 746, 653,
+ 1184, 1162, 1112, 1197, 0, 0, 0, 0, 1018, 0,
+ 1045, 0, 1042, 1061, 0, 0, 0, 1062, 0, 0,
+ 1053, 0, 0, 1103, 1051, 1067, 0, 1104, 0, 1065,
+ 0, 0, 0, 0, 1063, 1019, 0, 0, 0, 1105,
+ 1050, 0, 610, 0, 0, 1064, 0, 1020, 0, 0,
+ 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1052, 0, 0, 0, 0, 1066,
+ 0, 0, 0, 0, 1022, 1054, 1023, 0, 0, 1106,
+ 1068, 0, 1055, 0, 0, 0, 1024, 1069, 0, 0,
+ 0, 0, 0, 0, 1025, 0, 0, 1026, 0, 0,
+ 1027, 1028, 0, 0, 1029, 1030, 0, 1031, 0, 0,
+ 0, 0, 1032, 0, 0, 1033, 0, 0, 1034, 1035,
+ 1036, 0, 1037, 1038, 0, 1039, 1040, 0, 1046, 0,
+ 1041, 0, 0, 1047
};
- const short
+ const short int
Dhcp4Parser::yycheck_[] =
{
67, 68, 69, 70, 71, 70, 73, 74, 75, 76,
- 73, 74, 64, 658, 69, 600, 71, 68, 69, 70,
- 71, 606, 73, 74, 933, 76, 72, 933, 933, 69,
- 124, 125, 74, 0, 69, 70, 71, 3, 74, 84,
- 6, 69, 570, 7, 69, 69, 5, 190, 7, 18,
- 9, 96, 97, 98, 12, 13, 7, 68, 69, 70,
- 71, 7, 73, 74, 109, 76, 7, 112, 69, 69,
- 69, 71, 3, 7, 124, 125, 69, 8, 71, 170,
- 69, 3, 173, 174, 175, 176, 8, 3, 69, 7,
- 34, 69, 8, 7, 69, 69, 190, 3, 69, 69,
- 628, 69, 8, 15, 16, 3, 69, 19, 6, 69,
- 22, 10, 69, 69, 69, 11, 69, 69, 14, 69,
- 69, 3, 3, 70, 69, 6, 8, 23, 7, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 7, 3,
- 7, 85, 6, 87, 88, 190, 3, 91, 92, 93,
- 83, 8, 7, 97, 98, 97, 98, 161, 162, 163,
- 164, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 6, 97, 98, 83, 84, 193,
- 159, 3, 3, 135, 136, 137, 8, 8, 94, 3,
- 3, 97, 98, 3, 8, 8, 102, 3, 8, 17,
- 18, 107, 108, 3, 97, 98, 3, 113, 8, 8,
- 1129, 8, 7, 1129, 1129, 20, 21, 123, 121, 122,
- 126, 190, 191, 192, 193, 3, 3, 133, 134, 3,
- 8, 8, 138, 4, 8, 141, 190, 3, 190, 145,
- 26, 27, 28, 29, 30, 8, 139, 140, 4, 28,
- 29, 30, 85, 86, 87, 88, 89, 90, 3, 165,
- 166, 167, 168, 8, 97, 98, 921, 4, 190, 85,
- 4, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 97, 98, 4, 190, 71, 72, 73, 74, 75,
- 76, 77, 78, 4, 80, 81, 82, 190, 84, 97,
- 98, 103, 104, 105, 106, 84, 28, 29, 30, 95,
- 4, 97, 98, 99, 100, 101, 102, 3, 97, 98,
- 3, 8, 8, 109, 4, 8, 112, 113, 3, 108,
- 4, 393, 394, 8, 120, 114, 115, 116, 117, 118,
- 119, 4, 121, 4, 142, 143, 144, 127, 128, 129,
- 130, 131, 132, 169, 3, 171, 172, 190, 4, 8,
- 4, 83, 84, 85, 114, 115, 116, 117, 3, 119,
- 4, 4, 3, 8, 190, 97, 98, 8, 455, 165,
- 166, 3, 3, 3, 461, 8, 8, 8, 110, 111,
- 4, 4, 190, 4, 4, 4, 473, 190, 4, 476,
- 461, 476, 4, 4, 190, 4, 4, 4, 473, 4,
- 487, 190, 473, 4, 4, 476, 35, 36, 37, 38,
- 497, 8, 487, 473, 497, 502, 487, 3, 473, 502,
- 4, 476, 4, 8, 3, 473, 497, 4, 473, 473,
- 461, 502, 487, 4, 4, 522, 4, 4, 4, 4,
- 502, 4, 473, 4, 4, 476, 502, 4, 193, 4,
- 193, 522, 473, 473, 473, 193, 487, 4, 190, 4,
- 473, 4, 4, 4, 473, 191, 497, 487, 191, 191,
- 4, 502, 473, 191, 487, 473, 191, 193, 473, 473,
- 97, 98, 473, 473, 192, 473, 192, 192, 191, 191,
- 473, 522, 191, 473, 4, 193, 473, 473, 473, 191,
- 473, 473, 193, 473, 473, 34, 1111, 193, 473, 476,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 4, 146,
+ 73, 74, 64, 663, 69, 938, 71, 68, 69, 70,
+ 71, 938, 73, 74, 605, 76, 72, 938, 18, 69,
+ 611, 0, 74, 191, 69, 70, 71, 10, 74, 125,
+ 126, 69, 575, 7, 69, 69, 5, 84, 7, 3,
+ 9, 191, 6, 4, 86, 125, 126, 68, 69, 70,
+ 71, 7, 73, 74, 7, 76, 98, 99, 69, 69,
+ 69, 71, 162, 163, 164, 165, 69, 7, 71, 7,
+ 69, 7, 15, 16, 98, 99, 19, 3, 69, 22,
+ 3, 69, 8, 6, 69, 69, 7, 3, 69, 69,
+ 633, 69, 8, 3, 194, 191, 69, 6, 8, 69,
+ 3, 7, 69, 69, 69, 8, 69, 69, 7, 69,
+ 69, 3, 3, 70, 69, 6, 8, 69, 7, 143,
+ 144, 145, 3, 11, 3, 7, 14, 8, 170, 8,
+ 172, 173, 7, 3, 85, 23, 6, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 97, 98, 99, 191,
+ 8, 98, 99, 3, 3, 98, 99, 3, 8, 110,
+ 160, 8, 113, 3, 12, 13, 4, 191, 8, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 140, 141, 171, 84, 85, 174, 175,
+ 176, 177, 1135, 28, 29, 30, 8, 95, 1135, 4,
+ 98, 99, 3, 3, 1135, 103, 4, 8, 8, 4,
+ 108, 109, 191, 192, 193, 194, 114, 4, 3, 3,
+ 28, 29, 30, 8, 8, 4, 124, 98, 99, 127,
+ 191, 17, 18, 4, 191, 3, 134, 135, 191, 4,
+ 8, 139, 3, 3, 142, 4, 3, 8, 146, 4,
+ 85, 8, 115, 116, 117, 118, 926, 120, 104, 105,
+ 106, 107, 4, 98, 99, 136, 137, 138, 166, 167,
+ 168, 169, 20, 21, 109, 4, 84, 85, 86, 4,
+ 115, 116, 117, 118, 119, 120, 4, 122, 122, 123,
+ 98, 99, 4, 191, 4, 4, 86, 87, 88, 89,
+ 90, 91, 3, 111, 112, 3, 3, 8, 98, 99,
+ 8, 8, 26, 27, 28, 29, 30, 3, 3, 8,
+ 191, 4, 8, 8, 396, 397, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 35,
+ 36, 37, 38, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 4, 4, 4, 191, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 4, 81, 82, 83,
+ 3, 85, 459, 4, 3, 8, 3, 3, 465, 8,
+ 4, 8, 96, 191, 98, 99, 100, 101, 102, 103,
+ 477, 4, 3, 480, 465, 480, 110, 8, 4, 113,
+ 114, 191, 477, 4, 491, 4, 477, 121, 4, 480,
+ 8, 4, 4, 8, 501, 4, 491, 477, 501, 506,
+ 491, 3, 477, 506, 4, 480, 4, 4, 4, 477,
+ 501, 4, 477, 477, 465, 506, 491, 4, 4, 526,
+ 4, 4, 4, 194, 506, 194, 477, 194, 4, 480,
+ 506, 4, 166, 167, 4, 526, 477, 477, 477, 4,
+ 491, 4, 4, 194, 477, 192, 192, 4, 477, 192,
+ 501, 491, 192, 192, 4, 506, 477, 191, 491, 477,
+ 193, 192, 477, 477, 4, 193, 477, 477, 193, 477,
+ 192, 194, 192, 192, 477, 526, 34, 477, 4, 194,
+ 477, 477, 477, 194, 477, 477, 194, 477, 477, 4,
+ 194, 4, 477, 480, 194, 477, 1117, 34, 4, 4,
+ 4, 4, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 128, 129, 130, 131, 132, 133, 4, 4, 86, 4,
+ 88, 89, 4, 4, 92, 93, 94, 192, 4, 4,
+ 98, 99, 4, 4, 4, 4, 4, 4, 655, 86,
+ 657, 194, 4, 4, 194, 4, 4, 4, 4, 4,
+ 4, 4, 654, 192, 4, 4, 657, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 26, 27, 28, 29,
+ 30, 4, 4, 4, 691, 692, 192, 694, 4, 4,
+ 4, 194, 4, 194, 4, 194, 4, 4, 4, 194,
+ 691, 692, 693, 694, 192, 4, 657, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 192, 192, 4,
+ 4, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 98, 99, 191, 194, 85, 86, 4, 194, 4,
+ 691, 692, 693, 694, 4, 4, 4, 192, 98, 99,
+ 4, 101, 7, 103, 191, 7, 7, 7, 191, 191,
+ 110, 191, 7, 113, 7, 5, 191, 191, 191, 5,
+ 5, 121, 5, 5, 191, 5, 7, 5, 5, 5,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 4, 193, 193, 4, 4, 4, 165, 166,
- 4, 4, 4, 4, 4, 4, 85, 4, 4, 4,
- 4, 4, 4, 650, 191, 652, 4, 4, 4, 160,
- 4, 193, 4, 190, 4, 4, 4, 649, 193, 4,
- 4, 652, 4, 4, 4, 191, 4, 4, 4, 4,
- 4, 26, 27, 28, 29, 30, 4, 4, 4, 686,
- 687, 4, 689, 4, 4, 4, 4, 4, 191, 4,
- 4, 4, 193, 4, 4, 686, 687, 688, 689, 193,
- 193, 652, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 4, 4, 193, 4, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 191, 4, 191, 4, 84,
- 85, 191, 4, 4, 193, 686, 687, 688, 689, 4,
- 193, 190, 97, 98, 4, 100, 4, 102, 4, 191,
- 4, 190, 7, 190, 109, 7, 7, 112, 7, 190,
- 7, 7, 5, 190, 190, 120, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 5,
- 190, 5, 5, 5, 190, 5, 7, 5, 5, 5,
- 190, 190, 7, 7, 7, 7, 7, 5, 5, 190,
- 190, 190, 5, 190, 190, 190, 7, 190, 5, 190,
- 165, 166, 7, 7, 190, 190, 7, 7, 24, 7,
- 7, 7, 190, 7, 7, 7, 4, 4, 4, 190,
- 190, 190, 4, 4, 4, 190, 4, 190, 4, 190,
- 4, 4, 4, 190, 190, 6, 3, 190, 6, 3,
- 6, 190, 3, 6, 3, 3, 6, 190, 190, 190,
- 190, 190, 6, 3, 6, 190, 190, 3, 190, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 3, 193, 6, 191, 4, 6, 8, 4, 4, 4,
- 4, 191, 193, 191, 4, 4, 4, 4, 191, 193,
- 4, 191, 4, 191, 191, 191, 191, 191, 191, 191,
- 191, 191, 4, 4, 193, 3, 191, 924, 191, 193,
- 927, 191, 6, 930, 927, 4, 933, 930, 933, 924,
- 933, 938, 8, 924, 941, 938, 927, 944, 933, 930,
- 190, 8, 933, 938, 924, 190, 941, 938, 930, 924,
- 941, 958, 938, 933, 930, 962, 924, 190, 933, 924,
- 924, 190, 190, 938, 971, 933, 941, 958, 971, 933,
- 977, 962, 977, 924, 4, 8, 927, 968, 3, 930,
- 971, 190, 933, 924, 924, 924, 977, 938, 190, 8,
- 941, 924, 933, 933, 933, 924, 4, 190, 938, 4,
- 933, 941, 977, 924, 933, 938, 924, 958, 941, 924,
- 924, 962, 933, 924, 924, 933, 924, 968, 933, 933,
- 971, 924, 933, 933, 924, 933, 977, 924, 924, 924,
- 933, 924, 924, 933, 924, 924, 933, 933, 933, 924,
- 933, 933, 4, 933, 933, 190, 933, 190, 933, 190,
- 4, 190, 5, 628, 191, 193, 7, 4, 4, 4,
- 4, 4, 650, 455, 641, 652, 461, 897, 738, 918,
- 923, 190, 190, 936, 946, 958, 944, 505, 953, 191,
- 193, 926, 924, 1129, 935, 191, 929, 190, 497, 190,
- 977, 932, 927, 473, 502, 943, 930, 941, 977, 979,
- 1092, 709, 939, 487, 1134, 962, 689, 968, 522, 526,
- 1164, 1144, 972, 651, 1184, -1, -1, -1, -1, -1,
- -1, -1, 1129, -1, 1129, -1, 1129, 1134, -1, -1,
- -1, 1134, -1, -1, 1129, -1, -1, 1144, 1129, 1134,
- -1, 1144, -1, 1134, -1, -1, -1, -1, 1134, 1129,
- -1, -1, -1, 1144, 1129, -1, -1, -1, -1, 1134,
- 476, 1129, -1, -1, -1, 1129, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1129, -1,
- -1, -1, -1, 1134, -1, -1, -1, -1, 1129, 1129,
- 1129, -1, -1, 1144, 1134, -1, 1129, -1, -1, -1,
- 1129, 1134, -1, -1, -1, -1, -1, -1, 1129, -1,
- -1, 1129, -1, -1, 1129, 1129, -1, -1, 1129, 1129,
- -1, 1129, -1, -1, -1, -1, 1129, -1, -1, 1129,
- -1, -1, 1129, 1129, 1129, -1, 1129, 1129, -1, 1129,
- 1129, -1, 1129, -1, 1129
+ 157, 158, 159, 7, 7, 7, 7, 7, 191, 166,
+ 167, 191, 5, 5, 191, 191, 191, 5, 191, 191,
+ 191, 7, 191, 5, 7, 191, 166, 167, 191, 24,
+ 7, 191, 191, 191, 191, 7, 7, 191, 191, 7,
+ 7, 7, 7, 7, 7, 191, 191, 191, 191, 4,
+ 4, 191, 161, 4, 4, 4, 4, 4, 4, 191,
+ 191, 4, 4, 191, 4, 6, 3, 6, 3, 3,
+ 6, 3, 3, 191, 191, 191, 191, 191, 6, 6,
+ 6, 191, 3, 6, 3, 192, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 191, 3, 6,
+ 4, 194, 8, 6, 4, 4, 4, 4, 192, 194,
+ 192, 4, 4, 4, 4, 192, 192, 4, 4, 192,
+ 192, 4, 192, 194, 192, 192, 192, 192, 192, 192,
+ 192, 4, 929, 194, 192, 932, 192, 6, 935, 932,
+ 194, 938, 935, 938, 929, 938, 943, 3, 929, 946,
+ 943, 932, 949, 938, 935, 4, 8, 938, 943, 929,
+ 191, 946, 943, 935, 929, 946, 963, 943, 938, 935,
+ 967, 929, 191, 938, 929, 929, 191, 191, 943, 976,
+ 938, 946, 963, 976, 938, 982, 967, 982, 929, 8,
+ 4, 932, 973, 191, 935, 976, 8, 938, 929, 929,
+ 929, 982, 943, 3, 191, 946, 929, 938, 938, 938,
+ 929, 191, 191, 943, 8, 938, 946, 982, 929, 938,
+ 943, 929, 963, 946, 929, 929, 967, 938, 929, 929,
+ 938, 929, 973, 938, 938, 976, 929, 938, 938, 929,
+ 938, 982, 929, 929, 929, 938, 929, 929, 938, 929,
+ 929, 938, 938, 938, 929, 938, 938, 929, 938, 938,
+ 4, 938, 191, 938, 4, 4, 938, 191, 4, 191,
+ 5, 191, 4, 7, 4, 4, 4, 4, 633, 655,
+ 459, 646, 657, 465, 902, 923, 928, 743, 941, 963,
+ 951, 192, 194, 958, 949, 191, 191, 509, 931, 477,
+ 194, 929, 1135, 192, 192, 982, 191, 191, 940, 934,
+ 932, 501, 982, 937, 935, 506, 1098, 948, 984, 946,
+ 967, 491, 714, 1140, 944, 973, 694, 526, 656, 530,
+ 1170, 1150, 977, 1190, -1, -1, -1, -1, 1135, -1,
+ 1135, -1, 1135, 1140, -1, -1, -1, 1140, -1, -1,
+ 1135, -1, -1, 1150, 1135, 1140, -1, 1150, -1, 1140,
+ -1, -1, -1, -1, 1140, 1135, -1, -1, -1, 1150,
+ 1135, -1, 480, -1, -1, 1140, -1, 1135, -1, -1,
+ -1, 1135, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1135, -1, -1, -1, -1, 1140,
+ -1, -1, -1, -1, 1135, 1135, 1135, -1, -1, 1150,
+ 1140, -1, 1135, -1, -1, -1, 1135, 1140, -1, -1,
+ -1, -1, -1, -1, 1135, -1, -1, 1135, -1, -1,
+ 1135, 1135, -1, -1, 1135, 1135, -1, 1135, -1, -1,
+ -1, -1, 1135, -1, -1, 1135, -1, -1, 1135, 1135,
+ 1135, -1, 1135, 1135, -1, 1135, 1135, -1, 1135, -1,
+ 1135, -1, -1, 1135
};
- const short
+ const unsigned short int
Dhcp4Parser::yystos_[] =
{
- 0, 177, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 0, 5,
- 7, 9, 190, 191, 192, 193, 209, 210, 211, 216,
- 7, 225, 7, 229, 7, 272, 7, 377, 7, 457,
- 7, 473, 7, 409, 7, 415, 7, 439, 7, 353,
- 7, 538, 7, 569, 217, 212, 226, 230, 273, 378,
- 458, 474, 410, 416, 440, 354, 539, 570, 209, 218,
- 219, 190, 214, 215, 10, 227, 11, 14, 23, 25,
+ 0, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 0, 5,
+ 7, 9, 191, 192, 193, 194, 210, 211, 212, 217,
+ 7, 226, 7, 230, 7, 274, 7, 379, 7, 459,
+ 7, 475, 7, 411, 7, 417, 7, 441, 7, 355,
+ 7, 540, 7, 571, 218, 213, 227, 231, 275, 380,
+ 460, 476, 412, 418, 442, 356, 541, 572, 210, 219,
+ 220, 191, 215, 216, 10, 228, 11, 14, 23, 25,
26, 27, 28, 29, 30, 31, 32, 33, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 83, 84, 94, 97, 98, 102, 107, 108, 113,
- 123, 126, 133, 134, 138, 141, 145, 165, 166, 167,
- 168, 190, 224, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 246, 247, 248,
- 249, 250, 251, 252, 255, 257, 259, 260, 262, 264,
- 265, 266, 267, 268, 283, 285, 291, 293, 331, 340,
- 347, 361, 371, 395, 399, 407, 433, 463, 465, 467,
- 478, 480, 482, 505, 517, 518, 526, 536, 567, 576,
- 15, 16, 19, 22, 224, 270, 271, 274, 276, 279,
- 282, 463, 465, 80, 81, 82, 95, 99, 100, 101,
- 109, 112, 120, 224, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 247, 248, 249, 250, 251, 252,
- 255, 257, 259, 260, 262, 264, 379, 380, 381, 383,
- 385, 387, 389, 391, 393, 395, 398, 433, 451, 463,
- 465, 467, 478, 480, 482, 502, 96, 224, 391, 393,
- 433, 459, 460, 461, 463, 465, 108, 114, 115, 116,
- 117, 118, 119, 121, 224, 433, 463, 465, 475, 476,
- 477, 478, 480, 482, 484, 488, 490, 492, 494, 496,
- 498, 500, 407, 34, 85, 87, 88, 91, 92, 93,
- 224, 311, 417, 418, 419, 420, 421, 422, 423, 425,
- 427, 429, 430, 432, 463, 465, 86, 89, 90, 224,
- 311, 421, 427, 441, 442, 443, 444, 445, 447, 448,
- 449, 450, 463, 465, 124, 125, 224, 355, 356, 357,
- 359, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 165, 166, 224, 463, 465, 540,
- 541, 542, 543, 545, 546, 548, 549, 550, 553, 555,
- 557, 558, 559, 561, 563, 565, 12, 13, 571, 572,
- 573, 575, 6, 3, 4, 8, 3, 228, 8, 568,
- 269, 286, 4, 4, 4, 479, 481, 483, 284, 292,
- 294, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 245, 4, 4, 4, 4, 4, 253, 256,
- 258, 4, 4, 372, 408, 434, 400, 464, 466, 396,
- 332, 506, 468, 348, 362, 4, 341, 519, 527, 537,
- 261, 263, 4, 577, 4, 3, 8, 275, 277, 280,
- 4, 3, 8, 384, 386, 388, 452, 382, 390, 4,
- 394, 392, 503, 3, 8, 462, 3, 8, 501, 489,
- 491, 495, 493, 499, 497, 485, 8, 3, 8, 424,
- 312, 4, 428, 426, 431, 4, 8, 3, 446, 4,
- 4, 8, 3, 358, 360, 3, 8, 4, 556, 544,
- 4, 547, 4, 4, 551, 554, 4, 4, 560, 562,
- 564, 566, 3, 8, 574, 4, 3, 8, 209, 209,
- 190, 4, 4, 4, 4, 193, 193, 193, 4, 4,
- 4, 4, 4, 4, 191, 191, 191, 191, 191, 193,
- 192, 192, 192, 191, 191, 4, 191, 191, 193, 193,
- 193, 4, 4, 4, 193, 193, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 191, 4,
- 4, 4, 4, 4, 4, 193, 4, 232, 4, 4,
- 4, 193, 271, 4, 4, 4, 4, 4, 4, 191,
- 4, 4, 4, 380, 4, 460, 4, 4, 4, 4,
- 4, 4, 4, 4, 477, 4, 4, 191, 4, 4,
- 4, 193, 419, 4, 193, 193, 443, 4, 4, 356,
- 193, 4, 4, 191, 4, 191, 191, 4, 4, 193,
- 193, 4, 4, 4, 4, 541, 4, 191, 572, 4,
- 7, 7, 7, 7, 190, 190, 190, 7, 7, 5,
- 190, 161, 162, 163, 164, 193, 254, 190, 190, 5,
- 5, 5, 5, 211, 213, 190, 103, 104, 105, 106,
- 397, 5, 5, 5, 5, 7, 7, 7, 7, 7,
- 190, 190, 5, 5, 220, 17, 18, 278, 20, 21,
- 281, 190, 190, 190, 5, 190, 190, 220, 190, 7,
- 190, 220, 190, 190, 190, 190, 190, 190, 190, 190,
- 190, 190, 190, 190, 190, 190, 213, 190, 190, 190,
- 18, 159, 552, 160, 254, 190, 190, 190, 5, 209,
- 231, 571, 270, 24, 287, 288, 289, 34, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 224, 299, 300, 301,
- 304, 306, 308, 310, 311, 313, 314, 315, 316, 317,
- 318, 319, 320, 322, 324, 326, 328, 329, 330, 299,
- 7, 295, 296, 297, 7, 373, 374, 375, 7, 411,
- 412, 413, 7, 435, 436, 437, 7, 401, 402, 403,
- 114, 115, 116, 117, 119, 333, 334, 335, 336, 337,
- 338, 339, 7, 507, 508, 7, 469, 470, 471, 7,
- 349, 350, 351, 127, 128, 129, 130, 131, 132, 363,
- 364, 365, 366, 367, 368, 369, 370, 135, 136, 137,
- 224, 342, 343, 344, 345, 346, 463, 465, 139, 140,
- 224, 463, 465, 520, 521, 522, 524, 142, 143, 144,
- 190, 463, 465, 528, 529, 530, 531, 533, 534, 540,
- 7, 578, 579, 221, 7, 453, 454, 455, 122, 484,
- 486, 504, 295, 8, 8, 8, 290, 3, 8, 302,
- 305, 307, 309, 4, 4, 4, 4, 4, 321, 323,
- 325, 327, 4, 4, 4, 4, 4, 4, 3, 8,
- 8, 298, 6, 3, 376, 6, 3, 414, 6, 3,
- 438, 6, 3, 404, 6, 3, 3, 6, 509, 3,
- 6, 472, 6, 3, 352, 6, 3, 4, 4, 4,
- 4, 4, 4, 3, 8, 4, 4, 4, 3, 8,
- 523, 525, 3, 8, 4, 532, 4, 535, 3, 8,
- 8, 580, 3, 6, 190, 222, 223, 456, 6, 3,
- 487, 8, 6, 4, 288, 4, 4, 4, 4, 191,
- 193, 191, 193, 191, 4, 4, 4, 4, 191, 191,
- 191, 191, 193, 191, 300, 299, 297, 379, 375, 417,
- 413, 441, 437, 224, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 247, 248, 249, 250, 251, 252,
- 255, 257, 259, 260, 262, 264, 311, 371, 389, 391,
- 393, 395, 405, 406, 433, 463, 465, 478, 480, 482,
- 502, 403, 334, 110, 111, 224, 311, 407, 433, 463,
- 465, 478, 480, 482, 510, 511, 512, 513, 514, 516,
- 508, 475, 471, 355, 351, 191, 191, 191, 191, 191,
- 191, 364, 193, 191, 191, 343, 4, 4, 521, 193,
- 4, 191, 4, 529, 169, 171, 172, 224, 311, 463,
- 465, 581, 582, 583, 584, 586, 579, 6, 3, 459,
- 455, 4, 190, 35, 36, 37, 38, 303, 190, 190,
- 190, 190, 190, 190, 190, 8, 8, 8, 8, 3,
- 8, 515, 4, 8, 3, 8, 8, 190, 190, 190,
- 209, 587, 4, 585, 3, 8, 190, 8, 220, 406,
- 4, 193, 512, 4, 191, 4, 582, 190, 5, 190,
- 7, 588, 589, 590, 3, 6, 170, 173, 174, 175,
- 176, 591, 592, 593, 595, 596, 597, 598, 589, 594,
- 4, 4, 4, 599, 3, 8, 4, 193, 191, 191,
- 4, 592, 190, 190
+ 79, 80, 84, 85, 95, 98, 99, 103, 108, 109,
+ 114, 124, 127, 134, 135, 139, 142, 146, 166, 167,
+ 168, 169, 191, 225, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 247, 248,
+ 249, 250, 251, 252, 253, 256, 258, 260, 261, 262,
+ 264, 266, 267, 268, 269, 270, 285, 287, 293, 295,
+ 333, 342, 349, 363, 373, 397, 401, 409, 435, 465,
+ 467, 469, 480, 482, 484, 507, 519, 520, 528, 538,
+ 569, 578, 15, 16, 19, 22, 225, 272, 273, 276,
+ 278, 281, 284, 465, 467, 81, 82, 83, 96, 100,
+ 101, 102, 110, 113, 121, 225, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 248, 249, 250, 251,
+ 252, 253, 256, 258, 260, 261, 262, 264, 266, 381,
+ 382, 383, 385, 387, 389, 391, 393, 395, 397, 400,
+ 435, 453, 465, 467, 469, 480, 482, 484, 504, 97,
+ 225, 393, 395, 435, 461, 462, 463, 465, 467, 109,
+ 115, 116, 117, 118, 119, 120, 122, 225, 435, 465,
+ 467, 477, 478, 479, 480, 482, 484, 486, 490, 492,
+ 494, 496, 498, 500, 502, 409, 34, 86, 88, 89,
+ 92, 93, 94, 225, 313, 419, 420, 421, 422, 423,
+ 424, 425, 427, 429, 431, 432, 434, 465, 467, 87,
+ 90, 91, 225, 313, 423, 429, 443, 444, 445, 446,
+ 447, 449, 450, 451, 452, 465, 467, 125, 126, 225,
+ 357, 358, 359, 361, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 166, 167, 225,
+ 465, 467, 542, 543, 544, 545, 547, 548, 550, 551,
+ 552, 555, 557, 559, 560, 561, 563, 565, 567, 12,
+ 13, 573, 574, 575, 577, 6, 3, 4, 8, 3,
+ 229, 8, 570, 271, 288, 4, 4, 4, 481, 483,
+ 485, 286, 294, 296, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 246, 4, 4, 4, 4,
+ 4, 254, 257, 259, 4, 4, 4, 374, 410, 436,
+ 402, 466, 468, 398, 334, 508, 470, 350, 364, 4,
+ 343, 521, 529, 539, 263, 265, 4, 579, 4, 3,
+ 8, 277, 279, 282, 4, 3, 8, 386, 388, 390,
+ 454, 384, 392, 4, 396, 394, 505, 3, 8, 464,
+ 3, 8, 503, 491, 493, 497, 495, 501, 499, 487,
+ 8, 3, 8, 426, 314, 4, 430, 428, 433, 4,
+ 8, 3, 448, 4, 4, 8, 3, 360, 362, 3,
+ 8, 4, 558, 546, 4, 549, 4, 4, 553, 556,
+ 4, 4, 562, 564, 566, 568, 3, 8, 576, 4,
+ 3, 8, 210, 210, 191, 4, 4, 4, 4, 194,
+ 194, 194, 4, 4, 4, 4, 4, 4, 192, 192,
+ 192, 192, 192, 194, 193, 193, 193, 192, 192, 4,
+ 192, 192, 194, 194, 194, 4, 4, 4, 194, 194,
+ 194, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 192, 4, 4, 4, 4, 4, 4,
+ 194, 4, 233, 4, 4, 4, 194, 273, 4, 4,
+ 4, 4, 4, 4, 192, 4, 4, 4, 382, 4,
+ 462, 4, 4, 4, 4, 4, 4, 4, 4, 479,
+ 4, 4, 192, 4, 4, 4, 194, 421, 4, 194,
+ 194, 445, 4, 4, 358, 194, 4, 4, 192, 4,
+ 192, 192, 4, 4, 194, 194, 4, 4, 4, 4,
+ 543, 4, 192, 574, 4, 7, 7, 7, 7, 191,
+ 191, 191, 7, 7, 5, 191, 162, 163, 164, 165,
+ 194, 255, 191, 191, 5, 5, 5, 5, 212, 214,
+ 191, 104, 105, 106, 107, 399, 5, 5, 5, 5,
+ 7, 7, 7, 7, 7, 191, 191, 5, 5, 221,
+ 17, 18, 280, 20, 21, 283, 191, 191, 191, 5,
+ 191, 191, 221, 191, 7, 191, 221, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 214, 191, 191, 191, 18, 160, 554, 161, 255,
+ 191, 191, 191, 5, 210, 232, 573, 272, 24, 289,
+ 290, 291, 34, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 225, 301, 302, 303, 306, 308, 310, 312, 313,
+ 315, 316, 317, 318, 319, 320, 321, 322, 324, 326,
+ 328, 330, 331, 332, 301, 7, 297, 298, 299, 7,
+ 375, 376, 377, 7, 413, 414, 415, 7, 437, 438,
+ 439, 7, 403, 404, 405, 115, 116, 117, 118, 120,
+ 335, 336, 337, 338, 339, 340, 341, 7, 509, 510,
+ 7, 471, 472, 473, 7, 351, 352, 353, 128, 129,
+ 130, 131, 132, 133, 365, 366, 367, 368, 369, 370,
+ 371, 372, 136, 137, 138, 225, 344, 345, 346, 347,
+ 348, 465, 467, 140, 141, 225, 465, 467, 522, 523,
+ 524, 526, 143, 144, 145, 191, 465, 467, 530, 531,
+ 532, 533, 535, 536, 542, 7, 580, 581, 222, 7,
+ 455, 456, 457, 123, 486, 488, 506, 297, 8, 8,
+ 8, 292, 3, 8, 304, 307, 309, 311, 4, 4,
+ 4, 4, 4, 323, 325, 327, 329, 4, 4, 4,
+ 4, 4, 4, 3, 8, 8, 300, 6, 3, 378,
+ 6, 3, 416, 6, 3, 440, 6, 3, 406, 6,
+ 3, 3, 6, 511, 3, 6, 474, 6, 3, 354,
+ 6, 3, 4, 4, 4, 4, 4, 4, 3, 8,
+ 4, 4, 4, 3, 8, 525, 527, 3, 8, 4,
+ 534, 4, 537, 3, 8, 8, 582, 3, 6, 191,
+ 223, 224, 458, 6, 3, 489, 8, 6, 4, 290,
+ 4, 4, 4, 4, 192, 194, 192, 194, 192, 4,
+ 4, 4, 4, 192, 192, 192, 192, 194, 192, 302,
+ 301, 299, 381, 377, 419, 415, 443, 439, 225, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 248,
+ 249, 250, 251, 252, 253, 256, 258, 260, 261, 262,
+ 264, 266, 313, 373, 391, 393, 395, 397, 407, 408,
+ 435, 465, 467, 480, 482, 484, 504, 405, 336, 111,
+ 112, 225, 313, 409, 435, 465, 467, 480, 482, 484,
+ 512, 513, 514, 515, 516, 518, 510, 477, 473, 357,
+ 353, 192, 192, 192, 192, 192, 192, 366, 194, 192,
+ 192, 345, 4, 4, 523, 194, 4, 192, 4, 531,
+ 170, 172, 173, 225, 313, 465, 467, 583, 584, 585,
+ 586, 588, 581, 6, 3, 461, 457, 4, 191, 35,
+ 36, 37, 38, 305, 191, 191, 191, 191, 191, 191,
+ 191, 8, 8, 8, 8, 3, 8, 517, 4, 8,
+ 3, 8, 8, 191, 191, 191, 210, 589, 4, 587,
+ 3, 8, 191, 8, 221, 408, 4, 194, 514, 4,
+ 192, 4, 584, 191, 5, 191, 7, 590, 591, 592,
+ 3, 6, 171, 174, 175, 176, 177, 593, 594, 595,
+ 597, 598, 599, 600, 591, 596, 4, 4, 4, 601,
+ 3, 8, 4, 194, 192, 192, 4, 594, 191, 191
};
- const short
+ const unsigned short int
Dhcp4Parser::yyr1_[] =
{
- 0, 194, 196, 195, 197, 195, 198, 195, 199, 195,
- 200, 195, 201, 195, 202, 195, 203, 195, 204, 195,
- 205, 195, 206, 195, 207, 195, 208, 195, 209, 209,
- 209, 209, 209, 209, 209, 210, 212, 211, 213, 214,
- 214, 215, 215, 217, 216, 218, 218, 219, 219, 221,
- 220, 222, 222, 223, 223, 224, 226, 225, 228, 227,
- 230, 229, 231, 231, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
+ 0, 195, 197, 196, 198, 196, 199, 196, 200, 196,
+ 201, 196, 202, 196, 203, 196, 204, 196, 205, 196,
+ 206, 196, 207, 196, 208, 196, 209, 196, 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, 229, 228,
+ 231, 230, 232, 232, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 245, 244, 246, 247, 248, 249, 250, 251, 253,
- 252, 254, 254, 254, 254, 254, 256, 255, 258, 257,
- 259, 261, 260, 263, 262, 264, 265, 266, 267, 269,
- 268, 270, 270, 271, 271, 271, 271, 271, 271, 271,
- 273, 272, 275, 274, 277, 276, 278, 278, 280, 279,
- 281, 281, 282, 284, 283, 286, 285, 287, 287, 288,
- 290, 289, 292, 291, 294, 293, 295, 295, 296, 296,
- 298, 297, 299, 299, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 302, 301, 303, 303, 303,
- 303, 305, 304, 307, 306, 309, 308, 310, 312, 311,
- 313, 314, 315, 316, 317, 318, 319, 321, 320, 323,
- 322, 325, 324, 327, 326, 328, 329, 330, 332, 331,
- 333, 333, 334, 334, 334, 334, 334, 335, 336, 337,
- 338, 339, 341, 340, 342, 342, 343, 343, 343, 343,
- 343, 343, 344, 345, 346, 348, 347, 349, 349, 350,
- 350, 352, 351, 354, 353, 355, 355, 355, 356, 356,
- 358, 357, 360, 359, 362, 361, 363, 363, 364, 364,
- 364, 364, 364, 364, 365, 366, 367, 368, 369, 370,
- 372, 371, 373, 373, 374, 374, 376, 375, 378, 377,
- 379, 379, 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 382, 381, 384, 383, 386, 385, 388,
- 387, 390, 389, 392, 391, 394, 393, 396, 395, 397,
- 397, 397, 397, 398, 400, 399, 401, 401, 402, 402,
- 404, 403, 405, 405, 406, 406, 406, 406, 406, 406,
- 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
- 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
- 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
- 408, 407, 410, 409, 411, 411, 412, 412, 414, 413,
- 416, 415, 417, 417, 418, 418, 419, 419, 419, 419,
- 419, 419, 419, 419, 419, 419, 420, 421, 422, 424,
- 423, 426, 425, 428, 427, 429, 431, 430, 432, 434,
- 433, 435, 435, 436, 436, 438, 437, 440, 439, 441,
- 441, 442, 442, 443, 443, 443, 443, 443, 443, 443,
- 443, 443, 444, 446, 445, 447, 448, 449, 450, 452,
- 451, 453, 453, 454, 454, 456, 455, 458, 457, 459,
- 459, 460, 460, 460, 460, 460, 460, 460, 462, 461,
- 464, 463, 466, 465, 468, 467, 469, 469, 470, 470,
- 472, 471, 474, 473, 475, 475, 476, 476, 477, 477,
- 477, 477, 477, 477, 477, 477, 477, 477, 477, 477,
- 477, 477, 477, 479, 478, 481, 480, 483, 482, 485,
- 484, 487, 486, 489, 488, 491, 490, 493, 492, 495,
- 494, 497, 496, 499, 498, 501, 500, 503, 502, 504,
- 504, 506, 505, 507, 507, 509, 508, 510, 510, 511,
- 511, 512, 512, 512, 512, 512, 512, 512, 512, 512,
- 512, 512, 513, 515, 514, 516, 517, 519, 518, 520,
- 520, 521, 521, 521, 521, 521, 523, 522, 525, 524,
- 527, 526, 528, 528, 529, 529, 529, 529, 529, 529,
- 530, 532, 531, 533, 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, 545, 547, 546, 548, 549, 551, 550,
- 552, 552, 554, 553, 556, 555, 557, 558, 560, 559,
- 562, 561, 564, 563, 566, 565, 568, 567, 570, 569,
- 571, 571, 572, 572, 574, 573, 575, 577, 576, 578,
- 578, 580, 579, 581, 581, 582, 582, 582, 582, 582,
- 582, 582, 583, 585, 584, 587, 586, 588, 588, 590,
- 589, 591, 591, 592, 592, 592, 592, 592, 594, 593,
- 595, 596, 597, 599, 598
+ 243, 244, 246, 245, 247, 248, 249, 250, 251, 252,
+ 254, 253, 255, 255, 255, 255, 255, 257, 256, 259,
+ 258, 260, 261, 263, 262, 265, 264, 266, 267, 268,
+ 269, 271, 270, 272, 272, 273, 273, 273, 273, 273,
+ 273, 273, 275, 274, 277, 276, 279, 278, 280, 280,
+ 282, 281, 283, 283, 284, 286, 285, 288, 287, 289,
+ 289, 290, 292, 291, 294, 293, 296, 295, 297, 297,
+ 298, 298, 300, 299, 301, 301, 302, 302, 302, 302,
+ 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
+ 302, 302, 302, 302, 302, 302, 302, 304, 303, 305,
+ 305, 305, 305, 307, 306, 309, 308, 311, 310, 312,
+ 314, 313, 315, 316, 317, 318, 319, 320, 321, 323,
+ 322, 325, 324, 327, 326, 329, 328, 330, 331, 332,
+ 334, 333, 335, 335, 336, 336, 336, 336, 336, 337,
+ 338, 339, 340, 341, 343, 342, 344, 344, 345, 345,
+ 345, 345, 345, 345, 346, 347, 348, 350, 349, 351,
+ 351, 352, 352, 354, 353, 356, 355, 357, 357, 357,
+ 358, 358, 360, 359, 362, 361, 364, 363, 365, 365,
+ 366, 366, 366, 366, 366, 366, 367, 368, 369, 370,
+ 371, 372, 374, 373, 375, 375, 376, 376, 378, 377,
+ 380, 379, 381, 381, 382, 382, 382, 382, 382, 382,
+ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
+ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
+ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
+ 382, 382, 382, 382, 382, 382, 384, 383, 386, 385,
+ 388, 387, 390, 389, 392, 391, 394, 393, 396, 395,
+ 398, 397, 399, 399, 399, 399, 400, 402, 401, 403,
+ 403, 404, 404, 406, 405, 407, 407, 408, 408, 408,
+ 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
+ 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
+ 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
+ 408, 408, 408, 408, 410, 409, 412, 411, 413, 413,
+ 414, 414, 416, 415, 418, 417, 419, 419, 420, 420,
+ 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
+ 422, 423, 424, 426, 425, 428, 427, 430, 429, 431,
+ 433, 432, 434, 436, 435, 437, 437, 438, 438, 440,
+ 439, 442, 441, 443, 443, 444, 444, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 446, 448, 447, 449,
+ 450, 451, 452, 454, 453, 455, 455, 456, 456, 458,
+ 457, 460, 459, 461, 461, 462, 462, 462, 462, 462,
+ 462, 462, 464, 463, 466, 465, 468, 467, 470, 469,
+ 471, 471, 472, 472, 474, 473, 476, 475, 477, 477,
+ 478, 478, 479, 479, 479, 479, 479, 479, 479, 479,
+ 479, 479, 479, 479, 479, 479, 479, 481, 480, 483,
+ 482, 485, 484, 487, 486, 489, 488, 491, 490, 493,
+ 492, 495, 494, 497, 496, 499, 498, 501, 500, 503,
+ 502, 505, 504, 506, 506, 508, 507, 509, 509, 511,
+ 510, 512, 512, 513, 513, 514, 514, 514, 514, 514,
+ 514, 514, 514, 514, 514, 514, 515, 517, 516, 518,
+ 519, 521, 520, 522, 522, 523, 523, 523, 523, 523,
+ 525, 524, 527, 526, 529, 528, 530, 530, 531, 531,
+ 531, 531, 531, 531, 532, 534, 533, 535, 537, 536,
+ 539, 538, 541, 540, 542, 542, 543, 543, 543, 543,
+ 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
+ 543, 543, 543, 543, 544, 546, 545, 547, 549, 548,
+ 550, 551, 553, 552, 554, 554, 556, 555, 558, 557,
+ 559, 560, 562, 561, 564, 563, 566, 565, 568, 567,
+ 570, 569, 572, 571, 573, 573, 574, 574, 576, 575,
+ 577, 579, 578, 580, 580, 582, 581, 583, 583, 584,
+ 584, 584, 584, 584, 584, 584, 585, 587, 586, 589,
+ 588, 590, 590, 592, 591, 593, 593, 594, 594, 594,
+ 594, 594, 596, 595, 597, 598, 599, 601, 600
};
- const signed char
+ const unsigned char
Dhcp4Parser::yyr2_[] =
{
0, 2, 0, 3, 0, 3, 0, 3, 0, 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,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 0, 4, 3, 3, 3, 3, 3, 3, 0,
- 4, 1, 1, 1, 1, 1, 0, 4, 0, 4,
- 3, 0, 4, 0, 4, 3, 3, 3, 3, 0,
- 6, 1, 3, 1, 1, 1, 1, 1, 1, 1,
- 0, 4, 0, 4, 0, 4, 1, 1, 0, 4,
- 1, 1, 3, 0, 6, 0, 6, 1, 3, 1,
- 0, 4, 0, 6, 0, 6, 0, 1, 1, 3,
- 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 0, 4, 3, 3, 3, 3, 3, 3,
+ 0, 4, 1, 1, 1, 1, 1, 0, 4, 0,
+ 4, 3, 3, 0, 4, 0, 4, 3, 3, 3,
+ 3, 0, 6, 1, 3, 1, 1, 1, 1, 1,
+ 1, 1, 0, 4, 0, 4, 0, 4, 1, 1,
+ 0, 4, 1, 1, 3, 0, 6, 0, 6, 1,
+ 3, 1, 0, 4, 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, 0, 4, 1, 1, 1,
- 1, 0, 4, 0, 4, 0, 4, 3, 0, 4,
- 3, 3, 3, 3, 3, 3, 3, 0, 4, 0,
- 4, 0, 4, 0, 4, 3, 3, 3, 0, 6,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 1, 3, 3, 3, 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, 0, 4, 1,
+ 1, 1, 1, 0, 4, 0, 4, 0, 4, 3,
+ 0, 4, 3, 3, 3, 3, 3, 3, 3, 0,
+ 4, 0, 4, 0, 4, 0, 4, 3, 3, 3,
+ 0, 6, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 0, 6, 1, 3, 1, 1,
+ 1, 1, 1, 1, 3, 3, 3, 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, 1,
- 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
- 4, 0, 4, 0, 4, 0, 4, 0, 4, 1,
- 1, 1, 1, 3, 0, 6, 0, 1, 1, 3,
- 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
+ 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
+ 0, 4, 1, 1, 1, 1, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 6, 0, 4, 0, 1, 1, 3, 0, 4,
- 0, 4, 0, 1, 1, 3, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 3, 1, 0,
- 4, 0, 4, 0, 4, 1, 0, 4, 3, 0,
- 6, 0, 1, 1, 3, 0, 4, 0, 4, 0,
- 1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 0, 4, 1, 1, 3, 3, 0,
- 6, 0, 1, 1, 3, 0, 4, 0, 4, 1,
- 3, 1, 1, 1, 1, 1, 1, 1, 0, 4,
- 0, 4, 0, 4, 0, 6, 0, 1, 1, 3,
- 0, 4, 0, 4, 0, 1, 1, 3, 1, 1,
+ 1, 1, 1, 1, 0, 6, 0, 4, 0, 1,
+ 1, 3, 0, 4, 0, 4, 0, 1, 1, 3,
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, 0, 4, 0, 4, 0,
- 4, 0, 4, 0, 4, 0, 4, 0, 6, 1,
- 1, 0, 6, 1, 3, 0, 4, 0, 1, 1,
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 0, 4, 3, 3, 0, 6, 1,
- 3, 1, 1, 1, 1, 1, 0, 4, 0, 4,
- 0, 6, 1, 3, 1, 1, 1, 1, 1, 1,
- 3, 0, 4, 3, 0, 4, 0, 6, 0, 4,
+ 1, 3, 1, 0, 4, 0, 4, 0, 4, 1,
+ 0, 4, 3, 0, 6, 0, 1, 1, 3, 0,
+ 4, 0, 4, 0, 1, 1, 3, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 0, 4, 1,
+ 1, 3, 3, 0, 6, 0, 1, 1, 3, 0,
+ 4, 0, 4, 1, 3, 1, 1, 1, 1, 1,
+ 1, 1, 0, 4, 0, 4, 0, 4, 0, 6,
+ 0, 1, 1, 3, 0, 4, 0, 4, 0, 1,
1, 3, 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, 0,
+ 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
+ 4, 0, 6, 1, 1, 0, 6, 1, 3, 0,
+ 4, 0, 1, 1, 3, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 0, 4, 3,
+ 3, 0, 6, 1, 3, 1, 1, 1, 1, 1,
+ 0, 4, 0, 4, 0, 6, 1, 3, 1, 1,
+ 1, 1, 1, 1, 3, 0, 4, 3, 0, 4,
+ 0, 6, 0, 4, 1, 3, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 0, 4, 3, 0, 4, 3, 3, 0, 4,
- 1, 1, 0, 4, 0, 4, 3, 3, 0, 4,
- 0, 4, 0, 4, 0, 4, 0, 6, 0, 4,
- 1, 3, 1, 1, 0, 6, 3, 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
+ 1, 1, 1, 1, 3, 0, 4, 3, 0, 4,
+ 3, 3, 0, 4, 1, 1, 0, 4, 0, 4,
+ 3, 3, 0, 4, 0, 4, 0, 4, 0, 4,
+ 0, 6, 0, 4, 1, 3, 1, 1, 0, 6,
+ 3, 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
};
-#if PARSER4_DEBUG || 1
+
// YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- // First, the terminals, then, starting at \a YYNTOKENS, nonterminals.
+ // First, the terminals, then, starting at \a yyntokens_, nonterminals.
const char*
const Dhcp4Parser::yytname_[] =
{
- "\"end of file\"", "error", "\"invalid token\"", "\",\"", "\":\"",
- "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Dhcp4\"",
- "\"config-control\"", "\"config-databases\"",
- "\"config-fetch-wait-time\"", "\"interfaces-config\"", "\"interfaces\"",
- "\"dhcp-socket-type\"", "\"raw\"", "\"udp\"", "\"outbound-interface\"",
- "\"same-as-inbound\"", "\"use-routing\"", "\"re-detect\"",
- "\"sanity-checks\"", "\"lease-checks\"", "\"echo-client-id\"",
- "\"match-client-id\"", "\"authoritative\"", "\"next-server\"",
- "\"server-hostname\"", "\"boot-file-name\"", "\"lease-database\"",
- "\"hosts-database\"", "\"hosts-databases\"", "\"type\"", "\"memfile\"",
- "\"mysql\"", "\"postgresql\"", "\"cql\"", "\"user\"", "\"password\"",
- "\"host\"", "\"port\"", "\"persist\"", "\"lfc-interval\"",
- "\"readonly\"", "\"connect-timeout\"", "\"contact-points\"",
- "\"keyspace\"", "\"consistency\"", "\"serial-consistency\"",
- "\"max-reconnect-tries\"", "\"reconnect-wait-time\"",
- "\"request-timeout\"", "\"tcp-keepalive\"", "\"tcp-nodelay\"",
- "\"max-row-errors\"", "\"valid-lifetime\"", "\"min-valid-lifetime\"",
- "\"max-valid-lifetime\"", "\"renew-timer\"", "\"rebind-timer\"",
- "\"calculate-tee-times\"", "\"t1-percent\"", "\"t2-percent\"",
- "\"cache-threshold\"", "\"cache-max-age\"",
+ "\"end of file\"", "error", "$undefined", "\",\"", "\":\"", "\"[\"",
+ "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Dhcp4\"", "\"config-control\"",
+ "\"config-databases\"", "\"config-fetch-wait-time\"",
+ "\"interfaces-config\"", "\"interfaces\"", "\"dhcp-socket-type\"",
+ "\"raw\"", "\"udp\"", "\"outbound-interface\"", "\"same-as-inbound\"",
+ "\"use-routing\"", "\"re-detect\"", "\"sanity-checks\"",
+ "\"lease-checks\"", "\"echo-client-id\"", "\"match-client-id\"",
+ "\"authoritative\"", "\"next-server\"", "\"server-hostname\"",
+ "\"boot-file-name\"", "\"lease-database\"", "\"hosts-database\"",
+ "\"hosts-databases\"", "\"type\"", "\"memfile\"", "\"mysql\"",
+ "\"postgresql\"", "\"cql\"", "\"user\"", "\"password\"", "\"host\"",
+ "\"port\"", "\"persist\"", "\"lfc-interval\"", "\"readonly\"",
+ "\"connect-timeout\"", "\"contact-points\"", "\"keyspace\"",
+ "\"consistency\"", "\"serial-consistency\"", "\"max-reconnect-tries\"",
+ "\"reconnect-wait-time\"", "\"request-timeout\"", "\"tcp-keepalive\"",
+ "\"tcp-nodelay\"", "\"max-row-errors\"", "\"valid-lifetime\"",
+ "\"min-valid-lifetime\"", "\"max-valid-lifetime\"", "\"renew-timer\"",
+ "\"rebind-timer\"", "\"calculate-tee-times\"", "\"t1-percent\"",
+ "\"t2-percent\"", "\"cache-threshold\"", "\"cache-max-age\"",
"\"decline-probation-period\"", "\"server-tag\"",
"\"statistic-default-sample-count\"", "\"statistic-default-sample-age\"",
"\"ddns-send-updates\"", "\"ddns-override-no-update\"",
"\"ddns-override-client-update\"", "\"ddns-replace-client-name\"",
"\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"",
- "\"ddns-update-on-renew\"", "\"store-extended-info\"", "\"subnet4\"",
- "\"4o6-interface\"", "\"4o6-interface-id\"", "\"4o6-subnet\"",
- "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"",
- "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"",
+ "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"",
+ "\"store-extended-info\"", "\"subnet4\"", "\"4o6-interface\"",
+ "\"4o6-interface-id\"", "\"4o6-subnet\"", "\"option-def\"",
+ "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", "\"space\"",
+ "\"csv-format\"", "\"always-send\"", "\"record-types\"",
"\"encapsulate\"", "\"array\"", "\"shared-networks\"", "\"pools\"",
"\"pool\"", "\"user-context\"", "\"comment\"", "\"subnet\"",
"\"interface\"", "\"id\"", "\"reservation-mode\"", "\"disabled\"",
"ddns_override_client_update", "ddns_replace_client_name", "$@21",
"ddns_replace_client_name_value", "ddns_generated_prefix", "$@22",
"ddns_qualifying_suffix", "$@23", "ddns_update_on_renew",
- "hostname_char_set", "$@24", "hostname_char_replacement", "$@25",
- "store_extended_info", "statistic_default_sample_count",
- "statistic_default_sample_age", "ip_reservations_unique",
- "interfaces_config", "$@26", "interfaces_config_params",
- "interfaces_config_param", "sub_interfaces4", "$@27", "interfaces_list",
- "$@28", "dhcp_socket_type", "$@29", "socket_type", "outbound_interface",
- "$@30", "outbound_interface_value", "re_detect", "lease_database",
- "$@31", "sanity_checks", "$@32", "sanity_checks_params",
- "sanity_checks_param", "lease_checks", "$@33", "hosts_database", "$@34",
- "hosts_databases", "$@35", "database_list", "not_empty_database_list",
- "database", "$@36", "database_map_params", "database_map_param",
- "database_type", "$@37", "db_type", "user", "$@38", "password", "$@39",
- "host", "$@40", "port", "name", "$@41", "persist", "lfc_interval",
- "readonly", "connect_timeout", "request_timeout", "tcp_keepalive",
- "tcp_nodelay", "contact_points", "$@42", "keyspace", "$@43",
- "consistency", "$@44", "serial_consistency", "$@45",
+ "ddns_use_conflict_resolution", "hostname_char_set", "$@24",
+ "hostname_char_replacement", "$@25", "store_extended_info",
+ "statistic_default_sample_count", "statistic_default_sample_age",
+ "ip_reservations_unique", "interfaces_config", "$@26",
+ "interfaces_config_params", "interfaces_config_param", "sub_interfaces4",
+ "$@27", "interfaces_list", "$@28", "dhcp_socket_type", "$@29",
+ "socket_type", "outbound_interface", "$@30", "outbound_interface_value",
+ "re_detect", "lease_database", "$@31", "sanity_checks", "$@32",
+ "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@33",
+ "hosts_database", "$@34", "hosts_databases", "$@35", "database_list",
+ "not_empty_database_list", "database", "$@36", "database_map_params",
+ "database_map_param", "database_type", "$@37", "db_type", "user", "$@38",
+ "password", "$@39", "host", "$@40", "port", "name", "$@41", "persist",
+ "lfc_interval", "readonly", "connect_timeout", "request_timeout",
+ "tcp_keepalive", "tcp_nodelay", "contact_points", "$@42", "keyspace",
+ "$@43", "consistency", "$@44", "serial_consistency", "$@45",
"max_reconnect_tries", "reconnect_wait_time", "max_row_errors",
"host_reservation_identifiers", "$@46",
"host_reservation_identifiers_list", "host_reservation_identifier",
"output_params_list", "output_params", "output", "$@129", "flush",
"maxsize", "maxver", "pattern", "$@130", YY_NULLPTR
};
-#endif
-
#if PARSER4_DEBUG
- const short
+ const unsigned short int
Dhcp4Parser::yyrline_[] =
{
- 0, 281, 281, 281, 282, 282, 283, 283, 284, 284,
- 285, 285, 286, 286, 287, 287, 288, 288, 289, 289,
- 290, 290, 291, 291, 292, 292, 293, 293, 301, 302,
- 303, 304, 305, 306, 307, 310, 315, 315, 326, 329,
- 330, 333, 338, 346, 346, 353, 354, 357, 361, 368,
- 368, 375, 376, 379, 383, 394, 403, 403, 418, 418,
- 435, 435, 444, 445, 450, 451, 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, 495,
- 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
- 508, 514, 520, 526, 532, 538, 544, 550, 556, 562,
- 568, 574, 574, 583, 589, 595, 601, 607, 613, 619,
- 619, 628, 631, 634, 637, 640, 646, 646, 655, 655,
- 664, 670, 670, 679, 679, 688, 694, 700, 706, 712,
- 712, 724, 725, 728, 729, 730, 731, 732, 733, 734,
- 737, 737, 746, 746, 757, 757, 765, 766, 769, 769,
- 777, 779, 783, 790, 790, 803, 803, 814, 815, 817,
- 819, 819, 838, 838, 851, 851, 862, 863, 866, 867,
- 870, 870, 880, 881, 884, 885, 886, 887, 888, 889,
- 890, 891, 892, 893, 894, 895, 896, 897, 898, 899,
- 900, 901, 902, 903, 904, 907, 907, 915, 916, 917,
- 918, 921, 921, 930, 930, 939, 939, 948, 954, 954,
- 963, 969, 975, 981, 987, 993, 999, 1005, 1005, 1014,
- 1014, 1023, 1023, 1032, 1032, 1041, 1047, 1053, 1060, 1060,
- 1071, 1072, 1075, 1076, 1077, 1078, 1079, 1082, 1087, 1092,
- 1097, 1102, 1109, 1109, 1122, 1123, 1126, 1127, 1128, 1129,
- 1130, 1131, 1134, 1140, 1146, 1152, 1152, 1163, 1164, 1167,
- 1168, 1171, 1171, 1181, 1181, 1191, 1192, 1193, 1196, 1197,
- 1200, 1200, 1209, 1209, 1218, 1218, 1230, 1231, 1234, 1235,
- 1236, 1237, 1238, 1239, 1242, 1248, 1254, 1260, 1266, 1272,
- 1281, 1281, 1295, 1296, 1299, 1300, 1307, 1307, 1333, 1333,
- 1344, 1345, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356,
- 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366,
- 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376,
- 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
- 1387, 1388, 1389, 1392, 1392, 1401, 1401, 1410, 1410, 1419,
- 1419, 1428, 1428, 1437, 1437, 1446, 1446, 1457, 1457, 1465,
- 1466, 1467, 1468, 1471, 1479, 1479, 1491, 1492, 1496, 1497,
- 1500, 1500, 1508, 1509, 1512, 1513, 1514, 1515, 1516, 1517,
- 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
- 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537,
- 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
- 1554, 1554, 1568, 1568, 1577, 1578, 1581, 1582, 1587, 1587,
- 1602, 1602, 1616, 1617, 1620, 1621, 1624, 1625, 1626, 1627,
- 1628, 1629, 1630, 1631, 1632, 1633, 1636, 1638, 1644, 1646,
- 1646, 1655, 1655, 1664, 1664, 1673, 1675, 1675, 1684, 1694,
- 1694, 1707, 1708, 1713, 1714, 1719, 1719, 1731, 1731, 1743,
- 1744, 1749, 1750, 1755, 1756, 1757, 1758, 1759, 1760, 1761,
- 1762, 1763, 1766, 1768, 1768, 1777, 1779, 1781, 1787, 1796,
- 1796, 1809, 1810, 1813, 1814, 1817, 1817, 1827, 1827, 1837,
- 1838, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1850, 1850,
- 1859, 1859, 1884, 1884, 1914, 1914, 1925, 1926, 1929, 1930,
- 1933, 1933, 1942, 1942, 1951, 1952, 1955, 1956, 1960, 1961,
- 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971,
- 1972, 1973, 1974, 1977, 1977, 1986, 1986, 1995, 1995, 2004,
- 2004, 2013, 2013, 2024, 2024, 2033, 2033, 2042, 2042, 2051,
- 2051, 2060, 2060, 2069, 2069, 2078, 2078, 2092, 2092, 2103,
- 2104, 2110, 2110, 2121, 2122, 2125, 2125, 2135, 2136, 2139,
- 2140, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151,
- 2152, 2153, 2156, 2158, 2158, 2167, 2175, 2183, 2183, 2194,
- 2195, 2198, 2199, 2200, 2201, 2202, 2205, 2205, 2214, 2214,
- 2226, 2226, 2239, 2240, 2243, 2244, 2245, 2246, 2247, 2248,
- 2251, 2257, 2257, 2266, 2272, 2272, 2282, 2282, 2295, 2295,
- 2305, 2306, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316,
- 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326,
- 2329, 2335, 2335, 2344, 2350, 2350, 2359, 2365, 2371, 2371,
- 2380, 2381, 2384, 2384, 2394, 2394, 2404, 2411, 2418, 2418,
- 2427, 2427, 2437, 2437, 2447, 2447, 2459, 2459, 2471, 2471,
- 2481, 2482, 2486, 2487, 2490, 2490, 2501, 2509, 2509, 2522,
- 2523, 2527, 2527, 2535, 2536, 2539, 2540, 2541, 2542, 2543,
- 2544, 2545, 2548, 2554, 2554, 2563, 2563, 2574, 2575, 2578,
- 2578, 2586, 2587, 2590, 2591, 2592, 2593, 2594, 2597, 2597,
- 2606, 2612, 2618, 2624, 2624
+ 0, 282, 282, 282, 283, 283, 284, 284, 285, 285,
+ 286, 286, 287, 287, 288, 288, 289, 289, 290, 290,
+ 291, 291, 292, 292, 293, 293, 294, 294, 302, 303,
+ 304, 305, 306, 307, 308, 311, 316, 316, 327, 330,
+ 331, 334, 339, 347, 347, 354, 355, 358, 362, 369,
+ 369, 376, 377, 380, 384, 395, 404, 404, 419, 419,
+ 436, 436, 445, 446, 451, 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, 495, 496,
+ 497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
+ 507, 510, 516, 522, 528, 534, 540, 546, 552, 558,
+ 564, 570, 576, 576, 585, 591, 597, 603, 609, 615,
+ 621, 621, 630, 633, 636, 639, 642, 648, 648, 657,
+ 657, 666, 672, 678, 678, 687, 687, 696, 702, 708,
+ 714, 720, 720, 732, 733, 736, 737, 738, 739, 740,
+ 741, 742, 745, 745, 754, 754, 765, 765, 773, 774,
+ 777, 777, 785, 787, 791, 798, 798, 811, 811, 822,
+ 823, 825, 827, 827, 846, 846, 859, 859, 870, 871,
+ 874, 875, 878, 878, 888, 889, 892, 893, 894, 895,
+ 896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
+ 906, 907, 908, 909, 910, 911, 912, 915, 915, 923,
+ 924, 925, 926, 929, 929, 938, 938, 947, 947, 956,
+ 962, 962, 971, 977, 983, 989, 995, 1001, 1007, 1013,
+ 1013, 1022, 1022, 1031, 1031, 1040, 1040, 1049, 1055, 1061,
+ 1068, 1068, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1090,
+ 1095, 1100, 1105, 1110, 1117, 1117, 1130, 1131, 1134, 1135,
+ 1136, 1137, 1138, 1139, 1142, 1148, 1154, 1160, 1160, 1171,
+ 1172, 1175, 1176, 1179, 1179, 1189, 1189, 1199, 1200, 1201,
+ 1204, 1205, 1208, 1208, 1217, 1217, 1226, 1226, 1238, 1239,
+ 1242, 1243, 1244, 1245, 1246, 1247, 1250, 1256, 1262, 1268,
+ 1274, 1280, 1289, 1289, 1303, 1304, 1307, 1308, 1315, 1315,
+ 1341, 1341, 1352, 1353, 1357, 1358, 1359, 1360, 1361, 1362,
+ 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372,
+ 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382,
+ 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392,
+ 1393, 1394, 1395, 1396, 1397, 1398, 1401, 1401, 1410, 1410,
+ 1419, 1419, 1428, 1428, 1437, 1437, 1446, 1446, 1455, 1455,
+ 1466, 1466, 1474, 1475, 1476, 1477, 1480, 1488, 1488, 1500,
+ 1501, 1505, 1506, 1509, 1509, 1517, 1518, 1521, 1522, 1523,
+ 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
+ 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
+ 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
+ 1554, 1555, 1556, 1557, 1564, 1564, 1578, 1578, 1587, 1588,
+ 1591, 1592, 1597, 1597, 1612, 1612, 1626, 1627, 1630, 1631,
+ 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643,
+ 1646, 1648, 1654, 1656, 1656, 1665, 1665, 1674, 1674, 1683,
+ 1685, 1685, 1694, 1704, 1704, 1717, 1718, 1723, 1724, 1729,
+ 1729, 1741, 1741, 1753, 1754, 1759, 1760, 1765, 1766, 1767,
+ 1768, 1769, 1770, 1771, 1772, 1773, 1776, 1778, 1778, 1787,
+ 1789, 1791, 1797, 1806, 1806, 1819, 1820, 1823, 1824, 1827,
+ 1827, 1837, 1837, 1847, 1848, 1851, 1852, 1853, 1854, 1855,
+ 1856, 1857, 1860, 1860, 1869, 1869, 1894, 1894, 1924, 1924,
+ 1935, 1936, 1939, 1940, 1943, 1943, 1952, 1952, 1961, 1962,
+ 1965, 1966, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977,
+ 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1987, 1987, 1996,
+ 1996, 2005, 2005, 2014, 2014, 2023, 2023, 2034, 2034, 2043,
+ 2043, 2052, 2052, 2061, 2061, 2070, 2070, 2079, 2079, 2088,
+ 2088, 2102, 2102, 2113, 2114, 2120, 2120, 2131, 2132, 2135,
+ 2135, 2145, 2146, 2149, 2150, 2153, 2154, 2155, 2156, 2157,
+ 2158, 2159, 2160, 2161, 2162, 2163, 2166, 2168, 2168, 2177,
+ 2185, 2193, 2193, 2204, 2205, 2208, 2209, 2210, 2211, 2212,
+ 2215, 2215, 2224, 2224, 2236, 2236, 2249, 2250, 2253, 2254,
+ 2255, 2256, 2257, 2258, 2261, 2267, 2267, 2276, 2282, 2282,
+ 2292, 2292, 2305, 2305, 2315, 2316, 2319, 2320, 2321, 2322,
+ 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332,
+ 2333, 2334, 2335, 2336, 2339, 2345, 2345, 2354, 2360, 2360,
+ 2369, 2375, 2381, 2381, 2390, 2391, 2394, 2394, 2404, 2404,
+ 2414, 2421, 2428, 2428, 2437, 2437, 2447, 2447, 2457, 2457,
+ 2469, 2469, 2481, 2481, 2491, 2492, 2496, 2497, 2500, 2500,
+ 2511, 2519, 2519, 2532, 2533, 2537, 2537, 2545, 2546, 2549,
+ 2550, 2551, 2552, 2553, 2554, 2555, 2558, 2564, 2564, 2573,
+ 2573, 2584, 2585, 2588, 2588, 2596, 2597, 2600, 2601, 2602,
+ 2603, 2604, 2607, 2607, 2616, 2622, 2628, 2634, 2634
};
+ // Print the state stack on the debug stream.
void
- Dhcp4Parser::yy_stack_print_ () const
+ Dhcp4Parser::yystack_print_ ()
{
*yycdebug_ << "Stack now";
for (stack_type::const_iterator
i = yystack_.begin (),
i_end = yystack_.end ();
i != i_end; ++i)
- *yycdebug_ << ' ' << int (i->state);
- *yycdebug_ << '\n';
+ *yycdebug_ << ' ' << i->state;
+ *yycdebug_ << std::endl;
}
+ // Report on the debug stream that the rule \a yyrule is going to be reduced.
void
- Dhcp4Parser::yy_reduce_print_ (int yyrule) const
+ Dhcp4Parser::yy_reduce_print_ (int yyrule)
{
- int yylno = yyrline_[yyrule];
+ unsigned int yylno = yyrline_[yyrule];
int yynrhs = yyr2_[yyrule];
// Print the symbols being reduced, and their result.
*yycdebug_ << "Reducing stack by rule " << yyrule - 1
- << " (line " << yylno << "):\n";
+ << " (line " << yylno << "):" << std::endl;
// The symbols being reduced.
for (int yyi = 0; yyi < yynrhs; yyi++)
YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
#endif // PARSER4_DEBUG
-#line 14 "dhcp4_parser.yy"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 5628 "dhcp4_parser.cc"
-
-#line 2633 "dhcp4_parser.yy"
+#line 5486 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 2643 "dhcp4_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.7.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton interface for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 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
// This special exception was added by the Free Software Foundation in
// version 2.2 of Bison.
-
/**
** \file dhcp4_parser.h
** Define the isc::dhcp::parser class.
// C++ LALR(1) parser skeleton written by Akim Demaille.
-// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
-// especially those whose name start with YY_ or yy_. They are
-// private implementation details that can be changed or removed.
-
#ifndef YY_PARSER4_DHCP4_PARSER_H_INCLUDED
# define YY_PARSER4_DHCP4_PARSER_H_INCLUDED
-// "%code requires" blocks.
-#line 17 "dhcp4_parser.yy"
+// // "%code requires" blocks.
+#line 17 "dhcp4_parser.yy" // lalr1.cc:377
#include <string>
#include <cc/data.h>
using namespace isc::data;
using namespace std;
-#line 61 "dhcp4_parser.h"
+#line 56 "dhcp4_parser.h" // lalr1.cc:377
# include <cassert>
# include <cstdlib> // std::abort
# include <stdexcept>
# 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
-# define YY_MOVE std::move
-# define YY_MOVE_OR_COPY move
-# define YY_MOVE_REF(Type) Type&&
-# define YY_RVREF(Type) Type&&
-# define YY_COPY(Type) Type
-#else
-# define YY_MOVE
-# define YY_MOVE_OR_COPY copy
-# 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 "stack.hh"
# include "location.hh"
#include <typeinfo>
-#ifndef YY_ASSERT
+#ifndef YYASSERT
# include <cassert>
-# define YY_ASSERT assert
+# define YYASSERT assert
#endif
-#ifndef YY_ATTRIBUTE_PURE
-# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
-# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
-# define YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
#ifndef YY_ATTRIBUTE_UNUSED
-# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
-# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
# else
-# define YY_ATTRIBUTE_UNUSED
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
# define YYUSE(E) /* empty */
#endif
-#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
-#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
-# define YY_IGNORE_USELESS_CAST_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
-# define YY_IGNORE_USELESS_CAST_END \
- _Pragma ("GCC diagnostic pop")
-#endif
-#ifndef YY_IGNORE_USELESS_CAST_BEGIN
-# define YY_IGNORE_USELESS_CAST_BEGIN
-# define YY_IGNORE_USELESS_CAST_END
-#endif
-
-# ifndef YY_CAST
-# ifdef __cplusplus
-# define YY_CAST(Type, Val) static_cast<Type> (Val)
-# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
-# else
-# define YY_CAST(Type, Val) ((Type) (Val))
-# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
-# endif
-# endif
-# ifndef YY_NULLPTR
-# if defined __cplusplus
-# if 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
-# else
-# define YY_NULLPTR ((void*)0)
-# endif
-# endif
-
/* Debug traces. */
#ifndef PARSER4_DEBUG
# if defined YYDEBUG
# endif /* ! defined YYDEBUG */
#endif /* ! defined PARSER4_DEBUG */
-#line 14 "dhcp4_parser.yy"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
namespace isc { namespace dhcp {
-#line 204 "dhcp4_parser.h"
-
+#line 141 "dhcp4_parser.h" // lalr1.cc:377
- /// A Bison parser.
- class Dhcp4Parser
- {
- public:
-#ifndef PARSER4_STYPE
- /// A buffer to store and retrieve objects.
+ /// 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
- : yybuffer_ ()
- , yytypeid_ (YY_NULLPTR)
+ variant ()
+ : yytypeid_ (YY_NULLPTR)
{}
/// Construct and fill.
template <typename T>
- semantic_type (YY_RVREF (T) t)
+ variant (const T& t)
: yytypeid_ (&typeid (T))
{
- YY_ASSERT (sizeof (T) <= size);
- new (yyas_<T> ()) T (YY_MOVE (t));
+ YYASSERT (sizeof (T) <= S);
+ new (yyas_<T> ()) T (t);
}
-#if 201103L <= YY_CPLUSPLUS
- /// Non copyable.
- semantic_type (const self_type&) = delete;
- /// Non copyable.
- self_type& operator= (const self_type&) = delete;
-#endif
-
/// Destruction, allowed only if empty.
- ~semantic_type () YY_NOEXCEPT
+ ~variant ()
{
- YY_ASSERT (!yytypeid_);
+ YYASSERT (!yytypeid_);
}
-# if 201103L <= YY_CPLUSPLUS
- /// Instantiate a \a T in here from \a t.
- template <typename T, typename... U>
- T&
- emplace (U&&... u)
- {
- YY_ASSERT (!yytypeid_);
- YY_ASSERT (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 ()
+ build ()
{
- YY_ASSERT (!yytypeid_);
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (!yytypeid_);
+ YYASSERT (sizeof (T) <= S);
yytypeid_ = & typeid (T);
- return *new (yyas_<T> ()) T ();
+ return *new (yyas_<T> ()) T;
}
/// Instantiate a \a T in here from \a t.
template <typename T>
T&
- emplace (const T& t)
+ build (const T& t)
{
- YY_ASSERT (!yytypeid_);
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (!yytypeid_);
+ YYASSERT (sizeof (T) <= S);
yytypeid_ = & typeid (T);
return *new (yyas_<T> ()) T (t);
}
-# endif
-
- /// Instantiate an empty \a T in here.
- /// Obsolete, use emplace.
- template <typename T>
- T&
- build ()
- {
- return emplace<T> ();
- }
-
- /// Instantiate a \a T in here from \a t.
- /// Obsolete, use emplace.
- template <typename T>
- T&
- build (const T& t)
- {
- return emplace<T> (t);
- }
/// Accessor to a built \a T.
template <typename T>
T&
- as () YY_NOEXCEPT
+ as ()
{
- YY_ASSERT (yytypeid_);
- YY_ASSERT (*yytypeid_ == typeid (T));
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (*yytypeid_ == typeid (T));
+ 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
{
- YY_ASSERT (yytypeid_);
- YY_ASSERT (*yytypeid_ == typeid (T));
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (*yytypeid_ == typeid (T));
+ 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.
+ /// should not be the variant's responsability.
/// 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)
{
- YY_ASSERT (yytypeid_);
- YY_ASSERT (*yytypeid_ == *that.yytypeid_);
- std::swap (as<T> (), that.as<T> ());
+ YYASSERT (yytypeid_);
+ 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.
- template <typename T>
- void
- move (self_type& that)
- {
-# if 201103L <= YY_CPLUSPLUS
- emplace<T> (std::move (that.as<T> ()));
-# else
- emplace<T> ();
- swap<T> (that);
-# endif
- that.destroy<T> ();
- }
-
-# if 201103L <= YY_CPLUSPLUS
- /// Move the content of \a that to this.
+ /// Destroys \a other.
template <typename T>
void
- move (self_type&& that)
+ move (self_type& other)
{
- emplace<T> (std::move (that.as<T> ()));
- that.destroy<T> ();
+ build<T> ();
+ swap<T> (other);
+ 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> ());
+ build<T> (other.as<T> ());
}
/// Destroy the stored \a T.
}
private:
-#if YY_CPLUSPLUS < 201103L
- /// Non copyable.
- semantic_type (const self_type&);
- /// Non copyable.
- self_type& operator= (const self_type&);
-#endif
+ /// Prohibit blind copies.
+ self_type& operator=(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 Dhcp4Parser
+ {
+ public:
+#ifndef PARSER4_STYPE
/// An auxiliary type to compute the largest semantic type.
union union_type
{
// db_type
// hr_mode
// ncr_protocol_value
- char dummy1[sizeof (ElementPtr)];
+ char dummy1[sizeof(ElementPtr)];
// "boolean"
- char dummy2[sizeof (bool)];
+ char dummy2[sizeof(bool)];
// "floating point"
- char dummy3[sizeof (double)];
+ char dummy3[sizeof(double)];
// "integer"
- char dummy4[sizeof (int64_t)];
+ char dummy4[sizeof(int64_t)];
// "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_;
- };
+ char dummy5[sizeof(std::string)];
+};
+ /// Symbol semantic values.
+ typedef variant<sizeof(union_type)> semantic_type;
#else
typedef PARSER4_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 kinds.
+ /// Tokens.
struct token
{
- enum token_kind_type
- {
- TOKEN_PARSER4_EMPTY = -2,
- TOKEN_END = 0, // "end of file"
- TOKEN_PARSER4_error = 256, // error
- TOKEN_PARSER4_UNDEF = 257, // "invalid token"
- TOKEN_COMMA = 258, // ","
- TOKEN_COLON = 259, // ":"
- TOKEN_LSQUARE_BRACKET = 260, // "["
- TOKEN_RSQUARE_BRACKET = 261, // "]"
- TOKEN_LCURLY_BRACKET = 262, // "{"
- TOKEN_RCURLY_BRACKET = 263, // "}"
- TOKEN_NULL_TYPE = 264, // "null"
- TOKEN_DHCP4 = 265, // "Dhcp4"
- TOKEN_CONFIG_CONTROL = 266, // "config-control"
- TOKEN_CONFIG_DATABASES = 267, // "config-databases"
- TOKEN_CONFIG_FETCH_WAIT_TIME = 268, // "config-fetch-wait-time"
- TOKEN_INTERFACES_CONFIG = 269, // "interfaces-config"
- TOKEN_INTERFACES = 270, // "interfaces"
- TOKEN_DHCP_SOCKET_TYPE = 271, // "dhcp-socket-type"
- TOKEN_RAW = 272, // "raw"
- TOKEN_UDP = 273, // "udp"
- TOKEN_OUTBOUND_INTERFACE = 274, // "outbound-interface"
- TOKEN_SAME_AS_INBOUND = 275, // "same-as-inbound"
- TOKEN_USE_ROUTING = 276, // "use-routing"
- TOKEN_RE_DETECT = 277, // "re-detect"
- TOKEN_SANITY_CHECKS = 278, // "sanity-checks"
- TOKEN_LEASE_CHECKS = 279, // "lease-checks"
- TOKEN_ECHO_CLIENT_ID = 280, // "echo-client-id"
- TOKEN_MATCH_CLIENT_ID = 281, // "match-client-id"
- TOKEN_AUTHORITATIVE = 282, // "authoritative"
- TOKEN_NEXT_SERVER = 283, // "next-server"
- TOKEN_SERVER_HOSTNAME = 284, // "server-hostname"
- TOKEN_BOOT_FILE_NAME = 285, // "boot-file-name"
- TOKEN_LEASE_DATABASE = 286, // "lease-database"
- TOKEN_HOSTS_DATABASE = 287, // "hosts-database"
- TOKEN_HOSTS_DATABASES = 288, // "hosts-databases"
- TOKEN_TYPE = 289, // "type"
- TOKEN_MEMFILE = 290, // "memfile"
- TOKEN_MYSQL = 291, // "mysql"
- TOKEN_POSTGRESQL = 292, // "postgresql"
- TOKEN_CQL = 293, // "cql"
- TOKEN_USER = 294, // "user"
- TOKEN_PASSWORD = 295, // "password"
- TOKEN_HOST = 296, // "host"
- TOKEN_PORT = 297, // "port"
- TOKEN_PERSIST = 298, // "persist"
- TOKEN_LFC_INTERVAL = 299, // "lfc-interval"
- TOKEN_READONLY = 300, // "readonly"
- TOKEN_CONNECT_TIMEOUT = 301, // "connect-timeout"
- TOKEN_CONTACT_POINTS = 302, // "contact-points"
- TOKEN_KEYSPACE = 303, // "keyspace"
- TOKEN_CONSISTENCY = 304, // "consistency"
- TOKEN_SERIAL_CONSISTENCY = 305, // "serial-consistency"
- TOKEN_MAX_RECONNECT_TRIES = 306, // "max-reconnect-tries"
- TOKEN_RECONNECT_WAIT_TIME = 307, // "reconnect-wait-time"
- TOKEN_REQUEST_TIMEOUT = 308, // "request-timeout"
- TOKEN_TCP_KEEPALIVE = 309, // "tcp-keepalive"
- TOKEN_TCP_NODELAY = 310, // "tcp-nodelay"
- TOKEN_MAX_ROW_ERRORS = 311, // "max-row-errors"
- TOKEN_VALID_LIFETIME = 312, // "valid-lifetime"
- TOKEN_MIN_VALID_LIFETIME = 313, // "min-valid-lifetime"
- TOKEN_MAX_VALID_LIFETIME = 314, // "max-valid-lifetime"
- TOKEN_RENEW_TIMER = 315, // "renew-timer"
- TOKEN_REBIND_TIMER = 316, // "rebind-timer"
- TOKEN_CALCULATE_TEE_TIMES = 317, // "calculate-tee-times"
- TOKEN_T1_PERCENT = 318, // "t1-percent"
- TOKEN_T2_PERCENT = 319, // "t2-percent"
- TOKEN_CACHE_THRESHOLD = 320, // "cache-threshold"
- TOKEN_CACHE_MAX_AGE = 321, // "cache-max-age"
- TOKEN_DECLINE_PROBATION_PERIOD = 322, // "decline-probation-period"
- TOKEN_SERVER_TAG = 323, // "server-tag"
- TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 324, // "statistic-default-sample-count"
- TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 325, // "statistic-default-sample-age"
- TOKEN_DDNS_SEND_UPDATES = 326, // "ddns-send-updates"
- TOKEN_DDNS_OVERRIDE_NO_UPDATE = 327, // "ddns-override-no-update"
- TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 328, // "ddns-override-client-update"
- TOKEN_DDNS_REPLACE_CLIENT_NAME = 329, // "ddns-replace-client-name"
- TOKEN_DDNS_GENERATED_PREFIX = 330, // "ddns-generated-prefix"
- TOKEN_DDNS_QUALIFYING_SUFFIX = 331, // "ddns-qualifying-suffix"
- TOKEN_DDNS_UPDATE_ON_RENEW = 332, // "ddns-update-on-renew"
- TOKEN_STORE_EXTENDED_INFO = 333, // "store-extended-info"
- TOKEN_SUBNET4 = 334, // "subnet4"
- TOKEN_SUBNET_4O6_INTERFACE = 335, // "4o6-interface"
- TOKEN_SUBNET_4O6_INTERFACE_ID = 336, // "4o6-interface-id"
- TOKEN_SUBNET_4O6_SUBNET = 337, // "4o6-subnet"
- TOKEN_OPTION_DEF = 338, // "option-def"
- TOKEN_OPTION_DATA = 339, // "option-data"
- TOKEN_NAME = 340, // "name"
- TOKEN_DATA = 341, // "data"
- TOKEN_CODE = 342, // "code"
- TOKEN_SPACE = 343, // "space"
- TOKEN_CSV_FORMAT = 344, // "csv-format"
- TOKEN_ALWAYS_SEND = 345, // "always-send"
- TOKEN_RECORD_TYPES = 346, // "record-types"
- TOKEN_ENCAPSULATE = 347, // "encapsulate"
- TOKEN_ARRAY = 348, // "array"
- TOKEN_SHARED_NETWORKS = 349, // "shared-networks"
- TOKEN_POOLS = 350, // "pools"
- TOKEN_POOL = 351, // "pool"
- TOKEN_USER_CONTEXT = 352, // "user-context"
- TOKEN_COMMENT = 353, // "comment"
- TOKEN_SUBNET = 354, // "subnet"
- TOKEN_INTERFACE = 355, // "interface"
- TOKEN_ID = 356, // "id"
- TOKEN_RESERVATION_MODE = 357, // "reservation-mode"
- TOKEN_DISABLED = 358, // "disabled"
- TOKEN_OUT_OF_POOL = 359, // "out-of-pool"
- TOKEN_GLOBAL = 360, // "global"
- TOKEN_ALL = 361, // "all"
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 362, // "host-reservation-identifiers"
- TOKEN_CLIENT_CLASSES = 363, // "client-classes"
- TOKEN_REQUIRE_CLIENT_CLASSES = 364, // "require-client-classes"
- TOKEN_TEST = 365, // "test"
- TOKEN_ONLY_IF_REQUIRED = 366, // "only-if-required"
- TOKEN_CLIENT_CLASS = 367, // "client-class"
- TOKEN_RESERVATIONS = 368, // "reservations"
- TOKEN_DUID = 369, // "duid"
- TOKEN_HW_ADDRESS = 370, // "hw-address"
- TOKEN_CIRCUIT_ID = 371, // "circuit-id"
- TOKEN_CLIENT_ID = 372, // "client-id"
- TOKEN_HOSTNAME = 373, // "hostname"
- TOKEN_FLEX_ID = 374, // "flex-id"
- TOKEN_RELAY = 375, // "relay"
- TOKEN_IP_ADDRESS = 376, // "ip-address"
- TOKEN_IP_ADDRESSES = 377, // "ip-addresses"
- TOKEN_HOOKS_LIBRARIES = 378, // "hooks-libraries"
- TOKEN_LIBRARY = 379, // "library"
- TOKEN_PARAMETERS = 380, // "parameters"
- TOKEN_EXPIRED_LEASES_PROCESSING = 381, // "expired-leases-processing"
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 382, // "reclaim-timer-wait-time"
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 383, // "flush-reclaimed-timer-wait-time"
- TOKEN_HOLD_RECLAIMED_TIME = 384, // "hold-reclaimed-time"
- TOKEN_MAX_RECLAIM_LEASES = 385, // "max-reclaim-leases"
- TOKEN_MAX_RECLAIM_TIME = 386, // "max-reclaim-time"
- TOKEN_UNWARNED_RECLAIM_CYCLES = 387, // "unwarned-reclaim-cycles"
- TOKEN_DHCP4O6_PORT = 388, // "dhcp4o6-port"
- TOKEN_DHCP_MULTI_THREADING = 389, // "multi-threading"
- TOKEN_ENABLE_MULTI_THREADING = 390, // "enable-multi-threading"
- TOKEN_THREAD_POOL_SIZE = 391, // "thread-pool-size"
- TOKEN_PACKET_QUEUE_SIZE = 392, // "packet-queue-size"
- TOKEN_CONTROL_SOCKET = 393, // "control-socket"
- TOKEN_SOCKET_TYPE = 394, // "socket-type"
- TOKEN_SOCKET_NAME = 395, // "socket-name"
- TOKEN_DHCP_QUEUE_CONTROL = 396, // "dhcp-queue-control"
- TOKEN_ENABLE_QUEUE = 397, // "enable-queue"
- TOKEN_QUEUE_TYPE = 398, // "queue-type"
- TOKEN_CAPACITY = 399, // "capacity"
- TOKEN_DHCP_DDNS = 400, // "dhcp-ddns"
- TOKEN_ENABLE_UPDATES = 401, // "enable-updates"
- TOKEN_QUALIFYING_SUFFIX = 402, // "qualifying-suffix"
- TOKEN_SERVER_IP = 403, // "server-ip"
- TOKEN_SERVER_PORT = 404, // "server-port"
- TOKEN_SENDER_IP = 405, // "sender-ip"
- TOKEN_SENDER_PORT = 406, // "sender-port"
- TOKEN_MAX_QUEUE_SIZE = 407, // "max-queue-size"
- TOKEN_NCR_PROTOCOL = 408, // "ncr-protocol"
- TOKEN_NCR_FORMAT = 409, // "ncr-format"
- TOKEN_OVERRIDE_NO_UPDATE = 410, // "override-no-update"
- TOKEN_OVERRIDE_CLIENT_UPDATE = 411, // "override-client-update"
- TOKEN_REPLACE_CLIENT_NAME = 412, // "replace-client-name"
- TOKEN_GENERATED_PREFIX = 413, // "generated-prefix"
- TOKEN_TCP = 414, // "tcp"
- TOKEN_JSON = 415, // "JSON"
- TOKEN_WHEN_PRESENT = 416, // "when-present"
- TOKEN_NEVER = 417, // "never"
- TOKEN_ALWAYS = 418, // "always"
- TOKEN_WHEN_NOT_PRESENT = 419, // "when-not-present"
- TOKEN_HOSTNAME_CHAR_SET = 420, // "hostname-char-set"
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 421, // "hostname-char-replacement"
- TOKEN_IP_RESERVATIONS_UNIQUE = 422, // "ip-reservations-unique"
- TOKEN_LOGGERS = 423, // "loggers"
- TOKEN_OUTPUT_OPTIONS = 424, // "output_options"
- TOKEN_OUTPUT = 425, // "output"
- TOKEN_DEBUGLEVEL = 426, // "debuglevel"
- TOKEN_SEVERITY = 427, // "severity"
- TOKEN_FLUSH = 428, // "flush"
- TOKEN_MAXSIZE = 429, // "maxsize"
- TOKEN_MAXVER = 430, // "maxver"
- TOKEN_PATTERN = 431, // "pattern"
- TOKEN_TOPLEVEL_JSON = 432, // TOPLEVEL_JSON
- TOKEN_TOPLEVEL_DHCP4 = 433, // TOPLEVEL_DHCP4
- TOKEN_SUB_DHCP4 = 434, // SUB_DHCP4
- TOKEN_SUB_INTERFACES4 = 435, // SUB_INTERFACES4
- TOKEN_SUB_SUBNET4 = 436, // SUB_SUBNET4
- TOKEN_SUB_POOL4 = 437, // SUB_POOL4
- TOKEN_SUB_RESERVATION = 438, // SUB_RESERVATION
- TOKEN_SUB_OPTION_DEFS = 439, // SUB_OPTION_DEFS
- TOKEN_SUB_OPTION_DEF = 440, // SUB_OPTION_DEF
- TOKEN_SUB_OPTION_DATA = 441, // SUB_OPTION_DATA
- TOKEN_SUB_HOOKS_LIBRARY = 442, // SUB_HOOKS_LIBRARY
- TOKEN_SUB_DHCP_DDNS = 443, // SUB_DHCP_DDNS
- TOKEN_SUB_CONFIG_CONTROL = 444, // SUB_CONFIG_CONTROL
- TOKEN_STRING = 445, // "constant string"
- TOKEN_INTEGER = 446, // "integer"
- TOKEN_FLOAT = 447, // "floating point"
- TOKEN_BOOLEAN = 448 // "boolean"
+ enum yytokentype
+ {
+ TOKEN_END = 0,
+ TOKEN_COMMA = 258,
+ TOKEN_COLON = 259,
+ TOKEN_LSQUARE_BRACKET = 260,
+ TOKEN_RSQUARE_BRACKET = 261,
+ TOKEN_LCURLY_BRACKET = 262,
+ TOKEN_RCURLY_BRACKET = 263,
+ TOKEN_NULL_TYPE = 264,
+ TOKEN_DHCP4 = 265,
+ TOKEN_CONFIG_CONTROL = 266,
+ TOKEN_CONFIG_DATABASES = 267,
+ TOKEN_CONFIG_FETCH_WAIT_TIME = 268,
+ TOKEN_INTERFACES_CONFIG = 269,
+ TOKEN_INTERFACES = 270,
+ TOKEN_DHCP_SOCKET_TYPE = 271,
+ TOKEN_RAW = 272,
+ TOKEN_UDP = 273,
+ TOKEN_OUTBOUND_INTERFACE = 274,
+ TOKEN_SAME_AS_INBOUND = 275,
+ TOKEN_USE_ROUTING = 276,
+ TOKEN_RE_DETECT = 277,
+ TOKEN_SANITY_CHECKS = 278,
+ TOKEN_LEASE_CHECKS = 279,
+ TOKEN_ECHO_CLIENT_ID = 280,
+ TOKEN_MATCH_CLIENT_ID = 281,
+ TOKEN_AUTHORITATIVE = 282,
+ TOKEN_NEXT_SERVER = 283,
+ TOKEN_SERVER_HOSTNAME = 284,
+ TOKEN_BOOT_FILE_NAME = 285,
+ TOKEN_LEASE_DATABASE = 286,
+ TOKEN_HOSTS_DATABASE = 287,
+ TOKEN_HOSTS_DATABASES = 288,
+ TOKEN_TYPE = 289,
+ TOKEN_MEMFILE = 290,
+ TOKEN_MYSQL = 291,
+ TOKEN_POSTGRESQL = 292,
+ TOKEN_CQL = 293,
+ TOKEN_USER = 294,
+ TOKEN_PASSWORD = 295,
+ TOKEN_HOST = 296,
+ TOKEN_PORT = 297,
+ TOKEN_PERSIST = 298,
+ TOKEN_LFC_INTERVAL = 299,
+ TOKEN_READONLY = 300,
+ TOKEN_CONNECT_TIMEOUT = 301,
+ TOKEN_CONTACT_POINTS = 302,
+ TOKEN_KEYSPACE = 303,
+ TOKEN_CONSISTENCY = 304,
+ TOKEN_SERIAL_CONSISTENCY = 305,
+ TOKEN_MAX_RECONNECT_TRIES = 306,
+ TOKEN_RECONNECT_WAIT_TIME = 307,
+ TOKEN_REQUEST_TIMEOUT = 308,
+ TOKEN_TCP_KEEPALIVE = 309,
+ TOKEN_TCP_NODELAY = 310,
+ TOKEN_MAX_ROW_ERRORS = 311,
+ TOKEN_VALID_LIFETIME = 312,
+ TOKEN_MIN_VALID_LIFETIME = 313,
+ TOKEN_MAX_VALID_LIFETIME = 314,
+ TOKEN_RENEW_TIMER = 315,
+ TOKEN_REBIND_TIMER = 316,
+ TOKEN_CALCULATE_TEE_TIMES = 317,
+ TOKEN_T1_PERCENT = 318,
+ TOKEN_T2_PERCENT = 319,
+ TOKEN_CACHE_THRESHOLD = 320,
+ TOKEN_CACHE_MAX_AGE = 321,
+ TOKEN_DECLINE_PROBATION_PERIOD = 322,
+ TOKEN_SERVER_TAG = 323,
+ TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 324,
+ TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 325,
+ TOKEN_DDNS_SEND_UPDATES = 326,
+ TOKEN_DDNS_OVERRIDE_NO_UPDATE = 327,
+ TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 328,
+ TOKEN_DDNS_REPLACE_CLIENT_NAME = 329,
+ TOKEN_DDNS_GENERATED_PREFIX = 330,
+ TOKEN_DDNS_QUALIFYING_SUFFIX = 331,
+ TOKEN_DDNS_UPDATE_ON_RENEW = 332,
+ TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 333,
+ TOKEN_STORE_EXTENDED_INFO = 334,
+ TOKEN_SUBNET4 = 335,
+ TOKEN_SUBNET_4O6_INTERFACE = 336,
+ TOKEN_SUBNET_4O6_INTERFACE_ID = 337,
+ TOKEN_SUBNET_4O6_SUBNET = 338,
+ TOKEN_OPTION_DEF = 339,
+ TOKEN_OPTION_DATA = 340,
+ TOKEN_NAME = 341,
+ TOKEN_DATA = 342,
+ TOKEN_CODE = 343,
+ TOKEN_SPACE = 344,
+ TOKEN_CSV_FORMAT = 345,
+ TOKEN_ALWAYS_SEND = 346,
+ TOKEN_RECORD_TYPES = 347,
+ TOKEN_ENCAPSULATE = 348,
+ TOKEN_ARRAY = 349,
+ TOKEN_SHARED_NETWORKS = 350,
+ TOKEN_POOLS = 351,
+ TOKEN_POOL = 352,
+ TOKEN_USER_CONTEXT = 353,
+ TOKEN_COMMENT = 354,
+ TOKEN_SUBNET = 355,
+ TOKEN_INTERFACE = 356,
+ TOKEN_ID = 357,
+ TOKEN_RESERVATION_MODE = 358,
+ TOKEN_DISABLED = 359,
+ TOKEN_OUT_OF_POOL = 360,
+ TOKEN_GLOBAL = 361,
+ TOKEN_ALL = 362,
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 363,
+ TOKEN_CLIENT_CLASSES = 364,
+ TOKEN_REQUIRE_CLIENT_CLASSES = 365,
+ TOKEN_TEST = 366,
+ TOKEN_ONLY_IF_REQUIRED = 367,
+ TOKEN_CLIENT_CLASS = 368,
+ TOKEN_RESERVATIONS = 369,
+ TOKEN_DUID = 370,
+ TOKEN_HW_ADDRESS = 371,
+ TOKEN_CIRCUIT_ID = 372,
+ TOKEN_CLIENT_ID = 373,
+ TOKEN_HOSTNAME = 374,
+ TOKEN_FLEX_ID = 375,
+ TOKEN_RELAY = 376,
+ TOKEN_IP_ADDRESS = 377,
+ TOKEN_IP_ADDRESSES = 378,
+ TOKEN_HOOKS_LIBRARIES = 379,
+ TOKEN_LIBRARY = 380,
+ TOKEN_PARAMETERS = 381,
+ TOKEN_EXPIRED_LEASES_PROCESSING = 382,
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 383,
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 384,
+ TOKEN_HOLD_RECLAIMED_TIME = 385,
+ TOKEN_MAX_RECLAIM_LEASES = 386,
+ TOKEN_MAX_RECLAIM_TIME = 387,
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 388,
+ TOKEN_DHCP4O6_PORT = 389,
+ TOKEN_DHCP_MULTI_THREADING = 390,
+ TOKEN_ENABLE_MULTI_THREADING = 391,
+ TOKEN_THREAD_POOL_SIZE = 392,
+ TOKEN_PACKET_QUEUE_SIZE = 393,
+ TOKEN_CONTROL_SOCKET = 394,
+ TOKEN_SOCKET_TYPE = 395,
+ TOKEN_SOCKET_NAME = 396,
+ TOKEN_DHCP_QUEUE_CONTROL = 397,
+ TOKEN_ENABLE_QUEUE = 398,
+ TOKEN_QUEUE_TYPE = 399,
+ TOKEN_CAPACITY = 400,
+ TOKEN_DHCP_DDNS = 401,
+ TOKEN_ENABLE_UPDATES = 402,
+ TOKEN_QUALIFYING_SUFFIX = 403,
+ TOKEN_SERVER_IP = 404,
+ TOKEN_SERVER_PORT = 405,
+ TOKEN_SENDER_IP = 406,
+ TOKEN_SENDER_PORT = 407,
+ TOKEN_MAX_QUEUE_SIZE = 408,
+ TOKEN_NCR_PROTOCOL = 409,
+ TOKEN_NCR_FORMAT = 410,
+ TOKEN_OVERRIDE_NO_UPDATE = 411,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 412,
+ TOKEN_REPLACE_CLIENT_NAME = 413,
+ TOKEN_GENERATED_PREFIX = 414,
+ TOKEN_TCP = 415,
+ TOKEN_JSON = 416,
+ TOKEN_WHEN_PRESENT = 417,
+ TOKEN_NEVER = 418,
+ TOKEN_ALWAYS = 419,
+ TOKEN_WHEN_NOT_PRESENT = 420,
+ TOKEN_HOSTNAME_CHAR_SET = 421,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 422,
+ TOKEN_IP_RESERVATIONS_UNIQUE = 423,
+ TOKEN_LOGGERS = 424,
+ TOKEN_OUTPUT_OPTIONS = 425,
+ TOKEN_OUTPUT = 426,
+ TOKEN_DEBUGLEVEL = 427,
+ TOKEN_SEVERITY = 428,
+ TOKEN_FLUSH = 429,
+ TOKEN_MAXSIZE = 430,
+ TOKEN_MAXVER = 431,
+ TOKEN_PATTERN = 432,
+ TOKEN_TOPLEVEL_JSON = 433,
+ TOKEN_TOPLEVEL_DHCP4 = 434,
+ TOKEN_SUB_DHCP4 = 435,
+ TOKEN_SUB_INTERFACES4 = 436,
+ TOKEN_SUB_SUBNET4 = 437,
+ TOKEN_SUB_POOL4 = 438,
+ TOKEN_SUB_RESERVATION = 439,
+ TOKEN_SUB_OPTION_DEFS = 440,
+ TOKEN_SUB_OPTION_DEF = 441,
+ TOKEN_SUB_OPTION_DATA = 442,
+ TOKEN_SUB_HOOKS_LIBRARY = 443,
+ TOKEN_SUB_DHCP_DDNS = 444,
+ TOKEN_SUB_CONFIG_CONTROL = 445,
+ TOKEN_STRING = 446,
+ TOKEN_INTEGER = 447,
+ TOKEN_FLOAT = 448,
+ TOKEN_BOOLEAN = 449
};
- /// Backward compatibility alias (Bison 3.6).
- typedef token_kind_type yytokentype;
};
- /// Token kind, as returned by yylex.
- typedef token::yytokentype token_kind_type;
+ /// (External) token type, as returned by yylex.
+ typedef token::yytokentype token_type;
- /// Backward compatibility alias (Bison 3.6).
- typedef token_kind_type token_type;
-
- /// Symbol kinds.
- struct symbol_kind
- {
- enum symbol_kind_type
- {
- YYNTOKENS = 194, ///< Number of tokens.
- S_YYEMPTY = -2,
- S_YYEOF = 0, // "end of file"
- S_YYerror = 1, // error
- S_YYUNDEF = 2, // "invalid token"
- S_COMMA = 3, // ","
- S_COLON = 4, // ":"
- S_LSQUARE_BRACKET = 5, // "["
- S_RSQUARE_BRACKET = 6, // "]"
- S_LCURLY_BRACKET = 7, // "{"
- S_RCURLY_BRACKET = 8, // "}"
- S_NULL_TYPE = 9, // "null"
- S_DHCP4 = 10, // "Dhcp4"
- S_CONFIG_CONTROL = 11, // "config-control"
- S_CONFIG_DATABASES = 12, // "config-databases"
- S_CONFIG_FETCH_WAIT_TIME = 13, // "config-fetch-wait-time"
- S_INTERFACES_CONFIG = 14, // "interfaces-config"
- S_INTERFACES = 15, // "interfaces"
- S_DHCP_SOCKET_TYPE = 16, // "dhcp-socket-type"
- S_RAW = 17, // "raw"
- S_UDP = 18, // "udp"
- S_OUTBOUND_INTERFACE = 19, // "outbound-interface"
- S_SAME_AS_INBOUND = 20, // "same-as-inbound"
- S_USE_ROUTING = 21, // "use-routing"
- S_RE_DETECT = 22, // "re-detect"
- S_SANITY_CHECKS = 23, // "sanity-checks"
- S_LEASE_CHECKS = 24, // "lease-checks"
- S_ECHO_CLIENT_ID = 25, // "echo-client-id"
- S_MATCH_CLIENT_ID = 26, // "match-client-id"
- S_AUTHORITATIVE = 27, // "authoritative"
- S_NEXT_SERVER = 28, // "next-server"
- S_SERVER_HOSTNAME = 29, // "server-hostname"
- S_BOOT_FILE_NAME = 30, // "boot-file-name"
- S_LEASE_DATABASE = 31, // "lease-database"
- S_HOSTS_DATABASE = 32, // "hosts-database"
- S_HOSTS_DATABASES = 33, // "hosts-databases"
- S_TYPE = 34, // "type"
- S_MEMFILE = 35, // "memfile"
- S_MYSQL = 36, // "mysql"
- S_POSTGRESQL = 37, // "postgresql"
- S_CQL = 38, // "cql"
- S_USER = 39, // "user"
- S_PASSWORD = 40, // "password"
- S_HOST = 41, // "host"
- S_PORT = 42, // "port"
- S_PERSIST = 43, // "persist"
- S_LFC_INTERVAL = 44, // "lfc-interval"
- S_READONLY = 45, // "readonly"
- S_CONNECT_TIMEOUT = 46, // "connect-timeout"
- S_CONTACT_POINTS = 47, // "contact-points"
- S_KEYSPACE = 48, // "keyspace"
- S_CONSISTENCY = 49, // "consistency"
- S_SERIAL_CONSISTENCY = 50, // "serial-consistency"
- S_MAX_RECONNECT_TRIES = 51, // "max-reconnect-tries"
- S_RECONNECT_WAIT_TIME = 52, // "reconnect-wait-time"
- S_REQUEST_TIMEOUT = 53, // "request-timeout"
- S_TCP_KEEPALIVE = 54, // "tcp-keepalive"
- S_TCP_NODELAY = 55, // "tcp-nodelay"
- S_MAX_ROW_ERRORS = 56, // "max-row-errors"
- S_VALID_LIFETIME = 57, // "valid-lifetime"
- S_MIN_VALID_LIFETIME = 58, // "min-valid-lifetime"
- S_MAX_VALID_LIFETIME = 59, // "max-valid-lifetime"
- S_RENEW_TIMER = 60, // "renew-timer"
- S_REBIND_TIMER = 61, // "rebind-timer"
- S_CALCULATE_TEE_TIMES = 62, // "calculate-tee-times"
- S_T1_PERCENT = 63, // "t1-percent"
- S_T2_PERCENT = 64, // "t2-percent"
- S_CACHE_THRESHOLD = 65, // "cache-threshold"
- S_CACHE_MAX_AGE = 66, // "cache-max-age"
- S_DECLINE_PROBATION_PERIOD = 67, // "decline-probation-period"
- S_SERVER_TAG = 68, // "server-tag"
- S_STATISTIC_DEFAULT_SAMPLE_COUNT = 69, // "statistic-default-sample-count"
- S_STATISTIC_DEFAULT_SAMPLE_AGE = 70, // "statistic-default-sample-age"
- S_DDNS_SEND_UPDATES = 71, // "ddns-send-updates"
- S_DDNS_OVERRIDE_NO_UPDATE = 72, // "ddns-override-no-update"
- S_DDNS_OVERRIDE_CLIENT_UPDATE = 73, // "ddns-override-client-update"
- S_DDNS_REPLACE_CLIENT_NAME = 74, // "ddns-replace-client-name"
- S_DDNS_GENERATED_PREFIX = 75, // "ddns-generated-prefix"
- S_DDNS_QUALIFYING_SUFFIX = 76, // "ddns-qualifying-suffix"
- S_DDNS_UPDATE_ON_RENEW = 77, // "ddns-update-on-renew"
- S_STORE_EXTENDED_INFO = 78, // "store-extended-info"
- S_SUBNET4 = 79, // "subnet4"
- S_SUBNET_4O6_INTERFACE = 80, // "4o6-interface"
- S_SUBNET_4O6_INTERFACE_ID = 81, // "4o6-interface-id"
- S_SUBNET_4O6_SUBNET = 82, // "4o6-subnet"
- S_OPTION_DEF = 83, // "option-def"
- S_OPTION_DATA = 84, // "option-data"
- S_NAME = 85, // "name"
- S_DATA = 86, // "data"
- S_CODE = 87, // "code"
- S_SPACE = 88, // "space"
- S_CSV_FORMAT = 89, // "csv-format"
- S_ALWAYS_SEND = 90, // "always-send"
- S_RECORD_TYPES = 91, // "record-types"
- S_ENCAPSULATE = 92, // "encapsulate"
- S_ARRAY = 93, // "array"
- S_SHARED_NETWORKS = 94, // "shared-networks"
- S_POOLS = 95, // "pools"
- S_POOL = 96, // "pool"
- S_USER_CONTEXT = 97, // "user-context"
- S_COMMENT = 98, // "comment"
- S_SUBNET = 99, // "subnet"
- S_INTERFACE = 100, // "interface"
- S_ID = 101, // "id"
- S_RESERVATION_MODE = 102, // "reservation-mode"
- S_DISABLED = 103, // "disabled"
- S_OUT_OF_POOL = 104, // "out-of-pool"
- S_GLOBAL = 105, // "global"
- S_ALL = 106, // "all"
- S_HOST_RESERVATION_IDENTIFIERS = 107, // "host-reservation-identifiers"
- S_CLIENT_CLASSES = 108, // "client-classes"
- S_REQUIRE_CLIENT_CLASSES = 109, // "require-client-classes"
- S_TEST = 110, // "test"
- S_ONLY_IF_REQUIRED = 111, // "only-if-required"
- S_CLIENT_CLASS = 112, // "client-class"
- S_RESERVATIONS = 113, // "reservations"
- S_DUID = 114, // "duid"
- S_HW_ADDRESS = 115, // "hw-address"
- S_CIRCUIT_ID = 116, // "circuit-id"
- S_CLIENT_ID = 117, // "client-id"
- S_HOSTNAME = 118, // "hostname"
- S_FLEX_ID = 119, // "flex-id"
- S_RELAY = 120, // "relay"
- S_IP_ADDRESS = 121, // "ip-address"
- S_IP_ADDRESSES = 122, // "ip-addresses"
- S_HOOKS_LIBRARIES = 123, // "hooks-libraries"
- S_LIBRARY = 124, // "library"
- S_PARAMETERS = 125, // "parameters"
- S_EXPIRED_LEASES_PROCESSING = 126, // "expired-leases-processing"
- S_RECLAIM_TIMER_WAIT_TIME = 127, // "reclaim-timer-wait-time"
- S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 128, // "flush-reclaimed-timer-wait-time"
- S_HOLD_RECLAIMED_TIME = 129, // "hold-reclaimed-time"
- S_MAX_RECLAIM_LEASES = 130, // "max-reclaim-leases"
- S_MAX_RECLAIM_TIME = 131, // "max-reclaim-time"
- S_UNWARNED_RECLAIM_CYCLES = 132, // "unwarned-reclaim-cycles"
- S_DHCP4O6_PORT = 133, // "dhcp4o6-port"
- S_DHCP_MULTI_THREADING = 134, // "multi-threading"
- S_ENABLE_MULTI_THREADING = 135, // "enable-multi-threading"
- S_THREAD_POOL_SIZE = 136, // "thread-pool-size"
- S_PACKET_QUEUE_SIZE = 137, // "packet-queue-size"
- S_CONTROL_SOCKET = 138, // "control-socket"
- S_SOCKET_TYPE = 139, // "socket-type"
- S_SOCKET_NAME = 140, // "socket-name"
- S_DHCP_QUEUE_CONTROL = 141, // "dhcp-queue-control"
- S_ENABLE_QUEUE = 142, // "enable-queue"
- S_QUEUE_TYPE = 143, // "queue-type"
- S_CAPACITY = 144, // "capacity"
- S_DHCP_DDNS = 145, // "dhcp-ddns"
- S_ENABLE_UPDATES = 146, // "enable-updates"
- S_QUALIFYING_SUFFIX = 147, // "qualifying-suffix"
- S_SERVER_IP = 148, // "server-ip"
- S_SERVER_PORT = 149, // "server-port"
- S_SENDER_IP = 150, // "sender-ip"
- S_SENDER_PORT = 151, // "sender-port"
- S_MAX_QUEUE_SIZE = 152, // "max-queue-size"
- S_NCR_PROTOCOL = 153, // "ncr-protocol"
- S_NCR_FORMAT = 154, // "ncr-format"
- S_OVERRIDE_NO_UPDATE = 155, // "override-no-update"
- S_OVERRIDE_CLIENT_UPDATE = 156, // "override-client-update"
- S_REPLACE_CLIENT_NAME = 157, // "replace-client-name"
- S_GENERATED_PREFIX = 158, // "generated-prefix"
- S_TCP = 159, // "tcp"
- S_JSON = 160, // "JSON"
- S_WHEN_PRESENT = 161, // "when-present"
- S_NEVER = 162, // "never"
- S_ALWAYS = 163, // "always"
- S_WHEN_NOT_PRESENT = 164, // "when-not-present"
- S_HOSTNAME_CHAR_SET = 165, // "hostname-char-set"
- S_HOSTNAME_CHAR_REPLACEMENT = 166, // "hostname-char-replacement"
- S_IP_RESERVATIONS_UNIQUE = 167, // "ip-reservations-unique"
- S_LOGGERS = 168, // "loggers"
- S_OUTPUT_OPTIONS = 169, // "output_options"
- S_OUTPUT = 170, // "output"
- S_DEBUGLEVEL = 171, // "debuglevel"
- S_SEVERITY = 172, // "severity"
- S_FLUSH = 173, // "flush"
- S_MAXSIZE = 174, // "maxsize"
- S_MAXVER = 175, // "maxver"
- S_PATTERN = 176, // "pattern"
- S_TOPLEVEL_JSON = 177, // TOPLEVEL_JSON
- S_TOPLEVEL_DHCP4 = 178, // TOPLEVEL_DHCP4
- S_SUB_DHCP4 = 179, // SUB_DHCP4
- S_SUB_INTERFACES4 = 180, // SUB_INTERFACES4
- S_SUB_SUBNET4 = 181, // SUB_SUBNET4
- S_SUB_POOL4 = 182, // SUB_POOL4
- S_SUB_RESERVATION = 183, // SUB_RESERVATION
- S_SUB_OPTION_DEFS = 184, // SUB_OPTION_DEFS
- S_SUB_OPTION_DEF = 185, // SUB_OPTION_DEF
- S_SUB_OPTION_DATA = 186, // SUB_OPTION_DATA
- S_SUB_HOOKS_LIBRARY = 187, // SUB_HOOKS_LIBRARY
- S_SUB_DHCP_DDNS = 188, // SUB_DHCP_DDNS
- S_SUB_CONFIG_CONTROL = 189, // SUB_CONFIG_CONTROL
- S_STRING = 190, // "constant string"
- S_INTEGER = 191, // "integer"
- S_FLOAT = 192, // "floating point"
- S_BOOLEAN = 193, // "boolean"
- S_YYACCEPT = 194, // $accept
- S_start = 195, // start
- S_196_1 = 196, // $@1
- S_197_2 = 197, // $@2
- S_198_3 = 198, // $@3
- S_199_4 = 199, // $@4
- S_200_5 = 200, // $@5
- S_201_6 = 201, // $@6
- S_202_7 = 202, // $@7
- S_203_8 = 203, // $@8
- S_204_9 = 204, // $@9
- S_205_10 = 205, // $@10
- S_206_11 = 206, // $@11
- S_207_12 = 207, // $@12
- S_208_13 = 208, // $@13
- S_value = 209, // value
- S_sub_json = 210, // sub_json
- S_map2 = 211, // map2
- S_212_14 = 212, // $@14
- S_map_value = 213, // map_value
- S_map_content = 214, // map_content
- S_not_empty_map = 215, // not_empty_map
- S_list_generic = 216, // list_generic
- S_217_15 = 217, // $@15
- S_list_content = 218, // list_content
- S_not_empty_list = 219, // not_empty_list
- S_list_strings = 220, // list_strings
- S_221_16 = 221, // $@16
- S_list_strings_content = 222, // list_strings_content
- S_not_empty_list_strings = 223, // not_empty_list_strings
- S_unknown_map_entry = 224, // unknown_map_entry
- S_syntax_map = 225, // syntax_map
- S_226_17 = 226, // $@17
- S_global_object = 227, // global_object
- S_228_18 = 228, // $@18
- S_sub_dhcp4 = 229, // sub_dhcp4
- S_230_19 = 230, // $@19
- S_global_params = 231, // global_params
- S_global_param = 232, // global_param
- S_valid_lifetime = 233, // valid_lifetime
- S_min_valid_lifetime = 234, // min_valid_lifetime
- S_max_valid_lifetime = 235, // max_valid_lifetime
- S_renew_timer = 236, // renew_timer
- S_rebind_timer = 237, // rebind_timer
- S_calculate_tee_times = 238, // calculate_tee_times
- S_t1_percent = 239, // t1_percent
- S_t2_percent = 240, // t2_percent
- S_cache_threshold = 241, // cache_threshold
- S_cache_max_age = 242, // cache_max_age
- S_decline_probation_period = 243, // decline_probation_period
- S_server_tag = 244, // server_tag
- S_245_20 = 245, // $@20
- S_echo_client_id = 246, // echo_client_id
- S_match_client_id = 247, // match_client_id
- S_authoritative = 248, // authoritative
- S_ddns_send_updates = 249, // ddns_send_updates
- S_ddns_override_no_update = 250, // ddns_override_no_update
- S_ddns_override_client_update = 251, // ddns_override_client_update
- S_ddns_replace_client_name = 252, // ddns_replace_client_name
- S_253_21 = 253, // $@21
- S_ddns_replace_client_name_value = 254, // ddns_replace_client_name_value
- S_ddns_generated_prefix = 255, // ddns_generated_prefix
- S_256_22 = 256, // $@22
- S_ddns_qualifying_suffix = 257, // ddns_qualifying_suffix
- S_258_23 = 258, // $@23
- S_ddns_update_on_renew = 259, // ddns_update_on_renew
- S_hostname_char_set = 260, // hostname_char_set
- S_261_24 = 261, // $@24
- S_hostname_char_replacement = 262, // hostname_char_replacement
- S_263_25 = 263, // $@25
- S_store_extended_info = 264, // store_extended_info
- S_statistic_default_sample_count = 265, // statistic_default_sample_count
- S_statistic_default_sample_age = 266, // statistic_default_sample_age
- S_ip_reservations_unique = 267, // ip_reservations_unique
- S_interfaces_config = 268, // interfaces_config
- S_269_26 = 269, // $@26
- S_interfaces_config_params = 270, // interfaces_config_params
- S_interfaces_config_param = 271, // interfaces_config_param
- S_sub_interfaces4 = 272, // sub_interfaces4
- S_273_27 = 273, // $@27
- S_interfaces_list = 274, // interfaces_list
- S_275_28 = 275, // $@28
- S_dhcp_socket_type = 276, // dhcp_socket_type
- S_277_29 = 277, // $@29
- S_socket_type = 278, // socket_type
- S_outbound_interface = 279, // outbound_interface
- S_280_30 = 280, // $@30
- S_outbound_interface_value = 281, // outbound_interface_value
- S_re_detect = 282, // re_detect
- S_lease_database = 283, // lease_database
- S_284_31 = 284, // $@31
- S_sanity_checks = 285, // sanity_checks
- S_286_32 = 286, // $@32
- S_sanity_checks_params = 287, // sanity_checks_params
- S_sanity_checks_param = 288, // sanity_checks_param
- S_lease_checks = 289, // lease_checks
- S_290_33 = 290, // $@33
- S_hosts_database = 291, // hosts_database
- S_292_34 = 292, // $@34
- S_hosts_databases = 293, // hosts_databases
- S_294_35 = 294, // $@35
- S_database_list = 295, // database_list
- S_not_empty_database_list = 296, // not_empty_database_list
- S_database = 297, // database
- S_298_36 = 298, // $@36
- S_database_map_params = 299, // database_map_params
- S_database_map_param = 300, // database_map_param
- S_database_type = 301, // database_type
- S_302_37 = 302, // $@37
- S_db_type = 303, // db_type
- S_user = 304, // user
- S_305_38 = 305, // $@38
- S_password = 306, // password
- S_307_39 = 307, // $@39
- S_host = 308, // host
- S_309_40 = 309, // $@40
- S_port = 310, // port
- S_name = 311, // name
- S_312_41 = 312, // $@41
- S_persist = 313, // persist
- S_lfc_interval = 314, // lfc_interval
- S_readonly = 315, // readonly
- S_connect_timeout = 316, // connect_timeout
- S_request_timeout = 317, // request_timeout
- S_tcp_keepalive = 318, // tcp_keepalive
- S_tcp_nodelay = 319, // tcp_nodelay
- S_contact_points = 320, // contact_points
- S_321_42 = 321, // $@42
- S_keyspace = 322, // keyspace
- S_323_43 = 323, // $@43
- S_consistency = 324, // consistency
- S_325_44 = 325, // $@44
- S_serial_consistency = 326, // serial_consistency
- S_327_45 = 327, // $@45
- S_max_reconnect_tries = 328, // max_reconnect_tries
- S_reconnect_wait_time = 329, // reconnect_wait_time
- S_max_row_errors = 330, // max_row_errors
- S_host_reservation_identifiers = 331, // host_reservation_identifiers
- S_332_46 = 332, // $@46
- S_host_reservation_identifiers_list = 333, // host_reservation_identifiers_list
- S_host_reservation_identifier = 334, // host_reservation_identifier
- S_duid_id = 335, // duid_id
- S_hw_address_id = 336, // hw_address_id
- S_circuit_id = 337, // circuit_id
- S_client_id = 338, // client_id
- S_flex_id = 339, // flex_id
- S_dhcp_multi_threading = 340, // dhcp_multi_threading
- S_341_47 = 341, // $@47
- S_multi_threading_params = 342, // multi_threading_params
- S_multi_threading_param = 343, // multi_threading_param
- S_enable_multi_threading = 344, // enable_multi_threading
- S_thread_pool_size = 345, // thread_pool_size
- S_packet_queue_size = 346, // packet_queue_size
- S_hooks_libraries = 347, // hooks_libraries
- S_348_48 = 348, // $@48
- S_hooks_libraries_list = 349, // hooks_libraries_list
- S_not_empty_hooks_libraries_list = 350, // not_empty_hooks_libraries_list
- S_hooks_library = 351, // hooks_library
- S_352_49 = 352, // $@49
- S_sub_hooks_library = 353, // sub_hooks_library
- S_354_50 = 354, // $@50
- S_hooks_params = 355, // hooks_params
- S_hooks_param = 356, // hooks_param
- S_library = 357, // library
- S_358_51 = 358, // $@51
- S_parameters = 359, // parameters
- S_360_52 = 360, // $@52
- S_expired_leases_processing = 361, // expired_leases_processing
- S_362_53 = 362, // $@53
- S_expired_leases_params = 363, // expired_leases_params
- S_expired_leases_param = 364, // expired_leases_param
- S_reclaim_timer_wait_time = 365, // reclaim_timer_wait_time
- S_flush_reclaimed_timer_wait_time = 366, // flush_reclaimed_timer_wait_time
- S_hold_reclaimed_time = 367, // hold_reclaimed_time
- S_max_reclaim_leases = 368, // max_reclaim_leases
- S_max_reclaim_time = 369, // max_reclaim_time
- S_unwarned_reclaim_cycles = 370, // unwarned_reclaim_cycles
- S_subnet4_list = 371, // subnet4_list
- S_372_54 = 372, // $@54
- S_subnet4_list_content = 373, // subnet4_list_content
- S_not_empty_subnet4_list = 374, // not_empty_subnet4_list
- S_subnet4 = 375, // subnet4
- S_376_55 = 376, // $@55
- S_sub_subnet4 = 377, // sub_subnet4
- S_378_56 = 378, // $@56
- S_subnet4_params = 379, // subnet4_params
- S_subnet4_param = 380, // subnet4_param
- S_subnet = 381, // subnet
- S_382_57 = 382, // $@57
- S_subnet_4o6_interface = 383, // subnet_4o6_interface
- S_384_58 = 384, // $@58
- S_subnet_4o6_interface_id = 385, // subnet_4o6_interface_id
- S_386_59 = 386, // $@59
- S_subnet_4o6_subnet = 387, // subnet_4o6_subnet
- S_388_60 = 388, // $@60
- S_interface = 389, // interface
- S_390_61 = 390, // $@61
- S_client_class = 391, // client_class
- S_392_62 = 392, // $@62
- S_require_client_classes = 393, // require_client_classes
- S_394_63 = 394, // $@63
- S_reservation_mode = 395, // reservation_mode
- S_396_64 = 396, // $@64
- S_hr_mode = 397, // hr_mode
- S_id = 398, // id
- S_shared_networks = 399, // shared_networks
- S_400_65 = 400, // $@65
- S_shared_networks_content = 401, // shared_networks_content
- S_shared_networks_list = 402, // shared_networks_list
- S_shared_network = 403, // shared_network
- S_404_66 = 404, // $@66
- S_shared_network_params = 405, // shared_network_params
- S_shared_network_param = 406, // shared_network_param
- S_option_def_list = 407, // option_def_list
- S_408_67 = 408, // $@67
- S_sub_option_def_list = 409, // sub_option_def_list
- S_410_68 = 410, // $@68
- S_option_def_list_content = 411, // option_def_list_content
- S_not_empty_option_def_list = 412, // not_empty_option_def_list
- S_option_def_entry = 413, // option_def_entry
- S_414_69 = 414, // $@69
- S_sub_option_def = 415, // sub_option_def
- S_416_70 = 416, // $@70
- S_option_def_params = 417, // option_def_params
- S_not_empty_option_def_params = 418, // not_empty_option_def_params
- S_option_def_param = 419, // option_def_param
- S_option_def_name = 420, // option_def_name
- S_code = 421, // code
- S_option_def_code = 422, // option_def_code
- S_option_def_type = 423, // option_def_type
- S_424_71 = 424, // $@71
- S_option_def_record_types = 425, // option_def_record_types
- S_426_72 = 426, // $@72
- S_space = 427, // space
- S_428_73 = 428, // $@73
- S_option_def_space = 429, // option_def_space
- S_option_def_encapsulate = 430, // option_def_encapsulate
- S_431_74 = 431, // $@74
- S_option_def_array = 432, // option_def_array
- S_option_data_list = 433, // option_data_list
- S_434_75 = 434, // $@75
- S_option_data_list_content = 435, // option_data_list_content
- S_not_empty_option_data_list = 436, // not_empty_option_data_list
- S_option_data_entry = 437, // option_data_entry
- S_438_76 = 438, // $@76
- S_sub_option_data = 439, // sub_option_data
- S_440_77 = 440, // $@77
- S_option_data_params = 441, // option_data_params
- S_not_empty_option_data_params = 442, // not_empty_option_data_params
- S_option_data_param = 443, // option_data_param
- S_option_data_name = 444, // option_data_name
- S_option_data_data = 445, // option_data_data
- S_446_78 = 446, // $@78
- S_option_data_code = 447, // option_data_code
- S_option_data_space = 448, // option_data_space
- S_option_data_csv_format = 449, // option_data_csv_format
- S_option_data_always_send = 450, // option_data_always_send
- S_pools_list = 451, // pools_list
- S_452_79 = 452, // $@79
- S_pools_list_content = 453, // pools_list_content
- S_not_empty_pools_list = 454, // not_empty_pools_list
- S_pool_list_entry = 455, // pool_list_entry
- S_456_80 = 456, // $@80
- S_sub_pool4 = 457, // sub_pool4
- S_458_81 = 458, // $@81
- S_pool_params = 459, // pool_params
- S_pool_param = 460, // pool_param
- S_pool_entry = 461, // pool_entry
- S_462_82 = 462, // $@82
- S_user_context = 463, // user_context
- S_464_83 = 464, // $@83
- S_comment = 465, // comment
- S_466_84 = 466, // $@84
- S_reservations = 467, // reservations
- S_468_85 = 468, // $@85
- S_reservations_list = 469, // reservations_list
- S_not_empty_reservations_list = 470, // not_empty_reservations_list
- S_reservation = 471, // reservation
- S_472_86 = 472, // $@86
- S_sub_reservation = 473, // sub_reservation
- S_474_87 = 474, // $@87
- S_reservation_params = 475, // reservation_params
- S_not_empty_reservation_params = 476, // not_empty_reservation_params
- S_reservation_param = 477, // reservation_param
- S_next_server = 478, // next_server
- S_479_88 = 479, // $@88
- S_server_hostname = 480, // server_hostname
- S_481_89 = 481, // $@89
- S_boot_file_name = 482, // boot_file_name
- S_483_90 = 483, // $@90
- S_ip_address = 484, // ip_address
- S_485_91 = 485, // $@91
- S_ip_addresses = 486, // ip_addresses
- S_487_92 = 487, // $@92
- S_duid = 488, // duid
- S_489_93 = 489, // $@93
- S_hw_address = 490, // hw_address
- S_491_94 = 491, // $@94
- S_client_id_value = 492, // client_id_value
- S_493_95 = 493, // $@95
- S_circuit_id_value = 494, // circuit_id_value
- S_495_96 = 495, // $@96
- S_flex_id_value = 496, // flex_id_value
- S_497_97 = 497, // $@97
- S_hostname = 498, // hostname
- S_499_98 = 499, // $@98
- S_reservation_client_classes = 500, // reservation_client_classes
- S_501_99 = 501, // $@99
- S_relay = 502, // relay
- S_503_100 = 503, // $@100
- S_relay_map = 504, // relay_map
- S_client_classes = 505, // client_classes
- S_506_101 = 506, // $@101
- S_client_classes_list = 507, // client_classes_list
- S_client_class_entry = 508, // client_class_entry
- S_509_102 = 509, // $@102
- S_client_class_params = 510, // client_class_params
- S_not_empty_client_class_params = 511, // not_empty_client_class_params
- S_client_class_param = 512, // client_class_param
- S_client_class_name = 513, // client_class_name
- S_client_class_test = 514, // client_class_test
- S_515_103 = 515, // $@103
- S_only_if_required = 516, // only_if_required
- S_dhcp4o6_port = 517, // dhcp4o6_port
- S_control_socket = 518, // control_socket
- S_519_104 = 519, // $@104
- S_control_socket_params = 520, // control_socket_params
- S_control_socket_param = 521, // control_socket_param
- S_control_socket_type = 522, // control_socket_type
- S_523_105 = 523, // $@105
- S_control_socket_name = 524, // control_socket_name
- S_525_106 = 525, // $@106
- S_dhcp_queue_control = 526, // dhcp_queue_control
- S_527_107 = 527, // $@107
- S_queue_control_params = 528, // queue_control_params
- S_queue_control_param = 529, // queue_control_param
- S_enable_queue = 530, // enable_queue
- S_queue_type = 531, // queue_type
- S_532_108 = 532, // $@108
- S_capacity = 533, // capacity
- S_arbitrary_map_entry = 534, // arbitrary_map_entry
- S_535_109 = 535, // $@109
- S_dhcp_ddns = 536, // dhcp_ddns
- S_537_110 = 537, // $@110
- S_sub_dhcp_ddns = 538, // sub_dhcp_ddns
- S_539_111 = 539, // $@111
- S_dhcp_ddns_params = 540, // dhcp_ddns_params
- S_dhcp_ddns_param = 541, // dhcp_ddns_param
- S_enable_updates = 542, // enable_updates
- S_server_ip = 543, // server_ip
- S_544_112 = 544, // $@112
- S_server_port = 545, // server_port
- S_sender_ip = 546, // sender_ip
- S_547_113 = 547, // $@113
- S_sender_port = 548, // sender_port
- S_max_queue_size = 549, // max_queue_size
- S_ncr_protocol = 550, // ncr_protocol
- S_551_114 = 551, // $@114
- S_ncr_protocol_value = 552, // ncr_protocol_value
- S_ncr_format = 553, // ncr_format
- S_554_115 = 554, // $@115
- S_dep_qualifying_suffix = 555, // dep_qualifying_suffix
- S_556_116 = 556, // $@116
- S_dep_override_no_update = 557, // dep_override_no_update
- S_dep_override_client_update = 558, // dep_override_client_update
- S_dep_replace_client_name = 559, // dep_replace_client_name
- S_560_117 = 560, // $@117
- S_dep_generated_prefix = 561, // dep_generated_prefix
- S_562_118 = 562, // $@118
- S_dep_hostname_char_set = 563, // dep_hostname_char_set
- S_564_119 = 564, // $@119
- S_dep_hostname_char_replacement = 565, // dep_hostname_char_replacement
- S_566_120 = 566, // $@120
- S_config_control = 567, // config_control
- S_568_121 = 568, // $@121
- S_sub_config_control = 569, // sub_config_control
- S_570_122 = 570, // $@122
- S_config_control_params = 571, // config_control_params
- S_config_control_param = 572, // config_control_param
- S_config_databases = 573, // config_databases
- S_574_123 = 574, // $@123
- S_config_fetch_wait_time = 575, // config_fetch_wait_time
- S_loggers = 576, // loggers
- S_577_124 = 577, // $@124
- S_loggers_entries = 578, // loggers_entries
- S_logger_entry = 579, // logger_entry
- S_580_125 = 580, // $@125
- S_logger_params = 581, // logger_params
- S_logger_param = 582, // logger_param
- S_debuglevel = 583, // debuglevel
- S_severity = 584, // severity
- S_585_126 = 585, // $@126
- S_output_options_list = 586, // output_options_list
- S_587_127 = 587, // $@127
- S_output_options_list_content = 588, // output_options_list_content
- S_output_entry = 589, // output_entry
- S_590_128 = 590, // $@128
- S_output_params_list = 591, // output_params_list
- S_output_params = 592, // output_params
- S_output = 593, // output
- S_594_129 = 594, // $@129
- S_flush = 595, // flush
- S_maxsize = 596, // maxsize
- S_maxver = 597, // maxver
- S_pattern = 598, // pattern
- S_599_130 = 599 // $@130
- };
- };
+ /// Symbol type: an internal symbol number.
+ typedef int symbol_number_type;
- /// (Internal) symbol kind.
- typedef symbol_kind::symbol_kind_type symbol_kind_type;
+ /// The symbol type number to denote an empty symbol.
+ enum { empty_symbol = -2 };
- /// The number of tokens.
- static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS;
+ /// Internal symbol number for tokens (subsumed by symbol_number_type).
+ typedef unsigned char token_number_type;
/// A complete symbol.
///
- /// Expects its Base type to provide access to the symbol kind
- /// via kind ().
+ /// Expects its Base type to provide access to the symbol type
+ /// via type_get().
///
/// Provide access to semantic value and location.
template <typename Base>
typedef Base super_type;
/// Default constructor.
- basic_symbol ()
- : value ()
- , location ()
- {}
-
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- basic_symbol (basic_symbol&& that)
- : Base (std::move (that))
- , value ()
- , location (std::move (that.location))
- {
- switch (this->kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (std::move (that.value));
- break;
-
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
-
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (std::move (that.value));
- break;
-
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
-
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
-
- default:
- break;
- }
-
- }
-#endif
+ basic_symbol ();
/// Copy constructor.
- basic_symbol (const basic_symbol& that);
+ basic_symbol (const basic_symbol& other);
/// 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
- /// Destroy the symbol.
- ~basic_symbol ()
- {
- clear ();
- }
+ basic_symbol (typename Base::kind_type t, const location_type& l);
- /// Destroy contents, and record that is empty.
- void clear ()
- {
- // User destructor.
- symbol_kind_type yykind = this->kind ();
- basic_symbol<Base>& yysym = *this;
- (void) yysym;
- switch (yykind)
- {
- default:
- break;
- }
-
- // Value type destructor.
-switch (yykind)
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case symbol_kind::S_FLOAT: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case symbol_kind::S_INTEGER: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case symbol_kind::S_STRING: // "constant string"
- value.template destroy< std::string > ();
- break;
+ basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l);
- default:
- break;
- }
- Base::clear ();
- }
+ /// Constructor for symbols with semantic value.
+ basic_symbol (typename Base::kind_type t,
+ const semantic_type& v,
+ const location_type& l);
- /// The user-facing name of this symbol.
- std::string name () const YY_NOEXCEPT
- {
- return Dhcp4Parser::symbol_name (this->kind ());
- }
+ /// Destroy the symbol.
+ ~basic_symbol ();
- /// Backward compatibility (Bison 3.6).
- symbol_kind_type type_get () const YY_NOEXCEPT;
+ /// Destroy contents, and record that is empty.
+ 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
/// Assignment operator.
- basic_symbol& operator= (const basic_symbol& that);
-#endif
+ basic_symbol& operator= (const basic_symbol& other);
};
/// Type access provider for token (enum) based symbols.
- struct by_kind
+ struct by_type
{
/// Default constructor.
- by_kind ();
-
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- by_kind (by_kind&& that);
-#endif
+ by_type ();
/// Copy constructor.
- by_kind (const by_kind& that);
+ by_type (const by_type& other);
- /// The symbol kind as needed by the constructor.
- typedef token_kind_type kind_type;
+ /// The symbol type as needed by the constructor.
+ typedef token_type kind_type;
/// Constructor from (external) token numbers.
- by_kind (kind_type t);
+ by_type (kind_type t);
/// Record that this symbol is empty.
void clear ();
- /// Steal the symbol kind from \a that.
- void move (by_kind& that);
+ /// Steal the symbol type from \a that.
+ void move (by_type& that);
/// The (internal) type number (corresponding to \a type).
/// \a empty when empty.
- symbol_kind_type kind () const YY_NOEXCEPT;
+ symbol_number_type type_get () const;
- /// Backward compatibility (Bison 3.6).
- symbol_kind_type type_get () const YY_NOEXCEPT;
+ /// The token.
+ token_type token () const;
- /// The symbol kind.
- /// \a S_YYEMPTY when empty.
- symbol_kind_type kind_;
+ /// The symbol type.
+ /// \a empty_symbol when empty.
+ /// An int, not token_number_type, to be able to store empty_symbol.
+ int type;
};
- /// Backward compatibility for a private implementation detail (Bison 3.6).
- typedef by_kind by_type;
-
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_kind>
- {
- /// Superclass.
- typedef basic_symbol<by_kind> super_type;
+ typedef basic_symbol<by_type> symbol_type;
- /// Empty symbol.
- symbol_type () {}
+ // Symbol constructors declarations.
+ static inline
+ symbol_type
+ make_END (const location_type& l);
- /// 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))
- {
- YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || 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_DHCP4 || 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_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || 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_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || 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_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || 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_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || 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_HOST_RESERVATION_IDENTIFIERS || 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_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || 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_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || 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_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_IP_RESERVATIONS_UNIQUE || 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_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || 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_CONFIG_CONTROL);
- }
-#else
- symbol_type (int tok, const location_type& l)
- : super_type(token_type (tok), l)
- {
- YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || 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_DHCP4 || 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_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || 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_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || 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_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || 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_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || 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_HOST_RESERVATION_IDENTIFIERS || 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_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || 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_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || 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_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_IP_RESERVATIONS_UNIQUE || 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_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || 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_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))
- {
- YY_ASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#else
- symbol_type (int tok, const bool& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (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))
- {
- YY_ASSERT (tok == token::TOKEN_FLOAT);
- }
-#else
- symbol_type (int tok, const double& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (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))
- {
- YY_ASSERT (tok == token::TOKEN_INTEGER);
- }
-#else
- symbol_type (int tok, const int64_t& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (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))
- {
- YY_ASSERT (tok == token::TOKEN_STRING);
- }
-#else
- symbol_type (int tok, const std::string& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (tok == token::TOKEN_STRING);
- }
-#endif
- };
+ static inline
+ symbol_type
+ make_COMMA (const location_type& l);
- /// Build a parser object.
- Dhcp4Parser (isc::dhcp::Parser4Context& ctx_yyarg);
- virtual ~Dhcp4Parser ();
+ static inline
+ symbol_type
+ make_COLON (const location_type& l);
-#if 201103L <= YY_CPLUSPLUS
- /// Non copyable.
- Dhcp4Parser (const Dhcp4Parser&) = delete;
- /// Non copyable.
- Dhcp4Parser& operator= (const Dhcp4Parser&) = delete;
-#endif
+ static inline
+ symbol_type
+ make_LSQUARE_BRACKET (const location_type& l);
- /// Parse. An alias for parse ().
- /// \returns 0 iff parsing succeeded.
- int operator() ();
+ static inline
+ symbol_type
+ make_RSQUARE_BRACKET (const location_type& l);
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
+ static inline
+ symbol_type
+ make_LCURLY_BRACKET (const location_type& l);
-#if PARSER4_DEBUG
- /// The current debugging stream.
- std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
- /// Set the current debugging stream.
- void set_debug_stream (std::ostream &);
+ static inline
+ symbol_type
+ make_RCURLY_BRACKET (const location_type& l);
- /// Type for debugging levels.
- typedef int debug_level_type;
- /// The current debugging level.
- debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
- /// Set the current debugging level.
- void set_debug_level (debug_level_type l);
-#endif
+ static inline
+ symbol_type
+ make_NULL_TYPE (const location_type& l);
- /// Report a syntax error.
- /// \param loc where the syntax error is found.
- /// \param msg a description of the syntax error.
- virtual void error (const location_type& loc, const std::string& msg);
+ static inline
+ symbol_type
+ make_DHCP4 (const location_type& l);
- /// Report a syntax error.
- void error (const syntax_error& err);
+ static inline
+ symbol_type
+ make_CONFIG_CONTROL (const location_type& l);
- /// The user-facing name of the symbol whose (internal) number is
- /// YYSYMBOL. No bounds checking.
- static std::string symbol_name (symbol_kind_type yysymbol);
+ static inline
+ symbol_type
+ make_CONFIG_DATABASES (const location_type& l);
- // 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_PARSER4_error (location_type l)
- {
- return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
- }
-#else
- static
- symbol_type
- make_PARSER4_error (const location_type& l)
- {
- return symbol_type (token::TOKEN_PARSER4_error, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PARSER4_UNDEF (location_type l)
- {
- return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
- }
-#else
- static
- symbol_type
- make_PARSER4_UNDEF (const location_type& l)
- {
- return symbol_type (token::TOKEN_PARSER4_UNDEF, 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_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_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_DHCP_SOCKET_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_SOCKET_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RAW (location_type l)
- {
- return symbol_type (token::TOKEN_RAW, std::move (l));
- }
-#else
- static
- symbol_type
- make_RAW (const location_type& l)
- {
- return symbol_type (token::TOKEN_RAW, 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_OUTBOUND_INTERFACE (location_type l)
- {
- return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTBOUND_INTERFACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SAME_AS_INBOUND (location_type l)
- {
- return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
- }
-#else
- static
- symbol_type
- make_SAME_AS_INBOUND (const location_type& l)
- {
- return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USE_ROUTING (location_type l)
- {
- return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
- }
-#else
- static
- symbol_type
- make_USE_ROUTING (const location_type& l)
- {
- return symbol_type (token::TOKEN_USE_ROUTING, 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);
- }
+ static inline
+ symbol_type
+ make_CONFIG_FETCH_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACES_CONFIG (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_SOCKET_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RAW (const location_type& l);
+
+ static inline
+ symbol_type
+ make_UDP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUTBOUND_INTERFACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SAME_AS_INBOUND (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USE_ROUTING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RE_DETECT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SANITY_CHECKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LEASE_CHECKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ECHO_CLIENT_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MATCH_CLIENT_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_AUTHORITATIVE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NEXT_SERVER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_HOSTNAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_BOOT_FILE_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LEASE_DATABASE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTS_DATABASE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTS_DATABASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MEMFILE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MYSQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POSTGRESQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PASSWORD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PERSIST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LFC_INTERVAL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_READONLY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONNECT_TIMEOUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTACT_POINTS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_KEYSPACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONSISTENCY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERIAL_CONSISTENCY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECONNECT_TRIES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECONNECT_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REQUEST_TIMEOUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP_KEEPALIVE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP_NODELAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_ROW_ERRORS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MIN_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RENEW_TIMER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REBIND_TIMER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CALCULATE_TEE_TIMES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_T1_PERCENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_T2_PERCENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CACHE_THRESHOLD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CACHE_MAX_AGE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DECLINE_PROBATION_PERIOD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_TAG (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_SEND_UPDATES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_REPLACE_CLIENT_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_GENERATED_PREFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_QUALIFYING_SUFFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_UPDATE_ON_RENEW (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STORE_EXTENDED_INFO (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET_4O6_INTERFACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET_4O6_INTERFACE_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET_4O6_SUBNET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OPTION_DEF (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OPTION_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CODE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SPACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CSV_FORMAT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ALWAYS_SEND (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECORD_TYPES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENCAPSULATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ARRAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SHARED_NETWORKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POOLS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USER_CONTEXT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_COMMENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RESERVATION_MODE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DISABLED (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUT_OF_POOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_GLOBAL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ALL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOST_RESERVATION_IDENTIFIERS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CLIENT_CLASSES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REQUIRE_CLIENT_CLASSES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TEST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ONLY_IF_REQUIRED (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CLIENT_CLASS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RESERVATIONS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DUID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HW_ADDRESS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CIRCUIT_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CLIENT_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTNAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLEX_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RELAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IP_ADDRESS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IP_ADDRESSES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOOKS_LIBRARIES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LIBRARY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PARAMETERS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_EXPIRED_LEASES_PROCESSING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECLAIM_TIMER_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOLD_RECLAIMED_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECLAIM_LEASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECLAIM_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_UNWARNED_RECLAIM_CYCLES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP4O6_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_MULTI_THREADING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENABLE_MULTI_THREADING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_THREAD_POOL_SIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PACKET_QUEUE_SIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTROL_SOCKET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SOCKET_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SOCKET_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_QUEUE_CONTROL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENABLE_QUEUE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_QUEUE_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CAPACITY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_DDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENABLE_UPDATES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_QUALIFYING_SUFFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_IP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SENDER_IP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SENDER_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_QUEUE_SIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NCR_PROTOCOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NCR_FORMAT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OVERRIDE_NO_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OVERRIDE_CLIENT_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REPLACE_CLIENT_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_GENERATED_PREFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_JSON (const location_type& l);
+
+ static inline
+ symbol_type
+ make_WHEN_PRESENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NEVER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ALWAYS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_WHEN_NOT_PRESENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTNAME_CHAR_SET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IP_RESERVATIONS_UNIQUE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LOGGERS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUTPUT_OPTIONS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUTPUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DEBUGLEVEL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SEVERITY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLUSH (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAXSIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAXVER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PATTERN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TOPLEVEL_JSON (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TOPLEVEL_DHCP4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_DHCP4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_INTERFACES4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_SUBNET4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_POOL4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_RESERVATION (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DEFS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DEF (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_HOOKS_LIBRARY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_DHCP_DDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_CONFIG_CONTROL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STRING (const std::string& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTEGER (const int64_t& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLOAT (const double& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_BOOLEAN (const bool& v, const location_type& l);
+
+
+ /// Build a parser object.
+ Dhcp4Parser (isc::dhcp::Parser4Context& ctx_yyarg);
+ virtual ~Dhcp4Parser ();
+
+ /// Parse.
+ /// \returns 0 iff parsing succeeded.
+ virtual int parse ();
+
+#if PARSER4_DEBUG
+ /// The current debugging stream.
+ std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
+ /// Set the current debugging stream.
+ void set_debug_stream (std::ostream &);
+
+ /// Type for debugging levels.
+ typedef int debug_level_type;
+ /// The current debugging level.
+ debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
+ /// Set the current debugging level.
+ void set_debug_level (debug_level_type 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_ECHO_CLIENT_ID (location_type l)
- {
- return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_ECHO_CLIENT_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MATCH_CLIENT_ID (location_type l)
- {
- return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_MATCH_CLIENT_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_AUTHORITATIVE (location_type l)
- {
- return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
- }
-#else
- static
- symbol_type
- make_AUTHORITATIVE (const location_type& l)
- {
- return symbol_type (token::TOKEN_AUTHORITATIVE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NEXT_SERVER (location_type l)
- {
- return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_NEXT_SERVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_NEXT_SERVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_HOSTNAME (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_HOSTNAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_BOOT_FILE_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_BOOT_FILE_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_BOOT_FILE_NAME, 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_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_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_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_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_CACHE_THRESHOLD (location_type l)
- {
- return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
- }
-#else
- static
- symbol_type
- make_CACHE_THRESHOLD (const location_type& l)
- {
- return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CACHE_MAX_AGE (location_type l)
- {
- return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
- }
-#else
- static
- symbol_type
- make_CACHE_MAX_AGE (const location_type& l)
- {
- return symbol_type (token::TOKEN_CACHE_MAX_AGE, 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_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
- }
-#else
- static
- symbol_type
- make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
- }
-#else
- static
- symbol_type
- make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_SEND_UPDATES (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_SEND_UPDATES (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_REPLACE_CLIENT_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_GENERATED_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_GENERATED_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_QUALIFYING_SUFFIX (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_QUALIFYING_SUFFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_UPDATE_ON_RENEW (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_UPDATE_ON_RENEW (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STORE_EXTENDED_INFO (location_type l)
- {
- return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
- }
-#else
- static
- symbol_type
- make_STORE_EXTENDED_INFO (const location_type& l)
- {
- return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET4 (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET4, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET_4O6_INTERFACE (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET_4O6_INTERFACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET_4O6_INTERFACE_ID (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET_4O6_INTERFACE_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET_4O6_SUBNET (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET_4O6_SUBNET (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, 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_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_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_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_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_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_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_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_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_CIRCUIT_ID (location_type l)
- {
- return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_CIRCUIT_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_CIRCUIT_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CLIENT_ID (location_type l)
- {
- return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_CLIENT_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_CLIENT_ID, 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_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_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_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_DHCP_MULTI_THREADING (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_MULTI_THREADING (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENABLE_MULTI_THREADING (location_type l)
- {
- return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENABLE_MULTI_THREADING (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_THREAD_POOL_SIZE (location_type l)
- {
- return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_THREAD_POOL_SIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PACKET_QUEUE_SIZE (location_type l)
- {
- return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_PACKET_QUEUE_SIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, 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_ENABLE_QUEUE (location_type l)
- {
- return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENABLE_QUEUE (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_QUEUE_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_QUEUE_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_QUEUE_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CAPACITY (location_type l)
- {
- return symbol_type (token::TOKEN_CAPACITY, std::move (l));
- }
-#else
- static
- symbol_type
- make_CAPACITY (const location_type& l)
- {
- return symbol_type (token::TOKEN_CAPACITY, 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_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_IP_RESERVATIONS_UNIQUE (location_type l)
- {
- return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
- }
-#else
- static
- symbol_type
- make_IP_RESERVATIONS_UNIQUE (const location_type& l)
- {
- return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, 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_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_DHCP4 (location_type l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
- }
-#else
- static
- symbol_type
- make_TOPLEVEL_DHCP4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_DHCP4 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_DHCP4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_INTERFACES4 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_INTERFACES4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_SUBNET4 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_SUBNET4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_SUBNET4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_POOL4 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_POOL4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_POOL4, 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_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);
- }
-#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);
- }
+
+ /// Report a syntax error.
+ /// \param loc where the syntax error is found.
+ /// \param msg a description of the syntax error.
+ virtual void error (const location_type& loc, const std::string& msg);
+
+ /// Report a syntax error.
+ void error (const syntax_error& err);
+
+ private:
+ /// This class is not copyable.
+ Dhcp4Parser (const Dhcp4Parser&);
+ Dhcp4Parser& operator= (const Dhcp4Parser&);
+
+ /// 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 int 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 int 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 int yydefact_[];
+
+ // YYPGOTO[NTERM-NUM].
+ static const short int yypgoto_[];
+
+ // YYDEFGOTO[NTERM-NUM].
+ static const short int 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 int yytable_[];
+
+ static const short int yycheck_[];
+
+ // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ // symbol of state STATE-NUM.
+ static const unsigned short int yystos_[];
+
+ // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
+ static const unsigned short int 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 PARSER4_DEBUG
+ // YYRLINE[YYN] -- Source line where rule number YYN was defined.
+ static const unsigned short int 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.
+ int yydebug_;
+ 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
+ /// \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 ();
+ /// Steal the contents from \a sym to build this.
+ stack_symbol_type (state_type s, symbol_type& sym);
+ /// Assignment, needed by push_back.
+ stack_symbol_type& operator= (const stack_symbol_type& that);
+ };
+
+ /// 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 s the symbol
+ /// \warning the contents of \a s.value is stolen.
+ void yypush_ (const char* m, stack_symbol_type& s);
+
+ /// 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 s.value is stolen.
+ void yypush_ (const char* m, state_type s, symbol_type& sym);
+
+ /// Pop \a n symbols the three stacks.
+ void yypop_ (unsigned int n = 1);
+
+ /// Constants.
+ enum
+ {
+ yyeof_ = 0,
+ yylast_ = 1193, ///< Last index in yytable_.
+ yynnts_ = 407, ///< Number of nonterminal symbols.
+ yyfinal_ = 28, ///< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = 195 ///< Number of tokens.
+ };
+
+
+ // User arguments.
+ isc::dhcp::Parser4Context& ctx;
+ };
+
+ // Symbol number corresponding to token number t.
+ inline
+ Dhcp4Parser::token_number_type
+ Dhcp4Parser::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, 193, 194
+ };
+ const unsigned int user_token_number_max_ = 449;
+ const token_number_type undef_token_ = 2;
+
+ if (static_cast<int>(t) <= yyeof_)
+ return yyeof_;
+ else if (static_cast<unsigned int> (t) <= user_token_number_max_)
+ return translate_table[t];
+ else
+ return undef_token_;
+ }
+
+ inline
+ Dhcp4Parser::syntax_error::syntax_error (const location_type& l, const std::string& m)
+ : std::runtime_error (m)
+ , location (l)
+ {}
+
+ // basic_symbol.
+ template <typename Base>
+ inline
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol ()
+ : value ()
+ {}
+
+ template <typename Base>
+ inline
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
+ : Base (other)
+ , value ()
+ , location (other.location)
+ {
+ switch (other.type_get ())
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
+ value.copy< ElementPtr > (other.value);
+ break;
+
+ case 194: // "boolean"
+ value.copy< bool > (other.value);
+ break;
+
+ case 193: // "floating point"
+ value.copy< double > (other.value);
+ break;
+
+ case 192: // "integer"
+ value.copy< int64_t > (other.value);
+ break;
+
+ case 191: // "constant string"
+ value.copy< std::string > (other.value);
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+
+ template <typename Base>
+ inline
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const semantic_type& v, const location_type& l)
+ : Base (t)
+ , value ()
+ , location (l)
+ {
+ (void) v;
+ switch (this->type_get ())
+ {
+ case 210: // value
+ case 214: // map_value
+ case 255: // ddns_replace_client_name_value
+ case 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
+ value.copy< ElementPtr > (v);
+ break;
+
+ case 194: // "boolean"
+ value.copy< bool > (v);
+ break;
+
+ case 193: // "floating point"
+ value.copy< double > (v);
+ break;
+
+ case 192: // "integer"
+ value.copy< int64_t > (v);
+ break;
+
+ case 191: // "constant string"
+ value.copy< std::string > (v);
+ break;
+
+ default:
+ break;
+ }
+}
+
+
+ // Implementation of basic_symbol constructor for each type.
+
+ template <typename Base>
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const location_type& l)
+ : Base (t)
+ , value ()
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const bool v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const double v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+
+ template <typename Base>
+ inline
+ Dhcp4Parser::basic_symbol<Base>::~basic_symbol ()
+ {
+ clear ();
+ }
+
+ template <typename Base>
+ inline
+ void
+ Dhcp4Parser::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 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
+ value.template destroy< ElementPtr > ();
+ break;
+
+ case 194: // "boolean"
+ value.template destroy< bool > ();
+ break;
+
+ case 193: // "floating point"
+ value.template destroy< double > ();
+ break;
+
+ case 192: // "integer"
+ value.template destroy< int64_t > ();
+ break;
+
+ case 191: // "constant string"
+ value.template destroy< std::string > ();
+ break;
+
+ default:
+ break;
+ }
+
+ Base::clear ();
+ }
+
+ template <typename Base>
+ inline
+ bool
+ Dhcp4Parser::basic_symbol<Base>::empty () const
+ {
+ return Base::type_get () == empty_symbol;
+ }
+
+ template <typename Base>
+ inline
+ void
+ Dhcp4Parser::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 280: // socket_type
+ case 283: // outbound_interface_value
+ case 305: // db_type
+ case 399: // hr_mode
+ case 554: // ncr_protocol_value
+ value.move< ElementPtr > (s.value);
+ break;
+
+ case 194: // "boolean"
+ value.move< bool > (s.value);
+ break;
+
+ case 193: // "floating point"
+ value.move< double > (s.value);
+ break;
+
+ case 192: // "integer"
+ value.move< int64_t > (s.value);
+ break;
+
+ case 191: // "constant string"
+ value.move< std::string > (s.value);
+ break;
+
+ default:
+ break;
+ }
+
+ location = s.location;
+ }
+
+ // by_type.
+ inline
+ Dhcp4Parser::by_type::by_type ()
+ : type (empty_symbol)
+ {}
+
+ inline
+ Dhcp4Parser::by_type::by_type (const by_type& other)
+ : type (other.type)
+ {}
+
+ inline
+ Dhcp4Parser::by_type::by_type (token_type t)
+ : type (yytranslate_ (t))
+ {}
+
+ inline
+ void
+ Dhcp4Parser::by_type::clear ()
+ {
+ type = empty_symbol;
+ }
+
+ inline
+ void
+ Dhcp4Parser::by_type::move (by_type& that)
+ {
+ type = that.type;
+ that.clear ();
+ }
+
+ inline
+ int
+ Dhcp4Parser::by_type::type_get () const
+ {
+ return type;
+ }
+
+ inline
+ Dhcp4Parser::token_type
+ Dhcp4Parser::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 int
+ 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, 448, 449
+ };
+ return static_cast<token_type> (yytoken_number_[type]);
+ }
+ // Implementation of make_symbol for each symbol type.
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_END (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_END, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_COMMA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMA, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_COLON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COLON, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LSQUARE_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RSQUARE_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LCURLY_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RCURLY_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NULL_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NULL_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP4, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONFIG_DATABASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTERFACES_CONFIG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTERFACES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP_SOCKET_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RAW (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RAW, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_UDP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UDP, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTBOUND_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SAME_AS_INBOUND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USE_ROUTING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USE_ROUTING, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RE_DETECT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RE_DETECT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SANITY_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SANITY_CHECKS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LEASE_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_CHECKS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ECHO_CLIENT_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MATCH_CLIENT_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_AUTHORITATIVE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_AUTHORITATIVE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NEXT_SERVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEXT_SERVER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_HOSTNAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_BOOT_FILE_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LEASE_DATABASE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_DATABASE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTS_DATABASE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTS_DATABASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MEMFILE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MEMFILE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MYSQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MYSQL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POSTGRESQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POSTGRESQL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CQL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PASSWORD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PASSWORD, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PORT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PERSIST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PERSIST, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LFC_INTERVAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LFC_INTERVAL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_READONLY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_READONLY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONNECT_TIMEOUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONTACT_POINTS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTACT_POINTS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_KEYSPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_KEYSPACE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONSISTENCY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONSISTENCY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERIAL_CONSISTENCY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_RECONNECT_TRIES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECONNECT_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REQUEST_TIMEOUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
+ }
- class context
- {
- public:
- context (const Dhcp4Parser& yyparser, const symbol_type& yyla);
- const symbol_type& lookahead () const { return yyla_; }
- symbol_kind_type token () const { return yyla_.kind (); }
- const location_type& location () const { return yyla_.location; }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP_KEEPALIVE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
+ }
- /// Put in YYARG at most YYARGN of the expected tokens, and return the
- /// number of tokens stored in YYARG. If YYARG is null, return the
- /// number of expected tokens (guaranteed to be less than YYNTOKENS).
- int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP_NODELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_NODELAY, l);
+ }
- private:
- const Dhcp4Parser& yyparser_;
- const symbol_type& yyla_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_ROW_ERRORS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
+ }
- private:
-#if YY_CPLUSPLUS < 201103L
- /// Non copyable.
- Dhcp4Parser (const Dhcp4Parser&);
- /// Non copyable.
- Dhcp4Parser& operator= (const Dhcp4Parser&);
-#endif
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_VALID_LIFETIME, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MIN_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
+ }
- /// Stored state numbers (used for stacks).
- typedef short state_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
+ }
- /// The arguments of the error message.
- int yy_syntax_error_arguments_ (const context& yyctx,
- symbol_kind_type yyarg[], int yyargn) const;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RENEW_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RENEW_TIMER, l);
+ }
- /// Generate an error message.
- /// \param yyctx the context in which the error occurred.
- virtual std::string yysyntax_error_ (const context& yyctx) const;
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yysym the nonterminal to push on the stack
- static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REBIND_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REBIND_TIMER, 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);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CALCULATE_TEE_TIMES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, 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);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_T1_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T1_PERCENT, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_T2_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T2_PERCENT, l);
+ }
- /// Convert a scanner token kind \a t to a symbol kind.
- /// In theory \a t should be a token_kind_type, but character literals
- /// are valid, yet not members of the token_type enum.
- static symbol_kind_type yytranslate_ (int t);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CACHE_THRESHOLD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
+ }
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *yystr);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CACHE_MAX_AGE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
+ }
- /// For a symbol, its name in clear.
- static const char* const yytname_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DECLINE_PROBATION_PERIOD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_TAG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_TAG, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_SEND_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, 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 short yydefact_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, 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 short yytable_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
+ }
- static const short yycheck_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_UPDATE_ON_RENEW (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const short yystos_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const short yyr1_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STORE_EXTENDED_INFO (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const signed char yyr2_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET4, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
+ }
-#if PARSER4_DEBUG
- // YYRLINE[YYN] -- Source line where rule number YYN was defined.
- static const short yyrline_[];
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r) const;
- /// Print the state stack on the debug stream.
- virtual void yy_stack_print_ () const;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, l);
+ }
- /// \brief Display a symbol kind, 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
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DATA, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CODE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SPACE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CSV_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CSV_FORMAT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS_SEND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS_SEND, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECORD_TYPES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECORD_TYPES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USER_CONTEXT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RESERVATION_MODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATION_MODE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DISABLED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DISABLED, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUT_OF_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUT_OF_POOL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_GLOBAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REQUIRE_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TEST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TEST, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ONLY_IF_REQUIRED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CLIENT_CLASS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RESERVATIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATIONS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DUID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DUID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HW_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HW_ADDRESS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CIRCUIT_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CIRCUIT_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CLIENT_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTNAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLEX_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLEX_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RELAY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_IP_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_IP_ADDRESSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESSES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOOKS_LIBRARIES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LIBRARY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PARAMETERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PARAMETERS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_EXPIRED_LEASES_PROCESSING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECLAIM_TIMER_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOLD_RECLAIMED_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_RECLAIM_LEASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_RECLAIM_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_UNWARNED_RECLAIM_CYCLES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP4O6_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP_MULTI_THREADING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENABLE_MULTI_THREADING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, 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;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_THREAD_POOL_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PACKET_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
+ }
- /// The symbol kind as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONTROL_SOCKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SOCKET_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_TYPE, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SOCKET_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_NAME, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP_QUEUE_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
+ }
- /// Steal the symbol kind from \a that.
- void move (by_state& that);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENABLE_QUEUE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
+ }
- /// The symbol kind (corresponding to \a state).
- /// \a symbol_kind::S_YYEMPTY when empty.
- symbol_kind_type kind () const YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_QUEUE_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUEUE_TYPE, l);
+ }
- /// The state number used to denote an empty symbol.
- /// We use the initial state, as it does not have a value.
- enum { empty_state = 0 };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CAPACITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CAPACITY, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_DDNS, 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);
-
- /// Assignment, needed by push_back by other implementations.
- /// Needed by some other old implementations.
- stack_symbol_type& operator= (const stack_symbol_type& that);
-#endif
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENABLE_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_UPDATES, 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::iterator iterator;
- typedef typename S::const_iterator const_iterator;
- typedef typename S::size_type size_type;
- typedef typename std::ptrdiff_t index_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
-#if 201103L <= YY_CPLUSPLUS
- /// Non copyable.
- stack (const stack&) = delete;
- /// Non copyable.
- stack& operator= (const stack&) = delete;
-#endif
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
+ }
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (index_type i) const
- {
- return seq_[size_type (size () - 1 - i)];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (index_type i)
- {
- return seq_[size_type (size () - 1 - 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);
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_IP, l);
+ }
- /// Pop elements from the stack.
- void
- pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
- {
- for (; 0 < n; --n)
- seq_.pop_back ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_PORT, l);
+ }
- /// Pop all elements from the stack.
- void
- clear () YY_NOEXCEPT
- {
- seq_.clear ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_IP, l);
+ }
- /// Number of elements on the stack.
- index_type
- size () const YY_NOEXCEPT
- {
- return index_type (seq_.size ());
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.begin ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.end ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NCR_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
- /// Present a slice of the top of a stack.
- class slice
- {
- public:
- slice (const stack& stack, index_type range)
- : stack_ (stack)
- , range_ (range)
- {}
-
- const T&
- operator[] (index_type i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const stack& stack_;
- index_type range_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, l);
+ }
- private:
-#if YY_CPLUSPLUS < 201103L
- /// Non copyable.
- stack (const stack&);
- /// Non copyable.
- stack& operator= (const stack&);
-#endif
- /// The wrapped container.
- S seq_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, 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);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP, 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);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_JSON, l);
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
- /// Constants.
- enum
- {
- yylast_ = 1184, ///< Last index in yytable_.
- yynnts_ = 406, ///< Number of nonterminal symbols.
- yyfinal_ = 28 ///< Termination state number.
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NEVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEVER, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS, l);
+ }
- // User arguments.
- isc::dhcp::Parser4Context& ctx;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_WHEN_NOT_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
+ }
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTNAME_CHAR_SET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
+ }
- inline
- Dhcp4Parser::symbol_kind_type
- Dhcp4Parser::yytranslate_ (int t)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
{
- // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
- // TOKEN-NUM as returned by yylex.
- static
- const unsigned char
- 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, 193
- };
- // Last valid token kind.
- const int code_max = 448;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
+ }
- if (t <= 0)
- return symbol_kind::S_YYEOF;
- else if (t <= code_max)
- return YY_CAST (symbol_kind_type, translate_table[t]);
- else
- return symbol_kind::S_YYUNDEF;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_IP_RESERVATIONS_UNIQUE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
}
- // basic_symbol.
- template <typename Base>
- Dhcp4Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
- : Base (that)
- , value ()
- , location (that.location)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGERS (const location_type& l)
{
- switch (this->kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
+ }
- case symbol_kind::S_FLOAT: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
- case symbol_kind::S_INTEGER: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, l);
+ }
- case symbol_kind::S_STRING: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SEVERITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLUSH (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLUSH, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXSIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXSIZE, l);
}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PATTERN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PATTERN, l);
+ }
- template <typename Base>
- Dhcp4Parser::symbol_kind_type
- Dhcp4Parser::basic_symbol<Base>::type_get () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TOPLEVEL_JSON (const location_type& l)
{
- return this->kind ();
+ return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
}
- template <typename Base>
- bool
- Dhcp4Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TOPLEVEL_DHCP4 (const location_type& l)
{
- return this->kind () == symbol_kind::S_YYEMPTY;
+ return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
}
- template <typename Base>
- void
- Dhcp4Parser::basic_symbol<Base>::move (basic_symbol& s)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_DHCP4 (const location_type& l)
{
- super_type::move (s);
- switch (this->kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_socket_type: // socket_type
- case symbol_kind::S_outbound_interface_value: // outbound_interface_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_DHCP4, l);
+ }
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_INTERFACES4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
+ }
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_SUBNET4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_SUBNET4, l);
+ }
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_POOL4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_POOL4, l);
+ }
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_RESERVATION (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_RESERVATION, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DEFS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
+ }
- location = YY_MOVE (s.location);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
}
- // by_kind.
- inline
- Dhcp4Parser::by_kind::by_kind ()
- : kind_ (symbol_kind::S_YYEMPTY)
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
+ }
-#if 201103L <= YY_CPLUSPLUS
- inline
- Dhcp4Parser::by_kind::by_kind (by_kind&& that)
- : kind_ (that.kind_)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_HOOKS_LIBRARY (const location_type& l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
}
-#endif
- inline
- Dhcp4Parser::by_kind::by_kind (const by_kind& that)
- : kind_ (that.kind_)
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
+ }
- inline
- Dhcp4Parser::by_kind::by_kind (token_kind_type t)
- : kind_ (yytranslate_ (t))
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
+ }
- inline
- void
- Dhcp4Parser::by_kind::clear ()
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STRING (const std::string& v, const location_type& l)
{
- kind_ = symbol_kind::S_YYEMPTY;
+ return symbol_type (token::TOKEN_STRING, v, l);
}
- inline
- void
- Dhcp4Parser::by_kind::move (by_kind& that)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTEGER (const int64_t& v, const location_type& l)
{
- kind_ = that.kind_;
- that.clear ();
+ return symbol_type (token::TOKEN_INTEGER, v, l);
}
- inline
- Dhcp4Parser::symbol_kind_type
- Dhcp4Parser::by_kind::kind () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLOAT (const double& v, const location_type& l)
{
- return kind_;
+ return symbol_type (token::TOKEN_FLOAT, v, l);
}
- inline
- Dhcp4Parser::symbol_kind_type
- Dhcp4Parser::by_kind::type_get () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_BOOLEAN (const bool& v, const location_type& l)
{
- return this->kind ();
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
}
-#line 14 "dhcp4_parser.yy"
+
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
} } // isc::dhcp
-#line 5171 "dhcp4_parser.h"
+#line 3200 "dhcp4_parser.h" // lalr1.cc:377
DDNS_GENERATED_PREFIX "ddns-generated-prefix"
DDNS_QUALIFYING_SUFFIX "ddns-qualifying-suffix"
DDNS_UPDATE_ON_RENEW "ddns-update-on-renew"
+ DDNS_USE_CONFLICT_RESOLUTION "ddns-use-conflict-resolution"
STORE_EXTENDED_INFO "store-extended-info"
SUBNET4 "subnet4"
SUBNET_4O6_INTERFACE "4o6-interface"
| ddns_generated_prefix
| ddns_qualifying_suffix
| ddns_update_on_renew
+ | ddns_use_conflict_resolution
| store_extended_info
| statistic_default_sample_count
| statistic_default_sample_age
ctx.stack_.back()->set("ddns-update-on-renew", b);
};
+ddns_use_conflict_resolution: DDNS_USE_CONFLICT_RESOLUTION COLON BOOLEAN {
+ ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(@1));
+ ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("ddns-use-conflict-resolution", b);
+};
+
hostname_char_set: HOSTNAME_CHAR_SET {
ctx.unique("hostname-char-set", ctx.loc2pos(@1));
ctx.enter(ctx.NO_KEYWORD);
| ddns_generated_prefix
| ddns_qualifying_suffix
| ddns_update_on_renew
+ | ddns_use_conflict_resolution
| hostname_char_set
| hostname_char_replacement
| store_extended_info
| ddns_generated_prefix
| ddns_qualifying_suffix
| ddns_update_on_renew
+ | ddns_use_conflict_resolution
| hostname_char_set
| hostname_char_replacement
| store_extended_info
(config_pair.first == "ddns-generated-prefix") ||
(config_pair.first == "ddns-qualifying-suffix") ||
(config_pair.first == "ddns-update-on-renew") ||
+ (config_pair.first == "ddns-use-conflict-resolution") ||
(config_pair.first == "store-extended-info") ||
(config_pair.first == "statistic-default-sample-count") ||
(config_pair.first == "statistic-default-sample-age") ||
-// Generated 202010091455
-// A Bison parser, made by GNU Bison 3.7.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Locations for Bison parsers in C++
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 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_PARSER4_LOCATION_HH_INCLUDED
# define YY_PARSER4_LOCATION_HH_INCLUDED
-# include <iostream>
-# include <string>
+# include "position.hh"
-# ifndef YY_NULLPTR
-# if defined __cplusplus
-# if 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
-# else
-# define YY_NULLPTR ((void*)0)
-# endif
-# endif
-
-#line 14 "dhcp4_parser.yy"
+#line 14 "dhcp4_parser.yy" // location.cc:296
namespace isc { namespace dhcp {
-#line 59 "location.hh"
-
- /// A point in a source file.
- class position
- {
- public:
- /// Type for file name.
- typedef const std::string filename_type;
- /// Type for line and column numbers.
- typedef int counter_type;
-
- /// Construct a position.
- explicit position (filename_type* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
- : filename (f)
- , line (l)
- , column (c)
- {}
-
-
- /// Initialization.
- void initialize (filename_type* fn = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
- {
- filename = fn;
- line = l;
- column = c;
- }
-
- /** \name Line and Column related manipulators
- ** \{ */
- /// (line related) Advance to the COUNT next lines.
- void lines (counter_type count = 1)
- {
- if (count)
- {
- column = 1;
- line = add_ (line, count, 1);
- }
- }
-
- /// (column related) Advance to the COUNT next columns.
- void columns (counter_type count = 1)
- {
- column = add_ (column, count, 1);
- }
- /** \} */
-
- /// File name to which this position refers.
- filename_type* filename;
- /// Current line number.
- counter_type line;
- /// Current column number.
- counter_type column;
-
- private:
- /// Compute max (min, lhs+rhs).
- static counter_type add_ (counter_type lhs, counter_type rhs, counter_type min)
- {
- return lhs + rhs < min ? min : lhs + rhs;
- }
- };
-
- /// Add \a width columns, in place.
- inline position&
- operator+= (position& res, position::counter_type width)
- {
- res.columns (width);
- return res;
- }
-
- /// Add \a width columns.
- inline position
- operator+ (position res, position::counter_type width)
- {
- return res += width;
- }
-
- /// Subtract \a width columns, in place.
- inline position&
- operator-= (position& res, position::counter_type width)
- {
- return res += -width;
- }
-
- /// Subtract \a width columns.
- inline position
- operator- (position res, position::counter_type width)
- {
- return res -= width;
- }
-
- /** \brief Intercept output stream redirection.
- ** \param ostr the destination output stream
- ** \param pos a reference to the position to redirect
- */
- template <typename YYChar>
- std::basic_ostream<YYChar>&
- operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
- {
- if (pos.filename)
- ostr << *pos.filename << ':';
- return ostr << pos.line << '.' << pos.column;
- }
-
- /// Two points in a source file.
+#line 46 "location.hh" // location.cc:296
+ /// Abstract a location.
class location
{
public:
- /// Type for file name.
- typedef position::filename_type filename_type;
- /// Type for line and column numbers.
- typedef position::counter_type counter_type;
/// Construct a location from \a b to \a e.
location (const position& b, const position& e)
: begin (b)
, end (e)
- {}
+ {
+ }
/// Construct a 0-width location in \a p.
explicit location (const position& p = position ())
: begin (p)
, end (p)
- {}
+ {
+ }
/// Construct a 0-width location in \a f, \a l, \a c.
- explicit location (filename_type* f,
- counter_type l = 1,
- counter_type c = 1)
+ explicit location (std::string* f,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
: begin (f, l, c)
, end (f, l, c)
- {}
+ {
+ }
/// Initialization.
- void initialize (filename_type* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
+ void initialize (std::string* f = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
{
begin.initialize (f, l, c);
end = begin;
}
/// Extend the current location to the COUNT next columns.
- void columns (counter_type count = 1)
+ void columns (int count = 1)
{
end += count;
}
/// Extend the current location to the COUNT next lines.
- void lines (counter_type count = 1)
+ void lines (int count = 1)
{
end.lines (count);
}
};
/// Join two locations, in place.
- inline location&
- operator+= (location& res, const location& end)
+ inline location& operator+= (location& res, const location& end)
{
res.end = end.end;
return res;
}
/// Join two locations.
- inline location
- operator+ (location res, const location& end)
+ inline location operator+ (location res, const location& end)
{
return res += end;
}
/// Add \a width columns to the end position, in place.
- inline location&
- operator+= (location& res, location::counter_type width)
+ inline location& operator+= (location& res, int width)
{
res.columns (width);
return res;
}
/// Add \a width columns to the end position.
- inline location
- operator+ (location res, location::counter_type width)
+ inline location operator+ (location res, int width)
{
return res += width;
}
/// Subtract \a width columns to the end position, in place.
- inline location&
- operator-= (location& res, location::counter_type width)
+ inline location& operator-= (location& res, int width)
{
return res += -width;
}
/// Subtract \a width columns to the end position.
- inline location
- operator- (location res, location::counter_type width)
+ inline location operator- (location res, int width)
{
return res -= width;
}
+ /// Compare two location objects.
+ inline bool
+ operator== (const location& loc1, const location& loc2)
+ {
+ return loc1.begin == loc2.begin && loc1.end == loc2.end;
+ }
+
+ /// Compare two location objects.
+ inline bool
+ operator!= (const location& loc1, const location& loc2)
+ {
+ return !(loc1 == loc2);
+ }
+
/** \brief Intercept output stream redirection.
** \param ostr the destination output stream
** \param loc a reference to the location to redirect
** Avoid duplicate information.
*/
template <typename YYChar>
- std::basic_ostream<YYChar>&
+ inline std::basic_ostream<YYChar>&
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
{
- location::counter_type end_col
- = 0 < loc.end.column ? loc.end.column - 1 : 0;
+ unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
ostr << loc.begin;
if (loc.end.filename
&& (!loc.begin.filename
return ostr;
}
-#line 14 "dhcp4_parser.yy"
+#line 14 "dhcp4_parser.yy" // location.cc:296
} } // isc::dhcp
-#line 305 "location.hh"
-
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER4_LOCATION_HH_INCLUDED
-// Generated 202010091455
-// A Bison parser, made by GNU Bison 3.7.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined in "location.hh".
-//
-// To get rid of this file:
-// 1. add '%require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system
-// 3. if you used to include it, include "location.hh" instead.
-
-#include "location.hh"
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Positions for Bison parsers in C++
+
+// Copyright (C) 2002-2015 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
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file position.hh
+ ** Define the isc::dhcp::position class.
+ */
+
+#ifndef YY_PARSER4_POSITION_HH_INCLUDED
+# define YY_PARSER4_POSITION_HH_INCLUDED
+
+# include <algorithm> // std::max
+# include <iostream>
+# include <string>
+
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
+
+#line 14 "dhcp4_parser.yy" // location.cc:296
+namespace isc { namespace dhcp {
+#line 56 "position.hh" // location.cc:296
+ /// Abstract a position.
+ class position
+ {
+ public:
+ /// Construct a position.
+ explicit position (std::string* f = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ : filename (f)
+ , line (l)
+ , column (c)
+ {
+ }
+
+
+ /// Initialization.
+ void initialize (std::string* fn = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ {
+ filename = fn;
+ line = l;
+ column = c;
+ }
+
+ /** \name Line and Column related manipulators
+ ** \{ */
+ /// (line related) Advance to the COUNT next lines.
+ void lines (int count = 1)
+ {
+ if (count)
+ {
+ column = 1u;
+ line = add_ (line, count, 1);
+ }
+ }
+
+ /// (column related) Advance to the COUNT next columns.
+ void columns (int count = 1)
+ {
+ column = add_ (column, count, 1);
+ }
+ /** \} */
+
+ /// File name to which this position refers.
+ std::string* filename;
+ /// Current line number.
+ unsigned int line;
+ /// Current column number.
+ unsigned int column;
+
+ private:
+ /// Compute max(min, lhs+rhs) (provided min <= lhs).
+ static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
+ {
+ return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
+ ? rhs + lhs
+ : min);
+ }
+ };
+
+ /// Add \a width columns, in place.
+ inline position&
+ operator+= (position& res, int width)
+ {
+ res.columns (width);
+ return res;
+ }
+
+ /// Add \a width columns.
+ inline position
+ operator+ (position res, int width)
+ {
+ return res += width;
+ }
+
+ /// Subtract \a width columns, in place.
+ inline position&
+ operator-= (position& res, int width)
+ {
+ return res += -width;
+ }
+
+ /// Subtract \a width columns.
+ inline position
+ operator- (position res, int width)
+ {
+ return res -= width;
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator== (const position& pos1, const position& pos2)
+ {
+ return (pos1.line == pos2.line
+ && pos1.column == pos2.column
+ && (pos1.filename == pos2.filename
+ || (pos1.filename && pos2.filename
+ && *pos1.filename == *pos2.filename)));
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator!= (const position& pos1, const position& pos2)
+ {
+ return !(pos1 == pos2);
+ }
+
+ /** \brief Intercept output stream redirection.
+ ** \param ostr the destination output stream
+ ** \param pos a reference to the position to redirect
+ */
+ template <typename YYChar>
+ inline std::basic_ostream<YYChar>&
+ operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
+ {
+ if (pos.filename)
+ ostr << *pos.filename << ':';
+ return ostr << pos.line << '.' << pos.column;
+ }
+
+#line 14 "dhcp4_parser.yy" // location.cc:296
+} } // isc::dhcp
+#line 180 "position.hh" // location.cc:296
+#endif // !YY_PARSER4_POSITION_HH_INCLUDED
-// Generated 202010091455
-// A Bison parser, made by GNU Bison 3.7.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined with the parser itself.
-//
-// To get rid of this file:
-// 1. add '%require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system.
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Stack handling for Bison parsers in C++
+
+// Copyright (C) 2002-2015 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
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file stack.hh
+ ** Define the isc::dhcp::stack class.
+ */
+
+#ifndef YY_PARSER4_STACK_HH_INCLUDED
+# define YY_PARSER4_STACK_HH_INCLUDED
+
+# include <vector>
+
+#line 14 "dhcp4_parser.yy" // stack.hh:132
+namespace isc { namespace dhcp {
+#line 46 "stack.hh" // stack.hh:132
+ template <class T, class 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;
+
+ stack ()
+ : seq_ ()
+ {
+ seq_.reserve (200);
+ }
+
+ stack (unsigned int n)
+ : seq_ (n)
+ {}
+
+ inline
+ T&
+ operator[] (unsigned int i)
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ inline
+ const T&
+ operator[] (unsigned int i) const
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ /// Steal the contents of \a t.
+ ///
+ /// Close to move-semantics.
+ inline
+ void
+ push (T& t)
+ {
+ seq_.push_back (T());
+ operator[](0).move (t);
+ }
+
+ inline
+ void
+ pop (unsigned int n = 1)
+ {
+ for (; n; --n)
+ seq_.pop_back ();
+ }
+
+ void
+ clear ()
+ {
+ seq_.clear ();
+ }
+
+ inline
+ typename S::size_type
+ size () const
+ {
+ return seq_.size ();
+ }
+
+ inline
+ const_iterator
+ begin () const
+ {
+ return seq_.rbegin ();
+ }
+
+ inline
+ 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 <class T, class S = stack<T> >
+ class slice
+ {
+ public:
+ slice (const S& stack, unsigned int range)
+ : stack_ (stack)
+ , range_ (range)
+ {}
+
+ inline
+ const T&
+ operator [] (unsigned int i) const
+ {
+ return stack_[range_ - i];
+ }
+
+ private:
+ const S& stack_;
+ unsigned int range_;
+ };
+
+#line 14 "dhcp4_parser.yy" // stack.hh:132
+} } // isc::dhcp
+#line 156 "stack.hh" // stack.hh:132
+
+#endif // !YY_PARSER4_STACK_HH_INCLUDED
#include <dhcp4/json_config_parser.h>
#include <dhcp4/tests/dhcp4_test_utils.h>
#include <dhcp4/tests/get_config_unittest.h>
+#include <testutils/gtest_utils.h>
#include <boost/algorithm/string.hpp>
#include <gtest/gtest.h>
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"ddns-replace-client-name\": \"when-present\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"ddns-replace-client-name\": \"always\",\n"
" \"ddns-send-updates\": false,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 12345,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
std::cerr << ",\n";
}
std::cerr << " // CONFIGURATION " << config_counter;
- ASSERT_NO_THROW(expected = prettyPrint(dhcp));
- ASSERT_NO_THROW(outputFormatted(dhcp->str()));
+ ASSERT_NO_THROW_LOG(expected = prettyPrint(dhcp));
+ ASSERT_NO_THROW_LOG(outputFormatted(dhcp->str()));
} else {
expected = UNPARSED_CONFIGS[config_counter];
// get the expected config using the dhcpv4 syntax parser
ElementPtr jsond;
- ASSERT_NO_THROW(jsond = parseDHCP4(expected, true));
+ ASSERT_NO_THROW_LOG(jsond = parseDHCP4(expected, true));
ElementPtr jsonj;
// get the expected config using the generic JSON syntax parser
- ASSERT_NO_THROW(jsonj = parseJSON(expected));
+ ASSERT_NO_THROW_LOG(jsonj = parseJSON(expected));
// the generic JSON parser does not handle comments
EXPECT_TRUE(isEquivalent(jsond, moveComments(jsonj)));
// check that unparsed and expected values match
// is it a fixed point?
ConstSrvConfigPtr extracted2 = CfgMgr::instance().getStagingCfg();
ConstElementPtr unparsed2;
- ASSERT_NO_THROW(unparsed2 = extracted2->toElement());
+ ASSERT_NO_THROW_LOG(unparsed2 = extracted2->toElement());
ASSERT_TRUE(unparsed2);
EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
}
#include <dhcp4/json_config_parser.h>
#include <dhcp4/tests/dhcp4_test_utils.h>
#include <dhcp4/tests/get_config_unittest.h>
+#include <testutils/gtest_utils.h>
#include <boost/algorithm/string.hpp>
#include <gtest/gtest.h>
std::cerr << ",\n";
}
std::cerr << " // CONFIGURATION " << config_counter;
- ASSERT_NO_THROW(expected = prettyPrint(dhcp));
- ASSERT_NO_THROW(outputFormatted(dhcp->str()));
+ ASSERT_NO_THROW_LOG(expected = prettyPrint(dhcp));
+ ASSERT_NO_THROW_LOG(outputFormatted(dhcp->str()));
} else {
expected = UNPARSED_CONFIGS[config_counter];
// get the expected config using the dhcpv4 syntax parser
ElementPtr jsond;
- ASSERT_NO_THROW(jsond = parseDHCP4(expected, true));
+ ASSERT_NO_THROW_LOG(jsond = parseDHCP4(expected, true));
ElementPtr jsonj;
// get the expected config using the generic JSON syntax parser
- ASSERT_NO_THROW(jsonj = parseJSON(expected));
+ ASSERT_NO_THROW_LOG(jsonj = parseJSON(expected));
// the generic JSON parser does not handle comments
EXPECT_TRUE(isEquivalent(jsond, moveComments(jsonj)));
// check that unparsed and expected values match
// is it a fixed point?
ConstSrvConfigPtr extracted2 = CfgMgr::instance().getStagingCfg();
ConstElementPtr unparsed2;
- ASSERT_NO_THROW(unparsed2 = extracted2->toElement());
+ ASSERT_NO_THROW_LOG(unparsed2 = extracted2->toElement());
ASSERT_TRUE(unparsed2);
EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
}
/* %% [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 208
-#define YY_END_OF_BUFFER 209
+#define YY_NUM_RULES 209
+#define YY_END_OF_BUFFER 210
/* 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[1903] =
+static const flex_int16_t yy_accept[1926] =
{ 0,
- 201, 201, 0, 0, 0, 0, 0, 0, 0, 0,
- 209, 207, 10, 11, 207, 1, 201, 198, 201, 201,
- 207, 200, 199, 207, 207, 207, 207, 207, 194, 195,
- 207, 207, 207, 196, 197, 5, 5, 5, 207, 207,
- 207, 10, 11, 0, 0, 190, 0, 0, 0, 0,
+ 202, 202, 0, 0, 0, 0, 0, 0, 0, 0,
+ 210, 208, 10, 11, 208, 1, 202, 199, 202, 202,
+ 208, 201, 200, 208, 208, 208, 208, 208, 195, 196,
+ 208, 208, 208, 197, 198, 5, 5, 5, 208, 208,
+ 208, 10, 11, 0, 0, 191, 0, 0, 0, 0,
0, 0, 0, 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, 201, 201,
- 0, 200, 201, 3, 2, 6, 0, 201, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 9, 0, 191,
+ 0, 0, 0, 0, 0, 0, 0, 1, 202, 202,
+ 0, 201, 202, 3, 2, 6, 0, 202, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 9, 0, 192,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 193, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 194, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 163, 0, 0, 164, 0, 0,
+ 8, 0, 0, 0, 164, 0, 0, 165, 0, 0,
- 0, 0, 0, 0, 0, 192, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 193, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 113, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 114, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 206, 204, 0,
- 203, 202, 0, 0, 0, 0, 0, 0, 162, 0,
- 28, 0, 27, 0, 0, 120, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 207, 205, 0,
+ 204, 203, 0, 0, 0, 0, 0, 0, 163, 0,
+ 28, 0, 27, 0, 0, 121, 0, 0, 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, 0, 0, 0,
- 0, 0, 117, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 118, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 205, 202, 0, 0, 0, 0, 0, 29,
+ 0, 0, 206, 203, 0, 0, 0, 0, 0, 29,
0, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 121, 0, 0, 0, 0, 0, 0, 0, 98, 0,
- 0, 0, 0, 0, 0, 0, 0, 147, 0, 0,
+ 122, 0, 0, 0, 0, 0, 0, 0, 99, 0,
+ 0, 0, 0, 0, 0, 0, 0, 148, 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,
- 0, 0, 0, 0, 0, 0, 97, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 107, 0, 59, 0, 0, 0, 0, 0, 0,
+ 0, 108, 0, 59, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 142, 0, 167,
+ 0, 0, 0, 0, 0, 0, 0, 143, 0, 168,
51, 0, 56, 0, 0, 0, 0, 0, 37, 34,
- 33, 0, 0, 0, 155, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 156, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 166, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 134, 0, 0, 0,
+ 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 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, 0, 100, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
+ 0, 0, 0, 101, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 157, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 152, 0, 0, 0, 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, 0, 0, 0, 0, 0,
- 0, 119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 120, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 135, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 132, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 102, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 136, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 133, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 111, 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, 110, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 150, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 160, 130,
- 0, 0, 0, 0, 0, 0, 0, 134, 52, 0,
+ 0, 0, 0, 151, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 136, 0, 60, 0, 0, 0, 0, 0,
+ 161, 131, 0, 0, 0, 0, 0, 0, 0, 135,
+ 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 137, 0, 60, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 92, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 187, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 188, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 116, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 149, 0,
- 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
+ 0, 150, 0, 0, 0, 0, 0, 0, 0, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 57, 101, 0, 0, 0, 146, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 57, 102, 0, 0, 0, 147, 0,
+ 0, 0, 0, 50, 0, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 188, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 111, 0, 0,
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 189, 0, 0, 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, 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, 161, 14, 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, 162, 14, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 152, 0,
- 0, 0, 0, 0, 0, 0, 137, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 148, 165, 0, 40, 0,
- 157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 95, 0, 0, 0, 0, 0, 159, 54, 0, 103,
- 0, 186, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 82, 0, 0,
- 0, 0, 0, 126, 127, 0, 0, 0, 0, 0,
- 0, 0, 0, 99, 0, 0, 0, 0, 0, 0,
- 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
+ 0, 0, 153, 0, 0, 0, 0, 0, 0, 0,
+ 0, 138, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 122, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
- 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
- 17, 0, 15, 0, 183, 182, 0, 0, 0, 69,
- 0, 0, 0, 0, 0, 30, 0, 0, 0, 141,
+ 149, 166, 0, 40, 0, 158, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 176, 0, 185,
+ 0, 20, 0, 0, 0, 96, 0, 0, 0, 0,
+ 0, 160, 54, 0, 104, 0, 187, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 82, 0, 0, 0, 0, 0, 127, 128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
+ 0, 0, 0, 0, 0, 0, 0, 64, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 112, 0, 145, 0, 43, 0, 61, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
- 0, 0, 0, 0, 0, 0, 114, 80, 0, 0,
- 153, 0, 0, 0, 0, 0, 144, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 0, 0, 129, 0,
+ 0, 0, 0, 0, 0, 155, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 123, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 97, 119, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
+ 0, 0, 0, 0, 0, 0, 17, 0, 15, 0,
+ 184, 183, 0, 0, 0, 69, 0, 0, 0, 0,
+ 0, 30, 0, 0, 0, 142, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
- 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 177, 0, 186, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
+ 146, 0, 43, 0, 61, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
+ 0, 0, 0, 115, 80, 0, 0, 154, 0, 0,
+ 0, 0, 0, 145, 0, 0, 0, 0, 0, 0,
+ 0, 0, 109, 0, 0, 130, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 107, 0, 0, 0, 169, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 42, 0, 0,
- 0, 0, 68, 0, 0, 0, 0, 0, 0, 139,
- 47, 0, 0, 0, 70, 181, 38, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 45, 0, 0,
- 0, 44, 0, 18, 0, 0, 0, 72, 0, 0,
- 0, 0, 0, 131, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 76, 0, 128, 0, 0, 0, 62, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
+ 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 140, 47, 0,
+ 0, 0, 70, 182, 38, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
+ 44, 0, 18, 0, 0, 0, 72, 0, 0, 0,
+ 0, 0, 132, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 76, 0, 129, 0, 0, 0, 62, 0, 0,
- 0, 0, 0, 0, 0, 158, 0, 0, 0, 46,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 177,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 105,
+ 0, 0, 0, 0, 0, 159, 0, 0, 0, 46,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 178,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 94, 0, 0, 0, 0, 36,
+ 67, 0, 0, 0, 95, 0, 0, 0, 0, 36,
0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 174, 0, 0, 0, 0,
- 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 115, 0, 0, 0, 179, 0, 0, 0, 0,
- 0, 0, 0, 0, 85, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 25, 39, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 180, 0, 13, 0,
+ 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
+ 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
+ 0, 144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 116, 0, 0, 0, 180, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 85, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 25, 39, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 181, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 184, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 173, 0, 78,
- 0, 77, 0, 21, 73, 0, 0, 0, 0, 0,
- 65, 0, 0, 0, 125, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 105, 0, 0, 172, 0, 0,
- 0, 0, 71, 0, 0, 0, 66, 0, 23, 0,
- 0, 93, 0, 0, 0, 0, 0, 0, 0, 91,
-
+ 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 174, 0, 78, 0, 77, 0, 21, 73, 0, 0,
+ 0, 0, 0, 65, 0, 0, 0, 126, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
+ 0, 173, 0, 0, 0, 0, 71, 0, 0, 0,
+
+ 66, 0, 23, 0, 0, 94, 0, 0, 0, 0,
+ 0, 0, 0, 91, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
+ 0, 89, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 49, 0, 0, 90,
- 0, 0, 178, 0, 0, 0, 0, 189, 75, 74,
- 22, 0, 123, 140, 0, 0, 0, 86, 0, 0,
- 0, 0, 0, 0, 170, 0, 175, 0, 88, 81,
- 0, 0, 0, 0, 0, 0, 169, 0, 0, 26,
- 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
- 0, 0, 0, 124, 84, 0, 0, 0, 0, 83,
-
- 171, 0
+ 0, 0, 49, 0, 0, 90, 0, 0, 0, 179,
+ 0, 0, 0, 0, 190, 75, 74, 22, 0, 124,
+ 141, 0, 0, 0, 86, 0, 0, 0, 0, 0,
+ 0, 0, 171, 0, 176, 0, 88, 0, 81, 0,
+ 0, 0, 0, 0, 0, 0, 170, 0, 0, 26,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
+ 0, 0, 0, 0, 92, 0, 125, 84, 0, 0,
+ 0, 0, 83, 172, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1915] =
+static const flex_int16_t yy_base[1938] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 2304, 2305, 34, 2300, 145, 0, 207, 2305, 214, 221,
- 13, 228, 2305, 2280, 118, 25, 2, 6, 2305, 2305,
- 73, 11, 17, 2305, 2305, 2305, 104, 2288, 2241, 0,
- 2278, 108, 2295, 24, 256, 2305, 67, 2244, 2264, 84,
- 75, 2264, 88, 226, 91, 89, 284, 196, 203, 279,
- 193, 224, 216, 60, 242, 2244, 286, 288, 314, 300,
- 319, 2227, 204, 324, 356, 329, 2246, 0, 380, 400,
- 420, 427, 406, 2305, 0, 2305, 385, 443, 238, 241,
- 310, 269, 299, 314, 2305, 2243, 2284, 2305, 405, 2305,
-
- 419, 400, 2241, 2282, 326, 10, 262, 407, 224, 409,
- 352, 206, 2281, 0, 472, 412, 2223, 415, 2231, 406,
- 2227, 2216, 2217, 2222, 444, 2232, 2215, 2224, 327, 433,
- 226, 2218, 2216, 445, 2205, 2263, 399, 2208, 2261, 2201,
- 2224, 2221, 2221, 2215, 339, 2208, 2206, 2207, 2199, 2204,
- 2198, 412, 2209, 2202, 2193, 2192, 2206, 462, 2244, 2191,
- 443, 2203, 421, 2191, 482, 2192, 445, 2204, 2201, 2202,
- 293, 2200, 2235, 2234, 477, 2180, 2180, 2184, 2180, 2172,
- 2189, 2181, 0, 478, 493, 486, 481, 500, 505, 2180,
- 2305, 0, 510, 2175, 2305, 498, 505, 2305, 2229, 508,
-
- 2228, 513, 2227, 515, 2226, 2305, 561, 2225, 525, 2184,
- 2176, 2180, 2181, 2176, 2175, 2166, 501, 2217, 2211, 2175,
- 2156, 2153, 2161, 2167, 2155, 2169, 2165, 2166, 2166, 2161,
- 2153, 2155, 2139, 2143, 2156, 2158, 2155, 2147, 2137, 2140,
- 2154, 2305, 2140, 2148, 80, 2133, 2132, 2184, 2131, 2141,
- 2181, 505, 2140, 2179, 2124, 2126, 2137, 2175, 532, 2179,
- 2114, 2129, 538, 2119, 2125, 2134, 2115, 2113, 2116, 2112,
- 2118, 2109, 2108, 2121, 2114, 2104, 2115, 2119, 2118, 2112,
- 220, 2119, 2114, 2106, 2096, 2111, 2106, 2110, 500, 2108,
- 2094, 2100, 2107, 2089, 2090, 2093, 2090, 2089, 562, 2084,
-
- 2098, 2097, 2096, 2099, 2081, 2089, 543, 2305, 2305, 553,
- 2305, 2305, 2076, 0, 520, 2123, 554, 2134, 2305, 556,
- 2305, 2133, 2305, 2127, 606, 2305, 555, 2067, 2086, 2069,
- 2086, 2074, 2126, 2081, 2076, 2079, 2074, 537, 2305, 2076,
- 586, 2115, 2073, 2070, 2071, 584, 2075, 2115, 2063, 2058,
- 2055, 2051, 2053, 2104, 2061, 2050, 2066, 2100, 2046, 607,
- 2059, 2059, 2042, 2043, 2056, 2054, 2042, 2052, 2047, 2054,
- 2049, 2034, 574, 2043, 2046, 2041, 577, 2040, 2036, 2086,
- 422, 563, 2305, 2080, 2030, 2029, 2022, 2024, 2036, 2027,
- 2016, 2033, 2022, 2027, 596, 2074, 2027, 589, 2024, 2027,
-
- 2027, 2025, 2014, 2014, 2026, 583, 2001, 2002, 2023, 595,
- 2005, 2002, 2016, 2019, 2014, 2000, 2012, 2011, 2010, 2005,
- 2008, 2007, 2006, 2005, 558, 2048, 2007, 2046, 2045, 1987,
- 652, 2000, 2305, 2305, 1999, 0, 604, 2041, 2040, 2305,
- 2039, 2305, 616, 664, 629, 2038, 2032, 1985, 1987, 1975,
- 2305, 1980, 1986, 1989, 1972, 1987, 1974, 1973, 2305, 1983,
- 610, 1974, 1971, 1983, 566, 1968, 1970, 2305, 1976, 1961,
- 1963, 1974, 1972, 1967, 653, 1974, 1962, 1955, 2006, 2305,
- 1953, 1969, 2003, 2007, 1963, 1957, 1959, 1960, 1944, 1961,
- 1995, 1946, 1941, 1940, 1942, 1938, 1934, 556, 1953, 1927,
-
- 1934, 1939, 1932, 1948, 1982, 1986, 2305, 1931, 1927, 1983,
- 1934, 1928, 1935, 1920, 1930, 1918, 1932, 1921, 1917, 1919,
- 1914, 2305, 1971, 2305, 1913, 1912, 1905, 1922, 1961, 1960,
- 1905, 1910, 1919, 1913, 1907, 1916, 688, 1953, 1915, 1898,
- 1898, 1893, 1889, 1895, 1900, 1893, 1901, 1905, 1888, 1946,
- 1887, 1939, 1884, 1885, 1884, 1896, 1885, 2305, 1895, 2305,
- 2305, 1884, 2305, 1894, 1930, 1890, 0, 1933, 2305, 2305,
- 2305, 636, 632, 691, 2305, 640, 1892, 1872, 1925, 1870,
- 1923, 1868, 1867, 1866, 1873, 1866, 1874, 1877, 1859, 1859,
- 1874, 1873, 1861, 1871, 1870, 1854, 1869, 1851, 1898, 1865,
-
- 1903, 1847, 1849, 1861, 1861, 1860, 2305, 1845, 1842, 1900,
- 1855, 1847, 1853, 1844, 1852, 2305, 1837, 1848, 1852, 1834,
- 1846, 1847, 635, 1829, 1823, 1828, 1825, 1840, 1839, 1840,
- 1819, 1829, 1835, 1878, 1833, 1832, 1824, 1815, 2305, 1816,
- 1818, 2305, 1826, 1865, 1864, 16, 1825, 1862, 1807, 1808,
- 1811, 1812, 1803, 2305, 1817, 1803, 695, 1795, 1799, 1815,
- 1812, 1804, 1849, 1801, 1808, 1846, 2305, 1792, 1790, 1804,
- 1788, 1802, 1805, 1839, 1838, 1837, 1836, 1781, 1834, 1833,
- 2305, 1778, 1792, 698, 1793, 1792, 1789, 1789, 1826, 1786,
- 1775, 1777, 2305, 2305, 663, 658, 1769, 1786, 1778, 1765,
-
- 1759, 1780, 1821, 669, 1815, 1775, 1813, 1812, 1764, 1758,
- 1761, 1769, 1772, 1756, 1757, 1766, 1747, 1802, 1762, 1752,
- 1760, 1798, 1759, 661, 1750, 1752, 92, 209, 269, 294,
- 313, 2305, 380, 399, 451, 501, 507, 544, 551, 579,
- 597, 588, 611, 633, 657, 657, 703, 715, 659, 673,
- 659, 669, 719, 677, 726, 2305, 727, 683, 681, 683,
- 679, 673, 728, 691, 680, 2305, 682, 693, 682, 696,
- 698, 742, 685, 744, 687, 702, 2305, 696, 690, 701,
- 686, 697, 710, 689, 695, 750, 714, 698, 698, 711,
- 755, 756, 757, 704, 722, 717, 724, 719, 704, 716,
-
- 717, 723, 710, 2305, 775, 733, 735, 725, 737, 727,
- 740, 731, 737, 781, 757, 744, 726, 733, 747, 792,
- 742, 2305, 740, 755, 752, 738, 745, 744, 742, 761,
- 758, 759, 747, 754, 755, 764, 768, 765, 755, 768,
- 754, 753, 759, 816, 757, 758, 764, 780, 763, 817,
- 772, 2305, 782, 782, 775, 786, 784, 829, 771, 773,
- 788, 789, 777, 775, 837, 794, 780, 783, 2305, 2305,
- 799, 798, 799, 804, 792, 802, 804, 2305, 2305, 804,
- 806, 793, 811, 798, 796, 814, 801, 801, 852, 799,
- 803, 861, 2305, 862, 2305, 807, 821, 821, 866, 814,
-
- 813, 817, 811, 871, 824, 814, 815, 811, 821, 825,
- 836, 820, 838, 833, 835, 828, 830, 831, 843, 833,
- 848, 889, 846, 851, 828, 851, 835, 2305, 842, 843,
- 857, 848, 846, 896, 843, 858, 876, 884, 853, 902,
- 864, 904, 2305, 870, 858, 853, 854, 866, 873, 862,
- 863, 859, 877, 863, 864, 874, 883, 919, 866, 875,
- 870, 924, 930, 888, 879, 2305, 883, 891, 893, 878,
- 894, 884, 896, 890, 937, 903, 887, 888, 2305, 904,
- 907, 890, 892, 950, 893, 912, 2305, 911, 914, 895,
- 913, 901, 954, 912, 908, 905, 958, 907, 960, 922,
-
- 908, 926, 925, 911, 926, 918, 914, 932, 931, 918,
- 2305, 2305, 926, 973, 926, 2305, 934, 937, 930, 983,
- 2305, 932, 938, 982, 933, 934, 946, 940, 944, 942,
- 940, 951, 996, 940, 945, 999, 1000, 944, 956, 2305,
- 944, 952, 950, 1001, 963, 950, 951, 960, 972, 959,
- 957, 971, 972, 988, 993, 975, 980, 963, 963, 965,
- 965, 985, 984, 975, 964, 981, 988, 1031, 973, 993,
- 986, 990, 994, 977, 994, 1039, 986, 990, 2305, 1037,
- 986, 985, 987, 1008, 1005, 1045, 994, 1012, 1013, 999,
- 1007, 1016, 996, 1011, 1018, 1060, 1061, 2305, 1014, 1063,
-
- 1064, 1006, 1016, 1026, 1029, 1012, 1014, 1014, 1021, 1030,
- 1018, 1025, 1020, 1027, 1039, 1080, 1027, 1026, 1043, 1084,
- 1034, 1038, 1036, 1034, 1029, 1090, 1091, 1041, 1093, 1089,
- 1095, 1048, 2305, 1053, 1046, 1037, 1056, 1050, 1045, 1055,
- 1052, 1057, 1053, 1065, 2305, 1050, 1052, 2305, 2305, 1052,
- 1112, 1051, 1070, 1071, 1073, 1064, 1118, 1119, 1072, 1057,
- 1071, 1079, 1061, 1066, 1105, 1096, 1128, 1083, 1083, 1087,
- 1074, 1076, 1093, 1088, 1092, 1137, 1085, 1089, 2305, 1086,
- 1082, 1099, 1079, 1100, 1090, 1141, 2305, 1106, 1104, 1108,
- 1092, 1104, 1109, 1095, 1156, 1109, 1114, 1101, 1112, 1104,
-
- 1110, 1106, 1124, 1125, 1126, 2305, 2305, 1124, 2305, 1126,
- 2305, 1111, 1122, 1113, 1132, 1122, 1174, 1131, 1128, 1172,
- 1136, 1125, 1132, 1137, 1134, 1140, 2305, 1133, 1125, 1186,
- 2305, 1187, 1134, 1141, 1185, 1147, 2305, 2305, 1144, 2305,
- 1135, 2305, 1135, 1138, 1152, 1157, 1140, 1151, 1200, 1157,
- 1158, 1159, 1199, 1155, 1206, 1159, 1208, 2305, 1155, 1210,
- 1211, 1168, 1170, 2305, 2305, 1153, 1215, 1211, 1175, 1159,
- 1171, 1190, 1221, 2305, 1178, 1169, 1180, 1225, 1172, 1187,
- 1223, 1175, 2305, 1171, 1187, 1175, 1189, 1190, 1187, 1231,
- 1194, 1184, 1199, 1187, 1187, 1242, 1238, 1244, 1201, 2305,
-
- 1203, 1202, 1205, 1198, 1207, 1208, 1205, 1195, 1198, 1198,
- 1258, 1205, 1260, 1207, 1262, 1205, 1264, 2305, 1222, 1201,
- 1216, 1209, 1213, 1226, 1229, 1228, 1226, 1276, 1229, 2305,
- 2305, 1225, 1235, 1220, 1276, 1237, 1223, 1284, 1285, 1229,
- 1239, 1288, 1245, 2305, 1237, 1237, 1239, 1241, 1294, 1237,
- 2305, 1238, 2305, 1240, 2305, 2305, 1253, 1255, 1256, 2305,
- 1243, 1251, 1303, 1252, 1284, 2305, 1306, 1256, 1303, 2305,
- 1251, 1259, 1253, 1250, 1253, 1256, 1256, 1252, 1274, 1313,
- 1266, 1278, 1281, 1269, 1264, 1324, 1272, 2305, 1267, 2305,
- 1269, 1329, 1282, 1273, 1288, 1288, 1291, 1291, 1288, 1332,
-
- 1294, 2305, 1286, 2305, 1287, 2305, 1297, 2305, 1337, 1299,
- 1300, 1297, 1341, 1289, 1304, 1344, 1306, 1298, 2305, 1295,
- 1295, 1301, 1300, 1298, 1313, 1313, 2305, 2305, 1354, 1301,
- 2305, 1318, 1303, 1303, 1305, 1311, 2305, 1366, 1308, 1318,
- 1329, 1327, 1371, 1324, 1333, 2305, 1330, 1349, 2305, 1333,
- 1318, 1378, 1379, 1336, 1341, 1323, 1383, 1384, 1385, 1381,
- 1345, 1342, 1338, 1331, 1386, 1344, 2305, 1334, 1347, 1395,
- 2305, 1333, 1392, 1356, 1352, 1396, 1345, 1350, 1348, 1407,
- 1363, 1351, 1410, 1360, 1412, 1373, 1362, 1356, 1416, 1358,
- 1367, 1360, 1374, 1377, 1422, 1364, 1381, 1377, 1367, 1382,
-
- 1366, 1424, 1425, 1426, 1373, 1428, 1391, 2305, 1391, 1378,
- 1377, 1433, 2305, 1374, 1392, 1441, 1411, 1443, 1396, 2305,
- 2305, 1387, 1398, 1447, 2305, 2305, 2305, 1393, 1398, 1396,
- 1446, 1404, 1409, 1397, 1401, 1399, 1400, 2305, 1458, 1404,
- 1455, 1398, 1403, 1464, 1413, 1423, 1424, 2305, 1469, 1423,
- 1467, 2305, 1425, 2305, 1416, 1431, 1419, 2305, 1429, 1430,
- 1431, 1480, 1438, 2305, 1477, 1443, 1419, 1437, 1438, 1447,
- 1429, 1435, 1437, 1491, 1450, 1449, 1441, 1495, 1445, 1449,
- 1454, 1447, 2305, 1500, 2305, 1449, 1502, 1444, 2305, 1447,
- 1457, 1501, 1449, 1464, 1451, 1466, 1458, 1458, 1469, 2305,
-
- 1463, 1458, 1457, 1517, 1470, 2305, 1514, 1465, 1462, 2305,
- 1476, 1463, 1479, 1481, 1526, 1479, 1476, 1484, 1478, 2305,
- 1531, 1472, 1474, 1490, 1483, 1473, 1489, 1490, 1484, 1500,
- 2305, 1490, 1542, 1501, 2305, 1485, 1492, 1546, 1542, 2305,
- 1504, 2305, 1544, 1506, 1507, 1492, 1493, 1501, 1555, 1503,
- 1552, 1507, 1519, 1516, 1507, 1514, 2305, 1511, 1516, 1514,
- 1566, 1567, 1515, 1525, 1512, 2305, 1527, 1528, 1529, 1530,
- 2305, 1520, 1532, 1577, 1534, 1579, 1521, 1529, 1523, 1531,
- 1544, 2305, 1521, 1581, 1542, 2305, 1546, 1531, 1531, 1546,
- 1539, 1538, 1549, 1536, 2305, 1552, 1542, 1598, 1556, 1547,
-
- 1559, 1550, 1559, 1561, 1565, 2305, 2305, 1558, 1548, 1608,
- 1551, 1610, 1552, 1612, 1570, 1614, 2305, 1615, 2305, 1611,
- 1573, 1570, 1575, 1562, 1621, 1564, 1569, 1560, 1625, 1578,
- 1579, 1569, 1586, 1585, 1626, 1570, 1589, 2305, 1586, 1635,
- 1592, 1593, 1638, 1595, 1598, 1585, 1594, 2305, 1643, 2305,
- 1596, 2305, 1605, 2305, 2305, 1587, 1647, 1594, 1649, 1592,
- 2305, 1611, 1652, 1611, 2305, 1602, 1592, 1651, 1617, 1610,
- 1606, 1660, 1604, 1609, 2305, 1605, 1607, 2305, 1612, 1622,
- 1607, 1616, 2305, 1617, 1611, 1623, 2305, 1619, 2305, 1629,
- 1622, 2305, 1624, 1632, 1677, 1618, 1620, 1617, 1641, 2305,
-
- 1634, 1637, 1626, 1680, 1627, 1635, 1644, 1645, 1646, 1647,
- 1640, 1635, 1636, 1640, 1652, 1697, 2305, 1643, 1655, 1700,
- 1649, 1648, 1703, 1656, 1643, 1658, 1663, 1708, 1709, 1710,
- 1711, 1668, 1713, 1714, 1664, 1658, 2305, 1674, 1718, 2305,
- 1675, 1677, 2305, 1668, 1682, 1678, 1671, 2305, 2305, 2305,
- 2305, 1725, 2305, 2305, 1682, 1727, 1688, 2305, 1729, 1730,
- 1685, 1684, 1685, 1675, 2305, 1730, 2305, 1677, 2305, 2305,
- 1737, 1679, 1695, 1740, 1701, 1698, 2305, 1739, 1688, 2305,
- 1700, 1693, 1748, 1690, 1692, 1707, 1692, 2305, 1705, 1754,
- 1755, 1703, 1705, 2305, 2305, 1699, 1715, 1760, 1761, 2305,
-
- 2305, 2305, 1767, 1772, 1777, 1782, 1787, 1792, 1797, 1800,
- 1774, 1779, 1781, 1794
+ 2327, 2328, 34, 2323, 145, 0, 207, 2328, 214, 221,
+ 13, 228, 2328, 2303, 118, 25, 2, 6, 2328, 2328,
+ 73, 11, 17, 2328, 2328, 2328, 104, 2311, 2264, 0,
+ 2301, 108, 2318, 24, 256, 2328, 67, 2267, 2287, 84,
+ 75, 2287, 88, 226, 91, 89, 284, 196, 203, 279,
+ 193, 224, 216, 60, 242, 2267, 286, 288, 314, 300,
+ 319, 2250, 204, 324, 356, 329, 2269, 0, 380, 400,
+ 420, 427, 406, 2328, 0, 2328, 385, 443, 238, 241,
+ 310, 269, 299, 314, 2328, 2266, 2307, 2328, 405, 2328,
+
+ 419, 400, 2264, 2305, 326, 10, 262, 407, 224, 409,
+ 352, 206, 2304, 0, 472, 412, 2246, 415, 2254, 406,
+ 2250, 2239, 2240, 2245, 444, 2255, 2238, 2247, 327, 433,
+ 226, 2241, 2239, 445, 2228, 2286, 399, 2231, 2284, 2224,
+ 2247, 2244, 2244, 2238, 339, 2231, 2229, 2230, 2222, 2227,
+ 2221, 412, 2232, 2225, 2216, 2215, 2229, 462, 2267, 2214,
+ 443, 2226, 421, 2214, 482, 2215, 445, 2227, 2224, 2225,
+ 293, 2223, 2258, 2257, 477, 2203, 2203, 2207, 2203, 2195,
+ 2212, 2204, 0, 478, 493, 486, 481, 500, 505, 2203,
+ 2328, 0, 510, 2198, 2328, 498, 505, 2328, 2252, 508,
+
+ 2251, 513, 2250, 515, 2249, 2328, 561, 2248, 525, 2207,
+ 2199, 2203, 2204, 2199, 2198, 2189, 501, 2240, 2234, 2198,
+ 2179, 2176, 2184, 2190, 2178, 2192, 2188, 2189, 2189, 2184,
+ 2176, 2178, 2162, 2166, 2179, 2181, 2178, 2170, 2160, 2163,
+ 2177, 2328, 2163, 2171, 80, 2156, 2155, 2207, 2154, 2164,
+ 2204, 505, 2163, 2202, 2147, 2149, 2160, 2198, 532, 2202,
+ 2137, 2152, 538, 2142, 2148, 2157, 2138, 2136, 2139, 2135,
+ 2141, 2132, 2131, 2144, 2137, 2127, 2138, 2142, 2141, 2135,
+ 220, 2142, 2137, 2129, 2119, 2134, 2129, 2133, 500, 2131,
+ 2117, 2123, 2130, 2112, 2113, 2116, 2113, 2112, 562, 2107,
+
+ 2121, 2120, 2119, 2122, 2104, 2112, 543, 2328, 2328, 553,
+ 2328, 2328, 2099, 0, 520, 2146, 554, 2157, 2328, 556,
+ 2328, 2156, 2328, 2150, 606, 2328, 555, 2090, 2109, 2092,
+ 2109, 2097, 2149, 2104, 2099, 2102, 2097, 537, 2328, 2099,
+ 586, 2138, 2096, 2093, 2094, 584, 2098, 2138, 2086, 2081,
+ 2078, 2074, 2076, 2127, 2084, 2073, 2089, 2123, 2069, 607,
+ 2082, 2082, 2065, 2066, 2079, 2077, 2065, 2075, 2070, 2077,
+ 2072, 2057, 574, 2066, 2069, 2064, 577, 2063, 2059, 2109,
+ 422, 563, 2328, 2103, 2053, 2052, 2045, 2047, 2059, 2050,
+ 2039, 2056, 2045, 2050, 596, 2097, 2050, 589, 2047, 2050,
+
+ 2050, 2048, 2037, 2037, 2049, 583, 2024, 2025, 2046, 595,
+ 2028, 2025, 2039, 2042, 2037, 2023, 2035, 2034, 2033, 2028,
+ 2031, 2030, 2029, 2028, 558, 2071, 2030, 2069, 2068, 2010,
+ 652, 2023, 2328, 2328, 2022, 0, 604, 2064, 2063, 2328,
+ 2062, 2328, 616, 664, 629, 2061, 2055, 2008, 2010, 1998,
+ 2328, 2003, 2009, 2012, 1995, 2010, 1997, 1996, 2328, 2006,
+ 610, 1997, 1994, 2006, 566, 1991, 1993, 2328, 1999, 1984,
+ 1986, 1997, 1995, 1990, 653, 1997, 1985, 1978, 2029, 2328,
+ 1976, 1992, 2026, 2030, 1986, 1980, 1982, 1983, 1967, 1984,
+ 2018, 1969, 1964, 1963, 1965, 1961, 1957, 556, 1976, 1950,
+
+ 1957, 1962, 1955, 1971, 2005, 2009, 2328, 1954, 1950, 2006,
+ 1957, 1951, 1958, 1943, 1953, 1941, 1955, 1944, 1940, 1942,
+ 1937, 2328, 1994, 2328, 1936, 1935, 1928, 1945, 1984, 1983,
+ 1928, 1933, 1942, 1936, 1930, 1939, 688, 1976, 1938, 1921,
+ 1921, 1916, 1912, 1918, 1923, 1916, 1924, 1928, 1911, 1969,
+ 1910, 1962, 1907, 1908, 1907, 1919, 1908, 2328, 1918, 2328,
+ 2328, 1907, 2328, 1917, 1953, 1913, 0, 1956, 2328, 2328,
+ 2328, 636, 632, 691, 2328, 640, 1915, 1895, 1948, 1893,
+ 1946, 1891, 1890, 1889, 1896, 1889, 1897, 1900, 1882, 1882,
+ 1897, 1896, 622, 1895, 1894, 1878, 1893, 1875, 1922, 1889,
+
+ 1927, 1871, 1873, 1885, 1885, 1884, 2328, 1869, 1866, 1924,
+ 1879, 1871, 1877, 1868, 1876, 2328, 1861, 1872, 1876, 1858,
+ 1870, 1871, 636, 1853, 1847, 1852, 1849, 1864, 1863, 1864,
+ 1843, 1853, 1859, 1902, 1857, 1856, 1848, 1839, 2328, 1840,
+ 1842, 2328, 1850, 1889, 1888, 16, 1849, 1886, 1831, 1832,
+ 1835, 1836, 1827, 2328, 1841, 1827, 695, 1819, 1823, 1839,
+ 1836, 1828, 1873, 1825, 1832, 1870, 2328, 1816, 1814, 1828,
+ 1812, 1826, 1829, 1863, 1862, 1861, 1860, 1805, 1858, 1857,
+ 2328, 1802, 1816, 698, 1817, 1816, 1813, 1813, 1850, 1810,
+ 1799, 1801, 2328, 2328, 663, 676, 1793, 1810, 1802, 1789,
+
+ 1783, 1804, 1845, 669, 1839, 1799, 1837, 1836, 1788, 1782,
+ 1785, 1793, 1796, 1780, 1781, 1790, 1788, 1770, 1825, 1785,
+ 1775, 1783, 1821, 1782, 661, 1773, 1775, 92, 209, 269,
+ 294, 313, 2328, 380, 399, 451, 501, 507, 544, 551,
+ 579, 597, 588, 611, 654, 662, 659, 715, 716, 661,
+ 674, 663, 673, 720, 678, 728, 2328, 729, 685, 683,
+ 685, 681, 675, 730, 693, 682, 2328, 684, 696, 685,
+ 698, 700, 744, 687, 746, 689, 704, 2328, 698, 692,
+ 703, 688, 699, 712, 691, 697, 752, 716, 700, 700,
+ 713, 757, 758, 759, 706, 724, 719, 726, 721, 706,
+
+ 718, 719, 725, 712, 2328, 777, 735, 737, 727, 739,
+ 729, 742, 733, 739, 783, 759, 746, 728, 735, 749,
+ 794, 744, 2328, 742, 757, 754, 740, 747, 746, 744,
+ 763, 760, 761, 749, 756, 757, 766, 770, 806, 768,
+ 758, 771, 757, 756, 763, 819, 760, 761, 767, 783,
+ 766, 820, 775, 2328, 785, 785, 778, 789, 787, 832,
+ 774, 776, 791, 792, 780, 778, 840, 797, 783, 786,
+ 2328, 2328, 802, 801, 802, 807, 795, 805, 807, 2328,
+ 2328, 807, 809, 796, 814, 801, 799, 817, 804, 804,
+ 855, 802, 806, 864, 2328, 865, 2328, 810, 824, 824,
+
+ 869, 817, 816, 820, 814, 874, 827, 817, 818, 814,
+ 824, 828, 839, 823, 841, 836, 838, 831, 833, 834,
+ 846, 836, 851, 892, 849, 854, 831, 854, 838, 2328,
+ 845, 846, 860, 851, 849, 899, 846, 861, 879, 887,
+ 856, 905, 867, 907, 2328, 873, 861, 856, 857, 869,
+ 876, 865, 866, 862, 880, 866, 867, 877, 886, 922,
+ 869, 887, 879, 875, 928, 935, 892, 883, 2328, 887,
+ 895, 897, 882, 898, 888, 900, 894, 941, 907, 891,
+ 892, 2328, 908, 911, 894, 896, 954, 897, 916, 2328,
+ 915, 918, 899, 917, 905, 958, 916, 912, 909, 962,
+
+ 911, 964, 926, 912, 930, 929, 915, 930, 922, 918,
+ 936, 935, 922, 2328, 2328, 930, 977, 930, 2328, 938,
+ 941, 934, 987, 2328, 936, 942, 986, 937, 938, 950,
+ 944, 948, 946, 944, 955, 1000, 944, 949, 1003, 1004,
+ 948, 960, 2328, 948, 956, 954, 1005, 967, 954, 955,
+ 964, 976, 963, 961, 975, 976, 992, 997, 979, 984,
+ 967, 967, 969, 969, 989, 988, 979, 968, 985, 992,
+ 1035, 977, 997, 990, 994, 998, 981, 998, 989, 1044,
+ 991, 995, 2328, 1042, 991, 992, 992, 1013, 1010, 1050,
+ 999, 1017, 1018, 1004, 1012, 1021, 1001, 1016, 1023, 1065,
+
+ 1066, 2328, 1019, 1068, 1069, 1011, 1021, 1031, 1034, 1017,
+ 1019, 1019, 1026, 1035, 1023, 1030, 1025, 1032, 1044, 1085,
+ 1032, 1031, 1048, 1089, 1039, 1043, 1041, 1039, 1034, 1095,
+ 1096, 1046, 1098, 1094, 1100, 1053, 2328, 1058, 1051, 1042,
+ 1061, 1055, 1050, 1060, 1057, 1062, 1058, 1070, 2328, 1055,
+ 1057, 2328, 2328, 1057, 1117, 1056, 1075, 1076, 1078, 1069,
+ 1123, 1124, 1077, 1062, 1076, 1084, 1066, 1071, 1110, 1101,
+ 1133, 1088, 1088, 1092, 1079, 1081, 1098, 1093, 1097, 1142,
+ 1090, 1094, 2328, 1091, 1087, 1104, 1084, 1105, 1095, 1146,
+ 1099, 2328, 1112, 1111, 1114, 1098, 1110, 1115, 1102, 1162,
+
+ 1115, 1120, 1107, 1118, 1110, 1116, 1112, 1130, 1131, 1132,
+ 2328, 2328, 1130, 2328, 1132, 2328, 1117, 1128, 1119, 1138,
+ 1128, 1180, 1137, 1134, 1178, 1142, 1131, 1138, 1143, 1140,
+ 1146, 2328, 1139, 1131, 1192, 2328, 1193, 1140, 1147, 1191,
+ 1153, 2328, 2328, 1150, 2328, 1141, 2328, 1141, 1144, 1158,
+ 1163, 1146, 1157, 1206, 1163, 1164, 1165, 1205, 1161, 1212,
+ 1165, 1214, 2328, 1161, 1216, 1217, 1174, 1176, 2328, 2328,
+ 1159, 1221, 1217, 1181, 1165, 1177, 1196, 1227, 2328, 1184,
+ 1175, 1186, 1231, 1178, 1193, 1229, 1181, 2328, 1177, 1193,
+ 1181, 1195, 1196, 1193, 1237, 1200, 1190, 1200, 1206, 1194,
+
+ 1194, 1249, 1245, 1251, 1208, 2328, 1210, 1210, 1212, 1205,
+ 1214, 1215, 1212, 1202, 1205, 1206, 1265, 1212, 1267, 1214,
+ 1269, 1212, 1271, 2328, 1229, 1208, 1223, 1217, 1220, 1233,
+ 1236, 1235, 1233, 1283, 1236, 2328, 2328, 1232, 1242, 1227,
+ 1283, 1244, 1230, 1291, 1292, 1236, 1246, 1295, 1252, 2328,
+ 1244, 1244, 1246, 1248, 1301, 1244, 2328, 1245, 2328, 1247,
+ 2328, 2328, 1260, 1262, 1263, 2328, 1250, 1258, 1310, 1259,
+ 1291, 2328, 1313, 1263, 1310, 2328, 1258, 1266, 1260, 1257,
+ 1260, 1263, 1263, 1259, 1281, 1320, 1273, 1285, 1288, 1276,
+ 1279, 1272, 1332, 1280, 2328, 1275, 2328, 1278, 1337, 1290,
+
+ 1281, 1296, 1296, 1299, 1299, 1296, 1340, 1302, 2328, 1294,
+ 2328, 1295, 2328, 1305, 2328, 1345, 1307, 1308, 1305, 1349,
+ 1297, 1312, 1352, 1314, 1306, 2328, 1303, 1303, 1309, 1308,
+ 1306, 1321, 1321, 2328, 2328, 1362, 1309, 2328, 1326, 1311,
+ 1311, 1313, 1319, 2328, 1374, 1316, 1326, 1337, 1335, 1379,
+ 1332, 1341, 2328, 1338, 1357, 2328, 1341, 1326, 1386, 1387,
+ 1344, 1349, 1331, 1391, 1392, 1393, 1389, 1353, 1350, 1346,
+ 1339, 1394, 1352, 1353, 2328, 1343, 1356, 1404, 2328, 1342,
+ 1402, 1365, 1361, 1406, 1354, 1359, 1357, 1416, 1372, 1360,
+ 1419, 1369, 1421, 1382, 1371, 1365, 1425, 1367, 1376, 1369,
+
+ 1383, 1386, 1431, 1373, 1390, 1386, 1376, 1391, 1375, 1433,
+ 1434, 1435, 1382, 1437, 1400, 2328, 1400, 1387, 1386, 1442,
+ 2328, 1383, 1401, 1450, 1420, 1452, 1405, 2328, 2328, 1396,
+ 1407, 1456, 2328, 2328, 2328, 1402, 1407, 1405, 1455, 1413,
+ 1418, 1406, 1422, 1411, 1409, 1410, 2328, 1468, 1414, 1465,
+ 1408, 1413, 1475, 1423, 1433, 1434, 2328, 1480, 1433, 1477,
+ 2328, 1435, 2328, 1426, 1441, 1429, 2328, 1439, 1440, 1441,
+ 1490, 1448, 2328, 1487, 1453, 1429, 1447, 1448, 1457, 1439,
+ 1445, 1447, 1501, 1460, 1459, 1451, 1505, 1455, 1459, 1464,
+ 1457, 2328, 1510, 2328, 1459, 1512, 1454, 2328, 1457, 1467,
+
+ 1511, 1459, 1474, 1461, 1476, 1462, 1469, 1469, 1480, 2328,
+ 1474, 1469, 1468, 1528, 1481, 2328, 1525, 1476, 1473, 2328,
+ 1487, 1474, 1490, 1492, 1537, 1490, 1487, 1495, 1489, 2328,
+ 1542, 1483, 1485, 1501, 1494, 1484, 1500, 1501, 1495, 1511,
+ 2328, 1501, 1553, 1512, 2328, 1496, 1503, 1557, 1553, 2328,
+ 1515, 2328, 1555, 1517, 1518, 1503, 1504, 1512, 1566, 1514,
+ 1563, 1564, 1519, 1531, 1528, 1519, 1526, 2328, 1523, 1528,
+ 1526, 1578, 1579, 1527, 1537, 1524, 2328, 1539, 1540, 1541,
+ 1542, 2328, 1532, 1544, 1589, 1546, 1591, 1533, 1541, 1535,
+ 1543, 1556, 2328, 1533, 1593, 1554, 2328, 1558, 1543, 1543,
+
+ 1558, 1551, 1550, 1561, 1548, 2328, 1564, 1552, 1555, 1611,
+ 1569, 1560, 1572, 1563, 1572, 1574, 1578, 2328, 2328, 1571,
+ 1561, 1621, 1564, 1623, 1565, 1625, 1583, 1627, 2328, 1628,
+ 2328, 1624, 1586, 1583, 1588, 1575, 1634, 1577, 1582, 1573,
+ 1638, 1591, 1592, 1582, 1599, 1598, 1639, 1583, 1602, 1603,
+ 2328, 1600, 1649, 1606, 1607, 1652, 1609, 1612, 1599, 1608,
+ 2328, 1657, 2328, 1610, 2328, 1619, 2328, 2328, 1601, 1661,
+ 1608, 1663, 1606, 2328, 1625, 1666, 1625, 2328, 1616, 1606,
+ 1665, 1631, 1624, 1620, 1674, 1617, 1619, 1624, 2328, 1620,
+ 1622, 2328, 1627, 1637, 1622, 1631, 2328, 1632, 1626, 1638,
+
+ 2328, 1634, 2328, 1644, 1637, 2328, 1639, 1647, 1692, 1633,
+ 1635, 1632, 1656, 2328, 1643, 1650, 1653, 1642, 1696, 1643,
+ 1651, 1660, 1661, 1662, 1663, 1656, 1651, 1652, 1656, 1668,
+ 1713, 2328, 1659, 1671, 1716, 1665, 1667, 1665, 1720, 1673,
+ 1660, 1675, 1680, 1725, 1726, 1727, 1728, 1685, 1730, 1731,
+ 1681, 1675, 2328, 1691, 1735, 2328, 1692, 1677, 1695, 2328,
+ 1686, 1700, 1696, 1689, 2328, 2328, 2328, 2328, 1743, 2328,
+ 2328, 1700, 1745, 1706, 2328, 1747, 1689, 1749, 1704, 1703,
+ 1704, 1694, 2328, 1749, 2328, 1696, 2328, 1708, 2328, 1757,
+ 1699, 1715, 1760, 1721, 1718, 1710, 2328, 1760, 1709, 2328,
+
+ 1721, 1714, 1769, 1717, 1712, 1714, 1729, 1714, 2328, 1775,
+ 1728, 1777, 1778, 1726, 2328, 1728, 2328, 2328, 1722, 1738,
+ 1783, 1784, 2328, 2328, 2328, 1790, 1795, 1800, 1805, 1810,
+ 1815, 1820, 1823, 1797, 1802, 1804, 1817
} ;
-static const flex_int16_t yy_def[1915] =
+static const flex_int16_t yy_def[1938] =
{ 0,
- 1903, 1903, 1904, 1904, 1903, 1903, 1903, 1903, 1903, 1903,
- 1902, 1902, 1902, 1902, 1902, 1905, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1906,
- 1902, 1902, 1902, 1907, 15, 1902, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1908, 45, 45, 45,
+ 1926, 1926, 1927, 1927, 1926, 1926, 1926, 1926, 1926, 1926,
+ 1925, 1925, 1925, 1925, 1925, 1928, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1929,
+ 1925, 1925, 1925, 1930, 15, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1931, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1905, 1902, 1902,
- 1902, 1902, 1902, 1902, 1909, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1906, 1902, 1907, 1902,
+ 45, 45, 45, 45, 45, 45, 45, 1928, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1932, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1929, 1925, 1930, 1925,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1910, 45, 1908, 45, 45, 45, 45, 45,
+ 1925, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1933, 45, 1931, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1909, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1911, 45, 45, 1902, 45, 45, 1902, 45, 45,
+ 45, 45, 1932, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1934, 45, 45, 1925, 45, 45, 1925, 45, 45,
- 45, 45, 45, 45, 1910, 1902, 1908, 45, 45, 45,
+ 45, 45, 45, 45, 1933, 1925, 1931, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1912, 45, 45, 45, 45, 1902, 45,
- 1902, 45, 1902, 45, 1908, 1902, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1935, 45, 45, 45, 45, 1925, 45,
+ 1925, 45, 1925, 45, 1931, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 1902, 1902, 1913, 45, 45, 45, 1902,
- 45, 1902, 45, 1908, 45, 45, 45, 45, 45, 45,
- 1902, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1902,
+ 45, 45, 1925, 1925, 1925, 1936, 45, 45, 45, 1925,
+ 45, 1925, 45, 1931, 45, 45, 45, 45, 45, 45,
+ 1925, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1925, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1925,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 1902, 45, 45, 45, 45, 45, 45,
+ 45, 1925, 45, 1925, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 1902,
- 1902, 45, 1902, 45, 45, 1902, 1914, 45, 1902, 1902,
- 1902, 45, 45, 45, 1902, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1925, 45, 1925,
+ 1925, 45, 1925, 45, 45, 1925, 1937, 45, 1925, 1925,
+ 1925, 45, 45, 45, 1925, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1925, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1902, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 1902, 45, 45, 45, 45, 45, 45,
+ 1925, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 1925, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1925, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1902, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1925, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 1902,
- 45, 45, 45, 45, 45, 45, 45, 1902, 1902, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 45, 1902, 45, 45, 45, 45, 45,
+ 1925, 1925, 45, 45, 45, 45, 45, 45, 45, 1925,
+ 1925, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1925, 45, 1925, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1925,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1925, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 1925,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1902, 1902, 45, 45, 45, 1902, 45, 45, 45, 45,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1902,
+ 45, 45, 45, 1925, 1925, 45, 45, 45, 1925, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
-
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1902, 45, 45, 1902, 1902, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 1925, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 1902, 45, 1902, 45,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
- 1902, 45, 45, 45, 45, 45, 1902, 1902, 45, 1902,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 1902, 1902, 45, 45, 45, 45, 45,
- 45, 45, 45, 1902, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1902,
-
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1902,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1902, 45, 45, 45, 45, 45, 45,
- 1902, 45, 1902, 45, 1902, 1902, 45, 45, 45, 1902,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 1902,
+ 1925, 1925, 45, 1925, 45, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1925, 45, 45, 45, 1925, 45, 45, 45, 45,
+ 45, 1925, 1925, 45, 1925, 45, 1925, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 1902,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 1925, 1925,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1925, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 1902, 45, 1902, 45, 1902, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1902, 45,
- 45, 45, 45, 45, 45, 45, 1902, 1902, 45, 45,
- 1902, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 45, 45, 1902, 45,
+ 45, 45, 45, 45, 45, 1925, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1925, 1925, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1925,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 1925, 45,
+ 1925, 1925, 45, 45, 45, 1925, 45, 45, 45, 45,
+ 45, 1925, 45, 45, 45, 1925, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1925, 45, 1925, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 1925, 45, 1925, 45, 1925, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 1925, 1925, 45, 45, 1925, 45, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1925, 45, 45, 45, 1925, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 1902, 45, 45, 45, 45, 45, 45, 1902,
- 1902, 45, 45, 45, 1902, 1902, 1902, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 1902, 45, 1902, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 1902, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1902, 45, 1902, 45, 45, 45, 1902, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1902,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 1902,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1902,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1902, 45, 45, 45, 1902, 45, 45, 45, 45, 1902,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
- 45, 45, 45, 45, 45, 1902, 45, 45, 45, 45,
- 1902, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1902, 45, 45, 45, 1902, 45, 45, 45, 45,
- 45, 45, 45, 45, 1902, 45, 45, 45, 45, 45,
-
- 45, 45, 45, 45, 45, 1902, 1902, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 1902, 45,
+ 45, 45, 45, 45, 45, 1925, 45, 45, 45, 45,
+ 1925, 45, 45, 45, 45, 45, 45, 1925, 1925, 45,
+ 45, 45, 1925, 1925, 1925, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 1925, 45, 1925, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 1902,
- 45, 1902, 45, 1902, 1902, 45, 45, 45, 45, 45,
- 1902, 45, 45, 45, 1902, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1902, 45, 45, 1902, 45, 45,
- 45, 45, 1902, 45, 45, 45, 1902, 45, 1902, 45,
- 45, 1902, 45, 45, 45, 45, 45, 45, 45, 1902,
+ 45, 1925, 45, 1925, 45, 45, 45, 1925, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1925,
+ 45, 45, 45, 45, 45, 1925, 45, 45, 45, 1925,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1925,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1925, 45, 45, 45, 1925, 45, 45, 45, 45, 1925,
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1925, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 45,
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 45, 1925, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1925, 1925, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 1925, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 45,
+ 1925, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1925, 45, 1925, 45, 1925, 45, 1925, 1925, 45, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 1925, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 1925, 45, 45, 45, 45, 1925, 45, 45, 45,
+
+ 1925, 45, 1925, 45, 45, 1925, 45, 45, 45, 45,
+ 45, 45, 45, 1925, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 1902,
- 45, 45, 1902, 45, 45, 45, 45, 1902, 1902, 1902,
- 1902, 45, 1902, 1902, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 45, 1902, 45, 1902, 45, 1902, 1902,
- 45, 45, 45, 45, 45, 45, 1902, 45, 45, 1902,
- 45, 45, 45, 45, 45, 45, 45, 1902, 45, 45,
- 45, 45, 45, 1902, 1902, 45, 45, 45, 45, 1902,
-
- 1902, 0, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902
+ 45, 1925, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 45, 1925, 45, 45, 45, 1925,
+ 45, 45, 45, 45, 1925, 1925, 1925, 1925, 45, 1925,
+ 1925, 45, 45, 45, 1925, 45, 45, 45, 45, 45,
+ 45, 45, 1925, 45, 1925, 45, 1925, 45, 1925, 45,
+ 45, 45, 45, 45, 45, 45, 1925, 45, 45, 1925,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 1925, 45,
+ 45, 45, 45, 45, 1925, 45, 1925, 1925, 45, 45,
+ 45, 45, 1925, 1925, 0, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925
} ;
-static const flex_int16_t yy_nxt[2379] =
+static const flex_int16_t yy_nxt[2402] =
{ 0,
- 1902, 13, 14, 13, 1902, 15, 16, 1902, 17, 18,
+ 1925, 13, 14, 13, 1925, 15, 16, 1925, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 84, 766, 37, 14, 37, 85, 25, 26, 38, 100,
- 1902, 27, 37, 14, 37, 42, 28, 42, 38, 90,
+ 84, 767, 37, 14, 37, 85, 25, 26, 38, 100,
+ 1925, 27, 37, 14, 37, 42, 28, 42, 38, 90,
91, 29, 197, 30, 13, 14, 13, 89, 90, 25,
31, 91, 13, 14, 13, 13, 14, 13, 32, 40,
- 767, 13, 14, 13, 33, 40, 101, 90, 91, 197,
+ 768, 13, 14, 13, 33, 40, 101, 90, 91, 197,
89, 34, 35, 13, 14, 13, 93, 15, 16, 94,
17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
23, 24, 13, 14, 13, 89, 39, 102, 25, 26,
106, 42, 41, 29, 108, 30, 111, 112, 92, 134,
41, 25, 31, 102, 135, 365, 87, 136, 87, 105,
32, 88, 88, 88, 88, 88, 33, 108, 106, 111,
- 850, 112, 366, 34, 35, 44, 44, 44, 45, 45,
+ 852, 112, 366, 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, 45,
48, 49, 50, 45, 51, 52, 53, 45, 45, 45,
58, 45, 59, 60, 61, 62, 63, 64, 65, 51,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 56, 45, 45, 45, 45, 45, 79, 851,
+ 76, 77, 56, 45, 45, 45, 45, 45, 79, 853,
80, 80, 80, 80, 80, 79, 102, 82, 82, 82,
82, 82, 204, 81, 83, 83, 83, 83, 83, 79,
81, 82, 82, 82, 82, 82, 105, 81, 118, 164,
109, 129, 116, 165, 81, 204, 81, 201, 117, 119,
110, 130, 120, 81, 121, 132, 122, 198, 184, 105,
- 81, 185, 133, 109, 852, 233, 405, 81, 45, 406,
+ 81, 185, 133, 109, 854, 233, 405, 81, 45, 406,
131, 45, 45, 45, 201, 45, 45, 45, 110, 114,
137, 234, 45, 45, 184, 45, 45, 185, 199, 184,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 123, 187, 45, 124, 125, 185,
45, 126, 127, 145, 45, 141, 142, 146, 294, 143,
- 108, 147, 45, 853, 128, 144, 45, 186, 45, 115,
+ 108, 147, 45, 855, 128, 144, 45, 186, 45, 115,
153, 186, 295, 148, 111, 188, 196, 149, 154, 150,
- 155, 151, 854, 152, 158, 156, 157, 159, 160, 166,
+ 155, 151, 856, 152, 158, 156, 157, 159, 160, 166,
173, 174, 228, 167, 229, 186, 168, 111, 161, 189,
109, 162, 196, 169, 170, 203, 251, 180, 171, 172,
110, 230, 181, 83, 83, 83, 83, 83, 88, 88,
88, 88, 88, 175, 242, 176, 81, 252, 177, 178,
100, 79, 203, 80, 80, 80, 80, 80, 110, 83,
- 83, 83, 83, 83, 99, 179, 81, 855, 87, 81,
+ 83, 83, 83, 83, 99, 179, 81, 857, 87, 81,
87, 99, 81, 88, 88, 88, 88, 88, 79, 193,
82, 82, 82, 82, 82, 200, 202, 101, 243, 81,
- 200, 193, 856, 81, 215, 81, 88, 88, 88, 88,
+ 200, 193, 858, 81, 215, 81, 88, 88, 88, 88,
88, 99, 211, 216, 217, 99, 275, 193, 208, 99,
276, 212, 508, 200, 202, 213, 81, 99, 259, 209,
231, 99, 509, 99, 192, 207, 207, 207, 207, 207,
222, 223, 278, 232, 207, 207, 207, 207, 207, 207,
224, 237, 271, 288, 238, 272, 273, 289, 239, 265,
- 201, 290, 309, 307, 857, 373, 307, 207, 207, 207,
+ 201, 290, 309, 307, 859, 373, 307, 207, 207, 207,
207, 207, 207, 308, 266, 267, 268, 279, 280, 281,
308, 309, 315, 317, 320, 309, 318, 299, 282, 322,
283, 307, 284, 285, 310, 286, 324, 315, 386, 308,
- 858, 335, 859, 414, 312, 315, 311, 320, 320, 336,
+ 860, 335, 861, 414, 312, 315, 311, 320, 320, 336,
437, 317, 322, 318, 337, 338, 415, 321, 374, 433,
327, 375, 425, 324, 325, 325, 325, 325, 325, 433,
439, 382, 456, 325, 325, 325, 325, 325, 325, 437,
- 441, 459, 433, 860, 465, 437, 460, 441, 387, 457,
+ 441, 459, 433, 862, 465, 437, 460, 441, 387, 457,
- 466, 522, 434, 439, 861, 630, 325, 325, 325, 325,
+ 466, 522, 434, 439, 863, 630, 325, 325, 325, 325,
325, 325, 480, 556, 597, 631, 557, 481, 441, 444,
- 444, 444, 444, 444, 445, 510, 862, 598, 444, 444,
+ 444, 444, 444, 444, 445, 510, 864, 598, 444, 444,
444, 444, 444, 444, 496, 497, 498, 503, 526, 568,
- 499, 535, 527, 504, 540, 536, 863, 572, 541, 573,
- 864, 444, 444, 444, 444, 444, 444, 563, 607, 523,
- 865, 588, 564, 608, 568, 482, 696, 568, 695, 589,
+ 499, 535, 527, 504, 540, 536, 865, 572, 541, 573,
+ 866, 444, 444, 444, 444, 444, 444, 563, 607, 523,
+ 867, 588, 564, 608, 568, 482, 696, 568, 695, 589,
483, 590, 591, 592, 572, 593, 573, 45, 45, 45,
- 45, 45, 744, 745, 815, 866, 45, 45, 45, 45,
- 45, 45, 574, 667, 696, 695, 694, 698, 668, 814,
-
- 777, 697, 867, 804, 699, 778, 868, 815, 869, 45,
- 45, 45, 45, 45, 45, 805, 823, 824, 845, 825,
- 870, 871, 846, 872, 873, 874, 847, 814, 875, 876,
- 877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
- 887, 888, 889, 890, 779, 891, 892, 893, 894, 895,
+ 45, 45, 716, 745, 746, 717, 45, 45, 45, 45,
+ 45, 45, 574, 667, 696, 695, 694, 698, 668, 815,
+
+ 778, 697, 816, 805, 699, 779, 868, 869, 870, 45,
+ 45, 45, 45, 45, 45, 806, 824, 825, 847, 826,
+ 871, 872, 848, 873, 874, 816, 849, 815, 875, 876,
+ 878, 879, 877, 880, 881, 882, 883, 884, 885, 886,
+ 887, 888, 889, 890, 780, 891, 892, 893, 894, 895,
896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
906, 907, 908, 909, 910, 911, 912, 913, 914, 915,
- 916, 918, 919, 922, 923, 924, 926, 917, 927, 920,
- 928, 925, 929, 921, 930, 931, 932, 933, 934, 935,
+ 916, 917, 918, 920, 921, 924, 925, 926, 928, 919,
+ 929, 922, 930, 927, 931, 923, 932, 933, 934, 935,
936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
946, 947, 948, 949, 950, 951, 952, 953, 954, 955,
956, 957, 958, 959, 960, 961, 962, 963, 964, 965,
- 938, 966, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 981, 982, 983, 984, 980,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
+ 966, 967, 940, 968, 969, 970, 971, 972, 973, 974,
+ 975, 976, 977, 978, 979, 980, 981, 982, 984, 985,
+ 986, 987, 983, 988, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1006, 1007, 1008, 1005, 1009, 1010, 1011, 1012, 1013, 1014,
+ 1005, 1006, 1007, 1009, 1010, 1011, 1008, 1012, 1013, 1014,
1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024,
1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034,
- 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
+ 1035, 1036, 1037, 1038, 1039, 1041, 1042, 1043, 1044, 1045,
- 1046, 1047, 1048, 1037, 1049, 1050, 1051, 1052, 1053, 1054,
+ 1046, 1047, 1048, 1049, 1050, 1051, 1040, 1052, 1053, 1054,
1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
- 1075, 1076, 1077, 1055, 1078, 1079, 1054, 1080, 1081, 1082,
+ 1075, 1076, 1077, 1078, 1079, 1080, 1058, 1081, 1082, 1057,
1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
- 1093, 1094, 1095, 1096, 1097, 1098, 1101, 1102, 1103, 1104,
- 1099, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113,
+ 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
+ 1105, 1106, 1107, 1108, 1103, 1109, 1110, 1111, 1112, 1113,
1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
- 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
- 1124, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
+ 1124, 1125, 1126, 1127, 1129, 1130, 1131, 1132, 1133, 1134,
+ 1135, 1136, 1137, 1138, 1128, 1139, 1140, 1141, 1142, 1143,
1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
- 1154, 1155, 1156, 1100, 1157, 1158, 1159, 1160, 1161, 1162,
- 1163, 1164, 1165, 1167, 1166, 1168, 1169, 1170, 1171, 1172,
+ 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1104, 1161, 1162,
+ 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1171, 1170, 1172,
1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
- 1165, 1166, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200,
- 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211,
- 1213, 1214, 1215, 1210, 1216, 1217, 1218, 1219, 1220, 1221,
+ 1193, 1194, 1195, 1196, 1169, 1170, 1197, 1198, 1199, 1200,
+ 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
+ 1211, 1212, 1213, 1214, 1216, 1218, 1219, 1220, 1215, 1221,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
- 1252, 1253, 1254, 1212, 1255, 1256, 1257, 1258, 1259, 1260,
+ 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1217, 1260,
1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280,
1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
- 1291, 1292, 1293, 1294, 1272, 1295, 1296, 1297, 1298, 1299,
- 1273, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
+ 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1277,
+ 1300, 1301, 1302, 1303, 1304, 1278, 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, 1333, 1334, 1335, 1336, 1337, 1338,
1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
- 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359,
+ 1349, 1350, 1351, 1352, 1353, 1354, 1356, 1357, 1358, 1359,
1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369,
- 1370, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380,
+ 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1379, 1380,
1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390,
- 1391, 1392, 1393, 1365, 1394, 1395, 1396, 1397, 1398, 1399,
- 1400, 1401, 1349, 1402, 1403, 1404, 1405, 1406, 1407, 1408,
- 1409, 1410, 1411, 1413, 1371, 1414, 1415, 1416, 1417, 1418,
- 1412, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
+ 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1371,
+ 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1355, 1408,
+ 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418,
+ 1377, 1420, 1421, 1422, 1423, 1424, 1425, 1419, 1426, 1427,
1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
1438, 1439, 1440, 1441, 1442, 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, 1448, 1471, 1472, 1473, 1474, 1475, 1476,
- 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486,
+ 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477,
+ 1455, 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, 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, 1531, 1532, 1533, 1534, 1535, 1536, 1537,
+ 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536,
- 1538, 1539, 1540, 1530, 1541, 1542, 1543, 1517, 1544, 1545,
- 1546, 1547, 1548, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
- 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566,
+ 1537, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
+ 1548, 1538, 1549, 1550, 1551, 1525, 1552, 1553, 1554, 1555,
+ 1556, 1557, 1559, 1560, 1561, 1562, 1563, 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, 1592, 1593, 1594, 1595, 1596,
- 1597, 1598, 1599, 1600, 1602, 1603, 1604, 1605, 1601, 1606,
- 1549, 1607, 1608, 1609, 1610, 1584, 1611, 1612, 1613, 1614,
- 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624,
+ 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
+ 1607, 1608, 1609, 1610, 1612, 1613, 1614, 1615, 1611, 1558,
+ 1616, 1617, 1618, 1619, 1593, 1620, 1621, 1622, 1623, 1624,
1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634,
1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644,
1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
- 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1883, 1882, 1884,
+ 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884,
1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894,
- 1895, 1896, 1897, 1898, 1899, 1900, 1901, 12, 12, 12,
- 12, 12, 36, 36, 36, 36, 36, 78, 314, 78,
- 78, 78, 97, 436, 97, 567, 97, 99, 99, 99,
- 99, 99, 113, 113, 113, 113, 113, 183, 99, 183,
-
- 183, 183, 205, 205, 205, 849, 848, 844, 843, 842,
- 841, 840, 839, 838, 837, 836, 835, 834, 833, 832,
- 831, 830, 829, 828, 827, 826, 822, 821, 820, 819,
- 818, 817, 816, 813, 812, 811, 810, 809, 808, 807,
- 806, 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, 772,
- 771, 770, 769, 768, 765, 764, 763, 762, 761, 760,
- 759, 758, 757, 756, 755, 754, 753, 752, 751, 750,
- 749, 748, 747, 746, 743, 742, 741, 740, 739, 738,
-
- 737, 736, 735, 734, 733, 732, 731, 730, 729, 728,
- 727, 726, 725, 724, 723, 722, 721, 720, 719, 718,
- 717, 716, 715, 714, 713, 712, 711, 710, 709, 708,
- 707, 706, 705, 704, 703, 702, 701, 700, 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, 666, 665, 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, 638, 637, 636, 635, 634, 633, 632, 629,
-
- 628, 627, 626, 625, 624, 623, 622, 621, 620, 619,
- 618, 617, 616, 615, 614, 613, 612, 611, 610, 609,
- 606, 605, 604, 603, 602, 601, 600, 599, 596, 595,
- 594, 587, 586, 585, 584, 583, 582, 581, 580, 579,
- 578, 577, 576, 575, 571, 570, 569, 566, 565, 562,
- 561, 560, 559, 558, 555, 554, 553, 552, 551, 550,
- 549, 548, 547, 546, 545, 544, 543, 542, 539, 538,
- 537, 534, 533, 532, 531, 530, 529, 528, 525, 524,
- 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
- 511, 507, 506, 505, 502, 501, 500, 495, 494, 493,
-
- 492, 491, 490, 489, 488, 487, 486, 485, 484, 479,
- 478, 477, 476, 475, 474, 473, 472, 471, 470, 469,
- 468, 467, 464, 463, 462, 461, 458, 455, 454, 453,
- 452, 451, 450, 449, 448, 447, 446, 443, 442, 440,
- 438, 435, 432, 431, 430, 429, 428, 427, 426, 424,
- 423, 422, 421, 420, 419, 418, 417, 416, 413, 412,
- 411, 410, 409, 408, 407, 404, 403, 402, 401, 400,
- 399, 398, 397, 396, 395, 394, 393, 392, 391, 390,
- 389, 388, 385, 384, 383, 381, 380, 379, 378, 377,
- 376, 372, 371, 370, 369, 368, 367, 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, 334, 333, 332, 331, 330, 329, 328,
- 326, 206, 323, 321, 319, 316, 313, 306, 305, 304,
- 303, 302, 301, 300, 298, 297, 296, 293, 292, 291,
- 287, 277, 274, 270, 269, 264, 263, 262, 261, 260,
- 258, 257, 256, 255, 254, 253, 250, 249, 248, 247,
- 246, 245, 244, 241, 240, 236, 235, 227, 226, 225,
- 221, 220, 219, 218, 214, 210, 206, 195, 194, 191,
- 190, 182, 163, 140, 107, 104, 103, 43, 98, 96,
-
- 95, 86, 43, 1902, 11, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902
+ 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1903, 1902, 1904,
+ 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914,
+ 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924,
+ 12, 12, 12, 12, 12, 36, 36, 36, 36, 36,
+
+ 78, 314, 78, 78, 78, 97, 436, 97, 567, 97,
+ 99, 99, 99, 99, 99, 113, 113, 113, 113, 113,
+ 183, 99, 183, 183, 183, 205, 205, 205, 851, 850,
+ 846, 845, 844, 843, 842, 841, 840, 839, 838, 837,
+ 836, 835, 834, 833, 832, 831, 830, 829, 828, 827,
+ 823, 822, 821, 820, 819, 818, 817, 814, 813, 812,
+ 811, 810, 809, 808, 807, 804, 803, 802, 801, 800,
+ 799, 798, 797, 796, 795, 794, 793, 792, 791, 790,
+ 789, 788, 787, 786, 785, 784, 783, 782, 781, 777,
+ 776, 775, 774, 773, 772, 771, 770, 769, 766, 765,
+
+ 764, 763, 762, 761, 760, 759, 758, 757, 756, 755,
+ 754, 753, 752, 751, 750, 749, 748, 747, 744, 743,
+ 742, 741, 740, 739, 738, 737, 736, 735, 734, 733,
+ 732, 731, 730, 729, 728, 727, 726, 725, 724, 723,
+ 722, 721, 720, 719, 718, 715, 714, 713, 712, 711,
+ 710, 709, 708, 707, 706, 705, 704, 703, 702, 701,
+ 700, 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, 666, 665, 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, 638, 637, 636, 635, 634,
+ 633, 632, 629, 628, 627, 626, 625, 624, 623, 622,
+ 621, 620, 619, 618, 617, 616, 615, 614, 613, 612,
+ 611, 610, 609, 606, 605, 604, 603, 602, 601, 600,
+ 599, 596, 595, 594, 587, 586, 585, 584, 583, 582,
+ 581, 580, 579, 578, 577, 576, 575, 571, 570, 569,
+ 566, 565, 562, 561, 560, 559, 558, 555, 554, 553,
+ 552, 551, 550, 549, 548, 547, 546, 545, 544, 543,
+ 542, 539, 538, 537, 534, 533, 532, 531, 530, 529,
+
+ 528, 525, 524, 521, 520, 519, 518, 517, 516, 515,
+ 514, 513, 512, 511, 507, 506, 505, 502, 501, 500,
+ 495, 494, 493, 492, 491, 490, 489, 488, 487, 486,
+ 485, 484, 479, 478, 477, 476, 475, 474, 473, 472,
+ 471, 470, 469, 468, 467, 464, 463, 462, 461, 458,
+ 455, 454, 453, 452, 451, 450, 449, 448, 447, 446,
+ 443, 442, 440, 438, 435, 432, 431, 430, 429, 428,
+ 427, 426, 424, 423, 422, 421, 420, 419, 418, 417,
+ 416, 413, 412, 411, 410, 409, 408, 407, 404, 403,
+ 402, 401, 400, 399, 398, 397, 396, 395, 394, 393,
+
+ 392, 391, 390, 389, 388, 385, 384, 383, 381, 380,
+ 379, 378, 377, 376, 372, 371, 370, 369, 368, 367,
+ 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, 334, 333, 332, 331,
+ 330, 329, 328, 326, 206, 323, 321, 319, 316, 313,
+ 306, 305, 304, 303, 302, 301, 300, 298, 297, 296,
+ 293, 292, 291, 287, 277, 274, 270, 269, 264, 263,
+ 262, 261, 260, 258, 257, 256, 255, 254, 253, 250,
+ 249, 248, 247, 246, 245, 244, 241, 240, 236, 235,
+
+ 227, 226, 225, 221, 220, 219, 218, 214, 210, 206,
+ 195, 194, 191, 190, 182, 163, 140, 107, 104, 103,
+ 43, 98, 96, 95, 86, 43, 1925, 11, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+
+ 1925
} ;
-static const flex_int16_t yy_chk[2379] =
+static const flex_int16_t yy_chk[2402] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
51, 42, 9, 2, 53, 2, 55, 56, 31, 64,
10, 2, 2, 47, 64, 245, 25, 64, 25, 50,
2, 25, 25, 25, 25, 25, 2, 53, 51, 55,
- 727, 56, 245, 2, 2, 15, 15, 15, 15, 15,
+ 728, 56, 245, 2, 2, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 17, 728,
+ 15, 15, 15, 15, 15, 15, 15, 15, 17, 729,
17, 17, 17, 17, 17, 19, 58, 19, 19, 19,
19, 19, 112, 17, 20, 20, 20, 20, 20, 22,
19, 22, 22, 22, 22, 22, 62, 20, 59, 73,
54, 61, 58, 73, 22, 112, 17, 109, 58, 59,
54, 61, 59, 19, 59, 63, 59, 107, 89, 62,
- 20, 90, 63, 54, 729, 131, 281, 22, 45, 281,
+ 20, 90, 63, 54, 730, 131, 281, 22, 45, 281,
62, 45, 45, 45, 109, 45, 45, 45, 54, 57,
65, 131, 45, 45, 89, 45, 57, 90, 107, 92,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 60, 92, 57, 60, 60, 93,
57, 60, 60, 68, 57, 67, 67, 68, 171, 67,
- 69, 68, 57, 730, 60, 67, 57, 91, 57, 57,
+ 69, 68, 57, 731, 60, 67, 57, 91, 57, 57,
70, 94, 171, 68, 76, 93, 105, 68, 70, 69,
- 70, 69, 731, 69, 71, 70, 70, 71, 71, 74,
+ 70, 69, 732, 69, 71, 70, 70, 71, 71, 74,
75, 75, 129, 74, 129, 91, 74, 76, 71, 94,
75, 71, 105, 74, 74, 111, 145, 76, 74, 74,
75, 129, 76, 79, 79, 79, 79, 79, 87, 87,
87, 87, 87, 75, 137, 75, 79, 145, 75, 75,
99, 80, 111, 80, 80, 80, 80, 80, 75, 83,
- 83, 83, 83, 83, 101, 75, 80, 733, 81, 79,
+ 83, 83, 83, 83, 101, 75, 80, 734, 81, 79,
81, 101, 83, 81, 81, 81, 81, 81, 82, 102,
82, 82, 82, 82, 82, 108, 110, 99, 137, 80,
- 152, 116, 734, 82, 120, 83, 88, 88, 88, 88,
+ 152, 116, 735, 82, 120, 83, 88, 88, 88, 88,
88, 101, 118, 120, 120, 101, 163, 102, 116, 101,
163, 118, 381, 108, 110, 118, 82, 101, 152, 116,
130, 101, 381, 101, 101, 115, 115, 115, 115, 115,
125, 125, 165, 130, 115, 115, 115, 115, 115, 115,
125, 134, 161, 167, 134, 161, 161, 167, 134, 158,
- 175, 167, 186, 184, 735, 252, 187, 115, 115, 115,
+ 175, 167, 186, 184, 736, 252, 187, 115, 115, 115,
115, 115, 115, 185, 158, 158, 158, 165, 165, 165,
188, 189, 193, 196, 200, 186, 197, 175, 165, 202,
165, 184, 165, 165, 187, 165, 204, 209, 263, 185,
- 736, 217, 737, 289, 189, 193, 188, 200, 259, 217,
+ 737, 217, 738, 289, 189, 193, 188, 200, 259, 217,
315, 196, 202, 197, 217, 217, 289, 299, 252, 307,
209, 252, 299, 204, 207, 207, 207, 207, 207, 310,
317, 259, 338, 207, 207, 207, 207, 207, 207, 315,
- 320, 341, 307, 738, 346, 327, 341, 382, 263, 338,
+ 320, 341, 307, 739, 346, 327, 341, 382, 263, 338,
- 346, 395, 310, 317, 739, 498, 207, 207, 207, 207,
+ 346, 395, 310, 317, 740, 498, 207, 207, 207, 207,
207, 207, 360, 425, 465, 498, 425, 360, 320, 325,
- 325, 325, 325, 325, 327, 382, 740, 465, 325, 325,
+ 325, 325, 325, 325, 327, 382, 741, 465, 325, 325,
325, 325, 325, 325, 373, 373, 373, 377, 398, 437,
- 373, 406, 398, 377, 410, 406, 741, 443, 410, 443,
- 742, 325, 325, 325, 325, 325, 325, 431, 475, 395,
- 743, 461, 431, 475, 445, 360, 573, 437, 572, 461,
+ 373, 406, 398, 377, 410, 406, 742, 443, 410, 443,
+ 743, 325, 325, 325, 325, 325, 325, 431, 475, 395,
+ 744, 461, 431, 475, 445, 360, 573, 437, 572, 461,
360, 461, 461, 461, 443, 461, 443, 444, 444, 444,
- 444, 444, 623, 623, 696, 744, 444, 444, 444, 444,
+ 444, 444, 593, 623, 623, 593, 444, 444, 444, 444,
444, 444, 445, 537, 573, 572, 574, 576, 537, 695,
- 657, 574, 745, 684, 576, 657, 746, 696, 747, 444,
- 444, 444, 444, 444, 444, 684, 704, 704, 724, 704,
- 748, 749, 724, 750, 751, 752, 724, 695, 752, 753,
- 754, 755, 757, 758, 759, 760, 761, 762, 763, 764,
- 765, 767, 768, 769, 657, 770, 771, 772, 773, 774,
- 775, 776, 778, 779, 780, 781, 782, 783, 784, 785,
- 786, 787, 788, 789, 790, 791, 792, 793, 794, 795,
- 796, 797, 798, 799, 800, 801, 802, 796, 803, 798,
- 805, 801, 806, 798, 807, 808, 809, 810, 811, 812,
- 813, 814, 815, 816, 817, 818, 819, 820, 821, 823,
-
- 824, 825, 826, 827, 828, 829, 830, 831, 832, 833,
- 834, 835, 836, 837, 838, 839, 840, 841, 842, 843,
- 815, 844, 845, 846, 847, 848, 849, 850, 851, 853,
- 854, 855, 856, 857, 858, 859, 860, 861, 862, 858,
- 863, 864, 865, 866, 867, 868, 871, 872, 873, 874,
- 875, 876, 877, 880, 881, 882, 883, 884, 885, 886,
- 887, 888, 889, 886, 890, 891, 892, 894, 896, 897,
- 898, 899, 900, 901, 902, 903, 904, 905, 906, 907,
- 908, 909, 910, 911, 912, 913, 914, 915, 916, 917,
- 918, 919, 920, 921, 922, 923, 924, 925, 926, 927,
-
- 929, 930, 931, 919, 932, 933, 934, 935, 936, 937,
- 938, 939, 940, 941, 942, 944, 945, 946, 947, 948,
- 949, 950, 951, 952, 953, 954, 955, 956, 957, 958,
- 959, 960, 961, 938, 962, 963, 937, 964, 965, 967,
- 968, 969, 970, 971, 972, 973, 974, 975, 976, 977,
- 978, 980, 981, 982, 983, 984, 985, 986, 988, 989,
- 984, 990, 991, 992, 993, 994, 995, 996, 997, 998,
- 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1013, 1014, 1015, 1017, 1018, 1019, 1020, 1022,
- 1008, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031,
-
- 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1041, 1042,
- 1043, 1044, 1045, 984, 1046, 1047, 1048, 1049, 1050, 1051,
- 1052, 1053, 1054, 1056, 1055, 1057, 1058, 1059, 1060, 1061,
- 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
- 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1080, 1081, 1082,
- 1054, 1055, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
- 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1099, 1100, 1101,
- 1102, 1103, 1104, 1100, 1105, 1106, 1107, 1108, 1109, 1110,
- 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120,
- 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
-
- 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141,
- 1142, 1143, 1144, 1101, 1146, 1147, 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, 1180, 1181, 1182, 1183, 1184,
- 1185, 1186, 1188, 1189, 1165, 1190, 1191, 1192, 1193, 1194,
- 1166, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
- 1204, 1205, 1208, 1210, 1212, 1213, 1214, 1215, 1216, 1217,
- 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1228,
- 1229, 1230, 1232, 1233, 1234, 1235, 1236, 1239, 1241, 1243,
-
- 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253,
- 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, 1266,
- 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1275, 1276, 1277,
- 1278, 1279, 1280, 1281, 1282, 1284, 1285, 1286, 1287, 1288,
- 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
- 1299, 1301, 1302, 1272, 1303, 1304, 1305, 1306, 1307, 1308,
- 1309, 1310, 1253, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
- 1319, 1320, 1321, 1322, 1278, 1323, 1324, 1325, 1326, 1327,
- 1321, 1328, 1329, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
- 1339, 1340, 1341, 1342, 1343, 1345, 1346, 1347, 1348, 1349,
-
- 1350, 1352, 1354, 1357, 1358, 1359, 1361, 1362, 1363, 1364,
- 1365, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, 1376,
- 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
- 1387, 1389, 1391, 1365, 1392, 1393, 1394, 1395, 1396, 1397,
- 1398, 1399, 1400, 1401, 1403, 1405, 1407, 1409, 1410, 1411,
- 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1420, 1421, 1422,
- 1423, 1424, 1425, 1426, 1429, 1430, 1432, 1433, 1434, 1435,
- 1436, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1447,
- 1448, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458,
- 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1468, 1469,
-
- 1470, 1472, 1473, 1461, 1474, 1475, 1476, 1448, 1477, 1478,
- 1479, 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, 1505, 1506, 1507,
- 1509, 1510, 1511, 1512, 1514, 1515, 1516, 1517, 1518, 1519,
- 1522, 1523, 1524, 1528, 1529, 1530, 1531, 1532, 1533, 1534,
- 1535, 1536, 1537, 1539, 1540, 1541, 1542, 1543, 1539, 1544,
- 1480, 1545, 1546, 1547, 1549, 1517, 1550, 1551, 1553, 1555,
- 1556, 1557, 1559, 1560, 1561, 1562, 1563, 1565, 1566, 1567,
- 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
-
- 1578, 1579, 1580, 1581, 1582, 1584, 1586, 1587, 1588, 1590,
- 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1601,
- 1602, 1603, 1604, 1605, 1607, 1608, 1609, 1611, 1612, 1613,
- 1614, 1615, 1616, 1617, 1618, 1619, 1621, 1622, 1623, 1624,
- 1625, 1626, 1627, 1628, 1629, 1630, 1632, 1633, 1634, 1636,
- 1637, 1638, 1639, 1641, 1643, 1644, 1645, 1646, 1647, 1648,
- 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1658, 1659,
- 1660, 1661, 1662, 1663, 1664, 1665, 1667, 1668, 1669, 1670,
- 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681,
- 1683, 1684, 1685, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
-
- 1694, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704,
- 1705, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716,
- 1718, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728,
- 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1739,
- 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1749, 1751,
- 1753, 1756, 1757, 1758, 1759, 1760, 1762, 1763, 1764, 1766,
- 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1776, 1777,
- 1779, 1780, 1781, 1782, 1784, 1785, 1786, 1788, 1790, 1791,
- 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1801, 1802, 1803,
- 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
-
- 1814, 1815, 1816, 1818, 1819, 1820, 1821, 1822, 1823, 1824,
- 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
- 1835, 1836, 1838, 1839, 1841, 1842, 1844, 1845, 1846, 1847,
- 1852, 1855, 1856, 1857, 1859, 1860, 1861, 1862, 1863, 1864,
- 1866, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1875, 1878,
- 1879, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1889, 1890,
- 1891, 1892, 1893, 1896, 1897, 1898, 1899, 1903, 1903, 1903,
- 1903, 1903, 1904, 1904, 1904, 1904, 1904, 1905, 1911, 1905,
- 1905, 1905, 1906, 1912, 1906, 1913, 1906, 1907, 1907, 1907,
- 1907, 1907, 1908, 1908, 1908, 1908, 1908, 1909, 1914, 1909,
-
- 1909, 1909, 1910, 1910, 1910, 726, 725, 723, 722, 721,
- 720, 719, 718, 717, 716, 715, 714, 713, 712, 711,
- 710, 709, 708, 707, 706, 705, 703, 702, 701, 700,
- 699, 698, 697, 692, 691, 690, 689, 688, 687, 686,
- 685, 683, 682, 680, 679, 678, 677, 676, 675, 674,
- 673, 672, 671, 670, 669, 668, 666, 665, 664, 663,
- 662, 661, 660, 659, 658, 656, 655, 653, 652, 651,
- 650, 649, 648, 647, 645, 644, 643, 641, 640, 638,
- 637, 636, 635, 634, 633, 632, 631, 630, 629, 628,
- 627, 626, 625, 624, 622, 621, 620, 619, 618, 617,
-
- 615, 614, 613, 612, 611, 610, 609, 608, 606, 605,
- 604, 603, 602, 601, 600, 599, 598, 597, 596, 595,
- 594, 593, 592, 591, 590, 589, 588, 587, 586, 585,
- 584, 583, 582, 581, 580, 579, 578, 577, 568, 566,
- 565, 564, 562, 559, 557, 556, 555, 554, 553, 552,
- 551, 550, 549, 548, 547, 546, 545, 544, 543, 542,
- 541, 540, 539, 538, 536, 535, 534, 533, 532, 531,
- 530, 529, 528, 527, 526, 525, 523, 521, 520, 519,
- 518, 517, 516, 515, 514, 513, 512, 511, 510, 509,
- 508, 506, 505, 504, 503, 502, 501, 500, 499, 497,
-
- 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
- 486, 485, 484, 483, 482, 481, 479, 478, 477, 476,
- 474, 473, 472, 471, 470, 469, 467, 466, 464, 463,
- 462, 460, 458, 457, 456, 455, 454, 453, 452, 450,
- 449, 448, 447, 446, 441, 439, 438, 435, 432, 430,
- 429, 428, 427, 426, 424, 423, 422, 421, 420, 419,
- 418, 417, 416, 415, 414, 413, 412, 411, 409, 408,
- 407, 405, 404, 403, 402, 401, 400, 399, 397, 396,
- 394, 393, 392, 391, 390, 389, 388, 387, 386, 385,
- 384, 380, 379, 378, 376, 375, 374, 372, 371, 370,
-
- 369, 368, 367, 366, 365, 364, 363, 362, 361, 359,
- 358, 357, 356, 355, 354, 353, 352, 351, 350, 349,
- 348, 347, 345, 344, 343, 342, 340, 337, 336, 335,
- 334, 333, 332, 331, 330, 329, 328, 324, 322, 318,
- 316, 313, 306, 305, 304, 303, 302, 301, 300, 298,
- 297, 296, 295, 294, 293, 292, 291, 290, 288, 287,
- 286, 285, 284, 283, 282, 280, 279, 278, 277, 276,
- 275, 274, 273, 272, 271, 270, 269, 268, 267, 266,
- 265, 264, 262, 261, 260, 258, 257, 256, 255, 254,
- 253, 251, 250, 249, 248, 247, 246, 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, 211, 210,
- 208, 205, 203, 201, 199, 194, 190, 182, 181, 180,
- 179, 178, 177, 176, 174, 173, 172, 170, 169, 168,
- 166, 164, 162, 160, 159, 157, 156, 155, 154, 153,
- 151, 150, 149, 148, 147, 146, 144, 143, 142, 141,
- 140, 139, 138, 136, 135, 133, 132, 128, 127, 126,
- 124, 123, 122, 121, 119, 117, 113, 104, 103, 97,
- 96, 77, 72, 66, 52, 49, 48, 43, 41, 39,
-
- 38, 24, 14, 11, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
- 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902
+ 657, 574, 696, 684, 576, 657, 745, 746, 747, 444,
+ 444, 444, 444, 444, 444, 684, 704, 704, 725, 704,
+ 748, 749, 725, 750, 751, 696, 725, 695, 752, 753,
+ 754, 755, 753, 756, 758, 759, 760, 761, 762, 763,
+ 764, 765, 766, 768, 657, 769, 770, 771, 772, 773,
+ 774, 775, 776, 777, 779, 780, 781, 782, 783, 784,
+ 785, 786, 787, 788, 789, 790, 791, 792, 793, 794,
+ 795, 796, 797, 798, 799, 800, 801, 802, 803, 797,
+ 804, 799, 806, 802, 807, 799, 808, 809, 810, 811,
+ 812, 813, 814, 815, 816, 817, 818, 819, 820, 821,
+
+ 822, 824, 825, 826, 827, 828, 829, 830, 831, 832,
+ 833, 834, 835, 836, 837, 838, 839, 840, 841, 842,
+ 843, 844, 816, 845, 846, 847, 848, 849, 850, 851,
+ 852, 853, 855, 856, 857, 858, 859, 860, 861, 862,
+ 863, 864, 860, 865, 866, 867, 868, 869, 870, 873,
+ 874, 875, 876, 877, 878, 879, 882, 883, 884, 885,
+ 886, 887, 888, 889, 890, 891, 888, 892, 893, 894,
+ 896, 898, 899, 900, 901, 902, 903, 904, 905, 906,
+ 907, 908, 909, 910, 911, 912, 913, 914, 915, 916,
+ 917, 918, 919, 920, 921, 922, 923, 924, 925, 926,
+
+ 927, 928, 929, 931, 932, 933, 921, 934, 935, 936,
+ 937, 938, 939, 940, 941, 942, 943, 944, 946, 947,
+ 948, 949, 950, 951, 952, 953, 954, 955, 956, 957,
+ 958, 959, 960, 961, 962, 963, 940, 964, 965, 939,
+ 966, 967, 968, 970, 971, 972, 973, 974, 975, 976,
+ 977, 978, 979, 980, 981, 983, 984, 985, 986, 987,
+ 988, 989, 991, 992, 987, 993, 994, 995, 996, 997,
+ 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
+ 1008, 1009, 1010, 1011, 1012, 1013, 1016, 1017, 1018, 1020,
+ 1021, 1022, 1023, 1025, 1011, 1026, 1027, 1028, 1029, 1030,
+
+ 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
+ 1041, 1042, 1044, 1045, 1046, 1047, 1048, 987, 1049, 1050,
+ 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1059, 1058, 1060,
+ 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070,
+ 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
+ 1081, 1082, 1084, 1085, 1057, 1058, 1086, 1087, 1088, 1089,
+ 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099,
+ 1100, 1101, 1103, 1104, 1105, 1106, 1107, 1108, 1104, 1109,
+ 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
+ 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129,
+
+ 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1138, 1139, 1140,
+ 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1105, 1150,
+ 1151, 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,
+ 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1193, 1169,
+ 1194, 1195, 1196, 1197, 1198, 1170, 1199, 1200, 1201, 1202,
+ 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1213, 1215,
+ 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226,
+ 1227, 1228, 1229, 1230, 1231, 1233, 1234, 1235, 1237, 1238,
+
+ 1239, 1240, 1241, 1244, 1246, 1248, 1249, 1250, 1251, 1252,
+ 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262,
+ 1264, 1265, 1266, 1267, 1268, 1271, 1272, 1273, 1274, 1275,
+ 1276, 1277, 1278, 1280, 1281, 1282, 1283, 1284, 1285, 1286,
+ 1287, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
+ 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1307, 1277,
+ 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1258, 1316,
+ 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327,
+ 1283, 1328, 1329, 1330, 1331, 1332, 1333, 1327, 1334, 1335,
+ 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
+
+ 1348, 1349, 1351, 1352, 1353, 1354, 1355, 1356, 1358, 1360,
+ 1363, 1364, 1365, 1367, 1368, 1369, 1370, 1371, 1373, 1374,
+ 1375, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385,
+ 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1396,
+ 1371, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
+ 1407, 1408, 1410, 1412, 1414, 1416, 1417, 1418, 1419, 1420,
+ 1421, 1422, 1423, 1424, 1425, 1427, 1428, 1429, 1430, 1431,
+ 1432, 1433, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1445,
+ 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1454, 1455, 1457,
+ 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467,
+
+ 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1476, 1477, 1478,
+ 1480, 1468, 1481, 1482, 1483, 1455, 1484, 1485, 1486, 1487,
+ 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496,
+ 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506,
+ 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1517,
+ 1518, 1519, 1520, 1522, 1523, 1524, 1525, 1526, 1527, 1530,
+ 1531, 1532, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
+ 1544, 1545, 1546, 1548, 1549, 1550, 1551, 1552, 1548, 1488,
+ 1553, 1554, 1555, 1556, 1525, 1558, 1559, 1560, 1562, 1564,
+ 1565, 1566, 1568, 1569, 1570, 1571, 1572, 1574, 1575, 1576,
+
+ 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
+ 1587, 1588, 1589, 1590, 1591, 1593, 1595, 1596, 1597, 1599,
+ 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609,
+ 1611, 1612, 1613, 1614, 1615, 1617, 1618, 1619, 1621, 1622,
+ 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1631, 1632, 1633,
+ 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1642, 1643, 1644,
+ 1646, 1647, 1648, 1649, 1651, 1653, 1654, 1655, 1656, 1657,
+ 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667,
+ 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679,
+ 1680, 1681, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690,
+
+ 1691, 1692, 1694, 1695, 1696, 1698, 1699, 1700, 1701, 1702,
+ 1703, 1704, 1705, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
+ 1714, 1715, 1716, 1717, 1720, 1721, 1722, 1723, 1724, 1725,
+ 1726, 1727, 1728, 1730, 1732, 1733, 1734, 1735, 1736, 1737,
+ 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747,
+ 1748, 1749, 1750, 1752, 1753, 1754, 1755, 1756, 1757, 1758,
+ 1759, 1760, 1762, 1764, 1766, 1769, 1770, 1771, 1772, 1773,
+ 1775, 1776, 1777, 1779, 1780, 1781, 1782, 1783, 1784, 1785,
+ 1786, 1787, 1788, 1790, 1791, 1793, 1794, 1795, 1796, 1798,
+ 1799, 1800, 1802, 1804, 1805, 1807, 1808, 1809, 1810, 1811,
+
+ 1812, 1813, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822,
+ 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1833,
+ 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843,
+ 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1854,
+ 1855, 1857, 1858, 1859, 1861, 1862, 1863, 1864, 1869, 1872,
+ 1873, 1874, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1884,
+ 1886, 1888, 1890, 1891, 1892, 1893, 1894, 1895, 1894, 1896,
+ 1898, 1899, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908,
+ 1910, 1911, 1912, 1913, 1914, 1916, 1919, 1920, 1921, 1922,
+ 1926, 1926, 1926, 1926, 1926, 1927, 1927, 1927, 1927, 1927,
+
+ 1928, 1934, 1928, 1928, 1928, 1929, 1935, 1929, 1936, 1929,
+ 1930, 1930, 1930, 1930, 1930, 1931, 1931, 1931, 1931, 1931,
+ 1932, 1937, 1932, 1932, 1932, 1933, 1933, 1933, 727, 726,
+ 724, 723, 722, 721, 720, 719, 718, 717, 716, 715,
+ 714, 713, 712, 711, 710, 709, 708, 707, 706, 705,
+ 703, 702, 701, 700, 699, 698, 697, 692, 691, 690,
+ 689, 688, 687, 686, 685, 683, 682, 680, 679, 678,
+ 677, 676, 675, 674, 673, 672, 671, 670, 669, 668,
+ 666, 665, 664, 663, 662, 661, 660, 659, 658, 656,
+ 655, 653, 652, 651, 650, 649, 648, 647, 645, 644,
+
+ 643, 641, 640, 638, 637, 636, 635, 634, 633, 632,
+ 631, 630, 629, 628, 627, 626, 625, 624, 622, 621,
+ 620, 619, 618, 617, 615, 614, 613, 612, 611, 610,
+ 609, 608, 606, 605, 604, 603, 602, 601, 600, 599,
+ 598, 597, 596, 595, 594, 592, 591, 590, 589, 588,
+ 587, 586, 585, 584, 583, 582, 581, 580, 579, 578,
+ 577, 568, 566, 565, 564, 562, 559, 557, 556, 555,
+ 554, 553, 552, 551, 550, 549, 548, 547, 546, 545,
+ 544, 543, 542, 541, 540, 539, 538, 536, 535, 534,
+ 533, 532, 531, 530, 529, 528, 527, 526, 525, 523,
+
+ 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
+ 511, 510, 509, 508, 506, 505, 504, 503, 502, 501,
+ 500, 499, 497, 496, 495, 494, 493, 492, 491, 490,
+ 489, 488, 487, 486, 485, 484, 483, 482, 481, 479,
+ 478, 477, 476, 474, 473, 472, 471, 470, 469, 467,
+ 466, 464, 463, 462, 460, 458, 457, 456, 455, 454,
+ 453, 452, 450, 449, 448, 447, 446, 441, 439, 438,
+ 435, 432, 430, 429, 428, 427, 426, 424, 423, 422,
+ 421, 420, 419, 418, 417, 416, 415, 414, 413, 412,
+ 411, 409, 408, 407, 405, 404, 403, 402, 401, 400,
+
+ 399, 397, 396, 394, 393, 392, 391, 390, 389, 388,
+ 387, 386, 385, 384, 380, 379, 378, 376, 375, 374,
+ 372, 371, 370, 369, 368, 367, 366, 365, 364, 363,
+ 362, 361, 359, 358, 357, 356, 355, 354, 353, 352,
+ 351, 350, 349, 348, 347, 345, 344, 343, 342, 340,
+ 337, 336, 335, 334, 333, 332, 331, 330, 329, 328,
+ 324, 322, 318, 316, 313, 306, 305, 304, 303, 302,
+ 301, 300, 298, 297, 296, 295, 294, 293, 292, 291,
+ 290, 288, 287, 286, 285, 284, 283, 282, 280, 279,
+ 278, 277, 276, 275, 274, 273, 272, 271, 270, 269,
+
+ 268, 267, 266, 265, 264, 262, 261, 260, 258, 257,
+ 256, 255, 254, 253, 251, 250, 249, 248, 247, 246,
+ 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, 211, 210, 208, 205, 203, 201, 199, 194, 190,
+ 182, 181, 180, 179, 178, 177, 176, 174, 173, 172,
+ 170, 169, 168, 166, 164, 162, 160, 159, 157, 156,
+ 155, 154, 153, 151, 150, 149, 148, 147, 146, 144,
+ 143, 142, 141, 140, 139, 138, 136, 135, 133, 132,
+
+ 128, 127, 126, 124, 123, 122, 121, 119, 117, 113,
+ 104, 103, 97, 96, 77, 72, 66, 52, 49, 48,
+ 43, 41, 39, 38, 24, 14, 11, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+ 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
+
+ 1925
} ;
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[208] =
+static const flex_int16_t yy_rule_linenum[209] =
{ 0,
147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
184, 191, 200, 209, 218, 227, 236, 245, 254, 263,
662, 673, 684, 695, 706, 717, 728, 739, 750, 761,
772, 783, 792, 803, 814, 825, 836, 847, 858, 869,
880, 889, 898, 907, 916, 927, 938, 949, 960, 971,
- 982, 993, 1003, 1014, 1023, 1032, 1047, 1063, 1072, 1081,
-
- 1090, 1099, 1108, 1117, 1126, 1135, 1144, 1153, 1177, 1201,
- 1210, 1220, 1230, 1239, 1249, 1260, 1269, 1278, 1287, 1296,
- 1305, 1315, 1324, 1333, 1342, 1353, 1364, 1375, 1386, 1397,
- 1406, 1415, 1424, 1433, 1442, 1451, 1460, 1469, 1478, 1488,
- 1500, 1513, 1522, 1531, 1541, 1551, 1560, 1571, 1581, 1590,
- 1600, 1610, 1619, 1628, 1637, 1646, 1656, 1665, 1674, 1683,
- 1692, 1701, 1710, 1719, 1728, 1737, 1746, 1755, 1764, 1773,
- 1782, 1791, 1800, 1809, 1818, 1827, 1836, 1845, 1854, 1863,
- 1872, 1881, 1890, 1899, 1908, 1917, 1926, 1935, 1944, 1953,
- 2052, 2057, 2062, 2067, 2068, 2069, 2070, 2071, 2072, 2074,
-
- 2092, 2105, 2110, 2114, 2116, 2118, 2120
+ 982, 993, 1005, 1015, 1026, 1035, 1044, 1059, 1075, 1084,
+
+ 1093, 1102, 1111, 1120, 1129, 1138, 1147, 1156, 1165, 1189,
+ 1213, 1222, 1232, 1242, 1251, 1261, 1272, 1281, 1290, 1299,
+ 1308, 1317, 1327, 1336, 1345, 1354, 1365, 1376, 1387, 1398,
+ 1409, 1418, 1427, 1436, 1445, 1454, 1463, 1472, 1481, 1490,
+ 1500, 1512, 1525, 1534, 1543, 1553, 1563, 1572, 1583, 1593,
+ 1602, 1612, 1622, 1631, 1640, 1649, 1658, 1668, 1677, 1686,
+ 1695, 1704, 1713, 1722, 1731, 1740, 1749, 1758, 1767, 1776,
+ 1785, 1794, 1803, 1812, 1821, 1830, 1839, 1848, 1857, 1866,
+ 1875, 1884, 1893, 1902, 1911, 1920, 1929, 1938, 1947, 1956,
+ 1965, 2064, 2069, 2074, 2079, 2080, 2081, 2082, 2083, 2084,
+
+ 2086, 2104, 2117, 2122, 2126, 2128, 2130, 2132
} ;
/* The intent behind this definition is that it'll catch
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 2004 "dhcp6_lexer.cc"
+#line 2018 "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 2030 "dhcp6_lexer.cc"
-#line 2031 "dhcp6_lexer.cc"
+#line 2044 "dhcp6_lexer.cc"
+#line 2045 "dhcp6_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2361 "dhcp6_lexer.cc"
+#line 2375 "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 >= 1903 )
+ if ( yy_current_state >= 1926 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1902 );
+ while ( yy_current_state != 1925 );
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 < 208 )
+ else if ( yy_act < 209 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 208 )
+ else if ( yy_act == 209 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 209 )
+ else if ( yy_act == 210 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case 92:
YY_RULE_SETUP
#line 993 "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_USE_CONFLICT_RESOLUTION(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
+ }
+}
+ YY_BREAK
+case 93:
+YY_RULE_SETUP
+#line 1005 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 93:
+case 94:
YY_RULE_SETUP
-#line 1003 "dhcp6_lexer.ll"
+#line 1015 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 94:
+case 95:
YY_RULE_SETUP
-#line 1014 "dhcp6_lexer.ll"
+#line 1026 "dhcp6_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 95:
+case 96:
YY_RULE_SETUP
-#line 1023 "dhcp6_lexer.ll"
+#line 1035 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 96:
+case 97:
YY_RULE_SETUP
-#line 1032 "dhcp6_lexer.ll"
+#line 1044 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 97:
+case 98:
YY_RULE_SETUP
-#line 1047 "dhcp6_lexer.ll"
+#line 1059 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
}
}
YY_BREAK
-case 98:
+case 99:
YY_RULE_SETUP
-#line 1063 "dhcp6_lexer.ll"
+#line 1075 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 99:
+case 100:
YY_RULE_SETUP
-#line 1072 "dhcp6_lexer.ll"
+#line 1084 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 100:
+case 101:
YY_RULE_SETUP
-#line 1081 "dhcp6_lexer.ll"
+#line 1093 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 101:
+case 102:
YY_RULE_SETUP
-#line 1090 "dhcp6_lexer.ll"
+#line 1102 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 102:
+case 103:
YY_RULE_SETUP
-#line 1099 "dhcp6_lexer.ll"
+#line 1111 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 103:
+case 104:
YY_RULE_SETUP
-#line 1108 "dhcp6_lexer.ll"
+#line 1120 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 104:
+case 105:
YY_RULE_SETUP
-#line 1117 "dhcp6_lexer.ll"
+#line 1129 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 105:
+case 106:
YY_RULE_SETUP
-#line 1126 "dhcp6_lexer.ll"
+#line 1138 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 106:
+case 107:
YY_RULE_SETUP
-#line 1135 "dhcp6_lexer.ll"
+#line 1147 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 107:
+case 108:
YY_RULE_SETUP
-#line 1144 "dhcp6_lexer.ll"
+#line 1156 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::POOLS:
}
}
YY_BREAK
-case 108:
+case 109:
YY_RULE_SETUP
-#line 1153 "dhcp6_lexer.ll"
+#line 1165 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 109:
+case 110:
YY_RULE_SETUP
-#line 1177 "dhcp6_lexer.ll"
+#line 1189 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 110:
+case 111:
YY_RULE_SETUP
-#line 1201 "dhcp6_lexer.ll"
+#line 1213 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 111:
+case 112:
YY_RULE_SETUP
-#line 1210 "dhcp6_lexer.ll"
+#line 1222 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 112:
+case 113:
YY_RULE_SETUP
-#line 1220 "dhcp6_lexer.ll"
+#line 1232 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 113:
+case 114:
YY_RULE_SETUP
-#line 1230 "dhcp6_lexer.ll"
+#line 1242 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 114:
+case 115:
YY_RULE_SETUP
-#line 1239 "dhcp6_lexer.ll"
+#line 1251 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 115:
+case 116:
YY_RULE_SETUP
-#line 1249 "dhcp6_lexer.ll"
+#line 1261 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 116:
+case 117:
YY_RULE_SETUP
-#line 1260 "dhcp6_lexer.ll"
+#line 1272 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 117:
+case 118:
YY_RULE_SETUP
-#line 1269 "dhcp6_lexer.ll"
+#line 1281 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 118:
+case 119:
YY_RULE_SETUP
-#line 1278 "dhcp6_lexer.ll"
+#line 1290 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 119:
+case 120:
YY_RULE_SETUP
-#line 1287 "dhcp6_lexer.ll"
+#line 1299 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 120:
+case 121:
YY_RULE_SETUP
-#line 1296 "dhcp6_lexer.ll"
+#line 1308 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 121:
+case 122:
YY_RULE_SETUP
-#line 1305 "dhcp6_lexer.ll"
+#line 1317 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 122:
+case 123:
YY_RULE_SETUP
-#line 1315 "dhcp6_lexer.ll"
+#line 1327 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 123:
+case 124:
YY_RULE_SETUP
-#line 1324 "dhcp6_lexer.ll"
+#line 1336 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 124:
+case 125:
YY_RULE_SETUP
-#line 1333 "dhcp6_lexer.ll"
+#line 1345 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 125:
+case 126:
YY_RULE_SETUP
-#line 1342 "dhcp6_lexer.ll"
+#line 1354 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 126:
+case 127:
YY_RULE_SETUP
-#line 1353 "dhcp6_lexer.ll"
+#line 1365 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 127:
+case 128:
YY_RULE_SETUP
-#line 1364 "dhcp6_lexer.ll"
+#line 1376 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 128:
+case 129:
YY_RULE_SETUP
-#line 1375 "dhcp6_lexer.ll"
+#line 1387 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 129:
+case 130:
YY_RULE_SETUP
-#line 1386 "dhcp6_lexer.ll"
+#line 1398 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 130:
+case 131:
YY_RULE_SETUP
-#line 1397 "dhcp6_lexer.ll"
+#line 1409 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 131:
+case 132:
YY_RULE_SETUP
-#line 1406 "dhcp6_lexer.ll"
+#line 1418 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 132:
+case 133:
YY_RULE_SETUP
-#line 1415 "dhcp6_lexer.ll"
+#line 1427 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 133:
+case 134:
YY_RULE_SETUP
-#line 1424 "dhcp6_lexer.ll"
+#line 1436 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 134:
+case 135:
YY_RULE_SETUP
-#line 1433 "dhcp6_lexer.ll"
+#line 1445 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 135:
+case 136:
YY_RULE_SETUP
-#line 1442 "dhcp6_lexer.ll"
+#line 1454 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 136:
+case 137:
YY_RULE_SETUP
-#line 1451 "dhcp6_lexer.ll"
+#line 1463 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 137:
+case 138:
YY_RULE_SETUP
-#line 1460 "dhcp6_lexer.ll"
+#line 1472 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 138:
+case 139:
YY_RULE_SETUP
-#line 1469 "dhcp6_lexer.ll"
+#line 1481 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 139:
+case 140:
YY_RULE_SETUP
-#line 1478 "dhcp6_lexer.ll"
+#line 1490 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 1488 "dhcp6_lexer.ll"
+#line 1500 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 1500 "dhcp6_lexer.ll"
+#line 1512 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 142:
+case 143:
YY_RULE_SETUP
-#line 1513 "dhcp6_lexer.ll"
+#line 1525 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
-#line 1522 "dhcp6_lexer.ll"
+#line 1534 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
-#line 1531 "dhcp6_lexer.ll"
+#line 1543 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 145:
+case 146:
YY_RULE_SETUP
-#line 1541 "dhcp6_lexer.ll"
+#line 1553 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 146:
+case 147:
YY_RULE_SETUP
-#line 1551 "dhcp6_lexer.ll"
+#line 1563 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 147:
+case 148:
YY_RULE_SETUP
-#line 1560 "dhcp6_lexer.ll"
+#line 1572 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::MAC_SOURCES:
}
}
YY_BREAK
-case 148:
+case 149:
YY_RULE_SETUP
-#line 1571 "dhcp6_lexer.ll"
+#line 1583 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 149:
+case 150:
YY_RULE_SETUP
-#line 1581 "dhcp6_lexer.ll"
+#line 1593 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 150:
+case 151:
YY_RULE_SETUP
-#line 1590 "dhcp6_lexer.ll"
+#line 1602 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 151:
+case 152:
YY_RULE_SETUP
-#line 1600 "dhcp6_lexer.ll"
+#line 1612 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 152:
+case 153:
YY_RULE_SETUP
-#line 1610 "dhcp6_lexer.ll"
+#line 1622 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 153:
+case 154:
YY_RULE_SETUP
-#line 1619 "dhcp6_lexer.ll"
+#line 1631 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 154:
+case 155:
YY_RULE_SETUP
-#line 1628 "dhcp6_lexer.ll"
+#line 1640 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 155:
+case 156:
YY_RULE_SETUP
-#line 1637 "dhcp6_lexer.ll"
+#line 1649 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 156:
+case 157:
YY_RULE_SETUP
-#line 1646 "dhcp6_lexer.ll"
+#line 1658 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 157:
+case 158:
YY_RULE_SETUP
-#line 1656 "dhcp6_lexer.ll"
+#line 1668 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RELAY:
}
}
YY_BREAK
-case 158:
+case 159:
YY_RULE_SETUP
-#line 1665 "dhcp6_lexer.ll"
+#line 1677 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 159:
+case 160:
YY_RULE_SETUP
-#line 1674 "dhcp6_lexer.ll"
+#line 1686 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
-#line 1683 "dhcp6_lexer.ll"
+#line 1695 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 161:
+case 162:
YY_RULE_SETUP
-#line 1692 "dhcp6_lexer.ll"
+#line 1704 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 162:
+case 163:
YY_RULE_SETUP
-#line 1701 "dhcp6_lexer.ll"
+#line 1713 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 163:
+case 164:
YY_RULE_SETUP
-#line 1710 "dhcp6_lexer.ll"
+#line 1722 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 164:
+case 165:
YY_RULE_SETUP
-#line 1719 "dhcp6_lexer.ll"
+#line 1731 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 165:
+case 166:
YY_RULE_SETUP
-#line 1728 "dhcp6_lexer.ll"
+#line 1740 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 166:
+case 167:
YY_RULE_SETUP
-#line 1737 "dhcp6_lexer.ll"
+#line 1749 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 167:
+case 168:
YY_RULE_SETUP
-#line 1746 "dhcp6_lexer.ll"
+#line 1758 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 168:
+case 169:
YY_RULE_SETUP
-#line 1755 "dhcp6_lexer.ll"
+#line 1767 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 169:
+case 170:
YY_RULE_SETUP
-#line 1764 "dhcp6_lexer.ll"
+#line 1776 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 170:
+case 171:
YY_RULE_SETUP
-#line 1773 "dhcp6_lexer.ll"
+#line 1785 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 171:
+case 172:
YY_RULE_SETUP
-#line 1782 "dhcp6_lexer.ll"
+#line 1794 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 172:
+case 173:
YY_RULE_SETUP
-#line 1791 "dhcp6_lexer.ll"
+#line 1803 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 173:
+case 174:
YY_RULE_SETUP
-#line 1800 "dhcp6_lexer.ll"
+#line 1812 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 174:
+case 175:
YY_RULE_SETUP
-#line 1809 "dhcp6_lexer.ll"
+#line 1821 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 175:
+case 176:
YY_RULE_SETUP
-#line 1818 "dhcp6_lexer.ll"
+#line 1830 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 176:
+case 177:
YY_RULE_SETUP
-#line 1827 "dhcp6_lexer.ll"
+#line 1839 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 177:
+case 178:
YY_RULE_SETUP
-#line 1836 "dhcp6_lexer.ll"
+#line 1848 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 178:
+case 179:
YY_RULE_SETUP
-#line 1845 "dhcp6_lexer.ll"
+#line 1857 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
}
}
YY_BREAK
-case 179:
+case 180:
YY_RULE_SETUP
-#line 1854 "dhcp6_lexer.ll"
+#line 1866 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
}
}
YY_BREAK
-case 180:
+case 181:
YY_RULE_SETUP
-#line 1863 "dhcp6_lexer.ll"
+#line 1875 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
}
}
YY_BREAK
-case 181:
+case 182:
YY_RULE_SETUP
-#line 1872 "dhcp6_lexer.ll"
+#line 1884 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 182:
+case 183:
YY_RULE_SETUP
-#line 1881 "dhcp6_lexer.ll"
+#line 1893 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 183:
+case 184:
YY_RULE_SETUP
-#line 1890 "dhcp6_lexer.ll"
+#line 1902 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 184:
+case 185:
YY_RULE_SETUP
-#line 1899 "dhcp6_lexer.ll"
+#line 1911 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 185:
+case 186:
YY_RULE_SETUP
-#line 1908 "dhcp6_lexer.ll"
+#line 1920 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 186:
+case 187:
YY_RULE_SETUP
-#line 1917 "dhcp6_lexer.ll"
+#line 1929 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 187:
+case 188:
YY_RULE_SETUP
-#line 1926 "dhcp6_lexer.ll"
+#line 1938 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 188:
+case 189:
YY_RULE_SETUP
-#line 1935 "dhcp6_lexer.ll"
+#line 1947 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 189:
+case 190:
YY_RULE_SETUP
-#line 1944 "dhcp6_lexer.ll"
+#line 1956 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 190:
+case 191:
YY_RULE_SETUP
-#line 1953 "dhcp6_lexer.ll"
+#line 1965 "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 191:
-/* rule 191 can match eol */
+case 192:
+/* rule 192 can match eol */
YY_RULE_SETUP
-#line 2052 "dhcp6_lexer.ll"
+#line 2064 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 192:
-/* rule 192 can match eol */
+case 193:
+/* rule 193 can match eol */
YY_RULE_SETUP
-#line 2057 "dhcp6_lexer.ll"
+#line 2069 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 193:
+case 194:
YY_RULE_SETUP
-#line 2062 "dhcp6_lexer.ll"
+#line 2074 "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 194:
+case 195:
YY_RULE_SETUP
-#line 2067 "dhcp6_lexer.ll"
+#line 2079 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 195:
+case 196:
YY_RULE_SETUP
-#line 2068 "dhcp6_lexer.ll"
+#line 2080 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 196:
+case 197:
YY_RULE_SETUP
-#line 2069 "dhcp6_lexer.ll"
+#line 2081 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 197:
+case 198:
YY_RULE_SETUP
-#line 2070 "dhcp6_lexer.ll"
+#line 2082 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 198:
+case 199:
YY_RULE_SETUP
-#line 2071 "dhcp6_lexer.ll"
+#line 2083 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 199:
+case 200:
YY_RULE_SETUP
-#line 2072 "dhcp6_lexer.ll"
+#line 2084 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 200:
+case 201:
YY_RULE_SETUP
-#line 2074 "dhcp6_lexer.ll"
+#line 2086 "dhcp6_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 201:
+case 202:
YY_RULE_SETUP
-#line 2092 "dhcp6_lexer.ll"
+#line 2104 "dhcp6_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 202:
+case 203:
YY_RULE_SETUP
-#line 2105 "dhcp6_lexer.ll"
+#line 2117 "dhcp6_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 203:
+case 204:
YY_RULE_SETUP
-#line 2110 "dhcp6_lexer.ll"
+#line 2122 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 204:
+case 205:
YY_RULE_SETUP
-#line 2114 "dhcp6_lexer.ll"
+#line 2126 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 205:
+case 206:
YY_RULE_SETUP
-#line 2116 "dhcp6_lexer.ll"
+#line 2128 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 206:
+case 207:
YY_RULE_SETUP
-#line 2118 "dhcp6_lexer.ll"
+#line 2130 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 207:
+case 208:
YY_RULE_SETUP
-#line 2120 "dhcp6_lexer.ll"
+#line 2132 "dhcp6_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 2122 "dhcp6_lexer.ll"
+#line 2134 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 208:
+case 209:
YY_RULE_SETUP
-#line 2145 "dhcp6_lexer.ll"
+#line 2157 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 5081 "dhcp6_lexer.cc"
+#line 5109 "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 >= 1903 )
+ if ( yy_current_state >= 1926 )
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 >= 1903 )
+ if ( yy_current_state >= 1926 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1902);
+ yy_is_jam = (yy_current_state == 1925);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 2145 "dhcp6_lexer.ll"
+#line 2157 "dhcp6_lexer.ll"
using namespace isc::dhcp;
}
}
+\"ddns-use-conflict-resolution\" {
+ 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_USE_CONFLICT_RESOLUTION(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
+ }
+}
+
+
\"subnet6\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
-// A Bison parser, made by GNU Bison 3.7.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton implementation for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 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
// This special exception was added by the Free Software Foundation in
// version 2.2 of Bison.
-// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
-// especially those whose name start with YY_ or yy_. They are
-// private implementation details that can be changed or removed.
-
-
// Take the name prefix into account.
#define yylex parser6_lex
+// First part of user declarations.
+
+#line 39 "dhcp6_parser.cc" // lalr1.cc:404
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
#include "dhcp6_parser.h"
+// User implementation prologue.
+#line 53 "dhcp6_parser.cc" // lalr1.cc:412
// Unqualified %code blocks.
-#line 34 "dhcp6_parser.yy"
+#line 34 "dhcp6_parser.yy" // lalr1.cc:413
#include <dhcp6/parser_context.h>
-#line 52 "dhcp6_parser.cc"
+#line 59 "dhcp6_parser.cc" // lalr1.cc:413
#ifndef YY_
# endif
#endif
-
-// Whether we are compiled with exception support.
-#ifndef YY_EXCEPTIONS
-# if defined __GNUC__ && !defined __EXCEPTIONS
-# define YY_EXCEPTIONS 0
-# else
-# define YY_EXCEPTIONS 1
-# endif
-#endif
-
#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
{ \
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
} \
- while (false)
+ while (/*CONSTCOND*/ false)
# endif
+// Suppress unused-variable warnings by "using" E.
+#define YYUSE(E) ((void) (E))
+
// Enable debugging if requested.
#if PARSER6_DEBUG
{ \
*yycdebug_ << Title << ' '; \
yy_print_ (*yycdebug_, Symbol); \
- *yycdebug_ << '\n'; \
+ *yycdebug_ << std::endl; \
} \
} while (false)
# define YY_STACK_PRINT() \
do { \
if (yydebug_) \
- yy_stack_print_ (); \
+ yystack_print_ (); \
} while (false)
#else // !PARSER6_DEBUG
# define YYCDEBUG if (false) std::cerr
-# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
-# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
-# define YY_STACK_PRINT() static_cast<void> (0)
+# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
+# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
+# define YY_STACK_PRINT() static_cast<void>(0)
#endif // !PARSER6_DEBUG
#define YYERROR goto yyerrorlab
#define YYRECOVERING() (!!yyerrstatus_)
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:479
namespace isc { namespace dhcp {
-#line 145 "dhcp6_parser.cc"
+#line 145 "dhcp6_parser.cc" // lalr1.cc:479
+
+ /* Return YYSTR after stripping away unnecessary quotes and
+ backslashes, so that it's suitable for yyerror. The heuristic is
+ that double-quoting is unnecessary unless the string contains an
+ apostrophe, a comma, or backslash (other than backslash-backslash).
+ YYSTR is taken from yytname. */
+ std::string
+ Dhcp6Parser::yytnamerr_ (const char *yystr)
+ {
+ if (*yystr == '"')
+ {
+ std::string yyr = "";
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ // Fall through.
+ default:
+ yyr += *yyp;
+ break;
+
+ case '"':
+ return yyr;
+ }
+ do_not_strip_quotes: ;
+ }
+
+ return yystr;
+ }
+
/// Build a parser object.
Dhcp6Parser::Dhcp6Parser (isc::dhcp::Parser6Context& ctx_yyarg)
+ :
#if PARSER6_DEBUG
- : yydebug_ (false),
+ yydebug_ (false),
yycdebug_ (&std::cerr),
-#else
- :
#endif
ctx (ctx_yyarg)
{}
Dhcp6Parser::~Dhcp6Parser ()
{}
- Dhcp6Parser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW
- {}
/*---------------.
- | symbol kinds. |
+ | Symbol types. |
`---------------*/
// by_state.
- Dhcp6Parser::by_state::by_state () YY_NOEXCEPT
+ inline
+ Dhcp6Parser::by_state::by_state ()
: state (empty_state)
{}
- Dhcp6Parser::by_state::by_state (const by_state& that) YY_NOEXCEPT
- : state (that.state)
+ inline
+ Dhcp6Parser::by_state::by_state (const by_state& other)
+ : state (other.state)
{}
+ inline
void
- Dhcp6Parser::by_state::clear () YY_NOEXCEPT
+ Dhcp6Parser::by_state::clear ()
{
state = empty_state;
}
+ inline
void
Dhcp6Parser::by_state::move (by_state& that)
{
that.clear ();
}
- Dhcp6Parser::by_state::by_state (state_type s) YY_NOEXCEPT
+ inline
+ Dhcp6Parser::by_state::by_state (state_type s)
: state (s)
{}
- Dhcp6Parser::symbol_kind_type
- Dhcp6Parser::by_state::kind () const YY_NOEXCEPT
+ inline
+ Dhcp6Parser::symbol_number_type
+ Dhcp6Parser::by_state::type_get () const
{
if (state == empty_state)
- return symbol_kind::S_YYEMPTY;
+ return empty_symbol;
else
- return YY_CAST (symbol_kind_type, yystos_[+state]);
+ return yystos_[state];
}
+ inline
Dhcp6Parser::stack_symbol_type::stack_symbol_type ()
{}
- Dhcp6Parser::stack_symbol_type::stack_symbol_type (YY_RVREF (stack_symbol_type) that)
- : super_type (YY_MOVE (that.state), YY_MOVE (that.location))
- {
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_FLOAT: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_INTEGER: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case symbol_kind::S_STRING: // "constant string"
- value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
- break;
-
- default:
- break;
- }
-
-#if 201103L <= YY_CPLUSPLUS
- // that is emptied.
- that.state = empty_state;
-#endif
- }
- Dhcp6Parser::stack_symbol_type::stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) that)
- : super_type (s, YY_MOVE (that.location))
+ inline
+ Dhcp6Parser::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
+ : super_type (s, that.location)
{
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
+ value.move< ElementPtr > (that.value);
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 202: // "boolean"
+ value.move< bool > (that.value);
break;
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 201: // "floating point"
+ value.move< double > (that.value);
break;
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 200: // "integer"
+ value.move< int64_t > (that.value);
break;
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 199: // "constant string"
+ value.move< std::string > (that.value);
break;
default:
}
// that is emptied.
- that.kind_ = symbol_kind::S_YYEMPTY;
+ that.type = empty_symbol;
}
-#if YY_CPLUSPLUS < 201103L
+ inline
Dhcp6Parser::stack_symbol_type&
Dhcp6Parser::stack_symbol_type::operator= (const stack_symbol_type& that)
{
state = that.state;
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
+ switch (that.type_get ())
+ {
+ case 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
value.copy< ElementPtr > (that.value);
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
+ case 202: // "boolean"
value.copy< bool > (that.value);
break;
- case symbol_kind::S_FLOAT: // "floating point"
+ case 201: // "floating point"
value.copy< double > (that.value);
break;
- case symbol_kind::S_INTEGER: // "integer"
+ case 200: // "integer"
value.copy< int64_t > (that.value);
break;
- case symbol_kind::S_STRING: // "constant string"
+ case 199: // "constant string"
value.copy< std::string > (that.value);
break;
return *this;
}
- Dhcp6Parser::stack_symbol_type&
- Dhcp6Parser::stack_symbol_type::operator= (stack_symbol_type& that)
- {
- state = that.state;
- switch (that.kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (that.value);
- break;
-
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (that.value);
- break;
-
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (that.value);
- break;
-
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (that.value);
- break;
-
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (that.value);
- break;
-
- default:
- break;
- }
-
- location = that.location;
- // that is emptied.
- that.state = empty_state;
- return *this;
- }
-#endif
template <typename Base>
+ inline
void
Dhcp6Parser::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
{
#if PARSER6_DEBUG
template <typename Base>
void
- Dhcp6Parser::yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const
+ Dhcp6Parser::yy_print_ (std::ostream& yyo,
+ const basic_symbol<Base>& yysym) const
{
std::ostream& yyoutput = yyo;
YYUSE (yyoutput);
+ symbol_number_type yytype = yysym.type_get ();
+ // Avoid a (spurious) G++ 4.8 warning about "array subscript is
+ // below array bounds".
if (yysym.empty ())
- yyo << "empty symbol";
- else
- {
- symbol_kind_type yykind = yysym.kind ();
- yyo << (yykind < YYNTOKENS ? "token" : "nterm")
- << ' ' << yysym.name () << " ("
- << yysym.location << ": ";
- switch (yykind)
- {
- case symbol_kind::S_STRING: // "constant string"
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 400 "dhcp6_parser.cc"
+ std::abort ();
+ yyo << (yytype < yyntokens_ ? "token" : "nterm")
+ << ' ' << yytname_[yytype] << " ("
+ << yysym.location << ": ";
+ switch (yytype)
+ {
+ case 199: // "constant string"
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 364 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_INTEGER: // "integer"
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 406 "dhcp6_parser.cc"
+ case 200: // "integer"
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 371 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_FLOAT: // "floating point"
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < double > (); }
-#line 412 "dhcp6_parser.cc"
+ case 201: // "floating point"
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 378 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < bool > (); }
-#line 418 "dhcp6_parser.cc"
+ case 202: // "boolean"
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 385 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_value: // value
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 424 "dhcp6_parser.cc"
+ case 219: // value
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 392 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_map_value: // map_value
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 430 "dhcp6_parser.cc"
+ case 223: // map_value
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 399 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 436 "dhcp6_parser.cc"
+ case 264: // ddns_replace_client_name_value
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 406 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_db_type: // db_type
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 442 "dhcp6_parser.cc"
+ case 304: // db_type
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 413 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_hr_mode: // hr_mode
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 448 "dhcp6_parser.cc"
+ case 405: // hr_mode
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 420 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_duid_type: // duid_type
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 454 "dhcp6_parser.cc"
+ case 541: // duid_type
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 427 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
-#line 278 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 460 "dhcp6_parser.cc"
+ case 584: // ncr_protocol_value
+
+#line 279 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 434 "dhcp6_parser.cc" // lalr1.cc:636
break;
+
default:
break;
}
- yyo << ')';
- }
+ yyo << ')';
}
#endif
+ inline
void
- Dhcp6Parser::yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym)
+ Dhcp6Parser::yypush_ (const char* m, state_type s, symbol_type& sym)
{
- if (m)
- YY_SYMBOL_PRINT (m, sym);
- yystack_.push (YY_MOVE (sym));
+ stack_symbol_type t (s, sym);
+ yypush_ (m, t);
}
+ inline
void
- Dhcp6Parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
+ Dhcp6Parser::yypush_ (const char* m, stack_symbol_type& s)
{
-#if 201103L <= YY_CPLUSPLUS
- yypush_ (m, stack_symbol_type (s, std::move (sym)));
-#else
- stack_symbol_type ss (s, sym);
- yypush_ (m, ss);
-#endif
+ if (m)
+ YY_SYMBOL_PRINT (m, s);
+ yystack_.push (s);
}
+ inline
void
- Dhcp6Parser::yypop_ (int n)
+ Dhcp6Parser::yypop_ (unsigned int n)
{
yystack_.pop (n);
}
}
#endif // PARSER6_DEBUG
- Dhcp6Parser::state_type
+ inline Dhcp6Parser::state_type
Dhcp6Parser::yy_lr_goto_state_ (state_type yystate, int yysym)
{
- int yyr = yypgoto_[yysym - YYNTOKENS] + yystate;
+ int yyr = yypgoto_[yysym - yyntokens_] + yystate;
if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
return yytable_[yyr];
else
- return yydefgoto_[yysym - YYNTOKENS];
+ return yydefgoto_[yysym - yyntokens_];
}
- bool
+ inline bool
Dhcp6Parser::yy_pact_value_is_default_ (int yyvalue)
{
return yyvalue == yypact_ninf_;
}
- bool
+ inline bool
Dhcp6Parser::yy_table_value_is_error_ (int yyvalue)
{
return yyvalue == yytable_ninf_;
}
- int
- Dhcp6Parser::operator() ()
- {
- return parse ();
- }
-
int
Dhcp6Parser::parse ()
{
+ // State.
int yyn;
/// Length of the RHS of the rule being reduced.
int yylen = 0;
/// The return value of parse ().
int yyresult;
-#if YY_EXCEPTIONS
+ // FIXME: This shoud be completely indented. It is not yet to
+ // avoid gratuitous conflicts when merging into the master branch.
try
-#endif // YY_EXCEPTIONS
{
- YYCDEBUG << "Starting parse\n";
+ YYCDEBUG << "Starting parse" << std::endl;
/* Initialize the stack. The initial state will be set in
location values to have been already stored, initialize these
stacks with a primary value. */
yystack_.clear ();
- yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla));
+ yypush_ (YY_NULLPTR, 0, yyla);
- /*-----------------------------------------------.
- | yynewstate -- push a new symbol on the stack. |
- `-----------------------------------------------*/
+ // A new symbol was pushed on the stack.
yynewstate:
- YYCDEBUG << "Entering state " << int (yystack_[0].state) << '\n';
- YY_STACK_PRINT ();
+ YYCDEBUG << "Entering state " << yystack_[0].state << std::endl;
// 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];
+ yyn = yypact_[yystack_[0].state];
if (yy_pact_value_is_default_ (yyn))
goto yydefault;
// Read a lookahead token.
if (yyla.empty ())
{
- YYCDEBUG << "Reading a token\n";
-#if YY_EXCEPTIONS
+ YYCDEBUG << "Reading a token: ";
try
-#endif // YY_EXCEPTIONS
{
symbol_type yylookahead (yylex (ctx));
yyla.move (yylookahead);
}
-#if YY_EXCEPTIONS
catch (const syntax_error& yyexc)
{
- YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
error (yyexc);
goto yyerrlab1;
}
-#endif // YY_EXCEPTIONS
}
YY_SYMBOL_PRINT ("Next token is", yyla);
- if (yyla.kind () == symbol_kind::S_YYerror)
- {
- // The scanner already issued an error message, process directly
- // to error recovery. But do not keep the error token as
- // lookahead, it is too special and may lead us to an endless
- // loop in error recovery. */
- yyla.kind_ = symbol_kind::S_YYUNDEF;
- goto yyerrlab1;
- }
-
/* If the proper action on seeing token YYLA.TYPE is to reduce or
to detect an error, take that action. */
- yyn += yyla.kind ();
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.kind ())
- {
- goto yydefault;
- }
+ yyn += yyla.type_get ();
+ if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
+ goto yydefault;
// Reduce or error.
yyn = yytable_[yyn];
--yyerrstatus_;
// Shift the lookahead token.
- yypush_ ("Shifting", state_type (yyn), YY_MOVE (yyla));
+ yypush_ ("Shifting", yyn, yyla);
goto yynewstate;
-
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
- yyn = yydefact_[+yystack_[0].state];
+ yyn = yydefact_[yystack_[0].state];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
-
/*-----------------------------.
- | yyreduce -- do a reduction. |
+ | yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
yylen = yyr2_[yyn];
{
stack_symbol_type yylhs;
- yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
+ yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]);
/* Variants are always initialized to an empty instance of the
correct type. The default '$$ = $1' action is NOT applied
when using variants. */
- switch (yyr1_[yyn])
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
+ yylhs.value.build< ElementPtr > ();
break;
- case symbol_kind::S_BOOLEAN: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 202: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case symbol_kind::S_FLOAT: // "floating point"
- yylhs.value.emplace< double > ();
+ case 201: // "floating point"
+ yylhs.value.build< double > ();
break;
- case symbol_kind::S_INTEGER: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 200: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case symbol_kind::S_STRING: // "constant string"
- yylhs.value.emplace< std::string > ();
+ case 199: // "constant string"
+ yylhs.value.build< std::string > ();
break;
default:
}
- // Default location.
+ // Compute the default @$.
{
- stack_type::slice range (yystack_, yylen);
- YYLLOC_DEFAULT (yylhs.location, range, yylen);
- yyerror_range[1].location = yylhs.location;
+ slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
+ YYLLOC_DEFAULT (yylhs.location, slice, yylen);
}
// Perform the reduction.
YY_REDUCE_PRINT (yyn);
-#if YY_EXCEPTIONS
try
-#endif // YY_EXCEPTIONS
{
switch (yyn)
{
- case 2: // $@1: %empty
-#line 287 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 739 "dhcp6_parser.cc"
+ case 2:
+#line 288 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.NO_KEYWORD; }
+#line 680 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 4: // $@2: %empty
-#line 288 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.CONFIG; }
-#line 745 "dhcp6_parser.cc"
+ case 4:
+#line 289 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG; }
+#line 686 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 6: // $@3: %empty
-#line 289 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.DHCP6; }
-#line 751 "dhcp6_parser.cc"
+ case 6:
+#line 290 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP6; }
+#line 692 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 8: // $@4: %empty
-#line 290 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 757 "dhcp6_parser.cc"
+ case 8:
+#line 291 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
+#line 698 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 10: // $@5: %empty
-#line 291 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.SUBNET6; }
-#line 763 "dhcp6_parser.cc"
+ case 10:
+#line 292 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.SUBNET6; }
+#line 704 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 12: // $@6: %empty
-#line 292 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.POOLS; }
-#line 769 "dhcp6_parser.cc"
+ case 12:
+#line 293 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.POOLS; }
+#line 710 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 14: // $@7: %empty
-#line 293 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.PD_POOLS; }
-#line 775 "dhcp6_parser.cc"
+ case 14:
+#line 294 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.PD_POOLS; }
+#line 716 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 16: // $@8: %empty
-#line 294 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.RESERVATIONS; }
-#line 781 "dhcp6_parser.cc"
+ case 16:
+#line 295 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.RESERVATIONS; }
+#line 722 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 18: // $@9: %empty
-#line 295 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.DHCP6; }
-#line 787 "dhcp6_parser.cc"
+ case 18:
+#line 296 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP6; }
+#line 728 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 20: // $@10: %empty
-#line 296 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DEF; }
-#line 793 "dhcp6_parser.cc"
+ case 20:
+#line 297 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DEF; }
+#line 734 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 22: // $@11: %empty
-#line 297 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DATA; }
-#line 799 "dhcp6_parser.cc"
+ case 22:
+#line 298 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DATA; }
+#line 740 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 24: // $@12: %empty
-#line 298 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 805 "dhcp6_parser.cc"
+ case 24:
+#line 299 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
+#line 746 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 26: // $@13: %empty
-#line 299 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 811 "dhcp6_parser.cc"
+ case 26:
+#line 300 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP_DDNS; }
+#line 752 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 28: // $@14: %empty
-#line 300 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 817 "dhcp6_parser.cc"
+ case 28:
+#line 301 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG_CONTROL; }
+#line 758 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 30: // value: "integer"
-#line 308 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 823 "dhcp6_parser.cc"
+ case 30:
+#line 309 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
+#line 764 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 31: // value: "floating point"
-#line 309 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 829 "dhcp6_parser.cc"
+ case 31:
+#line 310 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
+#line 770 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 32: // value: "boolean"
-#line 310 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 835 "dhcp6_parser.cc"
+ case 32:
+#line 311 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
+#line 776 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 33: // value: "constant string"
-#line 311 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 841 "dhcp6_parser.cc"
+ case 33:
+#line 312 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
+#line 782 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 34: // value: "null"
-#line 312 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 847 "dhcp6_parser.cc"
+ case 34:
+#line 313 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
+#line 788 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 35: // value: map2
-#line 313 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 853 "dhcp6_parser.cc"
+ case 35:
+#line 314 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 794 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 36: // value: list_generic
-#line 314 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 859 "dhcp6_parser.cc"
+ case 36:
+#line 315 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 800 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 37: // sub_json: value
-#line 317 "dhcp6_parser.yy"
- {
+ case 37:
+#line 318 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 868 "dhcp6_parser.cc"
+#line 809 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 38: // $@15: %empty
-#line 322 "dhcp6_parser.yy"
- {
+ case 38:
+#line 323 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 879 "dhcp6_parser.cc"
+#line 820 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 39: // map2: "{" $@15 map_content "}"
-#line 327 "dhcp6_parser.yy"
- {
+ case 39:
+#line 328 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 889 "dhcp6_parser.cc"
+#line 830 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 40: // map_value: map2
-#line 333 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 895 "dhcp6_parser.cc"
+ case 40:
+#line 334 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 836 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 43: // not_empty_map: "constant string" ":" value
-#line 340 "dhcp6_parser.yy"
- {
+ case 43:
+#line 341 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// map containing a single entry
- ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.unique(yystack_[2].value.as< std::string > (), ctx.loc2pos(yystack_[2].location));
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 905 "dhcp6_parser.cc"
+#line 846 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 44: // not_empty_map: not_empty_map "," "constant string" ":" value
-#line 345 "dhcp6_parser.yy"
- {
+ case 44:
+#line 346 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// map consisting of a shorter map followed by
// comma and string:value
- ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.unique(yystack_[2].value.as< std::string > (), ctx.loc2pos(yystack_[2].location));
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 916 "dhcp6_parser.cc"
+#line 857 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 45: // $@16: %empty
-#line 353 "dhcp6_parser.yy"
- {
+ case 45:
+#line 354 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 925 "dhcp6_parser.cc"
+#line 866 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 46: // list_generic: "[" $@16 list_content "]"
-#line 356 "dhcp6_parser.yy"
- {
+ case 46:
+#line 357 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
}
-#line 933 "dhcp6_parser.cc"
+#line 874 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 49: // not_empty_list: value
-#line 364 "dhcp6_parser.yy"
- {
+ case 49:
+#line 365 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 942 "dhcp6_parser.cc"
+#line 883 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 50: // not_empty_list: not_empty_list "," value
-#line 368 "dhcp6_parser.yy"
- {
+ case 50:
+#line 369 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 951 "dhcp6_parser.cc"
+#line 892 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 51: // $@17: %empty
-#line 375 "dhcp6_parser.yy"
- {
+ case 51:
+#line 376 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// List parsing about to start
}
-#line 959 "dhcp6_parser.cc"
+#line 900 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 52: // list_strings: "[" $@17 list_strings_content "]"
-#line 377 "dhcp6_parser.yy"
- {
+ case 52:
+#line 378 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 968 "dhcp6_parser.cc"
+#line 909 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 55: // not_empty_list_strings: "constant string"
-#line 386 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 55:
+#line 387 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 977 "dhcp6_parser.cc"
+#line 918 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string"
-#line 390 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 56:
+#line 391 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 986 "dhcp6_parser.cc"
+#line 927 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 57: // unknown_map_entry: "constant string" ":"
-#line 401 "dhcp6_parser.yy"
- {
+ case 57:
+#line 402 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 997 "dhcp6_parser.cc"
+#line 938 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 58: // $@18: %empty
-#line 410 "dhcp6_parser.yy"
- {
+ case 58:
+#line 411 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 1008 "dhcp6_parser.cc"
+#line 949 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 59: // syntax_map: "{" $@18 global_object "}"
-#line 415 "dhcp6_parser.yy"
- {
+ case 59:
+#line 416 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
// for it.
// Dhcp6 is required
ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 1021 "dhcp6_parser.cc"
+#line 962 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 60: // $@19: %empty
-#line 425 "dhcp6_parser.yy"
- {
+ case 60:
+#line 426 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// This code is executed when we're about to start parsing
// the content of the map
// Prevent against duplicate.
ctx.stack_.push_back(m);
ctx.enter(ctx.DHCP6);
}
-#line 1036 "dhcp6_parser.cc"
+#line 977 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 61: // global_object: "Dhcp6" $@19 ":" "{" global_params "}"
-#line 434 "dhcp6_parser.yy"
- {
+ case 61:
+#line 435 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1046 "dhcp6_parser.cc"
+#line 987 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 62: // $@20: %empty
-#line 442 "dhcp6_parser.yy"
- {
+ case 62:
+#line 443 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the Dhcp6 map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1056 "dhcp6_parser.cc"
+#line 997 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 63: // sub_dhcp6: "{" $@20 global_params "}"
-#line 446 "dhcp6_parser.yy"
- {
+ case 63:
+#line 447 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
// parsing completed
}
-#line 1065 "dhcp6_parser.cc"
+#line 1006 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 123: // $@21: %empty
-#line 516 "dhcp6_parser.yy"
- {
+ case 124:
+#line 518 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("data-directory", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1074 "dhcp6_parser.cc"
+#line 1015 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 124: // data_directory: "data-directory" $@21 ":" "constant string"
-#line 519 "dhcp6_parser.yy"
- {
- ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 125:
+#line 521 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1084 "dhcp6_parser.cc"
+#line 1025 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 125: // preferred_lifetime: "preferred-lifetime" ":" "integer"
-#line 525 "dhcp6_parser.yy"
- {
+ case 126:
+#line 527 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("preferred-lifetime", ctx.loc2pos(yystack_[2].location));
- 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 1094 "dhcp6_parser.cc"
+#line 1035 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 126: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer"
-#line 531 "dhcp6_parser.yy"
- {
+ case 127:
+#line 533 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("min-preferred-lifetime", ctx.loc2pos(yystack_[2].location));
- 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 1104 "dhcp6_parser.cc"
+#line 1045 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 127: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer"
-#line 537 "dhcp6_parser.yy"
- {
+ case 128:
+#line 539 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-preferred-lifetime", ctx.loc2pos(yystack_[2].location));
- 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 1114 "dhcp6_parser.cc"
+#line 1055 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 128: // valid_lifetime: "valid-lifetime" ":" "integer"
-#line 543 "dhcp6_parser.yy"
- {
+ case 129:
+#line 545 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location));
- 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 1124 "dhcp6_parser.cc"
+#line 1065 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 129: // min_valid_lifetime: "min-valid-lifetime" ":" "integer"
-#line 549 "dhcp6_parser.yy"
- {
+ case 130:
+#line 551 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-valid-lifetime", prf);
}
-#line 1134 "dhcp6_parser.cc"
+#line 1075 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 130: // max_valid_lifetime: "max-valid-lifetime" ":" "integer"
-#line 555 "dhcp6_parser.yy"
- {
+ case 131:
+#line 557 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-valid-lifetime", prf);
}
-#line 1144 "dhcp6_parser.cc"
+#line 1085 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 131: // renew_timer: "renew-timer" ":" "integer"
-#line 561 "dhcp6_parser.yy"
- {
+ case 132:
+#line 563 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location));
- 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 1154 "dhcp6_parser.cc"
+#line 1095 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 132: // rebind_timer: "rebind-timer" ":" "integer"
-#line 567 "dhcp6_parser.yy"
- {
+ case 133:
+#line 569 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location));
- 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 1164 "dhcp6_parser.cc"
+#line 1105 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 133: // calculate_tee_times: "calculate-tee-times" ":" "boolean"
-#line 573 "dhcp6_parser.yy"
- {
+ case 134:
+#line 575 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location));
- 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 1174 "dhcp6_parser.cc"
+#line 1115 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 134: // t1_percent: "t1-percent" ":" "floating point"
-#line 579 "dhcp6_parser.yy"
- {
+ case 135:
+#line 581 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location));
- 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 1184 "dhcp6_parser.cc"
+#line 1125 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 135: // t2_percent: "t2-percent" ":" "floating point"
-#line 585 "dhcp6_parser.yy"
- {
+ case 136:
+#line 587 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location));
- 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 1194 "dhcp6_parser.cc"
+#line 1135 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 136: // cache_threshold: "cache-threshold" ":" "floating point"
-#line 591 "dhcp6_parser.yy"
- {
+ case 137:
+#line 593 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location));
- ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ct(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("cache-threshold", ct);
}
-#line 1204 "dhcp6_parser.cc"
+#line 1145 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 137: // cache_max_age: "cache-max-age" ":" "integer"
-#line 597 "dhcp6_parser.yy"
- {
+ case 138:
+#line 599 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location));
- ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cm(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("cache-max-age", cm);
}
-#line 1214 "dhcp6_parser.cc"
+#line 1155 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 138: // decline_probation_period: "decline-probation-period" ":" "integer"
-#line 603 "dhcp6_parser.yy"
- {
+ case 139:
+#line 605 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location));
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("decline-probation-period", dpp);
}
-#line 1224 "dhcp6_parser.cc"
+#line 1165 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 139: // ddns_send_updates: "ddns-send-updates" ":" "boolean"
-#line 609 "dhcp6_parser.yy"
- {
+ case 140:
+#line 611 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location));
- 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("ddns-send-updates", b);
}
-#line 1234 "dhcp6_parser.cc"
+#line 1175 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 140: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean"
-#line 615 "dhcp6_parser.yy"
- {
+ case 141:
+#line 617 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location));
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-no-update", b);
}
-#line 1244 "dhcp6_parser.cc"
+#line 1185 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 141: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean"
-#line 621 "dhcp6_parser.yy"
- {
+ case 142:
+#line 623 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location));
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-client-update", b);
}
-#line 1254 "dhcp6_parser.cc"
+#line 1195 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 142: // $@22: %empty
-#line 627 "dhcp6_parser.yy"
- {
+ case 143:
+#line 629 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 1263 "dhcp6_parser.cc"
+#line 1204 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 143: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value
-#line 630 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 144:
+#line 632 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1272 "dhcp6_parser.cc"
+#line 1213 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 144: // ddns_replace_client_name_value: "when-present"
-#line 636 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
+ case 145:
+#line 638 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 1280 "dhcp6_parser.cc"
+#line 1221 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 145: // ddns_replace_client_name_value: "never"
-#line 639 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+ case 146:
+#line 641 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
-#line 1288 "dhcp6_parser.cc"
+#line 1229 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 146: // ddns_replace_client_name_value: "always"
-#line 642 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+ case 147:
+#line 644 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
-#line 1296 "dhcp6_parser.cc"
+#line 1237 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 147: // ddns_replace_client_name_value: "when-not-present"
-#line 645 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ case 148:
+#line 647 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 1304 "dhcp6_parser.cc"
+#line 1245 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 148: // ddns_replace_client_name_value: "boolean"
-#line 648 "dhcp6_parser.yy"
- {
+ case 149:
+#line 650 "dhcp6_parser.yy" // lalr1.cc:859
+ {
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 1313 "dhcp6_parser.cc"
+#line 1254 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 149: // $@23: %empty
-#line 654 "dhcp6_parser.yy"
- {
+ case 150:
+#line 656 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1322 "dhcp6_parser.cc"
+#line 1263 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 150: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string"
-#line 657 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 151:
+#line 659 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1332 "dhcp6_parser.cc"
+#line 1273 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 151: // $@24: %empty
-#line 663 "dhcp6_parser.yy"
- {
+ case 152:
+#line 665 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1341 "dhcp6_parser.cc"
+#line 1282 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 152: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string"
-#line 666 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 153:
+#line 668 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1351 "dhcp6_parser.cc"
+#line 1292 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 153: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean"
-#line 672 "dhcp6_parser.yy"
- {
+ case 154:
+#line 674 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location));
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-update-on-renew", b);
}
-#line 1361 "dhcp6_parser.cc"
+#line 1302 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 154: // $@25: %empty
-#line 678 "dhcp6_parser.yy"
- {
+ case 155:
+#line 680 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-use-conflict-resolution", b);
+}
+#line 1312 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 156:
+#line 686 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1370 "dhcp6_parser.cc"
+#line 1321 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 155: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string"
-#line 681 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 157:
+#line 689 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1380 "dhcp6_parser.cc"
+#line 1331 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 156: // $@26: %empty
-#line 687 "dhcp6_parser.yy"
- {
+ case 158:
+#line 695 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1389 "dhcp6_parser.cc"
+#line 1340 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 157: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string"
-#line 690 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 159:
+#line 698 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1399 "dhcp6_parser.cc"
+#line 1350 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 158: // store_extended_info: "store-extended-info" ":" "boolean"
-#line 696 "dhcp6_parser.yy"
- {
+ case 160:
+#line 704 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location));
- 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("store-extended-info", b);
}
-#line 1409 "dhcp6_parser.cc"
+#line 1360 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 159: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer"
-#line 702 "dhcp6_parser.yy"
- {
+ case 161:
+#line 710 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location));
- ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr count(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("statistic-default-sample-count", count);
}
-#line 1419 "dhcp6_parser.cc"
+#line 1370 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 160: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer"
-#line 708 "dhcp6_parser.yy"
- {
+ case 162:
+#line 716 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location));
- ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr age(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("statistic-default-sample-age", age);
}
-#line 1429 "dhcp6_parser.cc"
+#line 1380 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 161: // $@27: %empty
-#line 714 "dhcp6_parser.yy"
- {
+ case 163:
+#line 722 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1438 "dhcp6_parser.cc"
+#line 1389 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 162: // server_tag: "server-tag" $@27 ":" "constant string"
-#line 717 "dhcp6_parser.yy"
- {
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 164:
+#line 725 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1448 "dhcp6_parser.cc"
+#line 1399 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 163: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean"
-#line 723 "dhcp6_parser.yy"
- {
+ case 165:
+#line 731 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location));
- ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr unique(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-reservations-unique", unique);
}
-#line 1458 "dhcp6_parser.cc"
+#line 1409 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 164: // $@28: %empty
-#line 729 "dhcp6_parser.yy"
- {
+ case 166:
+#line 737 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location));
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 1470 "dhcp6_parser.cc"
+#line 1421 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 165: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}"
-#line 735 "dhcp6_parser.yy"
- {
+ case 167:
+#line 743 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1480 "dhcp6_parser.cc"
+#line 1431 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 166: // $@29: %empty
-#line 741 "dhcp6_parser.yy"
- {
+ case 168:
+#line 749 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the interfaces-config map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1490 "dhcp6_parser.cc"
+#line 1441 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 167: // sub_interfaces6: "{" $@29 interfaces_config_params "}"
-#line 745 "dhcp6_parser.yy"
- {
+ case 169:
+#line 753 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
// parsing completed
}
-#line 1499 "dhcp6_parser.cc"
+#line 1450 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 175: // $@30: %empty
-#line 761 "dhcp6_parser.yy"
- {
+ case 177:
+#line 769 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location));
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 1511 "dhcp6_parser.cc"
+#line 1462 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 176: // interfaces_list: "interfaces" $@30 ":" list_strings
-#line 767 "dhcp6_parser.yy"
- {
+ case 178:
+#line 775 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1520 "dhcp6_parser.cc"
+#line 1471 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 177: // re_detect: "re-detect" ":" "boolean"
-#line 772 "dhcp6_parser.yy"
- {
+ case 179:
+#line 780 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location));
- 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 1530 "dhcp6_parser.cc"
+#line 1481 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 178: // $@31: %empty
-#line 778 "dhcp6_parser.yy"
- {
+ case 180:
+#line 786 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location));
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 1542 "dhcp6_parser.cc"
+#line 1493 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 179: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}"
-#line 784 "dhcp6_parser.yy"
- {
+ case 181:
+#line 792 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 1553 "dhcp6_parser.cc"
+#line 1504 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 180: // $@32: %empty
-#line 791 "dhcp6_parser.yy"
- {
+ case 182:
+#line 799 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location));
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 1565 "dhcp6_parser.cc"
+#line 1516 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 181: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}"
-#line 797 "dhcp6_parser.yy"
- {
+ case 183:
+#line 805 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 1576 "dhcp6_parser.cc"
+#line 1527 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 182: // $@33: %empty
-#line 804 "dhcp6_parser.yy"
- {
+ case 184:
+#line 812 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location));
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 1588 "dhcp6_parser.cc"
+#line 1539 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 183: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]"
-#line 810 "dhcp6_parser.yy"
- {
+ case 185:
+#line 818 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1597 "dhcp6_parser.cc"
+#line 1548 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 188: // $@34: %empty
-#line 823 "dhcp6_parser.yy"
- {
+ case 190:
+#line 831 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1607 "dhcp6_parser.cc"
+#line 1558 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 189: // database: "{" $@34 database_map_params "}"
-#line 827 "dhcp6_parser.yy"
- {
+ case 191:
+#line 835 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The type parameter is required
ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1617 "dhcp6_parser.cc"
+#line 1568 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 213: // $@35: %empty
-#line 860 "dhcp6_parser.yy"
- {
+ case 215:
+#line 868 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1626 "dhcp6_parser.cc"
+#line 1577 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 214: // database_type: "type" $@35 ":" db_type
-#line 863 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ case 216:
+#line 871 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1635 "dhcp6_parser.cc"
+#line 1586 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 215: // db_type: "memfile"
-#line 868 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1641 "dhcp6_parser.cc"
+ case 217:
+#line 876 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1592 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 216: // db_type: "mysql"
-#line 869 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1647 "dhcp6_parser.cc"
+ case 218:
+#line 877 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1598 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 217: // db_type: "postgresql"
-#line 870 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1653 "dhcp6_parser.cc"
+ case 219:
+#line 878 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1604 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 218: // db_type: "cql"
-#line 871 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1659 "dhcp6_parser.cc"
+ case 220:
+#line 879 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1610 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 219: // $@36: %empty
-#line 874 "dhcp6_parser.yy"
- {
+ case 221:
+#line 882 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("user", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1668 "dhcp6_parser.cc"
+#line 1619 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 220: // user: "user" $@36 ":" "constant string"
-#line 877 "dhcp6_parser.yy"
- {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 222:
+#line 885 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("user", user);
ctx.leave();
}
-#line 1678 "dhcp6_parser.cc"
+#line 1629 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 221: // $@37: %empty
-#line 883 "dhcp6_parser.yy"
- {
+ case 223:
+#line 891 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("password", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1687 "dhcp6_parser.cc"
+#line 1638 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 222: // password: "password" $@37 ":" "constant string"
-#line 886 "dhcp6_parser.yy"
- {
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 224:
+#line 894 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("password", pwd);
ctx.leave();
}
-#line 1697 "dhcp6_parser.cc"
+#line 1648 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 223: // $@38: %empty
-#line 892 "dhcp6_parser.yy"
- {
+ case 225:
+#line 900 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("host", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1706 "dhcp6_parser.cc"
+#line 1657 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 224: // host: "host" $@38 ":" "constant string"
-#line 895 "dhcp6_parser.yy"
- {
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 226:
+#line 903 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("host", h);
ctx.leave();
}
-#line 1716 "dhcp6_parser.cc"
+#line 1667 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 225: // port: "port" ":" "integer"
-#line 901 "dhcp6_parser.yy"
- {
+ case 227:
+#line 909 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("port", ctx.loc2pos(yystack_[2].location));
- 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 1726 "dhcp6_parser.cc"
+#line 1677 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 226: // $@39: %empty
-#line 907 "dhcp6_parser.yy"
- {
+ case 228:
+#line 915 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1735 "dhcp6_parser.cc"
+#line 1686 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 227: // name: "name" $@39 ":" "constant string"
-#line 910 "dhcp6_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 229:
+#line 918 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1745 "dhcp6_parser.cc"
+#line 1696 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 228: // persist: "persist" ":" "boolean"
-#line 916 "dhcp6_parser.yy"
- {
+ case 230:
+#line 924 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("persist", ctx.loc2pos(yystack_[2].location));
- 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 1755 "dhcp6_parser.cc"
+#line 1706 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 229: // lfc_interval: "lfc-interval" ":" "integer"
-#line 922 "dhcp6_parser.yy"
- {
+ case 231:
+#line 930 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location));
- 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 1765 "dhcp6_parser.cc"
+#line 1716 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 230: // readonly: "readonly" ":" "boolean"
-#line 928 "dhcp6_parser.yy"
- {
+ case 232:
+#line 936 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("readonly", ctx.loc2pos(yystack_[2].location));
- 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 1775 "dhcp6_parser.cc"
+#line 1726 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 231: // connect_timeout: "connect-timeout" ":" "integer"
-#line 934 "dhcp6_parser.yy"
- {
+ case 233:
+#line 942 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location));
- 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 1785 "dhcp6_parser.cc"
+#line 1736 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 232: // reconnect_wait_time: "reconnect-wait-time" ":" "integer"
-#line 940 "dhcp6_parser.yy"
- {
+ case 234:
+#line 948 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 1795 "dhcp6_parser.cc"
+#line 1746 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 233: // max_row_errors: "max-row-errors" ":" "integer"
-#line 946 "dhcp6_parser.yy"
- {
+ case 235:
+#line 954 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location));
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-row-errors", n);
}
-#line 1805 "dhcp6_parser.cc"
+#line 1756 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 234: // request_timeout: "request-timeout" ":" "integer"
-#line 952 "dhcp6_parser.yy"
- {
+ case 236:
+#line 960 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location));
- 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 1815 "dhcp6_parser.cc"
+#line 1766 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 235: // tcp_keepalive: "tcp-keepalive" ":" "integer"
-#line 958 "dhcp6_parser.yy"
- {
+ case 237:
+#line 966 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location));
- 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 1825 "dhcp6_parser.cc"
+#line 1776 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 236: // tcp_nodelay: "tcp-nodelay" ":" "boolean"
-#line 964 "dhcp6_parser.yy"
- {
+ case 238:
+#line 972 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location));
- 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 1835 "dhcp6_parser.cc"
+#line 1786 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 237: // $@40: %empty
-#line 970 "dhcp6_parser.yy"
- {
+ case 239:
+#line 978 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1844 "dhcp6_parser.cc"
+#line 1795 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 238: // contact_points: "contact-points" $@40 ":" "constant string"
-#line 973 "dhcp6_parser.yy"
- {
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 240:
+#line 981 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1854 "dhcp6_parser.cc"
+#line 1805 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 239: // max_reconnect_tries: "max-reconnect-tries" ":" "integer"
-#line 979 "dhcp6_parser.yy"
- {
+ case 241:
+#line 987 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reconnect-tries", n);
}
-#line 1864 "dhcp6_parser.cc"
+#line 1815 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 240: // $@41: %empty
-#line 985 "dhcp6_parser.yy"
- {
+ case 242:
+#line 993 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1873 "dhcp6_parser.cc"
+#line 1824 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 241: // keyspace: "keyspace" $@41 ":" "constant string"
-#line 988 "dhcp6_parser.yy"
- {
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 243:
+#line 996 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("keyspace", ks);
ctx.leave();
}
-#line 1883 "dhcp6_parser.cc"
+#line 1834 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 242: // $@42: %empty
-#line 994 "dhcp6_parser.yy"
- {
+ case 244:
+#line 1002 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("consistency", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1892 "dhcp6_parser.cc"
+#line 1843 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 243: // consistency: "consistency" $@42 ":" "constant string"
-#line 997 "dhcp6_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 245:
+#line 1005 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("consistency", c);
ctx.leave();
}
-#line 1902 "dhcp6_parser.cc"
+#line 1853 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 244: // $@43: %empty
-#line 1003 "dhcp6_parser.yy"
- {
+ case 246:
+#line 1011 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1911 "dhcp6_parser.cc"
+#line 1862 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 245: // serial_consistency: "serial-consistency" $@43 ":" "constant string"
-#line 1006 "dhcp6_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 247:
+#line 1014 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1921 "dhcp6_parser.cc"
+#line 1872 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 246: // $@44: %empty
-#line 1012 "dhcp6_parser.yy"
- {
+ case 248:
+#line 1020 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location));
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 1933 "dhcp6_parser.cc"
+#line 1884 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 247: // sanity_checks: "sanity-checks" $@44 ":" "{" sanity_checks_params "}"
-#line 1018 "dhcp6_parser.yy"
- {
+ case 249:
+#line 1026 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1942 "dhcp6_parser.cc"
+#line 1893 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 251: // $@45: %empty
-#line 1028 "dhcp6_parser.yy"
- {
+ case 253:
+#line 1036 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1951 "dhcp6_parser.cc"
+#line 1902 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 252: // lease_checks: "lease-checks" $@45 ":" "constant string"
-#line 1031 "dhcp6_parser.yy"
- {
+ case 254:
+#line 1039 "dhcp6_parser.yy" // lalr1.cc:859
+ {
- 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 1971 "dhcp6_parser.cc"
+#line 1922 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 253: // $@46: %empty
-#line 1047 "dhcp6_parser.yy"
- {
+ case 255:
+#line 1055 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("mac-sources", ctx.loc2pos(yystack_[0].location));
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 1983 "dhcp6_parser.cc"
+#line 1934 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 254: // mac_sources: "mac-sources" $@46 ":" "[" mac_sources_list "]"
-#line 1053 "dhcp6_parser.yy"
- {
+ case 256:
+#line 1061 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1992 "dhcp6_parser.cc"
+#line 1943 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 259: // duid_id: "duid"
-#line 1066 "dhcp6_parser.yy"
- {
+ case 261:
+#line 1074 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 2001 "dhcp6_parser.cc"
+#line 1952 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 260: // string_id: "constant string"
-#line 1071 "dhcp6_parser.yy"
- {
- ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 262:
+#line 1079 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 2010 "dhcp6_parser.cc"
+#line 1961 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 261: // $@47: %empty
-#line 1076 "dhcp6_parser.yy"
- {
+ case 263:
+#line 1084 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
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 2022 "dhcp6_parser.cc"
+#line 1973 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 262: // host_reservation_identifiers: "host-reservation-identifiers" $@47 ":" "[" host_reservation_identifiers_list "]"
-#line 1082 "dhcp6_parser.yy"
- {
+ case 264:
+#line 1090 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2031 "dhcp6_parser.cc"
+#line 1982 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 268: // hw_address_id: "hw-address"
-#line 1096 "dhcp6_parser.yy"
- {
+ case 270:
+#line 1104 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 2040 "dhcp6_parser.cc"
+#line 1991 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 269: // flex_id: "flex-id"
-#line 1101 "dhcp6_parser.yy"
- {
+ case 271:
+#line 1109 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(flex_id);
}
-#line 2049 "dhcp6_parser.cc"
+#line 2000 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 270: // $@48: %empty
-#line 1108 "dhcp6_parser.yy"
- {
+ case 272:
+#line 1116 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("relay-supplied-options", ctx.loc2pos(yystack_[0].location));
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 2061 "dhcp6_parser.cc"
+#line 2012 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 271: // relay_supplied_options: "relay-supplied-options" $@48 ":" "[" list_content "]"
-#line 1114 "dhcp6_parser.yy"
- {
+ case 273:
+#line 1122 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2070 "dhcp6_parser.cc"
+#line 2021 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 272: // $@49: %empty
-#line 1121 "dhcp6_parser.yy"
- {
+ case 274:
+#line 1129 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location));
ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("multi-threading", mt);
ctx.stack_.push_back(mt);
ctx.enter(ctx.DHCP_MULTI_THREADING);
}
-#line 2082 "dhcp6_parser.cc"
+#line 2033 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 273: // dhcp_multi_threading: "multi-threading" $@49 ":" "{" multi_threading_params "}"
-#line 1127 "dhcp6_parser.yy"
- {
+ case 275:
+#line 1135 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The enable parameter is required.
ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2093 "dhcp6_parser.cc"
+#line 2044 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 282: // enable_multi_threading: "enable-multi-threading" ":" "boolean"
-#line 1146 "dhcp6_parser.yy"
- {
+ case 284:
+#line 1154 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location));
- 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-multi-threading", b);
}
-#line 2103 "dhcp6_parser.cc"
+#line 2054 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 283: // thread_pool_size: "thread-pool-size" ":" "integer"
-#line 1152 "dhcp6_parser.yy"
- {
+ case 285:
+#line 1160 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("thread-pool-size", prf);
}
-#line 2113 "dhcp6_parser.cc"
+#line 2064 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 284: // packet_queue_size: "packet-queue-size" ":" "integer"
-#line 1158 "dhcp6_parser.yy"
- {
+ case 286:
+#line 1166 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location));
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("packet-queue-size", prf);
}
-#line 2123 "dhcp6_parser.cc"
+#line 2074 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 285: // $@50: %empty
-#line 1164 "dhcp6_parser.yy"
- {
+ case 287:
+#line 1172 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
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 2135 "dhcp6_parser.cc"
+#line 2086 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 286: // hooks_libraries: "hooks-libraries" $@50 ":" "[" hooks_libraries_list "]"
-#line 1170 "dhcp6_parser.yy"
- {
+ case 288:
+#line 1178 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2144 "dhcp6_parser.cc"
+#line 2095 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 291: // $@51: %empty
-#line 1183 "dhcp6_parser.yy"
- {
+ case 293:
+#line 1191 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2154 "dhcp6_parser.cc"
+#line 2105 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 292: // hooks_library: "{" $@51 hooks_params "}"
-#line 1187 "dhcp6_parser.yy"
- {
+ case 294:
+#line 1195 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2164 "dhcp6_parser.cc"
+#line 2115 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 293: // $@52: %empty
-#line 1193 "dhcp6_parser.yy"
- {
+ case 295:
+#line 1201 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the hooks-libraries list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2174 "dhcp6_parser.cc"
+#line 2125 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 294: // sub_hooks_library: "{" $@52 hooks_params "}"
-#line 1197 "dhcp6_parser.yy"
- {
+ case 296:
+#line 1205 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2184 "dhcp6_parser.cc"
+#line 2135 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 300: // $@53: %empty
-#line 1212 "dhcp6_parser.yy"
- {
+ case 302:
+#line 1220 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("library", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2193 "dhcp6_parser.cc"
+#line 2144 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 301: // library: "library" $@53 ":" "constant string"
-#line 1215 "dhcp6_parser.yy"
- {
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 303:
+#line 1223 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("library", lib);
ctx.leave();
}
-#line 2203 "dhcp6_parser.cc"
+#line 2154 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 302: // $@54: %empty
-#line 1221 "dhcp6_parser.yy"
- {
+ case 304:
+#line 1229 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2212 "dhcp6_parser.cc"
+#line 2163 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 303: // parameters: "parameters" $@54 ":" map_value
-#line 1224 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ case 305:
+#line 1232 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2221 "dhcp6_parser.cc"
+#line 2172 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 304: // $@55: %empty
-#line 1230 "dhcp6_parser.yy"
- {
+ case 306:
+#line 1238 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location));
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 2233 "dhcp6_parser.cc"
+#line 2184 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 305: // expired_leases_processing: "expired-leases-processing" $@55 ":" "{" expired_leases_params "}"
-#line 1236 "dhcp6_parser.yy"
- {
+ case 307:
+#line 1244 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2243 "dhcp6_parser.cc"
+#line 2194 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 314: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer"
-#line 1254 "dhcp6_parser.yy"
- {
+ case 316:
+#line 1262 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2253 "dhcp6_parser.cc"
+#line 2204 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 315: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer"
-#line 1260 "dhcp6_parser.yy"
- {
+ case 317:
+#line 1268 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2263 "dhcp6_parser.cc"
+#line 2214 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 316: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer"
-#line 1266 "dhcp6_parser.yy"
- {
+ case 318:
+#line 1274 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 2273 "dhcp6_parser.cc"
+#line 2224 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 317: // max_reclaim_leases: "max-reclaim-leases" ":" "integer"
-#line 1272 "dhcp6_parser.yy"
- {
+ case 319:
+#line 1280 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 2283 "dhcp6_parser.cc"
+#line 2234 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 318: // max_reclaim_time: "max-reclaim-time" ":" "integer"
-#line 1278 "dhcp6_parser.yy"
- {
+ case 320:
+#line 1286 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 2293 "dhcp6_parser.cc"
+#line 2244 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 319: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer"
-#line 1284 "dhcp6_parser.yy"
- {
+ case 321:
+#line 1292 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 2303 "dhcp6_parser.cc"
+#line 2254 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 320: // $@56: %empty
-#line 1293 "dhcp6_parser.yy"
- {
+ case 322:
+#line 1301 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("subnet6", ctx.loc2pos(yystack_[0].location));
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 2315 "dhcp6_parser.cc"
+#line 2266 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 321: // subnet6_list: "subnet6" $@56 ":" "[" subnet6_list_content "]"
-#line 1299 "dhcp6_parser.yy"
- {
+ case 323:
+#line 1307 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2324 "dhcp6_parser.cc"
+#line 2275 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 326: // $@57: %empty
-#line 1319 "dhcp6_parser.yy"
- {
+ case 328:
+#line 1327 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2334 "dhcp6_parser.cc"
+#line 2285 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 327: // subnet6: "{" $@57 subnet6_params "}"
-#line 1323 "dhcp6_parser.yy"
- {
+ case 329:
+#line 1331 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Once we reached this place, the subnet parsing is now complete.
// If we want to, we can implement default values here.
// In particular we can do things like this:
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2360 "dhcp6_parser.cc"
+#line 2311 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 328: // $@58: %empty
-#line 1345 "dhcp6_parser.yy"
- {
+ case 330:
+#line 1353 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the subnet6 list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2370 "dhcp6_parser.cc"
+#line 2321 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 329: // sub_subnet6: "{" $@58 subnet6_params "}"
-#line 1349 "dhcp6_parser.yy"
- {
+ case 331:
+#line 1357 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The subnet subnet6 parameter is required
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2380 "dhcp6_parser.cc"
+#line 2331 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 371: // $@59: %empty
-#line 1402 "dhcp6_parser.yy"
- {
+ case 374:
+#line 1411 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("subnet", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2389 "dhcp6_parser.cc"
+#line 2340 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 372: // subnet: "subnet" $@59 ":" "constant string"
-#line 1405 "dhcp6_parser.yy"
- {
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 375:
+#line 1414 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet", subnet);
ctx.leave();
}
-#line 2399 "dhcp6_parser.cc"
+#line 2350 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 373: // $@60: %empty
-#line 1411 "dhcp6_parser.yy"
- {
+ case 376:
+#line 1420 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interface", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2408 "dhcp6_parser.cc"
+#line 2359 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 374: // interface: "interface" $@60 ":" "constant string"
-#line 1414 "dhcp6_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 377:
+#line 1423 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface", iface);
ctx.leave();
}
-#line 2418 "dhcp6_parser.cc"
+#line 2369 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 375: // $@61: %empty
-#line 1420 "dhcp6_parser.yy"
- {
+ case 378:
+#line 1429 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("interface-id", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2427 "dhcp6_parser.cc"
+#line 2378 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 376: // interface_id: "interface-id" $@61 ":" "constant string"
-#line 1423 "dhcp6_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 379:
+#line 1432 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 2437 "dhcp6_parser.cc"
+#line 2388 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 377: // $@62: %empty
-#line 1429 "dhcp6_parser.yy"
- {
+ case 380:
+#line 1438 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-class", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2446 "dhcp6_parser.cc"
+#line 2397 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 378: // client_class: "client-class" $@62 ":" "constant string"
-#line 1432 "dhcp6_parser.yy"
- {
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 381:
+#line 1441 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 2456 "dhcp6_parser.cc"
+#line 2407 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 379: // $@63: %empty
-#line 1438 "dhcp6_parser.yy"
- {
+ case 382:
+#line 1447 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location));
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 2468 "dhcp6_parser.cc"
+#line 2419 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 380: // require_client_classes: "require-client-classes" $@63 ":" list_strings
-#line 1444 "dhcp6_parser.yy"
- {
+ case 383:
+#line 1453 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2477 "dhcp6_parser.cc"
+#line 2428 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 381: // $@64: %empty
-#line 1449 "dhcp6_parser.yy"
- {
+ case 384:
+#line 1458 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2486 "dhcp6_parser.cc"
+#line 2437 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 382: // reservation_mode: "reservation-mode" $@64 ":" hr_mode
-#line 1452 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ case 385:
+#line 1461 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2495 "dhcp6_parser.cc"
+#line 2446 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 383: // hr_mode: "disabled"
-#line 1457 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2501 "dhcp6_parser.cc"
+ case 386:
+#line 1466 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2452 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 384: // hr_mode: "out-of-pool"
-#line 1458 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2507 "dhcp6_parser.cc"
+ case 387:
+#line 1467 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2458 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 385: // hr_mode: "global"
-#line 1459 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2513 "dhcp6_parser.cc"
+ case 388:
+#line 1468 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2464 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 386: // hr_mode: "all"
-#line 1460 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2519 "dhcp6_parser.cc"
+ case 389:
+#line 1469 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2470 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 387: // id: "id" ":" "integer"
-#line 1463 "dhcp6_parser.yy"
- {
+ case 390:
+#line 1472 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("id", ctx.loc2pos(yystack_[2].location));
- 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 2529 "dhcp6_parser.cc"
+#line 2480 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 388: // rapid_commit: "rapid-commit" ":" "boolean"
-#line 1469 "dhcp6_parser.yy"
- {
+ case 391:
+#line 1478 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("rapid-commit", ctx.loc2pos(yystack_[2].location));
- 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 2539 "dhcp6_parser.cc"
+#line 2490 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 389: // $@65: %empty
-#line 1477 "dhcp6_parser.yy"
- {
+ case 392:
+#line 1486 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location));
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 2551 "dhcp6_parser.cc"
+#line 2502 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 390: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]"
-#line 1483 "dhcp6_parser.yy"
- {
+ case 393:
+#line 1492 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2560 "dhcp6_parser.cc"
+#line 2511 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 395: // $@66: %empty
-#line 1498 "dhcp6_parser.yy"
- {
+ case 398:
+#line 1507 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2570 "dhcp6_parser.cc"
+#line 2521 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 396: // shared_network: "{" $@66 shared_network_params "}"
-#line 1502 "dhcp6_parser.yy"
- {
+ case 399:
+#line 1511 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 2578 "dhcp6_parser.cc"
+#line 2529 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 435: // $@67: %empty
-#line 1552 "dhcp6_parser.yy"
- {
+ case 439:
+#line 1562 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("option-def", ctx.loc2pos(yystack_[0].location));
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 2590 "dhcp6_parser.cc"
+#line 2541 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 436: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]"
-#line 1558 "dhcp6_parser.yy"
- {
+ case 440:
+#line 1568 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2599 "dhcp6_parser.cc"
+#line 2550 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 437: // $@68: %empty
-#line 1566 "dhcp6_parser.yy"
- {
+ case 441:
+#line 1576 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2608 "dhcp6_parser.cc"
+#line 2559 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 438: // sub_option_def_list: "{" $@68 option_def_list "}"
-#line 1569 "dhcp6_parser.yy"
- {
+ case 442:
+#line 1579 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// parsing completed
}
-#line 2616 "dhcp6_parser.cc"
+#line 2567 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 443: // $@69: %empty
-#line 1585 "dhcp6_parser.yy"
- {
+ case 447:
+#line 1595 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2626 "dhcp6_parser.cc"
+#line 2577 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 444: // option_def_entry: "{" $@69 option_def_params "}"
-#line 1589 "dhcp6_parser.yy"
- {
+ case 448:
+#line 1599 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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("code", 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 2638 "dhcp6_parser.cc"
+#line 2589 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 445: // $@70: %empty
-#line 1600 "dhcp6_parser.yy"
- {
+ case 449:
+#line 1610 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the option-def list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2648 "dhcp6_parser.cc"
+#line 2599 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 446: // sub_option_def: "{" $@70 option_def_params "}"
-#line 1604 "dhcp6_parser.yy"
- {
+ case 450:
+#line 1614 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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("code", 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 2660 "dhcp6_parser.cc"
+#line 2611 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 462: // code: "code" ":" "integer"
-#line 1636 "dhcp6_parser.yy"
- {
+ case 466:
+#line 1646 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("code", ctx.loc2pos(yystack_[2].location));
- 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 2670 "dhcp6_parser.cc"
+#line 2621 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 464: // $@71: %empty
-#line 1644 "dhcp6_parser.yy"
- {
+ case 468:
+#line 1654 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2679 "dhcp6_parser.cc"
+#line 2630 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 465: // option_def_type: "type" $@71 ":" "constant string"
-#line 1647 "dhcp6_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 469:
+#line 1657 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("type", prf);
ctx.leave();
}
-#line 2689 "dhcp6_parser.cc"
+#line 2640 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 466: // $@72: %empty
-#line 1653 "dhcp6_parser.yy"
- {
+ case 470:
+#line 1663 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("record-types", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2698 "dhcp6_parser.cc"
+#line 2649 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 467: // option_def_record_types: "record-types" $@72 ":" "constant string"
-#line 1656 "dhcp6_parser.yy"
- {
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 471:
+#line 1666 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 2708 "dhcp6_parser.cc"
+#line 2659 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 468: // $@73: %empty
-#line 1662 "dhcp6_parser.yy"
- {
+ case 472:
+#line 1672 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("space", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2717 "dhcp6_parser.cc"
+#line 2668 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 469: // space: "space" $@73 ":" "constant string"
-#line 1665 "dhcp6_parser.yy"
- {
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 473:
+#line 1675 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("space", space);
ctx.leave();
}
-#line 2727 "dhcp6_parser.cc"
+#line 2678 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 471: // $@74: %empty
-#line 1673 "dhcp6_parser.yy"
- {
+ case 475:
+#line 1683 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2736 "dhcp6_parser.cc"
+#line 2687 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 472: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string"
-#line 1676 "dhcp6_parser.yy"
- {
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 476:
+#line 1686 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("encapsulate", encap);
ctx.leave();
}
-#line 2746 "dhcp6_parser.cc"
+#line 2697 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 473: // option_def_array: "array" ":" "boolean"
-#line 1682 "dhcp6_parser.yy"
- {
+ case 477:
+#line 1692 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("array", ctx.loc2pos(yystack_[2].location));
- 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 2756 "dhcp6_parser.cc"
+#line 2707 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 474: // $@75: %empty
-#line 1692 "dhcp6_parser.yy"
- {
+ case 478:
+#line 1702 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("option-data", ctx.loc2pos(yystack_[0].location));
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 2768 "dhcp6_parser.cc"
+#line 2719 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 475: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]"
-#line 1698 "dhcp6_parser.yy"
- {
+ case 479:
+#line 1708 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2777 "dhcp6_parser.cc"
+#line 2728 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 480: // $@76: %empty
-#line 1717 "dhcp6_parser.yy"
- {
+ case 484:
+#line 1727 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2787 "dhcp6_parser.cc"
+#line 2738 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 481: // option_data_entry: "{" $@76 option_data_params "}"
-#line 1721 "dhcp6_parser.yy"
- {
+ case 485:
+#line 1731 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2796 "dhcp6_parser.cc"
+#line 2747 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 482: // $@77: %empty
-#line 1729 "dhcp6_parser.yy"
- {
+ case 486:
+#line 1739 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the option-data list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2806 "dhcp6_parser.cc"
+#line 2757 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 483: // sub_option_data: "{" $@77 option_data_params "}"
-#line 1733 "dhcp6_parser.yy"
- {
+ case 487:
+#line 1743 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2815 "dhcp6_parser.cc"
+#line 2766 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 498: // $@78: %empty
-#line 1766 "dhcp6_parser.yy"
- {
+ case 502:
+#line 1776 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("data", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2824 "dhcp6_parser.cc"
+#line 2775 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 499: // option_data_data: "data" $@78 ":" "constant string"
-#line 1769 "dhcp6_parser.yy"
- {
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 503:
+#line 1779 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data", data);
ctx.leave();
}
-#line 2834 "dhcp6_parser.cc"
+#line 2785 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 502: // option_data_csv_format: "csv-format" ":" "boolean"
-#line 1779 "dhcp6_parser.yy"
- {
+ case 506:
+#line 1789 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location));
- 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 2844 "dhcp6_parser.cc"
+#line 2795 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 503: // option_data_always_send: "always-send" ":" "boolean"
-#line 1785 "dhcp6_parser.yy"
- {
+ case 507:
+#line 1795 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("always-send", ctx.loc2pos(yystack_[2].location));
- 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 2854 "dhcp6_parser.cc"
+#line 2805 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 504: // $@79: %empty
-#line 1794 "dhcp6_parser.yy"
- {
+ case 508:
+#line 1804 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pools", ctx.loc2pos(yystack_[0].location));
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 2866 "dhcp6_parser.cc"
+#line 2817 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 505: // pools_list: "pools" $@79 ":" "[" pools_list_content "]"
-#line 1800 "dhcp6_parser.yy"
- {
+ case 509:
+#line 1810 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2875 "dhcp6_parser.cc"
+#line 2826 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 510: // $@80: %empty
-#line 1815 "dhcp6_parser.yy"
- {
+ case 514:
+#line 1825 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 2885 "dhcp6_parser.cc"
+#line 2836 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 511: // pool_list_entry: "{" $@80 pool_params "}"
-#line 1819 "dhcp6_parser.yy"
- {
+ case 515:
+#line 1829 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2895 "dhcp6_parser.cc"
+#line 2846 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 512: // $@81: %empty
-#line 1825 "dhcp6_parser.yy"
- {
+ case 516:
+#line 1835 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the pool list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2905 "dhcp6_parser.cc"
+#line 2856 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 513: // sub_pool6: "{" $@81 pool_params "}"
-#line 1829 "dhcp6_parser.yy"
- {
+ case 517:
+#line 1839 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2915 "dhcp6_parser.cc"
+#line 2866 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 523: // $@82: %empty
-#line 1848 "dhcp6_parser.yy"
- {
+ case 527:
+#line 1858 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pool", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2924 "dhcp6_parser.cc"
+#line 2875 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 524: // pool_entry: "pool" $@82 ":" "constant string"
-#line 1851 "dhcp6_parser.yy"
- {
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 528:
+#line 1861 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pool", pool);
ctx.leave();
}
-#line 2934 "dhcp6_parser.cc"
+#line 2885 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 525: // $@83: %empty
-#line 1857 "dhcp6_parser.yy"
- {
+ case 529:
+#line 1867 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2942 "dhcp6_parser.cc"
+#line 2893 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 526: // user_context: "user-context" $@83 ":" map_value
-#line 1859 "dhcp6_parser.yy"
- {
+ case 530:
+#line 1869 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2969 "dhcp6_parser.cc"
+#line 2920 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 527: // $@84: %empty
-#line 1882 "dhcp6_parser.yy"
- {
+ case 531:
+#line 1892 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2977 "dhcp6_parser.cc"
+#line 2928 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 528: // comment: "comment" $@84 ":" "constant string"
-#line 1884 "dhcp6_parser.yy"
- {
+ case 532:
+#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3006 "dhcp6_parser.cc"
+#line 2957 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 529: // $@85: %empty
-#line 1912 "dhcp6_parser.yy"
- {
+ case 533:
+#line 1922 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pd-pools", ctx.loc2pos(yystack_[0].location));
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 3018 "dhcp6_parser.cc"
+#line 2969 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 530: // pd_pools_list: "pd-pools" $@85 ":" "[" pd_pools_list_content "]"
-#line 1918 "dhcp6_parser.yy"
- {
+ case 534:
+#line 1928 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3027 "dhcp6_parser.cc"
+#line 2978 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 535: // $@86: %empty
-#line 1933 "dhcp6_parser.yy"
- {
+ case 539:
+#line 1943 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3037 "dhcp6_parser.cc"
+#line 2988 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 536: // pd_pool_entry: "{" $@86 pd_pool_params "}"
-#line 1937 "dhcp6_parser.yy"
- {
+ case 540:
+#line 1947 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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("prefix-len", 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 3049 "dhcp6_parser.cc"
+#line 3000 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 537: // $@87: %empty
-#line 1945 "dhcp6_parser.yy"
- {
+ case 541:
+#line 1955 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the pd-pool list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3059 "dhcp6_parser.cc"
+#line 3010 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 538: // sub_pd_pool: "{" $@87 pd_pool_params "}"
-#line 1949 "dhcp6_parser.yy"
- {
+ case 542:
+#line 1959 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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("prefix-len", 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 3071 "dhcp6_parser.cc"
+#line 3022 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 552: // $@88: %empty
-#line 1974 "dhcp6_parser.yy"
- {
+ case 556:
+#line 1984 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("prefix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3080 "dhcp6_parser.cc"
+#line 3031 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 553: // pd_prefix: "prefix" $@88 ":" "constant string"
-#line 1977 "dhcp6_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 557:
+#line 1987 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefix", prf);
ctx.leave();
}
-#line 3090 "dhcp6_parser.cc"
+#line 3041 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 554: // pd_prefix_len: "prefix-len" ":" "integer"
-#line 1983 "dhcp6_parser.yy"
- {
+ case 558:
+#line 1993 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("prefix-len", ctx.loc2pos(yystack_[2].location));
- 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 3100 "dhcp6_parser.cc"
+#line 3051 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 555: // $@89: %empty
-#line 1989 "dhcp6_parser.yy"
- {
+ case 559:
+#line 1999 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("excluded-prefix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3109 "dhcp6_parser.cc"
+#line 3060 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 556: // excluded_prefix: "excluded-prefix" $@89 ":" "constant string"
-#line 1992 "dhcp6_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 560:
+#line 2002 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3119 "dhcp6_parser.cc"
+#line 3070 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 557: // excluded_prefix_len: "excluded-prefix-len" ":" "integer"
-#line 1998 "dhcp6_parser.yy"
- {
+ case 561:
+#line 2008 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("excluded-prefix-len", ctx.loc2pos(yystack_[2].location));
- 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 3129 "dhcp6_parser.cc"
+#line 3080 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 558: // pd_delegated_len: "delegated-len" ":" "integer"
-#line 2004 "dhcp6_parser.yy"
- {
+ case 562:
+#line 2014 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("delegated-len", ctx.loc2pos(yystack_[2].location));
- 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 3139 "dhcp6_parser.cc"
+#line 3090 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 559: // $@90: %empty
-#line 2013 "dhcp6_parser.yy"
- {
+ case 563:
+#line 2023 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("reservations", ctx.loc2pos(yystack_[0].location));
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 3151 "dhcp6_parser.cc"
+#line 3102 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 560: // reservations: "reservations" $@90 ":" "[" reservations_list "]"
-#line 2019 "dhcp6_parser.yy"
- {
+ case 564:
+#line 2029 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3160 "dhcp6_parser.cc"
+#line 3111 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 565: // $@91: %empty
-#line 2032 "dhcp6_parser.yy"
- {
+ case 569:
+#line 2042 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3170 "dhcp6_parser.cc"
+#line 3121 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 566: // reservation: "{" $@91 reservation_params "}"
-#line 2036 "dhcp6_parser.yy"
- {
+ case 570:
+#line 2046 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 3179 "dhcp6_parser.cc"
+#line 3130 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 567: // $@92: %empty
-#line 2041 "dhcp6_parser.yy"
- {
+ case 571:
+#line 2051 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the reservations list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3189 "dhcp6_parser.cc"
+#line 3140 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 568: // sub_reservation: "{" $@92 reservation_params "}"
-#line 2045 "dhcp6_parser.yy"
- {
+ case 572:
+#line 2055 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 3198 "dhcp6_parser.cc"
+#line 3149 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 584: // $@93: %empty
-#line 2072 "dhcp6_parser.yy"
- {
+ case 588:
+#line 2082 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location));
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 3210 "dhcp6_parser.cc"
+#line 3161 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 585: // ip_addresses: "ip-addresses" $@93 ":" list_strings
-#line 2078 "dhcp6_parser.yy"
- {
+ case 589:
+#line 2088 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3219 "dhcp6_parser.cc"
+#line 3170 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 586: // $@94: %empty
-#line 2083 "dhcp6_parser.yy"
- {
+ case 590:
+#line 2093 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("prefixes", ctx.loc2pos(yystack_[0].location));
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 3231 "dhcp6_parser.cc"
+#line 3182 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 587: // prefixes: "prefixes" $@94 ":" list_strings
-#line 2089 "dhcp6_parser.yy"
- {
+ case 591:
+#line 2099 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3240 "dhcp6_parser.cc"
+#line 3191 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 588: // $@95: %empty
-#line 2094 "dhcp6_parser.yy"
- {
+ case 592:
+#line 2104 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("duid", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3249 "dhcp6_parser.cc"
+#line 3200 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 589: // duid: "duid" $@95 ":" "constant string"
-#line 2097 "dhcp6_parser.yy"
- {
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 593:
+#line 2107 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("duid", d);
ctx.leave();
}
-#line 3259 "dhcp6_parser.cc"
+#line 3210 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 590: // $@96: %empty
-#line 2103 "dhcp6_parser.yy"
- {
+ case 594:
+#line 2113 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3268 "dhcp6_parser.cc"
+#line 3219 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 591: // hw_address: "hw-address" $@96 ":" "constant string"
-#line 2106 "dhcp6_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 595:
+#line 2116 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3278 "dhcp6_parser.cc"
+#line 3229 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 592: // $@97: %empty
-#line 2112 "dhcp6_parser.yy"
- {
+ case 596:
+#line 2122 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3287 "dhcp6_parser.cc"
+#line 3238 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 593: // hostname: "hostname" $@97 ":" "constant string"
-#line 2115 "dhcp6_parser.yy"
- {
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 597:
+#line 2125 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname", host);
ctx.leave();
}
-#line 3297 "dhcp6_parser.cc"
+#line 3248 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 594: // $@98: %empty
-#line 2121 "dhcp6_parser.yy"
- {
+ case 598:
+#line 2131 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3306 "dhcp6_parser.cc"
+#line 3257 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 595: // flex_id_value: "flex-id" $@98 ":" "constant string"
-#line 2124 "dhcp6_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 599:
+#line 2134 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3316 "dhcp6_parser.cc"
+#line 3267 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 596: // $@99: %empty
-#line 2130 "dhcp6_parser.yy"
- {
+ case 600:
+#line 2140 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location));
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 3328 "dhcp6_parser.cc"
+#line 3279 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 597: // reservation_client_classes: "client-classes" $@99 ":" list_strings
-#line 2136 "dhcp6_parser.yy"
- {
+ case 601:
+#line 2146 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3337 "dhcp6_parser.cc"
+#line 3288 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 598: // $@100: %empty
-#line 2144 "dhcp6_parser.yy"
- {
+ case 602:
+#line 2154 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("relay", ctx.loc2pos(yystack_[0].location));
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 3349 "dhcp6_parser.cc"
+#line 3300 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 599: // relay: "relay" $@100 ":" "{" relay_map "}"
-#line 2150 "dhcp6_parser.yy"
- {
+ case 603:
+#line 2160 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3358 "dhcp6_parser.cc"
+#line 3309 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 602: // $@101: %empty
-#line 2159 "dhcp6_parser.yy"
- {
+ case 606:
+#line 2169 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3367 "dhcp6_parser.cc"
+#line 3318 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 603: // ip_address: "ip-address" $@101 ":" "constant string"
-#line 2162 "dhcp6_parser.yy"
- {
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 607:
+#line 2172 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3377 "dhcp6_parser.cc"
+#line 3328 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 604: // $@102: %empty
-#line 2171 "dhcp6_parser.yy"
- {
+ case 608:
+#line 2181 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location));
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 3389 "dhcp6_parser.cc"
+#line 3340 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 605: // client_classes: "client-classes" $@102 ":" "[" client_classes_list "]"
-#line 2177 "dhcp6_parser.yy"
- {
+ case 609:
+#line 2187 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3398 "dhcp6_parser.cc"
+#line 3349 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 608: // $@103: %empty
-#line 2186 "dhcp6_parser.yy"
- {
+ case 612:
+#line 2196 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 3408 "dhcp6_parser.cc"
+#line 3359 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 609: // client_class_entry: "{" $@103 client_class_params "}"
-#line 2190 "dhcp6_parser.yy"
- {
+ case 613:
+#line 2200 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 3418 "dhcp6_parser.cc"
+#line 3369 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 622: // $@104: %empty
-#line 2215 "dhcp6_parser.yy"
- {
+ case 626:
+#line 2225 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("test", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3427 "dhcp6_parser.cc"
+#line 3378 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 623: // client_class_test: "test" $@104 ":" "constant string"
-#line 2218 "dhcp6_parser.yy"
- {
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 627:
+#line 2228 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("test", test);
ctx.leave();
}
-#line 3437 "dhcp6_parser.cc"
+#line 3388 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 624: // only_if_required: "only-if-required" ":" "boolean"
-#line 2224 "dhcp6_parser.yy"
- {
+ case 628:
+#line 2234 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location));
- 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 3447 "dhcp6_parser.cc"
+#line 3398 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 625: // $@105: %empty
-#line 2233 "dhcp6_parser.yy"
- {
+ case 629:
+#line 2243 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-id", ctx.loc2pos(yystack_[0].location));
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 3459 "dhcp6_parser.cc"
+#line 3410 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 626: // server_id: "server-id" $@105 ":" "{" server_id_params "}"
-#line 2239 "dhcp6_parser.yy"
- {
+ case 630:
+#line 2249 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 3470 "dhcp6_parser.cc"
+#line 3421 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 638: // $@106: %empty
-#line 2261 "dhcp6_parser.yy"
- {
+ case 642:
+#line 2271 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.DUID_TYPE);
}
-#line 3479 "dhcp6_parser.cc"
+#line 3430 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 639: // server_id_type: "type" $@106 ":" duid_type
-#line 2264 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ case 643:
+#line 2274 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3488 "dhcp6_parser.cc"
+#line 3439 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 640: // duid_type: "LLT"
-#line 2269 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
-#line 3494 "dhcp6_parser.cc"
+ case 644:
+#line 2279 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
+#line 3445 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 641: // duid_type: "EN"
-#line 2270 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
-#line 3500 "dhcp6_parser.cc"
+ case 645:
+#line 2280 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
+#line 3451 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 642: // duid_type: "LL"
-#line 2271 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
-#line 3506 "dhcp6_parser.cc"
+ case 646:
+#line 2281 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
+#line 3457 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 643: // htype: "htype" ":" "integer"
-#line 2274 "dhcp6_parser.yy"
- {
+ case 647:
+#line 2284 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("htype", ctx.loc2pos(yystack_[2].location));
- 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 3516 "dhcp6_parser.cc"
+#line 3467 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 644: // $@107: %empty
-#line 2280 "dhcp6_parser.yy"
- {
+ case 648:
+#line 2290 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("identifier", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3525 "dhcp6_parser.cc"
+#line 3476 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 645: // identifier: "identifier" $@107 ":" "constant string"
-#line 2283 "dhcp6_parser.yy"
- {
- ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 649:
+#line 2293 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("identifier", id);
ctx.leave();
}
-#line 3535 "dhcp6_parser.cc"
+#line 3486 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 646: // time: "time" ":" "integer"
-#line 2289 "dhcp6_parser.yy"
- {
+ case 650:
+#line 2299 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("time", ctx.loc2pos(yystack_[2].location));
- 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 3545 "dhcp6_parser.cc"
+#line 3496 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 647: // enterprise_id: "enterprise-id" ":" "integer"
-#line 2295 "dhcp6_parser.yy"
- {
+ case 651:
+#line 2305 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enterprise-id", ctx.loc2pos(yystack_[2].location));
- 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 3555 "dhcp6_parser.cc"
+#line 3506 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 648: // dhcp4o6_port: "dhcp4o6-port" ":" "integer"
-#line 2303 "dhcp6_parser.yy"
- {
+ case 652:
+#line 2313 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
- 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 3565 "dhcp6_parser.cc"
+#line 3516 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 649: // $@108: %empty
-#line 2311 "dhcp6_parser.yy"
- {
+ case 653:
+#line 2321 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location));
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 3577 "dhcp6_parser.cc"
+#line 3528 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 650: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}"
-#line 2317 "dhcp6_parser.yy"
- {
+ case 654:
+#line 2327 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3586 "dhcp6_parser.cc"
+#line 3537 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 658: // $@109: %empty
-#line 2333 "dhcp6_parser.yy"
- {
+ case 662:
+#line 2343 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3595 "dhcp6_parser.cc"
+#line 3546 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 659: // socket_type: "socket-type" $@109 ":" "constant string"
-#line 2336 "dhcp6_parser.yy"
- {
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 663:
+#line 2346 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3605 "dhcp6_parser.cc"
+#line 3556 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 660: // $@110: %empty
-#line 2342 "dhcp6_parser.yy"
- {
+ case 664:
+#line 2352 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3614 "dhcp6_parser.cc"
+#line 3565 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 661: // socket_name: "socket-name" $@110 ":" "constant string"
-#line 2345 "dhcp6_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 665:
+#line 2355 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3624 "dhcp6_parser.cc"
+#line 3575 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 662: // $@111: %empty
-#line 2354 "dhcp6_parser.yy"
- {
+ case 666:
+#line 2364 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp-queue-control", qc);
ctx.stack_.push_back(qc);
ctx.enter(ctx.DHCP_QUEUE_CONTROL);
}
-#line 3636 "dhcp6_parser.cc"
+#line 3587 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 663: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}"
-#line 2360 "dhcp6_parser.yy"
- {
+ case 667:
+#line 2370 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// The enable queue parameter is required.
ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3647 "dhcp6_parser.cc"
+#line 3598 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 672: // enable_queue: "enable-queue" ":" "boolean"
-#line 2379 "dhcp6_parser.yy"
- {
+ case 676:
+#line 2389 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location));
- 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-queue", b);
}
-#line 3657 "dhcp6_parser.cc"
+#line 3608 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 673: // $@112: %empty
-#line 2385 "dhcp6_parser.yy"
- {
+ case 677:
+#line 2395 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3666 "dhcp6_parser.cc"
+#line 3617 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 674: // queue_type: "queue-type" $@112 ":" "constant string"
-#line 2388 "dhcp6_parser.yy"
- {
- ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 678:
+#line 2398 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr qt(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("queue-type", qt);
ctx.leave();
}
-#line 3676 "dhcp6_parser.cc"
+#line 3627 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 675: // capacity: "capacity" ":" "integer"
-#line 2394 "dhcp6_parser.yy"
- {
+ case 679:
+#line 2404 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("capacity", ctx.loc2pos(yystack_[2].location));
- ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr c(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("capacity", c);
}
-#line 3686 "dhcp6_parser.cc"
+#line 3637 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 676: // $@113: %empty
-#line 2400 "dhcp6_parser.yy"
- {
- ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
+ case 680:
+#line 2410 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.unique(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3695 "dhcp6_parser.cc"
+#line 3646 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 677: // arbitrary_map_entry: "constant string" $@113 ":" value
-#line 2403 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ case 681:
+#line 2413 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set(yystack_[3].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3704 "dhcp6_parser.cc"
+#line 3655 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 678: // $@114: %empty
-#line 2410 "dhcp6_parser.yy"
- {
+ case 682:
+#line 2420 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location));
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 3716 "dhcp6_parser.cc"
+#line 3667 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 679: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}"
-#line 2416 "dhcp6_parser.yy"
- {
+ case 683:
+#line 2426 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 3727 "dhcp6_parser.cc"
+#line 3678 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 680: // $@115: %empty
-#line 2423 "dhcp6_parser.yy"
- {
+ case 684:
+#line 2433 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the dhcp-ddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3737 "dhcp6_parser.cc"
+#line 3688 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 681: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}"
-#line 2427 "dhcp6_parser.yy"
- {
+ case 685:
+#line 2437 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// 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 3747 "dhcp6_parser.cc"
+#line 3698 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 702: // enable_updates: "enable-updates" ":" "boolean"
-#line 2457 "dhcp6_parser.yy"
- {
+ case 706:
+#line 2467 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location));
- 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 3757 "dhcp6_parser.cc"
+#line 3708 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 703: // $@116: %empty
-#line 2464 "dhcp6_parser.yy"
- {
+ case 707:
+#line 2474 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3766 "dhcp6_parser.cc"
+#line 3717 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 704: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string"
-#line 2467 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 708:
+#line 2477 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3776 "dhcp6_parser.cc"
+#line 3727 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 705: // $@117: %empty
-#line 2473 "dhcp6_parser.yy"
- {
+ case 709:
+#line 2483 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3785 "dhcp6_parser.cc"
+#line 3736 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 706: // server_ip: "server-ip" $@117 ":" "constant string"
-#line 2476 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 710:
+#line 2486 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3795 "dhcp6_parser.cc"
+#line 3746 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 707: // server_port: "server-port" ":" "integer"
-#line 2482 "dhcp6_parser.yy"
- {
+ case 711:
+#line 2492 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("server-port", ctx.loc2pos(yystack_[2].location));
- 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 3805 "dhcp6_parser.cc"
+#line 3756 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 708: // $@118: %empty
-#line 2488 "dhcp6_parser.yy"
- {
+ case 712:
+#line 2498 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3814 "dhcp6_parser.cc"
+#line 3765 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 709: // sender_ip: "sender-ip" $@118 ":" "constant string"
-#line 2491 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 713:
+#line 2501 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3824 "dhcp6_parser.cc"
+#line 3775 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 710: // sender_port: "sender-port" ":" "integer"
-#line 2497 "dhcp6_parser.yy"
- {
+ case 714:
+#line 2507 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location));
- 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 3834 "dhcp6_parser.cc"
+#line 3785 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 711: // max_queue_size: "max-queue-size" ":" "integer"
-#line 2503 "dhcp6_parser.yy"
- {
+ case 715:
+#line 2513 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location));
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3844 "dhcp6_parser.cc"
+#line 3795 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 712: // $@119: %empty
-#line 2509 "dhcp6_parser.yy"
- {
+ case 716:
+#line 2519 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3853 "dhcp6_parser.cc"
+#line 3804 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 713: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value
-#line 2512 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ case 717:
+#line 2522 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3862 "dhcp6_parser.cc"
+#line 3813 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 714: // ncr_protocol_value: "UDP"
-#line 2518 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3868 "dhcp6_parser.cc"
+ case 718:
+#line 2528 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3819 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 715: // ncr_protocol_value: "TCP"
-#line 2519 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3874 "dhcp6_parser.cc"
+ case 719:
+#line 2529 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3825 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 716: // $@120: %empty
-#line 2522 "dhcp6_parser.yy"
- {
+ case 720:
+#line 2532 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3883 "dhcp6_parser.cc"
+#line 3834 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 717: // ncr_format: "ncr-format" $@120 ":" "JSON"
-#line 2525 "dhcp6_parser.yy"
- {
+ case 721:
+#line 2535 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
ctx.leave();
}
-#line 3893 "dhcp6_parser.cc"
+#line 3844 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 718: // dep_override_no_update: "override-no-update" ":" "boolean"
-#line 2532 "dhcp6_parser.yy"
- {
+ case 722:
+#line 2542 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location));
- 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 3903 "dhcp6_parser.cc"
+#line 3854 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 719: // dep_override_client_update: "override-client-update" ":" "boolean"
-#line 2539 "dhcp6_parser.yy"
- {
+ case 723:
+#line 2549 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location));
- 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 3913 "dhcp6_parser.cc"
+#line 3864 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 720: // $@121: %empty
-#line 2546 "dhcp6_parser.yy"
- {
+ case 724:
+#line 2556 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3922 "dhcp6_parser.cc"
+#line 3873 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 721: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value
-#line 2549 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 725:
+#line 2559 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3931 "dhcp6_parser.cc"
+#line 3882 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 722: // $@122: %empty
-#line 2555 "dhcp6_parser.yy"
- {
+ case 726:
+#line 2565 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3940 "dhcp6_parser.cc"
+#line 3891 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 723: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string"
-#line 2558 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 727:
+#line 2568 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3950 "dhcp6_parser.cc"
+#line 3901 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 724: // $@123: %empty
-#line 2565 "dhcp6_parser.yy"
- {
+ case 728:
+#line 2575 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3959 "dhcp6_parser.cc"
+#line 3910 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 725: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string"
-#line 2568 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 729:
+#line 2578 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3969 "dhcp6_parser.cc"
+#line 3920 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 726: // $@124: %empty
-#line 2575 "dhcp6_parser.yy"
- {
+ case 730:
+#line 2585 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3978 "dhcp6_parser.cc"
+#line 3929 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 727: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string"
-#line 2578 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 731:
+#line 2588 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3988 "dhcp6_parser.cc"
+#line 3939 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 728: // $@125: %empty
-#line 2587 "dhcp6_parser.yy"
- {
+ case 732:
+#line 2597 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("config-control", ctx.loc2pos(yystack_[0].location));
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 4000 "dhcp6_parser.cc"
+#line 3951 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 729: // config_control: "config-control" $@125 ":" "{" config_control_params "}"
-#line 2593 "dhcp6_parser.yy"
- {
+ case 733:
+#line 2603 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 4010 "dhcp6_parser.cc"
+#line 3961 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 730: // $@126: %empty
-#line 2599 "dhcp6_parser.yy"
- {
+ case 734:
+#line 2609 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the config-control map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 4020 "dhcp6_parser.cc"
+#line 3971 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 731: // sub_config_control: "{" $@126 config_control_params "}"
-#line 2603 "dhcp6_parser.yy"
- {
+ case 735:
+#line 2613 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No config_control params are required
// parsing completed
}
-#line 4029 "dhcp6_parser.cc"
+#line 3980 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 736: // $@127: %empty
-#line 2618 "dhcp6_parser.yy"
- {
+ case 740:
+#line 2628 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location));
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 4041 "dhcp6_parser.cc"
+#line 3992 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 737: // config_databases: "config-databases" $@127 ":" "[" database_list "]"
-#line 2624 "dhcp6_parser.yy"
- {
+ case 741:
+#line 2634 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 4050 "dhcp6_parser.cc"
+#line 4001 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 738: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer"
-#line 2629 "dhcp6_parser.yy"
- {
+ case 742:
+#line 2639 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ 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 4060 "dhcp6_parser.cc"
+#line 4011 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 739: // $@128: %empty
-#line 2637 "dhcp6_parser.yy"
- {
+ case 743:
+#line 2647 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
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 4072 "dhcp6_parser.cc"
+#line 4023 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 740: // loggers: "loggers" $@128 ":" "[" loggers_entries "]"
-#line 2643 "dhcp6_parser.yy"
- {
+ case 744:
+#line 2653 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 4081 "dhcp6_parser.cc"
+#line 4032 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 743: // $@129: %empty
-#line 2655 "dhcp6_parser.yy"
- {
+ case 747:
+#line 2665 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
ctx.stack_.push_back(l);
}
-#line 4091 "dhcp6_parser.cc"
+#line 4042 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 744: // logger_entry: "{" $@129 logger_params "}"
-#line 2659 "dhcp6_parser.yy"
- {
+ case 748:
+#line 2669 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 4099 "dhcp6_parser.cc"
+#line 4050 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 754: // debuglevel: "debuglevel" ":" "integer"
-#line 2676 "dhcp6_parser.yy"
- {
+ case 758:
+#line 2686 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
- 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 4109 "dhcp6_parser.cc"
+#line 4060 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 755: // $@130: %empty
-#line 2682 "dhcp6_parser.yy"
- {
+ case 759:
+#line 2692 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4118 "dhcp6_parser.cc"
+#line 4069 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 756: // severity: "severity" $@130 ":" "constant string"
-#line 2685 "dhcp6_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 760:
+#line 2695 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 4128 "dhcp6_parser.cc"
+#line 4079 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 757: // $@131: %empty
-#line 2691 "dhcp6_parser.yy"
- {
+ case 761:
+#line 2701 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("output_options", ctx.loc2pos(yystack_[0].location));
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 4140 "dhcp6_parser.cc"
+#line 4091 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 758: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]"
-#line 2697 "dhcp6_parser.yy"
- {
+ case 762:
+#line 2707 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 4149 "dhcp6_parser.cc"
+#line 4100 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 761: // $@132: %empty
-#line 2706 "dhcp6_parser.yy"
- {
+ case 765:
+#line 2716 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 4159 "dhcp6_parser.cc"
+#line 4110 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 762: // output_entry: "{" $@132 output_params_list "}"
-#line 2710 "dhcp6_parser.yy"
- {
+ case 766:
+#line 2720 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 4167 "dhcp6_parser.cc"
+#line 4118 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 770: // $@133: %empty
-#line 2725 "dhcp6_parser.yy"
- {
+ case 774:
+#line 2735 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("output", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4176 "dhcp6_parser.cc"
+#line 4127 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 771: // output: "output" $@133 ":" "constant string"
-#line 2728 "dhcp6_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 775:
+#line 2738 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 4186 "dhcp6_parser.cc"
+#line 4137 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 772: // flush: "flush" ":" "boolean"
-#line 2734 "dhcp6_parser.yy"
- {
+ case 776:
+#line 2744 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
- 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 4196 "dhcp6_parser.cc"
+#line 4147 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 773: // maxsize: "maxsize" ":" "integer"
-#line 2740 "dhcp6_parser.yy"
- {
+ case 777:
+#line 2750 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
- 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 4206 "dhcp6_parser.cc"
+#line 4157 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 774: // maxver: "maxver" ":" "integer"
-#line 2746 "dhcp6_parser.yy"
- {
+ case 778:
+#line 2756 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
- 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 4216 "dhcp6_parser.cc"
+#line 4167 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 775: // $@134: %empty
-#line 2752 "dhcp6_parser.yy"
- {
+ case 779:
+#line 2762 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4225 "dhcp6_parser.cc"
+#line 4176 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 776: // pattern: "pattern" $@134 ":" "constant string"
-#line 2755 "dhcp6_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 780:
+#line 2765 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pattern", sev);
ctx.leave();
}
-#line 4235 "dhcp6_parser.cc"
+#line 4186 "dhcp6_parser.cc" // lalr1.cc:859
break;
-#line 4239 "dhcp6_parser.cc"
-
+#line 4190 "dhcp6_parser.cc" // lalr1.cc:859
default:
break;
}
}
-#if YY_EXCEPTIONS
catch (const syntax_error& yyexc)
{
- YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
error (yyexc);
YYERROR;
}
-#endif // YY_EXCEPTIONS
YY_SYMBOL_PRINT ("-> $$ =", yylhs);
yypop_ (yylen);
yylen = 0;
+ YY_STACK_PRINT ();
// Shift the result of the reduction.
- yypush_ (YY_NULLPTR, YY_MOVE (yylhs));
+ yypush_ (YY_NULLPTR, yylhs);
}
goto yynewstate;
-
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
if (!yyerrstatus_)
{
++yynerrs_;
- context yyctx (*this, yyla);
- std::string msg = yysyntax_error_ (yyctx);
- error (yyla.location, YY_MOVE (msg));
+ error (yyla.location, yysyntax_error_ (yystack_[0].state, yyla));
}
error, discard it. */
// Return failure if at end of input.
- if (yyla.kind () == symbol_kind::S_YYEOF)
+ if (yyla.type_get () == yyeof_)
YYABORT;
else if (!yyla.empty ())
{
| 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;
+ yyerror_range[1].location = yystack_[yylen - 1].location;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
yypop_ (yylen);
yylen = 0;
- YY_STACK_PRINT ();
goto yyerrlab1;
-
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus_ = 3; // Each real token shifted decrements this.
- // Pop stack until we find a state that shifts the error token.
- for (;;)
- {
- yyn = yypact_[+yystack_[0].state];
- if (!yy_pact_value_is_default_ (yyn))
- {
- yyn += symbol_kind::S_YYerror;
- if (0 <= yyn && yyn <= yylast_
- && yycheck_[yyn] == symbol_kind::S_YYerror)
- {
- yyn = yytable_[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- // Pop the current state because it cannot handle the error token.
- if (yystack_.size () == 1)
- YYABORT;
-
- yyerror_range[1].location = yystack_[0].location;
- yy_destroy_ ("Error: popping", yystack_[0]);
- yypop_ ();
- YY_STACK_PRINT ();
- }
{
stack_symbol_type error_token;
+ for (;;)
+ {
+ yyn = yypact_[yystack_[0].state];
+ if (!yy_pact_value_is_default_ (yyn))
+ {
+ yyn += yyterror_;
+ if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
+ {
+ yyn = yytable_[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ // Pop the current state because it cannot handle the error token.
+ if (yystack_.size () == 1)
+ YYABORT;
+
+ yyerror_range[1].location = yystack_[0].location;
+ yy_destroy_ ("Error: popping", yystack_[0]);
+ yypop_ ();
+ YY_STACK_PRINT ();
+ }
yyerror_range[2].location = yyla.location;
YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);
// Shift the error token.
- error_token.state = state_type (yyn);
- yypush_ ("Shifting", YY_MOVE (error_token));
+ error_token.state = yyn;
+ yypush_ ("Shifting", error_token);
}
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);
/* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
yypop_ (yylen);
- YY_STACK_PRINT ();
while (1 < yystack_.size ())
{
yy_destroy_ ("Cleanup: popping", yystack_[0]);
return yyresult;
}
-#if YY_EXCEPTIONS
catch (...)
{
- YYCDEBUG << "Exception caught: cleaning lookahead and stack\n";
+ YYCDEBUG << "Exception caught: cleaning lookahead and stack"
+ << std::endl;
// Do not try to display the values of the reclaimed symbols,
- // as their printers might throw an exception.
+ // as their printer might throw an exception.
if (!yyla.empty ())
yy_destroy_ (YY_NULLPTR, yyla);
}
throw;
}
-#endif // YY_EXCEPTIONS
}
void
Dhcp6Parser::error (const syntax_error& yyexc)
{
- error (yyexc.location, yyexc.what ());
- }
-
- /* Return YYSTR after stripping away unnecessary quotes and
- backslashes, so that it's suitable for yyerror. The heuristic is
- that double-quoting is unnecessary unless the string contains an
- apostrophe, a comma, or backslash (other than backslash-backslash).
- YYSTR is taken from yytname. */
- std::string
- Dhcp6Parser::yytnamerr_ (const char *yystr)
- {
- if (*yystr == '"')
- {
- std::string yyr;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- else
- goto append;
-
- append:
- default:
- yyr += *yyp;
- break;
-
- case '"':
- return yyr;
- }
- do_not_strip_quotes: ;
- }
-
- return yystr;
+ error (yyexc.location, yyexc.what());
}
+ // Generate an error message.
std::string
- Dhcp6Parser::symbol_name (symbol_kind_type yysymbol)
- {
- return yytnamerr_ (yytname_[yysymbol]);
- }
-
-
-
- // Dhcp6Parser::context.
- Dhcp6Parser::context::context (const Dhcp6Parser& yyparser, const symbol_type& yyla)
- : yyparser_ (yyparser)
- , yyla_ (yyla)
- {}
-
- int
- Dhcp6Parser::context::expected_tokens (symbol_kind_type yyarg[], int yyargn) const
+ Dhcp6Parser::yysyntax_error_ (state_type yystate, const symbol_type& yyla) const
{
- // Actual number of expected tokens
- int yycount = 0;
-
- int yyn = yypact_[+yyparser_.yystack_[0].state];
- if (!yy_pact_value_is_default_ (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- // Stay within bounds of both yycheck and yytname.
- int yychecklim = yylast_ - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != symbol_kind::S_YYerror
- && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
- {
- if (!yyarg)
- ++yycount;
- else if (yycount == yyargn)
- return 0;
- else
- yyarg[yycount++] = YY_CAST (symbol_kind_type, yyx);
- }
- }
-
- if (yyarg && yycount == 0 && 0 < yyargn)
- yyarg[0] = symbol_kind::S_YYEMPTY;
- return yycount;
- }
-
-
+ // Number of reported tokens (one for the "unexpected", one per
+ // "expected").
+ size_t yycount = 0;
+ // Its maximum.
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ // Arguments of yyformat.
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int
- Dhcp6Parser::yy_syntax_error_arguments_ (const context& yyctx,
- symbol_kind_type yyarg[], int yyargn) const
- {
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
- Of course, the expected token list depends on states to have
correct lookahead information, and it depends on the parser not
to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
+ scanner and before detecting a syntax error. Thus, state
+ merging (from LALR or IELR) and default reductions corrupt the
+ expected token list. However, the list is correct for
+ canonical LR with one exception: it will still contain any
+ token that will not be accepted due to an error action in a
+ later state.
*/
-
- if (!yyctx.lookahead ().empty ())
+ if (!yyla.empty ())
{
- if (yyarg)
- yyarg[0] = yyctx.token ();
- int yyn = yyctx.expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
- return yyn + 1;
+ int yytoken = yyla.type_get ();
+ yyarg[yycount++] = yytname_[yytoken];
+ int yyn = yypact_[yystate];
+ if (!yy_pact_value_is_default_ (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ // Stay within bounds of both yycheck and yytname.
+ int yychecklim = yylast_ - yyn + 1;
+ int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
+ for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
+ && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ break;
+ }
+ else
+ yyarg[yycount++] = yytname_[yyx];
+ }
+ }
}
- return 0;
- }
-
- // Generate an error message.
- std::string
- Dhcp6Parser::yysyntax_error_ (const context& yyctx) const
- {
- // Its maximum.
- enum { YYARGS_MAX = 5 };
- // Arguments of yyformat.
- symbol_kind_type yyarg[YYARGS_MAX];
- int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
char const* yyformat = YY_NULLPTR;
switch (yycount)
case N: \
yyformat = S; \
break
- default: // Avoid compiler warnings.
- YYCASE_ (0, YY_("syntax error"));
- YYCASE_ (1, YY_("syntax error, unexpected %s"));
- YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
#undef YYCASE_
}
std::string yyres;
// Argument number.
- std::ptrdiff_t yyi = 0;
+ size_t yyi = 0;
for (char const* yyp = yyformat; *yyp; ++yyp)
if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
{
- yyres += symbol_name (yyarg[yyi++]);
+ yyres += yytnamerr_ (yyarg[yyi++]);
++yyp;
}
else
}
- const short Dhcp6Parser::yypact_ninf_ = -944;
+ const short int Dhcp6Parser::yypact_ninf_ = -949;
const signed char Dhcp6Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp6Parser::yypact_[] =
{
- 186, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, 37, 33, 44, 62, 64,
- 87, 95, 99, 103, 107, 116, 118, 147, 148, 205,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, 33, -4,
- 203, 115, 39, 499, 10, 235, 222, 151, 117, 67,
- -74, 605, 71, -944, 223, 225, 234, 233, 247, -944,
- 299, -944, -944, -944, -944, -944, -944, 263, 304, 312,
- 322, 330, 341, 363, 384, 390, 391, 406, 407, 409,
- 410, -944, 412, 413, 420, 424, 426, -944, -944, -944,
- 428, 438, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, 444, -944,
- -944, -944, -944, -944, -944, 448, -944, 449, -944, 51,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, 452, -944,
- 54, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 458, 460, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- 75, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, 101, -944, -944, -944, -944, -944, 463, -944,
- 464, 465, -944, -944, -944, -944, -944, -944, 109, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, 377, 294, -944, -944,
- -944, -944, -944, -944, -944, -944, 379, -944, -944, 468,
- -944, -944, -944, 469, -944, -944, 470, 473, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 480, 484, -944, -944, -944, -944, 481, 488, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 150, -944, -944, -944, 489, -944, -944, 490, -944,
- 491, 492, -944, -944, 494, 496, -944, -944, -944, -944,
- -944, -944, -944, 206, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 497, 207, -944, -944, -944, -944, 33, 33, -944,
- 307, 504, -944, 506, 508, 509, 511, 516, 519, 326,
- 328, 329, 332, 333, 334, 336, 337, 355, 340, 357,
- 358, 360, 369, 525, 370, 372, 371, 373, 374, 534,
- 535, 569, 375, 376, 574, 575, 577, 579, 580, 581,
- 582, 583, 592, 593, 594, 595, 596, 597, 599, 600,
- 415, 602, 604, 608, 609, 611, 612, 408, 613, -944,
- 115, -944, 615, 419, 39, -944, 618, 619, 620, 621,
- 622, 429, 430, 623, 625, 626, 499, -944, 628, 10,
- -944, 629, 435, 631, 437, 442, 235, -944, 633, 639,
- 640, 641, 642, 643, 644, -944, 222, -944, 645, 646,
- 453, 647, 649, 655, 459, -944, 117, 657, 462, 466,
- -944, 67, 660, 661, 14, -944, 467, 662, 665, 471,
- 669, 475, 476, 672, 674, 478, 479, 692, 703, 711,
- 712, 605, -944, 713, 520, 71, -944, -944, -944, 714,
- 485, 522, 715, 716, 717, 718, 723, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 523, -944, -944, -944, -944, -944, 55, 533, 536,
- -944, -944, 730, 731, 732, 733, 540, 382, 734, 736,
- 737, 738, 739, 742, 744, 745, 746, 747, -944, 748,
- 763, 764, 765, 546, 553, -944, 768, -944, 769, -944,
- -944, 770, 771, 554, 584, 585, -944, -944, 769, 586,
- 772, -944, 587, -944, 588, -944, 589, -944, -944, -944,
- 769, 769, 769, 590, 591, 598, 601, -944, 603, 606,
- -944, 607, 610, 614, -944, -944, 616, -944, -944, -944,
- 617, 733, -944, -944, 624, 627, -944, 630, -944, -944,
- -19, 635, -944, -944, 55, 632, 634, 636, -944, 775,
- -944, -944, 33, 115, -944, 71, 39, 242, 242, 774,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, 783,
- 784, 785, -944, -944, -944, -944, -944, -944, -944, -944,
- 786, -76, 33, 290, 688, 788, 790, 791, 73, 228,
- -46, 42, 202, 605, -944, -944, 793, -944, -944, 799,
- 800, -944, -944, -944, -944, -944, -52, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, 774, -944, 227, 239,
- 245, -944, -944, -944, -944, 807, 809, 812, 813, 814,
- -944, 815, 816, -944, -944, -944, 817, 819, 820, 822,
- -944, 291, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, 292, -944, 821, 826, -944, -944, 825,
- 830, -944, -944, 831, 833, -944, -944, 832, 836, -944,
- -944, 834, 838, -944, -944, -944, 57, -944, -944, -944,
- 837, -944, -944, -944, 187, -944, -944, -944, -944, 293,
- -944, -944, -944, 254, -944, -944, 839, 841, -944, -944,
- 840, 844, -944, 845, 846, 847, 848, 849, 850, 302,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, 851,
- 852, 853, -944, -944, -944, -944, 324, -944, -944, -944,
- -944, -944, -944, 854, 855, 856, -944, 325, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, 339,
- -944, -944, -944, 857, -944, 858, -944, -944, -944, 350,
- -944, -944, -944, -944, -944, 351, -944, 258, -944, 650,
- -944, 859, 860, -944, -944, 861, 863, -944, -944, -944,
- 862, -944, 865, -944, -944, -944, 864, 868, 869, 870,
- 670, 663, 676, 675, 678, 874, 680, 681, 877, 878,
- 879, 685, 686, 687, 690, 242, -944, -944, 242, -944,
- 774, 499, -944, 783, 117, -944, 784, 67, -944, 785,
- 637, -944, 786, -76, -944, -944, 290, -944, 882, 688,
- -944, 259, 788, -944, 222, -944, 790, -74, -944, 791,
- 693, 695, 696, 699, 706, 708, 73, -944, 883, 887,
- 709, 724, 725, 228, -944, 735, 726, 740, -46, -944,
- 913, 941, 42, -944, 750, 960, 777, 966, 202, -944,
- -944, 214, 793, -944, -944, 967, 974, 10, -944, 799,
- 235, -944, 800, 976, -944, -944, 414, 794, 805, 808,
- -944, -944, -944, -944, -944, 818, -944, -944, 823, 827,
- 828, -944, -944, -944, -944, -944, 352, -944, 353, -944,
- 999, -944, 1004, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, 354, -944, -944, -944,
- -944, -944, -944, -944, -944, 829, -944, -944, 980, -944,
- -944, -944, -944, -944, 1006, 1014, -944, -944, -944, -944,
- -944, 1010, -944, 381, -944, -944, -944, -944, -944, -944,
- -944, -944, 289, 835, -944, -944, -944, -944, -944, -944,
- -944, -944, 843, 866, -944, -944, 867, -944, 33, -944,
- -944, 1016, -944, -944, -944, -944, -944, 383, -944, -944,
- -944, -944, -944, -944, 871, 393, -944, 399, -944, 872,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, 637, -944, -944, 1019,
- 873, -944, 259, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, 1020, 880, 1025, 214, -944, -944,
- -944, -944, -944, -944, 875, -944, -944, 1027, -944, 884,
- -944, -944, 1023, -944, -944, 338, -944, -32, 1023, -944,
- -944, 1030, 1031, 1032, -944, 401, -944, -944, -944, -944,
- -944, -944, -944, 1033, 876, 881, 885, 1034, -32, -944,
- 888, -944, -944, -944, 889, -944, -944, -944
+ 190, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, 39, 33, 62, 64, 78,
+ 89, 99, 103, 107, 131, 138, 217, 231, 244, 254,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, 33, -132,
+ 119, 115, 49, 505, 258, 235, 221, 127, 120, 283,
+ -75, 537, 144, -949, 311, 226, 239, 242, 294, -949,
+ 323, -949, -949, -949, -949, -949, -949, 328, 338, 339,
+ 358, 386, 404, 405, 408, 409, 411, 414, 417, 424,
+ 426, -949, 428, 433, 436, 437, 439, -949, -949, -949,
+ 440, 442, 448, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, 452,
+ -949, -949, -949, -949, -949, -949, 457, -949, 462, -949,
+ 60, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ 464, -949, 94, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, 467, 468, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, 101, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, 109, -949, -949, -949, -949,
+ -949, 469, -949, 472, 473, -949, -949, -949, -949, -949,
+ -949, 113, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, 357,
+ 343, -949, -949, -949, -949, -949, -949, -949, -949, 390,
+ -949, -949, 476, -949, -949, -949, 479, -949, -949, 477,
+ 481, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, 482, 484, -949, -949, -949, -949,
+ 485, 489, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, 128, -949, -949, -949, 491, -949,
+ -949, 492, -949, 493, 494, -949, -949, 495, 496, -949,
+ -949, -949, -949, -949, -949, -949, 129, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, 498, 186, -949, -949, -949, -949,
+ 33, 33, -949, 306, 500, -949, 508, 510, 512, 513,
+ 515, 520, 309, 327, 329, 331, 333, 334, 335, 336,
+ 337, 341, 344, 346, 340, 362, 534, 363, 364, 373,
+ 374, 376, 539, 561, 575, 378, 379, 380, 579, 580,
+ 581, 582, 584, 586, 587, 588, 589, 590, 599, 600,
+ 601, 602, 604, 605, 412, 607, 609, 611, 612, 615,
+ 616, 419, 618, -949, 115, -949, 619, 422, 49, -949,
+ 625, 626, 627, 628, 629, 434, 435, 631, 632, 634,
+ 505, -949, 635, 258, -949, 636, 441, 638, 446, 449,
+ 235, -949, 644, 646, 647, 648, 649, 650, 651, -949,
+ 221, -949, 652, 653, 458, 660, 661, 662, 466, -949,
+ 120, 665, 470, 471, -949, 283, 666, 667, 67, -949,
+ 474, 670, 671, 480, 673, 483, 486, 677, 680, 487,
+ 501, 681, 683, 684, 701, 537, -949, 702, 507, 144,
+ -949, -949, -949, 704, 705, 514, 707, 726, 727, 728,
+ 742, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, 551, -949, -949, -949, -949,
+ -949, -110, 552, 553, -949, -949, -949, 748, 749, 750,
+ 751, 557, 326, 752, 754, 755, 756, 757, 758, 760,
+ 763, 764, 767, -949, 768, 769, 770, 771, 563, 583,
+ -949, 774, -949, 775, -949, -949, 776, 778, 585, 591,
+ 592, -949, -949, 775, 593, 779, -949, 594, -949, 595,
+ -949, 596, -949, -949, -949, 775, 775, 775, 598, 603,
+ 606, 608, -949, 610, 613, -949, 614, 617, 620, -949,
+ -949, 621, -949, -949, -949, 622, 751, -949, -949, 623,
+ 624, -949, 630, -949, -949, -113, 541, -949, -949, -110,
+ 633, 637, 639, -949, 782, -949, -949, 33, 115, -949,
+ 144, 49, 243, 243, 791, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, 792, 793, 794, -949, -949, -949,
+ -949, -949, -949, -949, -949, 796, -79, 33, 149, 682,
+ 797, 799, 801, 23, 167, 4, 9, -7, 537, -949,
+ -949, 803, -949, -949, 804, 807, -949, -949, -949, -949,
+ -949, -70, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, 791, -949, 199, 201, 219, -949, -949, -949, -949,
+ 811, 813, 814, 820, 821, -949, 822, 823, -949, -949,
+ -949, 824, 826, 827, 829, -949, 222, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, 223, -949,
+ 828, 832, -949, -949, 831, 836, -949, -949, 834, 838,
+ -949, -949, 837, 839, -949, -949, 840, 841, -949, -949,
+ -949, 75, -949, -949, -949, 842, -949, -949, -949, 122,
+ -949, -949, -949, -949, 233, -949, -949, -949, 236, -949,
+ -949, 845, 844, -949, -949, 846, 850, -949, 851, 852,
+ 853, 854, 855, 856, 246, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, 857, 858, 859, -949, -949, -949,
+ -949, 284, -949, -949, -949, -949, -949, -949, 860, 861,
+ 862, -949, 291, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, 292, -949, -949, -949, 863, -949,
+ 864, -949, -949, -949, 293, -949, -949, -949, -949, -949,
+ 305, -949, 256, -949, 655, -949, 865, 866, -949, -949,
+ 867, 869, -949, -949, -949, 868, -949, 871, -949, -949,
+ -949, 870, 874, 875, 876, 645, 668, 685, 679, 686,
+ 878, 687, 688, 879, 880, 885, 690, 691, 692, 693,
+ 243, -949, -949, 243, -949, 791, 505, -949, 792, 120,
+ -949, 793, 283, -949, 794, 676, -949, 796, -79, -949,
+ -949, 149, -949, 888, 682, -949, 261, 797, -949, 221,
+ -949, 799, -75, -949, 801, 696, 697, 699, 700, 703,
+ 710, 23, -949, 908, 909, 722, 729, 730, 167, -949,
+ 739, 744, 781, 4, -949, 924, 946, 9, -949, 773,
+ 952, 785, 965, -7, -949, -949, 237, 803, -949, -949,
+ 972, 979, 258, -949, 804, 235, -949, 807, 985, -949,
+ -949, 191, 798, 812, 817, -949, -949, -949, -949, -949,
+ 830, -949, -949, 833, 835, 843, -949, -949, -949, -949,
+ -949, 342, -949, 360, -949, 1004, -949, 1012, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, 361, -949, -949, -949, -949, -949, -949, -949,
+ -949, 847, -949, -949, 1017, -949, -949, -949, -949, -949,
+ 1014, 1022, -949, -949, -949, -949, -949, 1018, -949, 388,
+ -949, -949, -949, -949, -949, -949, -949, -949, 220, 848,
+ -949, -949, -949, -949, -949, -949, -949, -949, 872, 873,
+ -949, -949, 882, -949, 33, -949, -949, 1024, -949, -949,
+ -949, -949, -949, 394, -949, -949, -949, -949, -949, -949,
+ 883, 396, -949, 402, -949, 886, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, 676, -949, -949, 1026, 849, -949, 261, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ 1027, 877, 1031, 237, -949, -949, -949, -949, -949, -949,
+ 887, -949, -949, 1032, -949, 889, -949, -949, 1033, -949,
+ -949, 312, -949, 211, 1033, -949, -949, 1034, 1035, 1037,
+ -949, 403, -949, -949, -949, -949, -949, -949, -949, 1039,
+ 890, 884, 891, 1040, 211, -949, 894, -949, -949, -949,
+ 895, -949, -949, -949
};
- const short
+ const unsigned short int
Dhcp6Parser::yydefact_[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
20, 22, 24, 26, 28, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 45, 38, 34, 33, 30, 31, 32, 37, 3,
- 35, 36, 58, 5, 62, 7, 166, 9, 328, 11,
- 512, 13, 537, 15, 567, 17, 437, 19, 445, 21,
- 482, 23, 293, 25, 680, 27, 730, 29, 47, 41,
- 0, 0, 0, 0, 0, 0, 569, 0, 447, 484,
+ 35, 36, 58, 5, 62, 7, 168, 9, 330, 11,
+ 516, 13, 541, 15, 571, 17, 441, 19, 449, 21,
+ 486, 23, 295, 25, 684, 27, 734, 29, 47, 41,
+ 0, 0, 0, 0, 0, 0, 573, 0, 451, 488,
0, 0, 0, 49, 0, 48, 0, 0, 42, 60,
- 0, 123, 728, 164, 178, 180, 182, 0, 0, 0,
+ 0, 124, 732, 166, 180, 182, 184, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 163, 0, 0, 0, 0, 0, 143, 150, 152,
+ 0, 0, 0, 322, 439, 478, 529, 531, 384, 392,
+ 255, 272, 263, 248, 608, 563, 287, 306, 629, 0,
+ 274, 653, 666, 682, 156, 158, 0, 743, 0, 123,
+ 0, 64, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 102, 103, 104, 105, 106, 75, 110, 111, 112,
+ 113, 114, 115, 116, 117, 108, 109, 118, 119, 120,
+ 100, 122, 78, 79, 80, 81, 97, 82, 84, 83,
+ 121, 88, 89, 76, 101, 77, 86, 87, 95, 96,
+ 98, 85, 90, 91, 92, 93, 94, 99, 107, 177,
+ 0, 176, 0, 170, 172, 173, 174, 175, 508, 533,
+ 374, 376, 378, 0, 0, 382, 380, 602, 373, 334,
+ 335, 336, 337, 338, 339, 340, 341, 357, 358, 359,
+ 360, 361, 364, 365, 366, 367, 368, 369, 370, 371,
+ 362, 363, 372, 0, 332, 345, 346, 347, 350, 351,
+ 353, 348, 349, 342, 343, 355, 356, 344, 352, 354,
+ 527, 526, 522, 523, 521, 0, 518, 520, 524, 525,
+ 556, 0, 559, 0, 0, 555, 549, 550, 548, 553,
+ 554, 0, 543, 545, 546, 551, 552, 547, 600, 588,
+ 590, 592, 594, 596, 598, 587, 584, 585, 586, 0,
+ 574, 575, 579, 580, 577, 581, 582, 583, 578, 0,
+ 468, 228, 0, 472, 470, 475, 0, 464, 465, 0,
+ 452, 453, 455, 467, 456, 457, 458, 474, 459, 460,
+ 461, 462, 463, 502, 0, 0, 500, 501, 504, 505,
+ 0, 489, 490, 492, 493, 494, 495, 496, 497, 498,
+ 499, 302, 304, 299, 0, 297, 300, 301, 0, 707,
+ 709, 0, 712, 0, 0, 716, 720, 0, 0, 724,
+ 726, 728, 730, 705, 703, 704, 0, 686, 688, 700,
+ 689, 690, 691, 692, 693, 694, 695, 696, 697, 698,
+ 699, 701, 702, 740, 0, 0, 736, 738, 739, 46,
+ 0, 0, 39, 0, 0, 59, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 161, 0, 0, 0, 0, 0, 142, 149, 151,
- 0, 0, 320, 435, 474, 525, 527, 381, 389, 253,
- 270, 261, 246, 604, 559, 285, 304, 625, 0, 272,
- 649, 662, 678, 154, 156, 0, 739, 0, 122, 0,
- 64, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 102, 103, 104, 105, 106, 75, 110, 111, 112, 113,
- 114, 115, 116, 108, 109, 117, 118, 119, 100, 121,
- 78, 79, 80, 81, 97, 82, 84, 83, 120, 88,
- 89, 76, 101, 77, 86, 87, 95, 96, 98, 85,
- 90, 91, 92, 93, 94, 99, 107, 175, 0, 174,
- 0, 168, 170, 171, 172, 173, 504, 529, 371, 373,
- 375, 0, 0, 379, 377, 598, 370, 332, 333, 334,
- 335, 336, 337, 338, 339, 355, 356, 357, 358, 359,
- 362, 363, 364, 365, 366, 367, 368, 360, 361, 369,
- 0, 330, 343, 344, 345, 348, 349, 351, 346, 347,
- 340, 341, 353, 354, 342, 350, 352, 523, 522, 518,
- 519, 517, 0, 514, 516, 520, 521, 552, 0, 555,
- 0, 0, 551, 545, 546, 544, 549, 550, 0, 539,
- 541, 542, 547, 548, 543, 596, 584, 586, 588, 590,
- 592, 594, 583, 580, 581, 582, 0, 570, 571, 575,
- 576, 573, 577, 578, 579, 574, 0, 464, 226, 0,
- 468, 466, 471, 0, 460, 461, 0, 448, 449, 451,
- 463, 452, 453, 454, 470, 455, 456, 457, 458, 459,
- 498, 0, 0, 496, 497, 500, 501, 0, 485, 486,
- 488, 489, 490, 491, 492, 493, 494, 495, 300, 302,
- 297, 0, 295, 298, 299, 0, 703, 705, 0, 708,
- 0, 0, 712, 716, 0, 0, 720, 722, 724, 726,
- 701, 699, 700, 0, 682, 684, 696, 685, 686, 687,
- 688, 689, 690, 691, 692, 693, 694, 695, 697, 698,
- 736, 0, 0, 732, 734, 735, 46, 0, 0, 39,
- 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 57, 0, 63, 0, 0, 0, 169,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 331, 0, 0, 517, 0, 0, 0, 0, 0,
+ 0, 542, 0, 0, 0, 0, 0, 0, 0, 572,
+ 0, 442, 0, 0, 0, 0, 0, 0, 0, 450,
+ 0, 0, 0, 0, 487, 0, 0, 0, 0, 296,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
- 0, 63, 0, 0, 0, 167, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 329, 0, 0,
- 513, 0, 0, 0, 0, 0, 0, 538, 0, 0,
- 0, 0, 0, 0, 0, 568, 0, 438, 0, 0,
- 0, 0, 0, 0, 0, 446, 0, 0, 0, 0,
- 483, 0, 0, 0, 0, 294, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 685, 0, 0, 0,
+ 735, 50, 43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 0, 161, 162, 140, 141,
+ 142, 0, 0, 0, 154, 155, 160, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 681, 0, 0, 0, 731, 50, 43, 0,
- 0, 0, 0, 0, 0, 0, 0, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 0, 159, 160, 139, 140, 141, 0, 0, 0,
- 153, 158, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 648, 0,
- 0, 0, 0, 0, 0, 163, 0, 65, 0, 177,
- 169, 0, 0, 0, 0, 0, 387, 388, 0, 0,
- 0, 331, 0, 515, 0, 554, 0, 557, 558, 540,
- 0, 0, 0, 0, 0, 0, 0, 572, 0, 0,
- 462, 0, 0, 0, 473, 450, 0, 502, 503, 487,
- 0, 0, 296, 702, 0, 0, 707, 0, 710, 711,
- 0, 0, 718, 719, 0, 0, 0, 0, 683, 0,
- 738, 733, 0, 0, 124, 0, 0, 0, 0, 184,
- 162, 144, 145, 146, 147, 148, 143, 150, 152, 322,
- 439, 476, 40, 526, 528, 383, 384, 385, 386, 382,
- 391, 0, 47, 0, 0, 0, 561, 287, 0, 0,
- 0, 0, 0, 0, 155, 157, 0, 51, 176, 506,
- 531, 372, 374, 376, 380, 378, 0, 524, 553, 556,
- 597, 585, 587, 589, 591, 593, 595, 465, 227, 469,
- 467, 472, 499, 301, 303, 704, 706, 709, 714, 715,
- 713, 717, 721, 723, 725, 727, 184, 44, 0, 0,
- 0, 213, 219, 221, 223, 0, 0, 0, 0, 0,
- 237, 0, 0, 240, 242, 244, 0, 0, 0, 0,
- 212, 0, 190, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 204, 211, 205, 206, 207, 202, 203,
- 208, 209, 210, 0, 188, 0, 185, 186, 326, 0,
- 323, 324, 443, 0, 440, 441, 480, 0, 477, 478,
- 395, 0, 392, 393, 259, 260, 0, 255, 257, 258,
- 0, 268, 269, 265, 0, 263, 266, 267, 251, 0,
- 248, 250, 608, 0, 606, 565, 0, 562, 563, 291,
- 0, 288, 289, 0, 0, 0, 0, 0, 0, 0,
- 306, 308, 309, 310, 311, 312, 313, 638, 644, 0,
- 0, 0, 637, 634, 635, 636, 0, 627, 629, 632,
- 630, 631, 633, 0, 0, 0, 281, 0, 274, 276,
- 277, 278, 279, 280, 658, 660, 657, 655, 656, 0,
- 651, 653, 654, 0, 673, 0, 676, 669, 670, 0,
- 664, 666, 667, 668, 671, 0, 743, 0, 741, 53,
- 510, 0, 507, 508, 535, 0, 532, 533, 602, 601,
- 0, 600, 0, 61, 729, 165, 0, 0, 0, 0,
+ 0, 0, 0, 652, 0, 0, 0, 0, 0, 0,
+ 165, 0, 65, 0, 179, 171, 0, 0, 0, 0,
+ 0, 390, 391, 0, 0, 0, 333, 0, 519, 0,
+ 558, 0, 561, 562, 544, 0, 0, 0, 0, 0,
+ 0, 0, 576, 0, 0, 466, 0, 0, 0, 477,
+ 454, 0, 506, 507, 491, 0, 0, 298, 706, 0,
+ 0, 711, 0, 714, 715, 0, 0, 722, 723, 0,
+ 0, 0, 0, 687, 0, 742, 737, 0, 0, 125,
+ 0, 0, 0, 0, 186, 164, 145, 146, 147, 148,
+ 149, 144, 151, 153, 324, 443, 480, 40, 530, 532,
+ 386, 387, 388, 389, 385, 394, 0, 47, 0, 0,
+ 0, 565, 289, 0, 0, 0, 0, 0, 0, 157,
+ 159, 0, 51, 178, 510, 535, 375, 377, 379, 383,
+ 381, 0, 528, 557, 560, 601, 589, 591, 593, 595,
+ 597, 599, 469, 229, 473, 471, 476, 503, 303, 305,
+ 708, 710, 713, 718, 719, 717, 721, 725, 727, 729,
+ 731, 186, 44, 0, 0, 0, 215, 221, 223, 225,
+ 0, 0, 0, 0, 0, 239, 0, 0, 242, 244,
+ 246, 0, 0, 0, 0, 214, 0, 192, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 206, 213,
+ 207, 208, 209, 204, 205, 210, 211, 212, 0, 190,
+ 0, 187, 188, 328, 0, 325, 326, 447, 0, 444,
+ 445, 484, 0, 481, 482, 398, 0, 395, 396, 261,
+ 262, 0, 257, 259, 260, 0, 270, 271, 267, 0,
+ 265, 268, 269, 253, 0, 250, 252, 612, 0, 610,
+ 569, 0, 566, 567, 293, 0, 290, 291, 0, 0,
+ 0, 0, 0, 0, 0, 308, 310, 311, 312, 313,
+ 314, 315, 642, 648, 0, 0, 0, 641, 638, 639,
+ 640, 0, 631, 633, 636, 634, 635, 637, 0, 0,
+ 0, 283, 0, 276, 278, 279, 280, 281, 282, 662,
+ 664, 661, 659, 660, 0, 655, 657, 658, 0, 677,
+ 0, 680, 673, 674, 0, 668, 670, 671, 672, 675,
+ 0, 747, 0, 745, 53, 514, 0, 511, 512, 539,
+ 0, 536, 537, 606, 605, 0, 604, 0, 61, 733,
+ 167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 179, 181, 0, 183,
- 0, 0, 321, 0, 447, 436, 0, 484, 475, 0,
- 0, 390, 0, 0, 254, 271, 0, 262, 0, 0,
- 247, 610, 0, 605, 569, 560, 0, 0, 286, 0,
- 0, 0, 0, 0, 0, 0, 0, 305, 0, 0,
- 0, 0, 0, 0, 626, 0, 0, 0, 0, 273,
- 0, 0, 0, 650, 0, 0, 0, 0, 0, 663,
- 679, 0, 0, 740, 55, 0, 54, 0, 505, 0,
- 0, 530, 0, 0, 599, 737, 0, 0, 0, 0,
- 225, 228, 229, 230, 231, 0, 239, 232, 0, 0,
- 0, 234, 235, 236, 233, 191, 0, 187, 0, 325,
- 0, 442, 0, 479, 434, 410, 411, 412, 414, 415,
- 416, 403, 404, 419, 420, 421, 422, 423, 426, 427,
- 428, 429, 430, 431, 432, 424, 425, 433, 399, 400,
- 401, 402, 408, 409, 407, 413, 0, 397, 405, 417,
- 418, 406, 394, 256, 264, 0, 249, 622, 0, 620,
- 621, 617, 618, 619, 0, 611, 612, 614, 615, 616,
- 607, 0, 564, 0, 290, 314, 315, 316, 317, 318,
- 319, 307, 0, 0, 643, 646, 647, 628, 282, 283,
- 284, 275, 0, 0, 652, 672, 0, 675, 0, 665,
- 757, 0, 755, 753, 747, 751, 752, 0, 745, 749,
- 750, 748, 742, 52, 0, 0, 509, 0, 534, 0,
- 215, 216, 217, 218, 214, 220, 222, 224, 238, 241,
- 243, 245, 189, 327, 444, 481, 0, 396, 252, 0,
- 0, 609, 0, 566, 292, 640, 641, 642, 639, 645,
- 659, 661, 674, 677, 0, 0, 0, 0, 744, 56,
- 511, 536, 603, 398, 0, 624, 613, 0, 754, 0,
- 746, 623, 0, 756, 761, 0, 759, 0, 0, 758,
- 770, 0, 0, 0, 775, 0, 763, 765, 766, 767,
- 768, 769, 760, 0, 0, 0, 0, 0, 0, 762,
- 0, 772, 773, 774, 0, 764, 771, 776
+ 0, 181, 183, 0, 185, 0, 0, 323, 0, 451,
+ 440, 0, 488, 479, 0, 0, 393, 0, 0, 256,
+ 273, 0, 264, 0, 0, 249, 614, 0, 609, 573,
+ 564, 0, 0, 288, 0, 0, 0, 0, 0, 0,
+ 0, 0, 307, 0, 0, 0, 0, 0, 0, 630,
+ 0, 0, 0, 0, 275, 0, 0, 0, 654, 0,
+ 0, 0, 0, 0, 667, 683, 0, 0, 744, 55,
+ 0, 54, 0, 509, 0, 0, 534, 0, 0, 603,
+ 741, 0, 0, 0, 0, 227, 230, 231, 232, 233,
+ 0, 241, 234, 0, 0, 0, 236, 237, 238, 235,
+ 193, 0, 189, 0, 327, 0, 446, 0, 483, 438,
+ 413, 414, 415, 417, 418, 419, 406, 407, 422, 423,
+ 424, 425, 426, 429, 430, 431, 432, 433, 434, 435,
+ 436, 427, 428, 437, 402, 403, 404, 405, 411, 412,
+ 410, 416, 0, 400, 408, 420, 421, 409, 397, 258,
+ 266, 0, 251, 626, 0, 624, 625, 621, 622, 623,
+ 0, 615, 616, 618, 619, 620, 611, 0, 568, 0,
+ 292, 316, 317, 318, 319, 320, 321, 309, 0, 0,
+ 647, 650, 651, 632, 284, 285, 286, 277, 0, 0,
+ 656, 676, 0, 679, 0, 669, 761, 0, 759, 757,
+ 751, 755, 756, 0, 749, 753, 754, 752, 746, 52,
+ 0, 0, 513, 0, 538, 0, 217, 218, 219, 220,
+ 216, 222, 224, 226, 240, 243, 245, 247, 191, 329,
+ 448, 485, 0, 399, 254, 0, 0, 613, 0, 570,
+ 294, 644, 645, 646, 643, 649, 663, 665, 678, 681,
+ 0, 0, 0, 0, 748, 56, 515, 540, 607, 401,
+ 0, 628, 617, 0, 758, 0, 750, 627, 0, 760,
+ 765, 0, 763, 0, 0, 762, 774, 0, 0, 0,
+ 779, 0, 767, 769, 770, 771, 772, 773, 764, 0,
+ 0, 0, 0, 0, 0, 766, 0, 776, 777, 778,
+ 0, 768, 775, 780
};
- const short
+ const short int
Dhcp6Parser::yypgoto_[] =
{
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -10, -944, -544, -944,
- 191, -944, -944, -944, -944, 342, -944, -565, -944, -944,
- -944, -71, -944, -944, -944, -944, -944, -944, 366, 572,
- -944, -944, -59, -43, -42, -40, -39, -28, -27, -26,
- -23, -21, -15, -9, -3, -944, -1, 17, 18, 20,
- -944, 385, 25, -944, 28, -944, 30, 32, -944, 35,
- -944, 38, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 378, 571, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, 295, -944, 86, -944, -656, 92, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -67, -944,
- -694, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, 69, -944, -944, -944, -944, -944, 77, -678, -944,
- -944, -944, -944, 76, -944, -944, -944, -944, -944, -944,
- -944, 47, -944, -944, -944, -944, -944, -944, -944, 68,
- -944, -944, -944, 66, 532, -944, -944, -944, -944, -944,
- -944, -944, 63, -944, -944, -944, -944, -944, -944, -943,
- -944, -944, -944, 97, -944, -944, -944, 100, 576, -944,
- -944, -942, -944, -941, -944, 41, -944, 45, -944, 40,
- -944, -944, -944, -935, -944, -944, -944, -944, 91, -944,
- -944, -128, 989, -944, -944, -944, -944, -944, 110, -944,
- -944, -944, 114, -944, 551, -944, -66, -944, -944, -944,
- -944, -944, -47, -944, -944, -944, -944, -944, 13, -944,
- -944, -944, 112, -944, -944, -944, 121, -944, 562, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- 56, -944, -944, -944, 65, 652, -944, -944, -55, -944,
- 1, -944, -944, -944, -944, -944, 58, -944, -944, -944,
- 59, 638, -944, -944, -944, -944, -944, -944, -944, -57,
- -944, -944, -944, 105, -944, -944, -944, 111, -944, 648,
- 367, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -934, -944, -944, -944, -944, -944,
- -944, -944, 119, -944, -944, -944, -98, -944, -944, -944,
- -944, -944, -944, -944, 93, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, 85, -944, -944,
- -944, -944, -944, -944, -944, 80, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, 386, 559, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
- -944, -944, -944, -944, -944, -944, -944, 427, 558, -944,
- -944, -944, -944, -944, -944, 82, -944, -944, -102, -944,
- -944, -944, -944, -944, -944, -122, -944, -944, -141, -944,
- -944, -944, -944, -944, -944, -944
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -10, -949, -549, -949,
+ 393, -949, -949, -949, -949, 345, -949, -580, -949, -949,
+ -949, -71, -949, -949, -949, -949, -949, -949, 372, 640,
+ -949, -949, -59, -43, -42, -40, -39, -28, -27, -26,
+ -23, -21, -15, -9, -3, -949, -1, 17, 18, 20,
+ -949, 384, 25, -949, 28, -949, 30, 32, 35, -949,
+ 38, -949, 40, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, 375, 576, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, 296, -949, 90, -949, -661, 98, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -67,
+ -949, -699, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, 76, -949, -949, -949, -949, -949, 81, -683,
+ -949, -949, -949, -949, 80, -949, -949, -949, -949, -949,
+ -949, -949, 50, -949, -949, -949, -949, -949, -949, -949,
+ 68, -949, -949, -949, 72, 538, -949, -949, -949, -949,
+ -949, -949, -949, 66, -949, -949, -949, -949, -949, -949,
+ -948, -949, -949, -949, 97, -949, -949, -949, 102, 597,
+ -949, -949, -947, -949, -946, -949, 44, -949, 48, -949,
+ 42, -949, -949, -949, -940, -949, -949, -949, -949, 92,
+ -949, -949, -122, 996, -949, -949, -949, -949, -949, 104,
+ -949, -949, -949, 105, -949, 558, -949, -66, -949, -949,
+ -949, -949, -949, -47, -949, -949, -949, -949, -949, 13,
+ -949, -949, -949, 116, -949, -949, -949, 117, -949, 570,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, 63, -949, -949, -949, 69, 641, -949, -949, -55,
+ -949, 1, -949, -949, -949, -949, -949, 59, -949, -949,
+ -949, 65, 654, -949, -949, -949, -949, -949, -949, -949,
+ -57, -949, -949, -949, 108, -949, -949, -949, 114, -949,
+ 657, 367, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -939, -949, -949, -949, -949,
+ -949, -949, -949, 118, -949, -949, -949, -96, -949, -949,
+ -949, -949, -949, -949, -949, 96, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, 91, -949,
+ -949, -949, -949, -949, -949, -949, 83, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, 389, 564, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
+ -949, -949, -949, -949, -949, -949, -949, -949, 430, 562,
+ -949, -949, -949, -949, -949, -949, 85, -949, -949, -100,
+ -949, -949, -949, -949, -949, -949, -119, -949, -949, -138,
+ -949, -949, -949, -949, -949, -949, -949
};
- const short
+ const short int
Dhcp6Parser::yydefgoto_[] =
{
-1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 83, 39, 40, 69,
- 693, 87, 88, 41, 68, 84, 85, 718, 919, 1025,
- 1026, 780, 43, 70, 90, 411, 45, 71, 149, 150,
- 151, 413, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 439, 686, 170, 440, 171, 441, 172, 173, 465, 174,
- 466, 175, 176, 177, 178, 433, 179, 180, 415, 47,
- 72, 210, 211, 212, 472, 213, 181, 416, 182, 417,
- 183, 418, 805, 806, 807, 958, 781, 782, 783, 936,
- 1174, 784, 937, 785, 938, 786, 939, 787, 788, 509,
- 789, 790, 791, 792, 793, 794, 795, 796, 797, 798,
- 945, 799, 800, 948, 801, 949, 802, 950, 184, 454,
- 839, 840, 841, 978, 185, 451, 826, 827, 828, 829,
- 186, 453, 834, 835, 836, 837, 187, 452, 188, 461,
- 887, 888, 889, 890, 891, 189, 457, 850, 851, 852,
- 987, 63, 80, 361, 362, 363, 522, 364, 523, 190,
- 458, 859, 860, 861, 862, 863, 864, 865, 866, 191,
- 444, 809, 810, 811, 961, 49, 73, 250, 251, 252,
- 478, 253, 479, 254, 480, 255, 484, 256, 483, 192,
- 449, 699, 258, 259, 193, 450, 821, 822, 823, 970,
- 1096, 1097, 194, 445, 57, 77, 813, 814, 815, 964,
- 59, 78, 326, 327, 328, 329, 330, 331, 332, 508,
- 333, 512, 334, 511, 335, 336, 513, 337, 195, 446,
- 817, 818, 819, 967, 61, 79, 347, 348, 349, 350,
- 351, 517, 352, 353, 354, 355, 261, 476, 921, 922,
- 923, 1027, 51, 74, 272, 273, 274, 488, 196, 447,
- 197, 448, 264, 477, 925, 926, 927, 1030, 53, 75,
- 288, 289, 290, 491, 291, 292, 493, 293, 294, 198,
- 456, 846, 847, 848, 984, 55, 76, 306, 307, 308,
- 309, 499, 310, 500, 311, 501, 312, 502, 313, 503,
- 314, 504, 315, 498, 266, 485, 930, 931, 1033, 199,
- 455, 843, 844, 981, 1114, 1115, 1116, 1117, 1118, 1189,
- 1119, 200, 459, 876, 877, 878, 998, 1198, 879, 880,
- 999, 881, 882, 201, 202, 462, 899, 900, 901, 1010,
- 902, 1011, 203, 463, 909, 910, 911, 912, 1015, 913,
- 914, 1017, 204, 464, 65, 81, 383, 384, 385, 386,
- 527, 387, 528, 388, 389, 530, 390, 391, 392, 533,
- 750, 393, 534, 394, 395, 396, 537, 397, 538, 398,
- 539, 399, 540, 205, 414, 67, 82, 402, 403, 404,
- 543, 405, 206, 468, 917, 918, 1021, 1157, 1158, 1159,
- 1160, 1206, 1161, 1204, 1225, 1226, 1227, 1235, 1236, 1237,
- 1243, 1238, 1239, 1240, 1241, 1247
+ 698, 87, 88, 41, 68, 84, 85, 723, 924, 1030,
+ 1031, 785, 43, 70, 90, 414, 45, 71, 150, 151,
+ 152, 416, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 442, 691, 171, 443, 172, 444, 173, 174, 175, 469,
+ 176, 470, 177, 178, 179, 180, 436, 181, 182, 418,
+ 47, 72, 212, 213, 214, 476, 215, 183, 419, 184,
+ 420, 185, 421, 810, 811, 812, 963, 786, 787, 788,
+ 941, 1180, 789, 942, 790, 943, 791, 944, 792, 793,
+ 513, 794, 795, 796, 797, 798, 799, 800, 801, 802,
+ 803, 950, 804, 805, 953, 806, 954, 807, 955, 186,
+ 458, 844, 845, 846, 983, 187, 455, 831, 832, 833,
+ 834, 188, 457, 839, 840, 841, 842, 189, 456, 190,
+ 465, 892, 893, 894, 895, 896, 191, 461, 855, 856,
+ 857, 992, 63, 80, 364, 365, 366, 526, 367, 527,
+ 192, 462, 864, 865, 866, 867, 868, 869, 870, 871,
+ 193, 448, 814, 815, 816, 966, 49, 73, 253, 254,
+ 255, 482, 256, 483, 257, 484, 258, 488, 259, 487,
+ 194, 453, 704, 261, 262, 195, 454, 826, 827, 828,
+ 975, 1102, 1103, 196, 449, 57, 77, 818, 819, 820,
+ 969, 59, 78, 329, 330, 331, 332, 333, 334, 335,
+ 512, 336, 516, 337, 515, 338, 339, 517, 340, 197,
+ 450, 822, 823, 824, 972, 61, 79, 350, 351, 352,
+ 353, 354, 521, 355, 356, 357, 358, 264, 480, 926,
+ 927, 928, 1032, 51, 74, 275, 276, 277, 492, 198,
+ 451, 199, 452, 267, 481, 930, 931, 932, 1035, 53,
+ 75, 291, 292, 293, 495, 294, 295, 497, 296, 297,
+ 200, 460, 851, 852, 853, 989, 55, 76, 309, 310,
+ 311, 312, 503, 313, 504, 314, 505, 315, 506, 316,
+ 507, 317, 508, 318, 502, 269, 489, 935, 936, 1038,
+ 201, 459, 848, 849, 986, 1120, 1121, 1122, 1123, 1124,
+ 1195, 1125, 202, 463, 881, 882, 883, 1003, 1204, 884,
+ 885, 1004, 886, 887, 203, 204, 466, 904, 905, 906,
+ 1015, 907, 1016, 205, 467, 914, 915, 916, 917, 1020,
+ 918, 919, 1022, 206, 468, 65, 81, 386, 387, 388,
+ 389, 531, 390, 532, 391, 392, 534, 393, 394, 395,
+ 537, 755, 396, 538, 397, 398, 399, 541, 400, 542,
+ 401, 543, 402, 544, 207, 417, 67, 82, 405, 406,
+ 407, 547, 408, 208, 472, 922, 923, 1026, 1163, 1164,
+ 1165, 1166, 1212, 1167, 1210, 1231, 1232, 1233, 1241, 1242,
+ 1243, 1249, 1244, 1245, 1246, 1247, 1253
};
- const short
+ const unsigned short int
Dhcp6Parser::yytable_[] =
{
- 148, 209, 226, 268, 282, 302, 38, 324, 343, 360,
- 380, 325, 344, 345, 227, 873, 265, 214, 262, 275,
- 286, 304, 803, 338, 356, 833, 381, 1089, 1090, 1091,
- 228, 229, 346, 230, 231, 1095, 1101, 30, 31, 824,
- 32, 692, 33, 125, 126, 232, 233, 234, 358, 359,
- 235, 42, 236, 724, 470, 207, 208, 474, 237, 471,
- 973, 296, 475, 974, 238, 730, 731, 732, 928, 44,
- 239, 46, 240, 215, 263, 276, 287, 305, 486, 339,
- 357, 124, 382, 487, 400, 401, 260, 271, 285, 303,
- 241, 242, 267, 243, 48, 883, 884, 885, 244, 125,
- 126, 245, 50, 246, 489, 247, 52, 692, 248, 490,
- 54, 249, 496, 257, 56, 269, 283, 497, 223, 270,
- 284, 224, 825, 58, 147, 60, 91, 92, 125, 126,
- 93, 125, 126, 94, 95, 96, 358, 359, 317, 318,
- 340, 319, 320, 341, 342, 1230, 748, 749, 1231, 1232,
- 1233, 1234, 147, 524, 62, 64, 125, 126, 525, 97,
+ 149, 211, 228, 271, 285, 305, 38, 327, 346, 363,
+ 383, 328, 347, 348, 229, 878, 268, 216, 265, 278,
+ 289, 307, 808, 341, 359, 838, 384, 1095, 1096, 1097,
+ 230, 231, 349, 232, 233, 1101, 1107, 829, 31, 30,
+ 32, 697, 33, 729, 299, 234, 235, 236, 361, 362,
+ 237, 933, 238, 753, 754, 735, 736, 737, 239, 686,
+ 687, 688, 689, 474, 240, 209, 210, 86, 475, 42,
+ 241, 44, 242, 217, 266, 279, 290, 308, 978, 342,
+ 360, 979, 385, 126, 127, 46, 263, 274, 288, 306,
+ 243, 244, 690, 245, 126, 127, 48, 478, 246, 126,
+ 127, 247, 479, 248, 490, 249, 50, 697, 250, 491,
+ 52, 251, 493, 252, 54, 260, 500, 494, 272, 286,
+ 830, 501, 273, 287, 148, 981, 91, 92, 982, 89,
+ 93, 528, 545, 94, 95, 96, 529, 546, 56, 126,
+ 127, 320, 908, 909, 910, 58, 888, 889, 890, 858,
+ 859, 860, 861, 862, 863, 899, 900, 403, 404, 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, 894, 895, 318,
- 976, 319, 320, 977, 86, 321, 322, 323, 853, 854,
- 855, 856, 857, 858, 125, 126, 125, 126, 147, 541,
- 545, 127, 66, 89, 542, 546, 128, 129, 130, 131,
- 132, 123, 133, 681, 682, 683, 684, 134, 407, 406,
- 470, 34, 35, 36, 37, 933, 135, 147, 408, 136,
- 147, 409, 545, 1089, 1090, 1091, 137, 934, 474, 867,
- 410, 1095, 1101, 935, 138, 139, 685, 982, 766, 140,
- 983, 1022, 141, 761, 1023, 147, 142, 419, 762, 763,
- 764, 765, 766, 767, 768, 769, 770, 771, 772, 773,
- 774, 775, 776, 777, 778, 779, 318, 143, 144, 145,
- 146, 125, 126, 124, 955, 955, 979, 506, 833, 956,
- 957, 980, 1056, 125, 126, 996, 124, 412, 420, 873,
- 997, 125, 126, 147, 318, 147, 421, 125, 126, 277,
- 278, 279, 280, 281, 125, 126, 422, 1003, 1008, 295,
- 124, 318, 1004, 1009, 423, 296, 297, 298, 299, 300,
- 301, 1228, 1012, 223, 1229, 424, 224, 1013, 125, 126,
- 903, 904, 905, 1018, 541, 955, 486, 1186, 1019, 1020,
- 1182, 1183, 1187, 868, 869, 870, 871, 425, 1107, 1108,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 524, 505, 1207, 507, 426, 1194,
- 1150, 1208, 1151, 1152, 427, 428, 489, 547, 548, 148,
- 906, 1210, 496, 209, 1248, 824, 831, 1211, 832, 1249,
- 429, 430, 147, 431, 432, 226, 434, 435, 268, 214,
- 147, 1195, 1196, 1197, 436, 282, 147, 227, 437, 265,
- 438, 262, 442, 147, 275, 302, 1170, 1171, 1172, 1173,
- 147, 286, 443, 228, 229, 324, 230, 231, 460, 325,
- 343, 304, 467, 469, 344, 345, 473, 147, 232, 233,
- 234, 338, 481, 235, 482, 236, 356, 492, 494, 495,
- 380, 237, 510, 514, 346, 215, 516, 238, 515, 695,
- 696, 697, 698, 239, 518, 240, 381, 263, 519, 520,
- 276, 521, 673, 526, 529, 531, 532, 287, 535, 260,
- 536, 544, 271, 241, 242, 549, 243, 305, 550, 285,
- 551, 244, 552, 553, 245, 554, 246, 339, 247, 303,
- 555, 248, 357, 556, 249, 557, 257, 558, 559, 571,
- 269, 560, 561, 562, 270, 563, 564, 283, 577, 578,
- 566, 284, 382, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 565, 567, 568, 569,
- 114, 115, 116, 117, 118, 119, 120, 121, 570, 572,
- 124, 573, 574, 579, 575, 576, 580, 581, 582, 583,
- 216, 584, 217, 585, 586, 587, 588, 589, 125, 126,
- 218, 219, 220, 221, 222, 127, 590, 591, 592, 593,
- 594, 595, 148, 596, 597, 209, 599, 223, 600, 605,
- 224, 134, 601, 602, 598, 603, 604, 606, 225, 608,
- 609, 214, 611, 612, 613, 614, 615, 618, 616, 619,
- 620, 617, 622, 624, 625, 626, 627, 630, 872, 886,
- 896, 628, 380, 631, 632, 633, 634, 635, 636, 638,
- 639, 641, 640, 642, 874, 892, 897, 907, 381, 643,
- 644, 646, 757, 647, 650, 651, 654, 648, 653, 655,
- 656, 143, 144, 657, 658, 659, 660, 215, 661, 662,
- 663, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 125, 126, 664, 147, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 665, 124, 318,
- 875, 893, 898, 908, 382, 666, 667, 669, 672, 670,
- 674, 680, 675, 676, 677, 678, 125, 126, 679, 219,
- 220, 687, 222, 127, 688, 689, 690, 691, 694, 700,
- 32, 701, 702, 703, 714, 223, 704, 705, 224, 706,
- 707, 715, 721, 708, 709, 710, 225, 365, 366, 367,
+ 118, 119, 120, 121, 122, 123, 124, 125, 872, 549,
+ 361, 362, 911, 321, 550, 322, 323, 771, 124, 324,
+ 325, 326, 474, 148, 549, 126, 127, 938, 148, 939,
+ 126, 127, 128, 1176, 1177, 1178, 1179, 129, 130, 131,
+ 132, 133, 478, 134, 60, 960, 960, 940, 135, 410,
+ 961, 962, 34, 35, 36, 37, 984, 136, 62, 987,
+ 137, 985, 988, 411, 1095, 1096, 1097, 138, 148, 1001,
+ 412, 64, 1101, 1107, 1002, 139, 140, 126, 127, 1027,
+ 141, 66, 1028, 142, 766, 829, 836, 143, 837, 767,
+ 768, 769, 770, 771, 772, 773, 774, 775, 776, 777,
+ 778, 779, 780, 781, 782, 783, 784, 1008, 144, 145,
+ 146, 147, 1009, 125, 1013, 1017, 1023, 413, 838, 1014,
+ 1018, 1024, 1061, 873, 874, 875, 876, 125, 545, 878,
+ 321, 126, 127, 1025, 148, 1234, 321, 409, 1235, 148,
+ 280, 281, 282, 283, 284, 126, 127, 126, 127, 298,
+ 125, 415, 422, 125, 321, 299, 300, 301, 302, 303,
+ 304, 270, 423, 424, 225, 960, 510, 226, 126, 127,
+ 1188, 126, 127, 1201, 1202, 1203, 321, 343, 322, 323,
+ 344, 345, 425, 490, 1192, 509, 148, 225, 1189, 1193,
+ 226, 1113, 1114, 126, 127, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 1236,
+ 426, 528, 1237, 1238, 1239, 1240, 1200, 1213, 511, 493,
+ 551, 552, 1214, 149, 1216, 500, 1254, 211, 427, 428,
+ 1217, 1255, 429, 430, 1156, 431, 1157, 1158, 432, 228,
+ 148, 433, 271, 216, 700, 701, 702, 703, 434, 285,
+ 435, 229, 437, 268, 148, 265, 148, 438, 278, 305,
+ 439, 440, 148, 441, 445, 289, 446, 230, 231, 327,
+ 232, 233, 447, 328, 346, 307, 464, 148, 347, 348,
+ 148, 471, 234, 235, 236, 341, 473, 237, 477, 238,
+ 359, 485, 486, 496, 383, 239, 498, 499, 349, 217,
+ 514, 240, 148, 518, 520, 519, 522, 241, 523, 242,
+ 384, 266, 525, 524, 279, 530, 533, 535, 536, 539,
+ 540, 290, 548, 263, 554, 553, 274, 243, 244, 561,
+ 245, 308, 555, 288, 556, 246, 557, 558, 247, 559,
+ 248, 342, 249, 306, 560, 250, 360, 562, 251, 563,
+ 252, 564, 260, 565, 566, 567, 568, 272, 575, 569,
+ 573, 273, 570, 581, 286, 571, 385, 572, 287, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 574, 576, 577, 582, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 578, 579, 125, 580, 583,
+ 584, 585, 586, 587, 588, 589, 590, 218, 591, 219,
+ 592, 593, 594, 595, 596, 126, 127, 220, 221, 222,
+ 223, 224, 128, 597, 598, 599, 600, 149, 601, 602,
+ 211, 604, 603, 605, 225, 606, 607, 226, 135, 608,
+ 609, 610, 611, 613, 614, 227, 216, 126, 127, 616,
+ 617, 618, 619, 620, 621, 623, 624, 622, 625, 627,
+ 629, 630, 631, 877, 891, 901, 632, 383, 635, 633,
+ 636, 637, 638, 639, 640, 641, 643, 644, 645, 879,
+ 897, 902, 912, 384, 646, 647, 648, 762, 649, 651,
+ 655, 656, 652, 653, 659, 660, 658, 662, 144, 145,
+ 661, 665, 217, 663, 666, 669, 664, 670, 671, 667,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 711, 712, 713, 716, 717, 719, 720, 378, 379, 726,
- 756, 804, 722, 723, 725, 727, 728, 729, 733, 734,
- 808, 812, 816, 820, 838, 842, 735, 845, 849, 736,
- 916, 737, 751, 147, 738, 739, 920, 924, 740, 143,
- 144, 940, 741, 941, 742, 743, 942, 943, 944, 946,
- 947, 951, 745, 952, 953, 746, 954, 959, 747, 960,
- 753, 962, 754, 963, 755, 147, 966, 965, 968, 969,
- 971, 972, 744, 975, 986, 985, 988, 989, 1024, 990,
- 991, 992, 993, 994, 995, 1000, 1001, 1002, 1005, 1006,
- 1007, 1014, 1016, 1029, 1041, 1028, 1032, 1031, 1036, 1040,
- 1034, 1035, 1037, 1038, 1039, 1042, 1043, 1044, 1045, 1046,
- 1047, 1048, 1049, 1050, 1051, 1052, 1105, 1132, 1053, 1054,
- 226, 1133, 1125, 324, 1126, 1127, 343, 325, 1128, 1064,
- 344, 345, 227, 1088, 265, 1129, 262, 1130, 1134, 338,
- 1109, 1065, 356, 302, 1110, 1099, 360, 1142, 228, 229,
- 346, 230, 231, 1135, 1136, 1139, 1112, 1066, 1067, 304,
- 1068, 1069, 872, 232, 233, 234, 1138, 886, 235, 1140,
- 236, 896, 1070, 1071, 1072, 1143, 237, 1073, 874, 1074,
- 1153, 1145, 238, 892, 1154, 1075, 268, 897, 239, 282,
- 240, 1076, 263, 907, 1146, 339, 1155, 1077, 357, 1078,
- 1148, 1100, 275, 1163, 260, 286, 1147, 1164, 241, 242,
- 1169, 243, 1113, 1098, 1190, 305, 244, 1079, 1080, 245,
- 1081, 246, 1175, 247, 1111, 1082, 248, 303, 1083, 249,
- 1084, 257, 1085, 1176, 875, 1086, 1177, 1184, 1087, 893,
- 1094, 1092, 1185, 898, 1191, 1093, 1178, 1192, 1193, 908,
- 1205, 1179, 1156, 1214, 1217, 1180, 1181, 1188, 276, 1219,
- 1224, 287, 1222, 1199, 1244, 1245, 1246, 1250, 1254, 758,
- 271, 1200, 607, 285, 830, 610, 1057, 1055, 1106, 752,
- 1103, 932, 1104, 1123, 760, 1141, 652, 1124, 1213, 1131,
- 1059, 1058, 621, 1102, 1201, 1202, 316, 645, 269, 1209,
- 1212, 283, 270, 1221, 1215, 284, 1061, 1251, 1060, 1218,
- 1252, 1063, 1223, 649, 1253, 1166, 1256, 1257, 1062, 1167,
- 1168, 1122, 1165, 929, 1216, 1121, 1137, 1144, 1149, 915,
- 668, 1120, 759, 671, 1162, 1220, 1242, 1255, 0, 0,
- 0, 0, 0, 0, 0, 1064, 0, 0, 0, 1088,
- 0, 1109, 0, 0, 0, 1110, 0, 1065, 0, 0,
- 0, 1099, 0, 0, 629, 0, 1153, 1112, 1203, 0,
- 1154, 623, 0, 1066, 1067, 0, 1068, 1069, 0, 0,
- 0, 0, 1155, 0, 637, 0, 0, 0, 1070, 1071,
- 1072, 0, 0, 1073, 0, 1074, 0, 0, 0, 0,
- 0, 1075, 0, 0, 0, 0, 0, 1076, 0, 0,
- 0, 0, 0, 1077, 0, 1078, 0, 1100, 0, 0,
- 0, 0, 0, 1113, 0, 0, 0, 0, 0, 1098,
- 0, 0, 0, 1079, 1080, 1111, 1081, 0, 1156, 0,
- 0, 1082, 0, 0, 1083, 0, 1084, 0, 1085, 0,
- 0, 1086, 0, 0, 1087, 0, 1094, 1092, 0, 0,
- 0, 1093
+ 378, 379, 380, 668, 148, 672, 674, 675, 677, 756,
+ 381, 382, 678, 679, 680, 880, 898, 903, 913, 385,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 681, 682, 683, 148, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 684, 125, 321,
+ 685, 692, 693, 694, 695, 696, 699, 705, 32, 706,
+ 707, 708, 719, 710, 709, 711, 126, 127, 712, 221,
+ 222, 713, 224, 128, 714, 715, 716, 717, 718, 721,
+ 722, 724, 720, 725, 726, 225, 731, 761, 226, 843,
+ 727, 728, 730, 732, 733, 734, 227, 738, 809, 813,
+ 817, 821, 739, 825, 847, 740, 850, 741, 854, 742,
+ 921, 925, 743, 744, 929, 945, 745, 946, 947, 746,
+ 747, 748, 750, 751, 948, 949, 951, 952, 956, 752,
+ 957, 958, 758, 959, 964, 965, 759, 967, 760, 968,
+ 970, 971, 974, 973, 977, 1045, 976, 991, 980, 144,
+ 145, 990, 993, 994, 1029, 995, 996, 997, 998, 999,
+ 1000, 1005, 1006, 1007, 1010, 1011, 1012, 1019, 1021, 1034,
+ 1046, 1033, 1037, 1036, 1041, 148, 1039, 1040, 1042, 1043,
+ 1044, 1048, 1050, 1053, 1054, 1047, 1049, 1051, 1052, 1055,
+ 1056, 1057, 1111, 1059, 1058, 228, 1131, 1132, 327, 1133,
+ 1134, 346, 328, 1135, 1069, 347, 348, 229, 1094, 268,
+ 1136, 265, 1138, 1139, 341, 1115, 1070, 359, 305, 1116,
+ 1105, 363, 1140, 230, 231, 349, 232, 233, 1148, 1141,
+ 1142, 1118, 1071, 1072, 307, 1073, 1074, 877, 234, 235,
+ 236, 1144, 891, 237, 1145, 238, 901, 1075, 1076, 1077,
+ 1149, 239, 1078, 879, 1079, 1159, 1152, 240, 897, 1160,
+ 1080, 271, 902, 241, 285, 242, 1081, 266, 912, 1154,
+ 342, 1161, 1082, 360, 1083, 1151, 1106, 278, 1169, 263,
+ 289, 1146, 1170, 243, 244, 1153, 245, 1119, 1104, 1175,
+ 308, 246, 1084, 1085, 247, 1086, 248, 1181, 249, 1117,
+ 1087, 250, 306, 1088, 251, 1089, 252, 1090, 260, 880,
+ 1091, 1182, 1190, 1092, 898, 1093, 1183, 1100, 903, 1098,
+ 1191, 1196, 1197, 1099, 913, 1198, 1199, 1162, 1211, 1184,
+ 1220, 1223, 1185, 279, 1186, 1225, 290, 1228, 1250, 1251,
+ 1230, 1252, 1187, 1256, 1260, 274, 1194, 1205, 288, 749,
+ 763, 1221, 835, 757, 615, 1062, 765, 937, 1060, 1109,
+ 1112, 1110, 1130, 1147, 1129, 1064, 657, 1137, 1063, 1108,
+ 1219, 1206, 1207, 319, 1065, 1066, 272, 1224, 650, 286,
+ 273, 1208, 1215, 287, 1258, 1218, 1227, 626, 1229, 1067,
+ 1068, 1259, 1257, 1262, 1263, 654, 1174, 1172, 934, 1128,
+ 1173, 1171, 1222, 1127, 1143, 1126, 1155, 920, 1150, 673,
+ 764, 676, 1168, 1226, 612, 1248, 1261, 0, 0, 0,
+ 0, 1069, 0, 0, 0, 1094, 0, 1115, 0, 0,
+ 0, 1116, 0, 1070, 628, 0, 0, 1105, 0, 0,
+ 0, 0, 1159, 1118, 1209, 0, 1160, 0, 0, 1071,
+ 1072, 0, 1073, 1074, 634, 0, 0, 0, 1161, 0,
+ 0, 0, 0, 0, 1075, 1076, 1077, 642, 0, 1078,
+ 0, 1079, 0, 0, 0, 0, 0, 1080, 0, 0,
+ 0, 0, 0, 1081, 0, 0, 0, 0, 0, 1082,
+ 0, 1083, 0, 1106, 0, 0, 0, 0, 0, 1119,
+ 0, 0, 0, 0, 0, 1104, 0, 0, 0, 1084,
+ 1085, 1117, 1086, 0, 1162, 0, 0, 1087, 0, 0,
+ 1088, 0, 1089, 0, 1090, 0, 0, 1091, 0, 0,
+ 1092, 0, 1093, 0, 1100, 0, 1098, 0, 0, 0,
+ 1099
};
- const short
+ const short int
Dhcp6Parser::yycheck_[] =
{
71, 72, 73, 74, 75, 76, 16, 78, 79, 80,
- 81, 78, 79, 79, 73, 709, 73, 72, 73, 74,
- 75, 76, 678, 78, 79, 703, 81, 970, 970, 970,
- 73, 73, 79, 73, 73, 970, 970, 0, 5, 115,
- 7, 585, 9, 89, 90, 73, 73, 73, 122, 123,
- 73, 7, 73, 618, 3, 16, 17, 3, 73, 8,
- 3, 113, 8, 6, 73, 630, 631, 632, 120, 7,
+ 81, 78, 79, 79, 73, 714, 73, 72, 73, 74,
+ 75, 76, 683, 78, 79, 708, 81, 975, 975, 975,
+ 73, 73, 79, 73, 73, 975, 975, 116, 5, 0,
+ 7, 590, 9, 623, 114, 73, 73, 73, 123, 124,
+ 73, 121, 73, 166, 167, 635, 636, 637, 73, 169,
+ 170, 171, 172, 3, 73, 16, 17, 199, 8, 7,
73, 7, 73, 72, 73, 74, 75, 76, 3, 78,
- 79, 71, 81, 8, 13, 14, 73, 74, 75, 76,
- 73, 73, 82, 73, 7, 141, 142, 143, 73, 89,
- 90, 73, 7, 73, 3, 73, 7, 651, 73, 8,
- 7, 73, 3, 73, 7, 74, 75, 8, 108, 74,
- 75, 111, 198, 7, 198, 7, 11, 12, 89, 90,
- 15, 89, 90, 18, 19, 20, 122, 123, 21, 72,
- 73, 74, 75, 76, 77, 177, 165, 166, 180, 181,
- 182, 183, 198, 3, 7, 7, 89, 90, 8, 44,
+ 79, 6, 81, 90, 91, 7, 73, 74, 75, 76,
+ 73, 73, 202, 73, 90, 91, 7, 3, 73, 90,
+ 91, 73, 8, 73, 3, 73, 7, 656, 73, 8,
+ 7, 73, 3, 73, 7, 73, 3, 8, 74, 75,
+ 199, 8, 74, 75, 199, 3, 11, 12, 6, 10,
+ 15, 3, 3, 18, 19, 20, 8, 8, 7, 90,
+ 91, 21, 149, 150, 151, 7, 142, 143, 144, 126,
+ 127, 128, 129, 130, 131, 146, 147, 13, 14, 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, 145, 146, 72,
- 3, 74, 75, 6, 198, 78, 79, 80, 125, 126,
- 127, 128, 129, 130, 89, 90, 89, 90, 198, 3,
- 3, 96, 7, 10, 8, 8, 101, 102, 103, 104,
- 105, 70, 107, 168, 169, 170, 171, 112, 3, 6,
- 3, 198, 199, 200, 201, 8, 121, 198, 4, 124,
- 198, 8, 3, 1186, 1186, 1186, 131, 8, 3, 21,
- 3, 1186, 1186, 8, 139, 140, 201, 3, 30, 144,
- 6, 3, 147, 21, 6, 198, 151, 4, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 72, 172, 173, 174,
- 175, 89, 90, 71, 3, 3, 3, 3, 976, 8,
- 8, 8, 958, 89, 90, 3, 71, 8, 4, 1003,
- 8, 89, 90, 198, 72, 198, 4, 89, 90, 84,
- 85, 86, 87, 88, 89, 90, 4, 3, 3, 107,
- 71, 72, 8, 8, 4, 113, 114, 115, 116, 117,
- 118, 3, 3, 108, 6, 4, 111, 8, 89, 90,
- 148, 149, 150, 3, 3, 3, 3, 3, 8, 8,
- 8, 8, 8, 135, 136, 137, 138, 4, 109, 110,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 3, 8, 3, 8, 4, 8,
- 176, 8, 178, 179, 4, 4, 3, 407, 408, 470,
- 198, 8, 3, 474, 3, 115, 116, 8, 118, 8,
- 4, 4, 198, 4, 4, 486, 4, 4, 489, 474,
- 198, 132, 133, 134, 4, 496, 198, 486, 4, 486,
- 4, 486, 4, 198, 489, 506, 22, 23, 24, 25,
- 198, 496, 4, 486, 486, 516, 486, 486, 4, 516,
- 521, 506, 4, 4, 521, 521, 4, 198, 486, 486,
- 486, 516, 4, 486, 4, 486, 521, 4, 4, 4,
- 541, 486, 4, 4, 521, 474, 3, 486, 8, 97,
- 98, 99, 100, 486, 4, 486, 541, 486, 4, 8,
- 489, 3, 7, 4, 4, 4, 4, 496, 4, 486,
- 4, 4, 489, 486, 486, 198, 486, 506, 4, 496,
- 4, 486, 4, 4, 486, 4, 486, 516, 486, 506,
- 4, 486, 521, 4, 486, 199, 486, 199, 199, 4,
- 489, 199, 199, 199, 489, 199, 199, 496, 4, 4,
- 200, 496, 541, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 201, 200, 200, 199,
- 61, 62, 63, 64, 65, 66, 67, 68, 199, 199,
- 71, 199, 201, 4, 201, 201, 201, 201, 4, 4,
- 81, 4, 83, 4, 4, 4, 4, 4, 89, 90,
- 91, 92, 93, 94, 95, 96, 4, 4, 4, 4,
- 4, 4, 673, 4, 4, 676, 4, 108, 4, 201,
- 111, 112, 4, 4, 199, 4, 4, 4, 119, 4,
- 201, 676, 4, 4, 4, 4, 4, 4, 199, 4,
- 4, 201, 4, 4, 199, 4, 199, 4, 709, 710,
- 711, 199, 713, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 199, 4, 709, 710, 711, 712, 713, 4,
- 201, 4, 672, 201, 4, 4, 4, 201, 201, 4,
- 199, 172, 173, 4, 199, 199, 4, 676, 4, 201,
- 201, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 89, 90, 4, 198, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 4, 71, 72,
- 709, 710, 711, 712, 713, 4, 4, 4, 4, 199,
- 198, 198, 7, 7, 7, 7, 89, 90, 5, 92,
- 93, 198, 95, 96, 198, 5, 5, 5, 198, 5,
- 7, 5, 5, 5, 198, 108, 7, 5, 111, 5,
- 5, 198, 198, 7, 7, 7, 119, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 7, 7, 7, 5, 5, 5, 5, 172, 173, 7,
- 5, 7, 198, 198, 198, 198, 198, 198, 198, 198,
- 7, 7, 7, 7, 106, 7, 198, 7, 7, 198,
- 7, 198, 167, 198, 198, 198, 7, 7, 198, 172,
- 173, 4, 198, 4, 198, 198, 4, 4, 4, 4,
- 4, 4, 198, 4, 4, 198, 4, 6, 198, 3,
- 198, 6, 198, 3, 198, 198, 3, 6, 6, 3,
- 6, 3, 651, 6, 3, 6, 6, 3, 198, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 3, 201, 6, 3, 6, 4, 199,
- 8, 6, 4, 4, 4, 199, 201, 199, 4, 199,
- 199, 4, 4, 4, 199, 199, 4, 4, 201, 199,
- 961, 4, 199, 964, 199, 199, 967, 964, 199, 970,
- 967, 967, 961, 970, 961, 199, 961, 199, 199, 964,
- 981, 970, 967, 984, 981, 970, 987, 4, 961, 961,
- 967, 961, 961, 199, 199, 199, 981, 970, 970, 984,
- 970, 970, 1003, 961, 961, 961, 201, 1008, 961, 199,
- 961, 1012, 970, 970, 970, 4, 961, 970, 1003, 970,
- 1021, 201, 961, 1008, 1021, 970, 1027, 1012, 961, 1030,
- 961, 970, 961, 1018, 4, 964, 1021, 970, 967, 970,
- 4, 970, 1027, 6, 961, 1030, 199, 3, 961, 961,
- 4, 961, 981, 970, 4, 984, 961, 970, 970, 961,
- 970, 961, 198, 961, 981, 970, 961, 984, 970, 961,
- 970, 961, 970, 198, 1003, 970, 198, 8, 970, 1008,
- 970, 970, 8, 1012, 8, 970, 198, 3, 8, 1018,
- 4, 198, 1021, 4, 4, 198, 198, 198, 1027, 4,
- 7, 1030, 5, 198, 4, 4, 4, 4, 4, 673,
- 1027, 198, 470, 1030, 702, 474, 960, 955, 979, 664,
- 973, 756, 976, 987, 676, 1008, 524, 989, 1186, 996,
- 963, 961, 486, 972, 198, 198, 77, 516, 1027, 198,
- 198, 1030, 1027, 198, 201, 1030, 966, 201, 964, 199,
- 199, 969, 198, 521, 199, 1029, 198, 198, 967, 1030,
- 1032, 986, 1027, 726, 1192, 984, 1003, 1012, 1018, 713,
- 541, 982, 675, 545, 1022, 1207, 1228, 1248, -1, -1,
- -1, -1, -1, -1, -1, 1186, -1, -1, -1, 1186,
- -1, 1192, -1, -1, -1, 1192, -1, 1186, -1, -1,
- -1, 1186, -1, -1, 496, -1, 1207, 1192, 1148, -1,
- 1207, 489, -1, 1186, 1186, -1, 1186, 1186, -1, -1,
- -1, -1, 1207, -1, 506, -1, -1, -1, 1186, 1186,
- 1186, -1, -1, 1186, -1, 1186, -1, -1, -1, -1,
- -1, 1186, -1, -1, -1, -1, -1, 1186, -1, -1,
- -1, -1, -1, 1186, -1, 1186, -1, 1186, -1, -1,
- -1, -1, -1, 1192, -1, -1, -1, -1, -1, 1186,
- -1, -1, -1, 1186, 1186, 1192, 1186, -1, 1207, -1,
- -1, 1186, -1, -1, 1186, -1, 1186, -1, 1186, -1,
- -1, 1186, -1, -1, 1186, -1, 1186, 1186, -1, -1,
- -1, 1186
+ 65, 66, 67, 68, 69, 70, 71, 72, 21, 3,
+ 123, 124, 199, 73, 8, 75, 76, 30, 71, 79,
+ 80, 81, 3, 199, 3, 90, 91, 8, 199, 8,
+ 90, 91, 97, 22, 23, 24, 25, 102, 103, 104,
+ 105, 106, 3, 108, 7, 3, 3, 8, 113, 3,
+ 8, 8, 199, 200, 201, 202, 3, 122, 7, 3,
+ 125, 8, 6, 4, 1192, 1192, 1192, 132, 199, 3,
+ 8, 7, 1192, 1192, 8, 140, 141, 90, 91, 3,
+ 145, 7, 6, 148, 21, 116, 117, 152, 119, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 3, 173, 174,
+ 175, 176, 8, 72, 3, 3, 3, 3, 981, 8,
+ 8, 8, 963, 136, 137, 138, 139, 72, 3, 1008,
+ 73, 90, 91, 8, 199, 3, 73, 6, 6, 199,
+ 85, 86, 87, 88, 89, 90, 91, 90, 91, 108,
+ 72, 8, 4, 72, 73, 114, 115, 116, 117, 118,
+ 119, 83, 4, 4, 109, 3, 3, 112, 90, 91,
+ 8, 90, 91, 133, 134, 135, 73, 74, 75, 76,
+ 77, 78, 4, 3, 3, 8, 199, 109, 8, 8,
+ 112, 110, 111, 90, 91, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 178,
+ 4, 3, 181, 182, 183, 184, 8, 3, 8, 3,
+ 410, 411, 8, 474, 8, 3, 3, 478, 4, 4,
+ 8, 8, 4, 4, 177, 4, 179, 180, 4, 490,
+ 199, 4, 493, 478, 98, 99, 100, 101, 4, 500,
+ 4, 490, 4, 490, 199, 490, 199, 4, 493, 510,
+ 4, 4, 199, 4, 4, 500, 4, 490, 490, 520,
+ 490, 490, 4, 520, 525, 510, 4, 199, 525, 525,
+ 199, 4, 490, 490, 490, 520, 4, 490, 4, 490,
+ 525, 4, 4, 4, 545, 490, 4, 4, 525, 478,
+ 4, 490, 199, 4, 3, 8, 4, 490, 4, 490,
+ 545, 490, 3, 8, 493, 4, 4, 4, 4, 4,
+ 4, 500, 4, 490, 4, 199, 493, 490, 490, 200,
+ 490, 510, 4, 500, 4, 490, 4, 4, 490, 4,
+ 490, 520, 490, 510, 4, 490, 525, 200, 490, 200,
+ 490, 200, 490, 200, 200, 200, 200, 493, 4, 202,
+ 200, 493, 201, 4, 500, 201, 545, 201, 500, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 200, 200, 200, 4, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 202, 202, 72, 202, 4,
+ 202, 202, 202, 4, 4, 4, 4, 82, 4, 84,
+ 4, 4, 4, 4, 4, 90, 91, 92, 93, 94,
+ 95, 96, 97, 4, 4, 4, 4, 678, 4, 4,
+ 681, 4, 200, 4, 109, 4, 4, 112, 113, 4,
+ 4, 202, 4, 4, 202, 120, 681, 90, 91, 4,
+ 4, 4, 4, 4, 200, 4, 4, 202, 4, 4,
+ 4, 200, 4, 714, 715, 716, 200, 718, 4, 200,
+ 4, 4, 4, 4, 4, 4, 4, 4, 200, 714,
+ 715, 716, 717, 718, 4, 4, 4, 677, 202, 4,
+ 4, 4, 202, 202, 4, 4, 202, 4, 173, 174,
+ 200, 4, 681, 200, 4, 4, 200, 4, 4, 202,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 202, 199, 4, 4, 200, 4, 168,
+ 173, 174, 7, 199, 7, 714, 715, 716, 717, 718,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 7, 7, 7, 199, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 5, 72, 73,
+ 199, 199, 199, 5, 5, 5, 199, 5, 7, 5,
+ 5, 5, 199, 5, 7, 5, 90, 91, 5, 93,
+ 94, 7, 96, 97, 7, 7, 7, 7, 7, 5,
+ 5, 5, 199, 5, 199, 109, 7, 5, 112, 107,
+ 199, 199, 199, 199, 199, 199, 120, 199, 7, 7,
+ 7, 7, 199, 7, 7, 199, 7, 199, 7, 199,
+ 7, 7, 199, 199, 7, 4, 199, 4, 4, 199,
+ 199, 199, 199, 199, 4, 4, 4, 4, 4, 199,
+ 4, 4, 199, 4, 6, 3, 199, 6, 199, 3,
+ 6, 3, 3, 6, 3, 200, 6, 3, 6, 173,
+ 174, 6, 6, 3, 199, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 3,
+ 202, 6, 3, 6, 4, 199, 8, 6, 4, 4,
+ 4, 202, 4, 4, 4, 200, 200, 200, 200, 4,
+ 200, 200, 4, 200, 202, 966, 200, 200, 969, 200,
+ 200, 972, 969, 200, 975, 972, 972, 966, 975, 966,
+ 200, 966, 4, 4, 969, 986, 975, 972, 989, 986,
+ 975, 992, 200, 966, 966, 972, 966, 966, 4, 200,
+ 200, 986, 975, 975, 989, 975, 975, 1008, 966, 966,
+ 966, 202, 1013, 966, 200, 966, 1017, 975, 975, 975,
+ 4, 966, 975, 1008, 975, 1026, 4, 966, 1013, 1026,
+ 975, 1032, 1017, 966, 1035, 966, 975, 966, 1023, 4,
+ 969, 1026, 975, 972, 975, 202, 975, 1032, 6, 966,
+ 1035, 200, 3, 966, 966, 200, 966, 986, 975, 4,
+ 989, 966, 975, 975, 966, 975, 966, 199, 966, 986,
+ 975, 966, 989, 975, 966, 975, 966, 975, 966, 1008,
+ 975, 199, 8, 975, 1013, 975, 199, 975, 1017, 975,
+ 8, 4, 8, 975, 1023, 3, 8, 1026, 4, 199,
+ 4, 4, 199, 1032, 199, 4, 1035, 5, 4, 4,
+ 7, 4, 199, 4, 4, 1032, 199, 199, 1035, 656,
+ 678, 202, 707, 669, 478, 965, 681, 761, 960, 978,
+ 984, 981, 994, 1013, 992, 968, 528, 1001, 966, 977,
+ 1192, 199, 199, 77, 969, 971, 1032, 200, 520, 1035,
+ 1032, 199, 199, 1035, 200, 199, 199, 490, 199, 972,
+ 974, 200, 202, 199, 199, 525, 1037, 1034, 731, 991,
+ 1035, 1032, 1198, 989, 1008, 987, 1023, 718, 1017, 545,
+ 680, 549, 1027, 1213, 474, 1234, 1254, -1, -1, -1,
+ -1, 1192, -1, -1, -1, 1192, -1, 1198, -1, -1,
+ -1, 1198, -1, 1192, 493, -1, -1, 1192, -1, -1,
+ -1, -1, 1213, 1198, 1154, -1, 1213, -1, -1, 1192,
+ 1192, -1, 1192, 1192, 500, -1, -1, -1, 1213, -1,
+ -1, -1, -1, -1, 1192, 1192, 1192, 510, -1, 1192,
+ -1, 1192, -1, -1, -1, -1, -1, 1192, -1, -1,
+ -1, -1, -1, 1192, -1, -1, -1, -1, -1, 1192,
+ -1, 1192, -1, 1192, -1, -1, -1, -1, -1, 1198,
+ -1, -1, -1, -1, -1, 1192, -1, -1, -1, 1192,
+ 1192, 1198, 1192, -1, 1213, -1, -1, 1192, -1, -1,
+ 1192, -1, 1192, -1, 1192, -1, -1, 1192, -1, -1,
+ 1192, -1, 1192, -1, 1192, -1, 1192, -1, -1, -1,
+ 1192
};
- const short
+ const unsigned short int
Dhcp6Parser::yystos_[] =
{
- 0, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 0, 5, 7, 9, 198, 199, 200, 201, 218, 219,
- 220, 225, 7, 234, 7, 238, 7, 281, 7, 387,
- 7, 464, 7, 480, 7, 497, 7, 416, 7, 422,
- 7, 446, 7, 363, 7, 566, 7, 597, 226, 221,
- 235, 239, 282, 388, 465, 481, 498, 417, 423, 447,
- 364, 567, 598, 218, 227, 228, 198, 223, 224, 10,
- 236, 11, 12, 15, 18, 19, 20, 44, 45, 46,
+ 0, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 5, 7, 9, 199, 200, 201, 202, 219, 220,
+ 221, 226, 7, 235, 7, 239, 7, 283, 7, 389,
+ 7, 466, 7, 482, 7, 499, 7, 418, 7, 424,
+ 7, 448, 7, 365, 7, 568, 7, 599, 227, 222,
+ 236, 240, 284, 390, 467, 483, 500, 419, 425, 449,
+ 366, 569, 600, 219, 228, 229, 199, 224, 225, 10,
+ 237, 11, 12, 15, 18, 19, 20, 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, 89, 90, 96, 101, 102,
- 103, 104, 105, 107, 112, 121, 124, 131, 139, 140,
- 144, 147, 151, 172, 173, 174, 175, 198, 233, 240,
- 241, 242, 244, 245, 246, 247, 248, 249, 250, 251,
+ 67, 68, 69, 70, 71, 72, 90, 91, 97, 102,
+ 103, 104, 105, 106, 108, 113, 122, 125, 132, 140,
+ 141, 145, 148, 152, 173, 174, 175, 176, 199, 234,
+ 241, 242, 243, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 264, 266, 268, 269, 271, 273, 274, 275, 276, 278,
- 279, 288, 290, 292, 330, 336, 342, 348, 350, 357,
- 371, 381, 401, 406, 414, 440, 470, 472, 491, 521,
- 533, 545, 546, 554, 564, 595, 604, 16, 17, 233,
- 283, 284, 285, 287, 470, 472, 81, 83, 91, 92,
- 93, 94, 95, 108, 111, 119, 233, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 258, 259, 260, 261, 264, 266, 268, 269, 271, 273,
- 389, 390, 391, 393, 395, 397, 399, 401, 404, 405,
- 440, 458, 470, 472, 474, 491, 516, 82, 233, 397,
- 399, 440, 466, 467, 468, 470, 472, 84, 85, 86,
- 87, 88, 233, 397, 399, 440, 470, 472, 482, 483,
- 484, 486, 487, 489, 490, 107, 113, 114, 115, 116,
- 117, 118, 233, 440, 470, 472, 499, 500, 501, 502,
- 504, 506, 508, 510, 512, 514, 414, 21, 72, 74,
- 75, 78, 79, 80, 233, 310, 424, 425, 426, 427,
- 428, 429, 430, 432, 434, 436, 437, 439, 470, 472,
- 73, 76, 77, 233, 310, 428, 434, 448, 449, 450,
- 451, 452, 454, 455, 456, 457, 470, 472, 122, 123,
- 233, 365, 366, 367, 369, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 172, 173,
- 233, 470, 472, 568, 569, 570, 571, 573, 575, 576,
- 578, 579, 580, 583, 585, 586, 587, 589, 591, 593,
- 13, 14, 599, 600, 601, 603, 6, 3, 4, 8,
- 3, 237, 8, 243, 596, 280, 289, 291, 293, 4,
+ 262, 265, 267, 269, 270, 271, 273, 275, 276, 277,
+ 278, 280, 281, 290, 292, 294, 332, 338, 344, 350,
+ 352, 359, 373, 383, 403, 408, 416, 442, 472, 474,
+ 493, 523, 535, 547, 548, 556, 566, 597, 606, 16,
+ 17, 234, 285, 286, 287, 289, 472, 474, 82, 84,
+ 92, 93, 94, 95, 96, 109, 112, 120, 234, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 259, 260, 261, 262, 265, 267, 269, 270,
+ 271, 273, 275, 391, 392, 393, 395, 397, 399, 401,
+ 403, 406, 407, 442, 460, 472, 474, 476, 493, 518,
+ 83, 234, 399, 401, 442, 468, 469, 470, 472, 474,
+ 85, 86, 87, 88, 89, 234, 399, 401, 442, 472,
+ 474, 484, 485, 486, 488, 489, 491, 492, 108, 114,
+ 115, 116, 117, 118, 119, 234, 442, 472, 474, 501,
+ 502, 503, 504, 506, 508, 510, 512, 514, 516, 416,
+ 21, 73, 75, 76, 79, 80, 81, 234, 312, 426,
+ 427, 428, 429, 430, 431, 432, 434, 436, 438, 439,
+ 441, 472, 474, 74, 77, 78, 234, 312, 430, 436,
+ 450, 451, 452, 453, 454, 456, 457, 458, 459, 472,
+ 474, 123, 124, 234, 367, 368, 369, 371, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 173, 174, 234, 472, 474, 570, 571, 572, 573,
+ 575, 577, 578, 580, 581, 582, 585, 587, 588, 589,
+ 591, 593, 595, 13, 14, 601, 602, 603, 605, 6,
+ 3, 4, 8, 3, 238, 8, 244, 598, 282, 291,
+ 293, 295, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 279, 4, 4, 4,
+ 4, 4, 263, 266, 268, 4, 4, 4, 384, 417,
+ 443, 473, 475, 404, 409, 339, 351, 345, 333, 524,
+ 494, 360, 374, 536, 4, 353, 549, 557, 567, 272,
+ 274, 4, 607, 4, 3, 8, 288, 4, 3, 8,
+ 461, 477, 394, 396, 398, 4, 4, 402, 400, 519,
+ 3, 8, 471, 3, 8, 487, 4, 490, 4, 4,
+ 3, 8, 517, 505, 507, 509, 511, 513, 515, 8,
+ 3, 8, 433, 313, 4, 437, 435, 440, 4, 8,
+ 3, 455, 4, 4, 8, 3, 370, 372, 3, 8,
+ 4, 574, 576, 4, 579, 4, 4, 583, 586, 4,
+ 4, 590, 592, 594, 596, 3, 8, 604, 4, 3,
+ 8, 219, 219, 199, 4, 4, 4, 4, 4, 4,
+ 4, 200, 200, 200, 200, 200, 200, 200, 200, 202,
+ 201, 201, 201, 200, 200, 4, 200, 200, 202, 202,
+ 202, 4, 4, 4, 202, 202, 202, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 277, 4, 4, 4, 4, 4, 262,
- 265, 267, 4, 4, 382, 415, 441, 471, 473, 402,
- 407, 337, 349, 343, 331, 522, 492, 358, 372, 534,
- 4, 351, 547, 555, 565, 270, 272, 4, 605, 4,
- 3, 8, 286, 4, 3, 8, 459, 475, 392, 394,
- 396, 4, 4, 400, 398, 517, 3, 8, 469, 3,
- 8, 485, 4, 488, 4, 4, 3, 8, 515, 503,
- 505, 507, 509, 511, 513, 8, 3, 8, 431, 311,
- 4, 435, 433, 438, 4, 8, 3, 453, 4, 4,
- 8, 3, 368, 370, 3, 8, 4, 572, 574, 4,
- 577, 4, 4, 581, 584, 4, 4, 588, 590, 592,
- 594, 3, 8, 602, 4, 3, 8, 218, 218, 198,
- 4, 4, 4, 4, 4, 4, 4, 199, 199, 199,
- 199, 199, 199, 199, 199, 201, 200, 200, 200, 199,
- 199, 4, 199, 199, 201, 201, 201, 4, 4, 4,
- 201, 201, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 199, 4,
- 4, 4, 4, 4, 4, 201, 4, 241, 4, 201,
- 284, 4, 4, 4, 4, 4, 199, 201, 4, 4,
- 4, 390, 4, 467, 4, 199, 4, 199, 199, 483,
- 4, 4, 4, 4, 4, 4, 4, 501, 4, 4,
- 199, 4, 4, 4, 201, 426, 4, 201, 201, 450,
- 4, 4, 366, 201, 4, 4, 199, 4, 199, 199,
- 4, 4, 201, 201, 4, 4, 4, 4, 569, 4,
- 199, 600, 4, 7, 198, 7, 7, 7, 7, 5,
- 198, 168, 169, 170, 171, 201, 263, 198, 198, 5,
- 5, 5, 220, 222, 198, 97, 98, 99, 100, 403,
- 5, 5, 5, 5, 7, 5, 5, 5, 7, 7,
- 7, 7, 7, 7, 198, 198, 5, 5, 229, 5,
- 5, 198, 198, 198, 229, 198, 7, 198, 198, 198,
- 229, 229, 229, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 222, 198, 198, 198, 165, 166,
- 582, 167, 263, 198, 198, 198, 5, 218, 240, 599,
- 283, 21, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 233, 298, 299, 300, 303, 305, 307, 309, 310, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 323,
- 324, 326, 328, 298, 7, 294, 295, 296, 7, 383,
- 384, 385, 7, 418, 419, 420, 7, 442, 443, 444,
- 7, 408, 409, 410, 115, 198, 338, 339, 340, 341,
- 227, 116, 118, 340, 344, 345, 346, 347, 106, 332,
- 333, 334, 7, 523, 524, 7, 493, 494, 495, 7,
- 359, 360, 361, 125, 126, 127, 128, 129, 130, 373,
- 374, 375, 376, 377, 378, 379, 380, 21, 135, 136,
- 137, 138, 233, 312, 470, 472, 535, 536, 537, 540,
- 541, 543, 544, 141, 142, 143, 233, 352, 353, 354,
- 355, 356, 470, 472, 145, 146, 233, 470, 472, 548,
- 549, 550, 552, 148, 149, 150, 198, 470, 472, 556,
- 557, 558, 559, 561, 562, 568, 7, 606, 607, 230,
- 7, 460, 461, 462, 7, 476, 477, 478, 120, 502,
- 518, 519, 294, 8, 8, 8, 301, 304, 306, 308,
- 4, 4, 4, 4, 4, 322, 4, 4, 325, 327,
- 329, 4, 4, 4, 4, 3, 8, 8, 297, 6,
- 3, 386, 6, 3, 421, 6, 3, 445, 6, 3,
- 411, 6, 3, 3, 6, 6, 3, 6, 335, 3,
- 8, 525, 3, 6, 496, 6, 3, 362, 6, 3,
- 4, 4, 4, 4, 4, 4, 3, 8, 538, 542,
- 4, 4, 4, 3, 8, 4, 4, 4, 3, 8,
- 551, 553, 3, 8, 4, 560, 4, 563, 3, 8,
- 8, 608, 3, 6, 198, 231, 232, 463, 6, 3,
- 479, 6, 3, 520, 8, 6, 4, 4, 4, 4,
- 199, 201, 199, 201, 199, 4, 199, 199, 4, 4,
- 4, 199, 199, 201, 199, 299, 298, 296, 389, 385,
- 424, 420, 448, 444, 233, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 258, 259,
- 260, 261, 264, 266, 268, 269, 271, 273, 310, 381,
- 393, 395, 397, 399, 401, 405, 412, 413, 440, 470,
- 472, 516, 410, 339, 345, 4, 333, 109, 110, 233,
- 310, 440, 470, 472, 526, 527, 528, 529, 530, 532,
- 524, 499, 495, 365, 361, 199, 199, 199, 199, 199,
- 199, 374, 4, 4, 199, 199, 199, 536, 201, 199,
- 199, 353, 4, 4, 549, 201, 4, 199, 4, 557,
- 176, 178, 179, 233, 310, 470, 472, 609, 610, 611,
- 612, 614, 607, 6, 3, 466, 462, 482, 478, 4,
- 22, 23, 24, 25, 302, 198, 198, 198, 198, 198,
- 198, 198, 8, 8, 8, 8, 3, 8, 198, 531,
- 4, 8, 3, 8, 8, 132, 133, 134, 539, 198,
- 198, 198, 198, 218, 615, 4, 613, 3, 8, 198,
- 8, 8, 198, 413, 4, 201, 528, 4, 199, 4,
- 610, 198, 5, 198, 7, 616, 617, 618, 3, 6,
- 177, 180, 181, 182, 183, 619, 620, 621, 623, 624,
- 625, 626, 617, 622, 4, 4, 4, 627, 3, 8,
- 4, 201, 199, 199, 4, 620, 198, 198
+ 4, 4, 4, 200, 4, 4, 4, 4, 4, 4,
+ 202, 4, 242, 4, 202, 286, 4, 4, 4, 4,
+ 4, 200, 202, 4, 4, 4, 392, 4, 469, 4,
+ 200, 4, 200, 200, 485, 4, 4, 4, 4, 4,
+ 4, 4, 503, 4, 4, 200, 4, 4, 4, 202,
+ 428, 4, 202, 202, 452, 4, 4, 368, 202, 4,
+ 4, 200, 4, 200, 200, 4, 4, 202, 202, 4,
+ 4, 4, 4, 571, 4, 200, 602, 4, 7, 199,
+ 7, 7, 7, 7, 5, 199, 169, 170, 171, 172,
+ 202, 264, 199, 199, 5, 5, 5, 221, 223, 199,
+ 98, 99, 100, 101, 405, 5, 5, 5, 5, 7,
+ 5, 5, 5, 7, 7, 7, 7, 7, 7, 199,
+ 199, 5, 5, 230, 5, 5, 199, 199, 199, 230,
+ 199, 7, 199, 199, 199, 230, 230, 230, 199, 199,
+ 199, 199, 199, 199, 199, 199, 199, 199, 199, 223,
+ 199, 199, 199, 166, 167, 584, 168, 264, 199, 199,
+ 199, 5, 219, 241, 601, 285, 21, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 234, 300, 301, 302, 305,
+ 307, 309, 311, 312, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 325, 326, 328, 330, 300, 7,
+ 296, 297, 298, 7, 385, 386, 387, 7, 420, 421,
+ 422, 7, 444, 445, 446, 7, 410, 411, 412, 116,
+ 199, 340, 341, 342, 343, 228, 117, 119, 342, 346,
+ 347, 348, 349, 107, 334, 335, 336, 7, 525, 526,
+ 7, 495, 496, 497, 7, 361, 362, 363, 126, 127,
+ 128, 129, 130, 131, 375, 376, 377, 378, 379, 380,
+ 381, 382, 21, 136, 137, 138, 139, 234, 314, 472,
+ 474, 537, 538, 539, 542, 543, 545, 546, 142, 143,
+ 144, 234, 354, 355, 356, 357, 358, 472, 474, 146,
+ 147, 234, 472, 474, 550, 551, 552, 554, 149, 150,
+ 151, 199, 472, 474, 558, 559, 560, 561, 563, 564,
+ 570, 7, 608, 609, 231, 7, 462, 463, 464, 7,
+ 478, 479, 480, 121, 504, 520, 521, 296, 8, 8,
+ 8, 303, 306, 308, 310, 4, 4, 4, 4, 4,
+ 324, 4, 4, 327, 329, 331, 4, 4, 4, 4,
+ 3, 8, 8, 299, 6, 3, 388, 6, 3, 423,
+ 6, 3, 447, 6, 3, 413, 6, 3, 3, 6,
+ 6, 3, 6, 337, 3, 8, 527, 3, 6, 498,
+ 6, 3, 364, 6, 3, 4, 4, 4, 4, 4,
+ 4, 3, 8, 540, 544, 4, 4, 4, 3, 8,
+ 4, 4, 4, 3, 8, 553, 555, 3, 8, 4,
+ 562, 4, 565, 3, 8, 8, 610, 3, 6, 199,
+ 232, 233, 465, 6, 3, 481, 6, 3, 522, 8,
+ 6, 4, 4, 4, 4, 200, 202, 200, 202, 200,
+ 4, 200, 200, 4, 4, 4, 200, 200, 202, 200,
+ 301, 300, 298, 391, 387, 426, 422, 450, 446, 234,
+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 259, 260, 261, 262, 265, 267, 269,
+ 270, 271, 273, 275, 312, 383, 395, 397, 399, 401,
+ 403, 407, 414, 415, 442, 472, 474, 518, 412, 341,
+ 347, 4, 335, 110, 111, 234, 312, 442, 472, 474,
+ 528, 529, 530, 531, 532, 534, 526, 501, 497, 367,
+ 363, 200, 200, 200, 200, 200, 200, 376, 4, 4,
+ 200, 200, 200, 538, 202, 200, 200, 355, 4, 4,
+ 551, 202, 4, 200, 4, 559, 177, 179, 180, 234,
+ 312, 472, 474, 611, 612, 613, 614, 616, 609, 6,
+ 3, 468, 464, 484, 480, 4, 22, 23, 24, 25,
+ 304, 199, 199, 199, 199, 199, 199, 199, 8, 8,
+ 8, 8, 3, 8, 199, 533, 4, 8, 3, 8,
+ 8, 133, 134, 135, 541, 199, 199, 199, 199, 219,
+ 617, 4, 615, 3, 8, 199, 8, 8, 199, 415,
+ 4, 202, 530, 4, 200, 4, 612, 199, 5, 199,
+ 7, 618, 619, 620, 3, 6, 178, 181, 182, 183,
+ 184, 621, 622, 623, 625, 626, 627, 628, 619, 624,
+ 4, 4, 4, 629, 3, 8, 4, 202, 200, 200,
+ 4, 622, 199, 199
};
- const short
+ const unsigned short int
Dhcp6Parser::yyr1_[] =
{
- 0, 202, 204, 203, 205, 203, 206, 203, 207, 203,
- 208, 203, 209, 203, 210, 203, 211, 203, 212, 203,
- 213, 203, 214, 203, 215, 203, 216, 203, 217, 203,
- 218, 218, 218, 218, 218, 218, 218, 219, 221, 220,
- 222, 223, 223, 224, 224, 226, 225, 227, 227, 228,
- 228, 230, 229, 231, 231, 232, 232, 233, 235, 234,
- 237, 236, 239, 238, 240, 240, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 243, 242, 244, 245, 246, 247, 248,
+ 0, 203, 205, 204, 206, 204, 207, 204, 208, 204,
+ 209, 204, 210, 204, 211, 204, 212, 204, 213, 204,
+ 214, 204, 215, 204, 216, 204, 217, 204, 218, 204,
+ 219, 219, 219, 219, 219, 219, 219, 220, 222, 221,
+ 223, 224, 224, 225, 225, 227, 226, 228, 228, 229,
+ 229, 231, 230, 232, 232, 233, 233, 234, 236, 235,
+ 238, 237, 240, 239, 241, 241, 242, 242, 242, 242,
+ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+ 242, 242, 242, 242, 244, 243, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 262, 261, 263, 263, 263, 263, 263, 265,
- 264, 267, 266, 268, 270, 269, 272, 271, 273, 274,
- 275, 277, 276, 278, 280, 279, 282, 281, 283, 283,
- 284, 284, 284, 284, 284, 286, 285, 287, 289, 288,
- 291, 290, 293, 292, 294, 294, 295, 295, 297, 296,
- 298, 298, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 299, 301, 300, 302, 302, 302, 302, 304,
- 303, 306, 305, 308, 307, 309, 311, 310, 312, 313,
- 314, 315, 316, 317, 318, 319, 320, 322, 321, 323,
- 325, 324, 327, 326, 329, 328, 331, 330, 332, 332,
- 333, 335, 334, 337, 336, 338, 338, 339, 339, 340,
- 341, 343, 342, 344, 344, 345, 345, 345, 346, 347,
- 349, 348, 351, 350, 352, 352, 353, 353, 353, 353,
- 353, 353, 354, 355, 356, 358, 357, 359, 359, 360,
- 360, 362, 361, 364, 363, 365, 365, 365, 366, 366,
- 368, 367, 370, 369, 372, 371, 373, 373, 374, 374,
- 374, 374, 374, 374, 375, 376, 377, 378, 379, 380,
- 382, 381, 383, 383, 384, 384, 386, 385, 388, 387,
- 389, 389, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 392, 391, 394, 393, 396, 395, 398, 397, 400,
- 399, 402, 401, 403, 403, 403, 403, 404, 405, 407,
- 406, 408, 408, 409, 409, 411, 410, 412, 412, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 415, 414, 417, 416, 418,
- 418, 419, 419, 421, 420, 423, 422, 424, 424, 425,
- 425, 426, 426, 426, 426, 426, 426, 426, 426, 426,
- 426, 427, 428, 429, 431, 430, 433, 432, 435, 434,
- 436, 438, 437, 439, 441, 440, 442, 442, 443, 443,
- 445, 444, 447, 446, 448, 448, 449, 449, 450, 450,
- 450, 450, 450, 450, 450, 450, 450, 451, 453, 452,
- 454, 455, 456, 457, 459, 458, 460, 460, 461, 461,
- 463, 462, 465, 464, 466, 466, 467, 467, 467, 467,
- 467, 467, 467, 469, 468, 471, 470, 473, 472, 475,
- 474, 476, 476, 477, 477, 479, 478, 481, 480, 482,
- 482, 483, 483, 483, 483, 483, 483, 483, 483, 483,
- 483, 483, 485, 484, 486, 488, 487, 489, 490, 492,
- 491, 493, 493, 494, 494, 496, 495, 498, 497, 499,
- 499, 500, 500, 501, 501, 501, 501, 501, 501, 501,
- 501, 501, 501, 501, 503, 502, 505, 504, 507, 506,
- 509, 508, 511, 510, 513, 512, 515, 514, 517, 516,
- 518, 518, 520, 519, 522, 521, 523, 523, 525, 524,
- 526, 526, 527, 527, 528, 528, 528, 528, 528, 528,
- 528, 529, 531, 530, 532, 534, 533, 535, 535, 536,
- 536, 536, 536, 536, 536, 536, 536, 536, 538, 537,
- 539, 539, 539, 540, 542, 541, 543, 544, 545, 547,
- 546, 548, 548, 549, 549, 549, 549, 549, 551, 550,
- 553, 552, 555, 554, 556, 556, 557, 557, 557, 557,
- 557, 557, 558, 560, 559, 561, 563, 562, 565, 564,
- 567, 566, 568, 568, 569, 569, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 569, 569,
- 569, 569, 570, 572, 571, 574, 573, 575, 577, 576,
- 578, 579, 581, 580, 582, 582, 584, 583, 585, 586,
- 588, 587, 590, 589, 592, 591, 594, 593, 596, 595,
- 598, 597, 599, 599, 600, 600, 602, 601, 603, 605,
- 604, 606, 606, 608, 607, 609, 609, 610, 610, 610,
- 610, 610, 610, 610, 611, 613, 612, 615, 614, 616,
- 616, 618, 617, 619, 619, 620, 620, 620, 620, 620,
- 622, 621, 623, 624, 625, 627, 626
+ 259, 260, 261, 263, 262, 264, 264, 264, 264, 264,
+ 266, 265, 268, 267, 269, 270, 272, 271, 274, 273,
+ 275, 276, 277, 279, 278, 280, 282, 281, 284, 283,
+ 285, 285, 286, 286, 286, 286, 286, 288, 287, 289,
+ 291, 290, 293, 292, 295, 294, 296, 296, 297, 297,
+ 299, 298, 300, 300, 301, 301, 301, 301, 301, 301,
+ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
+ 301, 301, 301, 301, 301, 303, 302, 304, 304, 304,
+ 304, 306, 305, 308, 307, 310, 309, 311, 313, 312,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 324,
+ 323, 325, 327, 326, 329, 328, 331, 330, 333, 332,
+ 334, 334, 335, 337, 336, 339, 338, 340, 340, 341,
+ 341, 342, 343, 345, 344, 346, 346, 347, 347, 347,
+ 348, 349, 351, 350, 353, 352, 354, 354, 355, 355,
+ 355, 355, 355, 355, 356, 357, 358, 360, 359, 361,
+ 361, 362, 362, 364, 363, 366, 365, 367, 367, 367,
+ 368, 368, 370, 369, 372, 371, 374, 373, 375, 375,
+ 376, 376, 376, 376, 376, 376, 377, 378, 379, 380,
+ 381, 382, 384, 383, 385, 385, 386, 386, 388, 387,
+ 390, 389, 391, 391, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 394, 393, 396, 395, 398, 397,
+ 400, 399, 402, 401, 404, 403, 405, 405, 405, 405,
+ 406, 407, 409, 408, 410, 410, 411, 411, 413, 412,
+ 414, 414, 415, 415, 415, 415, 415, 415, 415, 415,
+ 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
+ 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
+ 415, 415, 415, 415, 415, 415, 415, 415, 415, 417,
+ 416, 419, 418, 420, 420, 421, 421, 423, 422, 425,
+ 424, 426, 426, 427, 427, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 429, 430, 431, 433, 432,
+ 435, 434, 437, 436, 438, 440, 439, 441, 443, 442,
+ 444, 444, 445, 445, 447, 446, 449, 448, 450, 450,
+ 451, 451, 452, 452, 452, 452, 452, 452, 452, 452,
+ 452, 453, 455, 454, 456, 457, 458, 459, 461, 460,
+ 462, 462, 463, 463, 465, 464, 467, 466, 468, 468,
+ 469, 469, 469, 469, 469, 469, 469, 471, 470, 473,
+ 472, 475, 474, 477, 476, 478, 478, 479, 479, 481,
+ 480, 483, 482, 484, 484, 485, 485, 485, 485, 485,
+ 485, 485, 485, 485, 485, 485, 487, 486, 488, 490,
+ 489, 491, 492, 494, 493, 495, 495, 496, 496, 498,
+ 497, 500, 499, 501, 501, 502, 502, 503, 503, 503,
+ 503, 503, 503, 503, 503, 503, 503, 503, 505, 504,
+ 507, 506, 509, 508, 511, 510, 513, 512, 515, 514,
+ 517, 516, 519, 518, 520, 520, 522, 521, 524, 523,
+ 525, 525, 527, 526, 528, 528, 529, 529, 530, 530,
+ 530, 530, 530, 530, 530, 531, 533, 532, 534, 536,
+ 535, 537, 537, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 540, 539, 541, 541, 541, 542, 544, 543,
+ 545, 546, 547, 549, 548, 550, 550, 551, 551, 551,
+ 551, 551, 553, 552, 555, 554, 557, 556, 558, 558,
+ 559, 559, 559, 559, 559, 559, 560, 562, 561, 563,
+ 565, 564, 567, 566, 569, 568, 570, 570, 571, 571,
+ 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
+ 571, 571, 571, 571, 571, 571, 572, 574, 573, 576,
+ 575, 577, 579, 578, 580, 581, 583, 582, 584, 584,
+ 586, 585, 587, 588, 590, 589, 592, 591, 594, 593,
+ 596, 595, 598, 597, 600, 599, 601, 601, 602, 602,
+ 604, 603, 605, 607, 606, 608, 608, 610, 609, 611,
+ 611, 612, 612, 612, 612, 612, 612, 612, 613, 615,
+ 614, 617, 616, 618, 618, 620, 619, 621, 621, 622,
+ 622, 622, 622, 622, 624, 623, 625, 626, 627, 629,
+ 628
};
- const signed char
+ const unsigned char
Dhcp6Parser::yyr2_[] =
{
0, 2, 0, 3, 0, 3, 0, 3, 0, 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, 0, 4, 3, 3, 3, 3, 3,
+ 1, 1, 1, 1, 0, 4, 3, 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, 3, 0, 4, 0, 4, 3, 3,
- 3, 0, 4, 3, 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, 1, 3, 1, 1, 1, 1,
- 1, 1, 3, 3, 3, 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,
+ 3, 3, 3, 0, 4, 1, 1, 1, 1, 1,
+ 0, 4, 0, 4, 3, 3, 0, 4, 0, 4,
+ 3, 3, 3, 0, 4, 3, 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, 1, 3, 1, 1,
+ 1, 1, 1, 1, 3, 3, 3, 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, 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, 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, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 6, 0, 4, 0,
- 1, 1, 3, 0, 4, 0, 4, 0, 1, 1,
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 1, 0, 4, 0, 4, 0, 4,
- 1, 0, 4, 3, 0, 6, 0, 1, 1, 3,
- 0, 4, 0, 4, 0, 1, 1, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
- 1, 1, 3, 3, 0, 6, 0, 1, 1, 3,
- 0, 4, 0, 4, 1, 3, 1, 1, 1, 1,
- 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
- 6, 0, 1, 1, 3, 0, 4, 0, 4, 1,
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 4, 3, 0, 4, 3, 3, 0,
- 6, 0, 1, 1, 3, 0, 4, 0, 4, 0,
- 1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
- 0, 4, 0, 4, 0, 4, 0, 4, 0, 6,
- 1, 1, 0, 4, 0, 6, 1, 3, 0, 4,
- 0, 1, 1, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 4, 3, 0, 6, 1, 3, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+ 6, 0, 4, 0, 1, 1, 3, 0, 4, 0,
+ 4, 0, 1, 1, 3, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 3, 1, 0, 4,
+ 0, 4, 0, 4, 1, 0, 4, 3, 0, 6,
+ 0, 1, 1, 3, 0, 4, 0, 4, 0, 1,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 4, 1, 1, 3, 3, 0, 6,
+ 0, 1, 1, 3, 0, 4, 0, 4, 1, 3,
+ 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
+ 4, 0, 4, 0, 6, 0, 1, 1, 3, 0,
+ 4, 0, 4, 1, 3, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0, 4, 3, 0,
+ 4, 3, 3, 0, 6, 0, 1, 1, 3, 0,
+ 4, 0, 4, 0, 1, 1, 3, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
- 1, 1, 1, 3, 0, 4, 3, 3, 3, 0,
- 6, 1, 3, 1, 1, 1, 1, 1, 0, 4,
- 0, 4, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 1, 3, 0, 4, 3, 0, 4, 0, 6,
- 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
+ 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
+ 0, 4, 0, 6, 1, 1, 0, 4, 0, 6,
+ 1, 3, 0, 4, 0, 1, 1, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0, 4, 3, 0,
+ 6, 1, 3, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 4, 1, 1, 1, 3, 0, 4,
+ 3, 3, 3, 0, 6, 1, 3, 1, 1, 1,
+ 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
+ 1, 1, 1, 1, 1, 1, 3, 0, 4, 3,
+ 0, 4, 0, 6, 0, 4, 1, 3, 1, 1,
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, 0, 4, 0, 4, 0, 4, 0, 6,
- 0, 4, 1, 3, 1, 1, 0, 6, 3, 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
+ 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, 0, 4, 0, 4,
+ 0, 4, 0, 6, 0, 4, 1, 3, 1, 1,
+ 0, 6, 3, 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
};
-#if PARSER6_DEBUG || 1
+
// YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- // First, the terminals, then, starting at \a YYNTOKENS, nonterminals.
+ // First, the terminals, then, starting at \a yyntokens_, nonterminals.
const char*
const Dhcp6Parser::yytname_[] =
{
- "\"end of file\"", "error", "\"invalid token\"", "\",\"", "\":\"",
- "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Dhcp6\"",
- "\"data-directory\"", "\"config-control\"", "\"config-databases\"",
+ "\"end of file\"", "error", "$undefined", "\",\"", "\":\"", "\"[\"",
+ "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Dhcp6\"", "\"data-directory\"",
+ "\"config-control\"", "\"config-databases\"",
"\"config-fetch-wait-time\"", "\"interfaces-config\"", "\"interfaces\"",
"\"re-detect\"", "\"lease-database\"", "\"hosts-database\"",
"\"hosts-databases\"", "\"type\"", "\"memfile\"", "\"mysql\"",
"\"ddns-send-updates\"", "\"ddns-override-no-update\"",
"\"ddns-override-client-update\"", "\"ddns-replace-client-name\"",
"\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"",
- "\"ddns-update-on-renew\"", "\"store-extended-info\"", "\"subnet6\"",
- "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"",
- "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"",
+ "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"",
+ "\"store-extended-info\"", "\"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\"",
"ddns_override_client_update", "ddns_replace_client_name", "$@22",
"ddns_replace_client_name_value", "ddns_generated_prefix", "$@23",
"ddns_qualifying_suffix", "$@24", "ddns_update_on_renew",
- "hostname_char_set", "$@25", "hostname_char_replacement", "$@26",
- "store_extended_info", "statistic_default_sample_count",
- "statistic_default_sample_age", "server_tag", "$@27",
- "ip_reservations_unique", "interfaces_config", "$@28", "sub_interfaces6",
- "$@29", "interfaces_config_params", "interfaces_config_param",
- "interfaces_list", "$@30", "re_detect", "lease_database", "$@31",
- "hosts_database", "$@32", "hosts_databases", "$@33", "database_list",
- "not_empty_database_list", "database", "$@34", "database_map_params",
- "database_map_param", "database_type", "$@35", "db_type", "user", "$@36",
- "password", "$@37", "host", "$@38", "port", "name", "$@39", "persist",
- "lfc_interval", "readonly", "connect_timeout", "reconnect_wait_time",
- "max_row_errors", "request_timeout", "tcp_keepalive", "tcp_nodelay",
- "contact_points", "$@40", "max_reconnect_tries", "keyspace", "$@41",
- "consistency", "$@42", "serial_consistency", "$@43", "sanity_checks",
- "$@44", "sanity_checks_params", "sanity_checks_param", "lease_checks",
- "$@45", "mac_sources", "$@46", "mac_sources_list", "mac_sources_value",
+ "ddns_use_conflict_resolution", "hostname_char_set", "$@25",
+ "hostname_char_replacement", "$@26", "store_extended_info",
+ "statistic_default_sample_count", "statistic_default_sample_age",
+ "server_tag", "$@27", "ip_reservations_unique", "interfaces_config",
+ "$@28", "sub_interfaces6", "$@29", "interfaces_config_params",
+ "interfaces_config_param", "interfaces_list", "$@30", "re_detect",
+ "lease_database", "$@31", "hosts_database", "$@32", "hosts_databases",
+ "$@33", "database_list", "not_empty_database_list", "database", "$@34",
+ "database_map_params", "database_map_param", "database_type", "$@35",
+ "db_type", "user", "$@36", "password", "$@37", "host", "$@38", "port",
+ "name", "$@39", "persist", "lfc_interval", "readonly", "connect_timeout",
+ "reconnect_wait_time", "max_row_errors", "request_timeout",
+ "tcp_keepalive", "tcp_nodelay", "contact_points", "$@40",
+ "max_reconnect_tries", "keyspace", "$@41", "consistency", "$@42",
+ "serial_consistency", "$@43", "sanity_checks", "$@44",
+ "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@45",
+ "mac_sources", "$@46", "mac_sources_list", "mac_sources_value",
"duid_id", "string_id", "host_reservation_identifiers", "$@47",
"host_reservation_identifiers_list", "host_reservation_identifier",
"hw_address_id", "flex_id", "relay_supplied_options", "$@48",
"output_params_list", "output_params", "output", "$@133", "flush",
"maxsize", "maxver", "pattern", "$@134", YY_NULLPTR
};
-#endif
-
#if PARSER6_DEBUG
- const short
+ const unsigned short int
Dhcp6Parser::yyrline_[] =
{
- 0, 287, 287, 287, 288, 288, 289, 289, 290, 290,
- 291, 291, 292, 292, 293, 293, 294, 294, 295, 295,
- 296, 296, 297, 297, 298, 298, 299, 299, 300, 300,
- 308, 309, 310, 311, 312, 313, 314, 317, 322, 322,
- 333, 336, 337, 340, 345, 353, 353, 360, 361, 364,
- 368, 375, 375, 382, 383, 386, 390, 401, 410, 410,
- 425, 425, 442, 442, 451, 452, 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, 495, 496, 497, 498, 499, 500,
- 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
- 511, 512, 513, 516, 516, 525, 531, 537, 543, 549,
- 555, 561, 567, 573, 579, 585, 591, 597, 603, 609,
- 615, 621, 627, 627, 636, 639, 642, 645, 648, 654,
- 654, 663, 663, 672, 678, 678, 687, 687, 696, 702,
- 708, 714, 714, 723, 729, 729, 741, 741, 750, 751,
- 754, 755, 756, 757, 758, 761, 761, 772, 778, 778,
- 791, 791, 804, 804, 815, 816, 819, 820, 823, 823,
- 833, 834, 837, 838, 839, 840, 841, 842, 843, 844,
- 845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
- 855, 856, 857, 860, 860, 868, 869, 870, 871, 874,
- 874, 883, 883, 892, 892, 901, 907, 907, 916, 922,
- 928, 934, 940, 946, 952, 958, 964, 970, 970, 979,
- 985, 985, 994, 994, 1003, 1003, 1012, 1012, 1023, 1024,
- 1026, 1028, 1028, 1047, 1047, 1058, 1059, 1062, 1063, 1066,
- 1071, 1076, 1076, 1087, 1088, 1091, 1092, 1093, 1096, 1101,
- 1108, 1108, 1121, 1121, 1134, 1135, 1138, 1139, 1140, 1141,
- 1142, 1143, 1146, 1152, 1158, 1164, 1164, 1175, 1176, 1179,
- 1180, 1183, 1183, 1193, 1193, 1203, 1204, 1205, 1208, 1209,
- 1212, 1212, 1221, 1221, 1230, 1230, 1242, 1243, 1246, 1247,
- 1248, 1249, 1250, 1251, 1254, 1260, 1266, 1272, 1278, 1284,
- 1293, 1293, 1307, 1308, 1311, 1312, 1319, 1319, 1345, 1345,
- 1356, 1357, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368,
- 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378,
- 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
- 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
- 1399, 1402, 1402, 1411, 1411, 1420, 1420, 1429, 1429, 1438,
- 1438, 1449, 1449, 1457, 1458, 1459, 1460, 1463, 1469, 1477,
- 1477, 1489, 1490, 1494, 1495, 1498, 1498, 1506, 1507, 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, 1535, 1536, 1537, 1538, 1539, 1540,
- 1541, 1542, 1543, 1544, 1545, 1552, 1552, 1566, 1566, 1575,
- 1576, 1579, 1580, 1585, 1585, 1600, 1600, 1614, 1615, 1618,
- 1619, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
- 1631, 1634, 1636, 1642, 1644, 1644, 1653, 1653, 1662, 1662,
- 1671, 1673, 1673, 1682, 1692, 1692, 1705, 1706, 1711, 1712,
- 1717, 1717, 1729, 1729, 1741, 1742, 1747, 1748, 1753, 1754,
- 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1764, 1766, 1766,
- 1775, 1777, 1779, 1785, 1794, 1794, 1807, 1808, 1811, 1812,
- 1815, 1815, 1825, 1825, 1835, 1836, 1839, 1840, 1841, 1842,
- 1843, 1844, 1845, 1848, 1848, 1857, 1857, 1882, 1882, 1912,
- 1912, 1925, 1926, 1929, 1930, 1933, 1933, 1945, 1945, 1957,
- 1958, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969,
- 1970, 1971, 1974, 1974, 1983, 1989, 1989, 1998, 2004, 2013,
- 2013, 2024, 2025, 2028, 2029, 2032, 2032, 2041, 2041, 2050,
- 2051, 2054, 2055, 2059, 2060, 2061, 2062, 2063, 2064, 2065,
- 2066, 2067, 2068, 2069, 2072, 2072, 2083, 2083, 2094, 2094,
- 2103, 2103, 2112, 2112, 2121, 2121, 2130, 2130, 2144, 2144,
- 2155, 2156, 2159, 2159, 2171, 2171, 2182, 2183, 2186, 2186,
- 2196, 2197, 2200, 2201, 2204, 2205, 2206, 2207, 2208, 2209,
- 2210, 2213, 2215, 2215, 2224, 2233, 2233, 2246, 2247, 2250,
- 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2261, 2261,
- 2269, 2270, 2271, 2274, 2280, 2280, 2289, 2295, 2303, 2311,
- 2311, 2322, 2323, 2326, 2327, 2328, 2329, 2330, 2333, 2333,
- 2342, 2342, 2354, 2354, 2367, 2368, 2371, 2372, 2373, 2374,
- 2375, 2376, 2379, 2385, 2385, 2394, 2400, 2400, 2410, 2410,
- 2423, 2423, 2433, 2434, 2437, 2438, 2439, 2440, 2441, 2442,
- 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452,
- 2453, 2454, 2457, 2464, 2464, 2473, 2473, 2482, 2488, 2488,
- 2497, 2503, 2509, 2509, 2518, 2519, 2522, 2522, 2532, 2539,
- 2546, 2546, 2555, 2555, 2565, 2565, 2575, 2575, 2587, 2587,
- 2599, 2599, 2609, 2610, 2614, 2615, 2618, 2618, 2629, 2637,
- 2637, 2650, 2651, 2655, 2655, 2663, 2664, 2667, 2668, 2669,
- 2670, 2671, 2672, 2673, 2676, 2682, 2682, 2691, 2691, 2702,
- 2703, 2706, 2706, 2714, 2715, 2718, 2719, 2720, 2721, 2722,
- 2725, 2725, 2734, 2740, 2746, 2752, 2752
+ 0, 288, 288, 288, 289, 289, 290, 290, 291, 291,
+ 292, 292, 293, 293, 294, 294, 295, 295, 296, 296,
+ 297, 297, 298, 298, 299, 299, 300, 300, 301, 301,
+ 309, 310, 311, 312, 313, 314, 315, 318, 323, 323,
+ 334, 337, 338, 341, 346, 354, 354, 361, 362, 365,
+ 369, 376, 376, 383, 384, 387, 391, 402, 411, 411,
+ 426, 426, 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, 507, 508, 509, 510, 511,
+ 512, 513, 514, 515, 518, 518, 527, 533, 539, 545,
+ 551, 557, 563, 569, 575, 581, 587, 593, 599, 605,
+ 611, 617, 623, 629, 629, 638, 641, 644, 647, 650,
+ 656, 656, 665, 665, 674, 680, 686, 686, 695, 695,
+ 704, 710, 716, 722, 722, 731, 737, 737, 749, 749,
+ 758, 759, 762, 763, 764, 765, 766, 769, 769, 780,
+ 786, 786, 799, 799, 812, 812, 823, 824, 827, 828,
+ 831, 831, 841, 842, 845, 846, 847, 848, 849, 850,
+ 851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
+ 861, 862, 863, 864, 865, 868, 868, 876, 877, 878,
+ 879, 882, 882, 891, 891, 900, 900, 909, 915, 915,
+ 924, 930, 936, 942, 948, 954, 960, 966, 972, 978,
+ 978, 987, 993, 993, 1002, 1002, 1011, 1011, 1020, 1020,
+ 1031, 1032, 1034, 1036, 1036, 1055, 1055, 1066, 1067, 1070,
+ 1071, 1074, 1079, 1084, 1084, 1095, 1096, 1099, 1100, 1101,
+ 1104, 1109, 1116, 1116, 1129, 1129, 1142, 1143, 1146, 1147,
+ 1148, 1149, 1150, 1151, 1154, 1160, 1166, 1172, 1172, 1183,
+ 1184, 1187, 1188, 1191, 1191, 1201, 1201, 1211, 1212, 1213,
+ 1216, 1217, 1220, 1220, 1229, 1229, 1238, 1238, 1250, 1251,
+ 1254, 1255, 1256, 1257, 1258, 1259, 1262, 1268, 1274, 1280,
+ 1286, 1292, 1301, 1301, 1315, 1316, 1319, 1320, 1327, 1327,
+ 1353, 1353, 1364, 1365, 1369, 1370, 1371, 1372, 1373, 1374,
+ 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
+ 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
+ 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
+ 1405, 1406, 1407, 1408, 1411, 1411, 1420, 1420, 1429, 1429,
+ 1438, 1438, 1447, 1447, 1458, 1458, 1466, 1467, 1468, 1469,
+ 1472, 1478, 1486, 1486, 1498, 1499, 1503, 1504, 1507, 1507,
+ 1515, 1516, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526,
+ 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536,
+ 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546,
+ 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1562,
+ 1562, 1576, 1576, 1585, 1586, 1589, 1590, 1595, 1595, 1610,
+ 1610, 1624, 1625, 1628, 1629, 1632, 1633, 1634, 1635, 1636,
+ 1637, 1638, 1639, 1640, 1641, 1644, 1646, 1652, 1654, 1654,
+ 1663, 1663, 1672, 1672, 1681, 1683, 1683, 1692, 1702, 1702,
+ 1715, 1716, 1721, 1722, 1727, 1727, 1739, 1739, 1751, 1752,
+ 1757, 1758, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770,
+ 1771, 1774, 1776, 1776, 1785, 1787, 1789, 1795, 1804, 1804,
+ 1817, 1818, 1821, 1822, 1825, 1825, 1835, 1835, 1845, 1846,
+ 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1858, 1858, 1867,
+ 1867, 1892, 1892, 1922, 1922, 1935, 1936, 1939, 1940, 1943,
+ 1943, 1955, 1955, 1967, 1968, 1971, 1972, 1973, 1974, 1975,
+ 1976, 1977, 1978, 1979, 1980, 1981, 1984, 1984, 1993, 1999,
+ 1999, 2008, 2014, 2023, 2023, 2034, 2035, 2038, 2039, 2042,
+ 2042, 2051, 2051, 2060, 2061, 2064, 2065, 2069, 2070, 2071,
+ 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2082, 2082,
+ 2093, 2093, 2104, 2104, 2113, 2113, 2122, 2122, 2131, 2131,
+ 2140, 2140, 2154, 2154, 2165, 2166, 2169, 2169, 2181, 2181,
+ 2192, 2193, 2196, 2196, 2206, 2207, 2210, 2211, 2214, 2215,
+ 2216, 2217, 2218, 2219, 2220, 2223, 2225, 2225, 2234, 2243,
+ 2243, 2256, 2257, 2260, 2261, 2262, 2263, 2264, 2265, 2266,
+ 2267, 2268, 2271, 2271, 2279, 2280, 2281, 2284, 2290, 2290,
+ 2299, 2305, 2313, 2321, 2321, 2332, 2333, 2336, 2337, 2338,
+ 2339, 2340, 2343, 2343, 2352, 2352, 2364, 2364, 2377, 2378,
+ 2381, 2382, 2383, 2384, 2385, 2386, 2389, 2395, 2395, 2404,
+ 2410, 2410, 2420, 2420, 2433, 2433, 2443, 2444, 2447, 2448,
+ 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458,
+ 2459, 2460, 2461, 2462, 2463, 2464, 2467, 2474, 2474, 2483,
+ 2483, 2492, 2498, 2498, 2507, 2513, 2519, 2519, 2528, 2529,
+ 2532, 2532, 2542, 2549, 2556, 2556, 2565, 2565, 2575, 2575,
+ 2585, 2585, 2597, 2597, 2609, 2609, 2619, 2620, 2624, 2625,
+ 2628, 2628, 2639, 2647, 2647, 2660, 2661, 2665, 2665, 2673,
+ 2674, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2686, 2692,
+ 2692, 2701, 2701, 2712, 2713, 2716, 2716, 2724, 2725, 2728,
+ 2729, 2730, 2731, 2732, 2735, 2735, 2744, 2750, 2756, 2762,
+ 2762
};
+ // Print the state stack on the debug stream.
void
- Dhcp6Parser::yy_stack_print_ () const
+ Dhcp6Parser::yystack_print_ ()
{
*yycdebug_ << "Stack now";
for (stack_type::const_iterator
i = yystack_.begin (),
i_end = yystack_.end ();
i != i_end; ++i)
- *yycdebug_ << ' ' << int (i->state);
- *yycdebug_ << '\n';
+ *yycdebug_ << ' ' << i->state;
+ *yycdebug_ << std::endl;
}
+ // Report on the debug stream that the rule \a yyrule is going to be reduced.
void
- Dhcp6Parser::yy_reduce_print_ (int yyrule) const
+ Dhcp6Parser::yy_reduce_print_ (int yyrule)
{
- int yylno = yyrline_[yyrule];
+ unsigned int yylno = yyrline_[yyrule];
int yynrhs = yyr2_[yyrule];
// Print the symbols being reduced, and their result.
*yycdebug_ << "Reducing stack by rule " << yyrule - 1
- << " (line " << yylno << "):\n";
+ << " (line " << yylno << "):" << std::endl;
// The symbols being reduced.
for (int yyi = 0; yyi < yynrhs; yyi++)
YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
#endif // PARSER6_DEBUG
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 5796 "dhcp6_parser.cc"
-
-#line 2761 "dhcp6_parser.yy"
+#line 5663 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2771 "dhcp6_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.7.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton interface for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 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
// This special exception was added by the Free Software Foundation in
// version 2.2 of Bison.
-
/**
** \file dhcp6_parser.h
** Define the isc::dhcp::parser class.
// C++ LALR(1) parser skeleton written by Akim Demaille.
-// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
-// especially those whose name start with YY_ or yy_. They are
-// private implementation details that can be changed or removed.
-
#ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
# define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
-// "%code requires" blocks.
-#line 17 "dhcp6_parser.yy"
+// // "%code requires" blocks.
+#line 17 "dhcp6_parser.yy" // lalr1.cc:377
#include <string>
#include <cc/data.h>
using namespace isc::data;
using namespace std;
-#line 61 "dhcp6_parser.h"
+#line 56 "dhcp6_parser.h" // lalr1.cc:377
# include <cassert>
# include <cstdlib> // std::abort
# include <stdexcept>
# 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
-# define YY_MOVE std::move
-# define YY_MOVE_OR_COPY move
-# define YY_MOVE_REF(Type) Type&&
-# define YY_RVREF(Type) Type&&
-# define YY_COPY(Type) Type
-#else
-# define YY_MOVE
-# define YY_MOVE_OR_COPY copy
-# 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 "stack.hh"
# include "location.hh"
#include <typeinfo>
-#ifndef YY_ASSERT
+#ifndef YYASSERT
# include <cassert>
-# define YY_ASSERT assert
+# define YYASSERT assert
#endif
-#ifndef YY_ATTRIBUTE_PURE
-# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
-# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
-# define YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
#ifndef YY_ATTRIBUTE_UNUSED
-# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
-# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
# else
-# define YY_ATTRIBUTE_UNUSED
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
# define YYUSE(E) /* empty */
#endif
-#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
-#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
-# define YY_IGNORE_USELESS_CAST_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
-# define YY_IGNORE_USELESS_CAST_END \
- _Pragma ("GCC diagnostic pop")
-#endif
-#ifndef YY_IGNORE_USELESS_CAST_BEGIN
-# define YY_IGNORE_USELESS_CAST_BEGIN
-# define YY_IGNORE_USELESS_CAST_END
-#endif
-
-# ifndef YY_CAST
-# ifdef __cplusplus
-# define YY_CAST(Type, Val) static_cast<Type> (Val)
-# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
-# else
-# define YY_CAST(Type, Val) ((Type) (Val))
-# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
-# endif
-# endif
-# ifndef YY_NULLPTR
-# if defined __cplusplus
-# if 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
-# else
-# define YY_NULLPTR ((void*)0)
-# endif
-# endif
-
/* Debug traces. */
#ifndef PARSER6_DEBUG
# if defined YYDEBUG
# endif /* ! defined YYDEBUG */
#endif /* ! defined PARSER6_DEBUG */
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:377
namespace isc { namespace dhcp {
-#line 204 "dhcp6_parser.h"
-
+#line 141 "dhcp6_parser.h" // lalr1.cc:377
- /// A Bison parser.
- class Dhcp6Parser
- {
- public:
-#ifndef PARSER6_STYPE
- /// A buffer to store and retrieve objects.
+ /// 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
- : yybuffer_ ()
- , yytypeid_ (YY_NULLPTR)
+ variant ()
+ : yytypeid_ (YY_NULLPTR)
{}
/// Construct and fill.
template <typename T>
- semantic_type (YY_RVREF (T) t)
+ variant (const T& t)
: yytypeid_ (&typeid (T))
{
- YY_ASSERT (sizeof (T) <= size);
- new (yyas_<T> ()) T (YY_MOVE (t));
+ YYASSERT (sizeof (T) <= S);
+ new (yyas_<T> ()) T (t);
}
-#if 201103L <= YY_CPLUSPLUS
- /// Non copyable.
- semantic_type (const self_type&) = delete;
- /// Non copyable.
- self_type& operator= (const self_type&) = delete;
-#endif
-
/// Destruction, allowed only if empty.
- ~semantic_type () YY_NOEXCEPT
+ ~variant ()
{
- YY_ASSERT (!yytypeid_);
+ YYASSERT (!yytypeid_);
}
-# if 201103L <= YY_CPLUSPLUS
- /// Instantiate a \a T in here from \a t.
- template <typename T, typename... U>
- T&
- emplace (U&&... u)
- {
- YY_ASSERT (!yytypeid_);
- YY_ASSERT (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 ()
+ build ()
{
- YY_ASSERT (!yytypeid_);
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (!yytypeid_);
+ YYASSERT (sizeof (T) <= S);
yytypeid_ = & typeid (T);
- return *new (yyas_<T> ()) T ();
+ return *new (yyas_<T> ()) T;
}
/// Instantiate a \a T in here from \a t.
template <typename T>
T&
- emplace (const T& t)
+ build (const T& t)
{
- YY_ASSERT (!yytypeid_);
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (!yytypeid_);
+ YYASSERT (sizeof (T) <= S);
yytypeid_ = & typeid (T);
return *new (yyas_<T> ()) T (t);
}
-# endif
-
- /// Instantiate an empty \a T in here.
- /// Obsolete, use emplace.
- template <typename T>
- T&
- build ()
- {
- return emplace<T> ();
- }
-
- /// Instantiate a \a T in here from \a t.
- /// Obsolete, use emplace.
- template <typename T>
- T&
- build (const T& t)
- {
- return emplace<T> (t);
- }
/// Accessor to a built \a T.
template <typename T>
T&
- as () YY_NOEXCEPT
+ as ()
{
- YY_ASSERT (yytypeid_);
- YY_ASSERT (*yytypeid_ == typeid (T));
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (*yytypeid_ == typeid (T));
+ 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
{
- YY_ASSERT (yytypeid_);
- YY_ASSERT (*yytypeid_ == typeid (T));
- YY_ASSERT (sizeof (T) <= size);
+ YYASSERT (*yytypeid_ == typeid (T));
+ 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.
+ /// should not be the variant's responsability.
/// 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)
{
- YY_ASSERT (yytypeid_);
- YY_ASSERT (*yytypeid_ == *that.yytypeid_);
- std::swap (as<T> (), that.as<T> ());
+ YYASSERT (yytypeid_);
+ 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.
- template <typename T>
- void
- move (self_type& that)
- {
-# if 201103L <= YY_CPLUSPLUS
- emplace<T> (std::move (that.as<T> ()));
-# else
- emplace<T> ();
- swap<T> (that);
-# endif
- that.destroy<T> ();
- }
-
-# if 201103L <= YY_CPLUSPLUS
- /// Move the content of \a that to this.
+ /// Destroys \a other.
template <typename T>
void
- move (self_type&& that)
+ move (self_type& other)
{
- emplace<T> (std::move (that.as<T> ()));
- that.destroy<T> ();
+ build<T> ();
+ swap<T> (other);
+ 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> ());
+ build<T> (other.as<T> ());
}
/// Destroy the stored \a T.
}
private:
-#if YY_CPLUSPLUS < 201103L
- /// Non copyable.
- semantic_type (const self_type&);
- /// Non copyable.
- self_type& operator= (const self_type&);
-#endif
+ /// Prohibit blind copies.
+ self_type& operator=(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
{
// hr_mode
// duid_type
// ncr_protocol_value
- char dummy1[sizeof (ElementPtr)];
+ char dummy1[sizeof(ElementPtr)];
// "boolean"
- char dummy2[sizeof (bool)];
+ char dummy2[sizeof(bool)];
// "floating point"
- char dummy3[sizeof (double)];
+ char dummy3[sizeof(double)];
// "integer"
- char dummy4[sizeof (int64_t)];
+ char dummy4[sizeof(int64_t)];
// "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_;
- };
+ char dummy5[sizeof(std::string)];
+};
+ /// 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 kinds.
+ /// Tokens.
struct token
{
- enum token_kind_type
- {
- TOKEN_PARSER6_EMPTY = -2,
- TOKEN_END = 0, // "end of file"
- TOKEN_PARSER6_error = 256, // error
- TOKEN_PARSER6_UNDEF = 257, // "invalid token"
- TOKEN_COMMA = 258, // ","
- TOKEN_COLON = 259, // ":"
- TOKEN_LSQUARE_BRACKET = 260, // "["
- TOKEN_RSQUARE_BRACKET = 261, // "]"
- TOKEN_LCURLY_BRACKET = 262, // "{"
- TOKEN_RCURLY_BRACKET = 263, // "}"
- TOKEN_NULL_TYPE = 264, // "null"
- TOKEN_DHCP6 = 265, // "Dhcp6"
- TOKEN_DATA_DIRECTORY = 266, // "data-directory"
- TOKEN_CONFIG_CONTROL = 267, // "config-control"
- TOKEN_CONFIG_DATABASES = 268, // "config-databases"
- TOKEN_CONFIG_FETCH_WAIT_TIME = 269, // "config-fetch-wait-time"
- TOKEN_INTERFACES_CONFIG = 270, // "interfaces-config"
- TOKEN_INTERFACES = 271, // "interfaces"
- TOKEN_RE_DETECT = 272, // "re-detect"
- TOKEN_LEASE_DATABASE = 273, // "lease-database"
- TOKEN_HOSTS_DATABASE = 274, // "hosts-database"
- TOKEN_HOSTS_DATABASES = 275, // "hosts-databases"
- TOKEN_TYPE = 276, // "type"
- TOKEN_MEMFILE = 277, // "memfile"
- TOKEN_MYSQL = 278, // "mysql"
- TOKEN_POSTGRESQL = 279, // "postgresql"
- TOKEN_CQL = 280, // "cql"
- TOKEN_USER = 281, // "user"
- TOKEN_PASSWORD = 282, // "password"
- TOKEN_HOST = 283, // "host"
- TOKEN_PORT = 284, // "port"
- TOKEN_PERSIST = 285, // "persist"
- TOKEN_LFC_INTERVAL = 286, // "lfc-interval"
- TOKEN_READONLY = 287, // "readonly"
- TOKEN_CONNECT_TIMEOUT = 288, // "connect-timeout"
- TOKEN_CONTACT_POINTS = 289, // "contact-points"
- TOKEN_MAX_RECONNECT_TRIES = 290, // "max-reconnect-tries"
- TOKEN_RECONNECT_WAIT_TIME = 291, // "reconnect-wait-time"
- TOKEN_KEYSPACE = 292, // "keyspace"
- TOKEN_CONSISTENCY = 293, // "consistency"
- TOKEN_SERIAL_CONSISTENCY = 294, // "serial-consistency"
- TOKEN_REQUEST_TIMEOUT = 295, // "request-timeout"
- TOKEN_TCP_KEEPALIVE = 296, // "tcp-keepalive"
- TOKEN_TCP_NODELAY = 297, // "tcp-nodelay"
- TOKEN_MAX_ROW_ERRORS = 298, // "max-row-errors"
- TOKEN_PREFERRED_LIFETIME = 299, // "preferred-lifetime"
- TOKEN_MIN_PREFERRED_LIFETIME = 300, // "min-preferred-lifetime"
- TOKEN_MAX_PREFERRED_LIFETIME = 301, // "max-preferred-lifetime"
- TOKEN_VALID_LIFETIME = 302, // "valid-lifetime"
- TOKEN_MIN_VALID_LIFETIME = 303, // "min-valid-lifetime"
- TOKEN_MAX_VALID_LIFETIME = 304, // "max-valid-lifetime"
- TOKEN_RENEW_TIMER = 305, // "renew-timer"
- TOKEN_REBIND_TIMER = 306, // "rebind-timer"
- TOKEN_CALCULATE_TEE_TIMES = 307, // "calculate-tee-times"
- TOKEN_T1_PERCENT = 308, // "t1-percent"
- TOKEN_T2_PERCENT = 309, // "t2-percent"
- TOKEN_CACHE_THRESHOLD = 310, // "cache-threshold"
- TOKEN_CACHE_MAX_AGE = 311, // "cache-max-age"
- TOKEN_DECLINE_PROBATION_PERIOD = 312, // "decline-probation-period"
- TOKEN_SERVER_TAG = 313, // "server-tag"
- TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 314, // "statistic-default-sample-count"
- TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 315, // "statistic-default-sample-age"
- TOKEN_DDNS_SEND_UPDATES = 316, // "ddns-send-updates"
- TOKEN_DDNS_OVERRIDE_NO_UPDATE = 317, // "ddns-override-no-update"
- TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 318, // "ddns-override-client-update"
- TOKEN_DDNS_REPLACE_CLIENT_NAME = 319, // "ddns-replace-client-name"
- TOKEN_DDNS_GENERATED_PREFIX = 320, // "ddns-generated-prefix"
- TOKEN_DDNS_QUALIFYING_SUFFIX = 321, // "ddns-qualifying-suffix"
- TOKEN_DDNS_UPDATE_ON_RENEW = 322, // "ddns-update-on-renew"
- TOKEN_STORE_EXTENDED_INFO = 323, // "store-extended-info"
- TOKEN_SUBNET6 = 324, // "subnet6"
- TOKEN_OPTION_DEF = 325, // "option-def"
- TOKEN_OPTION_DATA = 326, // "option-data"
- TOKEN_NAME = 327, // "name"
- TOKEN_DATA = 328, // "data"
- TOKEN_CODE = 329, // "code"
- TOKEN_SPACE = 330, // "space"
- TOKEN_CSV_FORMAT = 331, // "csv-format"
- TOKEN_ALWAYS_SEND = 332, // "always-send"
- TOKEN_RECORD_TYPES = 333, // "record-types"
- TOKEN_ENCAPSULATE = 334, // "encapsulate"
- TOKEN_ARRAY = 335, // "array"
- TOKEN_POOLS = 336, // "pools"
- TOKEN_POOL = 337, // "pool"
- TOKEN_PD_POOLS = 338, // "pd-pools"
- TOKEN_PREFIX = 339, // "prefix"
- TOKEN_PREFIX_LEN = 340, // "prefix-len"
- TOKEN_EXCLUDED_PREFIX = 341, // "excluded-prefix"
- TOKEN_EXCLUDED_PREFIX_LEN = 342, // "excluded-prefix-len"
- TOKEN_DELEGATED_LEN = 343, // "delegated-len"
- TOKEN_USER_CONTEXT = 344, // "user-context"
- TOKEN_COMMENT = 345, // "comment"
- TOKEN_SUBNET = 346, // "subnet"
- TOKEN_INTERFACE = 347, // "interface"
- TOKEN_INTERFACE_ID = 348, // "interface-id"
- TOKEN_ID = 349, // "id"
- TOKEN_RAPID_COMMIT = 350, // "rapid-commit"
- TOKEN_RESERVATION_MODE = 351, // "reservation-mode"
- TOKEN_DISABLED = 352, // "disabled"
- TOKEN_OUT_OF_POOL = 353, // "out-of-pool"
- TOKEN_GLOBAL = 354, // "global"
- TOKEN_ALL = 355, // "all"
- TOKEN_SHARED_NETWORKS = 356, // "shared-networks"
- TOKEN_MAC_SOURCES = 357, // "mac-sources"
- TOKEN_RELAY_SUPPLIED_OPTIONS = 358, // "relay-supplied-options"
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 359, // "host-reservation-identifiers"
- TOKEN_SANITY_CHECKS = 360, // "sanity-checks"
- TOKEN_LEASE_CHECKS = 361, // "lease-checks"
- TOKEN_CLIENT_CLASSES = 362, // "client-classes"
- TOKEN_REQUIRE_CLIENT_CLASSES = 363, // "require-client-classes"
- TOKEN_TEST = 364, // "test"
- TOKEN_ONLY_IF_REQUIRED = 365, // "only-if-required"
- TOKEN_CLIENT_CLASS = 366, // "client-class"
- TOKEN_RESERVATIONS = 367, // "reservations"
- TOKEN_IP_ADDRESSES = 368, // "ip-addresses"
- TOKEN_PREFIXES = 369, // "prefixes"
- TOKEN_DUID = 370, // "duid"
- TOKEN_HW_ADDRESS = 371, // "hw-address"
- TOKEN_HOSTNAME = 372, // "hostname"
- TOKEN_FLEX_ID = 373, // "flex-id"
- TOKEN_RELAY = 374, // "relay"
- TOKEN_IP_ADDRESS = 375, // "ip-address"
- TOKEN_HOOKS_LIBRARIES = 376, // "hooks-libraries"
- TOKEN_LIBRARY = 377, // "library"
- TOKEN_PARAMETERS = 378, // "parameters"
- TOKEN_EXPIRED_LEASES_PROCESSING = 379, // "expired-leases-processing"
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 380, // "reclaim-timer-wait-time"
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 381, // "flush-reclaimed-timer-wait-time"
- TOKEN_HOLD_RECLAIMED_TIME = 382, // "hold-reclaimed-time"
- TOKEN_MAX_RECLAIM_LEASES = 383, // "max-reclaim-leases"
- TOKEN_MAX_RECLAIM_TIME = 384, // "max-reclaim-time"
- TOKEN_UNWARNED_RECLAIM_CYCLES = 385, // "unwarned-reclaim-cycles"
- TOKEN_SERVER_ID = 386, // "server-id"
- TOKEN_LLT = 387, // "LLT"
- TOKEN_EN = 388, // "EN"
- TOKEN_LL = 389, // "LL"
- TOKEN_IDENTIFIER = 390, // "identifier"
- TOKEN_HTYPE = 391, // "htype"
- TOKEN_TIME = 392, // "time"
- TOKEN_ENTERPRISE_ID = 393, // "enterprise-id"
- TOKEN_DHCP4O6_PORT = 394, // "dhcp4o6-port"
- TOKEN_DHCP_MULTI_THREADING = 395, // "multi-threading"
- TOKEN_ENABLE_MULTI_THREADING = 396, // "enable-multi-threading"
- TOKEN_THREAD_POOL_SIZE = 397, // "thread-pool-size"
- TOKEN_PACKET_QUEUE_SIZE = 398, // "packet-queue-size"
- TOKEN_CONTROL_SOCKET = 399, // "control-socket"
- TOKEN_SOCKET_TYPE = 400, // "socket-type"
- TOKEN_SOCKET_NAME = 401, // "socket-name"
- TOKEN_DHCP_QUEUE_CONTROL = 402, // "dhcp-queue-control"
- TOKEN_ENABLE_QUEUE = 403, // "enable-queue"
- TOKEN_QUEUE_TYPE = 404, // "queue-type"
- TOKEN_CAPACITY = 405, // "capacity"
- TOKEN_DHCP_DDNS = 406, // "dhcp-ddns"
- TOKEN_ENABLE_UPDATES = 407, // "enable-updates"
- TOKEN_QUALIFYING_SUFFIX = 408, // "qualifying-suffix"
- TOKEN_SERVER_IP = 409, // "server-ip"
- TOKEN_SERVER_PORT = 410, // "server-port"
- TOKEN_SENDER_IP = 411, // "sender-ip"
- TOKEN_SENDER_PORT = 412, // "sender-port"
- TOKEN_MAX_QUEUE_SIZE = 413, // "max-queue-size"
- TOKEN_NCR_PROTOCOL = 414, // "ncr-protocol"
- TOKEN_NCR_FORMAT = 415, // "ncr-format"
- TOKEN_OVERRIDE_NO_UPDATE = 416, // "override-no-update"
- TOKEN_OVERRIDE_CLIENT_UPDATE = 417, // "override-client-update"
- TOKEN_REPLACE_CLIENT_NAME = 418, // "replace-client-name"
- TOKEN_GENERATED_PREFIX = 419, // "generated-prefix"
- TOKEN_UDP = 420, // "UDP"
- TOKEN_TCP = 421, // "TCP"
- TOKEN_JSON = 422, // "JSON"
- TOKEN_WHEN_PRESENT = 423, // "when-present"
- TOKEN_NEVER = 424, // "never"
- TOKEN_ALWAYS = 425, // "always"
- TOKEN_WHEN_NOT_PRESENT = 426, // "when-not-present"
- TOKEN_HOSTNAME_CHAR_SET = 427, // "hostname-char-set"
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 428, // "hostname-char-replacement"
- TOKEN_IP_RESERVATIONS_UNIQUE = 429, // "ip-reservations-unique"
- TOKEN_LOGGERS = 430, // "loggers"
- TOKEN_OUTPUT_OPTIONS = 431, // "output_options"
- TOKEN_OUTPUT = 432, // "output"
- TOKEN_DEBUGLEVEL = 433, // "debuglevel"
- TOKEN_SEVERITY = 434, // "severity"
- TOKEN_FLUSH = 435, // "flush"
- TOKEN_MAXSIZE = 436, // "maxsize"
- TOKEN_MAXVER = 437, // "maxver"
- TOKEN_PATTERN = 438, // "pattern"
- TOKEN_TOPLEVEL_JSON = 439, // TOPLEVEL_JSON
- TOKEN_TOPLEVEL_DHCP6 = 440, // TOPLEVEL_DHCP6
- TOKEN_SUB_DHCP6 = 441, // SUB_DHCP6
- TOKEN_SUB_INTERFACES6 = 442, // SUB_INTERFACES6
- TOKEN_SUB_SUBNET6 = 443, // SUB_SUBNET6
- TOKEN_SUB_POOL6 = 444, // SUB_POOL6
- TOKEN_SUB_PD_POOL = 445, // SUB_PD_POOL
- TOKEN_SUB_RESERVATION = 446, // SUB_RESERVATION
- TOKEN_SUB_OPTION_DEFS = 447, // SUB_OPTION_DEFS
- TOKEN_SUB_OPTION_DEF = 448, // SUB_OPTION_DEF
- TOKEN_SUB_OPTION_DATA = 449, // SUB_OPTION_DATA
- TOKEN_SUB_HOOKS_LIBRARY = 450, // SUB_HOOKS_LIBRARY
- TOKEN_SUB_DHCP_DDNS = 451, // SUB_DHCP_DDNS
- TOKEN_SUB_CONFIG_CONTROL = 452, // SUB_CONFIG_CONTROL
- TOKEN_STRING = 453, // "constant string"
- TOKEN_INTEGER = 454, // "integer"
- TOKEN_FLOAT = 455, // "floating point"
- TOKEN_BOOLEAN = 456 // "boolean"
+ enum yytokentype
+ {
+ TOKEN_END = 0,
+ TOKEN_COMMA = 258,
+ TOKEN_COLON = 259,
+ TOKEN_LSQUARE_BRACKET = 260,
+ TOKEN_RSQUARE_BRACKET = 261,
+ TOKEN_LCURLY_BRACKET = 262,
+ TOKEN_RCURLY_BRACKET = 263,
+ TOKEN_NULL_TYPE = 264,
+ TOKEN_DHCP6 = 265,
+ TOKEN_DATA_DIRECTORY = 266,
+ TOKEN_CONFIG_CONTROL = 267,
+ TOKEN_CONFIG_DATABASES = 268,
+ TOKEN_CONFIG_FETCH_WAIT_TIME = 269,
+ TOKEN_INTERFACES_CONFIG = 270,
+ TOKEN_INTERFACES = 271,
+ TOKEN_RE_DETECT = 272,
+ TOKEN_LEASE_DATABASE = 273,
+ TOKEN_HOSTS_DATABASE = 274,
+ TOKEN_HOSTS_DATABASES = 275,
+ TOKEN_TYPE = 276,
+ TOKEN_MEMFILE = 277,
+ TOKEN_MYSQL = 278,
+ TOKEN_POSTGRESQL = 279,
+ TOKEN_CQL = 280,
+ TOKEN_USER = 281,
+ TOKEN_PASSWORD = 282,
+ TOKEN_HOST = 283,
+ TOKEN_PORT = 284,
+ TOKEN_PERSIST = 285,
+ TOKEN_LFC_INTERVAL = 286,
+ TOKEN_READONLY = 287,
+ TOKEN_CONNECT_TIMEOUT = 288,
+ TOKEN_CONTACT_POINTS = 289,
+ TOKEN_MAX_RECONNECT_TRIES = 290,
+ TOKEN_RECONNECT_WAIT_TIME = 291,
+ TOKEN_KEYSPACE = 292,
+ TOKEN_CONSISTENCY = 293,
+ TOKEN_SERIAL_CONSISTENCY = 294,
+ TOKEN_REQUEST_TIMEOUT = 295,
+ TOKEN_TCP_KEEPALIVE = 296,
+ TOKEN_TCP_NODELAY = 297,
+ TOKEN_MAX_ROW_ERRORS = 298,
+ TOKEN_PREFERRED_LIFETIME = 299,
+ TOKEN_MIN_PREFERRED_LIFETIME = 300,
+ TOKEN_MAX_PREFERRED_LIFETIME = 301,
+ TOKEN_VALID_LIFETIME = 302,
+ TOKEN_MIN_VALID_LIFETIME = 303,
+ TOKEN_MAX_VALID_LIFETIME = 304,
+ TOKEN_RENEW_TIMER = 305,
+ TOKEN_REBIND_TIMER = 306,
+ TOKEN_CALCULATE_TEE_TIMES = 307,
+ TOKEN_T1_PERCENT = 308,
+ TOKEN_T2_PERCENT = 309,
+ TOKEN_CACHE_THRESHOLD = 310,
+ TOKEN_CACHE_MAX_AGE = 311,
+ TOKEN_DECLINE_PROBATION_PERIOD = 312,
+ TOKEN_SERVER_TAG = 313,
+ TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 314,
+ TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 315,
+ TOKEN_DDNS_SEND_UPDATES = 316,
+ TOKEN_DDNS_OVERRIDE_NO_UPDATE = 317,
+ TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 318,
+ TOKEN_DDNS_REPLACE_CLIENT_NAME = 319,
+ TOKEN_DDNS_GENERATED_PREFIX = 320,
+ TOKEN_DDNS_QUALIFYING_SUFFIX = 321,
+ TOKEN_DDNS_UPDATE_ON_RENEW = 322,
+ TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 323,
+ TOKEN_STORE_EXTENDED_INFO = 324,
+ TOKEN_SUBNET6 = 325,
+ TOKEN_OPTION_DEF = 326,
+ TOKEN_OPTION_DATA = 327,
+ TOKEN_NAME = 328,
+ TOKEN_DATA = 329,
+ TOKEN_CODE = 330,
+ TOKEN_SPACE = 331,
+ TOKEN_CSV_FORMAT = 332,
+ TOKEN_ALWAYS_SEND = 333,
+ TOKEN_RECORD_TYPES = 334,
+ TOKEN_ENCAPSULATE = 335,
+ TOKEN_ARRAY = 336,
+ TOKEN_POOLS = 337,
+ TOKEN_POOL = 338,
+ TOKEN_PD_POOLS = 339,
+ TOKEN_PREFIX = 340,
+ TOKEN_PREFIX_LEN = 341,
+ TOKEN_EXCLUDED_PREFIX = 342,
+ TOKEN_EXCLUDED_PREFIX_LEN = 343,
+ TOKEN_DELEGATED_LEN = 344,
+ TOKEN_USER_CONTEXT = 345,
+ TOKEN_COMMENT = 346,
+ TOKEN_SUBNET = 347,
+ TOKEN_INTERFACE = 348,
+ TOKEN_INTERFACE_ID = 349,
+ TOKEN_ID = 350,
+ TOKEN_RAPID_COMMIT = 351,
+ TOKEN_RESERVATION_MODE = 352,
+ TOKEN_DISABLED = 353,
+ TOKEN_OUT_OF_POOL = 354,
+ TOKEN_GLOBAL = 355,
+ TOKEN_ALL = 356,
+ TOKEN_SHARED_NETWORKS = 357,
+ TOKEN_MAC_SOURCES = 358,
+ TOKEN_RELAY_SUPPLIED_OPTIONS = 359,
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 360,
+ TOKEN_SANITY_CHECKS = 361,
+ TOKEN_LEASE_CHECKS = 362,
+ TOKEN_CLIENT_CLASSES = 363,
+ TOKEN_REQUIRE_CLIENT_CLASSES = 364,
+ TOKEN_TEST = 365,
+ TOKEN_ONLY_IF_REQUIRED = 366,
+ TOKEN_CLIENT_CLASS = 367,
+ TOKEN_RESERVATIONS = 368,
+ TOKEN_IP_ADDRESSES = 369,
+ TOKEN_PREFIXES = 370,
+ TOKEN_DUID = 371,
+ TOKEN_HW_ADDRESS = 372,
+ TOKEN_HOSTNAME = 373,
+ TOKEN_FLEX_ID = 374,
+ TOKEN_RELAY = 375,
+ TOKEN_IP_ADDRESS = 376,
+ TOKEN_HOOKS_LIBRARIES = 377,
+ TOKEN_LIBRARY = 378,
+ TOKEN_PARAMETERS = 379,
+ TOKEN_EXPIRED_LEASES_PROCESSING = 380,
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 381,
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 382,
+ TOKEN_HOLD_RECLAIMED_TIME = 383,
+ TOKEN_MAX_RECLAIM_LEASES = 384,
+ TOKEN_MAX_RECLAIM_TIME = 385,
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 386,
+ TOKEN_SERVER_ID = 387,
+ TOKEN_LLT = 388,
+ TOKEN_EN = 389,
+ TOKEN_LL = 390,
+ TOKEN_IDENTIFIER = 391,
+ TOKEN_HTYPE = 392,
+ TOKEN_TIME = 393,
+ TOKEN_ENTERPRISE_ID = 394,
+ TOKEN_DHCP4O6_PORT = 395,
+ TOKEN_DHCP_MULTI_THREADING = 396,
+ TOKEN_ENABLE_MULTI_THREADING = 397,
+ TOKEN_THREAD_POOL_SIZE = 398,
+ TOKEN_PACKET_QUEUE_SIZE = 399,
+ TOKEN_CONTROL_SOCKET = 400,
+ TOKEN_SOCKET_TYPE = 401,
+ TOKEN_SOCKET_NAME = 402,
+ TOKEN_DHCP_QUEUE_CONTROL = 403,
+ TOKEN_ENABLE_QUEUE = 404,
+ TOKEN_QUEUE_TYPE = 405,
+ TOKEN_CAPACITY = 406,
+ TOKEN_DHCP_DDNS = 407,
+ TOKEN_ENABLE_UPDATES = 408,
+ TOKEN_QUALIFYING_SUFFIX = 409,
+ TOKEN_SERVER_IP = 410,
+ TOKEN_SERVER_PORT = 411,
+ TOKEN_SENDER_IP = 412,
+ TOKEN_SENDER_PORT = 413,
+ TOKEN_MAX_QUEUE_SIZE = 414,
+ TOKEN_NCR_PROTOCOL = 415,
+ TOKEN_NCR_FORMAT = 416,
+ TOKEN_OVERRIDE_NO_UPDATE = 417,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 418,
+ TOKEN_REPLACE_CLIENT_NAME = 419,
+ TOKEN_GENERATED_PREFIX = 420,
+ TOKEN_UDP = 421,
+ TOKEN_TCP = 422,
+ TOKEN_JSON = 423,
+ TOKEN_WHEN_PRESENT = 424,
+ TOKEN_NEVER = 425,
+ TOKEN_ALWAYS = 426,
+ TOKEN_WHEN_NOT_PRESENT = 427,
+ TOKEN_HOSTNAME_CHAR_SET = 428,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 429,
+ TOKEN_IP_RESERVATIONS_UNIQUE = 430,
+ TOKEN_LOGGERS = 431,
+ TOKEN_OUTPUT_OPTIONS = 432,
+ TOKEN_OUTPUT = 433,
+ TOKEN_DEBUGLEVEL = 434,
+ TOKEN_SEVERITY = 435,
+ TOKEN_FLUSH = 436,
+ TOKEN_MAXSIZE = 437,
+ TOKEN_MAXVER = 438,
+ TOKEN_PATTERN = 439,
+ TOKEN_TOPLEVEL_JSON = 440,
+ TOKEN_TOPLEVEL_DHCP6 = 441,
+ TOKEN_SUB_DHCP6 = 442,
+ TOKEN_SUB_INTERFACES6 = 443,
+ TOKEN_SUB_SUBNET6 = 444,
+ TOKEN_SUB_POOL6 = 445,
+ TOKEN_SUB_PD_POOL = 446,
+ TOKEN_SUB_RESERVATION = 447,
+ TOKEN_SUB_OPTION_DEFS = 448,
+ TOKEN_SUB_OPTION_DEF = 449,
+ TOKEN_SUB_OPTION_DATA = 450,
+ TOKEN_SUB_HOOKS_LIBRARY = 451,
+ TOKEN_SUB_DHCP_DDNS = 452,
+ TOKEN_SUB_CONFIG_CONTROL = 453,
+ TOKEN_STRING = 454,
+ TOKEN_INTEGER = 455,
+ TOKEN_FLOAT = 456,
+ TOKEN_BOOLEAN = 457
};
- /// Backward compatibility alias (Bison 3.6).
- typedef token_kind_type yytokentype;
};
- /// Token kind, as returned by yylex.
- typedef token::yytokentype token_kind_type;
+ /// (External) token type, as returned by yylex.
+ typedef token::yytokentype token_type;
- /// Backward compatibility alias (Bison 3.6).
- typedef token_kind_type token_type;
-
- /// Symbol kinds.
- struct symbol_kind
- {
- enum symbol_kind_type
- {
- YYNTOKENS = 202, ///< Number of tokens.
- S_YYEMPTY = -2,
- S_YYEOF = 0, // "end of file"
- S_YYerror = 1, // error
- S_YYUNDEF = 2, // "invalid token"
- S_COMMA = 3, // ","
- S_COLON = 4, // ":"
- S_LSQUARE_BRACKET = 5, // "["
- S_RSQUARE_BRACKET = 6, // "]"
- S_LCURLY_BRACKET = 7, // "{"
- S_RCURLY_BRACKET = 8, // "}"
- S_NULL_TYPE = 9, // "null"
- S_DHCP6 = 10, // "Dhcp6"
- S_DATA_DIRECTORY = 11, // "data-directory"
- S_CONFIG_CONTROL = 12, // "config-control"
- S_CONFIG_DATABASES = 13, // "config-databases"
- S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
- S_INTERFACES_CONFIG = 15, // "interfaces-config"
- S_INTERFACES = 16, // "interfaces"
- S_RE_DETECT = 17, // "re-detect"
- S_LEASE_DATABASE = 18, // "lease-database"
- S_HOSTS_DATABASE = 19, // "hosts-database"
- S_HOSTS_DATABASES = 20, // "hosts-databases"
- S_TYPE = 21, // "type"
- S_MEMFILE = 22, // "memfile"
- S_MYSQL = 23, // "mysql"
- S_POSTGRESQL = 24, // "postgresql"
- S_CQL = 25, // "cql"
- S_USER = 26, // "user"
- S_PASSWORD = 27, // "password"
- S_HOST = 28, // "host"
- S_PORT = 29, // "port"
- S_PERSIST = 30, // "persist"
- S_LFC_INTERVAL = 31, // "lfc-interval"
- S_READONLY = 32, // "readonly"
- S_CONNECT_TIMEOUT = 33, // "connect-timeout"
- S_CONTACT_POINTS = 34, // "contact-points"
- S_MAX_RECONNECT_TRIES = 35, // "max-reconnect-tries"
- S_RECONNECT_WAIT_TIME = 36, // "reconnect-wait-time"
- S_KEYSPACE = 37, // "keyspace"
- S_CONSISTENCY = 38, // "consistency"
- S_SERIAL_CONSISTENCY = 39, // "serial-consistency"
- S_REQUEST_TIMEOUT = 40, // "request-timeout"
- S_TCP_KEEPALIVE = 41, // "tcp-keepalive"
- S_TCP_NODELAY = 42, // "tcp-nodelay"
- S_MAX_ROW_ERRORS = 43, // "max-row-errors"
- S_PREFERRED_LIFETIME = 44, // "preferred-lifetime"
- S_MIN_PREFERRED_LIFETIME = 45, // "min-preferred-lifetime"
- S_MAX_PREFERRED_LIFETIME = 46, // "max-preferred-lifetime"
- S_VALID_LIFETIME = 47, // "valid-lifetime"
- S_MIN_VALID_LIFETIME = 48, // "min-valid-lifetime"
- S_MAX_VALID_LIFETIME = 49, // "max-valid-lifetime"
- S_RENEW_TIMER = 50, // "renew-timer"
- S_REBIND_TIMER = 51, // "rebind-timer"
- S_CALCULATE_TEE_TIMES = 52, // "calculate-tee-times"
- S_T1_PERCENT = 53, // "t1-percent"
- S_T2_PERCENT = 54, // "t2-percent"
- S_CACHE_THRESHOLD = 55, // "cache-threshold"
- S_CACHE_MAX_AGE = 56, // "cache-max-age"
- S_DECLINE_PROBATION_PERIOD = 57, // "decline-probation-period"
- S_SERVER_TAG = 58, // "server-tag"
- S_STATISTIC_DEFAULT_SAMPLE_COUNT = 59, // "statistic-default-sample-count"
- S_STATISTIC_DEFAULT_SAMPLE_AGE = 60, // "statistic-default-sample-age"
- S_DDNS_SEND_UPDATES = 61, // "ddns-send-updates"
- S_DDNS_OVERRIDE_NO_UPDATE = 62, // "ddns-override-no-update"
- S_DDNS_OVERRIDE_CLIENT_UPDATE = 63, // "ddns-override-client-update"
- S_DDNS_REPLACE_CLIENT_NAME = 64, // "ddns-replace-client-name"
- S_DDNS_GENERATED_PREFIX = 65, // "ddns-generated-prefix"
- S_DDNS_QUALIFYING_SUFFIX = 66, // "ddns-qualifying-suffix"
- S_DDNS_UPDATE_ON_RENEW = 67, // "ddns-update-on-renew"
- S_STORE_EXTENDED_INFO = 68, // "store-extended-info"
- S_SUBNET6 = 69, // "subnet6"
- S_OPTION_DEF = 70, // "option-def"
- S_OPTION_DATA = 71, // "option-data"
- S_NAME = 72, // "name"
- S_DATA = 73, // "data"
- S_CODE = 74, // "code"
- S_SPACE = 75, // "space"
- S_CSV_FORMAT = 76, // "csv-format"
- S_ALWAYS_SEND = 77, // "always-send"
- S_RECORD_TYPES = 78, // "record-types"
- S_ENCAPSULATE = 79, // "encapsulate"
- S_ARRAY = 80, // "array"
- S_POOLS = 81, // "pools"
- S_POOL = 82, // "pool"
- S_PD_POOLS = 83, // "pd-pools"
- S_PREFIX = 84, // "prefix"
- S_PREFIX_LEN = 85, // "prefix-len"
- S_EXCLUDED_PREFIX = 86, // "excluded-prefix"
- S_EXCLUDED_PREFIX_LEN = 87, // "excluded-prefix-len"
- S_DELEGATED_LEN = 88, // "delegated-len"
- S_USER_CONTEXT = 89, // "user-context"
- S_COMMENT = 90, // "comment"
- S_SUBNET = 91, // "subnet"
- S_INTERFACE = 92, // "interface"
- S_INTERFACE_ID = 93, // "interface-id"
- S_ID = 94, // "id"
- S_RAPID_COMMIT = 95, // "rapid-commit"
- S_RESERVATION_MODE = 96, // "reservation-mode"
- S_DISABLED = 97, // "disabled"
- S_OUT_OF_POOL = 98, // "out-of-pool"
- S_GLOBAL = 99, // "global"
- S_ALL = 100, // "all"
- S_SHARED_NETWORKS = 101, // "shared-networks"
- S_MAC_SOURCES = 102, // "mac-sources"
- S_RELAY_SUPPLIED_OPTIONS = 103, // "relay-supplied-options"
- S_HOST_RESERVATION_IDENTIFIERS = 104, // "host-reservation-identifiers"
- S_SANITY_CHECKS = 105, // "sanity-checks"
- S_LEASE_CHECKS = 106, // "lease-checks"
- S_CLIENT_CLASSES = 107, // "client-classes"
- S_REQUIRE_CLIENT_CLASSES = 108, // "require-client-classes"
- S_TEST = 109, // "test"
- S_ONLY_IF_REQUIRED = 110, // "only-if-required"
- S_CLIENT_CLASS = 111, // "client-class"
- S_RESERVATIONS = 112, // "reservations"
- S_IP_ADDRESSES = 113, // "ip-addresses"
- S_PREFIXES = 114, // "prefixes"
- S_DUID = 115, // "duid"
- S_HW_ADDRESS = 116, // "hw-address"
- S_HOSTNAME = 117, // "hostname"
- S_FLEX_ID = 118, // "flex-id"
- S_RELAY = 119, // "relay"
- S_IP_ADDRESS = 120, // "ip-address"
- S_HOOKS_LIBRARIES = 121, // "hooks-libraries"
- S_LIBRARY = 122, // "library"
- S_PARAMETERS = 123, // "parameters"
- S_EXPIRED_LEASES_PROCESSING = 124, // "expired-leases-processing"
- S_RECLAIM_TIMER_WAIT_TIME = 125, // "reclaim-timer-wait-time"
- S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 126, // "flush-reclaimed-timer-wait-time"
- S_HOLD_RECLAIMED_TIME = 127, // "hold-reclaimed-time"
- S_MAX_RECLAIM_LEASES = 128, // "max-reclaim-leases"
- S_MAX_RECLAIM_TIME = 129, // "max-reclaim-time"
- S_UNWARNED_RECLAIM_CYCLES = 130, // "unwarned-reclaim-cycles"
- S_SERVER_ID = 131, // "server-id"
- S_LLT = 132, // "LLT"
- S_EN = 133, // "EN"
- S_LL = 134, // "LL"
- S_IDENTIFIER = 135, // "identifier"
- S_HTYPE = 136, // "htype"
- S_TIME = 137, // "time"
- S_ENTERPRISE_ID = 138, // "enterprise-id"
- S_DHCP4O6_PORT = 139, // "dhcp4o6-port"
- S_DHCP_MULTI_THREADING = 140, // "multi-threading"
- S_ENABLE_MULTI_THREADING = 141, // "enable-multi-threading"
- S_THREAD_POOL_SIZE = 142, // "thread-pool-size"
- S_PACKET_QUEUE_SIZE = 143, // "packet-queue-size"
- S_CONTROL_SOCKET = 144, // "control-socket"
- S_SOCKET_TYPE = 145, // "socket-type"
- S_SOCKET_NAME = 146, // "socket-name"
- S_DHCP_QUEUE_CONTROL = 147, // "dhcp-queue-control"
- S_ENABLE_QUEUE = 148, // "enable-queue"
- S_QUEUE_TYPE = 149, // "queue-type"
- S_CAPACITY = 150, // "capacity"
- S_DHCP_DDNS = 151, // "dhcp-ddns"
- S_ENABLE_UPDATES = 152, // "enable-updates"
- S_QUALIFYING_SUFFIX = 153, // "qualifying-suffix"
- S_SERVER_IP = 154, // "server-ip"
- S_SERVER_PORT = 155, // "server-port"
- S_SENDER_IP = 156, // "sender-ip"
- S_SENDER_PORT = 157, // "sender-port"
- S_MAX_QUEUE_SIZE = 158, // "max-queue-size"
- S_NCR_PROTOCOL = 159, // "ncr-protocol"
- S_NCR_FORMAT = 160, // "ncr-format"
- S_OVERRIDE_NO_UPDATE = 161, // "override-no-update"
- S_OVERRIDE_CLIENT_UPDATE = 162, // "override-client-update"
- S_REPLACE_CLIENT_NAME = 163, // "replace-client-name"
- S_GENERATED_PREFIX = 164, // "generated-prefix"
- S_UDP = 165, // "UDP"
- S_TCP = 166, // "TCP"
- S_JSON = 167, // "JSON"
- S_WHEN_PRESENT = 168, // "when-present"
- S_NEVER = 169, // "never"
- S_ALWAYS = 170, // "always"
- S_WHEN_NOT_PRESENT = 171, // "when-not-present"
- S_HOSTNAME_CHAR_SET = 172, // "hostname-char-set"
- S_HOSTNAME_CHAR_REPLACEMENT = 173, // "hostname-char-replacement"
- S_IP_RESERVATIONS_UNIQUE = 174, // "ip-reservations-unique"
- S_LOGGERS = 175, // "loggers"
- S_OUTPUT_OPTIONS = 176, // "output_options"
- S_OUTPUT = 177, // "output"
- S_DEBUGLEVEL = 178, // "debuglevel"
- S_SEVERITY = 179, // "severity"
- S_FLUSH = 180, // "flush"
- S_MAXSIZE = 181, // "maxsize"
- S_MAXVER = 182, // "maxver"
- S_PATTERN = 183, // "pattern"
- S_TOPLEVEL_JSON = 184, // TOPLEVEL_JSON
- S_TOPLEVEL_DHCP6 = 185, // TOPLEVEL_DHCP6
- S_SUB_DHCP6 = 186, // SUB_DHCP6
- S_SUB_INTERFACES6 = 187, // SUB_INTERFACES6
- S_SUB_SUBNET6 = 188, // SUB_SUBNET6
- S_SUB_POOL6 = 189, // SUB_POOL6
- S_SUB_PD_POOL = 190, // SUB_PD_POOL
- S_SUB_RESERVATION = 191, // SUB_RESERVATION
- S_SUB_OPTION_DEFS = 192, // SUB_OPTION_DEFS
- S_SUB_OPTION_DEF = 193, // SUB_OPTION_DEF
- S_SUB_OPTION_DATA = 194, // SUB_OPTION_DATA
- S_SUB_HOOKS_LIBRARY = 195, // SUB_HOOKS_LIBRARY
- S_SUB_DHCP_DDNS = 196, // SUB_DHCP_DDNS
- S_SUB_CONFIG_CONTROL = 197, // SUB_CONFIG_CONTROL
- S_STRING = 198, // "constant string"
- S_INTEGER = 199, // "integer"
- S_FLOAT = 200, // "floating point"
- S_BOOLEAN = 201, // "boolean"
- S_YYACCEPT = 202, // $accept
- S_start = 203, // start
- S_204_1 = 204, // $@1
- S_205_2 = 205, // $@2
- S_206_3 = 206, // $@3
- S_207_4 = 207, // $@4
- S_208_5 = 208, // $@5
- S_209_6 = 209, // $@6
- S_210_7 = 210, // $@7
- S_211_8 = 211, // $@8
- S_212_9 = 212, // $@9
- S_213_10 = 213, // $@10
- S_214_11 = 214, // $@11
- S_215_12 = 215, // $@12
- S_216_13 = 216, // $@13
- S_217_14 = 217, // $@14
- S_value = 218, // value
- S_sub_json = 219, // sub_json
- S_map2 = 220, // map2
- S_221_15 = 221, // $@15
- S_map_value = 222, // map_value
- S_map_content = 223, // map_content
- S_not_empty_map = 224, // not_empty_map
- S_list_generic = 225, // list_generic
- S_226_16 = 226, // $@16
- S_list_content = 227, // list_content
- S_not_empty_list = 228, // not_empty_list
- S_list_strings = 229, // list_strings
- S_230_17 = 230, // $@17
- S_list_strings_content = 231, // list_strings_content
- S_not_empty_list_strings = 232, // not_empty_list_strings
- S_unknown_map_entry = 233, // unknown_map_entry
- S_syntax_map = 234, // syntax_map
- S_235_18 = 235, // $@18
- S_global_object = 236, // global_object
- S_237_19 = 237, // $@19
- S_sub_dhcp6 = 238, // sub_dhcp6
- S_239_20 = 239, // $@20
- S_global_params = 240, // global_params
- S_global_param = 241, // global_param
- S_data_directory = 242, // data_directory
- S_243_21 = 243, // $@21
- S_preferred_lifetime = 244, // preferred_lifetime
- S_min_preferred_lifetime = 245, // min_preferred_lifetime
- S_max_preferred_lifetime = 246, // max_preferred_lifetime
- S_valid_lifetime = 247, // valid_lifetime
- S_min_valid_lifetime = 248, // min_valid_lifetime
- S_max_valid_lifetime = 249, // max_valid_lifetime
- S_renew_timer = 250, // renew_timer
- S_rebind_timer = 251, // rebind_timer
- S_calculate_tee_times = 252, // calculate_tee_times
- S_t1_percent = 253, // t1_percent
- S_t2_percent = 254, // t2_percent
- S_cache_threshold = 255, // cache_threshold
- S_cache_max_age = 256, // cache_max_age
- S_decline_probation_period = 257, // decline_probation_period
- S_ddns_send_updates = 258, // ddns_send_updates
- S_ddns_override_no_update = 259, // ddns_override_no_update
- S_ddns_override_client_update = 260, // ddns_override_client_update
- S_ddns_replace_client_name = 261, // ddns_replace_client_name
- S_262_22 = 262, // $@22
- S_ddns_replace_client_name_value = 263, // ddns_replace_client_name_value
- S_ddns_generated_prefix = 264, // ddns_generated_prefix
- S_265_23 = 265, // $@23
- S_ddns_qualifying_suffix = 266, // ddns_qualifying_suffix
- S_267_24 = 267, // $@24
- S_ddns_update_on_renew = 268, // ddns_update_on_renew
- S_hostname_char_set = 269, // hostname_char_set
- S_270_25 = 270, // $@25
- S_hostname_char_replacement = 271, // hostname_char_replacement
- S_272_26 = 272, // $@26
- S_store_extended_info = 273, // store_extended_info
- S_statistic_default_sample_count = 274, // statistic_default_sample_count
- S_statistic_default_sample_age = 275, // statistic_default_sample_age
- S_server_tag = 276, // server_tag
- S_277_27 = 277, // $@27
- S_ip_reservations_unique = 278, // ip_reservations_unique
- S_interfaces_config = 279, // interfaces_config
- S_280_28 = 280, // $@28
- S_sub_interfaces6 = 281, // sub_interfaces6
- S_282_29 = 282, // $@29
- S_interfaces_config_params = 283, // interfaces_config_params
- S_interfaces_config_param = 284, // interfaces_config_param
- S_interfaces_list = 285, // interfaces_list
- S_286_30 = 286, // $@30
- S_re_detect = 287, // re_detect
- S_lease_database = 288, // lease_database
- S_289_31 = 289, // $@31
- S_hosts_database = 290, // hosts_database
- S_291_32 = 291, // $@32
- S_hosts_databases = 292, // hosts_databases
- S_293_33 = 293, // $@33
- S_database_list = 294, // database_list
- S_not_empty_database_list = 295, // not_empty_database_list
- S_database = 296, // database
- S_297_34 = 297, // $@34
- S_database_map_params = 298, // database_map_params
- S_database_map_param = 299, // database_map_param
- S_database_type = 300, // database_type
- S_301_35 = 301, // $@35
- S_db_type = 302, // db_type
- S_user = 303, // user
- S_304_36 = 304, // $@36
- S_password = 305, // password
- S_306_37 = 306, // $@37
- S_host = 307, // host
- S_308_38 = 308, // $@38
- S_port = 309, // port
- S_name = 310, // name
- S_311_39 = 311, // $@39
- S_persist = 312, // persist
- S_lfc_interval = 313, // lfc_interval
- S_readonly = 314, // readonly
- S_connect_timeout = 315, // connect_timeout
- S_reconnect_wait_time = 316, // reconnect_wait_time
- S_max_row_errors = 317, // max_row_errors
- S_request_timeout = 318, // request_timeout
- S_tcp_keepalive = 319, // tcp_keepalive
- S_tcp_nodelay = 320, // tcp_nodelay
- S_contact_points = 321, // contact_points
- S_322_40 = 322, // $@40
- S_max_reconnect_tries = 323, // max_reconnect_tries
- S_keyspace = 324, // keyspace
- S_325_41 = 325, // $@41
- S_consistency = 326, // consistency
- S_327_42 = 327, // $@42
- S_serial_consistency = 328, // serial_consistency
- S_329_43 = 329, // $@43
- S_sanity_checks = 330, // sanity_checks
- S_331_44 = 331, // $@44
- S_sanity_checks_params = 332, // sanity_checks_params
- S_sanity_checks_param = 333, // sanity_checks_param
- S_lease_checks = 334, // lease_checks
- S_335_45 = 335, // $@45
- S_mac_sources = 336, // mac_sources
- S_337_46 = 337, // $@46
- S_mac_sources_list = 338, // mac_sources_list
- S_mac_sources_value = 339, // mac_sources_value
- S_duid_id = 340, // duid_id
- S_string_id = 341, // string_id
- S_host_reservation_identifiers = 342, // host_reservation_identifiers
- S_343_47 = 343, // $@47
- S_host_reservation_identifiers_list = 344, // host_reservation_identifiers_list
- S_host_reservation_identifier = 345, // host_reservation_identifier
- S_hw_address_id = 346, // hw_address_id
- S_flex_id = 347, // flex_id
- S_relay_supplied_options = 348, // relay_supplied_options
- S_349_48 = 349, // $@48
- S_dhcp_multi_threading = 350, // dhcp_multi_threading
- S_351_49 = 351, // $@49
- S_multi_threading_params = 352, // multi_threading_params
- S_multi_threading_param = 353, // multi_threading_param
- S_enable_multi_threading = 354, // enable_multi_threading
- S_thread_pool_size = 355, // thread_pool_size
- S_packet_queue_size = 356, // packet_queue_size
- S_hooks_libraries = 357, // hooks_libraries
- S_358_50 = 358, // $@50
- S_hooks_libraries_list = 359, // hooks_libraries_list
- S_not_empty_hooks_libraries_list = 360, // not_empty_hooks_libraries_list
- S_hooks_library = 361, // hooks_library
- S_362_51 = 362, // $@51
- S_sub_hooks_library = 363, // sub_hooks_library
- S_364_52 = 364, // $@52
- S_hooks_params = 365, // hooks_params
- S_hooks_param = 366, // hooks_param
- S_library = 367, // library
- S_368_53 = 368, // $@53
- S_parameters = 369, // parameters
- S_370_54 = 370, // $@54
- S_expired_leases_processing = 371, // expired_leases_processing
- S_372_55 = 372, // $@55
- S_expired_leases_params = 373, // expired_leases_params
- S_expired_leases_param = 374, // expired_leases_param
- S_reclaim_timer_wait_time = 375, // reclaim_timer_wait_time
- S_flush_reclaimed_timer_wait_time = 376, // flush_reclaimed_timer_wait_time
- S_hold_reclaimed_time = 377, // hold_reclaimed_time
- S_max_reclaim_leases = 378, // max_reclaim_leases
- S_max_reclaim_time = 379, // max_reclaim_time
- S_unwarned_reclaim_cycles = 380, // unwarned_reclaim_cycles
- S_subnet6_list = 381, // subnet6_list
- S_382_56 = 382, // $@56
- S_subnet6_list_content = 383, // subnet6_list_content
- S_not_empty_subnet6_list = 384, // not_empty_subnet6_list
- S_subnet6 = 385, // subnet6
- S_386_57 = 386, // $@57
- S_sub_subnet6 = 387, // sub_subnet6
- S_388_58 = 388, // $@58
- S_subnet6_params = 389, // subnet6_params
- S_subnet6_param = 390, // subnet6_param
- S_subnet = 391, // subnet
- S_392_59 = 392, // $@59
- S_interface = 393, // interface
- S_394_60 = 394, // $@60
- S_interface_id = 395, // interface_id
- S_396_61 = 396, // $@61
- S_client_class = 397, // client_class
- S_398_62 = 398, // $@62
- S_require_client_classes = 399, // require_client_classes
- S_400_63 = 400, // $@63
- S_reservation_mode = 401, // reservation_mode
- S_402_64 = 402, // $@64
- S_hr_mode = 403, // hr_mode
- S_id = 404, // id
- S_rapid_commit = 405, // rapid_commit
- S_shared_networks = 406, // shared_networks
- S_407_65 = 407, // $@65
- S_shared_networks_content = 408, // shared_networks_content
- S_shared_networks_list = 409, // shared_networks_list
- S_shared_network = 410, // shared_network
- S_411_66 = 411, // $@66
- S_shared_network_params = 412, // shared_network_params
- S_shared_network_param = 413, // shared_network_param
- S_option_def_list = 414, // option_def_list
- S_415_67 = 415, // $@67
- S_sub_option_def_list = 416, // sub_option_def_list
- S_417_68 = 417, // $@68
- S_option_def_list_content = 418, // option_def_list_content
- S_not_empty_option_def_list = 419, // not_empty_option_def_list
- S_option_def_entry = 420, // option_def_entry
- S_421_69 = 421, // $@69
- S_sub_option_def = 422, // sub_option_def
- S_423_70 = 423, // $@70
- S_option_def_params = 424, // option_def_params
- S_not_empty_option_def_params = 425, // not_empty_option_def_params
- S_option_def_param = 426, // option_def_param
- S_option_def_name = 427, // option_def_name
- S_code = 428, // code
- S_option_def_code = 429, // option_def_code
- S_option_def_type = 430, // option_def_type
- S_431_71 = 431, // $@71
- S_option_def_record_types = 432, // option_def_record_types
- S_433_72 = 433, // $@72
- S_space = 434, // space
- S_435_73 = 435, // $@73
- S_option_def_space = 436, // option_def_space
- S_option_def_encapsulate = 437, // option_def_encapsulate
- S_438_74 = 438, // $@74
- S_option_def_array = 439, // option_def_array
- S_option_data_list = 440, // option_data_list
- S_441_75 = 441, // $@75
- S_option_data_list_content = 442, // option_data_list_content
- S_not_empty_option_data_list = 443, // not_empty_option_data_list
- S_option_data_entry = 444, // option_data_entry
- S_445_76 = 445, // $@76
- S_sub_option_data = 446, // sub_option_data
- S_447_77 = 447, // $@77
- S_option_data_params = 448, // option_data_params
- S_not_empty_option_data_params = 449, // not_empty_option_data_params
- S_option_data_param = 450, // option_data_param
- S_option_data_name = 451, // option_data_name
- S_option_data_data = 452, // option_data_data
- S_453_78 = 453, // $@78
- S_option_data_code = 454, // option_data_code
- S_option_data_space = 455, // option_data_space
- S_option_data_csv_format = 456, // option_data_csv_format
- S_option_data_always_send = 457, // option_data_always_send
- S_pools_list = 458, // pools_list
- S_459_79 = 459, // $@79
- S_pools_list_content = 460, // pools_list_content
- S_not_empty_pools_list = 461, // not_empty_pools_list
- S_pool_list_entry = 462, // pool_list_entry
- S_463_80 = 463, // $@80
- S_sub_pool6 = 464, // sub_pool6
- S_465_81 = 465, // $@81
- S_pool_params = 466, // pool_params
- S_pool_param = 467, // pool_param
- S_pool_entry = 468, // pool_entry
- S_469_82 = 469, // $@82
- S_user_context = 470, // user_context
- S_471_83 = 471, // $@83
- S_comment = 472, // comment
- S_473_84 = 473, // $@84
- S_pd_pools_list = 474, // pd_pools_list
- S_475_85 = 475, // $@85
- S_pd_pools_list_content = 476, // pd_pools_list_content
- S_not_empty_pd_pools_list = 477, // not_empty_pd_pools_list
- S_pd_pool_entry = 478, // pd_pool_entry
- S_479_86 = 479, // $@86
- S_sub_pd_pool = 480, // sub_pd_pool
- S_481_87 = 481, // $@87
- S_pd_pool_params = 482, // pd_pool_params
- S_pd_pool_param = 483, // pd_pool_param
- S_pd_prefix = 484, // pd_prefix
- S_485_88 = 485, // $@88
- S_pd_prefix_len = 486, // pd_prefix_len
- S_excluded_prefix = 487, // excluded_prefix
- S_488_89 = 488, // $@89
- S_excluded_prefix_len = 489, // excluded_prefix_len
- S_pd_delegated_len = 490, // pd_delegated_len
- S_reservations = 491, // reservations
- S_492_90 = 492, // $@90
- S_reservations_list = 493, // reservations_list
- S_not_empty_reservations_list = 494, // not_empty_reservations_list
- S_reservation = 495, // reservation
- S_496_91 = 496, // $@91
- S_sub_reservation = 497, // sub_reservation
- S_498_92 = 498, // $@92
- S_reservation_params = 499, // reservation_params
- S_not_empty_reservation_params = 500, // not_empty_reservation_params
- S_reservation_param = 501, // reservation_param
- S_ip_addresses = 502, // ip_addresses
- S_503_93 = 503, // $@93
- S_prefixes = 504, // prefixes
- S_505_94 = 505, // $@94
- S_duid = 506, // duid
- S_507_95 = 507, // $@95
- S_hw_address = 508, // hw_address
- S_509_96 = 509, // $@96
- S_hostname = 510, // hostname
- S_511_97 = 511, // $@97
- S_flex_id_value = 512, // flex_id_value
- S_513_98 = 513, // $@98
- S_reservation_client_classes = 514, // reservation_client_classes
- S_515_99 = 515, // $@99
- S_relay = 516, // relay
- S_517_100 = 517, // $@100
- S_relay_map = 518, // relay_map
- S_ip_address = 519, // ip_address
- S_520_101 = 520, // $@101
- S_client_classes = 521, // client_classes
- S_522_102 = 522, // $@102
- S_client_classes_list = 523, // client_classes_list
- S_client_class_entry = 524, // client_class_entry
- S_525_103 = 525, // $@103
- S_client_class_params = 526, // client_class_params
- S_not_empty_client_class_params = 527, // not_empty_client_class_params
- S_client_class_param = 528, // client_class_param
- S_client_class_name = 529, // client_class_name
- S_client_class_test = 530, // client_class_test
- S_531_104 = 531, // $@104
- S_only_if_required = 532, // only_if_required
- S_server_id = 533, // server_id
- S_534_105 = 534, // $@105
- S_server_id_params = 535, // server_id_params
- S_server_id_param = 536, // server_id_param
- S_server_id_type = 537, // server_id_type
- S_538_106 = 538, // $@106
- S_duid_type = 539, // duid_type
- S_htype = 540, // htype
- S_identifier = 541, // identifier
- S_542_107 = 542, // $@107
- S_time = 543, // time
- S_enterprise_id = 544, // enterprise_id
- S_dhcp4o6_port = 545, // dhcp4o6_port
- S_control_socket = 546, // control_socket
- S_547_108 = 547, // $@108
- S_control_socket_params = 548, // control_socket_params
- S_control_socket_param = 549, // control_socket_param
- S_socket_type = 550, // socket_type
- S_551_109 = 551, // $@109
- S_socket_name = 552, // socket_name
- S_553_110 = 553, // $@110
- S_dhcp_queue_control = 554, // dhcp_queue_control
- S_555_111 = 555, // $@111
- S_queue_control_params = 556, // queue_control_params
- S_queue_control_param = 557, // queue_control_param
- S_enable_queue = 558, // enable_queue
- S_queue_type = 559, // queue_type
- S_560_112 = 560, // $@112
- S_capacity = 561, // capacity
- S_arbitrary_map_entry = 562, // arbitrary_map_entry
- S_563_113 = 563, // $@113
- S_dhcp_ddns = 564, // dhcp_ddns
- S_565_114 = 565, // $@114
- S_sub_dhcp_ddns = 566, // sub_dhcp_ddns
- S_567_115 = 567, // $@115
- S_dhcp_ddns_params = 568, // dhcp_ddns_params
- S_dhcp_ddns_param = 569, // dhcp_ddns_param
- S_enable_updates = 570, // enable_updates
- S_dep_qualifying_suffix = 571, // dep_qualifying_suffix
- S_572_116 = 572, // $@116
- S_server_ip = 573, // server_ip
- S_574_117 = 574, // $@117
- S_server_port = 575, // server_port
- S_sender_ip = 576, // sender_ip
- S_577_118 = 577, // $@118
- S_sender_port = 578, // sender_port
- S_max_queue_size = 579, // max_queue_size
- S_ncr_protocol = 580, // ncr_protocol
- S_581_119 = 581, // $@119
- S_ncr_protocol_value = 582, // ncr_protocol_value
- S_ncr_format = 583, // ncr_format
- S_584_120 = 584, // $@120
- S_dep_override_no_update = 585, // dep_override_no_update
- S_dep_override_client_update = 586, // dep_override_client_update
- S_dep_replace_client_name = 587, // dep_replace_client_name
- S_588_121 = 588, // $@121
- S_dep_generated_prefix = 589, // dep_generated_prefix
- S_590_122 = 590, // $@122
- S_dep_hostname_char_set = 591, // dep_hostname_char_set
- S_592_123 = 592, // $@123
- S_dep_hostname_char_replacement = 593, // dep_hostname_char_replacement
- S_594_124 = 594, // $@124
- S_config_control = 595, // config_control
- S_596_125 = 596, // $@125
- S_sub_config_control = 597, // sub_config_control
- S_598_126 = 598, // $@126
- S_config_control_params = 599, // config_control_params
- S_config_control_param = 600, // config_control_param
- S_config_databases = 601, // config_databases
- S_602_127 = 602, // $@127
- S_config_fetch_wait_time = 603, // config_fetch_wait_time
- S_loggers = 604, // loggers
- S_605_128 = 605, // $@128
- S_loggers_entries = 606, // loggers_entries
- S_logger_entry = 607, // logger_entry
- S_608_129 = 608, // $@129
- S_logger_params = 609, // logger_params
- S_logger_param = 610, // logger_param
- S_debuglevel = 611, // debuglevel
- S_severity = 612, // severity
- S_613_130 = 613, // $@130
- S_output_options_list = 614, // output_options_list
- S_615_131 = 615, // $@131
- S_output_options_list_content = 616, // output_options_list_content
- S_output_entry = 617, // output_entry
- S_618_132 = 618, // $@132
- S_output_params_list = 619, // output_params_list
- S_output_params = 620, // output_params
- S_output = 621, // output
- S_622_133 = 622, // $@133
- S_flush = 623, // flush
- S_maxsize = 624, // maxsize
- S_maxver = 625, // maxver
- S_pattern = 626, // pattern
- S_627_134 = 627 // $@134
- };
- };
+ /// Symbol type: an internal symbol number.
+ typedef int symbol_number_type;
- /// (Internal) symbol kind.
- typedef symbol_kind::symbol_kind_type symbol_kind_type;
+ /// The symbol type number to denote an empty symbol.
+ enum { empty_symbol = -2 };
- /// The number of tokens.
- static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS;
+ /// Internal symbol number for tokens (subsumed by symbol_number_type).
+ typedef unsigned char token_number_type;
/// A complete symbol.
///
- /// Expects its Base type to provide access to the symbol kind
- /// via kind ().
+ /// Expects its Base type to provide access to the symbol type
+ /// via type_get().
///
/// Provide access to semantic value and location.
template <typename Base>
typedef Base super_type;
/// Default constructor.
- basic_symbol ()
- : value ()
- , location ()
- {}
-
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- basic_symbol (basic_symbol&& that)
- : Base (std::move (that))
- , value ()
- , location (std::move (that.location))
- {
- switch (this->kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (std::move (that.value));
- break;
-
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
-
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (std::move (that.value));
- break;
-
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
-
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
-
- default:
- break;
- }
-
- }
-#endif
+ basic_symbol ();
/// Copy constructor.
- basic_symbol (const basic_symbol& that);
+ basic_symbol (const basic_symbol& other);
/// 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
- /// Destroy the symbol.
- ~basic_symbol ()
- {
- clear ();
- }
+ basic_symbol (typename Base::kind_type t, const location_type& l);
- /// Destroy contents, and record that is empty.
- void clear ()
- {
- // User destructor.
- symbol_kind_type yykind = this->kind ();
- basic_symbol<Base>& yysym = *this;
- (void) yysym;
- switch (yykind)
- {
- default:
- break;
- }
-
- // Value type destructor.
-switch (yykind)
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case symbol_kind::S_FLOAT: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case symbol_kind::S_INTEGER: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case symbol_kind::S_STRING: // "constant string"
- value.template destroy< std::string > ();
- break;
+ basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l);
- default:
- break;
- }
- Base::clear ();
- }
+ /// Constructor for symbols with semantic value.
+ basic_symbol (typename Base::kind_type t,
+ const semantic_type& v,
+ const location_type& l);
- /// The user-facing name of this symbol.
- std::string name () const YY_NOEXCEPT
- {
- return Dhcp6Parser::symbol_name (this->kind ());
- }
+ /// Destroy the symbol.
+ ~basic_symbol ();
- /// Backward compatibility (Bison 3.6).
- symbol_kind_type type_get () const YY_NOEXCEPT;
+ /// Destroy contents, and record that is empty.
+ 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
/// Assignment operator.
- basic_symbol& operator= (const basic_symbol& that);
-#endif
+ basic_symbol& operator= (const basic_symbol& other);
};
/// Type access provider for token (enum) based symbols.
- struct by_kind
+ struct by_type
{
/// Default constructor.
- by_kind ();
-
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- by_kind (by_kind&& that);
-#endif
+ by_type ();
/// Copy constructor.
- by_kind (const by_kind& that);
+ by_type (const by_type& other);
- /// The symbol kind as needed by the constructor.
- typedef token_kind_type kind_type;
+ /// The symbol type as needed by the constructor.
+ typedef token_type kind_type;
/// Constructor from (external) token numbers.
- by_kind (kind_type t);
+ by_type (kind_type t);
/// Record that this symbol is empty.
void clear ();
- /// Steal the symbol kind from \a that.
- void move (by_kind& that);
+ /// Steal the symbol type from \a that.
+ void move (by_type& that);
/// The (internal) type number (corresponding to \a type).
/// \a empty when empty.
- symbol_kind_type kind () const YY_NOEXCEPT;
+ symbol_number_type type_get () const;
- /// Backward compatibility (Bison 3.6).
- symbol_kind_type type_get () const YY_NOEXCEPT;
+ /// The token.
+ token_type token () const;
- /// The symbol kind.
- /// \a S_YYEMPTY when empty.
- symbol_kind_type kind_;
+ /// The symbol type.
+ /// \a empty_symbol when empty.
+ /// An int, not token_number_type, to be able to store empty_symbol.
+ int type;
};
- /// Backward compatibility for a private implementation detail (Bison 3.6).
- typedef by_kind by_type;
-
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_kind>
- {
- /// Superclass.
- typedef basic_symbol<by_kind> super_type;
+ typedef basic_symbol<by_type> symbol_type;
- /// Empty symbol.
- symbol_type () {}
+ // Symbol constructors declarations.
+ static inline
+ symbol_type
+ make_END (const location_type& l);
- /// 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))
- {
- YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || 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_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || 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_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || 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_IP_RESERVATIONS_UNIQUE || 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_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_CONFIG_CONTROL);
- }
-#else
- symbol_type (int tok, const location_type& l)
- : super_type(token_type (tok), l)
- {
- YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || 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_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || 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_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || 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_IP_RESERVATIONS_UNIQUE || 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_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_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))
- {
- YY_ASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#else
- symbol_type (int tok, const bool& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (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))
- {
- YY_ASSERT (tok == token::TOKEN_FLOAT);
- }
-#else
- symbol_type (int tok, const double& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (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))
- {
- YY_ASSERT (tok == token::TOKEN_INTEGER);
- }
-#else
- symbol_type (int tok, const int64_t& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (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))
- {
- YY_ASSERT (tok == token::TOKEN_STRING);
- }
-#else
- symbol_type (int tok, const std::string& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YY_ASSERT (tok == token::TOKEN_STRING);
- }
-#endif
- };
+ static inline
+ symbol_type
+ make_COMMA (const location_type& l);
- /// Build a parser object.
- Dhcp6Parser (isc::dhcp::Parser6Context& ctx_yyarg);
- virtual ~Dhcp6Parser ();
+ static inline
+ symbol_type
+ make_COLON (const location_type& l);
-#if 201103L <= YY_CPLUSPLUS
- /// Non copyable.
- Dhcp6Parser (const Dhcp6Parser&) = delete;
- /// Non copyable.
- Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
-#endif
+ static inline
+ symbol_type
+ make_LSQUARE_BRACKET (const location_type& l);
- /// Parse. An alias for parse ().
- /// \returns 0 iff parsing succeeded.
- int operator() ();
+ static inline
+ symbol_type
+ make_RSQUARE_BRACKET (const location_type& l);
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
+ static inline
+ symbol_type
+ make_LCURLY_BRACKET (const location_type& l);
-#if PARSER6_DEBUG
- /// The current debugging stream.
- std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
- /// Set the current debugging stream.
- void set_debug_stream (std::ostream &);
+ static inline
+ symbol_type
+ make_RCURLY_BRACKET (const location_type& l);
- /// Type for debugging levels.
- typedef int debug_level_type;
- /// The current debugging level.
- debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
- /// Set the current debugging level.
- void set_debug_level (debug_level_type l);
-#endif
+ static inline
+ symbol_type
+ make_NULL_TYPE (const location_type& l);
- /// Report a syntax error.
- /// \param loc where the syntax error is found.
- /// \param msg a description of the syntax error.
- virtual void error (const location_type& loc, const std::string& msg);
+ static inline
+ symbol_type
+ make_DHCP6 (const location_type& l);
- /// Report a syntax error.
- void error (const syntax_error& err);
+ static inline
+ symbol_type
+ make_DATA_DIRECTORY (const location_type& l);
- /// The user-facing name of the symbol whose (internal) number is
- /// YYSYMBOL. No bounds checking.
- static std::string symbol_name (symbol_kind_type yysymbol);
+ static inline
+ symbol_type
+ make_CONFIG_CONTROL (const location_type& l);
- // 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_PARSER6_error (location_type l)
- {
- return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
- }
-#else
- static
- symbol_type
- make_PARSER6_error (const location_type& l)
- {
- return symbol_type (token::TOKEN_PARSER6_error, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PARSER6_UNDEF (location_type l)
- {
- return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
- }
-#else
- static
- symbol_type
- make_PARSER6_UNDEF (const location_type& l)
- {
- return symbol_type (token::TOKEN_PARSER6_UNDEF, 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);
- }
+ static inline
+ symbol_type
+ make_CONFIG_DATABASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONFIG_FETCH_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACES_CONFIG (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RE_DETECT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LEASE_DATABASE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTS_DATABASE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTS_DATABASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MEMFILE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MYSQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POSTGRESQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PASSWORD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PERSIST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LFC_INTERVAL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_READONLY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONNECT_TIMEOUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTACT_POINTS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECONNECT_TRIES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECONNECT_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_KEYSPACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONSISTENCY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERIAL_CONSISTENCY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REQUEST_TIMEOUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP_KEEPALIVE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP_NODELAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_ROW_ERRORS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PREFERRED_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MIN_PREFERRED_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_PREFERRED_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MIN_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RENEW_TIMER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REBIND_TIMER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CALCULATE_TEE_TIMES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_T1_PERCENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_T2_PERCENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CACHE_THRESHOLD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CACHE_MAX_AGE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DECLINE_PROBATION_PERIOD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_TAG (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_SEND_UPDATES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_REPLACE_CLIENT_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_GENERATED_PREFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_QUALIFYING_SUFFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_UPDATE_ON_RENEW (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STORE_EXTENDED_INFO (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OPTION_DEF (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OPTION_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CODE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SPACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CSV_FORMAT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ALWAYS_SEND (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECORD_TYPES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENCAPSULATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ARRAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POOLS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PD_POOLS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PREFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PREFIX_LEN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_EXCLUDED_PREFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_EXCLUDED_PREFIX_LEN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DELEGATED_LEN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USER_CONTEXT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_COMMENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUBNET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACE_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RAPID_COMMIT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RESERVATION_MODE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DISABLED (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUT_OF_POOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_GLOBAL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ALL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SHARED_NETWORKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAC_SOURCES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RELAY_SUPPLIED_OPTIONS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOST_RESERVATION_IDENTIFIERS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SANITY_CHECKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LEASE_CHECKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CLIENT_CLASSES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REQUIRE_CLIENT_CLASSES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TEST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ONLY_IF_REQUIRED (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CLIENT_CLASS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RESERVATIONS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IP_ADDRESSES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PREFIXES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DUID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HW_ADDRESS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTNAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLEX_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RELAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IP_ADDRESS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOOKS_LIBRARIES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LIBRARY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PARAMETERS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_EXPIRED_LEASES_PROCESSING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECLAIM_TIMER_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOLD_RECLAIMED_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECLAIM_LEASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECLAIM_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_UNWARNED_RECLAIM_CYCLES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LLT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_EN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IDENTIFIER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HTYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENTERPRISE_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP4O6_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_MULTI_THREADING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENABLE_MULTI_THREADING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_THREAD_POOL_SIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PACKET_QUEUE_SIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTROL_SOCKET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SOCKET_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SOCKET_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_QUEUE_CONTROL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENABLE_QUEUE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_QUEUE_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CAPACITY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_DDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ENABLE_UPDATES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_QUALIFYING_SUFFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_IP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SENDER_IP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SENDER_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_QUEUE_SIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NCR_PROTOCOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NCR_FORMAT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OVERRIDE_NO_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OVERRIDE_CLIENT_UPDATE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REPLACE_CLIENT_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_GENERATED_PREFIX (const location_type& l);
+
+ static inline
+ symbol_type
+ make_UDP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_JSON (const location_type& l);
+
+ static inline
+ symbol_type
+ make_WHEN_PRESENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NEVER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ALWAYS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_WHEN_NOT_PRESENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTNAME_CHAR_SET (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_IP_RESERVATIONS_UNIQUE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LOGGERS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUTPUT_OPTIONS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUTPUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DEBUGLEVEL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SEVERITY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLUSH (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAXSIZE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAXVER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PATTERN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TOPLEVEL_JSON (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TOPLEVEL_DHCP6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_DHCP6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_INTERFACES6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_SUBNET6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_POOL6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_PD_POOL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_RESERVATION (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DEFS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DEF (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_HOOKS_LIBRARY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_DHCP_DDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_CONFIG_CONTROL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STRING (const std::string& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTEGER (const int64_t& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLOAT (const double& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_BOOLEAN (const bool& v, const location_type& l);
+
+
+ /// Build a parser object.
+ Dhcp6Parser (isc::dhcp::Parser6Context& ctx_yyarg);
+ virtual ~Dhcp6Parser ();
+
+ /// Parse.
+ /// \returns 0 iff parsing succeeded.
+ virtual int parse ();
+
+#if PARSER6_DEBUG
+ /// The current debugging stream.
+ std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
+ /// Set the current debugging stream.
+ void set_debug_stream (std::ostream &);
+
+ /// Type for debugging levels.
+ typedef int debug_level_type;
+ /// The current debugging level.
+ debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
+ /// Set the current debugging level.
+ void set_debug_level (debug_level_type 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_CACHE_THRESHOLD (location_type l)
- {
- return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
- }
-#else
- static
- symbol_type
- make_CACHE_THRESHOLD (const location_type& l)
- {
- return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CACHE_MAX_AGE (location_type l)
- {
- return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
- }
-#else
- static
- symbol_type
- make_CACHE_MAX_AGE (const location_type& l)
- {
- return symbol_type (token::TOKEN_CACHE_MAX_AGE, 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_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
- }
-#else
- static
- symbol_type
- make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
- }
-#else
- static
- symbol_type
- make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l)
- {
- return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_SEND_UPDATES (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_SEND_UPDATES (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_REPLACE_CLIENT_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_GENERATED_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_GENERATED_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_QUALIFYING_SUFFIX (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_QUALIFYING_SUFFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DDNS_UPDATE_ON_RENEW (location_type l)
- {
- return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
- }
-#else
- static
- symbol_type
- make_DDNS_UPDATE_ON_RENEW (const location_type& l)
- {
- return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STORE_EXTENDED_INFO (location_type l)
- {
- return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
- }
-#else
- static
- symbol_type
- make_STORE_EXTENDED_INFO (const location_type& l)
- {
- return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, 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_DHCP_MULTI_THREADING (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_MULTI_THREADING (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENABLE_MULTI_THREADING (location_type l)
- {
- return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENABLE_MULTI_THREADING (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_THREAD_POOL_SIZE (location_type l)
- {
- return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_THREAD_POOL_SIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PACKET_QUEUE_SIZE (location_type l)
- {
- return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_PACKET_QUEUE_SIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, 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_ENABLE_QUEUE (location_type l)
- {
- return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENABLE_QUEUE (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_QUEUE_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_QUEUE_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_QUEUE_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CAPACITY (location_type l)
- {
- return symbol_type (token::TOKEN_CAPACITY, std::move (l));
- }
-#else
- static
- symbol_type
- make_CAPACITY (const location_type& l)
- {
- return symbol_type (token::TOKEN_CAPACITY, 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_IP_RESERVATIONS_UNIQUE (location_type l)
- {
- return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
- }
-#else
- static
- symbol_type
- make_IP_RESERVATIONS_UNIQUE (const location_type& l)
- {
- return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, 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_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_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);
- }
-#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);
- }
+
+ /// Report a syntax error.
+ /// \param loc where the syntax error is found.
+ /// \param msg a description of the syntax error.
+ virtual void error (const location_type& loc, const std::string& msg);
+
+ /// Report a syntax error.
+ void error (const syntax_error& err);
+
+ 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 int 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 int 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 int yydefact_[];
+
+ // YYPGOTO[NTERM-NUM].
+ static const short int yypgoto_[];
+
+ // YYDEFGOTO[NTERM-NUM].
+ static const short int 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 int yytable_[];
+
+ static const short int yycheck_[];
+
+ // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ // symbol of state STATE-NUM.
+ static const unsigned short int yystos_[];
+
+ // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
+ static const unsigned short int 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 int 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.
+ int yydebug_;
+ 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
+ /// \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 ();
+ /// Steal the contents from \a sym to build this.
+ stack_symbol_type (state_type s, symbol_type& sym);
+ /// Assignment, needed by push_back.
+ stack_symbol_type& operator= (const stack_symbol_type& that);
+ };
+
+ /// 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 s the symbol
+ /// \warning the contents of \a s.value is stolen.
+ void yypush_ (const char* m, stack_symbol_type& s);
+
+ /// 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 s.value is stolen.
+ void yypush_ (const char* m, state_type s, symbol_type& sym);
+
+ /// Pop \a n symbols the three stacks.
+ void yypop_ (unsigned int n = 1);
+
+ /// Constants.
+ enum
+ {
+ yyeof_ = 0,
+ yylast_ = 1240, ///< Last index in yytable_.
+ yynnts_ = 427, ///< Number of nonterminal symbols.
+ yyfinal_ = 30, ///< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = 203 ///< 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, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202
+ };
+ const unsigned int user_token_number_max_ = 457;
+ const token_number_type undef_token_ = 2;
+
+ if (static_cast<int>(t) <= yyeof_)
+ return yyeof_;
+ else if (static_cast<unsigned int> (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>
+ inline
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol ()
+ : value ()
+ {}
+
+ template <typename Base>
+ inline
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
+ : Base (other)
+ , value ()
+ , location (other.location)
+ {
+ switch (other.type_get ())
+ {
+ case 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
+ value.copy< ElementPtr > (other.value);
+ break;
+
+ case 202: // "boolean"
+ value.copy< bool > (other.value);
+ break;
+
+ case 201: // "floating point"
+ value.copy< double > (other.value);
+ break;
+
+ case 200: // "integer"
+ value.copy< int64_t > (other.value);
+ break;
+
+ case 199: // "constant string"
+ value.copy< std::string > (other.value);
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+
+ template <typename Base>
+ inline
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const semantic_type& v, const location_type& l)
+ : Base (t)
+ , value ()
+ , location (l)
+ {
+ (void) v;
+ switch (this->type_get ())
+ {
+ case 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
+ value.copy< ElementPtr > (v);
+ break;
+
+ case 202: // "boolean"
+ value.copy< bool > (v);
+ break;
+
+ case 201: // "floating point"
+ value.copy< double > (v);
+ break;
+
+ case 200: // "integer"
+ value.copy< int64_t > (v);
+ break;
+
+ case 199: // "constant string"
+ value.copy< std::string > (v);
+ 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, const location_type& l)
+ : Base (t)
+ , value ()
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const bool v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const double v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+ template <typename Base>
+ Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l)
+ : Base (t)
+ , value (v)
+ , location (l)
+ {}
+
+
+ template <typename Base>
+ inline
+ Dhcp6Parser::basic_symbol<Base>::~basic_symbol ()
+ {
+ clear ();
+ }
+
+ template <typename Base>
+ inline
+ 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 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
+ value.template destroy< ElementPtr > ();
+ break;
+
+ case 202: // "boolean"
+ value.template destroy< bool > ();
+ break;
+
+ case 201: // "floating point"
+ value.template destroy< double > ();
+ break;
+
+ case 200: // "integer"
+ value.template destroy< int64_t > ();
+ break;
+
+ case 199: // "constant string"
+ value.template destroy< std::string > ();
+ break;
+
+ default:
+ break;
+ }
+
+ Base::clear ();
+ }
+
+ template <typename Base>
+ inline
+ bool
+ Dhcp6Parser::basic_symbol<Base>::empty () const
+ {
+ return Base::type_get () == empty_symbol;
+ }
+
+ template <typename Base>
+ inline
+ void
+ Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+ {
+ super_type::move(s);
+ switch (this->type_get ())
+ {
+ case 219: // value
+ case 223: // map_value
+ case 264: // ddns_replace_client_name_value
+ case 304: // db_type
+ case 405: // hr_mode
+ case 541: // duid_type
+ case 584: // ncr_protocol_value
+ value.move< ElementPtr > (s.value);
+ break;
+
+ case 202: // "boolean"
+ value.move< bool > (s.value);
+ break;
+
+ case 201: // "floating point"
+ value.move< double > (s.value);
+ break;
+
+ case 200: // "integer"
+ value.move< int64_t > (s.value);
+ break;
+
+ case 199: // "constant string"
+ value.move< std::string > (s.value);
+ break;
+
+ default:
+ break;
+ }
+
+ location = 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 int
+ 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, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457
+ };
+ return static_cast<token_type> (yytoken_number_[type]);
+ }
+ // Implementation of make_symbol for each symbol type.
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_END (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_END, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COMMA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMA, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COLON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COLON, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LSQUARE_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RSQUARE_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LCURLY_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RCURLY_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NULL_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NULL_TYPE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP6, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DATA_DIRECTORY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONFIG_DATABASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACES_CONFIG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RE_DETECT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RE_DETECT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LEASE_DATABASE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_DATABASE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTS_DATABASE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTS_DATABASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TYPE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MEMFILE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MEMFILE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MYSQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MYSQL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POSTGRESQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POSTGRESQL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CQL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_USER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PASSWORD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PASSWORD, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PORT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PERSIST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PERSIST, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LFC_INTERVAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LFC_INTERVAL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_READONLY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_READONLY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONNECT_TIMEOUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTACT_POINTS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTACT_POINTS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_RECONNECT_TRIES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RECONNECT_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_KEYSPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_KEYSPACE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONSISTENCY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONSISTENCY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERIAL_CONSISTENCY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REQUEST_TIMEOUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP_KEEPALIVE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP_NODELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_NODELAY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_ROW_ERRORS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFERRED_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MIN_PREFERRED_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_PREFERRED_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_VALID_LIFETIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MIN_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RENEW_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RENEW_TIMER, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REBIND_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REBIND_TIMER, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CALCULATE_TEE_TIMES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_T1_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T1_PERCENT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_T2_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T2_PERCENT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CACHE_THRESHOLD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CACHE_MAX_AGE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DECLINE_PROBATION_PERIOD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_TAG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_TAG, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_SEND_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
+ }
- class context
- {
- public:
- context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
- const symbol_type& lookahead () const { return yyla_; }
- symbol_kind_type token () const { return yyla_.kind (); }
- const location_type& location () const { return yyla_.location; }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
+ }
- /// Put in YYARG at most YYARGN of the expected tokens, and return the
- /// number of tokens stored in YYARG. If YYARG is null, return the
- /// number of expected tokens (guaranteed to be less than YYNTOKENS).
- int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
+ }
- private:
- const Dhcp6Parser& yyparser_;
- const symbol_type& yyla_;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
+ }
- private:
-#if YY_CPLUSPLUS < 201103L
- /// Non copyable.
- Dhcp6Parser (const Dhcp6Parser&);
- /// Non copyable.
- Dhcp6Parser& operator= (const Dhcp6Parser&);
-#endif
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
+ }
- /// Stored state numbers (used for stacks).
- typedef short state_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_UPDATE_ON_RENEW (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
+ }
- /// The arguments of the error message.
- int yy_syntax_error_arguments_ (const context& yyctx,
- symbol_kind_type yyarg[], int yyargn) const;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
+ }
- /// Generate an error message.
- /// \param yyctx the context in which the error occurred.
- virtual std::string yysyntax_error_ (const context& yyctx) const;
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yysym the nonterminal to push on the stack
- static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STORE_EXTENDED_INFO (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, 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);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUBNET6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET6, 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);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, l);
+ }
- /// Convert a scanner token kind \a t to a symbol kind.
- /// In theory \a t should be a token_kind_type, but character literals
- /// are valid, yet not members of the token_type enum.
- static symbol_kind_type yytranslate_ (int t);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NAME, l);
+ }
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *yystr);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DATA, l);
+ }
- /// For a symbol, its name in clear.
- static const char* const yytname_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CODE, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SPACE, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CSV_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CSV_FORMAT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALWAYS_SEND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS_SEND, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RECORD_TYPES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECORD_TYPES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, 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 short yydefact_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOL, 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 short yytable_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PD_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PD_POOLS, l);
+ }
- static const short yycheck_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIX, l);
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const short yystos_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIX_LEN, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const short yyr1_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const signed char yyr2_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DELEGATED_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DELEGATED_LEN, l);
+ }
-#if PARSER6_DEBUG
- // YYRLINE[YYN] -- Source line where rule number YYN was defined.
- static const short yyrline_[];
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r) const;
- /// Print the state stack on the debug stream.
- virtual void yy_stack_print_ () const;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_USER_CONTEXT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, l);
+ }
- /// \brief Display a symbol kind, 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
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, 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;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE_ID, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RAPID_COMMIT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RAPID_COMMIT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RESERVATION_MODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATION_MODE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DISABLED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DISABLED, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUT_OF_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUT_OF_POOL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GLOBAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAC_SOURCES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAC_SOURCES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY_SUPPLIED_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SANITY_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SANITY_CHECKS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LEASE_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_CHECKS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REQUIRE_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TEST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TEST, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ONLY_IF_REQUIRED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RESERVATIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATIONS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_ADDRESSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESSES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIXES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIXES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DUID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DUID, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HW_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HW_ADDRESS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLEX_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLEX_ID, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RELAY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOOKS_LIBRARIES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LIBRARY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PARAMETERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PARAMETERS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXPIRED_LEASES_PROCESSING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RECLAIM_TIMER_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOLD_RECLAIMED_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_RECLAIM_LEASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_RECLAIM_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_UNWARNED_RECLAIM_CYCLES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_ID, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LLT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LLT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EN, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IDENTIFIER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IDENTIFIER, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HTYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HTYPE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TIME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENTERPRISE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP4O6_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_MULTI_THREADING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENABLE_MULTI_THREADING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_THREAD_POOL_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PACKET_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
+ }
- /// The symbol kind as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTROL_SOCKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SOCKET_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_TYPE, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SOCKET_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_NAME, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_QUEUE_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
+ }
- /// Steal the symbol kind from \a that.
- void move (by_state& that);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENABLE_QUEUE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
+ }
- /// The symbol kind (corresponding to \a state).
- /// \a symbol_kind::S_YYEMPTY when empty.
- symbol_kind_type kind () const YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_QUEUE_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUEUE_TYPE, l);
+ }
- /// The state number used to denote an empty symbol.
- /// We use the initial state, as it does not have a value.
- enum { empty_state = 0 };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CAPACITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CAPACITY, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_DDNS, 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);
-
- /// Assignment, needed by push_back by other implementations.
- /// Needed by some other old implementations.
- stack_symbol_type& operator= (const stack_symbol_type& that);
-#endif
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENABLE_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_UPDATES, 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::iterator iterator;
- typedef typename S::const_iterator const_iterator;
- typedef typename S::size_type size_type;
- typedef typename std::ptrdiff_t index_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
-#if 201103L <= YY_CPLUSPLUS
- /// Non copyable.
- stack (const stack&) = delete;
- /// Non copyable.
- stack& operator= (const stack&) = delete;
-#endif
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
+ }
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (index_type i) const
- {
- return seq_[size_type (size () - 1 - i)];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (index_type i)
- {
- return seq_[size_type (size () - 1 - 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);
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_IP, l);
+ }
- /// Pop elements from the stack.
- void
- pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
- {
- for (; 0 < n; --n)
- seq_.pop_back ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_PORT, l);
+ }
- /// Pop all elements from the stack.
- void
- clear () YY_NOEXCEPT
- {
- seq_.clear ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SENDER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_IP, l);
+ }
- /// Number of elements on the stack.
- index_type
- size () const YY_NOEXCEPT
- {
- return index_type (seq_.size ());
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SENDER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.begin ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.end ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
- /// Present a slice of the top of a stack.
- class slice
- {
- public:
- slice (const stack& stack, index_type range)
- : stack_ (stack)
- , range_ (range)
- {}
-
- const T&
- operator[] (index_type i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const stack& stack_;
- index_type range_;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, l);
+ }
- private:
-#if YY_CPLUSPLUS < 201103L
- /// Non copyable.
- stack (const stack&);
- /// Non copyable.
- stack& operator= (const stack&);
-#endif
- /// The wrapped container.
- S seq_;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, 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);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_UDP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UDP, 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);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP, l);
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_JSON, l);
+ }
- /// Constants.
- enum
- {
- yylast_ = 1231, ///< Last index in yytable_.
- yynnts_ = 426, ///< Number of nonterminal symbols.
- yyfinal_ = 30 ///< Termination state number.
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NEVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEVER, l);
+ }
- // User arguments.
- isc::dhcp::Parser6Context& ctx;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALWAYS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS, l);
+ }
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_NOT_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
+ }
- inline
- Dhcp6Parser::symbol_kind_type
- Dhcp6Parser::yytranslate_ (int t)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_SET (const location_type& l)
{
- // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
- // TOKEN-NUM as returned by yylex.
- static
- const unsigned char
- 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, 193, 194,
- 195, 196, 197, 198, 199, 200, 201
- };
- // Last valid token kind.
- const int code_max = 456;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
+ }
- if (t <= 0)
- return symbol_kind::S_YYEOF;
- else if (t <= code_max)
- return YY_CAST (symbol_kind_type, translate_table[t]);
- else
- return symbol_kind::S_YYUNDEF;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
}
- // basic_symbol.
- template <typename Base>
- Dhcp6Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
- : Base (that)
- , value ()
- , location (that.location)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_RESERVATIONS_UNIQUE (const location_type& l)
{
- switch (this->kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
+ }
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case symbol_kind::S_FLOAT: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
+ }
- case symbol_kind::S_INTEGER: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
- case symbol_kind::S_STRING: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, l);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SEVERITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLUSH (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLUSH, l);
}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXSIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXSIZE, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
- template <typename Base>
- Dhcp6Parser::symbol_kind_type
- Dhcp6Parser::basic_symbol<Base>::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PATTERN (const location_type& l)
{
- return this->kind ();
+ return symbol_type (token::TOKEN_PATTERN, l);
}
- template <typename Base>
- bool
- Dhcp6Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TOPLEVEL_JSON (const location_type& l)
{
- return this->kind () == symbol_kind::S_YYEMPTY;
+ return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
}
- template <typename Base>
- void
- Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TOPLEVEL_DHCP6 (const location_type& l)
{
- super_type::move (s);
- switch (this->kind ())
- {
- case symbol_kind::S_value: // value
- case symbol_kind::S_map_value: // map_value
- case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
- case symbol_kind::S_db_type: // db_type
- case symbol_kind::S_hr_mode: // hr_mode
- case symbol_kind::S_duid_type: // duid_type
- case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
+ }
- case symbol_kind::S_BOOLEAN: // "boolean"
- value.move< bool > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP6, l);
+ }
- case symbol_kind::S_FLOAT: // "floating point"
- value.move< double > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_INTERFACES6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
+ }
- case symbol_kind::S_INTEGER: // "integer"
- value.move< int64_t > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_SUBNET6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_SUBNET6, l);
+ }
- case symbol_kind::S_STRING: // "constant string"
- value.move< std::string > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_POOL6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_POOL6, l);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_PD_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_PD_POOL, l);
+ }
- location = YY_MOVE (s.location);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_RESERVATION (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_RESERVATION, l);
}
- // by_kind.
- inline
- Dhcp6Parser::by_kind::by_kind ()
- : kind_ (symbol_kind::S_YYEMPTY)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEFS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
+ }
-#if 201103L <= YY_CPLUSPLUS
- inline
- Dhcp6Parser::by_kind::by_kind (by_kind&& that)
- : kind_ (that.kind_)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEF (const location_type& l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
}
-#endif
- inline
- Dhcp6Parser::by_kind::by_kind (const by_kind& that)
- : kind_ (that.kind_)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
+ }
- inline
- Dhcp6Parser::by_kind::by_kind (token_kind_type t)
- : kind_ (yytranslate_ (t))
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_HOOKS_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
+ }
- inline
- void
- Dhcp6Parser::by_kind::clear ()
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP_DDNS (const location_type& l)
{
- kind_ = symbol_kind::S_YYEMPTY;
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
}
- inline
- void
- Dhcp6Parser::by_kind::move (by_kind& that)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_CONFIG_CONTROL (const location_type& l)
{
- kind_ = that.kind_;
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
}
- inline
- Dhcp6Parser::symbol_kind_type
- Dhcp6Parser::by_kind::kind () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STRING (const std::string& v, const location_type& l)
{
- return kind_;
+ return symbol_type (token::TOKEN_STRING, v, l);
}
- inline
- Dhcp6Parser::symbol_kind_type
- Dhcp6Parser::by_kind::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTEGER (const int64_t& v, const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTEGER, v, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLOAT (const double& v, const location_type& l)
{
- return this->kind ();
+ return symbol_type (token::TOKEN_FLOAT, v, l);
}
-#line 14 "dhcp6_parser.yy"
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_BOOLEAN (const bool& v, const location_type& l)
+ {
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
+ }
+
+
+#line 14 "dhcp6_parser.yy" // lalr1.cc:377
} } // isc::dhcp
-#line 5323 "dhcp6_parser.h"
+#line 3285 "dhcp6_parser.h" // lalr1.cc:377
DDNS_GENERATED_PREFIX "ddns-generated-prefix"
DDNS_QUALIFYING_SUFFIX "ddns-qualifying-suffix"
DDNS_UPDATE_ON_RENEW "ddns-update-on-renew"
+ DDNS_USE_CONFLICT_RESOLUTION "ddns-use-conflict-resolution"
STORE_EXTENDED_INFO "store-extended-info"
SUBNET6 "subnet6"
OPTION_DEF "option-def"
| ddns_generated_prefix
| ddns_qualifying_suffix
| ddns_update_on_renew
+ | ddns_use_conflict_resolution
| store_extended_info
| statistic_default_sample_count
| statistic_default_sample_age
ctx.stack_.back()->set("ddns-update-on-renew", b);
};
+ddns_use_conflict_resolution: DDNS_USE_CONFLICT_RESOLUTION COLON BOOLEAN {
+ ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(@1));
+ ElementPtr b(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("ddns-use-conflict-resolution", b);
+};
+
hostname_char_set: HOSTNAME_CHAR_SET {
ctx.unique("hostname-char-set", ctx.loc2pos(@1));
ctx.enter(ctx.NO_KEYWORD);
| ddns_generated_prefix
| ddns_qualifying_suffix
| ddns_update_on_renew
+ | ddns_use_conflict_resolution
| store_extended_info
| unknown_map_entry
;
| ddns_generated_prefix
| ddns_qualifying_suffix
| ddns_update_on_renew
+ | ddns_use_conflict_resolution
| store_extended_info
| unknown_map_entry
;
(config_pair.first == "ddns-generated-prefix") ||
(config_pair.first == "ddns-qualifying-suffix") ||
(config_pair.first == "ddns-update-on-renew") ||
+ (config_pair.first == "ddns-use-conflict-resolution") ||
(config_pair.first == "store-extended-info") ||
(config_pair.first == "statistic-default-sample-count") ||
(config_pair.first == "statistic-default-sample-age") ||
-// Generated 202010091455
-// A Bison parser, made by GNU Bison 3.7.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Locations for Bison parsers in C++
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 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_LOCATION_HH_INCLUDED
# define YY_PARSER6_LOCATION_HH_INCLUDED
-# include <iostream>
-# include <string>
+# include "position.hh"
-# ifndef YY_NULLPTR
-# if defined __cplusplus
-# if 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
-# else
-# define YY_NULLPTR ((void*)0)
-# endif
-# endif
-
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // location.cc:296
namespace isc { namespace dhcp {
-#line 59 "location.hh"
-
- /// A point in a source file.
- class position
- {
- public:
- /// Type for file name.
- typedef const std::string filename_type;
- /// Type for line and column numbers.
- typedef int counter_type;
-
- /// Construct a position.
- explicit position (filename_type* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
- : filename (f)
- , line (l)
- , column (c)
- {}
-
-
- /// Initialization.
- void initialize (filename_type* fn = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
- {
- filename = fn;
- line = l;
- column = c;
- }
-
- /** \name Line and Column related manipulators
- ** \{ */
- /// (line related) Advance to the COUNT next lines.
- void lines (counter_type count = 1)
- {
- if (count)
- {
- column = 1;
- line = add_ (line, count, 1);
- }
- }
-
- /// (column related) Advance to the COUNT next columns.
- void columns (counter_type count = 1)
- {
- column = add_ (column, count, 1);
- }
- /** \} */
-
- /// File name to which this position refers.
- filename_type* filename;
- /// Current line number.
- counter_type line;
- /// Current column number.
- counter_type column;
-
- private:
- /// Compute max (min, lhs+rhs).
- static counter_type add_ (counter_type lhs, counter_type rhs, counter_type min)
- {
- return lhs + rhs < min ? min : lhs + rhs;
- }
- };
-
- /// Add \a width columns, in place.
- inline position&
- operator+= (position& res, position::counter_type width)
- {
- res.columns (width);
- return res;
- }
-
- /// Add \a width columns.
- inline position
- operator+ (position res, position::counter_type width)
- {
- return res += width;
- }
-
- /// Subtract \a width columns, in place.
- inline position&
- operator-= (position& res, position::counter_type width)
- {
- return res += -width;
- }
-
- /// Subtract \a width columns.
- inline position
- operator- (position res, position::counter_type width)
- {
- return res -= width;
- }
-
- /** \brief Intercept output stream redirection.
- ** \param ostr the destination output stream
- ** \param pos a reference to the position to redirect
- */
- template <typename YYChar>
- std::basic_ostream<YYChar>&
- operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
- {
- if (pos.filename)
- ostr << *pos.filename << ':';
- return ostr << pos.line << '.' << pos.column;
- }
-
- /// Two points in a source file.
+#line 46 "location.hh" // location.cc:296
+ /// Abstract a location.
class location
{
public:
- /// Type for file name.
- typedef position::filename_type filename_type;
- /// Type for line and column numbers.
- typedef position::counter_type counter_type;
/// Construct a location from \a b to \a e.
location (const position& b, const position& e)
: begin (b)
, end (e)
- {}
+ {
+ }
/// Construct a 0-width location in \a p.
explicit location (const position& p = position ())
: begin (p)
, end (p)
- {}
+ {
+ }
/// Construct a 0-width location in \a f, \a l, \a c.
- explicit location (filename_type* f,
- counter_type l = 1,
- counter_type c = 1)
+ explicit location (std::string* f,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
: begin (f, l, c)
, end (f, l, c)
- {}
+ {
+ }
/// Initialization.
- void initialize (filename_type* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
+ void initialize (std::string* f = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
{
begin.initialize (f, l, c);
end = begin;
}
/// Extend the current location to the COUNT next columns.
- void columns (counter_type count = 1)
+ void columns (int count = 1)
{
end += count;
}
/// Extend the current location to the COUNT next lines.
- void lines (counter_type count = 1)
+ void lines (int count = 1)
{
end.lines (count);
}
};
/// Join two locations, in place.
- inline location&
- operator+= (location& res, const location& end)
+ inline location& operator+= (location& res, const location& end)
{
res.end = end.end;
return res;
}
/// Join two locations.
- inline location
- operator+ (location res, const location& end)
+ inline location operator+ (location res, const location& end)
{
return res += end;
}
/// Add \a width columns to the end position, in place.
- inline location&
- operator+= (location& res, location::counter_type width)
+ inline location& operator+= (location& res, int width)
{
res.columns (width);
return res;
}
/// Add \a width columns to the end position.
- inline location
- operator+ (location res, location::counter_type width)
+ inline location operator+ (location res, int width)
{
return res += width;
}
/// Subtract \a width columns to the end position, in place.
- inline location&
- operator-= (location& res, location::counter_type width)
+ inline location& operator-= (location& res, int width)
{
return res += -width;
}
/// Subtract \a width columns to the end position.
- inline location
- operator- (location res, location::counter_type width)
+ inline location operator- (location res, int width)
{
return res -= width;
}
+ /// Compare two location objects.
+ inline bool
+ operator== (const location& loc1, const location& loc2)
+ {
+ return loc1.begin == loc2.begin && loc1.end == loc2.end;
+ }
+
+ /// Compare two location objects.
+ inline bool
+ operator!= (const location& loc1, const location& loc2)
+ {
+ return !(loc1 == loc2);
+ }
+
/** \brief Intercept output stream redirection.
** \param ostr the destination output stream
** \param loc a reference to the location to redirect
** Avoid duplicate information.
*/
template <typename YYChar>
- std::basic_ostream<YYChar>&
+ inline std::basic_ostream<YYChar>&
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
{
- location::counter_type end_col
- = 0 < loc.end.column ? loc.end.column - 1 : 0;
+ unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
ostr << loc.begin;
if (loc.end.filename
&& (!loc.begin.filename
return ostr;
}
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // location.cc:296
} } // isc::dhcp
-#line 305 "location.hh"
-
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER6_LOCATION_HH_INCLUDED
-// Generated 202010091455
-// A Bison parser, made by GNU Bison 3.7.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined in "location.hh".
-//
-// To get rid of this file:
-// 1. add '%require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system
-// 3. if you used to include it, include "location.hh" instead.
-
-#include "location.hh"
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Positions for Bison parsers in C++
+
+// Copyright (C) 2002-2015 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
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file position.hh
+ ** Define the isc::dhcp::position class.
+ */
+
+#ifndef YY_PARSER6_POSITION_HH_INCLUDED
+# define YY_PARSER6_POSITION_HH_INCLUDED
+
+# include <algorithm> // std::max
+# include <iostream>
+# include <string>
+
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
+
+#line 14 "dhcp6_parser.yy" // location.cc:296
+namespace isc { namespace dhcp {
+#line 56 "position.hh" // location.cc:296
+ /// Abstract a position.
+ class position
+ {
+ public:
+ /// Construct a position.
+ explicit position (std::string* f = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ : filename (f)
+ , line (l)
+ , column (c)
+ {
+ }
+
+
+ /// Initialization.
+ void initialize (std::string* fn = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ {
+ filename = fn;
+ line = l;
+ column = c;
+ }
+
+ /** \name Line and Column related manipulators
+ ** \{ */
+ /// (line related) Advance to the COUNT next lines.
+ void lines (int count = 1)
+ {
+ if (count)
+ {
+ column = 1u;
+ line = add_ (line, count, 1);
+ }
+ }
+
+ /// (column related) Advance to the COUNT next columns.
+ void columns (int count = 1)
+ {
+ column = add_ (column, count, 1);
+ }
+ /** \} */
+
+ /// File name to which this position refers.
+ std::string* filename;
+ /// Current line number.
+ unsigned int line;
+ /// Current column number.
+ unsigned int column;
+
+ private:
+ /// Compute max(min, lhs+rhs) (provided min <= lhs).
+ static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
+ {
+ return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
+ ? rhs + lhs
+ : min);
+ }
+ };
+
+ /// Add \a width columns, in place.
+ inline position&
+ operator+= (position& res, int width)
+ {
+ res.columns (width);
+ return res;
+ }
+
+ /// Add \a width columns.
+ inline position
+ operator+ (position res, int width)
+ {
+ return res += width;
+ }
+
+ /// Subtract \a width columns, in place.
+ inline position&
+ operator-= (position& res, int width)
+ {
+ return res += -width;
+ }
+
+ /// Subtract \a width columns.
+ inline position
+ operator- (position res, int width)
+ {
+ return res -= width;
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator== (const position& pos1, const position& pos2)
+ {
+ return (pos1.line == pos2.line
+ && pos1.column == pos2.column
+ && (pos1.filename == pos2.filename
+ || (pos1.filename && pos2.filename
+ && *pos1.filename == *pos2.filename)));
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator!= (const position& pos1, const position& pos2)
+ {
+ return !(pos1 == pos2);
+ }
+
+ /** \brief Intercept output stream redirection.
+ ** \param ostr the destination output stream
+ ** \param pos a reference to the position to redirect
+ */
+ template <typename YYChar>
+ inline std::basic_ostream<YYChar>&
+ operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
+ {
+ if (pos.filename)
+ ostr << *pos.filename << ':';
+ return ostr << pos.line << '.' << pos.column;
+ }
+
+#line 14 "dhcp6_parser.yy" // location.cc:296
+} } // isc::dhcp
+#line 180 "position.hh" // location.cc:296
+#endif // !YY_PARSER6_POSITION_HH_INCLUDED
-// Generated 202010091455
-// A Bison parser, made by GNU Bison 3.7.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined with the parser itself.
-//
-// To get rid of this file:
-// 1. add '%require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system.
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Stack handling for Bison parsers in C++
+
+// Copyright (C) 2002-2015 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
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file stack.hh
+ ** Define the isc::dhcp::stack class.
+ */
+
+#ifndef YY_PARSER6_STACK_HH_INCLUDED
+# define YY_PARSER6_STACK_HH_INCLUDED
+
+# include <vector>
+
+#line 14 "dhcp6_parser.yy" // stack.hh:132
+namespace isc { namespace dhcp {
+#line 46 "stack.hh" // stack.hh:132
+ template <class T, class 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;
+
+ stack ()
+ : seq_ ()
+ {
+ seq_.reserve (200);
+ }
+
+ stack (unsigned int n)
+ : seq_ (n)
+ {}
+
+ inline
+ T&
+ operator[] (unsigned int i)
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ inline
+ const T&
+ operator[] (unsigned int i) const
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ /// Steal the contents of \a t.
+ ///
+ /// Close to move-semantics.
+ inline
+ void
+ push (T& t)
+ {
+ seq_.push_back (T());
+ operator[](0).move (t);
+ }
+
+ inline
+ void
+ pop (unsigned int n = 1)
+ {
+ for (; n; --n)
+ seq_.pop_back ();
+ }
+
+ void
+ clear ()
+ {
+ seq_.clear ();
+ }
+
+ inline
+ typename S::size_type
+ size () const
+ {
+ return seq_.size ();
+ }
+
+ inline
+ const_iterator
+ begin () const
+ {
+ return seq_.rbegin ();
+ }
+
+ inline
+ 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 <class T, class S = stack<T> >
+ class slice
+ {
+ public:
+ slice (const S& stack, unsigned int range)
+ : stack_ (stack)
+ , range_ (range)
+ {}
+
+ inline
+ const T&
+ operator [] (unsigned int i) const
+ {
+ return stack_[range_ - i];
+ }
+
+ private:
+ const S& stack_;
+ unsigned int range_;
+ };
+
+#line 14 "dhcp6_parser.yy" // stack.hh:132
+} } // isc::dhcp
+#line 156 "stack.hh" // stack.hh:132
+
+#endif // !YY_PARSER6_STACK_HH_INCLUDED
#include <dhcp6/json_config_parser.h>
#include <dhcp6/tests/dhcp6_test_utils.h>
#include <dhcp6/tests/get_config_unittest.h>
+#include <testutils/gtest_utils.h>
#include <boost/algorithm/string.hpp>
#include <gtest/gtest.h>
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"ddns-replace-client-name\": \"when-present\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"ddns-replace-client-name\": \"always\",\n"
" \"ddns-send-updates\": false,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": true,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 12345,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
" \"ddns-replace-client-name\": \"never\",\n"
" \"ddns-send-updates\": true,\n"
" \"ddns-update-on-renew\": false,\n"
+" \"ddns-use-conflict-resolution\": true,\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"enable-updates\": false,\n"
// unparse it
ConstSrvConfigPtr extracted = CfgMgr::instance().getStagingCfg();
ConstElementPtr unparsed;
- ASSERT_NO_THROW(unparsed = extracted->toElement());
+ ASSERT_NO_THROW_LOG(unparsed = extracted->toElement());
ConstElementPtr dhcp;
- ASSERT_NO_THROW(dhcp = unparsed->get("Dhcp6"));
+ ASSERT_NO_THROW_LOG(dhcp = unparsed->get("Dhcp6"));
ASSERT_TRUE(dhcp);
// dump if wanted else check
std::cerr << ",\n";
}
std::cerr << " // CONFIGURATION " << config_counter;
- ASSERT_NO_THROW(expected = prettyPrint(dhcp));
- ASSERT_NO_THROW(outputFormatted(dhcp->str()));
+ ASSERT_NO_THROW_LOG(expected = prettyPrint(dhcp));
+ ASSERT_NO_THROW_LOG(outputFormatted(dhcp->str()));
} else {
expected = UNPARSED_CONFIGS[config_counter];
// get the expected config using the dhcpv6 syntax parser
ElementPtr jsond;
- ASSERT_NO_THROW(jsond = parseDHCP6(expected, true));
+ ASSERT_NO_THROW_LOG(jsond = parseDHCP6(expected, true));
// get the expected config using the generic JSON syntax parser
ElementPtr jsonj;
- ASSERT_NO_THROW(jsonj = parseJSON(expected));
+ ASSERT_NO_THROW_LOG(jsonj = parseJSON(expected));
// the generic JSON parser does not handle comments
EXPECT_TRUE(isEquivalent(jsond, moveComments(jsonj)));
// check that unparsed and expected values match
// is it a fixed point?
ConstSrvConfigPtr extracted2 = CfgMgr::instance().getStagingCfg();
ConstElementPtr unparsed2;
- ASSERT_NO_THROW(unparsed2 = extracted2->toElement());
+ ASSERT_NO_THROW_LOG(unparsed2 = extracted2->toElement());
ASSERT_TRUE(unparsed2);
EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
}
#include <dhcp6/json_config_parser.h>
#include <dhcp6/tests/dhcp6_test_utils.h>
#include <dhcp6/tests/get_config_unittest.h>
+#include <testutils/gtest_utils.h>
#include <boost/algorithm/string.hpp>
#include <gtest/gtest.h>
// unparse it
ConstSrvConfigPtr extracted = CfgMgr::instance().getStagingCfg();
ConstElementPtr unparsed;
- ASSERT_NO_THROW(unparsed = extracted->toElement());
+ ASSERT_NO_THROW_LOG(unparsed = extracted->toElement());
ConstElementPtr dhcp;
- ASSERT_NO_THROW(dhcp = unparsed->get("Dhcp6"));
+ ASSERT_NO_THROW_LOG(dhcp = unparsed->get("Dhcp6"));
ASSERT_TRUE(dhcp);
// dump if wanted else check
std::cerr << ",\n";
}
std::cerr << " // CONFIGURATION " << config_counter;
- ASSERT_NO_THROW(expected = prettyPrint(dhcp));
- ASSERT_NO_THROW(outputFormatted(dhcp->str()));
+ ASSERT_NO_THROW_LOG(expected = prettyPrint(dhcp));
+ ASSERT_NO_THROW_LOG(outputFormatted(dhcp->str()));
} else {
expected = UNPARSED_CONFIGS[config_counter];
// get the expected config using the dhcpv6 syntax parser
ElementPtr jsond;
- ASSERT_NO_THROW(jsond = parseDHCP6(expected, true));
+ ASSERT_NO_THROW_LOG(jsond = parseDHCP6(expected, true));
// get the expected config using the generic JSON syntax parser
ElementPtr jsonj;
- ASSERT_NO_THROW(jsonj = parseJSON(expected));
+ ASSERT_NO_THROW_LOG(jsonj = parseJSON(expected));
// the generic JSON parser does not handle comments
EXPECT_TRUE(isEquivalent(jsond, moveComments(jsonj)));
// check that unparsed and expected values match
// is it a fixed point?
ConstSrvConfigPtr extracted2 = CfgMgr::instance().getStagingCfg();
ConstElementPtr unparsed2;
- ASSERT_NO_THROW(unparsed2 = extracted2->toElement());
+ ASSERT_NO_THROW_LOG(unparsed2 = extracted2->toElement());
ASSERT_TRUE(unparsed2);
EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
}
}
if (network_data->contains("ddns-use-conflict-resolution")) {
- network->setDdnsUpdateOnRenew(getBoolean(network_data, "ddns-use-conflict-resolution"));
+ network->setDdnsUseConflictResolution(getBoolean(network_data, "ddns-use-conflict-resolution"));
}
}
"t2-percent",
"store-extended-info",
"cache-threshold",
- "cache-max-age",
- "ddns-use-conflict-resolution"
+ "cache-max-age"
};
/// @brief This table defines all pool parameters.